Browse Source

首页工作台抽公共文件

xiaohaizhao 1 năm trước cách đây
mục cha
commit
01a174a550
6 tập tin đã thay đổi với 480 bổ sung441 xóa
  1. 11 440
      pages/tabbar/home/index.js
  2. 1 1
      static/font-icon.wxss
  3. 374 0
      utils/work/apps.js
  4. 0 0
      utils/work/work-icon.wxss
  5. 94 0
      utils/work/work.js
  6. 0 0
      utils/work/work.wxss

+ 11 - 440
pages/tabbar/home/index.js

@@ -1,5 +1,12 @@
 let _Http = getApp().globalData.http,
   DataCarousel = null;
+
+import {
+  initWorkbench,
+  isHistory,
+  isRemindChangePassword
+} from "../../../utils/work/work";
+
 Page({
   data: {
     appid: wx.getStorageSync('appid'),
@@ -15,38 +22,8 @@ Page({
     })
     this.refreshData() //更新权限等信息
     this.getTabBar().unReadMessageCount(); //更新信息数量
-    let history = getApp().globalData.LaunchOptions;
-    if (history && !getCurrentPages().some(v => v.__route__ == history.path)) {
-      let url = `/${history.path}?`;
-      for (const key in history.query) {
-        url += `${key}=${history.query[key]}&`
-      }
-      wx.navigateTo({
-        url,
-        success(res) {
-          wx.showToast({
-            title: '已恢复页面',
-            icon: "none"
-          });
-          getApp().globalData.LaunchOptions = null;
-        }
-      })
-    }
-    //查询密码是否为初始状态
-    if (getApp().globalData.remindchangepassword) wx.showModal({
-      title: "提示",
-      content: "当前密码为初始密码,请前往修改密码",
-      confirmText: '前往修改',
-      cancelText: "下次再说",
-      success: ({
-        confirm
-      }) => {
-        getApp().globalData.remindchangepassword = null;
-        if (confirm) wx.navigateTo({
-          url: '/pages/tabbar/mine/changePassword/index',
-        })
-      },
-    })
+    isHistory();
+    isRemindChangePassword();
   },
   /* 更新站点信息 */
   refreshData() {
@@ -54,413 +31,11 @@ Page({
       user: wx.getStorageSync('userMsg')
     })
     if (wx.getStorageSync('userauth').length != 0) {
-      let authList = {},
-        entrance = [{
-          label: "通用",
-          icon: "work-tongyong",
-          appid: "wx197f219a82a89d7b",
-          list: getapps()
-        }, {
-          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: "wx197f219a82a89d7b",
-          list: gettool()
-        }, {
-          label: "CRM",
-          appid: "wx197f219a82a89d7b",
-          icon: "work-CRM",
-          list: getcrm()
-        }];
-      //通用
-      function getapps() {
-        const paths = [{
-          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"
-        }, {
-          name: "工作汇报",
-          path: "/packageA/report/index",
-          icon: "work-gongzuohuibao"
-        }, {
-          name: "作业看板",
-          path: "/packageA/achievement/index",
-          icon: "work-zuoyekanban"
-        }, {
-          name: "销售漏斗",
-          path: "/packageA/salesHourglass/index",
-          icon: "work-xiaoshouloudou"
-        }];
-        let app = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ['通用'], ['通用', '数据分析']),
-          list = [];
-        app.forEach((v, i) => {
-          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 gettool() {
-        const paths = [{
-          name: "通告",
-          path: "/pages/annunciate/index",
-          icon: "work-a-shouyejingangqutonggao",
-          objectname: "sat_notice"
-        }, {
-          name: "营销物料",
-          path: "/pages/mediaLibrary/index",
-          icon: "work-a-shouyejingangquyingxiaowuliao",
-          objectname: "sys_attachment"
-        }, {
-          name: "推广素材",
-          path: "/pages/promotional/index",
-          icon: "work-a-shouyejingangqutuiguangsucai",
-          objectname: "sat_sharematerial"
-        }, {
-          name: "商学院",
-          path: "/pages/college/index",
-          icon: "work-a-shangxueyuanxuexi",
-          objectname: "sat_courseware"
-        }, {
-          name: "提报",
-          path: "/pages/submission/index",
-          icon: "work-a-tibaoguanlitibao",
-          objectname: "sat_submiteditmodel"
-        }];
-        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",
-          objectname: "sat_campaign"
-        }, {
-          name: "公海线索",
-          path: "/packageA/publicClue/index",
-          icon: "work-xiaochengxu_xiaoshoumubiao",
-          objectname: "sat_orderclue"
-        }, {
-          name: "销售线索",
-          path: "/packageA/saleClue/index",
-          icon: "work-xiaoshouxiansuo",
-          objectname: "sat_orderclue"
-        }, {
-          name: "公海客户",
-          path: "/packageA/publicCustomer/index",
-          icon: "work-gonghaikehu",
-          objectname: "sa_customers"
-        }, {
-          name: "我的客户",
-          path: "/packageA/setclient/index",
-          icon: "work-kehu",
-          objectname: "sa_customers"
-        }, {
-          name: "项目商机",
-          path: "/packageA/project/index",
-          icon: "work-xiangmushangji",
-          objectname: "sa_project"
-        }, {
-          name: "报价单",
-          path: "/packageA/offers/index",
-          icon: "work-xiangmubaojia",
-          objectname: "sa_quotedprice"
-        }, {
-          name: "竞争对手",
-          path: "/packageA/opponent/index",
-          icon: "work-jingzhengduishou",
-          objectname: "sa_competitor"
-        }, {
-          name: "合同",
-          path: "/packageA/contract/index",
-          icon: "work-hetong",
-          objectname: "sa_contract"
-        }, {
-          name: "销售目标",
-          path: "/packageA/target/index",
-          icon: "work-xiaochengxu_xiaoshoumubiao",
-          objectname: "sa_salestarget"
-        }, {
-          name: "销售预测",
-          path: "/packageA/salesForecasting/index",
-          icon: "work-xiaochengxu_xiaoshouyuce",
-          objectname: "sa_salesforecastbill"
-        }];
-        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",
-          objectname: "sa_itemgroup"
-        }, {
-          name: "销售订单",
-          path: "/packageA/orderForm/index",
-          icon: "work-dingdan",
-          objectname: "sa_order"
-        }, {
-          name: "收货",
-          path: "/packageA/shipment/index",
-          icon: "work-shouhuo",
-          objectname: "sa_logistics"
-        }, {
-          name: "业绩目标",
-          path: "/packageA/target/index",
-          icon: "work-yejimubiao"
-        }, {
-          name: "账户",
-          path: "/packageA/account/index",
-          icon: "work-zhanghu",
-          objectname: "sa_accountbalance"
-        }, {
-          name: "促销活动",
-          path: "/packageA/activity/index",
-          icon: "work-cuxiaohuodong",
-          objectname: "sa_promotion"
-        }, {
-          name: "工具查询",
-          path: "/packageA/tool/index",
-          icon: "work-gongjuchaxun"
-        }, {
-          name: "购物车",
-          path: "/packageA/shopping/index",
-          icon: "work-gouwuche"
-        }, {
-          name: "开票",
-          path: "/packageA/invoice/index",
-          icon: "work-kaipiao",
-          objectname: "sa_invoiceapplyid"
-        }, {
-          name: "打款凭证",
-          path: "/packageA/remitVoucher/index",
-          icon: "work-dakuanpingzheng"
-        }, {
-          name: "工具借用",
-          path: "/packageA/borrow/index",
-          icon: "work-shujuchaxun",
-          objectname: "sa_order"
-        }, {
-          name: "工具归还",
-          path: "/packageA/toolBill/index",
-          icon: "work-shujuchaxun",
-          objectname: "sa_order"
-        }, {
-          name: "退返申请",
-          path: "/packageA/returnOne/index",
-          icon: "work-shujuchaxun",
-          objectname: "sa_aftersalesmag"
-        }, {
-          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-gongdan",
-          objectname: "sa_workorder"
-        }, {
-          name: "申请单",
-          path: "/Eservice/agent/serviceBillList/index",
-          icon: "work-shenqingdan",
-          // objectname: "sa_serviceorder"
-        }, {
-          name: "申请单管理",
-          path: "/Eservice/workerLeader/serviceBillList/index",
-          icon: "work-shenqingdanguanli",
-          // objectname: "sa_serviceorder"
-        }, {
-          name: "业务员服务申请单",
-          path: "/Eservice/saler/serviceBillList/index",
-          icon: "work-yewuyuanfuwushenqingdan",
-          // objectname: "sa_serviceorder"
-        }];
-        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]
-          }
-        })
-      };
-      wx.setStorageSync('auth', authList)
-      this.setData({
-        entrance,
-        auth: JSON.stringify(authList),
-        userMsg: JSON.stringify(wx.getStorageSync('userMsg')),
-        site: JSON.stringify(wx.getStorageSync('siteP'))
-      })
-      /* 获取首页banner */
-      let banner = wx.getStorageSync('banner_list').find(v => v.location == "index_top");
-      if (banner) this.setData({
-        bannerList: banner.ads
-      })
-      //用于消息跳转对照权限以及路径
-      wx.setStorageSync('authComparison', entrance.map(v => {
-        v = v.list.map(s => {
-          s.appid = v.appid;
-          return s
-        })
-        return v
-      }).flat())
+      initWorkbench(this)
     } else {
       setTimeout(this.refreshData, 10);
       return;
     }
-
   },
   /* 获取最新信息 */
   queryMessage(i = 0) {
@@ -525,12 +100,8 @@ Page({
   onHide() {
     clearInterval(DataCarousel);
   },
-  onReady() {
-    // this.setListHeight();
-  },
   /* 设置页面高度 */
   setListHeight() {
     this.selectComponent("#ListBox").setHeight(".grld-title", this);
-  },
-  onShareAppMessage() {}
+  }
 })

+ 1 - 1
static/font-icon.wxss

@@ -1,4 +1,4 @@
-@import "./work-icon.wxss";
+@import "/utils/work/work-icon.wxss";
 @import "./stylesheet.wxss";
 
 .iconfont {

+ 374 - 0
utils/work/apps.js

@@ -0,0 +1,374 @@
+let authList = {};
+//通用
+function getapps() {
+	const paths = [{
+		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"
+	}, {
+		name: "工作汇报",
+		path: "/packageA/report/index",
+		icon: "work-gongzuohuibao"
+	}, {
+		name: "作业看板",
+		path: "/packageA/achievement/index",
+		icon: "work-zuoyekanban"
+	}, {
+		name: "销售漏斗",
+		path: "/packageA/salesHourglass/index",
+		icon: "work-xiaoshouloudou"
+	}];
+	let app = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ['通用'], ['通用', '数据分析']),
+		list = [];
+	app.forEach((v, i) => {
+		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 gettool() {
+	const paths = [{
+		name: "通告",
+		path: "/pages/annunciate/index",
+		icon: "work-a-shouyejingangqutonggao",
+		objectname: "sat_notice"
+	}, {
+		name: "营销物料",
+		path: "/pages/mediaLibrary/index",
+		icon: "work-a-shouyejingangquyingxiaowuliao",
+		objectname: "sys_attachment"
+	}, {
+		name: "推广素材",
+		path: "/pages/promotional/index",
+		icon: "work-a-shouyejingangqutuiguangsucai",
+		objectname: "sat_sharematerial"
+	}, {
+		name: "商学院",
+		path: "/pages/college/index",
+		icon: "work-a-shangxueyuanxuexi",
+		objectname: "sat_courseware"
+	}, {
+		name: "提报",
+		path: "/pages/submission/index",
+		icon: "work-a-tibaoguanlitibao",
+		objectname: "sat_submiteditmodel"
+	}];
+	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",
+		objectname: "sat_campaign"
+	}, {
+		name: "公海线索",
+		path: "/packageA/publicClue/index",
+		icon: "work-xiaochengxu_xiaoshoumubiao",
+		objectname: "sat_orderclue"
+	}, {
+		name: "销售线索",
+		path: "/packageA/saleClue/index",
+		icon: "work-xiaoshouxiansuo",
+		objectname: "sat_orderclue"
+	}, {
+		name: "公海客户",
+		path: "/packageA/publicCustomer/index",
+		icon: "work-gonghaikehu",
+		objectname: "sa_customers"
+	}, {
+		name: "我的客户",
+		path: "/packageA/setclient/index",
+		icon: "work-kehu",
+		objectname: "sa_customers"
+	}, {
+		name: "项目商机",
+		path: "/packageA/project/index",
+		icon: "work-xiangmushangji",
+		objectname: "sa_project"
+	}, {
+		name: "报价单",
+		path: "/packageA/offers/index",
+		icon: "work-xiangmubaojia",
+		objectname: "sa_quotedprice"
+	}, {
+		name: "竞争对手",
+		path: "/packageA/opponent/index",
+		icon: "work-jingzhengduishou",
+		objectname: "sa_competitor"
+	}, {
+		name: "合同",
+		path: "/packageA/contract/index",
+		icon: "work-hetong",
+		objectname: "sa_contract"
+	}, {
+		name: "销售目标",
+		path: "/packageA/target/index",
+		icon: "work-xiaochengxu_xiaoshoumubiao",
+		objectname: "sa_salestarget"
+	}, {
+		name: "销售预测",
+		path: "/packageA/salesForecasting/index",
+		icon: "work-xiaochengxu_xiaoshouyuce",
+		objectname: "sa_salesforecastbill"
+	}, {
+		name: "项目成交预测",
+		path: "/packageA/finishforecast/index",
+		icon: "work-xiangmuchengjiaoyuce"
+	}, {
+		name: "项目成交预测管理",
+		path: "/packageA/finishforecast/admin",
+		icon: "work-xiangmuchengjiaoyuceguanli"
+	}, {
+		name: "出货开票预测",
+		path: "/packageA/invoiceforecast/index",
+		icon: "work-chuhuokaipiaoyuce"
+	}, {
+		name: "出货开票预测管理",
+		path: "/packageA/invoiceforecast/admin",
+		icon: "work-chuhuokaipiaoyuceguanli"
+	}];
+	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",
+		objectname: "sa_itemgroup"
+	}, {
+		name: "销售订单",
+		path: "/packageA/orderForm/index",
+		icon: "work-dingdan",
+		objectname: "sa_order"
+	}, {
+		name: "收货",
+		path: "/packageA/shipment/index",
+		icon: "work-shouhuo",
+		objectname: "sa_logistics"
+	}, {
+		name: "业绩目标",
+		path: "/packageA/target/index",
+		icon: "work-yejimubiao"
+	}, {
+		name: "账户",
+		path: "/packageA/account/index",
+		icon: "work-zhanghu",
+		objectname: "sa_accountbalance"
+	}, {
+		name: "促销活动",
+		path: "/packageA/activity/index",
+		icon: "work-cuxiaohuodong",
+		objectname: "sa_promotion"
+	}, {
+		name: "工具查询",
+		path: "/packageA/tool/index",
+		icon: "work-gongjuchaxun"
+	}, {
+		name: "购物车",
+		path: "/packageA/shopping/index",
+		icon: "work-gouwuche"
+	}, {
+		name: "开票",
+		path: "/packageA/invoice/index",
+		icon: "work-kaipiao",
+		objectname: "sa_invoiceapplyid"
+	}, {
+		name: "打款凭证",
+		path: "/packageA/remitVoucher/index",
+		icon: "work-dakuanpingzheng"
+	}, {
+		name: "工具借用",
+		path: "/packageA/borrow/index",
+		icon: "work-shujuchaxun",
+		objectname: "sa_order"
+	}, {
+		name: "工具归还",
+		path: "/packageA/toolBill/index",
+		icon: "work-shujuchaxun",
+		objectname: "sa_order"
+	}, {
+		name: "退返申请",
+		path: "/packageA/returnOne/index",
+		icon: "work-shujuchaxun",
+		objectname: "sa_aftersalesmag"
+	}, {
+		name: "居间费结算",
+		path: "/packageA/betweenFee/index",
+		icon: "work-jujianfeijiesuan"
+	}, ];
+	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-gongdan",
+		objectname: "sa_workorder"
+	}, {
+		name: "申请单",
+		path: "/Eservice/agent/serviceBillList/index",
+		icon: "work-shenqingdan",
+		// objectname: "sa_serviceorder"
+	}, {
+		name: "申请单管理",
+		path: "/Eservice/workerLeader/serviceBillList/index",
+		icon: "work-shenqingdanguanli",
+		// objectname: "sa_serviceorder"
+	}, {
+		name: "业务员服务申请单",
+		path: "/Eservice/saler/serviceBillList/index",
+		icon: "work-yewuyuanfuwushenqingdan",
+		// objectname: "sa_serviceorder"
+	}];
+	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]
+		}
+	})
+};
+module.exports = {
+	getapps,
+	gettool,
+	getcrm,
+	getedd,
+	geteservice,
+	authList
+}

+ 0 - 0
static/work-icon.wxss → utils/work/work-icon.wxss


+ 94 - 0
utils/work/work.js

@@ -0,0 +1,94 @@
+import apps from "./apps";
+
+function initWorkbench(that) {
+    let entrance = [{
+        label: "通用",
+        icon: "work-tongyong",
+        appid: "wx197f219a82a89d7b",
+        list: apps.getapps()
+    }, {
+        label: "E-订单",
+        appid: "wxc1b6ae925ac1d06a",
+        icon: "work-E-dingdan",
+        list: apps.getedd()
+    }, {
+        label: "E-服务",
+        appid: "wxc1b6ae925ac1d06a",
+        icon: "work-E-fuwu",
+        list: apps.geteservice()
+    }, {
+        label: "营销工具",
+        icon: "work-yingxiaogongju",
+        appid: "wx197f219a82a89d7b",
+        list: apps.gettool()
+    }, {
+        label: "CRM",
+        appid: "wx197f219a82a89d7b",
+        icon: "work-CRM",
+        list: apps.getcrm()
+    }];
+    wx.setStorageSync('auth', apps.authList)
+    that.setData({
+        entrance,
+        auth: JSON.stringify(apps.authList),
+        userMsg: JSON.stringify(wx.getStorageSync('userMsg')),
+        site: JSON.stringify(wx.getStorageSync('siteP'))
+    })
+    /* 获取首页banner */
+    let banner = wx.getStorageSync('banner_list').find(v => v.location == "index_top");
+    if (banner) that.setData({
+        bannerList: banner.ads
+    })
+    //用于消息跳转对照权限以及路径
+    wx.setStorageSync('authComparison', entrance.map(v => {
+        v = v.list.map(s => {
+            s.appid = v.appid;
+            return s
+        })
+        return v
+    }).flat())
+}
+
+function isHistory() {
+    let history = getApp().globalData.LaunchOptions;
+    if (history && !getCurrentPages().some(v => v.__route__ == history.path) && history.path != 'pages/login/phone') {
+        let url = `/${history.path}?`;
+        for (const key in history.query) {
+            url += `${key}=${history.query[key]}&`
+        }
+        wx.navigateTo({
+            url,
+            success(res) {
+                wx.showToast({
+                    title: '已恢复页面',
+                    icon: "none"
+                });
+                getApp().globalData.LaunchOptions = null;
+            }
+        })
+    } else {
+        getApp().globalData.LaunchOptions = null;
+    }
+}
+
+function isRemindChangePassword() {
+    if (getApp().globalData.remindchangepassword) wx.showModal({
+        title: "提示",
+        content: "当前密码为初始密码,请前往修改密码",
+        confirmText: '前往修改',
+        cancelText: "下次再说",
+        success: ({
+            confirm
+        }) => {
+            getApp().globalData.remindchangepassword = null;
+            if (confirm) wx.navigateTo({
+                url: '/pages/tabbar/mine/changePassword/index',
+            })
+        },
+    })
+}
+module.exports = {
+    initWorkbench,
+    isHistory,
+    isRemindChangePassword
+}

+ 0 - 0
static/work.wxss → utils/work/work.wxss