123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- import { value, switchs, date } from "./config";
- var _value = value;
- const app = getApp();
- Component({
- options: {
- addGlobalClass: true,//解决继承全局样式问题
- },
- lifetimes: {
- attached: function () { this.init(); }
- },
- properties: {
- type: { type: String, value: "edit" },
- },
- data: {
- value,
- active: '',
- activeObject: {},
- activeIndex: [],
- switchB: false,
- endDate: date(),
- switchs,
- submitLock: false,
- saveLock: false,
- btn: true,
- radioInputShow: false,
- },
- methods: {
- //组件石林进入页面接节点树执行
- init () {
- // 商品请求
- wx.$request({ method: "get", url: "/order/productDict/" }).then(res => {
- this.setData({ shop: res.data })
- }).catch(err => wx.$err(err));
- let { type, value } = this.data;
- switch (type) {
- case 'watch':
- this.watchFunc(value);
- break;
- default:
- break;
- }
- },
- // 查看模式
- watchFunc (data) {
- data = data.map(itemA => itemA.map(itemB => { if (itemB.hasOwnProperty('value')) itemB['disabled'] = true; return itemB })
- )
- this.setData({ data, btn: false })
- },
- // 提交
- submitFunc () {
- let { value, submitLock } = this.data, megs = [], data = {}, cvalue = [], tels = [];
- if (submitLock) return false;
- this.setData({ submitLock: true });
- if (value[2][6]['value'] == 0) {
- value = [...value[0], ...value[1], ...value[2]];
- cvalue = [..._value[0], ..._value[1], ..._value[2]];
- } else {
- value = [...value[0], ...value[1], ...value[2], ...value[3]];
- cvalue = [..._value[0], ..._value[1], ..._value[2], ..._value[3]];
- }
- value.forEach((item, index) => {
- // 特殊格式 非必须
- if (!item.hasOwnProperty('value') || item.norequire) {
- if (item.hasOwnProperty('value')) data[item.name] = item.value;
- return false
- };
- // 正常流程
- // 判断是否为空
- if (!item.value) { megs.push(`${item.title}不能为空!`); return false; };
- // 数字类型
- if (item.type == 'number' && !/^\d+.?\d*$/.test(item.value)) { megs.push(`${item.title}必须是数字!`); return false; }
- // 正则判断
- if (cvalue[index].reg && !cvalue[index].reg.test(item.value)) {
- megs.push(`${item.title}格式不正确!`); return false;
- };
- // 号码不能相同 tel tstel ctel cttel
- if (item.name == 'tel' || item.name == 'tstel' || item.name == 'ctel' || item.name == 'cttel') (!tels.some(item.value) || item.vlaue == '') && tels.push(item.value)
- ;
- data[item.name] = item.value;
- });
- (tels.length !== 4 && tels.length != 0) && megs.push(`手机号码不能重复`);
- if (megs.length != 0) {
- this.setData({ errorShow: true, megs, submitLock: false });
- return false;
- };
- console.log(data)
- },
- // 保存
- saveFunc () {
- let { value, saveLock } = this.data, data = {};
- value = [...value[0], ...value[1], ...value[2], ...value[3]];
- value.forEach(item => { if (item.hasOwnProperty('value')) data[item.name] = item.value });
- console.log(data)
- },
- // 输入
- inputFunc (e) {
- let { value } = this.data, { index } = e.currentTarget.dataset;
- value[index[0]][index[1]]['value'] = e.detail.value;
- this.setData({ value })
- },
- // switch
- switchFunc (e) {
- let { value, switchs } = this.data, { index } = e.currentTarget.dataset;
- let { name } = value[index[0]][index[1]];
- if (switchs.hasOwnProperty(name)) {
- console.log(switchs[name])
- this.setData({ switchB: true, active: name, activeIndex: index })
- }
- else {
- this.setData({ radioInputShow: true, activeIndex: index });
- }
- },
- // 隐藏单选框
- hideModal () { this.setData({ switchB: false }) },
- tehideModal () { this.setData({ radioInputShow: false }) },
- // 单选框赋值
- changeFunc (e) {
- let { activeIndex, value } = this.data;
- let _value = e.detail.value * 1;
- value[activeIndex[0]][activeIndex[1]]['value'] = _value;
- // 第一借款人与申请人关系特殊处理
- if (value[activeIndex[0]][activeIndex[1]]['name'] == 'mstatus') {
- console.log(_value)
- value[2][2] = { ...value[2][2], disabled: _value == 1 ? true : false, value: _value == 1 ? 0 : '' }
- }
- if (value[activeIndex[0]][activeIndex[1]].hasOwnProperty('forlen')) {
- for (let i = 1; i < (value[activeIndex[0]][activeIndex[1]]['forlen'] + 1); i++) {
- value[activeIndex[0]][(activeIndex[1] + i)]['norequire'] = _value == 0 ? false : true;
- }
- }
- this.setData({ value })
- },
- // 单选 输入
- // radioInputChangeFunc (e) {
- // let { activeIndex, value } = this.data;
- // value[activeIndex[0]][activeIndex[1]]['value'] = _value;
- // },
- // 日期
- DateChange (e) {
- let { value } = this.data, { index } = e.currentTarget.dataset;
- value[index[0]][index[1]]['value'] = e.detail.value;
- this.setData({ value })
- },
- }
- })
|