|
@@ -1,7 +1,6 @@
|
|
import { value, switchs, date } from "./config";
|
|
import { value, switchs, date } from "./config";
|
|
-import Dialog from "../../miniprogram_npm/@vant/weapp/dialog/dialog";
|
|
|
|
-import { chineseNumber } from "./ChinaNumToEnglishNum";
|
|
|
|
-var _value = value;
|
|
|
|
|
|
+import methods from "./methods";
|
|
|
|
+import request from "./request";
|
|
const app = getApp();
|
|
const app = getApp();
|
|
Component({
|
|
Component({
|
|
options: {
|
|
options: {
|
|
@@ -43,387 +42,8 @@ Component({
|
|
btn: true,
|
|
btn: true,
|
|
radioInputShow: false,
|
|
radioInputShow: false,
|
|
},
|
|
},
|
|
-
|
|
|
|
methods: {
|
|
methods: {
|
|
- //组件石林进入页面接节点树执行
|
|
|
|
- async init () {
|
|
|
|
- try {
|
|
|
|
- // 商品请求
|
|
|
|
- var laompany = [];
|
|
|
|
- let res = await wx.$request({ method: "get", url: "/order/productDict/" });
|
|
|
|
- laompany = res.data.map(item => ({ key: item.id, value: item.name, month: item.month }));
|
|
|
|
- let { type, value, switchs } = this.data;
|
|
|
|
- switchs['laompany'] = laompany;
|
|
|
|
- switch (type) {
|
|
|
|
- // 已填报查看
|
|
|
|
- case 'watch':
|
|
|
|
- var resA = await wx.$request({ url: `/order/${this.data.key}/`, method: "get" });
|
|
|
|
- var data = resA.data.data;
|
|
|
|
- value = this.watchFunc(value, data, switchs);
|
|
|
|
- break;
|
|
|
|
- case 'draftsupdate':
|
|
|
|
- // 修改草稿
|
|
|
|
- var resB = await wx.$request({ url: `/order/${this.data.key}/`, method: "get" });
|
|
|
|
- var data = resB.data;
|
|
|
|
- console.log(data)
|
|
|
|
- value = this.draftUpdataFunc(value, data, switchs);
|
|
|
|
- break;
|
|
|
|
- case 'providedupdate':
|
|
|
|
- // 修改已填报
|
|
|
|
- var resA = await wx.$request({ url: `/order/${this.data.key}/`, method: "get" });
|
|
|
|
- var { data, edit_values, edit_file, edit_file2 } = resA.data;
|
|
|
|
- this.edit_file = edit_file;
|
|
|
|
- this.edit_file2 = edit_file2;
|
|
|
|
- value = this.updataFunc(value, data, edit_values, switchs);
|
|
|
|
- default:
|
|
|
|
- // 新增
|
|
|
|
- this.data.key && laompany.forEach((item, index) => {
|
|
|
|
- if (item.key == this.data.key) {
|
|
|
|
- value[0][10]["value"] = item.key;
|
|
|
|
- value[0][10]["index"] = index;
|
|
|
|
- value[0][11]['value'] = item['month'] + '个月';
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- this.setData({ value, switchs })
|
|
|
|
- } catch (err) { wx.$err(err) }
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- // 查看模式
|
|
|
|
- watchFunc (value, data, switchs) {
|
|
|
|
- return value.map(itemA => itemA.map(itemB => {
|
|
|
|
- if (!itemB.hasOwnProperty('value')) return itemB;
|
|
|
|
- if (itemB.name != "maturity") { itemB['value'] = data[itemB.name] === 0 ? 0 : data[itemB.name] || ''; }
|
|
|
|
- itemB['disabled'] = true;
|
|
|
|
- switchs.hasOwnProperty(itemB.name) && switchs[itemB.name].forEach((itemC, indexC) => {
|
|
|
|
- if (itemC.key === itemB.value) itemB["index"] = indexC;
|
|
|
|
- // 申请贷款产品 申请贷款期限关联
|
|
|
|
- if (itemB.name == 'laompany') {
|
|
|
|
- value[0][11]['value'] = itemC['month'] + '个月';
|
|
|
|
- }
|
|
|
|
- // 第一借款人与申请人关系特殊处理
|
|
|
|
- if (itemB.name == 'mstatus' && itemB.value == 1) {
|
|
|
|
- value[2][2] = { ...value[2][2], disabled: true, value: 0, index: 0 }
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- return itemB
|
|
|
|
- })
|
|
|
|
- )
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- // 修改草稿
|
|
|
|
- draftUpdataFunc (value, data, switchs) {
|
|
|
|
- return value.map(itemA => itemA.map(itemB => {
|
|
|
|
- if (!itemB.hasOwnProperty('value')) return itemB;
|
|
|
|
- if (itemB.name != "maturity") {
|
|
|
|
- itemB['value'] = data[itemB.name] === 0 ? 0 : data[itemB.name] || '';
|
|
|
|
- }
|
|
|
|
- switchs.hasOwnProperty(itemB.name) && switchs[itemB.name].forEach((itemC, indexC) => {
|
|
|
|
- if (itemC.key === itemB.value) {
|
|
|
|
- itemB["index"] = indexC;
|
|
|
|
- };
|
|
|
|
- // 申请贷款产品 申请贷款期限关联
|
|
|
|
- if (itemB.name == 'laompany') {
|
|
|
|
- value[0][11]['value'] = itemC['month'] + '个月';
|
|
|
|
- }
|
|
|
|
- // 第一借款人与申请人关系特殊处理
|
|
|
|
- if (itemB.name == 'mstatus' && itemB.value == 1) {
|
|
|
|
- value[2][2] = { ...value[2][2], disabled: true, value: 0, index: 0 }
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- return itemB
|
|
|
|
- }));
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- // 已填报修改模式
|
|
|
|
- updataFunc (value, data, edit_values, switchs) {
|
|
|
|
- // 后台更改贷款商品key
|
|
|
|
- return value.map(itemA => itemA.map(itemB => {
|
|
|
|
- if (!itemB.hasOwnProperty('value')) return itemB;
|
|
|
|
- if (itemB.name != "maturity") { itemB['value'] = data[itemB.name] === 0 ? 0 : data[itemB.name] || ''; }
|
|
|
|
- switchs.hasOwnProperty(itemB.name) && switchs[itemB.name].forEach((itemC, indexC) => {
|
|
|
|
- if (itemC.key === itemB.value) itemB["index"] = indexC;
|
|
|
|
- // 申请贷款产品 申请贷款期限关联
|
|
|
|
- if (itemB.name == 'laompany') {
|
|
|
|
- value[0][11]['value'] = itemC['month'] + '个月';
|
|
|
|
- }
|
|
|
|
- // 第一借款人与申请人关系特殊处理
|
|
|
|
- if (itemB.name == 'mstatus' && itemB.value == 1) {
|
|
|
|
- value[2][2] = { ...value[2][2], disabled: true, value: 0, index: 0 }
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
-
|
|
|
|
- edit_values.some(itemC => {
|
|
|
|
- if (itemC.name == itemB.name) {
|
|
|
|
- itemB['err'] = itemC['reason'];
|
|
|
|
- }
|
|
|
|
- return itemC.name == itemB.name;
|
|
|
|
- }) ? '' : itemB['disabled'] = true;
|
|
|
|
-
|
|
|
|
- return itemB
|
|
|
|
- }));
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- // 提交
|
|
|
|
- async submitFunc () {
|
|
|
|
- try {
|
|
|
|
- let { value, submitLock } = this.data, megs = [], data = {}, cvalue = [], tels = [], i = 0;
|
|
|
|
- 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.value && item.norequire)) {
|
|
|
|
- if (item.hasOwnProperty('value')) data[item.name] = item.value;
|
|
|
|
- return false
|
|
|
|
- };
|
|
|
|
- // 正常流程
|
|
|
|
- // 判断是否为空
|
|
|
|
- if (item.value !== 0 && !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)) {
|
|
|
|
- if (item.hasOwnProperty('reg_msg')) {
|
|
|
|
- megs.push(`${item.title},${item.reg_msg}`);
|
|
|
|
- } else {
|
|
|
|
- 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(itemT => itemT == item.value) || item.vlaue == '') && tels.push(item.value); ++i;
|
|
|
|
- }
|
|
|
|
- ;
|
|
|
|
- // 身份证验证
|
|
|
|
- if (item.name == 'inumber' && data['bdate']) {
|
|
|
|
- item.value.substr(6, 4) + "-" + item.value.substr(10, 2) + "-" + item.value.substr(12, 2) != data['bdate'] && megs.push(`身份证同出生日期不一致!`);
|
|
|
|
- }
|
|
|
|
- if (item.name == 'tsinumber' && data['tsbdate']) {
|
|
|
|
- item.value.substr(6, 4) + "-" + item.value.substr(10, 2) + "-" + item.value.substr(12, 2) != data['tsbdate'] && megs.push(`共同借款人身份证同出生日期不一致!`)
|
|
|
|
- }
|
|
|
|
- if (item.name == "dpratio") {
|
|
|
|
- /-/g.test(item.value) && megs.push("请重新填写申请贷款产品!")
|
|
|
|
- }
|
|
|
|
- data[item.name] = item.value;
|
|
|
|
- });
|
|
|
|
- tels.length !== i && megs.push(`手机号码不能重复`);
|
|
|
|
- if (megs.length != 0) {
|
|
|
|
- this.setData({ errorShow: true, megs, submitLock: false });
|
|
|
|
- return false;
|
|
|
|
- };
|
|
|
|
- data['category'] = 1;
|
|
|
|
- // 申请贷款期限 不用传
|
|
|
|
- delete data['maturity'];
|
|
|
|
- let resA = await wx.$request({ method: "post", url: "/order/", data });
|
|
|
|
- this.setData({ submitLock: false });
|
|
|
|
- Dialog.alert({ message: "已提交!" }).then(res => wx.redirectTo({ url: '/pages/accessory/index?data=' + resA.data }))
|
|
|
|
- } catch (err) { wx.$err(err); this.setData({ submitLock: false }); }
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- // 新增保存
|
|
|
|
- async saveFunc () {
|
|
|
|
- try {
|
|
|
|
- let { value, saveLock } = this.data, data = {};
|
|
|
|
- if (saveLock) return false;
|
|
|
|
- this.setData({ saveLock: true });
|
|
|
|
- // 拦截
|
|
|
|
- var requeire = ['name', 'tel'], megs = [];
|
|
|
|
- value = [...value[0], ...value[1], ...value[2], ...value[3]];
|
|
|
|
- var cvalue = [..._value[0], ..._value[1], ..._value[2], ..._value[3]];
|
|
|
|
- console.log(value)
|
|
|
|
- value.forEach((item, index) => {
|
|
|
|
- if (!item.hasOwnProperty('value')) return false;
|
|
|
|
- if (requeire.some(itemB => itemB == item.name)) {
|
|
|
|
- if (item.value !== 0 && !item.value) {
|
|
|
|
- megs.push(`${item.title}不能为空!`)
|
|
|
|
- return false
|
|
|
|
- };
|
|
|
|
- if (cvalue[index].reg && !cvalue[index].reg.test(item.value)) {
|
|
|
|
- megs.push(`${item.title}格式不正确!`); return false;
|
|
|
|
- };
|
|
|
|
- }
|
|
|
|
- data[item.name] = item.value;
|
|
|
|
- });
|
|
|
|
- data['category'] = 0;
|
|
|
|
- // 申请贷款期限 不用传
|
|
|
|
- delete data['maturity'];
|
|
|
|
- if (megs.length != 0) {
|
|
|
|
- this.setData({ errorShow: true, megs, saveLock: false });
|
|
|
|
- return false;
|
|
|
|
- };
|
|
|
|
- let resA = await wx.$request({ method: "post", url: "/order/", data });
|
|
|
|
- this.setData({ saveLock: false })
|
|
|
|
- Dialog.alert({ message: "已提交!" }).then(res => wx.redirectTo({ url: '/pages/accessory/index?data=' + resA.data }))
|
|
|
|
- } catch (err) {
|
|
|
|
- wx.$err(err)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- },
|
|
|
|
- //草稿箱保存草稿
|
|
|
|
- async draftsUpdateSaveFunc () {
|
|
|
|
- try {
|
|
|
|
- let { value, saveLock, key } = this.data, data = {};
|
|
|
|
- if (saveLock) return false;
|
|
|
|
- this.setData({ saveLock: true });
|
|
|
|
- // 拦截
|
|
|
|
- var requeire = ['name', 'tel'], megs = [];
|
|
|
|
- value = [...value[0], ...value[1], ...value[2], ...value[3]];
|
|
|
|
- var cvalue = [..._value[0], ..._value[1], ..._value[2], ..._value[3]];
|
|
|
|
- value.forEach((item, index) => {
|
|
|
|
- if (!item.hasOwnProperty('value')) return false;
|
|
|
|
- if (requeire.some(itemB => itemB == item.name)) {
|
|
|
|
- if (item.value !== 0 && !item.value) {
|
|
|
|
- megs.push(`${item.title}不能为空!`)
|
|
|
|
- return false
|
|
|
|
- };
|
|
|
|
- if (cvalue[index].reg && !cvalue[index].reg.test(item.value)) {
|
|
|
|
- megs.push(`${item.title}格式不正确!`); return false;
|
|
|
|
- };
|
|
|
|
- }
|
|
|
|
- data[item.name] = item.value;
|
|
|
|
- });
|
|
|
|
- data['category'] = 0;
|
|
|
|
- // 申请贷款期限 不用传
|
|
|
|
- delete data['maturity'];
|
|
|
|
- if (megs.length != 0) {
|
|
|
|
- this.setData({ errorShow: true, megs, saveLock: false });
|
|
|
|
- return false;
|
|
|
|
- };
|
|
|
|
- let resA = await wx.$request({ method: "put", url: `/order/${key}/`, data });
|
|
|
|
- this.setData({ saveLock: false })
|
|
|
|
- Dialog.alert({ message: "已保存!" }).then(res => wx.redirectTo({ url: '/pages/accessory/index?data=' + resA.data }))
|
|
|
|
- } catch (err) {
|
|
|
|
- wx.$err(err)
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- // 已填报修改上报
|
|
|
|
- async UpdateSaveFunc () {
|
|
|
|
- try {
|
|
|
|
- let { value, submitLock, key } = this.data, megs = [], data = {}, cvalue = [], tels = [], i = 0;
|
|
|
|
- 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.value && item.norequire)) {
|
|
|
|
- if (item.hasOwnProperty('value')) data[item.name] = item.value;
|
|
|
|
- return false
|
|
|
|
- };
|
|
|
|
- // 正常流程
|
|
|
|
- // 判断是否为空
|
|
|
|
- if (item.value !== 0 && !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)) {
|
|
|
|
- if (item.hasOwnProperty('reg_msg')) {
|
|
|
|
- megs.push(`${item.title},${item.reg_msg}`);
|
|
|
|
- } else {
|
|
|
|
- megs.push(`${item.title}格式不正确!`);
|
|
|
|
- }
|
|
|
|
- };
|
|
|
|
- // 号码不能相同 tel tstel ctel cttel
|
|
|
|
- if (item.name == 'tel' || item.name == 'tstel' || item.name == 'ctel' || item.name == 'cttel') {
|
|
|
|
- (!tels.some(itemT => itemT == item.value) || item.vlaue == '') && tels.push(item.value); ++i;
|
|
|
|
- }
|
|
|
|
- ;
|
|
|
|
- // 身份证验证
|
|
|
|
- if (item.name == 'inumber' && data['bdate']) {
|
|
|
|
- item.value.substr(6, 4) + "-" + item.value.substr(10, 2) + "-" + item.value.substr(12, 2) != data['bdate'] && megs.push(`身份证同出生日期不一致!`)
|
|
|
|
- }
|
|
|
|
- if (item.name == 'tsinumber' && data['tsbdate']) {
|
|
|
|
- item.value.substr(6, 4) + "-" + item.value.substr(10, 2) + "-" + item.value.substr(12, 2) != data['tsbdate'] && megs.push(`共同借款人身份证同出生日期不一致!`)
|
|
|
|
- }
|
|
|
|
- if (item.name == "dpratio") {
|
|
|
|
- /-/g.test(item.value) && megs.push("请重新填写申请贷款产品!")
|
|
|
|
- }
|
|
|
|
- data[item.name] = item.value;
|
|
|
|
- });
|
|
|
|
- tels.length !== i && megs.push(`手机号码不能重复`);
|
|
|
|
-
|
|
|
|
- if (megs.length != 0) {
|
|
|
|
- this.setData({ errorShow: true, megs, submitLock: false });
|
|
|
|
- return false;
|
|
|
|
- };
|
|
|
|
- data['category'] = 1;
|
|
|
|
- // 申请贷款期限 不用传
|
|
|
|
- delete data['maturity'];
|
|
|
|
- let resA = await wx.$request({ method: "put", url: `/order/${key}/`, data });
|
|
|
|
- this.setData({ submitLock: false });
|
|
|
|
- Dialog.alert({ message: "已提交!" }).then(res => wx.redirectTo({ url: `/pages/accessory/index?data=${resA.data}&imgs=${JSON.stringify(this.edit_file)}&images=${JSON.stringify(this.edit_file2)}` }))
|
|
|
|
- } catch (err) { wx.$err(err); this.setData({ submitLock: false }); }
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- // 输入
|
|
|
|
- inputFunc (e) {
|
|
|
|
- let { value } = this.data, { index } = e.currentTarget.dataset;
|
|
|
|
- value[index[0]][index[1]]['value'] = e.detail.value;
|
|
|
|
- if (value[index[0]][index[1]].hasOwnProperty("add")) value[index[0]][index[1]]['add'] = chineseNumber(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)) {
|
|
|
|
- this.setData({ switchB: true, active: name, activeIndex: index })
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- // 隐藏单选框
|
|
|
|
- hideModal () { this.setData({ switchB: false }) },
|
|
|
|
-
|
|
|
|
- // 单选框赋值
|
|
|
|
- changeFunc (e) {
|
|
|
|
- let { activeIndex, value, switchs } = this.data;
|
|
|
|
- let _value = e.detail.value.split(",");
|
|
|
|
- value[activeIndex[0]][activeIndex[1]]['value'] = _value[0] * 1;
|
|
|
|
- value[activeIndex[0]][activeIndex[1]]['index'] = _value[1] * 1;
|
|
|
|
-
|
|
|
|
- // 申请贷款产品 申请贷款期限关联
|
|
|
|
- if (value[activeIndex[0]][activeIndex[1]]['name'] == 'laompany') {
|
|
|
|
- value[0][11]['value'] = switchs['laompany'][_value[1] * 1]['month'] + '个月';
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- // 第一借款人与申请人关系特殊处理
|
|
|
|
- if (value[activeIndex[0]][activeIndex[1]]['name'] == 'mstatus') {
|
|
|
|
- value[2][2] = {
|
|
|
|
- ...value[2][2], disabled: _value[0] == 1 ? true : false, value: _value[0] == 1 ? 0 : '', index: _value[0] == 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] == 1 ? false : true;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- this.setData({ value, switchB: false })
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- // 日期
|
|
|
|
- DateChange (e) {
|
|
|
|
- let { value } = this.data, { index } = e.currentTarget.dataset;
|
|
|
|
- value[index[0]][index[1]]['value'] = e.detail.value;
|
|
|
|
- this.setData({ value })
|
|
|
|
- },
|
|
|
|
|
|
+ ...methods,
|
|
|
|
+ ...request,
|
|
}
|
|
}
|
|
})
|
|
})
|