Browse Source

客户管理

zhaoxiaohai 3 years ago
parent
commit
126ede93ef

+ 45 - 34
packageA/setclient/detail.js

@@ -30,8 +30,8 @@ Page({
         })
         this.getDetail();
     },
-
-    getDetail(count = 1) {
+    /* 获取详情 */
+    getDetail() {
         /* 基本信息 */
         _Http.basic({
             "id": 20221012164302,
@@ -40,21 +40,12 @@ Page({
             },
         }).then(res => {
             console.log("详情", res)
-            if (res.msg != '成功') {
-                if (count == 5) {
-                    wx.showToast({
-                        title: res.data,
-                        icon: "none"
-                    })
-                } else {
-                    setTimeout(() => {
-                        this.getDetail(count + 1)
-                    }, 500)
-                }
-                return;
-            };
+            if (res.msg != '成功') return wx.showToast({
+                title: res.data,
+                icon: "none"
+            })
             /* 摘要信息 */
-            const briefs = [{
+            let briefs = [{
                 label: "客户级别",
                 value: res.data.grade
             }, {
@@ -63,15 +54,9 @@ Page({
             }, {
                 label: "上级企业",
                 value: res.data.superiorenterprisename
-            }, {
-                label: "负责人",
-                value: ""
-            }, {
-                label: "最近跟进时间",
-                value: res.data.followdate
             }];
             /* 基本信息 */
-            const list1 = [{
+            let list1 = [{
                 label: "客户名称",
                 value: res.data.enterprisename
             }, {
@@ -137,27 +122,40 @@ Page({
                 list1,
                 list2
             });
-            /* 负责人信息 */
+            //负责人
             _Http.basic({
                 "id": 20220930103501,
                 "content": {
                     "ownertable": "sa_customers",
                     "ownerid": this.data.sa_customersid
                 }
-            }).then(res => {
+            }).then(s => {
+                console.log("负责人", res)
                 let list = list1.concat([{
                     label: "负责人",
-                    value: res.data.map(v => v.name)
+                    value: s.data[0].name
                 }, {
                     label: "负责人部门",
-                    value: res.data.map(v => v.position)
+                    value: s.data[0].position
                 }])
-                list[5].value = res.data.length > 0 ? '已分配' : '未分配';
+                list[5].value = s.data.length > 0 ? '已分配' : '未分配';
+
                 this.setData({
-                    principal: res.data,
-                    list1: list
-                })
+                    principal: s.data,
+                    list1: list,
+                    briefs: this.data.briefs.concat([{
+                        label: "负责人",
+                        value: s.data[0].name
+                    }, {
+                        label: "最近跟进时间",
+                        value: s.data[0].changedate
+                    }])
+                });
+                
             });
+            //获取标签
+            this.getTags();
+            this.getGroup()
             this.partialRenewal();
         });
     },
@@ -171,7 +169,7 @@ Page({
         this.partialRenewal();
     },
     //局部数据更新 tabs
-    partialRenewal() {
+    partialRenewal(init = false) {
         const id = this.data.detail.sys_enterpriseid;
         let model = '';
         switch (this.data.tabsActive) {
@@ -186,11 +184,24 @@ Page({
         };
 
         if (model) {
-            //确定好模块ID total = null 是第一次加载 加载数据
+            // 确定好模块ID total = null 是第一次加载 加载数据
+            // init是新增或修改需要清数据
             let Component = this.selectComponent(model);
-            if (Component.data.content.total == null) Component.getList(id);
+            if (Component.data.content.total == null || init) {
+                Component.getList(id, init);
+            } else if (1) {
+                //用来判断 在搜索页面修改,与tabs选项不一致 但是切换到该选项 重置数据
+            }
         }
     },
+    //更新标签
+    getTags() {
+        this.selectComponent("#Tags").getTags();
+    },
+    //更新团队成员
+    getGroup(){
+        this.selectComponent("#Group").getList();
+    },
     onReachBottom() {
         this.partialRenewal();
     },

+ 5 - 2
packageA/setclient/detail.wxml

@@ -5,7 +5,7 @@
         <view class="mian">
             <view class="label line-1">{{detail.enterprisename}}</view>
             <view class="tag-box">
-
+                <Yl-tags id="Tags" add ownertable='sa_customers' ownerid='{{detail.sa_customersid}}' />
             </view>
         </view>
         <view class="extend">
@@ -14,7 +14,10 @@
     </view>
 </view>
 <!-- 简介 -->
-<Yl_Detail list="{{briefs}}" />
+<Yl_Detail list="{{briefs}}">
+    <!-- 团队管理 -->
+    <Yl-group id='Group' slot='bottom' add ownertable='sa_customers' ownerid='{{detail.sa_customersid}}' />
+</Yl_Detail>
 <view style="height: 20rpx;" />
 <!-- 功能 -->
 <Yl_FunTabs list='{{tabsList}}' active='{{tabsActive}}' bind:onChenge="tabsChange">

+ 3 - 3
packageA/setclient/modules/address/add/index.js

@@ -2,7 +2,7 @@ const _Http = getApp().globalData.http;
 Page({
     data: {
         form: [{
-            label: "联系人",
+            label: "收货人",
             error: false,
             errMsg: "",
             type: "text",
@@ -17,7 +17,7 @@ Page({
             errMsg: "",
             type: "number",
             value: "",
-            placeholder: "联系人手机号码",
+            placeholder: "收货人手机号码",
             valueName: "phonenumber",
             required: true,
             checking: "phone"
@@ -104,7 +104,7 @@ Page({
             });
             setTimeout(() => {
                 let pages = getCurrentPages();
-                pages[pages.length - 2].partialRenewal();
+                pages[pages.length - 2].partialRenewal(true);
                 wx.navigateBack();
             }, 500)
         })

+ 2 - 1
packageA/setclient/modules/address/index.js

@@ -8,6 +8,7 @@ Component({
         list: [],
         radio: 0, //默认
         content: {
+            "nacache": true,
             "pageNumber": 1,
             "pageSize": 10,
             "pageTotal": 1,
@@ -100,7 +101,7 @@ Component({
                 case 'delete':
                     wx.showModal({
                         title: '提示',
-                        content: `是否确认删除"${item.name}"的地址`,
+                        content: `是否确认删除"${item.name}"`,
                         complete: (res) => {
                             if (res.confirm) {
                                 _Http.basic({

+ 61 - 69
packageA/setclient/modules/contacts/add/index.js

@@ -1,34 +1,35 @@
 const _Http = getApp().globalData.http;
 Page({
     data: {
+        fromShowAll: true,
         form: [{
             label: "姓名",
             error: false,
             errMsg: "",
             type: "text",
             value: "",
-            placeholder: "请填写",
+            placeholder: "联系人名称",
             valueName: "name",
             required: true,
             checking: "base"
         }, {
-            label: "公司名称",
+            label: "手机号",
             error: false,
             errMsg: "",
-            type: "textarea",
+            type: "number",
             value: "",
-            placeholder: "请填写",
-            valueName: "address",
-            required: false,
-            checking: "base"
+            placeholder: "联系人手机号码",
+            valueName: "phonenumber",
+            required: true,
+            checking: "phone"
         }, {
             label: "部门",
             error: false,
             errMsg: "",
             type: "text",
             value: "",
-            placeholder: "请填写",
-            valueName: "name",
+            placeholder: "联系人所属部门",
+            valueName: "depname",
             required: false,
             checking: "base"
         }, {
@@ -37,18 +38,18 @@ Page({
             errMsg: "",
             type: "text",
             value: "",
-            placeholder: "请填写",
-            valueName: "name",
+            placeholder: "联系人职位",
+            valueName: "position",
             required: false,
             checking: "base"
         }, {
             label: "性别",
             error: false,
             errMsg: "",
-            type: "text",
+            type: "sex",
             value: "",
-            placeholder: "请填写",
-            valueName: "name",
+            placeholder: "联系人性别",
+            valueName: "sex",
             required: false,
             checking: "base"
         }, {
@@ -57,64 +58,54 @@ Page({
             errMsg: "",
             type: "date",
             value: "",
-            placeholder: "请填写",
-            valueName: "name",
-            required: false,
-            checking: "base"
+            placeholder: "联系人生日",
+            valueName: "birthday",
+            required: false
         }, {
-            label: "群组",
+            label: "邮箱",
             error: false,
             errMsg: "",
-            type: "text",
+            type: "textarea",
             value: "",
             placeholder: "请填写",
-            valueName: "name",
+            valueName: "email",
             required: false,
-            checking: "base"
+            checking: "mail"
         }, {
-            label: "备注",
+            label: "地区",
             error: false,
             errMsg: "",
-            type: "textarea",
-            value: "",
-            placeholder: "请填写",
-            valueName: "address",
-            required: false,
-            checking: "base"
+            type: "region",
+            value: [],
+            placeholder: "省,市,区",
+            valueName: "region",
+            required: false
         }, {
-            label: "负责人",
+            label: "详细地址",
             error: false,
             errMsg: "",
             type: "textarea",
             value: "",
-            placeholder: "请填写",
+            placeholder: "例: 科创园11栋1103室",
             valueName: "address",
-            required: true,
+            required: false,
             checking: "base"
         }, {
-            label: "负责人部门",
+            label: "备注",
             error: false,
             errMsg: "",
             type: "textarea",
             value: "",
             placeholder: "请填写",
-            valueName: "address",
+            valueName: "remarks",
             required: false,
             checking: "base"
-        }, ],
-
+        }],
         disabled: true,
-
         "content": {
             "contactsid": 0, //地址id
             "sys_enterpriseid": 0, //绑定数据
-            "sex": "",
-            "depname": "",
-            "position": "",
-            "isleader": 0,
-            "birthday": "",
-            "email": "",
-            "remarks": "",
+            "isleader": 0, //默认0
             "workaddress": 0,
             "isdefault": 0, //是否默认地址
             "isprimary": 0 //是否为主地址
@@ -122,19 +113,19 @@ Page({
     },
     onLoad(options) {
         if (options.data) {
-            let item = JSON.parse(options.data)
+            let item = JSON.parse(options.data),
+                form = this.data.form.map(v => {
+                    if (v.valueName == 'region') {
+                        v.value = [item.province, item.city, item.county]
+                    } else {
+                        v.value = Object.hasOwn(item, v.valueName) ? item[v.valueName] : v.value;
+                    }
+                    return v
+                });
             this.setData({
-                content: {
-                    ...this.data.content,
-                    ...item
-                },
-                "content.isdefault": item.isdefault,
-                'form[0].value': item.name,
-                'form[1].value': item.phonenumber,
-                'form[2].value': [item.province, item.city, item.county],
-                'form[3].value': item.address,
-                'content.isdefault': item.isdefault,
-                "disabled": false
+                form,
+                "disabled": false,
+                "content.contactsid": item.contactsid
             })
         }
     },
@@ -145,9 +136,9 @@ Page({
         const content = {
             ...this.data.content,
             ...data,
-            "province": data.region[0],
-            "city": data.region[1],
-            "county": data.region[2],
+            "province": data.region[0] || "",
+            "city": data.region[1] || "",
+            "county": data.region[2] || "",
         };
         delete(content.region);
         let pages = getCurrentPages();
@@ -156,7 +147,7 @@ Page({
             "id": "20221018141802",
             content
         }).then(res => {
-            console.log("添加地址", res)
+            console.log("编辑联系人", res)
             if (res.msg != '成功') return wx.showToast({
                 title: res.data,
                 icon: "none"
@@ -167,16 +158,10 @@ Page({
             });
             setTimeout(() => {
                 let pages = getCurrentPages();
-                pages[pages.length - 2].partialRenewal();
+                pages[pages.length - 2].partialRenewal(true);
                 wx.navigateBack();
             }, 500)
-        })
-    },
-    /* 设置默认 */
-    checkboxChange() {
-        this.setData({
-            "content.isdefault": this.data.content.isdefault == 1 ? 0 : 1
-        })
+        });
     },
     /* 表单是否填写完成 */
     onConfirm({
@@ -186,5 +171,12 @@ Page({
             disabled: detail
         })
     },
-    onShareAppMessage() {}
+    /* 是否显示全部 */
+    changefromShowAll({
+        detail
+    }) {
+        this.setData({
+            fromShowAll: detail
+        })
+    },
 })

+ 1 - 1
packageA/setclient/modules/contacts/add/index.wxml

@@ -1,5 +1,5 @@
 <Yl_Headline title='基本信息' type='switch' switchLabel='仅显示必填项' switch='{{fromShowAll}}' bind:callBack='changefromShowAll' />
-<Yl_field id='Form' form="{{form}}" bind:onConfirm='onConfirm' />
+<Yl_field id='Form' showAll='{{fromShowAll}}' form="{{form}}" bind:onConfirm='onConfirm' />
 <view class="but-box">
     <van-button disabled='{{disabled}}' custom-class='but' bindtap="submit">保 存</van-button>
 </view>

+ 8 - 2
packageA/setclient/modules/contacts/index.js

@@ -19,6 +19,7 @@ Component({
             show: false
         },
         content: {
+            "nacache": true,
             "pageNumber": 1,
             "pageSize": 10,
             "pageTotal": 1,
@@ -73,7 +74,7 @@ Component({
         },
         onSelect(e) {
             let item = this.data.sheet.item,
-            that = this;
+                that = this;
             switch (e.detail.name) {
                 case "呼叫":
                     wx.makePhoneCall({
@@ -83,7 +84,7 @@ Component({
                 case "删除":
                     wx.showModal({
                         title: '提示',
-                        content: `是否确认删除"${item.name}"联系人`,
+                        content: `是否确认删除"${item.name}"`,
                         complete: (res) => {
                             if (res.confirm) {
                                 _Http.basic({
@@ -110,6 +111,11 @@ Component({
                         }
                     })
                     break;
+                case "编辑":
+                    wx.navigateTo({
+                      url: `/packageA/setclient/modules/contacts/add/index?data=${JSON.stringify(item)}`
+                    })
+                    break;
                 default:
                     console.log(e.detail.name)
                     break;

+ 1 - 2
packageA/setclient/modules/trace/index.wxml

@@ -30,9 +30,8 @@
             </view>
         </view>
         <view class="editor">
-            <van-radio icon-size='14' label-class='radio' name="1">默认收货地址</van-radio>
+            <view />
             <view class="icon-but">
-                <navigator url="#" class="iconfont icon-a-yingxiaowuliaofuzhi" />
                 <navigator url="#" class="iconfont icon-bianji" />
                 <navigator url="#" class="iconfont icon-shanchu" />
             </view>