| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545 |
- const _Http = getApp().globalData.http;
- Page({
- data: {
- loading: false,
- showAll: false,
- "content": {
- "sat_orderclueid": 0,
- "sat_orderclueid": 0, //活动id,当活动id大于0是默认业务员创建
- "isprivate": 1, //0表示公海,1表示私域
- co_taxno: "",
- co_name: "",
- co_phonenumber: "",
- },
- disabled: true
- },
- onLoad(options) {
- if (options.sat_orderclueid) this.data.content.sat_orderclueid = options.sat_orderclueid;
- let form = [{
- label: "项目名称",
- error: false,
- errMsg: "",
- type: "textarea",
- value: "",
- placeholder: "项目名称",
- valueName: "projectname",
- checking: "base",
- required: false
- }, {
- label: "客户(企业)",
- error: false,
- errMsg: "",
- type: "text",
- value: "",
- placeholder: "客户(企业)",
- valueName: "enterprisename",
- checking: "base",
- slot: "info",
- required: false
- }, {
- label: "联系人",
- error: false,
- errMsg: "",
- type: "textarea",
- value: "",
- placeholder: "联系人名称",
- valueName: "name",
- checking: "base",
- slot: "TXL",
- required: true
- }, {
- label: "联系方式",
- error: false,
- errMsg: "",
- hint: "",
- type: "radio",
- value: "0",
- radioList: [{
- id: '0',
- name: '手机号'
- }, {
- id: '1',
- name: '座机电话'
- }],
- valueName: "isTelephone", //绑定的字段名称
- required: true, //必填
- interrupt: true,
- checking: `true`,
- phonenumber: "",
- telephone: ["", ""]
- }, {
- label: "手机号",
- error: false,
- errMsg: "",
- type: "number",
- value: "",
- placeholder: "联系人手机号码",
- valueName: "phonenumber",
- required: true,
- checking: "phone"
- }, {
- label: "微信",
- error: false,
- errMsg: "",
- type: "text",
- value: "",
- placeholder: "微信号",
- valueName: "wechatnum",
- checking: "base",
- required: false
- }, {
- label: "省市县",
- error: false,
- errMsg: "",
- type: "region",
- value: "",
- placeholder: "省市县",
- valueName: "region",
- checking: "base",
- required: false
- }, {
- label: "详细地址",
- error: false,
- errMsg: "",
- type: "textarea",
- value: "",
- placeholder: "详细地址",
- valueName: "address",
- checking: "base",
- required: false
- }, {
- label: "项目规模",
- error: false,
- errMsg: "",
- type: "digit",
- value: "",
- placeholder: "请填写数值",
- valueName: "scale",
- checking: "base",
- required: false
- }, {
- label: "项目规模单位",
- error: false,
- errMsg: "",
- type: "option",
- optionNmae: "scaleunitname",
- optionType: "radio", //复选 radio 单选
- value: "",
- placeholder: "选择单位",
- valueName: "unitname",
- required: false
- }, {
- label: "总投资额(万元)",
- error: false,
- errMsg: "",
- type: "digit",
- value: "",
- placeholder: "请填写金额",
- valueName: "totalinvestment",
- checking: "base",
- required: false
- }, {
- label: "造价(万元)",
- error: false,
- errMsg: "",
- type: "digit",
- value: "",
- placeholder: "请填写金额",
- valueName: "costofconstruction",
- checking: "base",
- required: false
- }, {
- label: "预计开工时间",
- error: false,
- errMsg: "",
- type: "date",
- fields: "month",
- value: "",
- placeholder: "预计开工时间",
- valueName: "begdate_due",
- checking: "base",
- required: false
- }, {
- label: "预计完工时间",
- error: false,
- errMsg: "",
- type: "date",
- fields: "month",
- value: "",
- placeholder: "预计完工时间",
- valueName: "enddate_due",
- checking: "base",
- required: false
- },
- {
- label: "市场活动",
- error: false,
- errMsg: "",
- type: "route",
- url: "/packageA/select/selectActivity/index",
- value: "",
- params: {
- "id": 20221101095102,
- "content": {
- nocache: true,
- isAll: 0,
- "where": {
- 'condition': '',
- "unend": 1
- }
- }
- },
- query: "&radio=true",
- placeholder: "选择市场活动",
- valueName: "campaign_name",
- checking: "base",
- required: false
- }, {
- label: "领域",
- error: false,
- errMsg: "",
- type: "selector",
- range: [],
- rangeKey: "name",
- selectKey: "tradefield",
- rangeIndex: "",
- value: "",
- placeholder: "领域",
- valueName: "tradefield",
- required: true, //必填
- }, {
- label: "来源",
- error: false,
- errMsg: "",
- type: "selector",
- range: [],
- rangeKey: "value",
- rangeIndex: "",
- value: "",
- placeholder: "来源",
- valueName: "cluesource",
- checking: "base",
- required: true
- }, {
- label: "线索概括",
- error: false,
- errMsg: "",
- type: "text",
- value: "",
- placeholder: "线索概括",
- valueName: "notes",
- checking: "base",
- required: false
- }
- ];
- if (wx.getStorageSync('userMsg').siteid == 'HY') form = form.filter(v => !["项目预算(万元)", "总投资额(万元)", "造价(万元)"].includes(v.label))
- getApp().globalData.Language.getLanguagePackage(this, options.rowData ? '编辑线索' : '添加线索');
- //编辑进入
- if (options.rowData) {
- let data = JSON.parse(options.rowData);
- if (data.phonenumber.includes("-")) {
- let index = form.findIndex(v => v.label == '手机号');
- data.telephone1 = data.phonenumber.split("-");
- form[index] = {
- label: "座机电话",
- error: false,
- errMsg: "",
- type: "telephone",
- value: ["", ""],
- valueName: "telephone1",
- required: true,
- checking: "telephone"
- }
- }
- ['联系人', '联系方式', '座机电话', '手机号'].forEach(v => {
- try {
- form.find(s => s.label == v).disabled = true
- } catch (error) {
- }
- })
- this.setData({
- form: form.map(v => {
- if (v.valueName == 'region') {
- v.value = data.province ? [data.province, data.city, data.county] : []
- } else if (v.valueName == 'isTelephone') {
- if (data.phonenumber.includes("-")) {
- v.value = '1'
- v.telephone = data.telephone1;
- } else {
- v.phonenumber = data.phonenumber
- }
- } else if (v.valueName == 'campaign_name') {
- v.value = data[v.valueName] ? [data[v.valueName],
- [data.sat_campaignid]
- ] : ""
- } else {
- v.value = data[v.valueName];
- }
- return v
- }),
- 'form[0].value': data.enterprisename_customer || data.enterprisename || "",
- 'content.sat_orderclueid': data.sat_orderclueid || 0,
- 'content.sa_customersid': data.sa_customersid || 0,
- 'content.sat_campaignid': data.sat_campaignid || 0
- })
- this.selectComponent("#Form").confirm();
- } else {
- _Http.basic({
- "classname": "sysmanage.develop.optiontype.optiontype",
- "method": "optiontypeselect",
- "content": {
- pageNumber: 1,
- "pageSize": 1,
- "typename": "scaleunitname",
- "parameter": {
- "siteid": wx.getStorageSync('siteP').siteid
- }
- }
- }).then(res => {
- console.log("项目规模", res)
- if (res.code == '1') {
- let index = form.findIndex(v => v.label == '项目规模单位');
- if (index != -1) form[index].value = res.data[0].value;
- }
- this.setData({
- form
- })
- })
- }
- /* 获取领域 */
- _Http.basic({
- "id": 20221223141802,
- "content": {
- "pageNumber": 1,
- "pageSize": 99999,
- "where": {
- "condition": ""
- }
- }
- }).then(res => {
- console.log("获取领域", res)
- let item = form.find(v => v.label == '领域');
- item.range = res.code == '1' ? res.data.map(v => {
- v.name = getApp().globalData.Language.getMapText(v.tradefield)
- return v
- }) : [];
- this.setData({
- form
- })
- })
- /* 获取来源 */
- _Http.basic({
- "classname": "sysmanage.develop.optiontype.optiontype",
- "method": "optiontypeselect",
- "content": {
- "typename": "cluesource",
- pageSize: 9999
- }
- }).then(res => {
- console.log("获取线索来源", res)
- if (res.code == '1') {
- let item = form.find(v => v.label == '来源');
- item.range = res.code == '1' ? res.data : [];
- this.setData({
- form
- })
- }
- })
- },
- /* 打断 */
- interrupt({
- detail
- }) {
- let {
- data,
- form,
- temporary
- } = detail;
- if (data.label == '联系方式') {
- let index = temporary.index + 1
- if (data.value == 0) {
- data.telephone = form[index].value;
- if (data.telephone.join() == ',') data.telephone = "";
- form[index] = {
- label: "手机号",
- error: false,
- errMsg: "",
- type: "number",
- value: data.phonenumber,
- placeholder: "联系人手机号码",
- valueName: "phonenumber",
- required: true,
- checking: "phone"
- }
- } else {
- if (typeof (form[index].value) == 'object') form[index].value = "";
- data.phonenumber = form[index].value;
- form[index] = {
- label: "座机电话",
- error: false,
- errMsg: "",
- type: "telephone",
- value: data.telephone || ["", ""],
- valueName: "telephone1",
- required: true,
- checking: "telephone"
- }
- };
- this.setData({
- form
- })
- }
- },
- /* 打开通讯录 */
- openContacts() {
- let that = this;
- let page = that.selectComponent("#Form");
- let form = page.data.form,
- index = form.findIndex(v => v.label == '联系人');
- if (form[index].disabled) return;
- wx.navigateTo({
- url: '/packageA/setclient/contacts',
- })
- getApp().globalData.handleSelect = (item) => {
- wx.showModal({
- title: getApp().globalData.Language.getMapText('提示'),
- content: getApp().globalData.Language.getMapText('是否确定选择') + `${item.name}`,
- cancelText: getApp().globalData.Language.getMapText('取消'),
- confirmText: getApp().globalData.Language.getMapText('确定'),
- complete: ({
- confirm
- }) => {
- if (confirm) {
- form[index].value = item.name;
- if (item.phonenumber.indexOf('-') !== -1) {
- form[index + 1].value = "1";
- form[index + 2] = {
- label: "座机电话",
- error: false,
- errMsg: "",
- type: "telephone",
- value: item.phonenumber.split("-"),
- valueName: "telephone1",
- required: true,
- checking: "telephone"
- }
- } else {
- form[index + 1].value = "0";
- form[index + 2] = {
- label: "手机号",
- error: false,
- errMsg: "",
- type: "number",
- value: item.phonenumber,
- placeholder: "联系人手机号码",
- valueName: "phonenumber",
- required: true,
- checking: "phone"
- }
- }
- that.setData({
- form
- })
- wx.navigateBack()
- getApp().globalData.handleSelect = null;
- page.confirm()
- }
- }
- })
- };
- },
- introduce({
- detail
- }) {
- let item = detail;
- this.setData({
- [`form[0].value`]: item.companyName,
- [`form[5].value`]: [item.regProvince ? item.regProvince : item.regCity, item.regCity, item.regArea],
- [`form[6].value`]: item.address,
- "content.co_taxno": item.taxNum,
- "content.co_name": item.legalPerson,
- "content.co_phonenumber": item.phone,
- })
- },
- queryClient() {
- let data = this.selectComponent("#Form").query();
- if (data.enterprisename == '') {
- getApp().globalData.Language.showToast('您还未填写企业名称')
- } else {
- this.setData({
- form: this.selectComponent("#Form").data.form,
- })
- this.selectComponent("#Info").queryClient(data.enterprisename)
- }
- },
- submit() {
- let content = {
- ...this.data.content,
- ...this.selectComponent("#Form").submit()
- };
- content.sat_campaignid = content.campaign_name ? content.campaign_name[1][0] : 0;
- content.city = content.region[1] || "";
- content.county = content.region[2] || "";
- content.province = content.region[0] || "";
- delete(content.region)
- delete(content.campaign_name)
- if (content.enterprisename == "" && content.projectname == "") return getApp().globalData.Language.showToast('客户名称或项目名称为空,请完善信息')
- if (content.scale.length != 0 && content.scale == 0) return getApp().globalData.Language.showToast('项目规模不可为0')
- content.phonenumber = content.isTelephone == 0 ? content.phonenumber || '' : content.telephone1.join("-") || '';
- this.setData({
- loading: true
- })
- delete content.telephone1;
- delete content.isTelephone;
- _Http.basic({
- "id": "20221205162402",
- content
- }).then(res => {
- console.log("添加线索", res)
- this.setData({
- loading: false
- })
- wx.showToast({
- title: res.code != '1' ? res.msg : getApp().globalData.Language.getMapText('保存成功'),
- icon: "none"
- })
- if (res.code != '1') return;
- setTimeout(() => {
- wx.navigateBack();
- getCurrentPages().forEach(v => {
- if (v.__route__ == 'packageA/saleClue/detail') {
- v.getDetail();
- } else if (v.__route__ == 'packageA/saleClue/index') {
- v.getList(true);
- } else if (['packageA/setclient/detail', 'packageA/publicCustomer/detail'].includes(v.__route__)) {
- v.selectComponent("#Clue").getList(this.data.content.sa_customersid, true)
- }
- })
- }, 300)
- })
- },
- // 是否显示全部
- onChange({
- detail
- }) {
- this.setData({
- showAll: detail
- })
- },
- /* 表单必填项是否完成 */
- onConfirm({
- detail
- }) {
- this.setData({
- disabled: detail
- })
- }
- })
|