let _Http = getApp().globalData.http, count = null; Page({ data: { repetitionShow: false, repetitionList: [], isSubmit: false, showAll: false, form: [{ label: "客户(企业)", error: false, errMsg: "", type: "textarea", value: "", placeholder: "客户(企业)名称", valueName: "enterprisename", checking: "base", slot: "info", required: true }, { label: "企业简称", error: false, errMsg: "", type: "textarea", value: "", placeholder: "企业简称", valueName: "abbreviation", checking: "base", required: false }, { label: "erp编号", error: false, errMsg: "", type: "textarea", value: "", placeholder: "erp编号", valueName: "erpagentnum", checking: "base", required: false }, { label: "选择公海池", error: false, errMsg: "", type: "route", url: "/packageA/publicCustomer/pond/index", value: "", params: { "id": 20221206195102, "content": { nocache: true, "where": { "condition": "" } } }, query: "&radio=true", placeholder: "选择所属公海池", valueName: "sa_customerpoolid", checking: "base", required: true }, { label: "客户类型", error: false, errMsg: "", type: "option", optionNmae: "customertypemx", optionType: "radio", //复选 radio 单选 value: "", placeholder: "客户类型", valueName: "type", checking: "base", required: true }, { label: "企业等级", error: false, errMsg: "", type: "option", optionNmae: "agentgrade", optionType: "radio", //复选 radio 单选 value: "", placeholder: "企业等级", valueName: "grade", checking: "base", required: false }, { label: "客户分类", error: false, errMsg: "", type: "option", optionNmae: "customergrade", optionType: "radio", //复选 radio 单选 value: "", placeholder: "客户分类", valueName: "customergrade", checking: "base", required: false }, { label: "客户行业", error: false, errMsg: "", type: "option", //自定义选择 配合预定接口 optionNmae: "industry", //选择类型 optionType: "checkbox", //复选 radio 单选 value: "", placeholder: "客户所属行业", valueName: "industry", checking: "base", required: false }, { label: "税号", error: false, errMsg: "", type: "textarea", value: "", placeholder: "企业税号", valueName: "taxno", checking: "base", required: false }, { label: "法人", error: false, errMsg: "", type: "text", value: "", placeholder: "企业法人", valueName: "contact", checking: "base", required: false }, { label: "电话", error: false, errMsg: "", type: "number", value: "", placeholder: "联系电话", valueName: "telephone", checking: "base", required: false }, { label: "省市县", error: false, errMsg: "", type: "region", value: [], placeholder: "所在地区", valueName: "region", required: false }, { label: "详细地址", error: false, errMsg: "", type: "textarea", value: "", placeholder: "详细地址", valueName: "address", checking: "base", required: false }, { label: "上级企业", error: false, errMsg: "", type: "route", url: "/packageA/select/setclient/select", value: "", params: { id: 20221012164402, valueKey: "sa_customersid", content: { nocache: true, "type": 1, "isExport": 0, isend: 0, "where": { "condition": "", "status": "", //状态 "startdate": "", "enddate": "" }, "sort": [{ sortname: "默认", sorted: 1, sortid: 67, reversed: 0 }] }, }, query: "&radio=true", placeholder: "选择上级企业", valueName: "parentid", checking: "base", required: false }, { label: "客户来源", error: false, errMsg: "", type: "textarea", value: "", placeholder: "客户来源", valueName: "source", checking: "base", required: false }], content: { "sa_customersid": 0, //新增是传0 "sys_enterpriseid": 0, //合作企业档案ID,新增是传0,更新 }, disabled: true, countDown: "", //查重倒计时 }, setOption(item) { let i = this.data.form.findIndex(v => v.valueName == item.valueName); this.setData({ [`form[${i}]`]: item }) }, onLoad(options) { if (options.data) { let data = JSON.parse(options.data); console.log(data.grade) this.setData({ disabled: false, content: { sa_customersid: data.sa_customersid, parentid: data.parentid, sys_enterpriseid: data.sys_enterpriseid, sa_customerpoolid: data.sa_customerpoolid, source: data.source, }, form: this.data.form.map(v => { if (v.valueName != 'region') { v.value = data[v.valueName]; if (v.valueName == "grade") v.value = data[v.valueName] + ""; } else { v.value = data.province ? [data.province, data.city, data.county] : [] } return v }) }) } }, /* 工商查询 */ introduce({ detail }) { let item = detail; let data = { enterprisename: item.companyName, //企业名称 taxno: item.taxNum, //税号 contact: item.legalPerson, //法人 region: [item.regProvince, item.regCity, item.regArea], //地区 address: item.address, //地区 } this.setData({ form: this.data.form.map(v => { if (data[v.valueName]) v.value = data[v.valueName]; return v }), }) }, /* 工商查询 */ queryClient() { let data = this.selectComponent("#Form").query(); if (data.enterprisename == '') { wx.showToast({ title: `您还未填写企业名称`, icon: "none" }); } else { this.setData({ form: this.selectComponent("#Form").data.form, }) this.selectComponent("#Info").queryClient(data.enterprisename) } }, repClose() { if (this.data.isSubmit) { let that = this; wx.showModal({ title: '提示', content: `是否继续${this.data.content.sys_enterpriseid==0?'创建':'编辑'}客户`, complete: (res) => { if (res.confirm) that.handleSubmit(true); } }) } this.setData({ repetitionShow: false, isSubmit: false }) }, /* 表单必填项是否完成 */ onConfirm({ detail }) { this.setData({ disabled: detail }) }, // 是否显示全部 onChange({ detail }) { this.setData({ showAll: detail }) }, /* 查询是否重复 */ async queryRepetition(e) { let { enterprisename, taxno, address } = this.selectComponent("#Form").query(); if (enterprisename == '') return wx.showToast({ title: `您还未填写企业名称`, icon: "none" }); let res = await this.handleQueryRepetition({ sa_customersid: this.data.content.sa_customersid, enterprisename, taxno, address }); console.log("查询重复", res) if (res.msg != '成功') return wx.showToast({ title: res.msg, icon: "none" }); this.setData({ countDown: 6 }); count = setInterval(() => { let countDown = this.data.countDown; if (countDown == 0) { clearInterval(count); this.setData({ countDown: "" }) } else { countDown--; this.setData({ countDown }) } }, 1000) if (res.total == 0) { wx.showToast({ title: '未查询到疑似重复的客户信息', icon: "none" }) } else { wx.showToast({ title: `查询到${res.total}条疑似重复客户信息`, icon: "none" }) this.setData({ repetitionShow: true, repetitionList: res.data }) } }, /* 处理查重 */ handleQueryRepetition(content) { return _Http.basic({ "id": 20221208172002, content }) }, async submit() { let data = this.selectComponent("#Form").submit(); let query = await this.handleQueryRepetition({ sa_customersid: this.data.content.sa_customersid, enterprisename: data.enterprisename, taxno: data.taxno, address: data.address }); if (query.total != 0) { wx.showToast({ title: `查询到${query.total}条疑似重复客户信息`, icon: "none" }) this.setData({ repetitionShow: true, repetitionList: query.data, isSubmit: true }) } else { this.handleSubmit(); } }, handleSubmit(tag = false) { let data = this.selectComponent("#Form").submit(); data.province = data.region[0] || ""; data.city = data.region[1] || ""; data.county = data.region[2] || ""; data.sa_customerpoolid = data.sa_customerpoolid[0] ? data.sa_customerpoolid[1][0] : 0; data.parentid = data.parentid[0] ? data.parentid[1][0] : 0; data.ispublic = 1; //是否为公海客户 delete(data.region); _Http.basic({ "id": 20221010164302, "content": { ...this.data.content, ...data, } }).then(res => { console.log("新建客户", res) if (res.msg != '成功') return wx.showToast({ title: res.data, icon: "none" }) wx.showToast({ title: '保存成功', icon: "none" }); //绑定疑似重复标签 if (tag) _Http.basic({ "id": 20220929090901, "content": { "ownertable": "sa_customers", "ownerid": res.data.sa_customersid, "datatag": ["疑似重复"] } }) setTimeout(() => { getCurrentPages().forEach(v => { switch (v.__route__) { case 'packageA/publicCustomer/index': v.getList(true); break; case 'packageA/publicCustomer/detail': wx.navigateBack() v.getDetail(); break; } }) let pages = getCurrentPages(); if (pages[pages.length - 2].__route__ == 'packageA/publicCustomer/index') wx.redirectTo({ url: '/packageA/publicCustomer/detail?id=' + res.data.sa_customersid, }) }, tag ? 500 : 300); }) }, })