zhaoxiaohai 2 年之前
父节点
当前提交
e4e5ae09e8
共有 46 个文件被更改,包括 580 次插入523 次删除
  1. 1 1
      Eservice/addTrainers/components/index.js
  2. 1 1
      Eservice/agent/addServiceBill/index.js
  3. 1 1
      Eservice/agent/billCanUseProduct/index.js
  4. 1 1
      Eservice/agent/editServiceBill/index.js
  5. 1 1
      Eservice/agent/orderList/index.js
  6. 1 1
      Eservice/agent/serviceBillDetail/index.js
  7. 1 1
      Eservice/agent/serviceBillList/index.js
  8. 18 0
      Eservice/api/api.js
  9. 56 0
      Eservice/api/http.js
  10. 1 1
      Eservice/components/form/form.js
  11. 1 1
      Eservice/installConfirmBill/index.js
  12. 1 1
      Eservice/login/login.js
  13. 0 7
      Eservice/login/login.json
  14. 0 1
      Eservice/login/login.scss
  15. 0 11
      Eservice/login/login.wxml
  16. 0 12
      Eservice/login/login.wxss
  17. 0 18
      Eservice/logs/logs.js
  18. 0 4
      Eservice/logs/logs.json
  19. 0 6
      Eservice/logs/logs.wxml
  20. 0 8
      Eservice/logs/logs.wxss
  21. 1 1
      Eservice/nodeDetail/index.js
  22. 1 1
      Eservice/saler/addServiceBill/index.js
  23. 1 1
      Eservice/saler/agentList/index.js
  24. 1 1
      Eservice/saler/billCanUseProduct/index.js
  25. 1 1
      Eservice/saler/editServiceBill/index.js
  26. 1 1
      Eservice/saler/orderList/index.js
  27. 1 1
      Eservice/saler/serviceBillDetail/index.js
  28. 1 1
      Eservice/saler/serviceBillList/index.js
  29. 1 1
      Eservice/serviceConfirmBill/index.js
  30. 1 1
      Eservice/serviceMaterial/index.js
  31. 1 1
      Eservice/signName/index.js
  32. 1 1
      Eservice/trainConfirmBill/index.js
  33. 1 1
      Eservice/workBillConfirmInfo/index.js
  34. 3 1
      Eservice/workOrder/index.js
  35. 1 1
      Eservice/workOrderDetail/index.js
  36. 1 1
      Eservice/workerLeader/addServiceBill/index.js
  37. 1 1
      Eservice/workerLeader/agentList/index.js
  38. 1 1
      Eservice/workerLeader/billCanUseProduct/index.js
  39. 1 1
      Eservice/workerLeader/editServiceBill/index.js
  40. 1 1
      Eservice/workerLeader/editworkOrderDetail/index.js
  41. 1 1
      Eservice/workerLeader/orderList/index.js
  42. 1 1
      Eservice/workerLeader/serviceBillDetail/index.js
  43. 1 1
      Eservice/workerLeader/serviceBillList/index.js
  44. 0 1
      app.json
  45. 422 422
      pages/tabbar/home/index.js
  46. 49 0
      utils/util.js

+ 1 - 1
Eservice/addTrainers/components/index.js

@@ -1,5 +1,5 @@
 // pages/addTrainers/components/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 Component({
   /**
    * 组件的属性列表

+ 1 - 1
Eservice/agent/addServiceBill/index.js

@@ -1,5 +1,5 @@
 // pages/agent/addServiceBill/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 import data from './formData'
 Page({
 

+ 1 - 1
Eservice/agent/billCanUseProduct/index.js

@@ -1,5 +1,5 @@
 // pages/agent/billCanUseProduct/index.vue.js
-import api from '../../../api/api'
+import api from '../../api/api'
 Page({
 
   /**

+ 1 - 1
Eservice/agent/editServiceBill/index.js

@@ -1,5 +1,5 @@
 // pages/agent/addServiceBill/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 import data from './formData'
 Page({
 

+ 1 - 1
Eservice/agent/orderList/index.js

@@ -1,5 +1,5 @@
 // pages/agent/orderList/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 Page({
 
   /**

+ 1 - 1
Eservice/agent/serviceBillDetail/index.js

@@ -1,5 +1,5 @@
 // pages/agent/serviceBillDetail/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 import Dialog from 'weui-miniprogram/dialog/index';
 Page({
 

+ 1 - 1
Eservice/agent/serviceBillList/index.js

@@ -1,5 +1,5 @@
 // pages/agent/serviceBillList/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 Page({
 
   /**

+ 18 - 0
Eservice/api/api.js

@@ -0,0 +1,18 @@
+//api.js 我们将所有的接口统一管理
+const request = require("./http") //引入封装好的js文件
+module.exports = {
+  // 登录
+  arealist(data,url) {
+    return request.post('',{
+      classname: "system.tools",
+      content: {},
+      method: "query_arealist",
+      systemappid: 126
+    })
+  },
+
+  // 通用上传
+  _post (data,url) {
+    return request.post(url,data)
+  },
+}

+ 56 - 0
Eservice/api/http.js

@@ -0,0 +1,56 @@
+var app = getApp(); //引入全局app.js,我们可以在globalData中定义一些公用的数据,比如baseUrl、token
+
+const request = function(url,options){
+  let baseUrl = `http://61.164.207.46:8000/yos/rest/index${url?url:''}`
+  
+  console.log(baseUrl)
+  options.data.accesstoken = wx.getStorageSync('token')
+  return new Promise((resolve,reject)=>{
+    wx.request({
+        url:baseUrl,
+        method:options.method,
+        data:options.method == "GET"?options.data:JSON.stringify(options.data),
+        // header这里根据业务情况自行选择需要还是不需要
+        header:{
+          "Content-Type":'application/json;charset=UTF-8'
+        },
+        success: (res) => {
+          if (res.data.code == -1) {
+            wx.showToast({
+              title: res.data.msg,
+              icon:'none'
+            })
+            resolve(res.data)
+          } else if(res.data.code == 0){
+            wx.showToast({
+              title: res.data.msg,
+              duration:3000,
+              icon:'none'
+            })
+            resolve(res.data)
+          } else {
+            resolve(res.data)
+          }
+        },
+        fail: (err) => {
+          reject(err)
+        }
+    })
+  })
+}
+
+module.exports = {
+    get(url,data){
+    return request(url,{
+      method:"GET",
+      data
+    })
+  },
+  //封装post方法
+  post(url,data){
+    return request(url,{
+      method:"POST",
+      data
+    })
+  }
+}

+ 1 - 1
Eservice/components/form/form.js

@@ -1,6 +1,6 @@
 // components/form/form.js
 import api from '../../api/api'
-import util from '../../utils/util'
+import util from '../../../utils/util'
 
 const app = getApp()
 Component({

+ 1 - 1
Eservice/installConfirmBill/index.js

@@ -1,4 +1,4 @@
-const api = require("../../api/api")
+const api = require("../api/api")
 
 Page({
 

+ 1 - 1
Eservice/login/login.js

@@ -1,5 +1,5 @@
 // pages/login/login.js
-import api from '../../api/api'
+import api from '../api/api'
 const md5 = require('../../utils/md5');
 const app = getApp()
 Page({

+ 0 - 7
Eservice/login/login.json

@@ -1,7 +0,0 @@
-{
-  "usingComponents": {
-    "t-input": "weui-miniprogram/input/input",
-    "t-cell": "weui-miniprogram/cell/cell",
-    "t-button": "weui-miniprogram/button/button"
-  }
-}

+ 0 - 1
Eservice/login/login.scss

@@ -1 +0,0 @@
-/* Eservice/login/login.wxss */

+ 0 - 11
Eservice/login/login.wxml

@@ -1,11 +0,0 @@
-<!--index.wxml-->
-<view class="container">
-  <view class="image-panel">
-    <image src="/assets/logo.png" mode="widthFix"/>
-  </view>
-  <t-input label="账号" type="text" value="{{form.username}}" data-name="username" bind:blur="inputChange" placeholder="请输入账号" clearable />
-  <t-input label="密码" type="password" value="{{form.password}}" data-name="password" bind:blur="inputChange" placeholder="请输入密码" clearable />
-  <view class="login-panel">
-    <t-button class="login-btn" theme="primary" size="medium" bind:tap="login" block>登 录</t-button>
-  </view>
-</view>

+ 0 - 12
Eservice/login/login.wxss

@@ -1,12 +0,0 @@
-.image-panel{
-  display: flex;
-  justify-content: space-around;
-}
-.full-width{
-  width: 100%;
-}
-.login-panel{
-  padding: 30px;
-}
-.login-btn{
-}

+ 0 - 18
Eservice/logs/logs.js

@@ -1,18 +0,0 @@
-// logs.js
-const util = require('../../utils/util.js')
-
-Page({
-  data: {
-    logs: []
-  },
-  onLoad() {
-    this.setData({
-      logs: (wx.getStorageSync('logs') || []).map(log => {
-        return {
-          date: util.formatTime(new Date(log)),
-          timeStamp: log
-        }
-      })
-    })
-  }
-})

+ 0 - 4
Eservice/logs/logs.json

@@ -1,4 +0,0 @@
-{
-  "navigationBarTitleText": "查看启动日志",
-  "usingComponents": {}
-}

+ 0 - 6
Eservice/logs/logs.wxml

@@ -1,6 +0,0 @@
-<!--logs.wxml-->
-<view class="container log-list">
-  <block wx:for="{{logs}}" wx:key="timeStamp" wx:for-item="log">
-    <text class="log-item">{{index + 1}}. {{log.date}}</text>
-  </block>
-</view>

+ 0 - 8
Eservice/logs/logs.wxss

@@ -1,8 +0,0 @@
-.log-list {
-  display: flex;
-  flex-direction: column;
-  padding: 40rpx;
-}
-.log-item {
-  margin: 10rpx;
-}

+ 1 - 1
Eservice/nodeDetail/index.js

@@ -1,5 +1,5 @@
 // pages/nodeDetail/index.js
-import api from '../../api/api'
+import api from '../api/api'
 Page({
 
   /**

+ 1 - 1
Eservice/saler/addServiceBill/index.js

@@ -1,5 +1,5 @@
 // pages/agent/addServiceBill/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 import data from './formData'
 Page({
 

+ 1 - 1
Eservice/saler/agentList/index.js

@@ -1,5 +1,5 @@
 // pages/agent/orderList/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 Page({
 
   /**

+ 1 - 1
Eservice/saler/billCanUseProduct/index.js

@@ -1,5 +1,5 @@
 // pages/agent/billCanUseProduct/index.vue.js
-import api from '../../../api/api'
+import api from '../../api/api'
 Page({
 
   /**

+ 1 - 1
Eservice/saler/editServiceBill/index.js

@@ -1,5 +1,5 @@
 // pages/agent/addServiceBill/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 import data from './formData'
 Page({
 

+ 1 - 1
Eservice/saler/orderList/index.js

@@ -1,5 +1,5 @@
 // pages/agent/orderList/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 Page({
 
   /**

+ 1 - 1
Eservice/saler/serviceBillDetail/index.js

@@ -1,5 +1,5 @@
 // pages/agent/serviceBillDetail/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 import Dialog from 'weui-miniprogram/dialog/index';
 Page({
 

+ 1 - 1
Eservice/saler/serviceBillList/index.js

@@ -1,5 +1,5 @@
 // pages/agent/serviceBillList/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 Page({
 
   /**

+ 1 - 1
Eservice/serviceConfirmBill/index.js

@@ -1,4 +1,4 @@
-const api = require("../../api/api")
+const api = require("../api/api")
 
 Page({
 

+ 1 - 1
Eservice/serviceMaterial/index.js

@@ -1,5 +1,5 @@
 // pages/agent/billCanUseProduct/index.vue.js
-import api from '../../api/api'
+import api from '../api/api'
 Page({
 
   /**

+ 1 - 1
Eservice/signName/index.js

@@ -1,5 +1,5 @@
 // pages/sign-name/sign-name.js
-import api from '../../api/api'
+import api from '../api/api'
 Page({
 
   /**

+ 1 - 1
Eservice/trainConfirmBill/index.js

@@ -1,4 +1,4 @@
-const api = require("../../api/api")
+const api = require("../api/api")
 
 Page({
 

+ 1 - 1
Eservice/workBillConfirmInfo/index.js

@@ -1,6 +1,6 @@
 // pages/workBillConfirmInfo/index.js
 import data from './formData'
-import api from '../../api/api'
+import api from '../api/api'
 Page({
 
   /**

+ 3 - 1
Eservice/workOrder/index.js

@@ -7,8 +7,10 @@ const swiperList = [
   `${imageCdn}/swiper4.png`,
   `${imageCdn}/swiper5.png`,
 ];
+
 const app = getApp()
-import api from '../../api/api'
+import api from '../api/api'
+
 Page({
 
   /**

+ 1 - 1
Eservice/workOrderDetail/index.js

@@ -1,4 +1,4 @@
-const api = require("../../api/api")
+const api = require("../api/api")
 import Dialog from 'weui-miniprogram/dialog/index';
 
 // pages/workOrderDetail/index.js

+ 1 - 1
Eservice/workerLeader/addServiceBill/index.js

@@ -1,5 +1,5 @@
 // pages/agent/addServiceBill/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 import data from './formData'
 Page({
 

+ 1 - 1
Eservice/workerLeader/agentList/index.js

@@ -1,5 +1,5 @@
 // pages/agent/orderList/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 Page({
 
   /**

+ 1 - 1
Eservice/workerLeader/billCanUseProduct/index.js

@@ -1,5 +1,5 @@
 // pages/agent/billCanUseProduct/index.vue.js
-import api from '../../../api/api'
+import api from '../../api/api'
 Page({
 
   /**

+ 1 - 1
Eservice/workerLeader/editServiceBill/index.js

@@ -1,5 +1,5 @@
 // pages/agent/addServiceBill/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 import data from './formData'
 Page({
 

+ 1 - 1
Eservice/workerLeader/editworkOrderDetail/index.js

@@ -1,4 +1,4 @@
-const api = require("../../../api/api");
+const api = require("../../api/api");
 import Dialog from 'weui-miniprogram/dialog/index';
 
 // pages/workOrderDetail/index.js

+ 1 - 1
Eservice/workerLeader/orderList/index.js

@@ -1,5 +1,5 @@
 // pages/agent/orderList/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 Page({
 
   /**

+ 1 - 1
Eservice/workerLeader/serviceBillDetail/index.js

@@ -1,5 +1,5 @@
 // pages/agent/serviceBillDetail/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 import Dialog from 'weui-miniprogram/dialog/index';
 Page({
 

+ 1 - 1
Eservice/workerLeader/serviceBillList/index.js

@@ -1,5 +1,5 @@
 // pages/agent/serviceBillList/index.js
-import api from '../../../api/api'
+import api from '../../api/api'
 const app = getApp()
 
 Page({

+ 0 - 1
app.json

@@ -64,7 +64,6 @@
     {
       "root": "Eservice",
       "pages": [
-        "login/login",
         "workOrder/index",
         "workOrderDetail/index",
         "workerLeader/serviceBillList/index",

+ 422 - 422
pages/tabbar/home/index.js

@@ -1,428 +1,428 @@
 let _Http = getApp().globalData.http,
-    DataCarousel = null;
+  DataCarousel = null;
 Page({
-    data: {
-        appid: "wxc1b6ae925ac1d06a",
-        bannerList: [], //banner列表
-        gridList: [],
-        notice: "",
-        msgCount: 1,
-        msgList: [], //消息列表
-    },
-    onLoad(options) {
-        this.setData({ //获取胶囊位置信息
-            capsule: wx.getMenuButtonBoundingClientRect()
-        })
-        this.refreshData() //更新权限等信息
-    },
-    /* 更新站点信息 */
-    refreshData() {
-        this.setData({
-            user: wx.getStorageSync('userMsg')
-        })
-        if (wx.getStorageSync('userauth').length != 0) {
-            let authList = {},
-                entrance = [{
-                    label: "通用",
-                    icon: "work-tongyong",
-                    appid: "wx08b337e860e3ea58",
-                    list: dye([{
-                        name: "签到",
-                        path: "/packageA/clockIn/index",
-                        icon: "work-a-wodemendianxinxidizhi"
-                    }, {
-                        name: "任务",
-                        path: "/packageA/work/index",
-                        icon: "work-a-woderenwuzhongxin"
-                    }, {
-                        name: "通讯录",
-                        path: "/packageA/contacts/index",
-                        icon: "work-xiaochengxutongxunlu"
-                    }])
-                }, {
-                    label: "E-订单",
-                    appid: "wxc1b6ae925ac1d06a",
-                    icon: "work-E-dingdan",
-                    list: getedd()
-                }, {
-                    label: "E-服务",
-                    appid: "wxc1b6ae925ac1d06a",
-                    icon: "work-E-fuwu",
-                    list: geteservice()
-                }, {
-                    label: "营销工具",
-                    icon: "work-yingxiaogongju",
-                    appid: "wx08b337e860e3ea58",
-                    list: gettool()
-                }, {
-                    label: "CRM",
-                    appid: "wx08b337e860e3ea58",
-                    icon: "work-CRM",
-                    list: getcrm()
-                }];
-            //营销工具
-            function gettool() {
-                const paths = [{
-                    name: "通告",
-                    path: "/pages/annunciate/index",
-                    icon: "work-a-shouyejingangqutonggao"
-                }, {
-                    name: "营销物料",
-                    path: "/pages/tabbar/smartStore/index",
-                    icon: "work-a-shouyejingangquyingxiaowuliao",
-                    openType: "switchTab"
-                }, {
-                    name: "推广素材",
-                    path: "/pages/promotional/index",
-                    icon: "work-a-shouyejingangqutuiguangsucai"
-                }, {
-                    name: "商学院",
-                    path: "/pages/college/index",
-                    icon: "work-a-shangxueyuanxuexi"
-                }, {
-                    name: "提报",
-                    path: "/pages/submission/index",
-                    icon: "work-a-tibaoguanlitibao"
-                }];
-                let tool = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ['营销工具'], paths.map(v => v.name)),
-                    list = [];
-                tool.forEach(v => {
-                    let auth = v.apps[0].meta.auth;
-                    if (!auth.some(r => r.option == 'read')) return;
-                    authList[v.apps[0].name] = {
-                        options: auth.map(a => a.option),
-                        optionnames: auth.map(a => a.optionname)
-                    };
-                    let item = paths.find(s => s.name == v.systemmodulename);
-                    item && list.push(item)
-                });
+  data: {
+    appid: "wxc1b6ae925ac1d06a",
+    bannerList: [], //banner列表
+    gridList: [],
+    notice: "",
+    msgCount: 1,
+    msgList: [], //消息列表
+  },
+  onLoad(options) {
+    this.setData({ //获取胶囊位置信息
+      capsule: wx.getMenuButtonBoundingClientRect()
+    })
+    this.refreshData() //更新权限等信息
+  },
+  /* 更新站点信息 */
+  refreshData() {
+    this.setData({
+      user: wx.getStorageSync('userMsg')
+    })
+    if (wx.getStorageSync('userauth').length != 0) {
+      let authList = {},
+        entrance = [{
+          label: "通用",
+          icon: "work-tongyong",
+          appid: "wx08b337e860e3ea58",
+          list: dye([{
+            name: "签到",
+            path: "/packageA/clockIn/index",
+            icon: "work-a-wodemendianxinxidizhi"
+          }, {
+            name: "任务",
+            path: "/packageA/work/index",
+            icon: "work-a-woderenwuzhongxin"
+          }, {
+            name: "通讯录",
+            path: "/packageA/contacts/index",
+            icon: "work-xiaochengxutongxunlu"
+          }])
+        }, {
+          label: "E-订单",
+          appid: "wxc1b6ae925ac1d06a",
+          icon: "work-E-dingdan",
+          list: getedd()
+        }, {
+          label: "E-服务",
+          appid: "wxc1b6ae925ac1d06a",
+          icon: "work-E-fuwu",
+          list: geteservice()
+        }, {
+          label: "营销工具",
+          icon: "work-yingxiaogongju",
+          appid: "wx08b337e860e3ea58",
+          list: gettool()
+        }, {
+          label: "CRM",
+          appid: "wx08b337e860e3ea58",
+          icon: "work-CRM",
+          list: getcrm()
+        }];
+      //营销工具
+      function gettool() {
+        const paths = [{
+          name: "通告",
+          path: "/pages/annunciate/index",
+          icon: "work-a-shouyejingangqutonggao"
+        }, {
+          name: "营销物料",
+          path: "/pages/tabbar/smartStore/index",
+          icon: "work-a-shouyejingangquyingxiaowuliao",
+          openType: "switchTab"
+        }, {
+          name: "推广素材",
+          path: "/pages/promotional/index",
+          icon: "work-a-shouyejingangqutuiguangsucai"
+        }, {
+          name: "商学院",
+          path: "/pages/college/index",
+          icon: "work-a-shangxueyuanxuexi"
+        }, {
+          name: "提报",
+          path: "/pages/submission/index",
+          icon: "work-a-tibaoguanlitibao"
+        }];
+        let tool = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ['营销工具'], paths.map(v => v.name)),
+          list = [];
+        tool.forEach(v => {
+          let auth = v.apps[0].meta.auth;
+          if (!auth.some(r => r.option == 'read')) return;
+          authList[v.apps[0].name] = {
+            options: auth.map(a => a.option),
+            optionnames: auth.map(a => a.optionname)
+          };
+          let item = paths.find(s => s.name == v.systemmodulename);
+          item && list.push(item)
+        });
 
-                return dye(list)
-            };
-            //CRM
-            function getcrm() {
-                const paths = [{
-                    name: "市场活动",
-                    path: "/packageA/activity/index",
-                    icon: "work-shichanghuodong",
-                }, {
-                    name: "公海线索",
-                    path: "/packageA/publicClue/index",
-                    icon: "work-xiaochengxu_xiaoshoumubiao"
-                }, {
-                    name: "销售线索",
-                    path: "/packageA/saleClue/index",
-                    icon: "work-xiaoshouxiansuo"
-                }, {
-                    name: "公海客户",
-                    path: "/packageA/publicCustomer/index",
-                    icon: "work-gonghaikehu"
-                }, {
-                    name: "客户",
-                    path: "/packageA/setclient/index",
-                    icon: "work-kehu"
-                }, {
-                    name: "项目商机",
-                    path: "/packageA/project/index",
-                    icon: "work-xiangmushangji"
-                }, {
-                    name: "报价单",
-                    path: "/packageA/offers/index",
-                    icon: "work-xiangmubaojia"
-                }, {
-                    name: "竞争对手",
-                    path: "/packageA/opponent/index",
-                    icon: "work-jingzhengduishou"
-                }, {
-                    name: "合同",
-                    path: "/packageA/contract/index",
-                    icon: "work-hetong"
-                }, {
-                    name: "销售目标",
-                    path: "/packageA/target/index",
-                    icon: "work-xiaochengxu_xiaoshoumubiao"
-                }, {
-                    name: "销售预测",
-                    path: "/packageA/salesForecasting/index",
-                    icon: "work-xiaochengxu_xiaoshouyuce"
-                }];
-                let crm = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ['CRM'], ['销售预测', '销售线索', '销售目标', '合同管理', '客户管理', '项目管理']),
-                    list = [];
-                crm.forEach(v => {
-                    v.apps.forEach(s => {
-                        authList[s.name] = {
-                            options: s.meta.auth.map(a => a.option),
-                            optionnames: s.meta.auth.map(a => a.optionname),
-                        }
-                        if (authList[s.name].options.some(s => s == "read")) {
-                            let i = paths.findIndex(k => k.name == s.meta.title);
-                            if (i != -1) {
-                                paths[i].index = i;
-                                list.push(paths[i])
-                            }
-                        }
-                    })
-                });
-                return dye(list.sort((a, b) => a.index - b.index))
-            };
-            //E订单
-            function getedd() {
-                let paths = [{
-                    name: "商城",
-                    path: "/packageA/market/index",
-                    icon: "work-shangcheng"
-                }, {
-                    name: "销售订单",
-                    path: "/packageA/orderForm/index",
-                    icon: "work-dingdan"
-                }, {
-                    name: "收货",
-                    path: "/packageA/shipment/index",
-                    icon: "work-shouhuo"
-                }, {
-                    name: "业绩目标",
-                    path: "/packageA/target/index",
-                    icon: "work-yejimubiao"
-                }, {
-                    name: "账户",
-                    path: "/packageA/account/index",
-                    icon: "work-zhanghu"
-                }, {
-                    name: "促销活动",
-                    path: "/packageA/activity/index",
-                    icon: "work-cuxiaohuodong"
-                }, {
-                    name: "工具查询",
-                    path: "/packageA/tool/index",
-                    icon: "work-gongjuchaxun"
-                }, {
-                    name: "购物车",
-                    path: "/packageA/shopping/index",
-                    icon: "work-gouwuche"
-                }, {
-                    name: "开票",
-                    path: "/packageA/invoice/index",
-                    icon: "work-kaipiao"
-                }, {
-                    name: "打款凭证",
-                    path: "/packageA/remitVoucher/index",
-                    icon: "work-dakuanpingzheng"
-                }, {
-                    name: "工具借用",
-                    path: "/packageA/borrow/index",
-                    icon: "work-shujuchaxun"
-                }, {
-                    name: "工具归还",
-                    path: "/packageA/toolBill/index",
-                    icon: "work-shujuchaxun"
-                }, {
-                    name: "居间费结算",
-                    path: "/packageA/betweenFee/index",
-                    icon: "work-jujianfeijiesuan"
-                }, ];
-                /* {
-                    name: "数据查询",
-                    path: "#",
-                    icon: "work-shujuchaxun"
-                } */
-                let edd = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ["E-订单"], ["商品档案", "销售管理", "财务管理", "售后管理", "发货与库存", "业绩查询"]),
-                    list = [];
-                edd.forEach(v => {
-                    v.apps.forEach(s => {
-                        authList[s.name] = {
-                            options: s.meta.auth.map(a => a.option),
-                            optionnames: s.meta.auth.map(a => a.optionname),
-                        }
-                        if (authList[s.name].options.some(s => s == "read")) {
-                            let i = paths.findIndex(k => k.name == s.meta.title);
-                            if (i != -1) {
-                                paths[i].index = i;
-                                list.push(paths[i])
-                            }
-                        }
-                    })
-                });
-                return dye(list.sort((a, b) => a.index - b.index))
-            };
-            //E服务
-            function geteservice() {
-                let paths = [{
-                    name: "工单",
-                    path: "/packageA/target/index",
-                    icon: "work-yejimubiao"
-                }, {
-                    name: "申请单",
-                    path: "/packageA/market/index",
-                    icon: "work-shangcheng"
-                }, {
-                    name: "申请单管理",
-                    path: "/packageA/orderForm/index",
-                    icon: "work-dingdan"
-                }, {
-                    name: "业务员服务申请单",
-                    path: "/packageA/shipment/index",
-                    icon: "work-shouhuo"
-                }];
-                let eservice = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ["E-服务"], ["工单管理"]),
-                    list = [];
-                eservice.forEach(v => {
-                    v.apps.forEach(s => {
-                        authList[s.name] = {
-                            options: s.meta.auth.map(a => a.option),
-                            optionnames: s.meta.auth.map(a => a.optionname),
-                        }
-                        if (authList[s.name].options.some(s => s == "read")) {
-                            let i = paths.findIndex(k => k.name == s.meta.title);
-                            if (i != -1) {
-                                paths[i].index = i;
-                                list.push(paths[i])
-                            }
-                        }
-                    })
-                });
-                return dye(list.sort((a, b) => a.index - b.index))
+        return dye(list)
+      };
+      //CRM
+      function getcrm() {
+        const paths = [{
+          name: "市场活动",
+          path: "/packageA/activity/index",
+          icon: "work-shichanghuodong",
+        }, {
+          name: "公海线索",
+          path: "/packageA/publicClue/index",
+          icon: "work-xiaochengxu_xiaoshoumubiao"
+        }, {
+          name: "销售线索",
+          path: "/packageA/saleClue/index",
+          icon: "work-xiaoshouxiansuo"
+        }, {
+          name: "公海客户",
+          path: "/packageA/publicCustomer/index",
+          icon: "work-gonghaikehu"
+        }, {
+          name: "客户",
+          path: "/packageA/setclient/index",
+          icon: "work-kehu"
+        }, {
+          name: "项目商机",
+          path: "/packageA/project/index",
+          icon: "work-xiangmushangji"
+        }, {
+          name: "报价单",
+          path: "/packageA/offers/index",
+          icon: "work-xiangmubaojia"
+        }, {
+          name: "竞争对手",
+          path: "/packageA/opponent/index",
+          icon: "work-jingzhengduishou"
+        }, {
+          name: "合同",
+          path: "/packageA/contract/index",
+          icon: "work-hetong"
+        }, {
+          name: "销售目标",
+          path: "/packageA/target/index",
+          icon: "work-xiaochengxu_xiaoshoumubiao"
+        }, {
+          name: "销售预测",
+          path: "/packageA/salesForecasting/index",
+          icon: "work-xiaochengxu_xiaoshouyuce"
+        }];
+        let crm = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ['CRM'], ['销售预测', '销售线索', '销售目标', '合同管理', '客户管理', '项目管理']),
+          list = [];
+        crm.forEach(v => {
+          v.apps.forEach(s => {
+            authList[s.name] = {
+              options: s.meta.auth.map(a => a.option),
+              optionnames: s.meta.auth.map(a => a.optionname),
             }
-            //染色
-            function dye(list) {
-                let colorList = [{
-                    color: "#3874F6",
-                    bColor: "#F0F3FF",
-                }, {
-                    color: "#5AB73F",
-                    bColor: "#F4FAEF",
-                }, {
-                    color: "#F29C37",
-                    bColor: "#FCF6EF",
-                }, {
-                    color: "#EB4B5C",
-                    bColor: "#FDF1ED",
-                }, {
-                    color: "#3874F6",
-                    bColor: "#F0F3FF",
-                }, {
-                    color: "#F29C37",
-                    bColor: "#FCF6EF",
-                }, {
-                    color: "#EB4B5C",
-                    bColor: "#FDF1ED",
-                }, {
-                    color: "#3874F6",
-                    bColor: "#F0F3FF",
-                }, {
-                    color: "#5AB73F",
-                    bColor: "#F4FAEF",
-                }, {
-                    color: "#F29C37",
-                    bColor: "#FCF6EF",
-                }, {
-                    color: "#5AB73F",
-                    bColor: "#F4FAEF",
-                }, {
-                    color: "#3874F6",
-                    bColor: "#F0F3FF",
-                }, {
-                    color: "#F29C37",
-                    bColor: "#FCF6EF",
-                }, {
-                    color: "#EB4B5C",
-                    bColor: "#FDF1ED",
-                }, {
-                    color: "#5AB73F",
-                    bColor: "#F4FAEF",
-                }];
-                return list.map((v, i) => {
-                    return {
-                        ...v,
-                        ...colorList[i > colorList.length - 1 ? i - colorList.length : i]
-                    }
-                })
-            };
-            wx.setStorageSync('auth', authList)
-            this.setData({
-                entrance,
-                auth: JSON.stringify(authList),
-                userMsg: JSON.stringify(wx.getStorageSync('userMsg'))
-            })
-            /* 获取首页banner */
-            let banner = wx.getStorageSync('banner_list').find(v => v.location == "index_top");
-            if (banner) this.setData({
-                bannerList: banner.ads
-            })
-        } else {
-            setTimeout(this.refreshData, 10);
-            return;
-        }
-
-    },
-    /* 获取最新信息 */
-    queryMessage(i = 0) {
-        _Http.basic({
-            "classname": "system.message.Message",
-            "method": "queryMessage",
-            content: {
-                nocache: true,
-                pageNumber: 1,
-                pageSize: 5,
-                pageTotal: 1,
-                type: "",
-                where: {}
-            },
-        }, false).then(res => {
-            if (res.msg != '成功') return (i <= 5) ? this.queryMessage(i + 1) : wx.showToast({
-                title: res.msg,
-                icon: "none"
-            })
-            this.setData({
-                msgList: res.data,
-                notice: res.data[0]
-            })
-            if (this.data.msgList.length > 2) this.startDataCarousel();
-        })
-    },
-    /* 开启消息轮播 */
-    startDataCarousel() {
-        clearInterval(DataCarousel);
-        DataCarousel = setInterval(() => {
-            let count = this.data.msgCount < this.data.msgList.length ? this.data.msgCount : 0;
-            this.setData({
-                msgCount: count + 1,
-                notice: this.data.msgList[count]
-            })
-        }, 5000)
-    },
-    /* 去消息详情 */
-    toMsg(e) {
-        const {
-            item
-        } = e.currentTarget.dataset;
-        wx.navigateTo({
-            url: '/pages/tabbar/message/details?id=' + item.messageid,
-        })
-    },
-    /* banner */
-    bannerClick(e) {
-        const {
-            item
-        } = e.currentTarget.dataset,
-            hyperlink = item.hyperlink.split(":");
-        if (hyperlink[0] == 'path') wx.navigateTo({
-            url: hyperlink[1]
+            if (authList[s.name].options.some(s => s == "read")) {
+              let i = paths.findIndex(k => k.name == s.meta.title);
+              if (i != -1) {
+                paths[i].index = i;
+                list.push(paths[i])
+              }
+            }
+          })
+        });
+        return dye(list.sort((a, b) => a.index - b.index))
+      };
+      //E订单
+      function getedd() {
+        let paths = [{
+          name: "商城",
+          path: "/packageA/market/index",
+          icon: "work-shangcheng"
+        }, {
+          name: "销售订单",
+          path: "/packageA/orderForm/index",
+          icon: "work-dingdan"
+        }, {
+          name: "收货",
+          path: "/packageA/shipment/index",
+          icon: "work-shouhuo"
+        }, {
+          name: "业绩目标",
+          path: "/packageA/target/index",
+          icon: "work-yejimubiao"
+        }, {
+          name: "账户",
+          path: "/packageA/account/index",
+          icon: "work-zhanghu"
+        }, {
+          name: "促销活动",
+          path: "/packageA/activity/index",
+          icon: "work-cuxiaohuodong"
+        }, {
+          name: "工具查询",
+          path: "/packageA/tool/index",
+          icon: "work-gongjuchaxun"
+        }, {
+          name: "购物车",
+          path: "/packageA/shopping/index",
+          icon: "work-gouwuche"
+        }, {
+          name: "开票",
+          path: "/packageA/invoice/index",
+          icon: "work-kaipiao"
+        }, {
+          name: "打款凭证",
+          path: "/packageA/remitVoucher/index",
+          icon: "work-dakuanpingzheng"
+        }, {
+          name: "工具借用",
+          path: "/packageA/borrow/index",
+          icon: "work-shujuchaxun"
+        }, {
+          name: "工具归还",
+          path: "/packageA/toolBill/index",
+          icon: "work-shujuchaxun"
+        }, {
+          name: "居间费结算",
+          path: "/packageA/betweenFee/index",
+          icon: "work-jujianfeijiesuan"
+        }, ];
+        /* {
+            name: "数据查询",
+            path: "#",
+            icon: "work-shujuchaxun"
+        } */
+        let edd = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ["E-订单"], ["商品档案", "销售管理", "财务管理", "售后管理", "发货与库存", "业绩查询"]),
+          list = [];
+        edd.forEach(v => {
+          v.apps.forEach(s => {
+            authList[s.name] = {
+              options: s.meta.auth.map(a => a.option),
+              optionnames: s.meta.auth.map(a => a.optionname),
+            }
+            if (authList[s.name].options.some(s => s == "read")) {
+              let i = paths.findIndex(k => k.name == s.meta.title);
+              if (i != -1) {
+                paths[i].index = i;
+                list.push(paths[i])
+              }
+            }
+          })
+        });
+        return dye(list.sort((a, b) => a.index - b.index))
+      };
+      //E服务
+      function geteservice() {
+        let paths = [{
+          name: "工单",
+          path: "/Eservice/workOrder/index",
+          icon: "work-yejimubiao"
+        }, {
+          name: "申请单",
+          path: "/Eservice/agent/serviceBillList/index",
+          icon: "work-shangcheng"
+        }, {
+          name: "申请单管理",
+          path: "/Eservice/workerLeader/serviceBillList/index",
+          icon: "work-dingdan"
+        }, {
+          name: "业务员服务申请单",
+          path: "/Eservice/saler/serviceBillList/index",
+          icon: "work-shouhuo"
+        }];
+        let eservice = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ["E-服务"], ["工单管理"]),
+          list = [];
+        eservice.forEach(v => {
+          v.apps.forEach(s => {
+            authList[s.name] = {
+              options: s.meta.auth.map(a => a.option),
+              optionnames: s.meta.auth.map(a => a.optionname),
+            }
+            if (authList[s.name].options.some(s => s == "read")) {
+              let i = paths.findIndex(k => k.name == s.meta.title);
+              if (i != -1) {
+                paths[i].index = i;
+                list.push(paths[i])
+              }
+            }
+          })
+        });
+        return dye(list.sort((a, b) => a.index - b.index))
+      }
+      //染色
+      function dye(list) {
+        let colorList = [{
+          color: "#3874F6",
+          bColor: "#F0F3FF",
+        }, {
+          color: "#5AB73F",
+          bColor: "#F4FAEF",
+        }, {
+          color: "#F29C37",
+          bColor: "#FCF6EF",
+        }, {
+          color: "#EB4B5C",
+          bColor: "#FDF1ED",
+        }, {
+          color: "#3874F6",
+          bColor: "#F0F3FF",
+        }, {
+          color: "#F29C37",
+          bColor: "#FCF6EF",
+        }, {
+          color: "#EB4B5C",
+          bColor: "#FDF1ED",
+        }, {
+          color: "#3874F6",
+          bColor: "#F0F3FF",
+        }, {
+          color: "#5AB73F",
+          bColor: "#F4FAEF",
+        }, {
+          color: "#F29C37",
+          bColor: "#FCF6EF",
+        }, {
+          color: "#5AB73F",
+          bColor: "#F4FAEF",
+        }, {
+          color: "#3874F6",
+          bColor: "#F0F3FF",
+        }, {
+          color: "#F29C37",
+          bColor: "#FCF6EF",
+        }, {
+          color: "#EB4B5C",
+          bColor: "#FDF1ED",
+        }, {
+          color: "#5AB73F",
+          bColor: "#F4FAEF",
+        }];
+        return list.map((v, i) => {
+          return {
+            ...v,
+            ...colorList[i > colorList.length - 1 ? i - colorList.length : i]
+          }
         })
-    },
-    onShow() {
-        this.getTabBar().init();
-        if (this.data.msgList.length > 2) this.startDataCarousel();
-        this.queryMessage(0); //更新最新消息
-    },
-    onHide() {
-        clearInterval(DataCarousel);
-    },
-    onReady() {
-        // this.setListHeight();
-    },
-    /* 设置页面高度 */
-    setListHeight() {
-        this.selectComponent("#ListBox").setHeight(".grld-title", this);
-    },
-    onShareAppMessage() {}
+      };
+      wx.setStorageSync('auth', authList)
+      this.setData({
+        entrance,
+        auth: JSON.stringify(authList),
+        userMsg: JSON.stringify(wx.getStorageSync('userMsg'))
+      })
+      /* 获取首页banner */
+      let banner = wx.getStorageSync('banner_list').find(v => v.location == "index_top");
+      if (banner) this.setData({
+        bannerList: banner.ads
+      })
+    } else {
+      setTimeout(this.refreshData, 10);
+      return;
+    }
+
+  },
+  /* 获取最新信息 */
+  queryMessage(i = 0) {
+    _Http.basic({
+      "classname": "system.message.Message",
+      "method": "queryMessage",
+      content: {
+        nocache: true,
+        pageNumber: 1,
+        pageSize: 5,
+        pageTotal: 1,
+        type: "",
+        where: {}
+      },
+    }, false).then(res => {
+      if (res.msg != '成功') return (i <= 5) ? this.queryMessage(i + 1) : wx.showToast({
+        title: res.msg,
+        icon: "none"
+      })
+      this.setData({
+        msgList: res.data,
+        notice: res.data[0]
+      })
+      if (this.data.msgList.length > 2) this.startDataCarousel();
+    })
+  },
+  /* 开启消息轮播 */
+  startDataCarousel() {
+    clearInterval(DataCarousel);
+    DataCarousel = setInterval(() => {
+      let count = this.data.msgCount < this.data.msgList.length ? this.data.msgCount : 0;
+      this.setData({
+        msgCount: count + 1,
+        notice: this.data.msgList[count]
+      })
+    }, 5000)
+  },
+  /* 去消息详情 */
+  toMsg(e) {
+    const {
+      item
+    } = e.currentTarget.dataset;
+    wx.navigateTo({
+      url: '/pages/tabbar/message/details?id=' + item.messageid,
+    })
+  },
+  /* banner */
+  bannerClick(e) {
+    const {
+      item
+    } = e.currentTarget.dataset,
+      hyperlink = item.hyperlink.split(":");
+    if (hyperlink[0] == 'path') wx.navigateTo({
+      url: hyperlink[1]
+    })
+  },
+  onShow() {
+    this.getTabBar().init();
+    if (this.data.msgList.length > 2) this.startDataCarousel();
+    this.queryMessage(0); //更新最新消息
+  },
+  onHide() {
+    clearInterval(DataCarousel);
+  },
+  onReady() {
+    // this.setListHeight();
+  },
+  /* 设置页面高度 */
+  setListHeight() {
+    this.selectComponent("#ListBox").setHeight(".grld-title", this);
+  },
+  onShareAppMessage() {}
 })

+ 49 - 0
utils/util.js

@@ -0,0 +1,49 @@
+const formatTime = date => {
+  const year = date.getFullYear()
+  const month = date.getMonth() + 1
+  const day = date.getDate()
+  const hour = date.getHours()
+  const minute = date.getMinutes()
+  const second = date.getSeconds()
+
+  return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}`
+}
+
+const formatNumber = n => {
+  n = n.toString()
+  return n[1] ? n : `0${n}`
+}
+
+// 处理省市县数据结构
+const createMenu = node => {
+  var that = this
+  let obj = Object.keys(node).map((key,index,item)=>{
+    var elNode = {
+      label: key,
+      value: key,
+      item:node[key],
+    }
+    return elNode;
+  })
+  obj.forEach(e=>{
+    if ((e.item) instanceof Array) {
+      e.children = []
+      e.item.forEach(c=>{
+        e.children.push({
+          label:c,
+          value:c
+        })
+      })
+    } else {
+      if (Object.keys(e.item).length !== 0) {
+        e.children = createMenu(e.item)
+      }
+    }
+  })
+  return obj
+}
+
+module.exports = {
+  formatTime,
+  createMenu
+}