Kaynağa Gözat

订单暂存

xiaohaizhao 2 ay önce
ebeveyn
işleme
a96941e90a

+ 35 - 1
CRM/customer/create.js

@@ -140,6 +140,11 @@ Page({
     }
   },
   onLoad(options) {
+    // 检查是否是选择模式
+    this.setData({
+      selectMode: options.selectMode === 'true'
+    });
+    
     // 如果是编辑模式,获取客户详情
     if (options.edit) {
       let data = _Http.detail;
@@ -232,7 +237,35 @@ Page({
       })
       console.log("创建客户", res)
       if (res.code == 1) {
-        if (content.sa_customersid == 0) {
+        if (this.data.selectMode) {
+          // 选择模式下,创建客户后返回并设置客户信息
+          // 这里需要获取客户详情,因为创建成功后只返回了客户ID
+          _Http.basic({
+            "id": "2026030916272601",
+            "content": {
+              "sa_customersid": res.data
+            }
+          }).then(customerRes => {
+            if (customerRes.code == 1) {
+              const customerInfo = customerRes.data[0];
+              // 调用全局回调函数,设置客户信息
+              if (getApp().globalData.setCustomer) {
+                getApp().globalData.setCustomer(customerInfo);
+              }
+              // 返回上一页
+              wx.navigateBack({
+                delta: 2,
+                success: (result) => {
+                  wx.showToast({
+                    title: "创建成功",
+                    icon: "none"
+                  })
+                },
+              })
+            }
+          });
+        } else if (content.sa_customersid == 0) {
+          // 非选择模式,跳转到客户详情
           wx.redirectTo({
             url: '/CRM/customer/detail?id=' + res.data,
             success: (result) => {
@@ -243,6 +276,7 @@ Page({
             },
           })
         } else {
+          // 编辑模式,返回上一页
           getCurrentPages().find(v => v.__route__ == 'CRM/customer/detail').getDetail()
           wx.navigateBack({
             success: (res) => {

+ 26 - 4
CRM/customer/index.js

@@ -22,7 +22,11 @@ Page({
       tableid: 2096
     }
   },
-  onLoad() {
+  onLoad(options) {
+    // 检查是否是选择模式
+    this.setData({
+      selectMode: options.selectMode === 'true'
+    });
     this.getList();
   },
   /* 获取客户列表 */
@@ -68,8 +72,26 @@ Page({
   },
   /* 新增客户 */
   addCustomer() {
-    wx.navigateTo({
-      url: '/CRM/customer/create'
-    });
+    if (this.data.selectMode) {
+      wx.navigateTo({
+        url: '/CRM/customer/create?selectMode=true'
+      });
+    } else {
+      wx.navigateTo({
+        url: '/CRM/customer/create'
+      });
+    }
+  },
+  /* 选择客户 */
+  selectCustomer(e) {
+    if (this.data.selectMode) {
+      const customerItem = e.currentTarget.dataset.item;
+      // 调用全局回调函数,设置客户信息
+      if (getApp().globalData.setCustomer) {
+        getApp().globalData.setCustomer(customerItem);
+      }
+      // 返回上一页
+      wx.navigateBack();
+    }
   }
 });

+ 87 - 65
CRM/customer/index.wxml

@@ -2,78 +2,100 @@
   <van-search use-action-slot placeholder='请输入搜索关键词' shape='round' bind:search="onSearch" bind:clear="onSearch" />
   <view class="header" style="height: 20rpx;"></view>
   <Yl_ListBox id='ListBox' bind:getlist='getList'>
-    <navigator url="/CRM/customer/detail?id={{item.sa_customersid}}" class="item" wx:for="{{list}}" wx:key="sa_customersid">
-      <view class="top">
-        <view class="name">{{item.name || '--'}}</view>
-        <view class="statu" style="background-color: {{set.color(item.status)}}; color: #fff;">
-          {{item.status || '--'}}
-        </view>
-      </view>
-      <view class="content">
-        <view class="row">
-          <view class="exp">
-            所属站点:{{item.siteid || '--'}}
-          </view>
-          <view class="exp">
-            创建站点:{{item.enterprisename || '--'}}
-          </view>
-        </view>
-        <view class="row">
-          <view class="exp">
-            所属门店:{{item.storename || '--'}}
-          </view>
-          <view class="exp">
-            性别:{{item.sex || '--'}}
-          </view>
-        </view>
-        <view class="row">
-          <view class="exp">
-            手机:{{item.phonenumber || '--'}}
-          </view>
-          <view class="exp">
-            客户来源:{{item.source || '--'}}
-          </view>
-        </view>
-        <view class="row">
-          <view class="exp">
-            外部订单号:{{item.ext_no || '--'}}
+    <view wx:for="{{list}}" wx:key="sa_customersid" bind:tap="selectCustomer" data-item="{{item}}">
+      <view wx:if="{{!selectMode}}">
+        <navigator url="/CRM/customer/detail?id={{item.sa_customersid}}" class="item">
+          <view class="top">
+            <view class="name">{{item.name || '--'}}</view>
+            <view class="statu" style="background-color: {{set.color(item.status)}}; color: #fff;">
+              {{item.status || '--'}}
+            </view>
           </view>
-          <view class="exp">
-            是否电商:<text class="{{item.isonline_join == 1 ? 'text-red' : ''}}">{{item.isonline_join == 1 ? '是' : '否'}}</text>
+          <view class="content">
+            <view class="row">
+              <view class="exp">
+                所属站点:{{item.siteid || '--'}}
+              </view>
+              <view class="exp">
+                创建站点:{{item.enterprisename || '--'}}
+              </view>
+            </view>
+            <view class="row">
+              <view class="exp">
+                所属门店:{{item.storename || '--'}}
+              </view>
+              <view class="exp">
+                性别:{{item.sex || '--'}}
+              </view>
+            </view>
+            <view class="row">
+              <view class="exp">
+                手机:{{item.phonenumber || '--'}}
+              </view>
+              <view class="exp">
+                客户来源:{{item.source || '--'}}
+              </view>
+            </view>
+            <view class="row">
+              <view class="exp">
+                外部订单号:{{item.ext_no || '--'}}
+              </view>
+              <view class="exp">
+                是否电商:<text class="{{item.isonline_join == 1 ? 'text-red' : ''}}">{{item.isonline_join == 1 ? '是' : '否'}}</text>
+              </view>
+            </view>
+            <view class="row">
+              <view class="exp full-width">
+                业务员:{{item.saler || '--'}}
+              </view>
+            </view>
+            <view class="row">
+              <view class="exp full-width">
+                省市县:{{(item.province || '--') + '-' + (item.city || '--') + '-' + (item.county || '--')}}
+              </view>
+            </view>
+            <view class="row">
+              <view class="exp full-width">
+                地址:{{item.address || '--'}}
+              </view>
+            </view>
+            <view class="row">
+              <view class="exp full-width">
+                小区及门牌号:{{item.community || '--'}}
+              </view>
+            </view>
+            <view class="row">
+              <view class="exp full-width">
+                创建时间:{{item.createdate || '--'}}
+              </view>
+            </view>
+            <view class="row">
+              <view class="exp full-width">
+                备注:{{item.remarks || '--'}}
+              </view>
+            </view>
           </view>
-        </view>
-        <view class="row">
-          <view class="exp full-width">
-            业务员:{{item.saler || '--'}}
-          </view>
-        </view>
-        <view class="row">
-          <view class="exp full-width">
-            省市县:{{(item.province || '--') + '-' + (item.city || '--') + '-' + (item.county || '--')}}
-          </view>
-        </view>
-        <view class="row">
-          <view class="exp full-width">
-            地址:{{item.address || '--'}}
-          </view>
-        </view>
-        <view class="row">
-          <view class="exp full-width">
-            小区及门牌号:{{item.community || '--'}}
-          </view>
-        </view>
-        <view class="row">
-          <view class="exp full-width">
-            创建时间:{{item.createdate || '--'}}
+        </navigator>
+      </view>
+      <view wx:else class="item">
+        <view class="top">
+          <view class="name">{{item.name || '--'}}</view>
+          <view class="statu" style="background-color: {{set.color(item.status)}}; color: #fff;">
+            {{item.status || '--'}}
           </view>
         </view>
-        <view class="row">
-          <view class="exp full-width">
-            备注:{{item.remarks || '--'}}
+        <view class="content">
+          <view class="row">
+            <view class="exp">
+              所属门店:{{item.storename || '--'}}
+            </view>
+            <view class="exp">
+              手机:{{item.phonenumber || '--'}}
+            </view>
           </view>
         </view>
       </view>
-    </navigator>
+    </view>
     <Yl_Empty wx:if="{{list.length==0}}" />
     <view style="height:150rpx;" />
   </Yl_ListBox>

+ 48 - 8
CRM/customer/modules/orderCreate/create.js

@@ -11,13 +11,15 @@ Page({
         label: "客户",
         error: false,
         errMsg: "",
-        type: "text",
+        type: "route",
+        url: "/CRM/customer/index?selectMode=true",
+        params: {},
         value: "",
         placeholder: "客户名称",
         valueName: "name",
         required: false,
         checking: "base",
-        disabled: true
+        interrupt: true
       },
       {
         label: "门店",
@@ -84,15 +86,16 @@ Page({
     }
   },
   onLoad(options) {
+    getApp().globalData.setCustomer = this.setCustomer.bind(this);
     // 如果传递了客户信息,填充到表单
     try {
       const customerInfo = getCurrentPages().find(v => v.__route__ == 'CRM/customer/detail').data.detail;
       let form = this.data.form;
-      console.log("customerInfo", customerInfo)
       // 填充客户信息到表单
       form.forEach(item => {
         if (item.valueName === 'name' && customerInfo.name) {
-          item.value = customerInfo.name;
+          item.value = [customerInfo.name, [customerInfo.sa_customersid]];
+          item.disabled = true;
         }
         if (item.valueName === 'storename' && customerInfo.storename) {
           item.value = customerInfo.storename;
@@ -106,6 +109,8 @@ Page({
       });
     } catch (error) {
       console.error("解析客户信息失败", error);
+      // 从订单列表页面跳转过来,需要选择客户
+      this.selectCustomer();
     }
 
     // 设置默认开单日期为当天
@@ -123,6 +128,42 @@ Page({
       form
     });
   },
+  // 选择客户
+  selectCustomer() {
+    // 设置全局回调函数
+    wx.navigateTo({
+      url: "/CRM/customer/index?selectMode=true"
+    });
+  },
+  // 设置客户信息
+  setCustomer(customerInfo) {
+    this.setData({
+      "content.sa_storeid": customerInfo.sa_storeid,
+      "content.storeno": customerInfo.storeno,
+      "content.sa_customersid": customerInfo.sa_customersid,
+      "content.name": customerInfo.name || '',
+      "content.storename": customerInfo.storename || ''
+    });
+
+    // 更新表单数据
+    let form = this.data.form;
+    form.forEach(item => {
+      if (item.valueName === 'name') {
+        item.value = [customerInfo.name, [customerInfo.sa_customersid]];
+      }
+      if (item.valueName === 'storename') {
+        item.value = customerInfo.storename || '';
+      }
+    });
+
+    this.setData({
+      form
+    });
+  },
+  // 切换客户
+  switchCustomer() {
+    this.selectCustomer();
+  },
   submit() {
     // 检查是否有商品
     if (this.data.productList.length === 0) {
@@ -138,7 +179,7 @@ Page({
       loading: true
     });
     let formData = this.selectComponent("#Form").submit();
-
+    delete formData.name
     if (!formData) {
       this.setData({
         loading: false
@@ -299,7 +340,6 @@ Page({
         });
       }
     });
-    getCurrentPages().find(v => v.__route__ == 'CRM/customer/detail').partialRenewal(true);
   },
   interrupt({
     detail
@@ -516,7 +556,7 @@ Page({
   handleFileUpload({
     detail
   }) {
-    console.log("detail",detail)
+    console.log("detail", detail)
     Promise.all(detail.map(attachmentid => {
       return _Http.basic({
         "id": 2024061710590401,
@@ -528,7 +568,7 @@ Page({
       })
     })).then(res => {
       console.log('获取文件详情', res);
-      this.selectComponent("#Yl_files").handleFiles(res.map(v=>v.data[0]))
+      this.selectComponent("#Yl_files").handleFiles(res.map(v => v.data[0]))
     })
   },
 });

+ 16 - 40
CRM/customer/modules/orderCreate/create.scss

@@ -176,7 +176,6 @@ page {
   justify-content: space-between;
   background-color: #F4F5F7;
   padding: 20rpx;
-  margin-bottom: 10rpx;
 
   .upload-title {
     font-size: 32rpx;
@@ -184,46 +183,23 @@ page {
     color: #333;
   }
 
-  .upload-buttons {
+  .expand {
+    flex: 1;
     display: flex;
-    gap: 20rpx;
-  }
-
-  .upload-button {
-    display: flex;
-    align-items: center;
-    background-color: #fff;
-    border: 1rpx dashed #e8e8e8;
-    border-radius: 8rpx;
-    transition: all 0.3s ease;
-    font-size: 24rpx;
-    padding: 8rpx 14rpx;
-
-    .iconfont {
-      color: #999;
-      margin-bottom: 8rpx;
-    }
-
-    .upload-text {
-      color: #999;
-      margin-left: 12rpx;
-    }
-
-    &:hover {
-      border-color: #3874F6;
-      box-shadow: 0 2rpx 8rpx rgba(56, 116, 246, 0.1);
-
-      .iconfont,
-      .upload-text {
-        color: #3874F6;
-      }
+    justify-content: flex-end;
+
+    .but {
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      width: 80rpx;
+      height: 80rpx;
+      background: #FFFFFF;
+      border-radius: 8rpx;
+      border: 2rpx solid #CCCCCC;
+      margin-left: 20rpx;
+      color: #666666;
     }
   }
-}
 
-/* 附件列表样式 */
-#Yl_files {
-  background-color: #F4F5F7;
-  padding: 0 20rpx 20rpx;
-  min-height: 200rpx;
-}
+}

+ 9 - 12
CRM/customer/modules/orderCreate/create.wxml

@@ -59,18 +59,16 @@
   <van-tab title="附件">
     <view class="upload-container">
       <view class="upload-title">订单附件</view>
-      <view class="upload-buttons">
-        <Yl_Upload accept='media' bind:uploadCallback="handleFileUpload" bind:changeState='changeState'>
-          <view class="upload-button">
-            <text class="iconfont icon-a-tonggaofujian" /> 
-            <view class="upload-text">图片/视频</view>
-          </view>
+      <view class="expand">
+        <Yl_Upload  bind:uploadCallback="handleFileUpload" bind:changeState='changeState'>
+          <navigator url="#" class="but">
+            <text class="iconfont icon-webqiyeshuiyintupian" />
+          </navigator>
         </Yl_Upload>
         <Yl_Upload accept='file' bind:uploadCallback="handleFileUpload" bind:changeState='changeState'>
-          <view class="upload-button">
-            <text class="iconfont icon-a-biaoqianlanzhiku" /> 
-            <view class="upload-text">选取文件</view>
-          </view>
+          <navigator url="#" class="but">
+            <text class="iconfont icon-a-biaoqianlanzhiku" />
+          </navigator>
         </Yl_Upload>
       </view>
     </view>
@@ -81,5 +79,4 @@
 <view style="height: 150rpx;" />
 <view class="new-footer">
   <van-button custom-class='new-submit' color='#3874F6' disabled='{{disabled || loading}}' loading='{{loading}}' bind:tap='submit'>确定</van-button>
-</view>
-
+</view>

+ 32 - 26
CRM/order/detail.js

@@ -17,48 +17,54 @@ Page({
         icon: "icon-tabchanpin",
         label: '付款记录',
         model: '#PaymentRecord'
-      }
-    ],
+      }, {
+        label: "附件",
+        icon: "icon-tabfujian1",
+        model: "#Yl_Attachment"
+      }],
     tabsActive: 0,
     currentComponent: "OrderDetails"
   },
   onLoad(options) {
     if (options.id) {
-      this.getOrderDetail(options.id);
+      this.setData({
+        sa_custorderid: options.id
+      })
+      this.getDetail();
     }
   },
   onReachBottom() {
-    this.partialRenewal(this.data.currentComponent, false);
-  },
-  onPullDownRefresh() {
-    this.getOrderDetail(this.data.detail.sa_custorderid);
-    wx.stopPullDownRefresh();
+    this.partialRenewal();
   },
+  /* tab切换 */
   tabsChange(e) {
-    const active = e.detail;
-    const currentComponent = this.data.tabsList[active] === "订单商品" ? "OrderDetails" : "PaymentRecord";
     this.setData({
-      tabsActive: active,
-      currentComponent
+      tabsActive: e.detail
     });
-    this.partialRenewal(currentComponent, true);
+    this.partialRenewal();
   },
-  partialRenewal(component, init) {
-    const ref = this.selectComponent(`#${component}`);
-    if (ref) {
-      ref.getList(this.data.detail.sa_custorderid, init);
+  partialRenewal(init = false) {
+    let model = this.data.tabsList[this.data.tabsActive].model;
+    if (model) {
+      let Component = this.selectComponent(model),
+        {
+          total,
+          pageNumber,
+          pageTotal
+        } = Component.data.content,
+        id = this.data.sa_custorderid;
+      if (total == null || init) {
+        Component.getList(id, init);
+      } else if (pageNumber <= pageTotal) {
+        Component.getList(id, false);
+      }
     }
   },
-  getOrderDetail(id) {
+  getDetail(id) {
     _Http.basic({
-      "id": "2026031414243401",
+      "id": "2026031414384501",
       content: {
-        nocache: true,
-        pageNumber: 1,
-        pageSize: 1,
-        sa_custorderid: id,
-        where: {
-        }
+        sa_custorderid: this.data.sa_custorderid,
       }
     }).then(res => {
       console.log("订单详情", res)
@@ -79,7 +85,7 @@ Page({
           detail: formattedData
         });
         // 加载商品明细
-        this.partialRenewal("OrderDetails", true);
+        this.partialRenewal();
       }
     })
   }

+ 2 - 1
CRM/order/detail.json

@@ -1,7 +1,8 @@
 {
   "usingComponents": {
     "OrderDetails": "./modules/orderDetails/index",
-    "PaymentRecord": "./modules/paymentRecord/index"
+    "PaymentRecord": "./modules/paymentRecord/index",
+    "Yl_Attachment": "/components/Yl_Attachment/index"
   },
   "navigationBarTitleText": "订单详情"
 }

+ 1 - 0
CRM/order/detail.wxml

@@ -44,6 +44,7 @@
 <Yl_FunTabs list='{{tabsList}}' active='{{tabsActive}}' bind:onChenge="tabsChange">
   <OrderDetails slot='订单商品' id='OrderDetails' order-id="{{detail.sa_custorderid}}" />
   <PaymentRecord slot='付款记录' id='PaymentRecord' order-id="{{detail.sa_custorderid}}" />
+  <Yl_Attachment slot='附件' id='Yl_Attachment' ownertable="sa_custorder" ownerid="{{sa_custorderid}}" />
 </Yl_FunTabs>
 
 <view style="height: 130rpx;" />

+ 6 - 0
CRM/order/index.js

@@ -82,5 +82,11 @@ Page({
         "content.total": res.total
       })
     })
+  },
+  // 跳转到开单页面
+  createOrder() {
+    wx.navigateTo({
+      url: "/CRM/customer/modules/orderCreate/create"
+    });
   }
 });

+ 24 - 0
CRM/order/index.scss

@@ -68,4 +68,28 @@
     padding: 20rpx 0;
     font-size: 24rpx;
   }
+}
+
+/* 开单按钮样式 */
+.create-order-button {
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  padding: 20rpx 30rpx;
+  background-color: #fff;
+  box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.1);
+  display: flex;
+  justify-content: center;
+  z-index: 999;
+}
+
+.create-btn {
+  width: 355px;
+  height: 80rpx;
+  line-height: 80rpx;
+  border-radius: 8rpx !important;
+  font-size: 32rpx;
+  background-color: #3874F6;
+  color: #fff;
 }

+ 4 - 0
CRM/order/index.wxml

@@ -62,6 +62,10 @@
     <Yl_Empty wx:if="{{list.length==0}}" />
     <view style="height:150rpx;" />
   </Yl_ListBox>
+  <!-- 开单按钮 -->
+  <view class="create-order-button">
+    <van-button custom-class="create-btn" color="#3874F6" bind:tap="createOrder">开单</van-button>
+  </view>
 </view>
 <wxs module="set">
   module.exports = {

+ 4 - 5
components/Yl_Attachment/index.js

@@ -54,9 +54,11 @@ Component({
 		addFiles({
 			detail
 		}) {
+			console.log("detail", detail)
 			_Http.basic({
 				"classname": "system.attachment.Attachment",
-				"method": "createFileLink",id: 10020501,
+				"method": "createFileLink",
+				id: 10020501,
 				"content": {
 					"ownertable": this.data.ownertable,
 					"ownerid": this.data.ownerid,
@@ -69,10 +71,7 @@ Component({
 					title: res.msg,
 					icon: "none"
 				});
-				this.selectComponent("#Yl_Files").handleFiles(res.data);
-				this.setData({
-					"content.total": this.data.content.total + res.total
-				})
+				this.getList(true, true)
 			})
 		},
 		deleteFiles() {

+ 3 - 7
components/Yl_Attachment/index.wxml

@@ -8,16 +8,12 @@
 				<text class="iconfont icon-webqiyeshuiyintupian" />
 			</navigator>
 		</Yl_Upload>
-<!-- 		<Yl_Upload accept='file' bind:uploadCallback='addFiles'>
+		<Yl_Upload accept='file' bind:uploadCallback='addFiles'>
 			<navigator url="#" class="but">
 				<text class="iconfont icon-a-biaoqianlanzhiku" />
 			</navigator>
-		</Yl_Upload> -->
+		</Yl_Upload>
 	</view>
 </view>
 
-<Yl_Files id="Yl_Files" delete='{{!disabled}}' binddeleteCallBack='deleteFiles' />
-<block wx:if="{{content.total==0}}">
-	<Yl_Empty />
-	<view style="height: 100rpx;" />
-</block>
+<Yl_Files id="Yl_Files" delete='{{!disabled}}' binddeleteCallBack='deleteFiles' />

+ 27 - 11
components/Yl_Files/index.js

@@ -71,18 +71,30 @@ Component({
         /* 删除文件 */
         handleDeleteFile(e) {
             let item = e.currentTarget.dataset.item || e.currentTarget.dataset.item;
+
             // 判断是否有 linksid
             if (item.linksid) {
-                // 使用原接口删除文件链接
-                _Http.basic({
-                    "classname": "system.attachment.Attachment",
-                    "method": "deleteFileLink",
-                    "id": 10020601,
-                    "content": {
-                        "linksids": [item.linksid]
+                // 二次确认弹窗
+                wx.showModal({
+                    title: '提示',
+                    content: '确定要删除这个文件吗?',
+                    confirmText: '确定',
+                    cancelText: '取消',
+                    success: (res) => {
+                        if (res.confirm) {
+                            // 使用原接口删除文件链接
+                            _Http.basic({
+                                "classname": "system.attachment.Attachment",
+                                "method": "deleteFileLink",
+                                "id": 10020601,
+                                "content": {
+                                    "linksids": [item.linksid]
+                                }
+                            }).then(res => {
+                                this.handleDeleteResponse(res, item);
+                            });
+                        }
                     }
-                }).then(res => {
-                    this.handleDeleteResponse(res, item);
                 });
             } else if (item.attachmentid) {
                 // 使用新接口删除文件
@@ -167,9 +179,13 @@ Component({
                 }
             });
             this.setData({
-                files,
-                attachmentids: this.getFiles().attachmentids
+                files
             })
+            setTimeout(() => {
+                this.setData({
+                    attachmentids: this.getFiles().attachmentids
+                })
+            });
         },
         /* 返回数据ID数组 用来换绑数据 */
         getFiles() {

+ 1 - 1
packageA/remitVoucher/detail.js

@@ -26,7 +26,7 @@ Page({
 			model: "#remitVoucher"
 		}, {
 			label: "附件",
-			icon: "icon-tabfujian1",
+			icon: "icon-tabfujian1",3223
 			model: "#Yl_Attachment"
 		}]
 	},

+ 2 - 2
pages/index/index.js

@@ -230,12 +230,12 @@ Page({
 					name: "仓库管理",
 					key: "wcrmwarehouse",
 					path: "/CRM/warehouse/index",
-					icon: "work-cangku"
+					icon: "work-webyingxiaowuliao"
 				}, {
 					name: "线索",
 					key: "wcrmlead",
 					path: "/CRM/lead/index",
-					icon: "work-xiansuo"
+					icon: "work-xiaoshouxiansuo"
 				}];
 				let crm = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ["CRM"], ["crm"]),
 					list = [];