index.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import { value, switchs, date } from "./config"
  2. const app = getApp();
  3. Page({
  4. data: {
  5. CustomBar: app.globalData.CustomBar,
  6. value,
  7. active: '',
  8. activeObject: {},
  9. activeIndex: [],
  10. switchB: false,
  11. endDate: date(),
  12. switchs,
  13. },
  14. // 提交
  15. submitFunc () {
  16. let { value } = this.data, msgs = [], data = {};
  17. value = value[2][6]['value'] == 0 ? [...value[0], ...value[1], ...value[2]] : [...value[0], ...value[1], ...value[2], ...value[3]];
  18. console.log(value)
  19. value.forEach(item => {
  20. // 判断是否为空
  21. if (!item.value) { msgs.push(`${item.title}不能为空!`); return false; };
  22. // 数字类型
  23. if (item.type == 'number' && !/^\d+.?\d*$/.test(item.value)) { msgs.push(`${item.title}必须是数字!`); return false; }
  24. // 正则判断
  25. console.log(item)
  26. if (item.reg && item.reg.test(item.value)) { msgs.push(`${item.title}格式不正确!`); return false; };
  27. data[item.name] = item.value;
  28. })
  29. console.log(data);
  30. console.log(msgs);
  31. },
  32. // 输入
  33. inputFunc (e) {
  34. let { value } = this.data, { index } = e.currentTarget.dataset;
  35. value[index[0]][index[1]]['value'] = e.detail.value;
  36. this.setData({ value })
  37. },
  38. // switch
  39. switchFunc (e) {
  40. let { value, switchs } = this.data, { index } = e.currentTarget.dataset;
  41. let { name } = value[index[0]][index[1]];
  42. if (switchs.hasOwnProperty(name)) {
  43. this.setData({ switchB: true, active: name, activeIndex: index })
  44. } else {
  45. let obj = Object.fromEntries([[`${name}Show`, true]])
  46. this.setData({ ...obj });
  47. }
  48. },
  49. // 隐藏单选框
  50. hideModal () { this.setData({ switchB: false }) },
  51. // 单选框赋值
  52. changeFunc (e) {
  53. let { activeIndex, value } = this.data;
  54. let _value = e.detail.value * 1;
  55. value[activeIndex[0]][activeIndex[1]]['value'] = _value;
  56. this.setData({ value })
  57. },
  58. // 日期
  59. DateChange (e) {
  60. let { value } = this.data, { index } = e.currentTarget.dataset;
  61. value[index[0]][index[1]]['value'] = e.detail.value;
  62. this.setData({ value })
  63. },
  64. onLoad: function (options) {
  65. },
  66. onReady: function () {
  67. },
  68. onShow: function () {
  69. },
  70. onHide: function () {
  71. },
  72. onUnload: function () {
  73. },
  74. onPullDownRefresh: function () {
  75. },
  76. onReachBottom: function () {
  77. },
  78. })