cmy 2 gadi atpakaļ
vecāks
revīzija
bf0567c71a
46 mainītis faili ar 13726 papildinājumiem un 10036 dzēšanām
  1. 15 6
      src/App.vue
  2. 28 0
      src/access/node.js
  3. 99 0
      src/api/Department.js
  4. 101 0
      src/api/OrderSubscribe.js
  5. 75 0
      src/api/card.js
  6. 114 108
      src/api/user.js
  7. 3 1
      src/component/common/DepartmentSel.vue
  8. 1 1
      src/component/common/SelectCustomer.vue
  9. 146 0
      src/component/goods/itemList.vue
  10. 2 2
      src/config/settings.js
  11. 4434 4343
      src/router/index.js
  12. 150 125
      src/utils/request.js
  13. 1 0
      src/vab/components/Breadcrumb/index.vue
  14. 2 2
      src/vab/components/GalleryBar/index.vue
  15. 2401 2448
      src/vab/components/GalleryBar/menus.js
  16. 504 438
      src/vab/components/GalleryBar/storeMenus.js
  17. 1 3
      src/vab/components/NavBar/index.vue
  18. 1 0
      src/vab/components/RemixIcon/index.vue
  19. 3 0
      src/vab/components/websocket/index.vue
  20. 304 285
      src/views/Application/Application.vue
  21. 2 0
      src/views/Enterprise/SelectStore.vue
  22. 1 1
      src/views/Enterprise/index.vue
  23. 210 0
      src/views/Marketing/card/addCard.vue
  24. 186 0
      src/views/Marketing/card/cardList.vue
  25. 313 0
      src/views/Marketing/card/components/bindItem.vue
  26. 0 174
      src/views/Shareholders/CommissionRule.vue
  27. 131 0
      src/views/Shareholders/RewardList.vue
  28. 672 735
      src/views/ShoppingMall/mendianset/BaseSet.vue
  29. 195 0
      src/views/SingleStore/subscribe/OrderItem.vue
  30. 268 0
      src/views/SingleStore/subscribe/OrderSubscribe.vue
  31. 256 0
      src/views/SingleStore/subscribe/addSubscribe.vue
  32. 284 0
      src/views/SingleStore/subscribe/components/addItem.vue
  33. 0 1
      src/views/SystemSettings/accountAdmin/Department.vue
  34. 3 2
      src/views/SystemSettings/accountAdmin/Staff.vue
  35. 105 0
      src/views/SystemSettings/accountAdmin/classHistry.vue
  36. 163 0
      src/views/SystemSettings/accountAdmin/signClass.vue
  37. 208 0
      src/views/SystemSettings/accountAdmin/signList.vue
  38. 254 0
      src/views/SystemSettings/components/addClass.vue
  39. 290 0
      src/views/SystemSettings/components/addSingGroup.vue
  40. 204 0
      src/views/SystemSettings/components/editClass.vue
  41. 167 0
      src/views/SystemSettings/components/editStaff.vue
  42. 1163 1360
      src/views/index/index.vue
  43. 131 0
      src/views/info/infoArticleList.vue
  44. 131 0
      src/views/info/infoHomeList.vue
  45. 2 0
      src/views/login/components/login.vue
  46. 2 1
      vue.config.js

+ 15 - 6
src/App.vue

@@ -1,11 +1,20 @@
 <template>
-  <div id="vue-admin-beautiful-pro">
-    <router-view></router-view>
-  </div>
+	<div id="vue-admin-beautiful-pro">
+		<router-view></router-view>
+	</div>
 </template>
 
 <script>
-  export default {
-    name: "App",
-  };
+	export default {
+		name: "App",
+	};
 </script>
+
+<style>
+	.margin-t-10 {
+		margin-top: 10px;
+	}
+	.margin-b-10 {
+		margin-bottom: 10px;
+	}
+</style>

+ 28 - 0
src/access/node.js

@@ -68,6 +68,7 @@ export const OrderStatisticsGetAllOrderData = "OrderStatistics_getAllOrderData";
 export const OrderAdd = "orderManage_OrderAdd"; // 创建订单
 export const OrderAddAddOrder = "OrderAdd_add"; // 新增
 export const OrderAddeditGoodsPrice = "OrderAdd_editGoodsPrice"; // 修改商品价格
+
 // 订单查询
 export const orderQuery = "orderManage_orderQuery"; // 订单查询
 export const orderQueryAddOrder = "orderQuery_add"; // 新增
@@ -95,6 +96,10 @@ export const ReturnWarehousingOrderSearchAllOrderReturn =
   "ReturnWarehousingOrder_searchAllOrderReturn"; // 搜索
 // 自提订单
 export const selfOrder = "orderManage_selfOrder"; // 自提订单
+// 预约订单
+export const OrderItem = "orderItem_orderList"; // 服务项目列表
+export const OrderAddSubscribe = "orderItem_addSubscribe"; // 添加预约
+
 // 创建销售单
 export const addSaleOrder = "addSaleOrder"; // 创建销售单
 
@@ -469,6 +474,14 @@ export const StaffUpdateStaff = "Staff_updateStaff"; // 修改
 export const StaffGetAllStaff = "Staff_getAllStaff"; // 列表
 export const StaffGetStaffInfo = "Staff_getStaffInfo"; // 详情
 export const StaffUpdatePassword = "Staff_updatePassword"; // 修改密码
+// 考勤管理
+export const GroupSignList = "Group_signList"; // 考勤组
+export const GroupAddSign = "Group_AddSign"; // 新增考情组
+export const GroupDelSign = "Group_DelSign"; // 删除考情组
+export const GroupUpdateSign = "Group_updateSign"; // 修改考情组
+export const GroupClassSet = "Group_classSet"; // 考勤组排版
+export const GroupSignClass = "Group_signClass"; //班次列表
+export const GroupClassHistry = "Group_classHistry"; //排班记录
 // 角色管理
 export const Role = "organizeSet_Role"; // 角色管理
 export const RoleGetAllRole = "Role_getAllRole"; // 列表
@@ -477,6 +490,8 @@ export const RoleUpdateRole = "Role_updateRole"; // 修改
 export const RoleDeleteRole = "Role_deleteRole"; // 删除
 export const RoleAddRole = "Role_addRole"; // 添加
 
+
+
 // 优惠券
 export const CouponList = "coupon_CouponList"; // 优惠券啊u按
 export const CouponListGetAll = "CouponList_getAll"; // 列表
@@ -630,6 +645,11 @@ export const MembershipCardEditVipCard = "membershipCard_editVipCard"; // 编辑
 export const MembershipCardGetVipCardInfo = "membershipCard_getVipCardInfo"; // 详情
 export const MembershipCardUpdateVipCardStatus =
   "membershipCard_updateVipCardStatus"; // 启用禁用
+
+// 服务优惠卡
+export const DiscountCard = "discount_card"; // 折扣卡
+export const DiscountCardAdd = "discount_addCard"; // 添加折扣卡
+export const DiscountCardDel = "discount_delCard"; // 删除折扣卡
 // 领取记录
 export const CollectionRecords = "vip_CollectionRecords";
 export const CollectionRecordsReceiveRecord = "CollectionRecords_receiveRecord"; // 添加
@@ -745,6 +765,9 @@ export const TemplateListgetAll = "TemplateList_getAll"; //列表
 export const TemplateListgetInfo = "TemplateList_getInfo"; //详情
 export const TemplateListsave = "TemplateList_save"; //保存
 
+//股东管理
+export const RewardList = "Reward_List";//股东列表
+
 // 收银台
 export const Cashier = "Application_Cashier";
 //收银台设置
@@ -752,6 +775,11 @@ export const cashierSet = "Cashier_cashierSet";
 export const cashierSetget = "cashierSet_get"; //详情
 export const cashierSetset = "cashierSet_set"; //配置
 
+//文章管理
+ export const infoArticleList = "info_ArticleList"; //文章
+ export const infoHomeList = "info_HomeList"; //股东高端加盟自定义页
+
+
 //收银员
 export const Cashiers = "Cashier_Cashiers";
 export const CashiersgetAllStaff = "Cashiers_getAllStaff"; //列表

+ 99 - 0
src/api/Department.js

@@ -163,3 +163,102 @@ export function getAllStaffStaff(data) {
     data,
   });
 }
+
+
+//考勤
+//考勤列表
+export function getAllSignList(data) {
+  return request({
+    url: `/shop/ShopRostering/group_list`,
+    method: "post",
+    data,
+  });
+}
+export function getGroupDetail(data) {
+	console.log(data,'‘kqqqq');
+  return request({
+    url: `/shop/ShopRostering/group_details`,
+    method: "post",
+    data,
+  });
+}
+// 添加
+export function postAddGroup(data) {
+  return request({
+    url: `/shop/ShopRostering/add_group`,
+    method: "post",
+    data,
+  });
+}
+// 删除
+export function postDelGroup(data) {
+  return request({
+    url: `/shop/ShopRostering/group_delete`,
+    method: "post",
+    data,
+  });
+}
+// 删除考勤组员工
+export function postDelGroupStaff(data) {
+  return request({
+    url: `/shop/ShopRostering/remove`,
+    method: "post",
+    data,
+  });
+}
+// 添加考勤组员工
+export function postAddGroupStaff(data) {
+  return request({
+    url: `/shop/ShopRostering/user_add`,
+    method: "post",
+    data,
+  });
+}
+// 添加考勤排班
+export function postRostering(data) {
+  return request({
+    url: `/shop/ShopRostering/rostering`,
+    method: "post",
+    data,
+  });
+}
+// 添加考勤排班记录
+export function getGroupRecord(data) {
+  return request({
+    url: `/shop/ShopRostering/group_record`,
+    method: "post",
+    data,
+  });
+}
+// 班次列表
+export function getAllClassList(data) {
+  return request({
+    url: `/shop/ShopRostering/shift_list`,
+    method: "post",
+    data,
+  });
+}
+// 删除班次
+export function postDelClass(data) {
+  return request({
+    url: `/shop/ShopRostering/shift_delete`,
+    method: "post",
+    data,
+  });
+}
+// 添加班次
+export function postAddClass(data) {
+  return request({
+    url: `/shop/ShopRostering/add_shift`,
+    method: "post",
+    data,
+  });
+}
+// 班次详情
+export function postClassDetails(data) {
+  return request({
+    url: `/shop/ShopRostering/shift_details`,
+    method: "post",
+    data,
+  });
+}

+ 101 - 0
src/api/OrderSubscribe.js

@@ -0,0 +1,101 @@
+import request from "@/utils/request";
+/**
+ * 预约管理
+ * */
+// 项目列表
+export function getShopProjectList(data) {
+  return request({
+    url: `/shop/ShopProject/list`,
+    method: "post",
+    data,
+  });
+}
+// 添加项目
+export function addShopProject(data) {
+  return request({
+    url: `/shop/ShopProject/add`,
+    method: "post",
+    data,
+  });
+}
+// 修改项目
+export function updateShopProject(data) {
+  return request({
+    url: `/shop/ShopProject/update`,
+    method: "post",
+    data,
+  });
+}
+// 删除项目
+export function deleteShopProject(data) {
+  return request({
+    url: `/shop/ShopProject/delete`,
+    method: "post",
+    data,
+  });
+}
+// 上下架
+export function setShopProject(data) {
+  return request({
+    url: `/shop/ShopProject/set_shop`,
+    method: "post",
+    data,
+  });
+}
+// 项目详情
+export function detailsShopProject(data) {
+  return request({
+    url: `/shop/ShopProject/details?id=${data.id}`,
+    method: "get",
+    data:data,
+  });
+}
+// 预约详情
+export function detailsSubscribe(data) {
+  return request({
+    url: `/shop/ShopSubscribe/details?id=${data}`,
+    method: "get",
+    data:data,
+  });
+}
+
+// 服务预约
+export function addSubscribe(data) {
+  return request({
+    url: `/shop/ShopSubscribe/add`,
+    method: "post",
+    data:data,
+  });
+}
+// 修改预约
+export function updateSubscribe(data) {
+  return request({
+    url: `/shop/ShopSubscribe/update`,
+    method: "post",
+    data:data,
+  });
+}
+// 预约支付
+export function paymentSubscribe(data) {
+  return request({
+    url: `/shop/ShopSubscribe/confirm_payment`,
+    method: "post",
+    data:data,
+  });
+}
+// 取消预约
+export function cancelSubscribe(data) {
+  return request({
+    url: `/shop/ShopSubscribe/cancel`,
+    method: "post",
+    data:data,
+  });
+}
+// 预约列表
+export function getSubscribeList(data) {
+  return request({
+    url: `/shop/ShopSubscribe/list`,
+    method: "post",
+    data:data,
+  });
+}

+ 75 - 0
src/api/card.js

@@ -0,0 +1,75 @@
+import request from "@/utils/request";
+
+// 服务优惠卡
+export function cardList(data) {
+  return request({
+    url: `/shop/ShopCard/list`,
+    method: "post",
+    data,
+  });
+}
+// 删除服务优惠卡
+export function deleteCard(data) {
+  return request({
+    url: `/shop/ShopCard/delete`,
+    method: "post",
+    data,
+  });
+}
+// 添加服务优惠卡
+export function addCard(data) {
+  return request({
+    url: `/shop/ShopCard/add`,
+    method: "post",
+    data,
+  });
+}
+// 修改服务优惠卡
+export function updateCard(data) {
+  return request({
+    url: `/shop/ShopCard/update`,
+    method: "post",
+    data,
+  });
+}
+// 服务优惠卡详情
+export function detailsCard(data) {
+  return request({
+    url: `/shop/ShopCard/details`,
+    method: "post",
+    data,
+  });
+}
+
+// 优惠卡绑定项目列表
+export function listBindItem(data) {
+  return request({
+    url: `/shop/ShopCardBind/list`,
+    method: "post",
+    data,
+  });
+}
+// 绑定项目
+export function addBindItem(data) {
+  return request({
+    url: `/shop/ShopCardBind/add`,
+    method: "post",
+    data,
+  });
+}
+// 删除绑定项目
+export function deleteBindItem(data) {
+  return request({
+    url: `/shop/ShopCardBind/delete`,
+    method: "post",
+    data,
+  });
+}
+// 修改绑定优惠次数
+export function updateBindItem(data) {
+  return request({
+    url: `/shop/ShopCardBind/update`,
+    method: "post",
+    data,
+  });
+}

+ 114 - 108
src/api/user.js

@@ -1,178 +1,184 @@
 import request from "@/utils/request";
-import { loginRSA, tokenName } from "@/config/settings";
+import {
+	loginRSA,
+	tokenName
+} from "@/config/settings";
 
 export async function login(data) {
-  return request({
-    url: "/UserCenter/UserCenterLogin/login",
-    method: "post",
-    data,
-  });
+	return request({
+		url: "/UserCenter/UserCenterLogin/login",
+		method: "post",
+		data,
+	});
 }
 
 export async function socialLogin(data) {
-  return request({
-    url: "/socialLogin",
-    method: "post",
-    data,
-  });
+	return request({
+		url: "/socialLogin",
+		method: "post",
+		data,
+	});
 }
 export function getUserInfo(accessToken) {
-  //此处为了兼容mock.js使用data传递accessToken,如果使用mock可以走headers
-  return request({
-    url: "/userInfo",
-    method: "post",
-    data: {
-      [tokenName]: accessToken,
-    },
-  });
+	//此处为了兼容mock.js使用data传递accessToken,如果使用mock可以走headers
+	return request({
+		url: "/userInfo",
+		method: "post",
+		data: {
+			[tokenName]: accessToken,
+		},
+	});
 }
 
 export function logout() {
-  return request({
-    url: "/logout",
-    method: "post",
-  });
+	return request({
+		url: "/logout",
+		method: "post",
+	});
 }
 
 export function register() {
-  return request({
-    url: "/register",
-    method: "post",
-  });
+	return request({
+		url: "/register",
+		method: "post",
+	});
 }
 
 export function updateUserCenterData(data) {
-  return request({
-    url: "/Enterprise/UserEnterprise/updateUserCenterData",
-    method: "post",
-    data,
-  });
+	return request({
+		url: "/Enterprise/UserEnterprise/updateUserCenterData",
+		method: "post",
+		data,
+	});
 }
 
 // 首页概况
 export function Enterprise(data) {
-  return request({
-    url: `/Enterprise/Enterprise/overview`,
-    method: "post",
-    data,
-  });
+	return request({
+		url: `/Enterprise/Enterprise/overview`,
+		method: "post",
+		data,
+	});
 }
 // 获取企业列表
 export function getAllEnterprise() {
-  return request({
-    url: "/Enterprise/UserEnterprise/getAllEnterprise",
-    method: "get",
-  });
+	return request({
+		url: "/Enterprise/UserEnterprise/getAllEnterprise",
+		method: "get",
+	});
 }
 // 所有企业类型
 export function getAllEnterpriseCategory() {
-  return request({
-    url: "/Common/EnterpriseCategory/getAllEnterpriseCategory",
-    method: "get",
-  });
+	return request({
+		url: "/Common/EnterpriseCategory/getAllEnterpriseCategory",
+		method: "get",
+	});
 }
 // 企业详情
 export function getEnterpriseInfo() {
-  return request({
-    url: "/Enterprise/Enterprise/getEnterpriseInfo",
-    method: "get",
-  });
+	return request({
+		url: "/Enterprise/Enterprise/getEnterpriseInfo",
+		method: "get",
+	});
 }
 // 企业修改
 export function updateEnterprise(data) {
-  return request({
-    url: "/Enterprise/Enterprise/updateEnterprise",
-    method: "put",
-    data,
-  });
+	return request({
+		url: "/Enterprise/Enterprise/updateEnterprise",
+		method: "put",
+		data,
+	});
 }
 // 企业删除
 export function deleteEnterprise(data) {
-  return request({
-    url: "/Enterprise/Enterprise/deleteEnterprise",
-    method: "delete",
-    data,
-  });
+	return request({
+		url: "/Enterprise/Enterprise/deleteEnterprise",
+		method: "delete",
+		data,
+		headers: {
+			"token": data.data.token,
+		}
+	});
 }
 
 // 企业添加
 export function addEnterprise(data) {
-  return request({
-    url: "/Enterprise/UserEnterprise/addEnterprise",
-    method: "post",
-    data,
-  });
+	return request({
+		url: "/Enterprise/UserEnterprise/addEnterprise",
+		method: "post",
+		data,
+	});
 }
 // 获取企业列表(依据手机号)
 export function getAllEnterprisePhone(data) {
-  return request({
-    url: "/UserCenter/UserCenterRegister/getAllEnterprise",
-    method: "post",
-    data,
-  });
+	return request({
+		url: "/UserCenter/UserCenterRegister/getAllEnterprise",
+		method: "post",
+		data,
+	});
 }
 // 生成AUTHORIZATION
 export function createToken(data) {
-  return request({
-    url: "/UserCenter/UserCenterLogin/createToken",
-    method: "post",
-    data,
-  });
+	return request({
+		url: "/UserCenter/UserCenterLogin/createToken",
+		method: "post",
+		data,
+	});
 }
 // 获取当前登录员工信息
 export function getStaffByToken(roleType, data) {
-  return request({
-    url: `/Enterprise/Enterprise/getStaffByToken/${roleType}`,
-    method: "get",
-    data,
-  });
+	return request({
+		url: `/Enterprise/Enterprise/getStaffByToken/${roleType}`,
+		method: "get",
+		data,
+	});
 }
 
 //  当前登录用户的权限
 export function getAclList(id, data) {
-  return request({
-    url: `Enterprise/UserEnterprise/getAclList/${id}`,
-    method: "get",
-    data,
-  });
+	return request({
+		url: `Enterprise/UserEnterprise/getAclList/${id}`,
+		method: "get",
+		data,
+	});
 }
 
 // 用户注册
 export function Register(data) {
-  return request({
-    url: `UserCenter/UserCenterRegister/addUserCenter`,
-    method: "post",
-    data,
-  });
+	return request({
+		url: `UserCenter/UserCenterRegister/addUserCenter`,
+		method: "post",
+		data,
+	});
 }
 // 判断手机号是否注册
 export function mobileIsRegister(phone) {
-  return request({
-    url: `UserCenter/UserCenterRegister/mobileIsRegister/${phone}`,
-    method: "get",
-  });
+	return request({
+		url: `UserCenter/UserCenterRegister/mobileIsRegister/${phone}`,
+		method: "get",
+	});
 }
 // 忘记密码
 export function forgetPassword(data) {
-  return request({
-    url: `UserCenter/UserCenterRegister/forgetPassword`,
-    method: "post",
-    data,
-  });
+	return request({
+		url: `UserCenter/UserCenterRegister/forgetPassword`,
+		method: "post",
+		data,
+	});
 }
 // 小程序绑定手机号
 export function appletsRegister(data) {
-  return request({
-    url: `UserCenter/UserCenterRegister/appletsRegister`,
-    method: "post",
-    data,
-  });
+	return request({
+		url: `UserCenter/UserCenterRegister/appletsRegister`,
+		method: "post",
+		data,
+	});
 }
 //修改手机号(账号)
 export function updateUserMobile(data) {
-  return request({
-    url: `UserCenter/UserCenterRegister/updateUserMobile`,
-    method: "post",
-    data,
-  });
+	return request({
+		url: `UserCenter/UserCenterRegister/updateUserMobile`,
+		method: "post",
+		data,
+	});
 }

+ 3 - 1
src/component/common/DepartmentSel.vue

@@ -90,7 +90,9 @@
       // 获取部门列表 getAllDepartment
       async getAllDepartment() {
         const data = await getAllDepartment();
-
+		if(!data.data.length){
+			data.data = [];
+		}
         this.Department_data = data.data;
       },
       change(val) {

+ 1 - 1
src/component/common/SelectCustomer.vue

@@ -382,7 +382,7 @@
       line-height: 32px;
       text-align: center;
       position: absolute;
-      right: 25px;
+      right: 5px;
       top: 50%;
       transform: translateY(-50%);
       cursor: pointer;

+ 146 - 0
src/component/goods/itemList.vue

@@ -0,0 +1,146 @@
+<template>
+	<div style="text-align: left">
+		<el-dialog title="项目列表" :visible.sync="dialogVisible" width="60%" :modal="modal" :close-on-press-escape="false"
+			:close-on-click-modal="false" @close="close">
+			<div>
+				<div class="clearfix" style="padding-bottom: 10px">
+					<div class="float_left">
+						<el-input v-model="search_key" placeholder="请输入项目名称" size="small" style="width: 280px" clearable
+							@keyup.enter.native="pageChange(1)" @clear="pageChange(1)">
+							<el-button slot="append" icon="el-icon-search" @click="pageChange(1)"></el-button>
+						</el-input>
+					</div>
+					<el-button v-if="isShowAdd" class="float_right" type="text" @click="getList">
+						【刷新】
+					</el-button>
+				</div>
+
+				<el-table size="mini" :data="table_data" @row-dblclick="dblclick"
+					@selection-change="handleSelectionChange">
+					<el-table-column v-if="isCheck" type="selection" width="55"></el-table-column>
+					<el-table-column prop="name" label="项目" min-width="200"></el-table-column>
+					<el-table-column prop="price" label="价格" min-width="100"></el-table-column>
+					<el-table-column prop="service_time" label="服务时间(分)" min-width="100"></el-table-column>
+					<el-table-column prop="commission" label="提成金额(元)" min-width="100"></el-table-column>
+					
+					<el-table-column label="选择" align="center">
+						<template slot-scope="scope">
+							<el-button size="mini" icon="el-icon-check" @click="dblclick(scope.row)"></el-button>
+						</template>
+					</el-table-column>
+				</el-table>
+			</div>
+			<div class="footer clearfix">
+				<div v-if="isCheck" class="float_left" style="padding-top: 20px">
+					<el-button size="small" type="primary" @click="confirm">
+						确认
+					</el-button>
+					<el-button size="small" @click="close">取消</el-button>
+				</div>
+				<div class="float_right">
+					<FooterPage :page-size="pageSize" :total-page.sync="total" :current-page.sync="page"
+						@pageChange="pageChange" @sizeChange="sizeChange"></FooterPage>
+				</div>
+			</div>
+		</el-dialog>
+	</div>
+</template>
+
+<script>
+	import {
+		search
+	} from "@/api/Shop";
+	import {
+		getShopProjectList,
+	} from "@/api/OrderSubscribe";
+	export default {
+		name: "GoodsChooseShop",
+		props: {
+			dialogVisible: {
+				type: Boolean,
+				default: false,
+			},
+			isCheck: {
+				type: Boolean,
+				default: false,
+			},
+			isShowAdd: {
+				type: Boolean,
+				default: false,
+			},
+			enable: {
+				type: Boolean,
+				default: false,
+			},
+			modal: {
+				type: Boolean,
+				default: true,
+			},
+		},
+		data() {
+			return {
+				search_key: "",
+				pageSize: 10,
+				total: 0,
+				page: 1,
+				table_data: [],
+				choose_data: [],
+				enableStatus: "",
+			};
+		},
+		created() {
+			if (this.enable) {
+				this.enableStatus = 5;
+			} else {
+				this.enableStatus = "";
+			}
+			this.getList();
+		},
+		methods: {
+			async getList() {
+				const params = {
+					page: this.page,
+					pageSize: this.pageSize,
+					name: this.search_key,
+					is_show: 2
+				};
+				const data = await getShopProjectList(params);
+				this.table_data = data.data;
+				this.total = data.pageTotal;
+			},
+			getData() {
+				this.getList();
+			},
+			dblclick(row) {
+				this.close();
+				this.$emit("confirm", [row]);
+			},
+			pageChange(val) {
+				this.page = val;
+				this.getData();
+			},
+			sizeChange(val) {
+				this.page = 1;
+				this.pageSize = val;
+				this.getData();
+			},
+			// 关闭弹框
+			close() {
+				this.$emit("close");
+			},
+			confirm() {
+				this.$emit("confirm", this.choose_data);
+				this.close();
+			},
+			handleSelectionChange(val) {
+				this.choose_data = val;
+			},
+		},
+	};
+</script>
+
+<style scoped>
+	.footer {
+		padding-bottom: 10px;
+	}
+</style>

+ 2 - 2
src/config/settings.js

@@ -6,7 +6,7 @@ const apiUrl = {
     UPLOAD_URL: "https://upload.qianniao.vip/", // 项目上传域名
     QINIU_KEY: "niuliukj", // 七牛空间名称
     SAASTAG: "qianniaoSAASdev", // webSocket前缀
-    wsServer: "wss://ql.frp.liuniu946.com:9501", // webSocket连结域名
+    wsServer: "wss://api.liuniukj.com:9501", // webSocket连结域名
   },
   master: {
     INDEX_URL: "https://api.liuniukj.com",
@@ -15,7 +15,7 @@ const apiUrl = {
     UPLOAD_URL: "https://upload.qianniao.vip/",
     QINIU_KEY: "niuliukj",
     SAASTAG: "qianniaoSAAS",
-    wsServer: "wss://ql.frp.liuniu946.com:9501",
+    wsServer: "wss://api.liuniukj.com:9501",
   },
 };
 // 阿里空间上传

+ 4434 - 4343
src/router/index.js

@@ -25,4372 +25,4463 @@
 import Vue from "vue";
 import VueRouter from "vue-router";
 import Layout from "@/layouts";
-import { publicPath, routerMode } from "@/config/settings";
+import {
+	publicPath,
+	routerMode
+} from "@/config/settings";
 import * as nodes from "@/access/node";
 Vue.use(VueRouter);
-export const constantRoutes = [
-  {
-    path: "/ExpireTip",
-    component: () => import("@/views/ExpireTip"),
-    hidden: true,
-  },
-  {
-    path: "/login",
-    component: () => import("@/views/login"),
-    hidden: true,
-  },
-  //收银台登录
-  {
-    path: "/CashierLogin",
-    name: "CashierLogin",
-    hidden: true,
-    noKeepAlive: true,
-    component: () => import("@/views/CashierShop/CashierLogin"),
-  },
-  // 多商户登录
-  {
-    path: "/MerchantsLogin",
-    name: "MerchantsLogin",
-    hidden: true,
-    noKeepAlive: true,
-    component: () => import("@/views/login/MerchantsLogin"),
-  },
-  {
-    path: "/401",
-    name: "401",
-    component: () => import("@/views/401"),
-    hidden: true,
-    noKeepAlive: true,
-  },
-  {
-    path: "/404",
-    name: "404",
-    component: () => import("@/views/404"),
-    hidden: true,
-    noKeepAlive: true,
-  },
-  {
-    path: "/AuthorizePage",
-    name: "AuthorizePage",
-    hidden: true,
-    noKeepAlive: true,
-    meta: {
-      title: "授权",
-    },
-    component: () => import("@/views/common/AuthorizePage"),
-  },
-  {
-    path: "/MenuList",
-    name: "MenuList",
-    hidden: true,
-    noKeepAlive: true,
-    meta: {
-      title: "菜单管理",
-    },
-    component: () => import("@/views/common/MenuList"),
-  },
-  // 打印
-  {
-    path: "/OrderPrinting/:userCenterId/:id",
-    name: "OrderPrinting",
-    hidden: true,
-    noKeepAlive: true,
-    meta: {
-      title: "打印订单",
-    },
-    component: () => import("@/views/order/manageO/OrderPrinting"),
-  },
-  {
-    path: "/OrderPrintingBetch",
-    name: "OrderPrintingBetch",
-    hidden: true,
-    noKeepAlive: true,
-    meta: {
-      title: "批量打印订单",
-    },
-    component: () => import("@/views/order/manageO/OrderPrintingBetch"),
-  },
-  {
-    path: "/OutgoingPrinting/:id",
-    name: "OutgoingPrinting",
-    hidden: true,
-    noKeepAlive: true,
-    meta: {
-      title: "打印出库单",
-    },
-    component: () => import("@/views/stock/OutIn/OutgoingPrinting"),
-  },
-  {
-    path: "/StoragePrinting/:id",
-    name: "StoragePrinting",
-    hidden: true,
-    noKeepAlive: true,
-    meta: {
-      title: "打印入库单",
-    },
-    component: () => import("@/views/stock/OutIn/StoragePrinting"),
-  },
-  {
-    path: "/ReturnOrderPrinting/:id",
-    name: "ReturnOrderPrinting",
-    hidden: true,
-    noKeepAlive: true,
-    meta: {
-      title: "打印退货单",
-    },
-    component: () => import("@/views/order/manageO/ReturnOrderPrinting"),
-  },
-  {
-    path: "/ReconciliationPrint",
-    name: "ReconciliationPrint",
-    hidden: true,
-    noKeepAlive: true,
-    meta: {
-      title: "打印库存日报",
-    },
-    component: () => import("@/views/MoneyGoodsBill/order/Reconciliation"),
-  },
-  {
-    path: "/ReconciliationSale",
-    name: "ReconciliationSale",
-    hidden: true,
-    noKeepAlive: true,
-    meta: {
-      title: "打印销售日报",
-    },
-    component: () => import("@/views/MoneyGoodsBill/order/ReconciliationSale"),
-  },
-  {
-    path: "/ReconciliationFinance",
-    name: "ReconciliationFinance",
-    hidden: true,
-    noKeepAlive: true,
-    meta: {
-      title: "打印财务日报",
-    },
-    component: () =>
-      import("@/views/MoneyGoodsBill/order/ReconciliationFinance"),
-  },
-  {
-    path: "/PrintMerchants/:id",
-    name: "PrintMerchants",
-    hidden: true,
-    noKeepAlive: true,
-    meta: {
-      title: "打印商户入库",
-    },
-    component: () => import("@/views/stock/OutIn/PrintMerchants"),
-  },
-  {
-    path: "/PrintPurchase/:id",
-    name: "PrintPurchase",
-    hidden: true,
-    noKeepAlive: true,
-    meta: {
-      title: "打印采购单",
-    },
-    component: () => import("@/views/Purchase/ManageP/PrintPurchase"),
-  },
-  {
-    path: "/MerchantsProcurement/:id",
-    name: "MerchantsProcurement",
-    hidden: true,
-    noKeepAlive: true,
-    meta: {
-      title: "打印商户采购单",
-    },
-    component: () => import("@/views/Purchase/ManageP/MerchantsProcurement"),
-  },
-  {
-    path: "/AllocatingOutbound/:id",
-    name: "AllocatingOutbound",
-    hidden: true,
-    noKeepAlive: true,
-    meta: {
-      title: "打印调拨出库单",
-    },
-    component: () => import("@/views/Purchase/ManageP/AllocatingOutbound"),
-  },
-  // 打印end
-  {
-    path: "/Enterprise",
-    name: "Enterprise",
-    noKeepAlive: true,
-    component: () => import("@/views/Enterprise/index"),
-    hidden: true,
-  },
-  {
-    path: "/CreateStore",
-    name: "CreateStore",
-    noKeepAlive: true,
-    meta: {
-      title: "创建企业",
-    },
-    component: () => import("@/views/Enterprise/CreateStore"),
-    hidden: true,
-  },
-  {
-    path: "/EditStore/:id",
-    name: "/EditStore",
-    noKeepAlive: true,
-    meta: {
-      title: "编辑企业",
-    },
-    component: () => import("@/views/Enterprise/CreateStore"),
-    hidden: true,
-  },
-  {
-    path: "/SelectStore",
-    name: "/SelectStore",
-    noKeepAlive: true,
-    meta: {
-      title: "门店选择",
-    },
-    component: () => import("@/views/Enterprise/SelectStore"),
-    hidden: true,
-  },
-  {
-    path: "/MultiMerchant",
-    name: "/MultiMerchant",
-    noKeepAlive: true,
-    meta: {
-      title: "商户选择",
-    },
-    component: () => import("@/views/Enterprise/MultiMerchant"),
-    hidden: true,
-  },
+export const constantRoutes = [{
+		path: "/ExpireTip",
+		component: () => import("@/views/ExpireTip"),
+		hidden: true,
+	},
+	{
+		path: "/login",
+		component: () => import("@/views/login"),
+		hidden: true,
+	},
+	//收银台登录
+	{
+		path: "/CashierLogin",
+		name: "CashierLogin",
+		hidden: true,
+		noKeepAlive: true,
+		component: () => import("@/views/CashierShop/CashierLogin"),
+	},
+	// 多商户登录
+	{
+		path: "/MerchantsLogin",
+		name: "MerchantsLogin",
+		hidden: true,
+		noKeepAlive: true,
+		component: () => import("@/views/login/MerchantsLogin"),
+	},
+	{
+		path: "/401",
+		name: "401",
+		component: () => import("@/views/401"),
+		hidden: true,
+		noKeepAlive: true,
+	},
+	{
+		path: "/404",
+		name: "404",
+		component: () => import("@/views/404"),
+		hidden: true,
+		noKeepAlive: true,
+	},
+	{
+		path: "/AuthorizePage",
+		name: "AuthorizePage",
+		hidden: true,
+		noKeepAlive: true,
+		meta: {
+			title: "授权",
+		},
+		component: () => import("@/views/common/AuthorizePage"),
+	},
+	{
+		path: "/MenuList",
+		name: "MenuList",
+		hidden: true,
+		noKeepAlive: true,
+		meta: {
+			title: "菜单管理",
+		},
+		component: () => import("@/views/common/MenuList"),
+	},
+	// 打印
+	{
+		path: "/OrderPrinting/:userCenterId/:id",
+		name: "OrderPrinting",
+		hidden: true,
+		noKeepAlive: true,
+		meta: {
+			title: "打印订单",
+		},
+		component: () => import("@/views/order/manageO/OrderPrinting"),
+	},
+	{
+		path: "/OrderPrintingBetch",
+		name: "OrderPrintingBetch",
+		hidden: true,
+		noKeepAlive: true,
+		meta: {
+			title: "批量打印订单",
+		},
+		component: () => import("@/views/order/manageO/OrderPrintingBetch"),
+	},
+	{
+		path: "/OutgoingPrinting/:id",
+		name: "OutgoingPrinting",
+		hidden: true,
+		noKeepAlive: true,
+		meta: {
+			title: "打印出库单",
+		},
+		component: () => import("@/views/stock/OutIn/OutgoingPrinting"),
+	},
+	{
+		path: "/StoragePrinting/:id",
+		name: "StoragePrinting",
+		hidden: true,
+		noKeepAlive: true,
+		meta: {
+			title: "打印入库单",
+		},
+		component: () => import("@/views/stock/OutIn/StoragePrinting"),
+	},
+	{
+		path: "/ReturnOrderPrinting/:id",
+		name: "ReturnOrderPrinting",
+		hidden: true,
+		noKeepAlive: true,
+		meta: {
+			title: "打印退货单",
+		},
+		component: () => import("@/views/order/manageO/ReturnOrderPrinting"),
+	},
+	{
+		path: "/ReconciliationPrint",
+		name: "ReconciliationPrint",
+		hidden: true,
+		noKeepAlive: true,
+		meta: {
+			title: "打印库存日报",
+		},
+		component: () => import("@/views/MoneyGoodsBill/order/Reconciliation"),
+	},
+	{
+		path: "/ReconciliationSale",
+		name: "ReconciliationSale",
+		hidden: true,
+		noKeepAlive: true,
+		meta: {
+			title: "打印销售日报",
+		},
+		component: () => import("@/views/MoneyGoodsBill/order/ReconciliationSale"),
+	},
+	{
+		path: "/ReconciliationFinance",
+		name: "ReconciliationFinance",
+		hidden: true,
+		noKeepAlive: true,
+		meta: {
+			title: "打印财务日报",
+		},
+		component: () =>
+			import("@/views/MoneyGoodsBill/order/ReconciliationFinance"),
+	},
+	{
+		path: "/PrintMerchants/:id",
+		name: "PrintMerchants",
+		hidden: true,
+		noKeepAlive: true,
+		meta: {
+			title: "打印商户入库",
+		},
+		component: () => import("@/views/stock/OutIn/PrintMerchants"),
+	},
+	{
+		path: "/PrintPurchase/:id",
+		name: "PrintPurchase",
+		hidden: true,
+		noKeepAlive: true,
+		meta: {
+			title: "打印采购单",
+		},
+		component: () => import("@/views/Purchase/ManageP/PrintPurchase"),
+	},
+	{
+		path: "/MerchantsProcurement/:id",
+		name: "MerchantsProcurement",
+		hidden: true,
+		noKeepAlive: true,
+		meta: {
+			title: "打印商户采购单",
+		},
+		component: () => import("@/views/Purchase/ManageP/MerchantsProcurement"),
+	},
+	{
+		path: "/AllocatingOutbound/:id",
+		name: "AllocatingOutbound",
+		hidden: true,
+		noKeepAlive: true,
+		meta: {
+			title: "打印调拨出库单",
+		},
+		component: () => import("@/views/Purchase/ManageP/AllocatingOutbound"),
+	},
+	// 打印end
+	{
+		path: "/Enterprise",
+		name: "Enterprise",
+		noKeepAlive: true,
+		component: () => import("@/views/Enterprise/index"),
+		hidden: true,
+	},
+	{
+		path: "/CreateStore",
+		name: "CreateStore",
+		noKeepAlive: true,
+		meta: {
+			title: "创建企业",
+		},
+		component: () => import("@/views/Enterprise/CreateStore"),
+		hidden: true,
+	},
+	{
+		path: "/EditStore/:id",
+		name: "/EditStore",
+		noKeepAlive: true,
+		meta: {
+			title: "编辑企业",
+		},
+		component: () => import("@/views/Enterprise/CreateStore"),
+		hidden: true,
+	},
+	{
+		path: "/SelectStore",
+		name: "/SelectStore",
+		noKeepAlive: true,
+		meta: {
+			title: "门店选择",
+		},
+		component: () => import("@/views/Enterprise/SelectStore"),
+		hidden: true,
+	},
+	{
+		path: "/MultiMerchant",
+		name: "/MultiMerchant",
+		noKeepAlive: true,
+		meta: {
+			title: "商户选择",
+		},
+		component: () => import("@/views/Enterprise/MultiMerchant"),
+		hidden: true,
+	},
 ];
 
-export const asyncRoutes = [
-  {
-    path: "/Edit",
-    name: "Edit",
-    hidden: true,
-    component: Layout,
-    children: [
-      {
-        path: "EditPwd/:id",
-        name: "EditPwd",
-        noKeepAlive: true,
-        meta: {
-          title: "账号设置",
-        },
-        component: () => import("@/views/login/EditPwd.vue"),
-      },
-      {
-        path: "EditStore/:id",
-        name: "EditStore",
-        noKeepAlive: true,
-        meta: {
-          title: "修改企业",
-        },
-        component: () => import("@/views/Enterprise/CreateStore"),
-        hidden: true,
-      },
-    ],
-  },
-  {
-    path: "/",
-    component: Layout,
-    redirect: "/index",
-    meta: {
-      title: "概况",
-      remixIcon: "mac-line",
-      affix: true,
-    },
-    children: [
-      {
-        path: "index",
-        name: "Index",
-        component: () => import("@/views/index"),
-        noKeepAlive: true,
-        meta: {
-          title: "经营概况",
-          remixIcon: "mac-line",
-          affix: true,
-        },
-      },
-      {
-        path: "MerchIndex",
-        name: "MerchIndex",
-        component: () => import("@/viewsMerch/index"),
-        noKeepAlive: true,
-        meta: {
-          title: "经营概况",
-          remixIcon: "mac-line",
-        },
-      },
-      {
-        path: "test",
-        name: "test",
-        component: () => import("@/views/index/test"),
-        noKeepAlive: true,
-        meta: {
-          title: "测试vxe-table",
-          remixIcon: "mac-line",
-        },
-      },
-      // {
-      //   path: "tagPrint",
-      //   name: "tagPrint",
-      //   component: () => import("@/views/index/tagPrint"),
-      //   noKeepAlive: true,
-      //   meta: {
-      //     title: "标签打印",
-      //     remixIcon: "mac-line",
-      //   },
-      // },
-    ],
-  },
-  {
-    path: "/goods",
-    component: Layout,
-    redirect: "/goods/manageG/BaseDataList",
-    alwaysShow: true,
-    meta: {
-      title: "商品",
-      remixIcon: "shopping-bag-line",
-    },
-    children: [
-      {
-        path: "manageG/GoodsImport",
-        name: "GoodsImport",
-        component: () => import("@/views/goods/manageG/GoodsImport.vue"),
-        meta: {
-          title: "导入商品",
-          remixIcon: "apps-line",
-          // access: nodes.BaseDataList,
-        },
-      },
-      {
-        path: "manageG/SingleGoodsImport",
-        name: "SingleGoodsImport",
-        component: () => import("@/views/goods/manageG/SingleGoodsImport.vue"),
-        meta: {
-          title: "单店铺导入商品",
-          remixIcon: "apps-line",
-          // access: nodes.BaseDataList,
-        },
-      },
-      {
-        path: "manageG/BaseDataList",
-        name: "BaseDataList",
-        component: () => import("@/views/goods/manageG/BaseDataList.vue"),
-        meta: {
-          title: "商品资料",
-          remixIcon: "apps-line",
-          access: nodes.BaseDataList,
-        },
-      },
-      {
-        path: "manageG/EditBaseData/:id",
-        name: "EditBaseData",
-        hidden: true,
-        meta: {
-          title: "编辑商品资料",
-          remixIcon: "apps-line",
-          access: nodes.EditBaseData,
-        },
-        component: () => import("@/views/goods/manageG/AddBaseData"),
-      },
-      {
-        path: "manageG/AddBaseData",
-        name: "AddBaseData",
-        hidden: true,
-        meta: {
-          title: "新建商品资料",
-          remixIcon: "apps-line",
-          access: nodes.AddBaseData,
-        },
-        component: () => import("@/views/goods/manageG/AddBaseData"),
-      },
-      {
-        path: "manageG/BaseDataDetail/:id",
-        name: "BaseDataDetail",
-        hidden: true,
-        meta: {
-          title: "商品详情",
-          remixIcon: "apps-line",
-          access: nodes.BaseDataListDetail,
-        },
-        component: () => import("@/views/goods/manageG/AddBaseData"),
-      },
-      {
-        path: "manageG/GoodsClassify",
-        name: "GoodsClassify",
-        meta: {
-          title: "商品分类",
-          remixIcon: "apps-line",
-          access: nodes.GoodsClassify,
-        },
-        component: () => import("@/views/goods/manageG/GoodsClassify"),
-      },
-      {
-        path: "manageG/GoodsGrouping",
-        name: "GoodsGrouping",
-        meta: {
-          title: "商品分组",
-          remixIcon: "apps-line",
-          access: nodes.GoodsGrouping,
-        },
-        component: () => import("@/views/goods/manageG/GoodsGrouping"),
-      },
-      {
-        path: "manageG/BrandManage",
-        name: "BrandManage",
-        meta: {
-          title: "商品品牌",
-          remixIcon: "apps-line",
-          access: nodes.BrandManage,
-        },
-        component: () => import("@/views/goods/manageG/BrandManage"),
-      },
-      /* {
-        path: 'manageG/AddBrand',
-        name: 'AddBrand',
-        meta: {
-          title: '新增品牌',
-        },
-        component: () => import('@/views/goods/manageG/AddBrand')
-      },
-      {
-        path: 'manageG/UpdateBrand/:id',
-        name: 'UpdateBrand',
-        meta: {
-          title: '编辑品牌',
-        },
-        component: () => import('@/views/goods/manageG/AddBrand')
-      }, */
-      {
-        path: "manageG/UnitMeasurement",
-        name: "UnitMeasurement",
-        meta: {
-          title: "单位管理",
-          remixIcon: "apps-line",
-          access: nodes.UnitSet,
-        },
-        component: () => import("@/views/goods/manageG/UnitMeasurement"),
-      },
-      {
-        path: "manageG/SpecManage",
-        name: "SpecManage",
-        meta: {
-          title: "属性管理",
-          remixIcon: "apps-line",
-          access: nodes.specManage,
-        },
-        component: () => import("@/views/goods/manageG/SpecManage"),
-      },
+export const asyncRoutes = [{
+		path: "/Edit",
+		name: "Edit",
+		hidden: true,
+		component: Layout,
+		children: [{
+				path: "EditPwd/:id",
+				name: "EditPwd",
+				noKeepAlive: true,
+				meta: {
+					title: "账号设置",
+				},
+				component: () => import("@/views/login/EditPwd.vue"),
+			},
+			{
+				path: "EditStore/:id",
+				name: "EditStore",
+				noKeepAlive: true,
+				meta: {
+					title: "修改企业",
+				},
+				component: () => import("@/views/Enterprise/CreateStore"),
+				hidden: true,
+			},
+		],
+	},
+	{
+		path: "/",
+		component: Layout,
+		redirect: "/index",
+		meta: {
+			title: "概况",
+			remixIcon: "mac-line",
+			affix: true,
+		},
+		children: [{
+				path: "index",
+				name: "Index",
+				component: () => import("@/views/index"),
+				noKeepAlive: true,
+				meta: {
+					title: "经营概况",
+					remixIcon: "mac-line",
+					affix: true,
+				},
+			},
+			{
+				path: "MerchIndex",
+				name: "MerchIndex",
+				component: () => import("@/viewsMerch/index"),
+				noKeepAlive: true,
+				meta: {
+					title: "经营概况",
+					remixIcon: "mac-line",
+				},
+			},
+			{
+				path: "test",
+				name: "test",
+				component: () => import("@/views/index/test"),
+				noKeepAlive: true,
+				meta: {
+					title: "测试vxe-table",
+					remixIcon: "mac-line",
+				},
+			},
+			// {
+			//   path: "tagPrint",
+			//   name: "tagPrint",
+			//   component: () => import("@/views/index/tagPrint"),
+			//   noKeepAlive: true,
+			//   meta: {
+			//     title: "标签打印",
+			//     remixIcon: "mac-line",
+			//   },
+			// },
+		],
+	},
+	{
+		path: "/goods",
+		component: Layout,
+		redirect: "/goods/manageG/BaseDataList",
+		alwaysShow: true,
+		meta: {
+			title: "商品",
+			remixIcon: "shopping-bag-line",
+		},
+		children: [{
+				path: "manageG/GoodsImport",
+				name: "GoodsImport",
+				component: () => import("@/views/goods/manageG/GoodsImport.vue"),
+				meta: {
+					title: "导入商品",
+					remixIcon: "apps-line",
+					// access: nodes.BaseDataList,
+				},
+			},
+			{
+				path: "manageG/SingleGoodsImport",
+				name: "SingleGoodsImport",
+				component: () => import("@/views/goods/manageG/SingleGoodsImport.vue"),
+				meta: {
+					title: "单店铺导入商品",
+					remixIcon: "apps-line",
+					// access: nodes.BaseDataList,
+				},
+			},
+			{
+				path: "manageG/BaseDataList",
+				name: "BaseDataList",
+				component: () => import("@/views/goods/manageG/BaseDataList.vue"),
+				meta: {
+					title: "商品资料",
+					remixIcon: "apps-line",
+					access: nodes.BaseDataList,
+				},
+			},
+			{
+				path: "manageG/EditBaseData/:id",
+				name: "EditBaseData",
+				hidden: true,
+				meta: {
+					title: "编辑商品资料",
+					remixIcon: "apps-line",
+					access: nodes.EditBaseData,
+				},
+				component: () => import("@/views/goods/manageG/AddBaseData"),
+			},
+			{
+				path: "manageG/AddBaseData",
+				name: "AddBaseData",
+				hidden: true,
+				meta: {
+					title: "新建商品资料",
+					remixIcon: "apps-line",
+					access: nodes.AddBaseData,
+				},
+				component: () => import("@/views/goods/manageG/AddBaseData"),
+			},
+			{
+				path: "manageG/BaseDataDetail/:id",
+				name: "BaseDataDetail",
+				hidden: true,
+				meta: {
+					title: "商品详情",
+					remixIcon: "apps-line",
+					access: nodes.BaseDataListDetail,
+				},
+				component: () => import("@/views/goods/manageG/AddBaseData"),
+			},
+			{
+				path: "manageG/GoodsClassify",
+				name: "GoodsClassify",
+				meta: {
+					title: "商品分类",
+					remixIcon: "apps-line",
+					access: nodes.GoodsClassify,
+				},
+				component: () => import("@/views/goods/manageG/GoodsClassify"),
+			},
+			{
+				path: "manageG/GoodsGrouping",
+				name: "GoodsGrouping",
+				meta: {
+					title: "商品分组",
+					remixIcon: "apps-line",
+					access: nodes.GoodsGrouping,
+				},
+				component: () => import("@/views/goods/manageG/GoodsGrouping"),
+			},
+			{
+				path: "manageG/BrandManage",
+				name: "BrandManage",
+				meta: {
+					title: "商品品牌",
+					remixIcon: "apps-line",
+					access: nodes.BrandManage,
+				},
+				component: () => import("@/views/goods/manageG/BrandManage"),
+			},
+			/* {
+			  path: 'manageG/AddBrand',
+			  name: 'AddBrand',
+			  meta: {
+			    title: '新增品牌',
+			  },
+			  component: () => import('@/views/goods/manageG/AddBrand')
+			},
+			{
+			  path: 'manageG/UpdateBrand/:id',
+			  name: 'UpdateBrand',
+			  meta: {
+			    title: '编辑品牌',
+			  },
+			  component: () => import('@/views/goods/manageG/AddBrand')
+			}, */
+			{
+				path: "manageG/UnitMeasurement",
+				name: "UnitMeasurement",
+				meta: {
+					title: "单位管理",
+					remixIcon: "apps-line",
+					access: nodes.UnitSet,
+				},
+				component: () => import("@/views/goods/manageG/UnitMeasurement"),
+			},
+			{
+				path: "manageG/SpecManage",
+				name: "SpecManage",
+				meta: {
+					title: "属性管理",
+					remixIcon: "apps-line",
+					access: nodes.specManage,
+				},
+				component: () => import("@/views/goods/manageG/SpecManage"),
+			},
 
-      {
-        path: "sale/PublishGoods",
-        name: "PublishGoods",
-        component: () => import("@/views/goods/sale/PublishGoods.vue"),
-        meta: {
-          title: "商品列表",
-          access: nodes.PublishGoods,
-          remixIcon: "apps-line",
-        },
-      },
-      //多商户商品列表
-      {
-        path: "sale/MerchantsGoods",
-        name: "MerchantsGoods",
-        component: () => import("@/viewsMerch/goods/GoodsList.vue"),
-        meta: {
-          title: "商品列表",
-          remixIcon: "apps-line",
-        },
-      },
-      {
-        path: "sale/AddGoods",
-        name: "AddGoods",
-        hidden: true,
-        meta: {
-          title: "发布商品",
-          access: nodes.PublishGoodsAddGoods,
-          remixIcon: "apps-line",
-        },
-        component: () => import("@/views/goods/sale/AddGoods"),
-      },
-      {
-        path: "sale/EditGoods/:id",
-        name: "EditGoods",
-        hidden: true,
-        meta: {
-          title: "修改商品",
-          access: nodes.PublishGoodsEditGoods,
-          remixIcon: "apps-line",
-        },
-        component: () => import("@/views/goods/sale/AddGoods"),
-      },
-      {
-        path: "sale/AddGoodsOneStore",
-        name: "AddGoodsOneStore",
-        hidden: true,
-        meta: {
-          title: "新建商品",
-          remixIcon: "apps-line",
-          access: nodes.PublishGoodsAddBasicAndPublishGoods,
-        },
-        component: () => import("@/views/goods/sale/AddGoodsOneStore"),
-      },
-      {
-        path: "sale/EditGoodsOneStore/:id",
-        name: "EditGoodsOneStore",
-        hidden: true,
-        meta: {
-          title: "修改商品",
-          remixIcon: "apps-line",
-          access: nodes.PublishGoodsEditQuickGoods,
-        },
-        component: () => import("@/views/goods/sale/AddGoodsOneStore"),
-      },
-      {
-        path: "sale/GoodsDetail/:id",
-        name: "GoodsDetail",
-        hidden: true,
-        meta: {
-          title: "商品详请",
-          remixIcon: "apps-line",
-          access: nodes.PublishGoodsGetGoodsInfo,
-        },
-        component: () => import("@/views/goods/sale/GoodsDetail"),
-      },
-      {
-        path: "sale/UpdateGoods/:id",
-        name: "UpdateGoods",
-        hidden: true,
-        meta: {
-          title: "编辑商品",
-          remixIcon: "apps-line",
-          access: nodes.PublishGoodsEditGoods,
-        },
-        component: () => import("@/views/goods/sale/AddGoods"),
-      },
-      // 商品服务
-      {
-        path: "goodsemprego/GoodsEmprego",
-        name: "GoodsEmprego",
-        hidden: true,
-        meta: {
-          title: "商品服务",
-          remixIcon: "apps-line",
-          access: nodes.GoodsEmprego,
-        },
-        component: () => import("@/views/goods/goodsemprego/GoodsEmprego"),
-      },
-      {
-        path: "sale/priceTable",
-        name: "priceTable",
-        meta: {
-          title: "价格管理",
-          remixIcon: "bookmark-3-line",
-        },
-        component: () => import("@/views/goods/sale/PriceTable"),
-      },
-      {
-        path: "sale/CostumeAdjustPrice",
-        name: "CostumeAdjustPrice",
-        meta: {
-          title: "客户调价单",
-          remixIcon: "bookmark-3-line",
-          access: nodes.CostumeAdjustPrice,
-        },
-        component: () => import("@/views/goods/sale/CostumeAdjustPrice"),
-      },
-      {
-        path: "sale/CostumeAdjustPriceAdd",
-        name: "CostumeAdjustPriceAdd",
-        hidden: true,
-        meta: {
-          title: "新建客户调价单",
-          remixIcon: "bookmark-3-line",
-          access: nodes.CostumeAdjustPriceAdd,
-        },
-        component: () => import("@/views/goods/sale/CostumeAdjustPriceAdd"),
-      },
-      {
-        path: "sale/CustomerTypeAdjustPrice",
-        name: "CustomerTypeAdjustPrice",
-        meta: {
-          title: "客户类型调价单",
-          remixIcon: "bookmark-3-line",
-          access: nodes.CustomerTypeAdj,
-        },
-        component: () => import("@/views/goods/sale/CustomerTypeAdjustPrice"),
-      },
-      {
-        path: "sale/CostumeTypeAdjustPriceAdd",
-        name: "CostumeTypeAdjustPriceAdd",
-        hidden: true,
-        meta: {
-          title: "新建客户类型调价单",
-          remixIcon: "bookmark-3-line",
-          access: nodes.CustomerTypeAdjAdd,
-        },
-        component: () => import("@/views/goods/sale/CostumeTypeAdjustPriceAdd"),
-      },
-      {
-        path: "sale/AdjustPrice",
-        name: "AdjustPrice",
-        meta: {
-          title: "商品调价单",
-          remixIcon: "bookmark-3-line",
-          access: nodes.AdjustPrice,
-        },
-        component: () => import("@/views/goods/sale/AdjustPrice"),
-      },
-      {
-        path: "sale/AdjustPriceGoods",
-        name: "AdjustPriceGoods",
-        meta: {
-          title: "调价单",
-          remixIcon: "bookmark-3-line",
-        },
-        component: () => import("@/views/goods/sale/AdjustPriceGoods"),
-      },
-      {
-        path: "sale/AddGoodsAdjustPrice",
-        name: "AddGoodsAdjustPrice",
-        hidden: true,
-        meta: {
-          title: "新建商品调价单",
-          remixIcon: "bookmark-3-line",
-          access: nodes.AdjustPriceAdd,
-        },
-        component: () => import("@/views/goods/sale/AddGoodsAdjustPrice"),
-      },
-    ],
-  },
-  {
-    path: "/order",
-    name: "Order",
-    component: Layout,
-    redirect: "/order/manageO/orderQuery",
-    alwaysShow: true,
-    meta: {
-      title: "订单",
-      remixIcon: "file-list-2-line",
-    },
-    children: [
-      /* {
-        path: "manageO/newOrderList",
-        name: "NewOrderList",
-        meta: {
-          title: "新订单列表",
-          access: nodes.newOrderList,
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/order/manageO/NewOrderList"),
-      },*/
-      {
-        path: "manageO/orderQuery",
-        name: "OrderQuery",
-        meta: {
-          title: "订货单",
-          access: nodes.orderQuery,
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/order/manageO/NewOrderList"),
-      },
-      {
-        path: "manageO/OrderDetails/:userCenterId/:id",
-        name: "OrderDetails",
-        meta: {
-          title: "订单详情",
-          // access: nodes.OrderDetails,
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/order/manageO/OrderDetails"),
-      },
-      {
-        path: "manageO/selfOrder",
-        name: "SelfOrder",
-        meta: {
-          title: "自提单",
-          access: nodes.selfOrder,
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/order/manageO/NewOrderList"),
-      },
-      /*{
-        path: "manageO/CancelOrder",
-        name: "CancelOrder",
-        meta: {
-          title: "已取消",
-          access: nodes.CancelOrder,
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/order/manageO/CancelOrder"),
-      },*/
-      {
-        path: "manageO/OrderAdd",
-        name: "OrderAdd",
-        meta: {
-          title: "代客下单",
-          access: nodes.OrderAdd,
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/order/manageO/OrderAdd"),
-      },
-      {
-        path: "manageO/OrderEdit/:userCenterId/:id",
-        name: "OrderEdit",
-        hidden: true,
-        meta: {
-          title: "编辑订单",
-          access: nodes.newOrderListEdit,
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/order/manageO/OrderAdd"),
-      },
-      {
-        path: "manageO/ReturnWarehousingOrder",
-        name: "ReturnWarehousingOrder",
-        meta: {
-          title: "退货单",
-          access: nodes.ReturnWarehousingOrder,
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/order/manageO/ReturnWarehousingOrder"),
-      },
-      {
-        path: "manageO/AddWareOrder",
-        name: "AddWareOrder",
-        hidden: true,
-        meta: {
-          title: "新增退货单",
-          access: nodes.ReturnWarehousingOrderAddOrderReturn,
-        },
-        component: () => import("@/views/order/manageO/AddWareOrder"),
-      },
-      {
-        path: "manageO/EditWareOrder/:id",
-        name: "EditWareOrder",
-        hidden: true,
-        meta: {
-          title: "编辑退货单",
-          access: nodes.ReturnWarehousingOrderUpdateOrderReturn,
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/order/manageO/AddWareOrder"),
-      },
-      {
-        path: "manageO/LookWareOrder/:id",
-        name: "LookWareOrder",
-        hidden: true,
-        meta: {
-          title: "查看退货单",
-          access: nodes.ReturnWarehousingOrderGetOrderReturn,
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/order/manageO/LookWareOrder"),
-      },
-      /* {
-        path: "saleO/AddSaleOrder",
-        name: "AddSaleOrder",
-        meta: {
-          title: "创建销售单",
-          access: nodes.addSaleOrder,
-          remixIcon: "bill-line",
-        },
-        component: () => import("@/views/order/saleO/AddSaleOrder"),
-      },
-      {
-        path: "saleO/SaleOrderList",
-        name: "SaleOrderList",
-        meta: {
-          title: "销售单列表",
-          access: nodes.saleOrderList,
-          remixIcon: "bill-line",
-        },
-        component: () => import("@/views/order/saleO/SaleOrderList"),
-      },*/
-      {
-        path: "SaleTotalForm/GoodsForm",
-        name: "GoodsForm",
-        meta: {
-          title: "商品汇总表",
-          access: nodes.OrderStatistics,
-          remixIcon: "file-text-line",
-        },
-        component: () => import("@/views/order/SaleTotalForm/TotalForm"),
-      },
-      {
-        path: "SaleTotalForm/CustomerForm",
-        name: "CustomerForm",
-        meta: {
-          title: "客户汇总表",
-          access: nodes.OrderStatistics,
-          remixIcon: "file-text-line",
-        },
-        component: () => import("@/views/order/SaleTotalForm/TotalForm"),
-      },
-      {
-        path: "SaleTotalForm/StaffForm",
-        name: "StaffForm",
-        meta: {
-          title: "人员汇总表",
-          access: nodes.OrderStatistics,
-          remixIcon: "file-text-line",
-        },
-        component: () => import("@/views/order/SaleTotalForm/TotalForm"),
-      },
-      {
-        path: "SaleTotalForm/SaleSummary",
-        name: "SaleSummary",
-        hidden: true,
-        meta: {
-          title: "销售毛利明细表(不含税价)",
-          remixIcon: "file-text-line",
-        },
-        component: () => import("@/views/order/SaleTotalForm/SaleSummary"),
-      },
-    ],
-  },
-  {
-    path: "/Customer",
-    name: "Customer",
-    component: Layout,
-    redirect: "/Customer/CustomerAdmin/CustomerList",
-    alwaysShow: true,
-    meta: {
-      title: "客户",
-      remixIcon: "contacts-line",
-    },
-    children: [
-      {
-        path: "CustomerAdmin/CustomerImport",
-        name: "CustomerImport",
-        meta: {
-          title: "导入客户",
-          remixIcon: "bookmark-3-line",
-          // access: nodes.CostumeAdjustPrice,
-        },
-        component: () =>
-          import("@/views/Customer/CustomerAdmin/CustomerImport.vue"),
-      },
-      {
-        path: "CustomerAdmin/CustomerList",
-        name: "CustomerList",
-        meta: {
-          title: "客户列表",
-          access: nodes.CustomerList,
-          remixIcon: "user-3-line",
-        },
-        component: () =>
-          import("@/views/Customer/CustomerAdmin/CustomerList.vue"),
-      },
-      {
-        path: "CustomerAdmin/SaldoDetail",
-        name: "SaldoDetail",
-        meta: {
-          title: "余额明细",
-          remixIcon: "user-3-line",
-          access: nodes.CustomerListSaldoDetail,
-        },
-        component: () =>
-          import("@/views/Customer/CustomerAdmin/SaldoDetail.vue"),
-      },
-      // 积分明细
-      {
-        path: "CustomerAdmin/IntegralDetail/:id",
-        name: "IntegralDetail",
-        hidden: true,
-        meta: {
-          title: "积分明细",
-          remixIcon: "user-3-line",
-          access: nodes.CustomerListIntegralDetail,
-        },
-        component: () =>
-          import("@/views/Customer/CustomerAdmin/IntegralDetail.vue"),
-      },
-      {
-        path: "CustomerAdmin/AddCustomer",
-        name: "AddCustomer",
-        hidden: true,
-        meta: {
-          title: "新增客户",
-          access: nodes.CustomerListAddCustomer,
-          remixIcon: "user-3-line",
-        },
-        component: () =>
-          import("@/views/Customer/CustomerAdmin/AddCustomer.vue"),
-      },
-      {
-        path: "CustomerAdmin/EditCustomer/:id",
-        name: "EditCustomer",
-        hidden: true,
-        meta: {
-          title: "编辑客户",
-          access: nodes.CustomerListEditCustomer,
-          remixIcon: "user-3-line",
-        },
-        component: () =>
-          import("@/views/Customer/CustomerAdmin/AddCustomer.vue"),
-      },
-      {
-        path: "CustomerAdmin/CustomerDetail/:id",
-        name: "CustomerDetail",
-        hidden: true,
-        meta: {
-          title: "客户详情",
-          access: nodes.CustomerListGetCustomerInfo,
-          remixIcon: "user-3-line",
-        },
-        component: () =>
-          import("@/views/Customer/CustomerAdmin/CustomerDetail.vue"),
-      },
-      {
-        path: "CustomerAdmin/CustomerType",
-        name: "CustomerType",
-        meta: {
-          title: "客户类型",
-          access: nodes.CustomerType,
-          remixIcon: "user-3-line",
-        },
-        component: () =>
-          import("@/views/Customer/CustomerAdmin/CustomerType.vue"),
-      },
-      {
-        path: "CustomerAdmin/LabelManagement",
-        name: "LabelManagement",
-        meta: {
-          title: "标签管理",
-          remixIcon: "user-3-line",
-          access: nodes.LabelManagement,
-        },
-        component: () =>
-          import("@/views/Customer/CustomerAdmin/LabelManagement.vue"),
-      },
-      {
-        path: "CustomerAdmin/CustomerQuery",
-        name: "CustomerQuery",
-        meta: {
-          title: "客户查询",
-          access: nodes.CustomerQuery,
-          remixIcon: "user-3-line",
-        },
-        component: () =>
-          import("@/views/Customer/CustomerAdmin/CustomerQuery.vue"),
-      },
-      {
-        path: "CustomerAdmin/CustomerClustering",
-        name: "CustomerClustering",
-        hidden: true,
-        meta: {
-          title: "客户分群",
-          access: nodes.CustomerClustering,
-          remixIcon: "user-3-line",
-        },
-        component: () =>
-          import("@/views/Customer/CustomerAdmin/CustomerClustering.vue"),
-      },
-      {
-        path: "CustomerAdmin/AddClustering",
-        name: "AddClustering",
-        hidden: true,
-        meta: {
-          title: "新建人群",
-          remixIcon: "user-3-line",
-        },
-        component: () =>
-          import("@/views/Customer/CustomerAdmin/AddClustering.vue"),
-      },
-      {
-        path: "CustomerAdmin/EditClustering/:id",
-        name: "EditClustering",
-        hidden: true,
-        meta: {
-          title: "编辑人群",
-          remixIcon: "user-3-line",
-        },
-        component: () =>
-          import("@/views/Customer/CustomerAdmin/AddClustering.vue"),
-      },
-      {
-        path: "CustomerAdmin/ClusteringAnalyze/:id",
-        name: "ClusteringAnalyze",
-        hidden: true,
-        meta: {
-          title: "人群分析",
-          remixIcon: "user-3-line",
-        },
-        component: () =>
-          import("@/views/Customer/CustomerAdmin/ClusteringAnalyze.vue"),
-      },
+			{
+				path: "sale/PublishGoods",
+				name: "PublishGoods",
+				component: () => import("@/views/goods/sale/PublishGoods.vue"),
+				meta: {
+					title: "商品列表",
+					access: nodes.PublishGoods,
+					remixIcon: "apps-line",
+				},
+			},
+			//多商户商品列表
+			{
+				path: "sale/MerchantsGoods",
+				name: "MerchantsGoods",
+				component: () => import("@/viewsMerch/goods/GoodsList.vue"),
+				meta: {
+					title: "商品列表",
+					remixIcon: "apps-line",
+				},
+			},
+			{
+				path: "sale/AddGoods",
+				name: "AddGoods",
+				hidden: true,
+				meta: {
+					title: "发布商品",
+					access: nodes.PublishGoodsAddGoods,
+					remixIcon: "apps-line",
+				},
+				component: () => import("@/views/goods/sale/AddGoods"),
+			},
+			{
+				path: "sale/EditGoods/:id",
+				name: "EditGoods",
+				hidden: true,
+				meta: {
+					title: "修改商品",
+					access: nodes.PublishGoodsEditGoods,
+					remixIcon: "apps-line",
+				},
+				component: () => import("@/views/goods/sale/AddGoods"),
+			},
+			{
+				path: "sale/AddGoodsOneStore",
+				name: "AddGoodsOneStore",
+				hidden: true,
+				meta: {
+					title: "新建商品",
+					remixIcon: "apps-line",
+					access: nodes.PublishGoodsAddBasicAndPublishGoods,
+				},
+				component: () => import("@/views/goods/sale/AddGoodsOneStore"),
+			},
+			{
+				path: "sale/EditGoodsOneStore/:id",
+				name: "EditGoodsOneStore",
+				hidden: true,
+				meta: {
+					title: "修改商品",
+					remixIcon: "apps-line",
+					access: nodes.PublishGoodsEditQuickGoods,
+				},
+				component: () => import("@/views/goods/sale/AddGoodsOneStore"),
+			},
+			{
+				path: "sale/GoodsDetail/:id",
+				name: "GoodsDetail",
+				hidden: true,
+				meta: {
+					title: "商品详请",
+					remixIcon: "apps-line",
+					access: nodes.PublishGoodsGetGoodsInfo,
+				},
+				component: () => import("@/views/goods/sale/GoodsDetail"),
+			},
+			{
+				path: "sale/UpdateGoods/:id",
+				name: "UpdateGoods",
+				hidden: true,
+				meta: {
+					title: "编辑商品",
+					remixIcon: "apps-line",
+					access: nodes.PublishGoodsEditGoods,
+				},
+				component: () => import("@/views/goods/sale/AddGoods"),
+			},
+			// 商品服务
+			{
+				path: "goodsemprego/GoodsEmprego",
+				name: "GoodsEmprego",
+				hidden: true,
+				meta: {
+					title: "商品服务",
+					remixIcon: "apps-line",
+					access: nodes.GoodsEmprego,
+				},
+				component: () => import("@/views/goods/goodsemprego/GoodsEmprego"),
+			},
+			{
+				path: "sale/priceTable",
+				name: "priceTable",
+				meta: {
+					title: "价格管理",
+					remixIcon: "bookmark-3-line",
+				},
+				component: () => import("@/views/goods/sale/PriceTable"),
+			},
+			{
+				path: "sale/CostumeAdjustPrice",
+				name: "CostumeAdjustPrice",
+				meta: {
+					title: "客户调价单",
+					remixIcon: "bookmark-3-line",
+					access: nodes.CostumeAdjustPrice,
+				},
+				component: () => import("@/views/goods/sale/CostumeAdjustPrice"),
+			},
+			{
+				path: "sale/CostumeAdjustPriceAdd",
+				name: "CostumeAdjustPriceAdd",
+				hidden: true,
+				meta: {
+					title: "新建客户调价单",
+					remixIcon: "bookmark-3-line",
+					access: nodes.CostumeAdjustPriceAdd,
+				},
+				component: () => import("@/views/goods/sale/CostumeAdjustPriceAdd"),
+			},
+			{
+				path: "sale/CustomerTypeAdjustPrice",
+				name: "CustomerTypeAdjustPrice",
+				meta: {
+					title: "客户类型调价单",
+					remixIcon: "bookmark-3-line",
+					access: nodes.CustomerTypeAdj,
+				},
+				component: () => import("@/views/goods/sale/CustomerTypeAdjustPrice"),
+			},
+			{
+				path: "sale/CostumeTypeAdjustPriceAdd",
+				name: "CostumeTypeAdjustPriceAdd",
+				hidden: true,
+				meta: {
+					title: "新建客户类型调价单",
+					remixIcon: "bookmark-3-line",
+					access: nodes.CustomerTypeAdjAdd,
+				},
+				component: () => import("@/views/goods/sale/CostumeTypeAdjustPriceAdd"),
+			},
+			{
+				path: "sale/AdjustPrice",
+				name: "AdjustPrice",
+				meta: {
+					title: "商品调价单",
+					remixIcon: "bookmark-3-line",
+					access: nodes.AdjustPrice,
+				},
+				component: () => import("@/views/goods/sale/AdjustPrice"),
+			},
+			{
+				path: "sale/AdjustPriceGoods",
+				name: "AdjustPriceGoods",
+				meta: {
+					title: "调价单",
+					remixIcon: "bookmark-3-line",
+				},
+				component: () => import("@/views/goods/sale/AdjustPriceGoods"),
+			},
+			{
+				path: "sale/AddGoodsAdjustPrice",
+				name: "AddGoodsAdjustPrice",
+				hidden: true,
+				meta: {
+					title: "新建商品调价单",
+					remixIcon: "bookmark-3-line",
+					access: nodes.AdjustPriceAdd,
+				},
+				component: () => import("@/views/goods/sale/AddGoodsAdjustPrice"),
+			},
+		],
+	},
+	{
+		path: "/order",
+		name: "Order",
+		component: Layout,
+		redirect: "/order/manageO/orderQuery",
+		alwaysShow: true,
+		meta: {
+			title: "订单",
+			remixIcon: "file-list-2-line",
+		},
+		children: [
+			/* {
+			  path: "manageO/newOrderList",
+			  name: "NewOrderList",
+			  meta: {
+			    title: "新订单列表",
+			    access: nodes.newOrderList,
+			    remixIcon: "list-unordered",
+			  },
+			  component: () => import("@/views/order/manageO/NewOrderList"),
+			},*/
+			{
+				path: "manageO/orderQuery",
+				name: "OrderQuery",
+				meta: {
+					title: "订货单",
+					access: nodes.orderQuery,
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/order/manageO/NewOrderList"),
+			},
+			{
+				path: "manageO/OrderDetails/:userCenterId/:id",
+				name: "OrderDetails",
+				meta: {
+					title: "订单详情",
+					// access: nodes.OrderDetails,
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/order/manageO/OrderDetails"),
+			},
+			{
+				path: "manageO/selfOrder",
+				name: "SelfOrder",
+				meta: {
+					title: "自提单",
+					access: nodes.selfOrder,
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/order/manageO/NewOrderList"),
+			},
+			/*{
+			  path: "manageO/CancelOrder",
+			  name: "CancelOrder",
+			  meta: {
+			    title: "已取消",
+			    access: nodes.CancelOrder,
+			    remixIcon: "list-unordered",
+			  },
+			  component: () => import("@/views/order/manageO/CancelOrder"),
+			},*/
+			{
+				path: "manageO/OrderAdd",
+				name: "OrderAdd",
+				meta: {
+					title: "代客下单",
+					access: nodes.OrderAdd,
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/order/manageO/OrderAdd"),
+			},
+			{
+				path: "manageO/OrderEdit/:userCenterId/:id",
+				name: "OrderEdit",
+				hidden: true,
+				meta: {
+					title: "编辑订单",
+					access: nodes.newOrderListEdit,
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/order/manageO/OrderAdd"),
+			},
+			{
+				path: "manageO/ReturnWarehousingOrder",
+				name: "ReturnWarehousingOrder",
+				meta: {
+					title: "退货单",
+					access: nodes.ReturnWarehousingOrder,
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/order/manageO/ReturnWarehousingOrder"),
+			},
+			{
+				path: "manageO/AddWareOrder",
+				name: "AddWareOrder",
+				hidden: true,
+				meta: {
+					title: "新增退货单",
+					access: nodes.ReturnWarehousingOrderAddOrderReturn,
+				},
+				component: () => import("@/views/order/manageO/AddWareOrder"),
+			},
+			{
+				path: "manageO/EditWareOrder/:id",
+				name: "EditWareOrder",
+				hidden: true,
+				meta: {
+					title: "编辑退货单",
+					access: nodes.ReturnWarehousingOrderUpdateOrderReturn,
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/order/manageO/AddWareOrder"),
+			},
+			{
+				path: "manageO/LookWareOrder/:id",
+				name: "LookWareOrder",
+				hidden: true,
+				meta: {
+					title: "查看退货单",
+					access: nodes.ReturnWarehousingOrderGetOrderReturn,
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/order/manageO/LookWareOrder"),
+			},
+			/* {
+			  path: "saleO/AddSaleOrder",
+			  name: "AddSaleOrder",
+			  meta: {
+			    title: "创建销售单",
+			    access: nodes.addSaleOrder,
+			    remixIcon: "bill-line",
+			  },
+			  component: () => import("@/views/order/saleO/AddSaleOrder"),
+			},
+			{
+			  path: "saleO/SaleOrderList",
+			  name: "SaleOrderList",
+			  meta: {
+			    title: "销售单列表",
+			    access: nodes.saleOrderList,
+			    remixIcon: "bill-line",
+			  },
+			  component: () => import("@/views/order/saleO/SaleOrderList"),
+			},*/
+			{
+				path: "SaleTotalForm/GoodsForm",
+				name: "GoodsForm",
+				meta: {
+					title: "商品汇总表",
+					access: nodes.OrderStatistics,
+					remixIcon: "file-text-line",
+				},
+				component: () => import("@/views/order/SaleTotalForm/TotalForm"),
+			},
+			{
+				path: "SaleTotalForm/CustomerForm",
+				name: "CustomerForm",
+				meta: {
+					title: "客户汇总表",
+					access: nodes.OrderStatistics,
+					remixIcon: "file-text-line",
+				},
+				component: () => import("@/views/order/SaleTotalForm/TotalForm"),
+			},
+			{
+				path: "SaleTotalForm/StaffForm",
+				name: "StaffForm",
+				meta: {
+					title: "人员汇总表",
+					access: nodes.OrderStatistics,
+					remixIcon: "file-text-line",
+				},
+				component: () => import("@/views/order/SaleTotalForm/TotalForm"),
+			},
+			{
+				path: "SaleTotalForm/SaleSummary",
+				name: "SaleSummary",
+				hidden: true,
+				meta: {
+					title: "销售毛利明细表(不含税价)",
+					remixIcon: "file-text-line",
+				},
+				component: () => import("@/views/order/SaleTotalForm/SaleSummary"),
+			},
+		],
+	},
+	{
+		path: "/Customer",
+		name: "Customer",
+		component: Layout,
+		redirect: "/Customer/CustomerAdmin/CustomerList",
+		alwaysShow: true,
+		meta: {
+			title: "客户",
+			remixIcon: "contacts-line",
+		},
+		children: [{
+				path: "CustomerAdmin/CustomerImport",
+				name: "CustomerImport",
+				meta: {
+					title: "导入客户",
+					remixIcon: "bookmark-3-line",
+					// access: nodes.CostumeAdjustPrice,
+				},
+				component: () =>
+					import("@/views/Customer/CustomerAdmin/CustomerImport.vue"),
+			},
+			{
+				path: "CustomerAdmin/CustomerList",
+				name: "CustomerList",
+				meta: {
+					title: "客户列表",
+					access: nodes.CustomerList,
+					remixIcon: "user-3-line",
+				},
+				component: () =>
+					import("@/views/Customer/CustomerAdmin/CustomerList.vue"),
+			},
+			{
+				path: "CustomerAdmin/SaldoDetail",
+				name: "SaldoDetail",
+				meta: {
+					title: "余额明细",
+					remixIcon: "user-3-line",
+					access: nodes.CustomerListSaldoDetail,
+				},
+				component: () =>
+					import("@/views/Customer/CustomerAdmin/SaldoDetail.vue"),
+			},
+			// 积分明细
+			{
+				path: "CustomerAdmin/IntegralDetail/:id",
+				name: "IntegralDetail",
+				hidden: true,
+				meta: {
+					title: "积分明细",
+					remixIcon: "user-3-line",
+					access: nodes.CustomerListIntegralDetail,
+				},
+				component: () =>
+					import("@/views/Customer/CustomerAdmin/IntegralDetail.vue"),
+			},
+			{
+				path: "CustomerAdmin/AddCustomer",
+				name: "AddCustomer",
+				hidden: true,
+				meta: {
+					title: "新增客户",
+					access: nodes.CustomerListAddCustomer,
+					remixIcon: "user-3-line",
+				},
+				component: () =>
+					import("@/views/Customer/CustomerAdmin/AddCustomer.vue"),
+			},
+			{
+				path: "CustomerAdmin/EditCustomer/:id",
+				name: "EditCustomer",
+				hidden: true,
+				meta: {
+					title: "编辑客户",
+					access: nodes.CustomerListEditCustomer,
+					remixIcon: "user-3-line",
+				},
+				component: () =>
+					import("@/views/Customer/CustomerAdmin/AddCustomer.vue"),
+			},
+			{
+				path: "CustomerAdmin/CustomerDetail/:id",
+				name: "CustomerDetail",
+				hidden: true,
+				meta: {
+					title: "客户详情",
+					access: nodes.CustomerListGetCustomerInfo,
+					remixIcon: "user-3-line",
+				},
+				component: () =>
+					import("@/views/Customer/CustomerAdmin/CustomerDetail.vue"),
+			},
+			{
+				path: "CustomerAdmin/CustomerType",
+				name: "CustomerType",
+				meta: {
+					title: "客户类型",
+					access: nodes.CustomerType,
+					remixIcon: "user-3-line",
+				},
+				component: () =>
+					import("@/views/Customer/CustomerAdmin/CustomerType.vue"),
+			},
+			{
+				path: "CustomerAdmin/LabelManagement",
+				name: "LabelManagement",
+				meta: {
+					title: "标签管理",
+					remixIcon: "user-3-line",
+					access: nodes.LabelManagement,
+				},
+				component: () =>
+					import("@/views/Customer/CustomerAdmin/LabelManagement.vue"),
+			},
+			{
+				path: "CustomerAdmin/CustomerQuery",
+				name: "CustomerQuery",
+				meta: {
+					title: "客户查询",
+					access: nodes.CustomerQuery,
+					remixIcon: "user-3-line",
+				},
+				component: () =>
+					import("@/views/Customer/CustomerAdmin/CustomerQuery.vue"),
+			},
+			{
+				path: "CustomerAdmin/CustomerClustering",
+				name: "CustomerClustering",
+				hidden: true,
+				meta: {
+					title: "客户分群",
+					access: nodes.CustomerClustering,
+					remixIcon: "user-3-line",
+				},
+				component: () =>
+					import("@/views/Customer/CustomerAdmin/CustomerClustering.vue"),
+			},
+			{
+				path: "CustomerAdmin/AddClustering",
+				name: "AddClustering",
+				hidden: true,
+				meta: {
+					title: "新建人群",
+					remixIcon: "user-3-line",
+				},
+				component: () =>
+					import("@/views/Customer/CustomerAdmin/AddClustering.vue"),
+			},
+			{
+				path: "CustomerAdmin/EditClustering/:id",
+				name: "EditClustering",
+				hidden: true,
+				meta: {
+					title: "编辑人群",
+					remixIcon: "user-3-line",
+				},
+				component: () =>
+					import("@/views/Customer/CustomerAdmin/AddClustering.vue"),
+			},
+			{
+				path: "CustomerAdmin/ClusteringAnalyze/:id",
+				name: "ClusteringAnalyze",
+				hidden: true,
+				meta: {
+					title: "人群分析",
+					remixIcon: "user-3-line",
+				},
+				component: () =>
+					import("@/views/Customer/CustomerAdmin/ClusteringAnalyze.vue"),
+			},
 
-      {
-        path: "CustomerCheck/NotCheck",
-        name: "NotCheck",
-        meta: {
-          title: "未审核",
-          access: nodes.NotCheck,
-          remixIcon: "user-star-line",
-        },
-        component: () =>
-          import("@/views/Customer/CustomerCheck/CustomerCheck.vue"),
-      },
-      {
-        path: "CustomerCheck/noPerfectData",
-        name: "NoPerfectData",
-        meta: {
-          title: "待完善资料",
-          access: nodes.getAuditAllCustomer,
-          remixIcon: "user-star-line",
-        },
-        component: () =>
-          import("@/views/Customer/CustomerCheck/CustomerCheck.vue"),
-      },
-      {
-        path: "CustomerBehavior/BrowsingHistory",
-        name: "BrowsingHistory",
-        meta: {
-          title: "浏览记录",
-          remixIcon: "user-star-line",
-          access: nodes.CustomerBehaviorBrowsingHistory,
-        },
-        component: () =>
-          import("@/views/Customer/CustomerBehavior/BrowsingHistory.vue"),
-      },
-      {
-        path: "CustomerBehavior/PurchaseHistory",
-        name: "PurchaseHistory",
-        meta: {
-          title: "购买记录",
-          remixIcon: "user-star-line",
-          access: nodes.CustomerBehaviorPurchaseHistory,
-        },
-        component: () =>
-          import("@/views/Customer/CustomerBehavior/PurchaseHistory.vue"),
-      },
-      {
-        path: "CustomerBehavior/DemandReporting",
-        name: "DemandReporting",
-        meta: {
-          title: "需求提报",
-          remixIcon: "user-star-line",
-          access: nodes.CustomerBehaviorDemandReporting,
-        },
-        component: () =>
-          import("@/views/Customer/CustomerBehavior/DemandReporting.vue"),
-      },
-      {
-        path: "CustomerStatements/AnomalyAnalysisTable",
-        name: "AnomalyAnalysisTable",
-        meta: {
-          title: "异常客户分析表",
-          access: nodes.CustomerStatementsAnomalyAnalysisTable,
-          remixIcon: "user-star-line",
-        },
-        component: () =>
-          import(
-            "@/views/Customer/CustomerStatements/AnomalyAnalysisTable.vue"
-          ),
-      },
-      {
-        path: "CustomerStatements/PullNewStatistics",
-        name: "PullNewStatistics",
-        meta: {
-          title: "拉新统计",
-          remixIcon: "user-star-line",
-          access: nodes.CustomerStatementsPullNewStatistics,
-        },
-        component: () =>
-          import("@/views/Customer/CustomerStatements/PullNewStatistics.vue"),
-      },
-      {
-        path: "CustomerStatements/VisitRepor",
-        name: "VisitRepor",
-        meta: {
-          title: "拜访报表",
-          remixIcon: "user-star-line",
-          access: nodes.CustomerStatementsVisitRepor,
-        },
-        component: () =>
-          import("@/views/Customer/CustomerStatements/VisitRepor.vue"),
-      },
-      {
-        path: "CustomerStatements/CustomerMap",
-        name: "CustomerMap",
-        meta: {
-          title: "客户分布图",
-          remixIcon: "user-star-line",
-          access: nodes.CustomerStatementsCustomerDistribution,
-        },
-        component: () =>
-          import("@/views/Customer/CustomerStatements/CustomerMap.vue"),
-      },
-      // {
-      //   path: "CustomerStatements/StaffPullNewStatistics",
-      //   name: "StaffPullNewStatistics",
-      //   meta: {
-      //     title: "员工拉新统计",
-      //     remixIcon: "user-star-line",
-      //   },
-      //   component: () =>
-      //     import(
-      //       "@/views/Customer/CustomerStatements/StaffPullNewStatistics.vue"
-      //     ),
-      // },
-    ],
-  },
-  {
-    path: "/Purchase",
-    component: Layout,
-    redirect: "/Purchase/ManageP/PurchaseOrder",
-    alwaysShow: true,
-    meta: {
-      title: "采购",
-      remixIcon: "shopping-cart-line",
-    },
-    children: [
-      {
-        path: "ManageP/Supplier",
-        name: "Supplier",
-        meta: {
-          title: "供应商管理",
-          access: nodes.Supplier,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/Supplier"),
-      },
-      {
-        path: "ManageP/Stockout",
-        name: "Stockout",
-        meta: {
-          title: "缺货单",
-          access: nodes.Stockout,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/Stockout"),
-      },
-      {
-        path: "ManageP/SupplierAdd",
-        name: "SupplierAdd",
-        hidden: true,
-        meta: {
-          title: "新增供应商",
-          access: nodes.SupplierAddSupplier,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/SupplierAdd"),
-      },
-      {
-        path: "ManageP/SupplierImport",
-        name: "SupplierImport",
-        hidden: true,
-        meta: {
-          title: "导入供应商",
-          // access: nodes.SupplierAddSupplier,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/SupplierImport"),
-      },
-      {
-        path: "ManageP/NewMerchant",
-        name: "NewMerchant",
-        hidden: true,
-        meta: {
-          title: "新增商户",
-          // access: nodes.SupplierAddSupplier,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/NewMerchant"),
-      },
-      {
-        path: "ManageP/SupplierEdit/:id",
-        name: "SupplierEdit",
-        hidden: true,
-        meta: {
-          title: "编辑供应商",
-          access: nodes.SupplierEditSupplier,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/SupplierAdd"),
-      },
-      {
-        path: "ManageP/SupplierLook/:id",
-        name: "SupplierLook",
-        hidden: true,
-        meta: {
-          title: "查看供应商",
-          access: nodes.SupplierGetSupplierInfoById,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/SupplierAdd"),
-      },
-      {
-        path: "ManageP/PurchaseOrder",
-        name: "PurchaseOrder",
-        meta: {
-          title: "采购单",
-          access: nodes.PurchaseOrder,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/PurchaseOrder"),
-      },
-      {
-        path: "ManageP/PurchaseOrderAdd/",
-        name: "PurchaseOrderAdd",
-        noKeepAlive: true,
-        hidden: true,
-        meta: {
-          title: "新增采购单",
-          access: nodes.PurchaseOrderAddPurchase,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/PurchaseOrderAdd"),
-      },
-      {
-        path: "ManageP/PurchaseOrderEdit/:id",
-        name: "PurchaseOrderEdit",
-        hidden: true,
-        meta: {
-          title: "编辑采购单",
-          access: nodes.PurchaseOrderEditPurchase,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/PurchaseOrderAdd"),
-      },
-      {
-        path: "ManageP/PurchaseOrderLook/:id",
-        name: "PurchaseOrderLook",
-        hidden: true,
-        meta: {
-          title: "查看采购单",
-          access: nodes.PurchaseOrderAddPurchase,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/PurchaseOrderLook"),
-      },
-      {
-        path: "ManageP/PurchaseReturnOrder",
-        name: "PurchaseReturnOrder",
-        meta: {
-          title: "采购退货单",
-          access: nodes.PurchaseReturnOrder,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/PurchaseReturnOrder"),
-      },
-      {
-        path: "ManageP/Merchant",
-        name: "Merchant",
-        meta: {
-          title: "商户采购单",
-          access: nodes.Merchant,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/Merchant"),
-      },
-      {
-        path: "ManageP/AddMerchantPurchase",
-        name: "AddMerchant",
-        meta: {
-          title: "新增商户采购单",
-          access: nodes.MerchantAddMerchant,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/AddMerchantPurchase"),
-      },
-      {
-        path: "ManageP/EditMerchantPurchase/:id",
-        name: "EditMerchantPurchase",
-        meta: {
-          title: "编辑商户采购单",
-          access: nodes.MerchantPurchaseOrderEdit,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/AddMerchantPurchase"),
-      },
-      {
-        path: "ManageP/MerchantPurchaseDetail/:id",
-        name: "MerchantPurchaseDetail",
-        meta: {
-          title: "商户采购单详情",
-          access: nodes.MerchantPurchaseOrderEdit,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () =>
-          import("@/views/Purchase/ManageP/MerchantPurchaseDetail"),
-      },
-      {
-        path: "ManageP/PurchaseReturnOrderAdd/:type",
-        name: "PurchaseReturnOrderAdd",
-        hidden: true,
-        meta: {
-          title: "新增采购退货单",
-          access: nodes.PurchaseReturnOrderAddPurchaseOut,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () =>
-          import("@/views/Purchase/ManageP/PurchaseReturnOrderAdd"),
-      },
-      {
-        path: "ManageP/PurchaseReturnOrderEdit/:id/:type",
-        name: "PurchaseReturnOrderEdit",
-        hidden: true,
-        meta: {
-          title: "编辑采购退货单",
-          access: nodes.PurchaseReturnOrderEditPurchase,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () =>
-          import("@/views/Purchase/ManageP/PurchaseReturnOrderAdd"),
-      },
-      {
-        path: "ManageP/PurchaseReturnOrderLook/:id",
-        name: "PurchaseReturnOrderLook",
-        hidden: true,
-        meta: {
-          title: "查看采购退货单",
-          access: nodes.PurchaseReturnOrderGetPurchaseOutInfoById,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () =>
-          import("@/views/Purchase/ManageP/PurchaseReturnOrderLook"),
-      },
-      {
-        path: "ManageP/PurchaseDetail",
-        name: "PurchaseDetail",
-        meta: {
-          title: "采购明细",
-          access: nodes.PurchaseDetail,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/PurchaseDetail"),
-      },
+			{
+				path: "CustomerCheck/NotCheck",
+				name: "NotCheck",
+				meta: {
+					title: "未审核",
+					access: nodes.NotCheck,
+					remixIcon: "user-star-line",
+				},
+				component: () =>
+					import("@/views/Customer/CustomerCheck/CustomerCheck.vue"),
+			},
+			{
+				path: "CustomerCheck/noPerfectData",
+				name: "NoPerfectData",
+				meta: {
+					title: "待完善资料",
+					access: nodes.getAuditAllCustomer,
+					remixIcon: "user-star-line",
+				},
+				component: () =>
+					import("@/views/Customer/CustomerCheck/CustomerCheck.vue"),
+			},
+			{
+				path: "CustomerBehavior/BrowsingHistory",
+				name: "BrowsingHistory",
+				meta: {
+					title: "浏览记录",
+					remixIcon: "user-star-line",
+					access: nodes.CustomerBehaviorBrowsingHistory,
+				},
+				component: () =>
+					import("@/views/Customer/CustomerBehavior/BrowsingHistory.vue"),
+			},
+			{
+				path: "CustomerBehavior/PurchaseHistory",
+				name: "PurchaseHistory",
+				meta: {
+					title: "购买记录",
+					remixIcon: "user-star-line",
+					access: nodes.CustomerBehaviorPurchaseHistory,
+				},
+				component: () =>
+					import("@/views/Customer/CustomerBehavior/PurchaseHistory.vue"),
+			},
+			{
+				path: "CustomerBehavior/DemandReporting",
+				name: "DemandReporting",
+				meta: {
+					title: "需求提报",
+					remixIcon: "user-star-line",
+					access: nodes.CustomerBehaviorDemandReporting,
+				},
+				component: () =>
+					import("@/views/Customer/CustomerBehavior/DemandReporting.vue"),
+			},
+			{
+				path: "CustomerStatements/AnomalyAnalysisTable",
+				name: "AnomalyAnalysisTable",
+				meta: {
+					title: "异常客户分析表",
+					access: nodes.CustomerStatementsAnomalyAnalysisTable,
+					remixIcon: "user-star-line",
+				},
+				component: () =>
+					import(
+						"@/views/Customer/CustomerStatements/AnomalyAnalysisTable.vue"
+					),
+			},
+			{
+				path: "CustomerStatements/PullNewStatistics",
+				name: "PullNewStatistics",
+				meta: {
+					title: "拉新统计",
+					remixIcon: "user-star-line",
+					access: nodes.CustomerStatementsPullNewStatistics,
+				},
+				component: () =>
+					import("@/views/Customer/CustomerStatements/PullNewStatistics.vue"),
+			},
+			{
+				path: "CustomerStatements/VisitRepor",
+				name: "VisitRepor",
+				meta: {
+					title: "拜访报表",
+					remixIcon: "user-star-line",
+					access: nodes.CustomerStatementsVisitRepor,
+				},
+				component: () =>
+					import("@/views/Customer/CustomerStatements/VisitRepor.vue"),
+			},
+			{
+				path: "CustomerStatements/CustomerMap",
+				name: "CustomerMap",
+				meta: {
+					title: "客户分布图",
+					remixIcon: "user-star-line",
+					access: nodes.CustomerStatementsCustomerDistribution,
+				},
+				component: () =>
+					import("@/views/Customer/CustomerStatements/CustomerMap.vue"),
+			},
+			// {
+			//   path: "CustomerStatements/StaffPullNewStatistics",
+			//   name: "StaffPullNewStatistics",
+			//   meta: {
+			//     title: "员工拉新统计",
+			//     remixIcon: "user-star-line",
+			//   },
+			//   component: () =>
+			//     import(
+			//       "@/views/Customer/CustomerStatements/StaffPullNewStatistics.vue"
+			//     ),
+			// },
+		],
+	},
+	{
+		path: "/Purchase",
+		component: Layout,
+		redirect: "/Purchase/ManageP/PurchaseOrder",
+		alwaysShow: true,
+		meta: {
+			title: "采购",
+			remixIcon: "shopping-cart-line",
+		},
+		children: [{
+				path: "ManageP/Supplier",
+				name: "Supplier",
+				meta: {
+					title: "供应商管理",
+					access: nodes.Supplier,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/Supplier"),
+			},
+			{
+				path: "ManageP/Stockout",
+				name: "Stockout",
+				meta: {
+					title: "缺货单",
+					access: nodes.Stockout,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/Stockout"),
+			},
+			{
+				path: "ManageP/SupplierAdd",
+				name: "SupplierAdd",
+				hidden: true,
+				meta: {
+					title: "新增供应商",
+					access: nodes.SupplierAddSupplier,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/SupplierAdd"),
+			},
+			{
+				path: "ManageP/SupplierImport",
+				name: "SupplierImport",
+				hidden: true,
+				meta: {
+					title: "导入供应商",
+					// access: nodes.SupplierAddSupplier,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/SupplierImport"),
+			},
+			{
+				path: "ManageP/NewMerchant",
+				name: "NewMerchant",
+				hidden: true,
+				meta: {
+					title: "新增商户",
+					// access: nodes.SupplierAddSupplier,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/NewMerchant"),
+			},
+			{
+				path: "ManageP/SupplierEdit/:id",
+				name: "SupplierEdit",
+				hidden: true,
+				meta: {
+					title: "编辑供应商",
+					access: nodes.SupplierEditSupplier,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/SupplierAdd"),
+			},
+			{
+				path: "ManageP/SupplierLook/:id",
+				name: "SupplierLook",
+				hidden: true,
+				meta: {
+					title: "查看供应商",
+					access: nodes.SupplierGetSupplierInfoById,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/SupplierAdd"),
+			},
+			{
+				path: "ManageP/PurchaseOrder",
+				name: "PurchaseOrder",
+				meta: {
+					title: "采购单",
+					access: nodes.PurchaseOrder,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/PurchaseOrder"),
+			},
+			{
+				path: "ManageP/PurchaseOrderAdd/",
+				name: "PurchaseOrderAdd",
+				noKeepAlive: true,
+				hidden: true,
+				meta: {
+					title: "新增采购单",
+					access: nodes.PurchaseOrderAddPurchase,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/PurchaseOrderAdd"),
+			},
+			{
+				path: "ManageP/PurchaseOrderEdit/:id",
+				name: "PurchaseOrderEdit",
+				hidden: true,
+				meta: {
+					title: "编辑采购单",
+					access: nodes.PurchaseOrderEditPurchase,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/PurchaseOrderAdd"),
+			},
+			{
+				path: "ManageP/PurchaseOrderLook/:id",
+				name: "PurchaseOrderLook",
+				hidden: true,
+				meta: {
+					title: "查看采购单",
+					access: nodes.PurchaseOrderAddPurchase,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/PurchaseOrderLook"),
+			},
+			{
+				path: "ManageP/PurchaseReturnOrder",
+				name: "PurchaseReturnOrder",
+				meta: {
+					title: "采购退货单",
+					access: nodes.PurchaseReturnOrder,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/PurchaseReturnOrder"),
+			},
+			{
+				path: "ManageP/Merchant",
+				name: "Merchant",
+				meta: {
+					title: "商户采购单",
+					access: nodes.Merchant,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/Merchant"),
+			},
+			{
+				path: "ManageP/AddMerchantPurchase",
+				name: "AddMerchant",
+				meta: {
+					title: "新增商户采购单",
+					access: nodes.MerchantAddMerchant,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/AddMerchantPurchase"),
+			},
+			{
+				path: "ManageP/EditMerchantPurchase/:id",
+				name: "EditMerchantPurchase",
+				meta: {
+					title: "编辑商户采购单",
+					access: nodes.MerchantPurchaseOrderEdit,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/AddMerchantPurchase"),
+			},
+			{
+				path: "ManageP/MerchantPurchaseDetail/:id",
+				name: "MerchantPurchaseDetail",
+				meta: {
+					title: "商户采购单详情",
+					access: nodes.MerchantPurchaseOrderEdit,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () =>
+					import("@/views/Purchase/ManageP/MerchantPurchaseDetail"),
+			},
+			{
+				path: "ManageP/PurchaseReturnOrderAdd/:type",
+				name: "PurchaseReturnOrderAdd",
+				hidden: true,
+				meta: {
+					title: "新增采购退货单",
+					access: nodes.PurchaseReturnOrderAddPurchaseOut,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () =>
+					import("@/views/Purchase/ManageP/PurchaseReturnOrderAdd"),
+			},
+			{
+				path: "ManageP/PurchaseReturnOrderEdit/:id/:type",
+				name: "PurchaseReturnOrderEdit",
+				hidden: true,
+				meta: {
+					title: "编辑采购退货单",
+					access: nodes.PurchaseReturnOrderEditPurchase,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () =>
+					import("@/views/Purchase/ManageP/PurchaseReturnOrderAdd"),
+			},
+			{
+				path: "ManageP/PurchaseReturnOrderLook/:id",
+				name: "PurchaseReturnOrderLook",
+				hidden: true,
+				meta: {
+					title: "查看采购退货单",
+					access: nodes.PurchaseReturnOrderGetPurchaseOutInfoById,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () =>
+					import("@/views/Purchase/ManageP/PurchaseReturnOrderLook"),
+			},
+			{
+				path: "ManageP/PurchaseDetail",
+				name: "PurchaseDetail",
+				meta: {
+					title: "采购明细",
+					access: nodes.PurchaseDetail,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/PurchaseDetail"),
+			},
 
-      {
-        path: "PurchaseTotalForm/GoodsForm",
-        name: "PurchaseGoodsForm",
-        meta: {
-          title: "采购商品汇总表",
-          access: nodes.PurchaseStatisticsGetAllPurchaseByFields,
-          remixIcon: "file-text-line",
-        },
-        component: () => import("@/views/Purchase/PurchaseTotalForm/TotalForm"),
-      },
-      {
-        path: "PurchaseTotalForm/SupplierForm",
-        name: "PurchaseSupplierForm",
-        meta: {
-          title: "采购供应商汇总表",
-          remixIcon: "file-text-line",
-          access: nodes.GetSupplierAllPurchaseByFields,
-        },
-        component: () => import("@/views/Purchase/PurchaseTotalForm/TotalForm"),
-      },
-      {
-        path: "PurchaseTotalForm/StaffForm",
-        name: "PurchaseStaffForm",
-        meta: {
-          title: "采购人员汇总表",
-          access: nodes.GetStaffAllPurchaseByFields,
-          remixIcon: "file-text-line",
-        },
-        component: () => import("@/views/Purchase/PurchaseTotalForm/TotalForm"),
-      },
-    ],
-  },
-  {
-    path: "/stock",
-    component: Layout,
-    redirect: "/stock/OutIn/outgoing",
-    alwaysShow: true,
-    meta: {
-      title: "库存",
-      remixIcon: "home-8-line",
-    },
-    children: [
-      {
-        path: "OutIn/outgoing",
-        name: "Outgoing",
-        meta: {
-          title: "出库管理",
-          access: nodes.InventoryOut,
-          remixIcon: "home-gear-line",
-        },
-        component: () => import("@/views/stock/OutIn/outgoing"),
-      },
-      {
-        path: "OutIn/outgoingInfo/:id",
-        name: "OutgoingInfo",
-        hidden: true,
-        meta: {
-          title: "出库单详情",
-          access: nodes.InventoryOutGetInventoryOutInfo,
-          remixIcon: "home-gear-line",
-        },
-        component: () => import("@/views/stock/OutIn/outgoingInfo"),
-      },
-      {
-        path: "OutIn/storage",
-        name: "Storage",
-        meta: {
-          title: "入库管理",
-          access: nodes.InventoryIn,
-          remixIcon: "home-gear-line",
-        },
-        component: () => import("@/views/stock/OutIn/storage"),
-      },
-      {
-        path: "OutIn/AddStorage",
-        name: "AddStorage",
-        meta: {
-          title: "新增入库单",
-          // access: nodes.InventoryIn,
-          remixIcon: "home-gear-line",
-        },
-        component: () => import("@/views/stock/OutIn/AddStorage"),
-      },
-      {
-        path: "OutIn/storageInfo/:id",
-        name: "StorageInfo",
-        hidden: true,
-        meta: {
-          title: "入库单详情",
-          access: nodes.InventoryInGetInventoryInInfo,
-          remixIcon: "home-gear-line",
-        },
-        component: () => import("@/views/stock/OutIn/storageInfo"),
-      },
-      {
-        path: "WarehouseAdmin/query",
-        name: "Query",
-        meta: {
-          title: "库存查询",
-          access: nodes.query,
-          remixIcon: "home-gear-line",
-        },
-        component: () => import("@/views/stock/WarehouseAdmin/query"),
-      },
-      {
-        path: "WarehouseAdmin/warehouseInventory",
-        name: "warehouseInventory",
-        meta: {
-          title: "仓库库存",
-          access: nodes.warehouseInventory,
-          remixIcon: "home-gear-line",
-        },
-        component: () =>
-          import("@/views/stock/WarehouseAdmin/warehouseInventory"),
-      },
-      {
-        path: "WarehouseAdmin/flowing",
-        name: "Flowing",
-        meta: {
-          title: "库存流水",
-          access: nodes.flowing,
-          remixIcon: "home-gear-line",
-        },
-        component: () => import("@/views/stock/WarehouseAdmin/flowing"),
-      },
-      {
-        path: "WarehouseAdmin/Batch",
-        name: "Batch",
-        meta: {
-          title: "批次流水",
-          access: nodes.Batch,
-          remixIcon: "home-gear-line",
-        },
-        component: () => import("@/views/stock/WarehouseAdmin/Batch"),
-      },
-      {
-        path: "WarehouseAdmin/ShelfLife",
-        name: "ShelfLife",
-        meta: {
-          title: "保质期查询",
-          access: nodes.GetBatch,
-          remixIcon: "home-gear-line",
-        },
-        component: () => import("@/views/stock/WarehouseAdmin/ShelfLife"),
-      },
-      {
-        path: "WarehouseManagement/Management",
-        name: "Management",
-        meta: {
-          title: "仓库管理",
-          access: nodes.management,
-          remixIcon: "home-6-line",
-        },
-        component: () => import("@/views/stock/WarehouseManagement/Management"),
-      },
-      {
-        path: "WarehouseManagement/WarehouseArea",
-        name: "WarehouseArea",
-        meta: {
-          title: "库区管理",
-          access: nodes.WarehouseArea,
-          remixIcon: "home-6-line",
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/WarehouseArea"),
-      },
-      {
-        path: "WarehouseManagement/LocationManagement",
-        name: "LocationManagement",
-        meta: {
-          title: "库位管理",
-          access: nodes.LocationManagement,
-          remixIcon: "home-6-line",
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/LocationManagement"),
-      },
-      {
-        path: "WarehouseManagement/newWarehouse",
-        name: "NewWarehouse",
-        hidden: true,
-        meta: {
-          title: "新建仓库",
-          access: nodes.managementAddWarehouse,
-          remixIcon: "home-6-line",
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/newWarehouse"),
-      },
-      {
-        path: "WarehouseManagement/eitWarehouse/:id",
-        name: "EitWarehouse",
-        hidden: true,
-        meta: {
-          title: "编辑仓库",
-          access: nodes.managementUpdateWarehouse,
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/newWarehouse"),
-      },
-      {
-        path: "WarehouseManagement/start",
-        name: "Start",
-        hidden: true,
-        meta: {
-          title: "期初库存",
-          remixIcon: "home-6-line",
-        },
-        component: () => import("@/views/stock/WarehouseManagement/start"),
-      },
-      {
-        path: "WarehouseManagement/startInfo",
-        name: "StartInfo",
-        hidden: true,
-        meta: {
-          title: "期初库存单详情",
-          remixIcon: "home-6-line",
-        },
-        component: () => import("@/views/stock/WarehouseManagement/startInfo"),
-      },
-      {
-        path: "WarehouseManagement/newStart",
-        name: "NewStart",
-        hidden: true,
-        meta: {
-          title: "新建期初库存",
-          access: nodes.managementAddWarehouseBeginning,
-          remixIcon: "home-6-line",
-        },
-        component: () => import("@/views/stock/WarehouseManagement/newStart"),
-      },
-      {
-        path: "WarehouseManagement/inventoryInfo",
-        name: "InventoryInfo",
-        meta: {
-          title: "盘点单",
-          access: nodes.inventoryInfo,
-          remixIcon: "home-6-line",
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/inventoryInfo"),
-      },
-      {
-        path: "WarehouseManagement/AddInventoryInfo",
-        name: "AddInventoryInfo",
-        hidden: true,
-        meta: {
-          title: "新建盘点单",
-          access: nodes.inventoryInfoAddStocktaking,
-          remixIcon: "home-6-line",
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/AddInventoryInfo.vue"),
-      },
-      {
-        path: "WarehouseManagement/EditInventoryInfo/:id",
-        name: "EditInventoryInfo",
-        hidden: true,
-        meta: {
-          title: "编辑盘点单",
-          access: nodes.inventoryInfoUpdateStocktaking,
-          remixIcon: "home-6-line",
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/AddInventoryInfo.vue"),
-      },
-      {
-        path: "WarehouseManagement/InventoryDetail/:id",
-        name: "InventoryDetail",
-        hidden: true,
-        meta: {
-          title: "盘点单详情",
-          access: nodes.inventoryInfoGetStocktakingInfo,
-          remixIcon: "home-6-line",
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/InventoryDetail.vue"),
-      },
-      {
-        path: "WarehouseManagement/AllocationForm",
-        name: "AllocationForm",
-        meta: {
-          title: "调拨单",
-          access: nodes.AllocationForm,
-          remixIcon: "home-6-line",
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/AllocationForm.vue"),
-      },
-      {
-        path: "WarehouseManagement/AddAllocationForm",
-        name: "AddAllocationForm",
-        hidden: true,
-        meta: {
-          title: "新增调拨单",
-          access: nodes.AllocationFormAddAllocate,
-          remixIcon: "home-6-line",
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/AddAllocationForm.vue"),
-      },
-      {
-        path: "WarehouseManagement/EditAllocationForm/:id",
-        name: "EditAllocationForm",
-        hidden: true,
-        meta: {
-          title: "修改调拨单",
-          access: nodes.AllocationFormUpdateAllocate,
-          remixIcon: "home-6-line",
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/AddAllocationForm.vue"),
-      },
-      {
-        path: "WarehouseManagement/DetailAllocationForm/:id",
-        name: "DetailAllocationForm",
-        hidden: true,
-        meta: {
-          title: "调拨单详情",
-          access: nodes.AllocationFormGetAllocateInfo,
-          remixIcon: "home-6-line",
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/DetailAllocationForm.vue"),
-      },
-      {
-        path: "WarehouseManagement/LossReport",
-        name: "LossReport",
-        meta: {
-          title: "报损单",
-          remixIcon: "home-6-line",
-          access: nodes.LossReport,
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/LossReport.vue"),
-      },
-      {
-        path: "WarehouseManagement/AddLossReport",
-        name: "AddLossReport",
-        meta: {
-          title: "新增报损单",
-          remixIcon: "home-6-line",
-          access: nodes.LossReportAddLossReport,
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/AddLossReport.vue"),
-      },
-      {
-        path: "WarehouseManagement/EditLossReport",
-        name: "EditLossReport",
-        meta: {
-          title: "修改报损单",
-          remixIcon: "home-6-line",
-          access: nodes.LossReportEditLossReport,
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/AddLossReport.vue"),
-      },
-      {
-        path: "WarehouseManagement/LossReportInfo/:id",
-        name: "LossReportInfo",
-        meta: {
-          title: "报损单详情",
-          remixIcon: "home-6-line",
-          access: nodes.LossReportDetailLossReport,
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/LossReportInfo.vue"),
-      },
-      {
-        path: "summary/GoodsReceiptIssueSummary",
-        name: "GoodsReceiptIssueSummary",
-        hidden: true,
-        meta: {
-          title: "商品收发汇总",
-          access: nodes.PublishGoodsEditGoods,
-          remixIcon: "file-text-line",
-        },
-        component: () =>
-          import("@/views/stock/summary/GoodsReceiptIssueSummary"),
-      },
-      {
-        path: "summary/WarehouseStockSummary",
-        name: "WarehouseStockSummary",
-        meta: {
-          title: "库存汇总",
-          access: nodes.inventoryStatistics,
-        },
-        component: () =>
-          import("@/views/stock/summary/WarehouseStockSummary.vue"),
-      },
-      {
-        path: "OrdersForShipment/PickingCenter",
-        name: "PickingCenter",
-        meta: {
-          title: "拣货中心",
-          // access: nodes.inventoryStatistics,
-        },
-        component: () =>
-          import("@/views/stock/OrdersForShipment/PickingCenter.vue"),
-      },
-      {
-        path: "OrdersForShipment/PickingDetail",
-        name: "PickingDetail",
-        meta: {
-          title: "待拣货订单明细",
-          // access: nodes.inventoryStatistics,
-        },
-        component: () =>
-          import("@/views/stock/OrdersForShipment/PickingDetail.vue"),
-      },
-      {
-        path: "OrdersForShipment/pickingList/:id",
-        name: "pickingList",
-        meta: {
-          title: "拣货单",
-          // access: nodes.inventoryStatistics,
-        },
-        component: () =>
-          import("@/views/stock/OrdersForShipment/pickingList.vue"),
-      },
-      {
-        path: "OrdersForShipment/DistributionCenter",
-        name: "DistributionCenter",
-        meta: {
-          title: "配送中心",
-          // access: nodes.inventoryStatistics,
-        },
-        component: () =>
-          import("@/views/stock/OrdersForShipment/DistributionCenter.vue"),
-      },
-      {
-        path: "OrdersForShipment/DeliveryDetailsOfGoods",
-        name: "DeliveryDetailsOfGoods",
-        meta: {
-          title: "配送商品明细",
-          // access: nodes.inventoryStatistics,
-        },
-        component: () =>
-          import("@/views/stock/OrdersForShipment/DeliveryDetailsOfGoods.vue"),
-      },
-      {
-        path: "OrdersForShipment/SalesOutbound/:id",
-        name: "SalesOutbound",
-        meta: {
-          title: "销售出库单",
-          // access: nodes.inventoryStatistics,
-        },
-        component: () =>
-          import("@/views/stock/OrdersForShipment/SalesOutbound.vue"),
-      },
-      {
-        path: "OrdersForShipment/DeliveryReceivedDetails/:id",
-        name: "DeliveryReceivedDetails",
-        meta: {
-          title: "配送待收货明细",
-          // access: nodes.inventoryStatistics,
-        },
-        component: () =>
-          import("@/views/stock/OrdersForShipment/DeliveryReceivedDetails.vue"),
-      },
-      {
-        path: "OrdersForShipment/DeliveryToBeReceivedDetails",
-        name: "DeliveryToBeReceivedDetails",
-        meta: {
-          title: "配送待收货明细",
-          // access: nodes.inventoryStatistics,
-        },
-        component: () =>
-          import(
-            "@/views/stock/OrdersForShipment/DeliveryToBeReceivedDetails.vue"
-          ),
-      },
-      // {
-      //   path: "OutIn/inventoryWarning",
-      //   name: "inventoryWarning",
-      //   meta: {
-      //     title: "库存预警",
-      //     remixIcon: "home-gear-line",
-      //   },
-      //   component: () => import("@/views/stock/OutIn/inventoryWarning"),
-      // },
-    ],
-  },
-  {
-    path: "/Finance",
-    component: Layout,
-    redirect: "/Finance/Receivable/ReceivableList",
-    alwaysShow: true,
-    meta: {
-      title: "财务",
-      remixIcon: "money-cny-circle-line",
-    },
-    children: [
-      {
-        path: "Receivable/ReceivableList",
-        name: "ReceivableList",
-        meta: {
-          title: "应收单列表",
-          access: nodes.ReceivableList,
-          remixIcon: "align-bottom",
-        },
-        component: () => import("@/views/Finance/Receivable/ReceivableList"),
-      },
-      {
-        path: "Receivable/AddReceivable",
-        name: "AddReceivable",
-        hidden: true,
-        meta: {
-          title: "新增应收单",
-          remixIcon: "align-bottom",
-        },
-        component: () => import("@/views/Finance/Receivable/AddReceivable.vue"),
-      },
-      {
-        path: "Receivable/ReceiptList",
-        name: "ReceiptList",
-        meta: {
-          title: "收款单列表",
-          access: nodes.ReceiptListGetAllReceived,
-          remixIcon: "align-bottom",
-        },
-        component: () => import("@/views/Finance/Receivable/ReceiptList.vue"),
-      },
-      {
-        path: "Receivable/AddReceipt",
-        name: "AddReceipt",
-        hidden: true,
-        meta: {
-          title: "新增收款单",
-          access: nodes.ReceiptListAddReceived,
-          remixIcon: "align-bottom",
-        },
-        component: () => import("@/views/Finance/Receivable/AddReceipt.vue"),
-      },
-      {
-        path: "Receivable/LookReceipt/:id/:createTime",
-        name: "LookReceipt",
-        hidden: true,
-        meta: {
-          title: "收款单详情",
-          access: nodes.ReceiptListGetReceivedInfo,
-          remixIcon: "align-bottom",
-        },
-        component: () => import("@/views/Finance/Receivable/LookReceipt.vue"),
-      },
-      {
-        path: "Receivable/editReceipt/:id/:createTime",
-        name: "EditReceipt",
-        hidden: true,
-        meta: {
-          title: "编辑收款单",
-          access: nodes.ReceiptListGetReceivedInfo,
-          remixIcon: "align-bottom",
-        },
-        component: () => import("@/views/Finance/Receivable/AddReceipt.vue"),
-      },
-      {
-        path: "Receivable/ApplyReceipt",
-        name: "ApplyReceipt",
-        hidden: true,
-        meta: {
-          title: "收款申请单",
-          remixIcon: "align-bottom",
-          access: nodes.ApplyReceipt,
-        },
-        component: () => import("@/views/Finance/Receivable/ApplyReceipt.vue"),
-      },
-      {
-        path: "Receivable/AddApplyReceipt",
-        name: "AddApplyReceipt",
-        hidden: true,
-        meta: {
-          title: "新增收款申请单",
-          remixIcon: "align-bottom",
-          access: nodes.addApplyReceipt,
-        },
-        component: () =>
-          import("@/views/Finance/Receivable/AddApplyReceipt.vue"),
-      },
-      {
-        path: "Receivable/editApplyReceipt/:id",
-        name: "editApplyReceipt",
-        hidden: true,
-        meta: {
-          title: "编辑收款申请单",
-          remixIcon: "align-bottom",
-          access: nodes.editApplyReceipt,
-        },
-        component: () =>
-          import("@/views/Finance/Receivable/AddApplyReceipt.vue"),
-      },
-      {
-        path: "Receivable/ApplyReceiptInfo/:id",
-        name: "ApplyReceiptInfo",
-        hidden: true,
-        meta: {
-          title: "收款申请单详情",
-          remixIcon: "align-bottom",
-          access: nodes.auditApplyReceipt,
-        },
-        component: () =>
-          import("@/views/Finance/Receivable/ApplyReceiptInfo.vue"),
-      },
-      {
-        path: "Receivable/CustomerBalance",
-        name: "CustomerBalance",
-        meta: {
-          title: "客户往来汇总表",
-          access: nodes.CustomerBalanceGetAllCustomerBalance,
-          remixIcon: "align-bottom",
-        },
-        component: () =>
-          import("@/views/Finance/Receivable/CustomerBalance.vue"),
-      },
-      {
-        path: "Receivable/CustomerBalanceDetail",
-        name: "CustomerBalanceDetail",
-        meta: {
-          title: "客户往来明细表",
-          access: nodes.CustomerBalanceDetailGetAllCustomerBalanceDetail,
-          remixIcon: "align-bottom",
-        },
-        component: () =>
-          import("@/views/Finance/Receivable/CustomerBalanceDetail.vue"),
-      },
-      {
-        path: "Handle/HandleList",
-        name: "HandleList",
-        meta: {
-          title: "应付单列表",
-          access: nodes.HandleList,
-          remixIcon: "align-top",
-        },
-        component: () => import("@/views/Finance/Handle/HandleList.vue"),
-      },
-      {
-        path: "Handle/PaymentList",
-        name: "PaymentList",
-        meta: {
-          title: "付款单列表",
-          access: nodes.PaymentListGetAllPaid,
-          remixIcon: "align-top",
-        },
-        component: () => import("@/views/Finance/Handle/PaymentList.vue"),
-      },
-      {
-        path: "Handle/editPayment/:id/:createTime",
-        name: "EditPayment",
-        hidden: true,
-        meta: {
-          title: "编辑付款单",
-          access: nodes.ReceiptListGetReceivedInfo,
-          remixIcon: "align-top",
-        },
-        component: () => import("@/views/Finance/Handle/AddPayment.vue"),
-      },
-      {
-        path: "Handle/AddPayment",
-        name: "AddPayment",
-        hidden: true,
-        meta: {
-          title: "新增付款单",
-          access: nodes.PaymentListAddPaid,
-          remixIcon: "align-top",
-        },
-        component: () => import("@/views/Finance/Handle/AddPayment.vue"),
-      },
-      {
-        path: "Handle/LookPayment/:id/:createTime",
-        name: "LookPayment",
-        hidden: true,
-        meta: {
-          title: "付款单详情",
-          access: nodes.PaymentListGetPaidInfo,
-          remixIcon: "align-top",
-        },
-        component: () => import("@/views/Finance/Handle/LookPayment.vue"),
-      },
-      {
-        path: "Handle/SupplierBalance",
-        name: "SupplierBalance",
-        meta: {
-          title: "供应商往来汇总表",
-          access: nodes.CustomerBalanceGetAllSupplierBalance,
-          remixIcon: "align-top",
-        },
-        component: () => import("@/views/Finance/Handle/SupplierBalance.vue"),
-      },
-      {
-        path: "Handle/SupplierBalanceDetails",
-        name: "SupplierBalanceDetails",
-        meta: {
-          title: "供应商余额明细表",
-          access: nodes.SupplierBalanceDetailsGetAllSupplierBalanceDetail,
-          remixIcon: "align-top",
-        },
-        component: () =>
-          import("@/views/Finance/Handle/SupplierBalanceDetails.vue"),
-      },
+			{
+				path: "PurchaseTotalForm/GoodsForm",
+				name: "PurchaseGoodsForm",
+				meta: {
+					title: "采购商品汇总表",
+					access: nodes.PurchaseStatisticsGetAllPurchaseByFields,
+					remixIcon: "file-text-line",
+				},
+				component: () => import("@/views/Purchase/PurchaseTotalForm/TotalForm"),
+			},
+			{
+				path: "PurchaseTotalForm/SupplierForm",
+				name: "PurchaseSupplierForm",
+				meta: {
+					title: "采购供应商汇总表",
+					remixIcon: "file-text-line",
+					access: nodes.GetSupplierAllPurchaseByFields,
+				},
+				component: () => import("@/views/Purchase/PurchaseTotalForm/TotalForm"),
+			},
+			{
+				path: "PurchaseTotalForm/StaffForm",
+				name: "PurchaseStaffForm",
+				meta: {
+					title: "采购人员汇总表",
+					access: nodes.GetStaffAllPurchaseByFields,
+					remixIcon: "file-text-line",
+				},
+				component: () => import("@/views/Purchase/PurchaseTotalForm/TotalForm"),
+			},
+		],
+	},
+	{
+		path: "/stock",
+		component: Layout,
+		redirect: "/stock/OutIn/outgoing",
+		alwaysShow: true,
+		meta: {
+			title: "库存",
+			remixIcon: "home-8-line",
+		},
+		children: [{
+				path: "OutIn/outgoing",
+				name: "Outgoing",
+				meta: {
+					title: "出库管理",
+					access: nodes.InventoryOut,
+					remixIcon: "home-gear-line",
+				},
+				component: () => import("@/views/stock/OutIn/outgoing"),
+			},
+			{
+				path: "OutIn/outgoingInfo/:id",
+				name: "OutgoingInfo",
+				hidden: true,
+				meta: {
+					title: "出库单详情",
+					access: nodes.InventoryOutGetInventoryOutInfo,
+					remixIcon: "home-gear-line",
+				},
+				component: () => import("@/views/stock/OutIn/outgoingInfo"),
+			},
+			{
+				path: "OutIn/storage",
+				name: "Storage",
+				meta: {
+					title: "入库管理",
+					access: nodes.InventoryIn,
+					remixIcon: "home-gear-line",
+				},
+				component: () => import("@/views/stock/OutIn/storage"),
+			},
+			{
+				path: "OutIn/AddStorage",
+				name: "AddStorage",
+				meta: {
+					title: "新增入库单",
+					// access: nodes.InventoryIn,
+					remixIcon: "home-gear-line",
+				},
+				component: () => import("@/views/stock/OutIn/AddStorage"),
+			},
+			{
+				path: "OutIn/storageInfo/:id",
+				name: "StorageInfo",
+				hidden: true,
+				meta: {
+					title: "入库单详情",
+					access: nodes.InventoryInGetInventoryInInfo,
+					remixIcon: "home-gear-line",
+				},
+				component: () => import("@/views/stock/OutIn/storageInfo"),
+			},
+			{
+				path: "WarehouseAdmin/query",
+				name: "Query",
+				meta: {
+					title: "库存查询",
+					access: nodes.query,
+					remixIcon: "home-gear-line",
+				},
+				component: () => import("@/views/stock/WarehouseAdmin/query"),
+			},
+			{
+				path: "WarehouseAdmin/warehouseInventory",
+				name: "warehouseInventory",
+				meta: {
+					title: "仓库库存",
+					access: nodes.warehouseInventory,
+					remixIcon: "home-gear-line",
+				},
+				component: () =>
+					import("@/views/stock/WarehouseAdmin/warehouseInventory"),
+			},
+			{
+				path: "WarehouseAdmin/flowing",
+				name: "Flowing",
+				meta: {
+					title: "库存流水",
+					access: nodes.flowing,
+					remixIcon: "home-gear-line",
+				},
+				component: () => import("@/views/stock/WarehouseAdmin/flowing"),
+			},
+			{
+				path: "WarehouseAdmin/Batch",
+				name: "Batch",
+				meta: {
+					title: "批次流水",
+					access: nodes.Batch,
+					remixIcon: "home-gear-line",
+				},
+				component: () => import("@/views/stock/WarehouseAdmin/Batch"),
+			},
+			{
+				path: "WarehouseAdmin/ShelfLife",
+				name: "ShelfLife",
+				meta: {
+					title: "保质期查询",
+					access: nodes.GetBatch,
+					remixIcon: "home-gear-line",
+				},
+				component: () => import("@/views/stock/WarehouseAdmin/ShelfLife"),
+			},
+			{
+				path: "WarehouseManagement/Management",
+				name: "Management",
+				meta: {
+					title: "仓库管理",
+					access: nodes.management,
+					remixIcon: "home-6-line",
+				},
+				component: () => import("@/views/stock/WarehouseManagement/Management"),
+			},
+			{
+				path: "WarehouseManagement/WarehouseArea",
+				name: "WarehouseArea",
+				meta: {
+					title: "库区管理",
+					access: nodes.WarehouseArea,
+					remixIcon: "home-6-line",
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/WarehouseArea"),
+			},
+			{
+				path: "WarehouseManagement/LocationManagement",
+				name: "LocationManagement",
+				meta: {
+					title: "库位管理",
+					access: nodes.LocationManagement,
+					remixIcon: "home-6-line",
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/LocationManagement"),
+			},
+			{
+				path: "WarehouseManagement/newWarehouse",
+				name: "NewWarehouse",
+				hidden: true,
+				meta: {
+					title: "新建仓库",
+					access: nodes.managementAddWarehouse,
+					remixIcon: "home-6-line",
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/newWarehouse"),
+			},
+			{
+				path: "WarehouseManagement/eitWarehouse/:id",
+				name: "EitWarehouse",
+				hidden: true,
+				meta: {
+					title: "编辑仓库",
+					access: nodes.managementUpdateWarehouse,
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/newWarehouse"),
+			},
+			{
+				path: "WarehouseManagement/start",
+				name: "Start",
+				hidden: true,
+				meta: {
+					title: "期初库存",
+					remixIcon: "home-6-line",
+				},
+				component: () => import("@/views/stock/WarehouseManagement/start"),
+			},
+			{
+				path: "WarehouseManagement/startInfo",
+				name: "StartInfo",
+				hidden: true,
+				meta: {
+					title: "期初库存单详情",
+					remixIcon: "home-6-line",
+				},
+				component: () => import("@/views/stock/WarehouseManagement/startInfo"),
+			},
+			{
+				path: "WarehouseManagement/newStart",
+				name: "NewStart",
+				hidden: true,
+				meta: {
+					title: "新建期初库存",
+					access: nodes.managementAddWarehouseBeginning,
+					remixIcon: "home-6-line",
+				},
+				component: () => import("@/views/stock/WarehouseManagement/newStart"),
+			},
+			{
+				path: "WarehouseManagement/inventoryInfo",
+				name: "InventoryInfo",
+				meta: {
+					title: "盘点单",
+					access: nodes.inventoryInfo,
+					remixIcon: "home-6-line",
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/inventoryInfo"),
+			},
+			{
+				path: "WarehouseManagement/AddInventoryInfo",
+				name: "AddInventoryInfo",
+				hidden: true,
+				meta: {
+					title: "新建盘点单",
+					access: nodes.inventoryInfoAddStocktaking,
+					remixIcon: "home-6-line",
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/AddInventoryInfo.vue"),
+			},
+			{
+				path: "WarehouseManagement/EditInventoryInfo/:id",
+				name: "EditInventoryInfo",
+				hidden: true,
+				meta: {
+					title: "编辑盘点单",
+					access: nodes.inventoryInfoUpdateStocktaking,
+					remixIcon: "home-6-line",
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/AddInventoryInfo.vue"),
+			},
+			{
+				path: "WarehouseManagement/InventoryDetail/:id",
+				name: "InventoryDetail",
+				hidden: true,
+				meta: {
+					title: "盘点单详情",
+					access: nodes.inventoryInfoGetStocktakingInfo,
+					remixIcon: "home-6-line",
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/InventoryDetail.vue"),
+			},
+			{
+				path: "WarehouseManagement/AllocationForm",
+				name: "AllocationForm",
+				meta: {
+					title: "调拨单",
+					access: nodes.AllocationForm,
+					remixIcon: "home-6-line",
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/AllocationForm.vue"),
+			},
+			{
+				path: "WarehouseManagement/AddAllocationForm",
+				name: "AddAllocationForm",
+				hidden: true,
+				meta: {
+					title: "新增调拨单",
+					access: nodes.AllocationFormAddAllocate,
+					remixIcon: "home-6-line",
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/AddAllocationForm.vue"),
+			},
+			{
+				path: "WarehouseManagement/EditAllocationForm/:id",
+				name: "EditAllocationForm",
+				hidden: true,
+				meta: {
+					title: "修改调拨单",
+					access: nodes.AllocationFormUpdateAllocate,
+					remixIcon: "home-6-line",
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/AddAllocationForm.vue"),
+			},
+			{
+				path: "WarehouseManagement/DetailAllocationForm/:id",
+				name: "DetailAllocationForm",
+				hidden: true,
+				meta: {
+					title: "调拨单详情",
+					access: nodes.AllocationFormGetAllocateInfo,
+					remixIcon: "home-6-line",
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/DetailAllocationForm.vue"),
+			},
+			{
+				path: "WarehouseManagement/LossReport",
+				name: "LossReport",
+				meta: {
+					title: "报损单",
+					remixIcon: "home-6-line",
+					access: nodes.LossReport,
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/LossReport.vue"),
+			},
+			{
+				path: "WarehouseManagement/AddLossReport",
+				name: "AddLossReport",
+				meta: {
+					title: "新增报损单",
+					remixIcon: "home-6-line",
+					access: nodes.LossReportAddLossReport,
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/AddLossReport.vue"),
+			},
+			{
+				path: "WarehouseManagement/EditLossReport",
+				name: "EditLossReport",
+				meta: {
+					title: "修改报损单",
+					remixIcon: "home-6-line",
+					access: nodes.LossReportEditLossReport,
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/AddLossReport.vue"),
+			},
+			{
+				path: "WarehouseManagement/LossReportInfo/:id",
+				name: "LossReportInfo",
+				meta: {
+					title: "报损单详情",
+					remixIcon: "home-6-line",
+					access: nodes.LossReportDetailLossReport,
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/LossReportInfo.vue"),
+			},
+			{
+				path: "summary/GoodsReceiptIssueSummary",
+				name: "GoodsReceiptIssueSummary",
+				hidden: true,
+				meta: {
+					title: "商品收发汇总",
+					access: nodes.PublishGoodsEditGoods,
+					remixIcon: "file-text-line",
+				},
+				component: () =>
+					import("@/views/stock/summary/GoodsReceiptIssueSummary"),
+			},
+			{
+				path: "summary/WarehouseStockSummary",
+				name: "WarehouseStockSummary",
+				meta: {
+					title: "库存汇总",
+					access: nodes.inventoryStatistics,
+				},
+				component: () =>
+					import("@/views/stock/summary/WarehouseStockSummary.vue"),
+			},
+			{
+				path: "OrdersForShipment/PickingCenter",
+				name: "PickingCenter",
+				meta: {
+					title: "拣货中心",
+					// access: nodes.inventoryStatistics,
+				},
+				component: () =>
+					import("@/views/stock/OrdersForShipment/PickingCenter.vue"),
+			},
+			{
+				path: "OrdersForShipment/PickingDetail",
+				name: "PickingDetail",
+				meta: {
+					title: "待拣货订单明细",
+					// access: nodes.inventoryStatistics,
+				},
+				component: () =>
+					import("@/views/stock/OrdersForShipment/PickingDetail.vue"),
+			},
+			{
+				path: "OrdersForShipment/pickingList/:id",
+				name: "pickingList",
+				meta: {
+					title: "拣货单",
+					// access: nodes.inventoryStatistics,
+				},
+				component: () =>
+					import("@/views/stock/OrdersForShipment/pickingList.vue"),
+			},
+			{
+				path: "OrdersForShipment/DistributionCenter",
+				name: "DistributionCenter",
+				meta: {
+					title: "配送中心",
+					// access: nodes.inventoryStatistics,
+				},
+				component: () =>
+					import("@/views/stock/OrdersForShipment/DistributionCenter.vue"),
+			},
+			{
+				path: "OrdersForShipment/DeliveryDetailsOfGoods",
+				name: "DeliveryDetailsOfGoods",
+				meta: {
+					title: "配送商品明细",
+					// access: nodes.inventoryStatistics,
+				},
+				component: () =>
+					import("@/views/stock/OrdersForShipment/DeliveryDetailsOfGoods.vue"),
+			},
+			{
+				path: "OrdersForShipment/SalesOutbound/:id",
+				name: "SalesOutbound",
+				meta: {
+					title: "销售出库单",
+					// access: nodes.inventoryStatistics,
+				},
+				component: () =>
+					import("@/views/stock/OrdersForShipment/SalesOutbound.vue"),
+			},
+			{
+				path: "OrdersForShipment/DeliveryReceivedDetails/:id",
+				name: "DeliveryReceivedDetails",
+				meta: {
+					title: "配送待收货明细",
+					// access: nodes.inventoryStatistics,
+				},
+				component: () =>
+					import("@/views/stock/OrdersForShipment/DeliveryReceivedDetails.vue"),
+			},
+			{
+				path: "OrdersForShipment/DeliveryToBeReceivedDetails",
+				name: "DeliveryToBeReceivedDetails",
+				meta: {
+					title: "配送待收货明细",
+					// access: nodes.inventoryStatistics,
+				},
+				component: () =>
+					import(
+						"@/views/stock/OrdersForShipment/DeliveryToBeReceivedDetails.vue"
+					),
+			},
+			// {
+			//   path: "OutIn/inventoryWarning",
+			//   name: "inventoryWarning",
+			//   meta: {
+			//     title: "库存预警",
+			//     remixIcon: "home-gear-line",
+			//   },
+			//   component: () => import("@/views/stock/OutIn/inventoryWarning"),
+			// },
+		],
+	},
+	{
+		path: "/Finance",
+		component: Layout,
+		redirect: "/Finance/Receivable/ReceivableList",
+		alwaysShow: true,
+		meta: {
+			title: "财务",
+			remixIcon: "money-cny-circle-line",
+		},
+		children: [{
+				path: "Receivable/ReceivableList",
+				name: "ReceivableList",
+				meta: {
+					title: "应收单列表",
+					access: nodes.ReceivableList,
+					remixIcon: "align-bottom",
+				},
+				component: () => import("@/views/Finance/Receivable/ReceivableList"),
+			},
+			{
+				path: "Receivable/AddReceivable",
+				name: "AddReceivable",
+				hidden: true,
+				meta: {
+					title: "新增应收单",
+					remixIcon: "align-bottom",
+				},
+				component: () => import("@/views/Finance/Receivable/AddReceivable.vue"),
+			},
+			{
+				path: "Receivable/ReceiptList",
+				name: "ReceiptList",
+				meta: {
+					title: "收款单列表",
+					access: nodes.ReceiptListGetAllReceived,
+					remixIcon: "align-bottom",
+				},
+				component: () => import("@/views/Finance/Receivable/ReceiptList.vue"),
+			},
+			{
+				path: "Receivable/AddReceipt",
+				name: "AddReceipt",
+				hidden: true,
+				meta: {
+					title: "新增收款单",
+					access: nodes.ReceiptListAddReceived,
+					remixIcon: "align-bottom",
+				},
+				component: () => import("@/views/Finance/Receivable/AddReceipt.vue"),
+			},
+			{
+				path: "Receivable/LookReceipt/:id/:createTime",
+				name: "LookReceipt",
+				hidden: true,
+				meta: {
+					title: "收款单详情",
+					access: nodes.ReceiptListGetReceivedInfo,
+					remixIcon: "align-bottom",
+				},
+				component: () => import("@/views/Finance/Receivable/LookReceipt.vue"),
+			},
+			{
+				path: "Receivable/editReceipt/:id/:createTime",
+				name: "EditReceipt",
+				hidden: true,
+				meta: {
+					title: "编辑收款单",
+					access: nodes.ReceiptListGetReceivedInfo,
+					remixIcon: "align-bottom",
+				},
+				component: () => import("@/views/Finance/Receivable/AddReceipt.vue"),
+			},
+			{
+				path: "Receivable/ApplyReceipt",
+				name: "ApplyReceipt",
+				hidden: true,
+				meta: {
+					title: "收款申请单",
+					remixIcon: "align-bottom",
+					access: nodes.ApplyReceipt,
+				},
+				component: () => import("@/views/Finance/Receivable/ApplyReceipt.vue"),
+			},
+			{
+				path: "Receivable/AddApplyReceipt",
+				name: "AddApplyReceipt",
+				hidden: true,
+				meta: {
+					title: "新增收款申请单",
+					remixIcon: "align-bottom",
+					access: nodes.addApplyReceipt,
+				},
+				component: () =>
+					import("@/views/Finance/Receivable/AddApplyReceipt.vue"),
+			},
+			{
+				path: "Receivable/editApplyReceipt/:id",
+				name: "editApplyReceipt",
+				hidden: true,
+				meta: {
+					title: "编辑收款申请单",
+					remixIcon: "align-bottom",
+					access: nodes.editApplyReceipt,
+				},
+				component: () =>
+					import("@/views/Finance/Receivable/AddApplyReceipt.vue"),
+			},
+			{
+				path: "Receivable/ApplyReceiptInfo/:id",
+				name: "ApplyReceiptInfo",
+				hidden: true,
+				meta: {
+					title: "收款申请单详情",
+					remixIcon: "align-bottom",
+					access: nodes.auditApplyReceipt,
+				},
+				component: () =>
+					import("@/views/Finance/Receivable/ApplyReceiptInfo.vue"),
+			},
+			{
+				path: "Receivable/CustomerBalance",
+				name: "CustomerBalance",
+				meta: {
+					title: "客户往来汇总表",
+					access: nodes.CustomerBalanceGetAllCustomerBalance,
+					remixIcon: "align-bottom",
+				},
+				component: () =>
+					import("@/views/Finance/Receivable/CustomerBalance.vue"),
+			},
+			{
+				path: "Receivable/CustomerBalanceDetail",
+				name: "CustomerBalanceDetail",
+				meta: {
+					title: "客户往来明细表",
+					access: nodes.CustomerBalanceDetailGetAllCustomerBalanceDetail,
+					remixIcon: "align-bottom",
+				},
+				component: () =>
+					import("@/views/Finance/Receivable/CustomerBalanceDetail.vue"),
+			},
+			{
+				path: "Handle/HandleList",
+				name: "HandleList",
+				meta: {
+					title: "应付单列表",
+					access: nodes.HandleList,
+					remixIcon: "align-top",
+				},
+				component: () => import("@/views/Finance/Handle/HandleList.vue"),
+			},
+			{
+				path: "Handle/PaymentList",
+				name: "PaymentList",
+				meta: {
+					title: "付款单列表",
+					access: nodes.PaymentListGetAllPaid,
+					remixIcon: "align-top",
+				},
+				component: () => import("@/views/Finance/Handle/PaymentList.vue"),
+			},
+			{
+				path: "Handle/editPayment/:id/:createTime",
+				name: "EditPayment",
+				hidden: true,
+				meta: {
+					title: "编辑付款单",
+					access: nodes.ReceiptListGetReceivedInfo,
+					remixIcon: "align-top",
+				},
+				component: () => import("@/views/Finance/Handle/AddPayment.vue"),
+			},
+			{
+				path: "Handle/AddPayment",
+				name: "AddPayment",
+				hidden: true,
+				meta: {
+					title: "新增付款单",
+					access: nodes.PaymentListAddPaid,
+					remixIcon: "align-top",
+				},
+				component: () => import("@/views/Finance/Handle/AddPayment.vue"),
+			},
+			{
+				path: "Handle/LookPayment/:id/:createTime",
+				name: "LookPayment",
+				hidden: true,
+				meta: {
+					title: "付款单详情",
+					access: nodes.PaymentListGetPaidInfo,
+					remixIcon: "align-top",
+				},
+				component: () => import("@/views/Finance/Handle/LookPayment.vue"),
+			},
+			{
+				path: "Handle/SupplierBalance",
+				name: "SupplierBalance",
+				meta: {
+					title: "供应商往来汇总表",
+					access: nodes.CustomerBalanceGetAllSupplierBalance,
+					remixIcon: "align-top",
+				},
+				component: () => import("@/views/Finance/Handle/SupplierBalance.vue"),
+			},
+			{
+				path: "Handle/SupplierBalanceDetails",
+				name: "SupplierBalanceDetails",
+				meta: {
+					title: "供应商余额明细表",
+					access: nodes.SupplierBalanceDetailsGetAllSupplierBalanceDetail,
+					remixIcon: "align-top",
+				},
+				component: () =>
+					import("@/views/Finance/Handle/SupplierBalanceDetails.vue"),
+			},
 
-      {
-        path: "Cashier/FunTransfer",
-        name: "FunTransfer",
-        meta: {
-          title: "资金转账单",
-          access: nodes.FunTransfer,
-          remixIcon: "bank-card-line",
-        },
-        component: () => import("@/views/Finance/Cashier/FunTransfer.vue"),
-      },
-      {
-        path: "Cashier/AddFunTransfer",
-        name: "AddFunTransfer",
-        hidden: true,
-        meta: {
-          title: "新增资金转账单",
-          access: nodes.FunTransferAddAccountTransfer,
-          remixIcon: "bank-card-line",
-        },
-        component: () => import("@/views/Finance/Cashier/AddFunTransfer.vue"),
-      },
-      {
-        path: "Cashier/EditFunTransfer/:id",
-        name: "EditFunTransfer",
-        hidden: true,
-        meta: {
-          title: "修改资金转账单",
-          access: nodes.AccountListEditAccountTransfer,
-          remixIcon: "bank-card-line",
-        },
-        component: () => import("@/views/Finance/Cashier/AddFunTransfer.vue"),
-      },
-      {
-        path: "Cashier/SellRefundForm/:type",
-        name: "RefundForm",
-        meta: {
-          title: "销售退款单",
-          access: nodes.RefundForm,
-        },
-        component: () => import("@/views/Finance/Cashier/RefundForm.vue"),
-      },
-      // {
-      //   path: "Cashier/PurchaseRefundForm/:type",
-      //   name: "RefundForm",
-      //   meta: {
-      //     title: "采购退款单",
-      //     access: nodes.RefundForm,
-      //   },
-      //   component: () => import("@/views/Finance/Cashier/RefundForm.vue"),
-      // },
-      {
-        path: "Cashier/AddRefundForm/:type",
-        name: "AddRefundForm",
-        meta: {
-          title: "新增退款单",
-          access: nodes.RefundForm_AddRefundForm,
-        },
-        component: () => import("@/views/Finance/Cashier/AddRefundForm.vue"),
-      },
-      {
-        path: "Cashier/EditRefundForm/:id/:createTime",
-        name: "EditRefundForm",
-        meta: {
-          title: "编辑退款单",
-          access: nodes.RefundFormEditRefundForm,
-        },
-        component: () => import("@/views/Finance/Cashier/AddRefundForm.vue"),
-      },
-      {
-        path: "Cashier/RefundDetail/:id/:createTime",
-        name: "RefundDetail",
-        meta: {
-          title: "退款单详情",
-          // access: nodes.AccountList,
-        },
-        component: () => import("@/views/Finance/Cashier/RefundDetail.vue"),
-      },
-      {
-        path: "Cashier/AccountList",
-        name: "AccountList",
-        meta: {
-          title: "资金账户管理",
-          access: nodes.AccountList,
-          remixIcon: "bank-card-line",
-        },
-        component: () => import("@/views/Finance/Cashier/AccountList.vue"),
-      },
-      {
-        path: "Cashier/AccountDetails",
-        name: "AccountDetails",
-        meta: {
-          title: "账户明细查询",
-          access: nodes.AccountDetailsGetAllAccountDetail,
-          remixIcon: "bank-card-line",
-        },
-        component: () => import("@/views/Finance/Cashier/AccountDetails.vue"),
-      },
-      {
-        path: "Cashier/CostSheet",
-        name: "CostSheet",
-        meta: {
-          title: "费用单",
-          remixIcon: "bank-card-line",
-          access: nodes.CostSheet,
-        },
-        component: () => import("@/views/Finance/Cashier/CostSheet.vue"),
-      },
-      {
-        path: "Cashier/AddCostSheet",
-        name: "AddCostSheet",
-        meta: {
-          title: "新增费用单",
-          remixIcon: "bank-card-line",
-          access: nodes.CostSheetaddCostSheet,
-        },
-        component: () => import("@/views/Finance/Cashier/AddCostSheet.vue"),
-      },
-      {
-        path: "Cashier/EditCostSheet/:id",
-        name: "EditCostSheet",
-        meta: {
-          title: "编辑费用单",
-          access: nodes.CostSheeteditCostSheet,
-          remixIcon: "bank-card-line",
-        },
-        component: () => import("@/views/Finance/Cashier/AddCostSheet.vue"),
-      },
-      {
-        path: "Cashier/CostSheetParticulars/:id",
-        name: "CostSheetParticulars",
-        meta: {
-          title: "费用单详情",
-          // access: nodes.CostSheeteditCostSheet,
-          remixIcon: "bank-card-line",
-        },
-        component: () =>
-          import("@/views/Finance/Cashier/CostSheetParticulars.vue"),
-      },
-      {
-        path: "Cashier/CostTypes",
-        name: "CostTypes",
-        meta: {
-          title: "费用类型",
-          remixIcon: "bank-card-line",
-        },
-        component: () => import("@/views/Finance/Cashier/CostTypes.vue"),
-      },
-      {
-        path: "ManageF/FinanceType",
-        name: "FinanceType",
-        meta: {
-          title: "财务类型",
-          access: nodes.FinanceTypeGetAllFinanceType,
-          remixIcon: "bookmark-line",
-        },
-        component: () => import("@/views/Finance/ManageF/FinanceType.vue"),
-      },
-      {
-        path: "ManageF/WithdrawAsh",
-        name: "WithdrawAsh",
-        meta: {
-          title: "余额提现",
-          remixIcon: "bookmark-line",
-          access: nodes.WithdrawAsh,
-        },
-        component: () => import("@/views/Finance/ManageF/WithdrawAsh.vue"),
-      },
-      // 多门店报表
-      {
-        path: "MultipleStore/InAndOutLogs",
-        name: "InAndOutLogs",
-        meta: {
-          title: "收支记录",
-          remixIcon: "money-cny-box-line",
-          // access: nodes.WithdrawAsh,
-        },
-        component: () =>
-          import("@/views/Finance/MultipleStore/InAndOutLogs.vue"),
-      },
-      {
-        path: "MultipleStore/WithdrawLogs",
-        name: "WithdrawLogs",
-        meta: {
-          title: "提现记录",
-          remixIcon: "money-cny-box-line",
-          // access: nodes.WithdrawAsh,
-        },
-        component: () =>
-          import("@/views/Finance/MultipleStore/WithdrawLogs.vue"),
-      },
-    ],
-  },
-  {
-    path: "/Settlement",
-    component: Layout,
-    redirect: "/Settlement/MerchandiseSalesStatement",
-    alwaysShow: true,
-    meta: {
-      title: "结算",
-      remixIcon: "price-tag-2-line",
-    },
-    children: [
-      {
-        path: "SettlementLogs",
-        name: "SettlementLogs",
-        meta: {
-          title: "结算记录",
-          // access: nodes.WithdrawAsh,
-        },
-        component: () =>
-          import("@/views/Finance/MultipleStore/SettlementLogs.vue"),
-      },
-    ],
-  },
-  {
-    path: "/Reconciliation",
-    component: Layout,
-    redirect: "/Reconciliation/SettlementStatement",
-    alwaysShow: true,
-    meta: {
-      title: "对账",
-      remixIcon: "money-cny-circle-line",
-    },
-    children: [
-      {
-        path: "SettlementStatement",
-        name: "SettlementStatement",
-        meta: {
-          title: "结算对账单",
-          // access: nodes.WithdrawAsh,
-        },
-        component: () =>
-          import("@/views/Finance/MultipleStore/SettlementStatement.vue"),
-      },
-    ],
-  },
-  {
-    path: "/statement",
-    component: Layout,
-    redirect: "/statement/statementList/MerchandiseSalesStatement",
-    alwaysShow: true,
-    meta: {
-      title: "报表管理",
-      remixIcon: "money-cny-circle-line",
-    },
-    children: [
-      {
-        path: "statementList/MerchandiseSalesStatement",
-        name: "MerchandiseSalesStatement",
-        meta: {
-          title: "商品销售报表",
-          remixIcon: "align-bottom",
-          access: nodes.goodsFormMerchandiseSalesStatement,
-        },
-        component: () =>
-          import("@/views/statement/statementList/MerchandiseSalesStatement"),
-      },
-      {
-        path: "statementList/CustomerMerchandiseReport",
-        name: "CustomerMerchandiseReport",
-        meta: {
-          title: "客户商品报表",
-          remixIcon: "align-bottom",
-          access: nodes.goodsFormCustomerMerchandiseReport,
-        },
-        component: () =>
-          import("@/views/statement/statementList/CustomerMerchandiseReport"),
-      },
-      {
-        path: "statementList/CustomerOrderReport",
-        name: "CustomerOrderReport",
-        meta: {
-          title: "客户订单报表",
-          remixIcon: "align-bottom",
-          access: nodes.orderFormCustomerOrderReport,
-        },
-        component: () =>
-          import("@/views/statement/statementList/CustomerOrderReport"),
-      },
-      {
-        path: "statementList/OrderDataReport",
-        name: "OrderDataReport",
-        meta: {
-          title: "订单数据报表",
-          remixIcon: "align-bottom",
-          access: nodes.orderFormOrderDataReport,
-        },
-        component: () =>
-          import("@/views/statement/statementList/OrderDataReport"),
-      },
-      {
-        path: "statementList/RegionalOrderReport",
-        name: "RegionalOrderReport",
-        meta: {
-          title: "地区订单报表",
-          remixIcon: "align-bottom",
-          access: nodes.orderFormRegionalOrderReport,
-        },
-        component: () =>
-          import("@/views/statement/statementList/RegionalOrderReport"),
-      },
-      {
-        path: "statementList/SaleRanking",
-        name: "SaleRanking",
-        meta: {
-          title: "业务员订单表",
-          remixIcon: "align-bottom",
-          access: nodes.orderFormSalesOrderReport,
-        },
-        component: () => import("@/views/statement/statementList/SaleRanking"),
-      },
-    ],
-  },
-  {
-    path: "/SystemSettings",
-    component: Layout,
-    redirect: "/SystemSettings/liansuoguanli/ShopList",
-    alwaysShow: true,
-    meta: {
-      title: "设置",
-      remixIcon: "settings-4-line",
-    },
-    children: [
-      {
-        path: "BaseSet",
-        name: "BaseSet",
-        meta: {
-          title: "系统设置",
-          access: nodes.mallManage,
-          remixIcon: "settings-4-line",
-        },
-        component: () => import("@/views/ShoppingMall/mendianset/BaseSet.vue"),
-      },
-      // {
-      //   path: "TradeSet",
-      //   name: "TradeSet",
-      //   meta: {
-      //     title: "交易设置",
-      //     access: nodes.mallManagepaySetting,
-      //     remixIcon: "settings-4-line",
-      //   },
-      //   component: () => import("@/views/ShoppingMall/mendianset/BaseSet.vue"),
-      // },
-      // {
-      //   path: "GoodsSet",
-      //   name: "GoodsSet",
-      //   meta: {
-      //     title: "商品设置",
-      //     access: nodes.mallManageGoodsSet,
-      //     remixIcon: "settings-4-line",
-      //   },
-      //   component: () => import("@/views/ShoppingMall/mendianset/BaseSet.vue"),
-      // },
-      // {
-      //   path: "CustomerSet",
-      //   name: "CustomerSet",
-      //   meta: {
-      //     title: "客户设置",
-      //     access: nodes.mallManageCustomerSet,
-      //     remixIcon: "settings-4-line",
-      //   },
-      //   component: () => import("@/views/ShoppingMall/mendianset/BaseSet.vue"),
-      // },
-      {
-        path: "PrinterSet",
-        name: "PrinterSet",
-        meta: {
-          title: "打印机设置",
-          access: nodes.mallManagePrinterSet,
-          remixIcon: "settings-4-line",
-        },
-        component: () => import("@/views/ShoppingMall/mendianset/BaseSet.vue"),
-      },
-      {
-        path: "StepSet",
-        name: "StepSet",
-        meta: {
-          title: "流程设置",
-          access: nodes.StepSet,
-          remixIcon: "equalizer-line",
-        },
-        component: () => import("@/views/ShoppingMall/mendianset/StepSet.vue"),
-      },
-      {
-        path: "liansuoguanli/ShopList",
-        name: "ShopList",
-        meta: {
-          title: "商铺列表",
-          access: nodes.ShopList,
-          remixIcon: "list-settings-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/liansuoguanli/ShopList.vue"),
-      },
-      {
-        path: "liansuoguanli/AddShop",
-        name: "AddShop",
-        hidden: true,
-        meta: {
-          title: "新建商铺",
-          access: nodes.ShopListAddShop,
-          remixIcon: "list-settings-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/liansuoguanli/AddShop.vue"),
-      },
-      {
-        path: "liansuoguanli/EditShop/:id",
-        name: "EditShop",
-        hidden: true,
-        meta: {
-          title: "编辑商铺",
-          access: nodes.ShopListEditShop,
-          remixIcon: "list-settings-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/liansuoguanli/AddShop.vue"),
-      },
-      {
-        path: "liansuoguanli/Partnership",
-        name: "Partnership",
-        hidden: true,
-        meta: {
-          title: "合作管理",
-          // access: nodes.Partnership,
-        },
-        component: () =>
-          import("@/views/SystemSettings/liansuoguanli/Partnership.vue"),
-      },
-      {
-        path: "liansuoguanli/AddPartnership",
-        name: "AddPartnership",
-        hidden: true,
-        meta: {
-          title: "新增合作",
-          // access: nodes.PartnershipAddShopPartner,
-        },
-        component: () =>
-          import("@/views/SystemSettings/liansuoguanli/AddPartnership.vue"),
-      },
-      {
-        path: "liansuoguanli/EditPartnership/:id",
-        name: "EditPartnership",
-        hidden: true,
-        meta: {
-          title: "编辑合作",
-          // access: nodes.PartnershipUpdateShopPartner,
-        },
-        component: () =>
-          import("@/views/SystemSettings/liansuoguanli/AddPartnership.vue"),
-      },
+			{
+				path: "Cashier/FunTransfer",
+				name: "FunTransfer",
+				meta: {
+					title: "资金转账单",
+					access: nodes.FunTransfer,
+					remixIcon: "bank-card-line",
+				},
+				component: () => import("@/views/Finance/Cashier/FunTransfer.vue"),
+			},
+			{
+				path: "Cashier/AddFunTransfer",
+				name: "AddFunTransfer",
+				hidden: true,
+				meta: {
+					title: "新增资金转账单",
+					access: nodes.FunTransferAddAccountTransfer,
+					remixIcon: "bank-card-line",
+				},
+				component: () => import("@/views/Finance/Cashier/AddFunTransfer.vue"),
+			},
+			{
+				path: "Cashier/EditFunTransfer/:id",
+				name: "EditFunTransfer",
+				hidden: true,
+				meta: {
+					title: "修改资金转账单",
+					access: nodes.AccountListEditAccountTransfer,
+					remixIcon: "bank-card-line",
+				},
+				component: () => import("@/views/Finance/Cashier/AddFunTransfer.vue"),
+			},
+			{
+				path: "Cashier/SellRefundForm/:type",
+				name: "RefundForm",
+				meta: {
+					title: "销售退款单",
+					access: nodes.RefundForm,
+				},
+				component: () => import("@/views/Finance/Cashier/RefundForm.vue"),
+			},
+			// {
+			//   path: "Cashier/PurchaseRefundForm/:type",
+			//   name: "RefundForm",
+			//   meta: {
+			//     title: "采购退款单",
+			//     access: nodes.RefundForm,
+			//   },
+			//   component: () => import("@/views/Finance/Cashier/RefundForm.vue"),
+			// },
+			{
+				path: "Cashier/AddRefundForm/:type",
+				name: "AddRefundForm",
+				meta: {
+					title: "新增退款单",
+					access: nodes.RefundForm_AddRefundForm,
+				},
+				component: () => import("@/views/Finance/Cashier/AddRefundForm.vue"),
+			},
+			{
+				path: "Cashier/EditRefundForm/:id/:createTime",
+				name: "EditRefundForm",
+				meta: {
+					title: "编辑退款单",
+					access: nodes.RefundFormEditRefundForm,
+				},
+				component: () => import("@/views/Finance/Cashier/AddRefundForm.vue"),
+			},
+			{
+				path: "Cashier/RefundDetail/:id/:createTime",
+				name: "RefundDetail",
+				meta: {
+					title: "退款单详情",
+					// access: nodes.AccountList,
+				},
+				component: () => import("@/views/Finance/Cashier/RefundDetail.vue"),
+			},
+			{
+				path: "Cashier/AccountList",
+				name: "AccountList",
+				meta: {
+					title: "资金账户管理",
+					access: nodes.AccountList,
+					remixIcon: "bank-card-line",
+				},
+				component: () => import("@/views/Finance/Cashier/AccountList.vue"),
+			},
+			{
+				path: "Cashier/AccountDetails",
+				name: "AccountDetails",
+				meta: {
+					title: "账户明细查询",
+					access: nodes.AccountDetailsGetAllAccountDetail,
+					remixIcon: "bank-card-line",
+				},
+				component: () => import("@/views/Finance/Cashier/AccountDetails.vue"),
+			},
+			{
+				path: "Cashier/CostSheet",
+				name: "CostSheet",
+				meta: {
+					title: "费用单",
+					remixIcon: "bank-card-line",
+					access: nodes.CostSheet,
+				},
+				component: () => import("@/views/Finance/Cashier/CostSheet.vue"),
+			},
+			{
+				path: "Cashier/AddCostSheet",
+				name: "AddCostSheet",
+				meta: {
+					title: "新增费用单",
+					remixIcon: "bank-card-line",
+					access: nodes.CostSheetaddCostSheet,
+				},
+				component: () => import("@/views/Finance/Cashier/AddCostSheet.vue"),
+			},
+			{
+				path: "Cashier/EditCostSheet/:id",
+				name: "EditCostSheet",
+				meta: {
+					title: "编辑费用单",
+					access: nodes.CostSheeteditCostSheet,
+					remixIcon: "bank-card-line",
+				},
+				component: () => import("@/views/Finance/Cashier/AddCostSheet.vue"),
+			},
+			{
+				path: "Cashier/CostSheetParticulars/:id",
+				name: "CostSheetParticulars",
+				meta: {
+					title: "费用单详情",
+					// access: nodes.CostSheeteditCostSheet,
+					remixIcon: "bank-card-line",
+				},
+				component: () =>
+					import("@/views/Finance/Cashier/CostSheetParticulars.vue"),
+			},
+			{
+				path: "Cashier/CostTypes",
+				name: "CostTypes",
+				meta: {
+					title: "费用类型",
+					remixIcon: "bank-card-line",
+				},
+				component: () => import("@/views/Finance/Cashier/CostTypes.vue"),
+			},
+			{
+				path: "ManageF/FinanceType",
+				name: "FinanceType",
+				meta: {
+					title: "财务类型",
+					access: nodes.FinanceTypeGetAllFinanceType,
+					remixIcon: "bookmark-line",
+				},
+				component: () => import("@/views/Finance/ManageF/FinanceType.vue"),
+			},
+			{
+				path: "ManageF/WithdrawAsh",
+				name: "WithdrawAsh",
+				meta: {
+					title: "余额提现",
+					remixIcon: "bookmark-line",
+					access: nodes.WithdrawAsh,
+				},
+				component: () => import("@/views/Finance/ManageF/WithdrawAsh.vue"),
+			},
+			// 多门店报表
+			{
+				path: "MultipleStore/InAndOutLogs",
+				name: "InAndOutLogs",
+				meta: {
+					title: "收支记录",
+					remixIcon: "money-cny-box-line",
+					// access: nodes.WithdrawAsh,
+				},
+				component: () =>
+					import("@/views/Finance/MultipleStore/InAndOutLogs.vue"),
+			},
+			{
+				path: "MultipleStore/WithdrawLogs",
+				name: "WithdrawLogs",
+				meta: {
+					title: "提现记录",
+					remixIcon: "money-cny-box-line",
+					// access: nodes.WithdrawAsh,
+				},
+				component: () =>
+					import("@/views/Finance/MultipleStore/WithdrawLogs.vue"),
+			},
+		],
+	},
+	{
+		path: "/Settlement",
+		component: Layout,
+		redirect: "/Settlement/MerchandiseSalesStatement",
+		alwaysShow: true,
+		meta: {
+			title: "结算",
+			remixIcon: "price-tag-2-line",
+		},
+		children: [{
+			path: "SettlementLogs",
+			name: "SettlementLogs",
+			meta: {
+				title: "结算记录",
+				// access: nodes.WithdrawAsh,
+			},
+			component: () =>
+				import("@/views/Finance/MultipleStore/SettlementLogs.vue"),
+		}, ],
+	},
+	{
+		path: "/Reconciliation",
+		component: Layout,
+		redirect: "/Reconciliation/SettlementStatement",
+		alwaysShow: true,
+		meta: {
+			title: "对账",
+			remixIcon: "money-cny-circle-line",
+		},
+		children: [{
+			path: "SettlementStatement",
+			name: "SettlementStatement",
+			meta: {
+				title: "结算对账单",
+				// access: nodes.WithdrawAsh,
+			},
+			component: () =>
+				import("@/views/Finance/MultipleStore/SettlementStatement.vue"),
+		}, ],
+	},
+	{
+		path: "/statement",
+		component: Layout,
+		redirect: "/statement/statementList/MerchandiseSalesStatement",
+		alwaysShow: true,
+		meta: {
+			title: "报表管理",
+			remixIcon: "money-cny-circle-line",
+		},
+		children: [{
+				path: "statementList/MerchandiseSalesStatement",
+				name: "MerchandiseSalesStatement",
+				meta: {
+					title: "商品销售报表",
+					remixIcon: "align-bottom",
+					access: nodes.goodsFormMerchandiseSalesStatement,
+				},
+				component: () =>
+					import("@/views/statement/statementList/MerchandiseSalesStatement"),
+			},
+			{
+				path: "statementList/CustomerMerchandiseReport",
+				name: "CustomerMerchandiseReport",
+				meta: {
+					title: "客户商品报表",
+					remixIcon: "align-bottom",
+					access: nodes.goodsFormCustomerMerchandiseReport,
+				},
+				component: () =>
+					import("@/views/statement/statementList/CustomerMerchandiseReport"),
+			},
+			{
+				path: "statementList/CustomerOrderReport",
+				name: "CustomerOrderReport",
+				meta: {
+					title: "客户订单报表",
+					remixIcon: "align-bottom",
+					access: nodes.orderFormCustomerOrderReport,
+				},
+				component: () =>
+					import("@/views/statement/statementList/CustomerOrderReport"),
+			},
+			{
+				path: "statementList/OrderDataReport",
+				name: "OrderDataReport",
+				meta: {
+					title: "订单数据报表",
+					remixIcon: "align-bottom",
+					access: nodes.orderFormOrderDataReport,
+				},
+				component: () =>
+					import("@/views/statement/statementList/OrderDataReport"),
+			},
+			{
+				path: "statementList/RegionalOrderReport",
+				name: "RegionalOrderReport",
+				meta: {
+					title: "地区订单报表",
+					remixIcon: "align-bottom",
+					access: nodes.orderFormRegionalOrderReport,
+				},
+				component: () =>
+					import("@/views/statement/statementList/RegionalOrderReport"),
+			},
+			{
+				path: "statementList/SaleRanking",
+				name: "SaleRanking",
+				meta: {
+					title: "业务员订单表",
+					remixIcon: "align-bottom",
+					access: nodes.orderFormSalesOrderReport,
+				},
+				component: () => import("@/views/statement/statementList/SaleRanking"),
+			},
+		],
+	},
+	{
+		path: "/SystemSettings",
+		component: Layout,
+		redirect: "/SystemSettings/liansuoguanli/ShopList",
+		alwaysShow: true,
+		meta: {
+			title: "设置",
+			remixIcon: "settings-4-line",
+		},
+		children: [{
+				path: "BaseSet",
+				name: "BaseSet",
+				meta: {
+					title: "系统设置",
+					access: nodes.mallManage,
+					remixIcon: "settings-4-line",
+				},
+				component: () => import("@/views/ShoppingMall/mendianset/BaseSet.vue"),
+			},
+			// {
+			//   path: "TradeSet",
+			//   name: "TradeSet",
+			//   meta: {
+			//     title: "交易设置",
+			//     access: nodes.mallManagepaySetting,
+			//     remixIcon: "settings-4-line",
+			//   },
+			//   component: () => import("@/views/ShoppingMall/mendianset/BaseSet.vue"),
+			// },
+			// {
+			//   path: "GoodsSet",
+			//   name: "GoodsSet",
+			//   meta: {
+			//     title: "商品设置",
+			//     access: nodes.mallManageGoodsSet,
+			//     remixIcon: "settings-4-line",
+			//   },
+			//   component: () => import("@/views/ShoppingMall/mendianset/BaseSet.vue"),
+			// },
+			// {
+			//   path: "CustomerSet",
+			//   name: "CustomerSet",
+			//   meta: {
+			//     title: "客户设置",
+			//     access: nodes.mallManageCustomerSet,
+			//     remixIcon: "settings-4-line",
+			//   },
+			//   component: () => import("@/views/ShoppingMall/mendianset/BaseSet.vue"),
+			// },
+			{
+				path: "PrinterSet",
+				name: "PrinterSet",
+				meta: {
+					title: "打印机设置",
+					access: nodes.mallManagePrinterSet,
+					remixIcon: "settings-4-line",
+				},
+				component: () => import("@/views/ShoppingMall/mendianset/BaseSet.vue"),
+			},
+			{
+				path: "StepSet",
+				name: "StepSet",
+				meta: {
+					title: "流程设置",
+					access: nodes.StepSet,
+					remixIcon: "equalizer-line",
+				},
+				component: () => import("@/views/ShoppingMall/mendianset/StepSet.vue"),
+			},
+			{
+				path: "liansuoguanli/ShopList",
+				name: "ShopList",
+				meta: {
+					title: "商铺列表",
+					access: nodes.ShopList,
+					remixIcon: "list-settings-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/liansuoguanli/ShopList.vue"),
+			},
+			{
+				path: "liansuoguanli/AddShop",
+				name: "AddShop",
+				hidden: true,
+				meta: {
+					title: "新建商铺",
+					access: nodes.ShopListAddShop,
+					remixIcon: "list-settings-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/liansuoguanli/AddShop.vue"),
+			},
+			{
+				path: "liansuoguanli/EditShop/:id",
+				name: "EditShop",
+				hidden: true,
+				meta: {
+					title: "编辑商铺",
+					access: nodes.ShopListEditShop,
+					remixIcon: "list-settings-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/liansuoguanli/AddShop.vue"),
+			},
+			{
+				path: "liansuoguanli/Partnership",
+				name: "Partnership",
+				hidden: true,
+				meta: {
+					title: "合作管理",
+					// access: nodes.Partnership,
+				},
+				component: () =>
+					import("@/views/SystemSettings/liansuoguanli/Partnership.vue"),
+			},
+			{
+				path: "liansuoguanli/AddPartnership",
+				name: "AddPartnership",
+				hidden: true,
+				meta: {
+					title: "新增合作",
+					// access: nodes.PartnershipAddShopPartner,
+				},
+				component: () =>
+					import("@/views/SystemSettings/liansuoguanli/AddPartnership.vue"),
+			},
+			{
+				path: "liansuoguanli/EditPartnership/:id",
+				name: "EditPartnership",
+				hidden: true,
+				meta: {
+					title: "编辑合作",
+					// access: nodes.PartnershipUpdateShopPartner,
+				},
+				component: () =>
+					import("@/views/SystemSettings/liansuoguanli/AddPartnership.vue"),
+			},
 
-      {
-        path: "jiaoyiset/PayList",
-        name: "PayList",
-        meta: {
-          title: "支付列表",
-          access: nodes.PayList,
-          remixIcon: "wallet-line",
-        },
-        component: () => import("@/views/SystemSettings/jiaoyiset/PayList.vue"),
-      },
-      {
-        path: "jiaoyiset/Driver",
-        name: "Driver",
-        meta: {
-          title: "司机列表",
-          access: nodes.Driver,
-          remixIcon: "wallet-line",
-        },
-        component: () => import("@/views/SystemSettings/jiaoyiset/Driver.vue"),
-      },
-      {
-        path: "jiaoyiset/Line",
-        name: "Line",
-        meta: {
-          title: "线路列表",
-          access: nodes.line,
-          remixIcon: "wallet-line",
-        },
-        component: () => import("@/views/SystemSettings/jiaoyiset/Line.vue"),
-      },
-      {
-        path: "jiaoyiset/Delivery",
-        name: "Delivery",
-        meta: {
-          title: "配送方式",
-          access: nodes.DeliverySet,
-          remixIcon: "truck-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/jiaoyiset/DeliverySet.vue"),
-      },
-      {
-        path: "jiaoyiset/DeliveryTemplate/:deiId",
-        name: "DeliveryTemplate",
-        hidden: true,
-        meta: {
-          title: "运费模版",
-          access: nodes.DeliverygetInfo,
-          remixIcon: "truck-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/jiaoyiset/DeliveryTemplate.vue"),
-      },
-      {
-        path: "jiaoyiset/AddDeliveryTem",
-        name: "AddDeliveryTem",
-        hidden: true,
-        meta: {
-          title: "新建运费模版",
-          access: nodes.DeliverysetData,
-          remixIcon: "truck-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/jiaoyiset/AddDeliveryTem.vue"),
-      },
-      {
-        path: "jiaoyiset/EditDeliveryTem",
-        name: "EditDeliveryTem",
-        hidden: true,
-        meta: {
-          title: "编辑运费模版",
-          access: nodes.DeliverysetData,
-          remixIcon: "truck-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/jiaoyiset/AddDeliveryTem.vue"),
-      },
-      {
-        path: "jiaoyiset/SelffetchList/:deiId",
-        name: "SelffetchList",
-        hidden: true,
-        meta: {
-          title: "门店自提",
-          remixIcon: "truck-line",
-          access: nodes.DeliverygetInfo,
-        },
-        component: () =>
-          import("@/views/SystemSettings/jiaoyiset/SelffetchList.vue"),
-      },
-      {
-        path: "jiaoyiset/AddSelffetch/:deiId",
-        name: "AddSelffetch",
-        hidden: true,
-        meta: {
-          title: "新建自提点",
-          remixIcon: "truck-line",
-          access: nodes.DeliverySetsetSelfData,
-        },
-        component: () =>
-          import("@/views/SystemSettings/jiaoyiset/AddSelffetch.vue"),
-      },
-      {
-        path: "jiaoyiset/EditSelffetch/:id/:deiId",
-        name: "EditSelffetch",
-        hidden: true,
-        meta: {
-          title: "编辑自提点",
-          access: nodes.DeliverySeteditSelfData,
-        },
-        component: () =>
-          import("@/views/SystemSettings/jiaoyiset/AddSelffetch.vue"),
-      },
-      {
-        path: "jiaoyiset/Dispatch",
-        name: "Dispatch",
-        hidden: true,
-        meta: {
-          title: "同城配送",
-          remixIcon: "truck-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/jiaoyiset/Dispatch.vue"),
-      },
-      {
-        path: "jiaoyiset/ShopAddress",
-        name: "ShopAddress",
-        hidden: true,
-        meta: {
-          title: "编辑商家地址",
-        },
-        component: () =>
-          import("@/views/SystemSettings/jiaoyiset/ShopAddress.vue"),
-      },
-      {
-        path: "jiaoyiset/Logistics",
-        name: "Logistics",
-        meta: {
-          title: "物流接口",
-          remixIcon: "truck-line",
-          access: nodes.Logistics,
-        },
-        component: () =>
-          import("@/views/SystemSettings/jiaoyiset/Logistics.vue"),
-      },
-      {
-        path: "jiaoyiset/voiceSet",
-        name: "VoiceSet",
-        meta: {
-          title: "语音设置",
-          access: nodes.voiceSet,
-          remixIcon: "notification-3-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/jiaoyiset/voiceSet.vue"),
-      },
-      {
-        path: "jiaoyiset/PushNotification",
-        name: "PushNotification",
-        meta: {
-          title: "消息推送",
-          remixIcon: "notification-3-line",
-          access: nodes.PushNotification,
-        },
-        component: () =>
-          import("@/views/SystemSettings/jiaoyiset/PushNotification.vue"),
-      },
-      {
-        path: "jiaoyiset/PushNotificationSet/:id",
-        name: "PushNotificationSet",
-        meta: {
-          title: "消息推送设置",
-          remixIcon: "notification-3-line",
-          access: nodes.PushNotification_setMsg,
-        },
-        component: () =>
-          import("@/views/SystemSettings/jiaoyiset/PushNotificationSet.vue"),
-      },
-      {
-        path: "jiaoyiset/SMSConfiguration",
-        name: "SMSConfiguration",
-        meta: {
-          title: "短信配置",
-          remixIcon: "notification-3-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/jiaoyiset/SMSConfiguration.vue"),
-      },
-      {
-        path: "jiaoyiset/SMSConfigurationSet",
-        name: "SMSConfigurationSet",
-        meta: {
-          title: "配置",
-          remixIcon: "notification-3-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/jiaoyiset/SMSConfigurationSet.vue"),
-      },
-      {
-        path: "accountAdmin/Department",
-        name: "Department",
-        meta: {
-          title: "部门管理",
-          access: nodes.Department,
-          remixIcon: "user-settings-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/accountAdmin/Department.vue"),
-      },
-      {
-        path: "accountAdmin/Role",
-        name: "Role",
-        meta: {
-          title: "角色管理",
-          access: nodes.Role,
-          remixIcon: "user-settings-line",
-        },
-        component: () => import("@/views/SystemSettings/accountAdmin/Role.vue"),
-      },
-      {
-        path: "accountAdmin/Staff",
-        name: "Staff",
-        meta: {
-          title: "员工管理",
-          access: nodes.Staff,
-          remixIcon: "user-settings-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/accountAdmin/Staff.vue"),
-      },
-      {
-        path: "accountAdmin/LoginRecord",
-        name: "LoginRecord",
-        meta: {
-          title: "登录日志",
-          access: nodes.LoginRecord,
-        },
-        component: () =>
-          import("@/views/SystemSettings/accountAdmin/LoginRecord.vue"),
-      },
-    ],
-  },
-  {
-    path: "ShoppingMall",
-    component: Layout,
-    redirect: "/ShoppingMall/mendianset/BaseSet",
-    alwaysShow: true,
-    meta: {
-      title: "商城",
-      remixIcon: "store-2-line",
-    },
-    children: [
-      {
-        path: "mendianset/NoticeLsit",
-        name: "NoticeLsit",
-        meta: {
-          title: "公告设置",
-          access: nodes.Announcement,
-          remixIcon: "notification-3-line",
-        },
-        component: () =>
-          import("@/views/ShoppingMall/mendianset/NoticeLsit.vue"),
-      },
-      {
-        path: "mendianset/NewsTemplate",
-        name: "NewsTemplate",
-        meta: {
-          title: "小程序订阅消息",
-          access: nodes.Announcement,
-          remixIcon: "notification-3-line",
-        },
-        component: () =>
-          import("@/views/ShoppingMall/mendianset/NewsTemplate.vue"),
-      },
-      {
-        path: "WxCode/WxCodeSet",
-        name: "WxCodeSet",
-        meta: {
-          title: "小程序设置",
-          access: nodes.WxCodeSet,
-          remixIcon: "mini-program-line",
-        },
-        component: () => import("@/views/ShoppingMall/WxCode/WxCodeSet.vue"),
-      },
-      {
-        path: "WxCode/TemplateSet",
-        name: "TemplateSet",
-        meta: {
-          title: "小程序发布",
-          access: nodes.wxPush,
-          remixIcon: "mini-program-line",
-        },
-        component: () => import("@/views/ShoppingMall/WxCode/TemplateSet.vue"),
-      },
-      {
-        path: "WxCode/TouTiaoBaseSet",
-        name: "TouTiaoBaseSet",
-        hidden: true,
-        meta: {
-          title: "抖音/头条小程序基础配置",
-          access: nodes.TemplateSet,
-          remixIcon: "mini-program-line",
-        },
-        component: () =>
-          import(
-            "@/views/ShoppingMall/WxCode/ToutiaoCodeSet/TouTiaoBaseSet.vue"
-          ),
-      },
-      {
-        path: "WxCode/CodeRelease",
-        name: "CodeRelease",
-        hidden: true,
-        meta: {
-          title: "抖音/头条小程序发布",
-          access: nodes.TemplateSet,
-          remixIcon: "mini-program-line",
-        },
-        component: () =>
-          import("@/views/ShoppingMall/WxCode/ToutiaoCodeSet/CodeRelease.vue"),
-      },
-      {
-        path: "AppDesign/PageDesign",
-        name: "PageDesign",
-        hidden: true,
-        meta: {
-          title: "新建页面",
-          remixIcon: "brush-3-line",
-          access: nodes.PageSetSave,
-        },
-        component: () =>
-          import("@/views/ShoppingMall/AppDesign/PageDesign.vue"),
-      },
-      {
-        path: "AppDesign/PageDesignEdit/:id",
-        name: "PageDesignEdit",
-        hidden: true,
-        meta: {
-          title: "修改页面",
-          remixIcon: "brush-3-line",
-          access: nodes.PageSetSave,
-        },
-        component: () =>
-          import("@/views/ShoppingMall/AppDesign/PageDesign.vue"),
-      },
-      {
-        path: "AppDesign/PageDesignList",
-        name: "PageDesignList",
-        meta: {
-          title: "页面设计",
-          access: nodes.PageSet,
-          remixIcon: "brush-3-line",
-        },
-        component: () =>
-          import("@/views/ShoppingMall/AppDesign/PageDesignList.vue"),
-      },
-      {
-        path: "AppDesign/StartUpPage",
-        name: "StartUpPage",
-        meta: {
-          title: "启动页",
-          access: nodes.StartPage,
-          remixIcon: "brush-3-line",
-        },
-        component: () =>
-          import("@/views/ShoppingMall/AppDesign/StartUpPage.vue"),
-      },
-      {
-        path: "AppDesign/AppStyle",
-        name: "AppStyle",
-        meta: {
-          title: "风格设置",
-          remixIcon: "brush-3-line",
-          access: nodes.StyleSet,
-        },
-        component: () => import("@/views/ShoppingMall/AppDesign/AppStyle.vue"),
-      },
-      {
-        path: "AppDesign/CateSet",
-        name: "CateSet",
-        meta: {
-          title: "分类模版",
-          access: nodes.CategorySet,
-          remixIcon: "brush-3-line",
-        },
-        component: () => import("@/views/ShoppingMall/AppDesign/CateSet.vue"),
-      },
-    ],
-  },
-  {
-    path: "Application",
-    component: Layout,
-    redirect: "/Application/Application",
-    alwaysShow: true,
-    meta: {
-      title: "应用",
-      remixIcon: "app-store-line",
-    },
-    children: [
-      {
-        path: "Application",
-        name: "Application",
-        component: () => import("@/views/Application/Application"),
-        meta: {
-          title: "应用",
-          remixIcon: "app-store-line",
-        },
-      },
-    ],
-  },
-  {
-    path: "MoneyGoodsBill",
-    component: Layout,
-    redirect: "/MoneyGoodsBill/index",
-    alwaysShow: true,
-    meta: {
-      title: "钱货日清对账",
-      remixIcon: "app-store-line",
-    },
-    children: [
-      {
-        path: "index",
-        name: "InventoryStatistics",
-        component: () => import("@/views/MoneyGoodsBill/index"),
-        meta: {
-          title: "库存日对账",
-          remixIcon: "hotel-line",
-          access: nodes.getTodayStatistics_statisticsInventoryStatistics,
-        },
-      },
-      {
-        path: "saleBill",
-        name: "saleBill",
-        component: () => import("@/views/MoneyGoodsBill/saleBill"),
-        meta: {
-          title: "销售日对账",
-          remixIcon: "numbers-line",
-          access: nodes.getTodayStatistics_statisticsGetAllOrderData,
-        },
-      },
-      {
-        path: "FinanceBill",
-        name: "FinanceBill",
-        component: () => import("@/views/MoneyGoodsBill/FinanceBill"),
-        meta: {
-          title: "财务日对账",
-          remixIcon: "stack-line",
-          access: nodes.getTodayStatistics_statisticsGetTodayStatistics,
-        },
-      },
-      {
-        path: "Profit",
-        name: "Profit",
-        component: () => import("@/views/MoneyGoodsBill/Profit"),
-        meta: {
-          title: "利润表",
-          remixIcon: "stack-line",
-        },
-      },
-    ],
-  },
-  {
-    path: "Marketing",
-    component: Layout,
-    redirect: "/Marketing/MarketingList",
-    alwaysShow: true,
-    hidden: true,
-    meta: {
-      title: "营销",
-      remixIcon: "coupon-3-line",
-    },
-    children: [
-      {
-        path: "MarketingList/Coupon",
-        name: "Coupon",
-        meta: {
-          title: "优惠券列表",
-          remixIcon: "coupon-3-line",
-          access: nodes.CouponList,
-        },
-        component: () => import("@/views/Marketing/MarketingList/Coupon"),
-      },
-      {
-        path: "MarketingList/ReleaseRecord",
-        name: "ReleaseRecord",
-        meta: {
-          title: "发放记录",
-          access: nodes.GrantLog,
-        },
-        component: () =>
-          import("@/views/Marketing/MarketingList/ReleaseRecord"),
-      },
-      {
-        path: "MarketingList/AddCoupon",
-        name: "AddCoupon",
-        hidden: true,
-        meta: {
-          title: "新增优惠券",
-          access: nodes.CouponListAdd,
-        },
-        component: () => import("@/views/Marketing/MarketingList/AddCoupon"),
-      },
-      {
-        path: "MarketingList/EditCoupon/:id",
-        name: "EditCoupon",
-        hidden: true,
-        meta: {
-          title: "编辑优惠券",
-          access: nodes.CouponListEdit,
-        },
-        component: () => import("@/views/Marketing/MarketingList/AddCoupon"),
-      },
-      {
-        path: "Promotion/PromotionList",
-        name: "PromotionList",
-        meta: {
-          title: "商品促销",
-          remixIcon: "bookmark-3-line",
-          access: nodes.ActivityGoods,
-        },
-        component: () =>
-          import("@/views/Marketing/Promotion/PromotionList.vue"),
-      },
-      {
-        path: "Promotion/AddPromotion",
-        name: "AddPromotion",
-        hidden: true,
-        meta: {
-          title: "新增促销",
-          access: nodes.ActivityGoodsAdd,
-        },
-        component: () => import("@/views/Marketing/Promotion/AddPromotion.vue"),
-      },
-      {
-        path: "Promotion/editPromotion/:id",
-        name: "EditPromotion",
-        hidden: true,
-        meta: {
-          title: "修改促销",
-          access: nodes.ActivityGoodsEdit,
-        },
-        component: () => import("@/views/Marketing/Promotion/AddPromotion.vue"),
-      },
+			{
+				path: "jiaoyiset/PayList",
+				name: "PayList",
+				meta: {
+					title: "支付列表",
+					access: nodes.PayList,
+					remixIcon: "wallet-line",
+				},
+				component: () => import("@/views/SystemSettings/jiaoyiset/PayList.vue"),
+			},
+			{
+				path: "jiaoyiset/Driver",
+				name: "Driver",
+				meta: {
+					title: "司机列表",
+					access: nodes.Driver,
+					remixIcon: "wallet-line",
+				},
+				component: () => import("@/views/SystemSettings/jiaoyiset/Driver.vue"),
+			},
+			{
+				path: "jiaoyiset/Line",
+				name: "Line",
+				meta: {
+					title: "线路列表",
+					access: nodes.line,
+					remixIcon: "wallet-line",
+				},
+				component: () => import("@/views/SystemSettings/jiaoyiset/Line.vue"),
+			},
+			{
+				path: "jiaoyiset/Delivery",
+				name: "Delivery",
+				meta: {
+					title: "配送方式",
+					access: nodes.DeliverySet,
+					remixIcon: "truck-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/jiaoyiset/DeliverySet.vue"),
+			},
+			{
+				path: "jiaoyiset/DeliveryTemplate/:deiId",
+				name: "DeliveryTemplate",
+				hidden: true,
+				meta: {
+					title: "运费模版",
+					access: nodes.DeliverygetInfo,
+					remixIcon: "truck-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/jiaoyiset/DeliveryTemplate.vue"),
+			},
+			{
+				path: "jiaoyiset/AddDeliveryTem",
+				name: "AddDeliveryTem",
+				hidden: true,
+				meta: {
+					title: "新建运费模版",
+					access: nodes.DeliverysetData,
+					remixIcon: "truck-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/jiaoyiset/AddDeliveryTem.vue"),
+			},
+			{
+				path: "jiaoyiset/EditDeliveryTem",
+				name: "EditDeliveryTem",
+				hidden: true,
+				meta: {
+					title: "编辑运费模版",
+					access: nodes.DeliverysetData,
+					remixIcon: "truck-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/jiaoyiset/AddDeliveryTem.vue"),
+			},
+			{
+				path: "jiaoyiset/SelffetchList/:deiId",
+				name: "SelffetchList",
+				hidden: true,
+				meta: {
+					title: "门店自提",
+					remixIcon: "truck-line",
+					access: nodes.DeliverygetInfo,
+				},
+				component: () =>
+					import("@/views/SystemSettings/jiaoyiset/SelffetchList.vue"),
+			},
+			{
+				path: "jiaoyiset/AddSelffetch/:deiId",
+				name: "AddSelffetch",
+				hidden: true,
+				meta: {
+					title: "新建自提点",
+					remixIcon: "truck-line",
+					access: nodes.DeliverySetsetSelfData,
+				},
+				component: () =>
+					import("@/views/SystemSettings/jiaoyiset/AddSelffetch.vue"),
+			},
+			{
+				path: "jiaoyiset/EditSelffetch/:id/:deiId",
+				name: "EditSelffetch",
+				hidden: true,
+				meta: {
+					title: "编辑自提点",
+					access: nodes.DeliverySeteditSelfData,
+				},
+				component: () =>
+					import("@/views/SystemSettings/jiaoyiset/AddSelffetch.vue"),
+			},
+			{
+				path: "jiaoyiset/Dispatch",
+				name: "Dispatch",
+				hidden: true,
+				meta: {
+					title: "同城配送",
+					remixIcon: "truck-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/jiaoyiset/Dispatch.vue"),
+			},
+			{
+				path: "jiaoyiset/ShopAddress",
+				name: "ShopAddress",
+				hidden: true,
+				meta: {
+					title: "编辑商家地址",
+				},
+				component: () =>
+					import("@/views/SystemSettings/jiaoyiset/ShopAddress.vue"),
+			},
+			{
+				path: "jiaoyiset/Logistics",
+				name: "Logistics",
+				meta: {
+					title: "物流接口",
+					remixIcon: "truck-line",
+					access: nodes.Logistics,
+				},
+				component: () =>
+					import("@/views/SystemSettings/jiaoyiset/Logistics.vue"),
+			},
+			{
+				path: "jiaoyiset/voiceSet",
+				name: "VoiceSet",
+				meta: {
+					title: "语音设置",
+					access: nodes.voiceSet,
+					remixIcon: "notification-3-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/jiaoyiset/voiceSet.vue"),
+			},
+			{
+				path: "jiaoyiset/PushNotification",
+				name: "PushNotification",
+				meta: {
+					title: "消息推送",
+					remixIcon: "notification-3-line",
+					access: nodes.PushNotification,
+				},
+				component: () =>
+					import("@/views/SystemSettings/jiaoyiset/PushNotification.vue"),
+			},
+			{
+				path: "jiaoyiset/PushNotificationSet/:id",
+				name: "PushNotificationSet",
+				meta: {
+					title: "消息推送设置",
+					remixIcon: "notification-3-line",
+					access: nodes.PushNotification_setMsg,
+				},
+				component: () =>
+					import("@/views/SystemSettings/jiaoyiset/PushNotificationSet.vue"),
+			},
+			{
+				path: "jiaoyiset/SMSConfiguration",
+				name: "SMSConfiguration",
+				meta: {
+					title: "短信配置",
+					remixIcon: "notification-3-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/jiaoyiset/SMSConfiguration.vue"),
+			},
+			{
+				path: "jiaoyiset/SMSConfigurationSet",
+				name: "SMSConfigurationSet",
+				meta: {
+					title: "配置",
+					remixIcon: "notification-3-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/jiaoyiset/SMSConfigurationSet.vue"),
+			},
+			{
+				path: "accountAdmin/Department",
+				name: "Department",
+				meta: {
+					title: "部门管理",
+					access: nodes.Department,
+					remixIcon: "user-settings-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/accountAdmin/Department.vue"),
+			},
+			{
+				path: "accountAdmin/Role",
+				name: "Role",
+				meta: {
+					title: "角色管理",
+					access: nodes.Role,
+					remixIcon: "user-settings-line",
+				},
+				component: () => import("@/views/SystemSettings/accountAdmin/Role.vue"),
+			},
+			{
+				path: "accountAdmin/Staff",
+				name: "Staff",
+				meta: {
+					title: "员工管理",
+					access: nodes.Staff,
+					remixIcon: "user-settings-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/accountAdmin/Staff.vue"),
+			},
+			{
+				path: "accountAdmin/LoginRecord",
+				name: "LoginRecord",
+				meta: {
+					title: "登录日志",
+					access: nodes.LoginRecord,
+				},
+				component: () =>
+					import("@/views/SystemSettings/accountAdmin/LoginRecord.vue"),
+			},
+		],
+	},
+	{
+		path: "ShoppingMall",
+		component: Layout,
+		redirect: "/ShoppingMall/mendianset/BaseSet",
+		alwaysShow: true,
+		meta: {
+			title: "商城",
+			remixIcon: "store-2-line",
+		},
+		children: [{
+				path: "mendianset/NoticeLsit",
+				name: "NoticeLsit",
+				meta: {
+					title: "公告设置",
+					access: nodes.Announcement,
+					remixIcon: "notification-3-line",
+				},
+				component: () =>
+					import("@/views/ShoppingMall/mendianset/NoticeLsit.vue"),
+			},
+			{
+				path: "mendianset/NewsTemplate",
+				name: "NewsTemplate",
+				meta: {
+					title: "小程序订阅消息",
+					access: nodes.Announcement,
+					remixIcon: "notification-3-line",
+				},
+				component: () =>
+					import("@/views/ShoppingMall/mendianset/NewsTemplate.vue"),
+			},
+			{
+				path: "WxCode/WxCodeSet",
+				name: "WxCodeSet",
+				meta: {
+					title: "小程序设置",
+					access: nodes.WxCodeSet,
+					remixIcon: "mini-program-line",
+				},
+				component: () => import("@/views/ShoppingMall/WxCode/WxCodeSet.vue"),
+			},
+			{
+				path: "WxCode/TemplateSet",
+				name: "TemplateSet",
+				meta: {
+					title: "小程序发布",
+					access: nodes.wxPush,
+					remixIcon: "mini-program-line",
+				},
+				component: () => import("@/views/ShoppingMall/WxCode/TemplateSet.vue"),
+			},
+			{
+				path: "WxCode/TouTiaoBaseSet",
+				name: "TouTiaoBaseSet",
+				hidden: true,
+				meta: {
+					title: "抖音/头条小程序基础配置",
+					access: nodes.TemplateSet,
+					remixIcon: "mini-program-line",
+				},
+				component: () =>
+					import(
+						"@/views/ShoppingMall/WxCode/ToutiaoCodeSet/TouTiaoBaseSet.vue"
+					),
+			},
+			{
+				path: "WxCode/CodeRelease",
+				name: "CodeRelease",
+				hidden: true,
+				meta: {
+					title: "抖音/头条小程序发布",
+					access: nodes.TemplateSet,
+					remixIcon: "mini-program-line",
+				},
+				component: () =>
+					import("@/views/ShoppingMall/WxCode/ToutiaoCodeSet/CodeRelease.vue"),
+			},
+			{
+				path: "AppDesign/PageDesign",
+				name: "PageDesign",
+				hidden: true,
+				meta: {
+					title: "新建页面",
+					remixIcon: "brush-3-line",
+					access: nodes.PageSetSave,
+				},
+				component: () =>
+					import("@/views/ShoppingMall/AppDesign/PageDesign.vue"),
+			},
+			{
+				path: "AppDesign/PageDesignEdit/:id",
+				name: "PageDesignEdit",
+				hidden: true,
+				meta: {
+					title: "修改页面",
+					remixIcon: "brush-3-line",
+					access: nodes.PageSetSave,
+				},
+				component: () =>
+					import("@/views/ShoppingMall/AppDesign/PageDesign.vue"),
+			},
+			{
+				path: "AppDesign/PageDesignList",
+				name: "PageDesignList",
+				meta: {
+					title: "页面设计",
+					access: nodes.PageSet,
+					remixIcon: "brush-3-line",
+				},
+				component: () =>
+					import("@/views/ShoppingMall/AppDesign/PageDesignList.vue"),
+			},
+			{
+				path: "AppDesign/StartUpPage",
+				name: "StartUpPage",
+				meta: {
+					title: "启动页",
+					access: nodes.StartPage,
+					remixIcon: "brush-3-line",
+				},
+				component: () =>
+					import("@/views/ShoppingMall/AppDesign/StartUpPage.vue"),
+			},
+			{
+				path: "AppDesign/AppStyle",
+				name: "AppStyle",
+				meta: {
+					title: "风格设置",
+					remixIcon: "brush-3-line",
+					access: nodes.StyleSet,
+				},
+				component: () => import("@/views/ShoppingMall/AppDesign/AppStyle.vue"),
+			},
+			{
+				path: "AppDesign/CateSet",
+				name: "CateSet",
+				meta: {
+					title: "分类模版",
+					access: nodes.CategorySet,
+					remixIcon: "brush-3-line",
+				},
+				component: () => import("@/views/ShoppingMall/AppDesign/CateSet.vue"),
+			},
+		],
+	},
+	{
+		path: "Application",
+		component: Layout,
+		redirect: "/Application/Application",
+		alwaysShow: true,
+		meta: {
+			title: "应用",
+			remixIcon: "app-store-line",
+		},
+		children: [{
+			path: "Application",
+			name: "Application",
+			component: () => import("@/views/Application/Application"),
+			meta: {
+				title: "应用",
+				remixIcon: "app-store-line",
+			},
+		}, ],
+	},
+	{
+		path: "MoneyGoodsBill",
+		component: Layout,
+		redirect: "/MoneyGoodsBill/index",
+		alwaysShow: true,
+		meta: {
+			title: "钱货日清对账",
+			remixIcon: "app-store-line",
+		},
+		children: [{
+				path: "index",
+				name: "InventoryStatistics",
+				component: () => import("@/views/MoneyGoodsBill/index"),
+				meta: {
+					title: "库存日对账",
+					remixIcon: "hotel-line",
+					access: nodes.getTodayStatistics_statisticsInventoryStatistics,
+				},
+			},
+			{
+				path: "saleBill",
+				name: "saleBill",
+				component: () => import("@/views/MoneyGoodsBill/saleBill"),
+				meta: {
+					title: "销售日对账",
+					remixIcon: "numbers-line",
+					access: nodes.getTodayStatistics_statisticsGetAllOrderData,
+				},
+			},
+			{
+				path: "FinanceBill",
+				name: "FinanceBill",
+				component: () => import("@/views/MoneyGoodsBill/FinanceBill"),
+				meta: {
+					title: "财务日对账",
+					remixIcon: "stack-line",
+					access: nodes.getTodayStatistics_statisticsGetTodayStatistics,
+				},
+			},
+			{
+				path: "Profit",
+				name: "Profit",
+				component: () => import("@/views/MoneyGoodsBill/Profit"),
+				meta: {
+					title: "利润表",
+					remixIcon: "stack-line",
+				},
+			},
+		],
+	},
+	{
+		path: "Marketing",
+		component: Layout,
+		redirect: "/Marketing/MarketingList",
+		alwaysShow: true,
+		hidden: true,
+		meta: {
+			title: "营销",
+			remixIcon: "coupon-3-line",
+		},
+		children: [{
+				path: "MarketingList/Coupon",
+				name: "Coupon",
+				meta: {
+					title: "优惠券列表",
+					remixIcon: "coupon-3-line",
+					access: nodes.CouponList,
+				},
+				component: () => import("@/views/Marketing/MarketingList/Coupon"),
+			},
+			{
+				path: "MarketingList/ReleaseRecord",
+				name: "ReleaseRecord",
+				meta: {
+					title: "发放记录",
+					access: nodes.GrantLog,
+				},
+				component: () =>
+					import("@/views/Marketing/MarketingList/ReleaseRecord"),
+			},
+			{
+				path: "MarketingList/AddCoupon",
+				name: "AddCoupon",
+				hidden: true,
+				meta: {
+					title: "新增优惠券",
+					access: nodes.CouponListAdd,
+				},
+				component: () => import("@/views/Marketing/MarketingList/AddCoupon"),
+			},
+			{
+				path: "MarketingList/EditCoupon/:id",
+				name: "EditCoupon",
+				hidden: true,
+				meta: {
+					title: "编辑优惠券",
+					access: nodes.CouponListEdit,
+				},
+				component: () => import("@/views/Marketing/MarketingList/AddCoupon"),
+			},
+			{
+				path: "Promotion/PromotionList",
+				name: "PromotionList",
+				meta: {
+					title: "商品促销",
+					remixIcon: "bookmark-3-line",
+					access: nodes.ActivityGoods,
+				},
+				component: () =>
+					import("@/views/Marketing/Promotion/PromotionList.vue"),
+			},
+			{
+				path: "Promotion/AddPromotion",
+				name: "AddPromotion",
+				hidden: true,
+				meta: {
+					title: "新增促销",
+					access: nodes.ActivityGoodsAdd,
+				},
+				component: () => import("@/views/Marketing/Promotion/AddPromotion.vue"),
+			},
+			{
+				path: "Promotion/editPromotion/:id",
+				name: "EditPromotion",
+				hidden: true,
+				meta: {
+					title: "修改促销",
+					access: nodes.ActivityGoodsEdit,
+				},
+				component: () => import("@/views/Marketing/Promotion/AddPromotion.vue"),
+			},
 
-      {
-        path: "vip/membershipCard",
-        name: "MembershipCard",
-        meta: {
-          title: "会员卡管理",
-          remixIcon: "vip-crown-2-line",
-          access: nodes.MembershipCard,
-        },
-        component: () => import("@/views/Marketing/vip/membershipCard.vue"),
-      },
-      {
-        path: "vip/AddCard",
-        name: "AddCard",
-        hidden: true,
-        meta: {
-          title: "创建会员卡",
-          access: nodes.MembershipCardAddVipCard,
-        },
-        component: () => import("@/views/Marketing/vip/AddCard.vue"),
-      },
-      {
-        path: "vip/EditCard/:id",
-        name: "EditCard",
-        hidden: true,
-        meta: {
-          title: "编辑会员卡",
-          access: nodes.MembershipCardEditVipCard,
-        },
-        component: () => import("@/views/Marketing/vip/AddCard.vue"),
-      },
-      {
-        path: "vip/CollectionRecords",
-        name: "CollectionRecords",
-        meta: {
-          title: "领取记录",
-          access: nodes.CollectionRecords,
-        },
-        component: () => import("@/views/Marketing/vip/CollectionRecords.vue"),
-      },
-      {
-        path: "vip/DelRecords",
-        name: "DelRecords",
-        hidden: true,
-        meta: {
-          title: "删除记录",
-        },
-        component: () => import("@/views/Marketing/vip/DelRecords.vue"),
-      },
-      {
-        path: "SetMeal/index",
-        name: "SetMeal",
-        hidden: true,
-        meta: {
-          title: "组合套餐",
-          access: nodes.Application_SetMeal,
-          remixIcon: "git-repository-private-line",
-        },
-        component: () => import("@/views/Marketing/SetMeal/index"),
-      },
-      {
-        path: "SetMeal/addSetMeal",
-        name: "AddSetMeal",
-        hidden: true,
-        meta: {
-          title: "新增活动",
-          access: nodes.SetMeal_addGroupGoods,
-        },
-        component: () => import("@/views/Marketing/SetMeal/addSetMeal"),
-      },
-      {
-        path: "SetMeal/editSetMeal/:id",
-        name: "EditSetMeal",
-        hidden: true,
-        meta: {
-          title: "编辑活动",
-          access: nodes.SetMeal_editGroupGoods,
-        },
-        component: () => import("@/views/Marketing/SetMeal/addSetMeal"),
-      },
-    ],
-  },
-  {
-    path: "saleCommission",
-    component: Layout,
-    redirect: "/saleCommission/CommissionRule",
-    alwaysShow: true,
-    hidden: true,
-    meta: {
-      title: "销售提成",
-      remixIcon: "store-2-line",
-    },
-    children: [
-      {
-        path: "CommissionRule",
-        name: "CommissionRule",
-        component: () => import("@/views/saleCommission/CommissionRule"),
-        meta: {
-          title: "提成规则",
-          access: nodes.CommissionRule,
-        },
-      },
-      {
-        path: "CommissionStatistic",
-        name: "CommissionStatistic",
-        component: () => import("@/views/saleCommission/CommissionStatistic"),
-        meta: {
-          title: "提成统计",
-          access: nodes.CommissionStatistic,
-        },
-      },
-      {
-        path: "RuleCommission",
-        name: "RuleCommission",
-        component: () => import("@/views/saleCommission/RuleCommission"),
-        meta: {
-          title: "设置提成规则",
-          access: nodes.CommissionRuleAddCommissionRule,
-        },
-      },
-      {
-        path: "RuleCommissionEdit",
-        name: "RuleCommissionEdit",
-        component: () => import("@/views/saleCommission/RuleCommission"),
-        meta: {
-          title: "修改提成规则",
-          access: nodes.CommissionRuleEditCommissionRule,
-        },
-      },
-      // {
-      //   path: "CommissionList",
-      //   name: "CommissionList",
-      //   component: () => import("@/views/saleCommission/CommissionList"),
-      //   meta: {
-      //     title: "提成记录",
-      //   },
-      // },
-      {
-        path: "CommissionList",
-        name: "CommissionList",
-        component: () => import("@/views/saleCommission/CommissionList"),
-        meta: {
-          title: "提成记录",
-        },
-      },
-    ],
-  },
+			{
+				path: "vip/membershipCard",
+				name: "MembershipCard",
+				meta: {
+					title: "会员卡管理",
+					remixIcon: "vip-crown-2-line",
+					access: nodes.MembershipCard,
+				},
+				component: () => import("@/views/Marketing/vip/membershipCard.vue"),
+			},
+			{
+				path: "vip/AddCard",
+				name: "AddCard",
+				hidden: true,
+				meta: {
+					title: "创建会员卡",
+					access: nodes.MembershipCardAddVipCard,
+				},
+				component: () => import("@/views/Marketing/vip/AddCard.vue"),
+			},
+			{
+				path: "vip/EditCard/:id",
+				name: "EditCard",
+				hidden: true,
+				meta: {
+					title: "编辑会员卡",
+					access: nodes.MembershipCardEditVipCard,
+				},
+				component: () => import("@/views/Marketing/vip/AddCard.vue"),
+			},
+			{
+				path: "vip/CollectionRecords",
+				name: "CollectionRecords",
+				meta: {
+					title: "领取记录",
+					access: nodes.CollectionRecords,
+				},
+				component: () => import("@/views/Marketing/vip/CollectionRecords.vue"),
+			},
+			{
+				path: "vip/DelRecords",
+				name: "DelRecords",
+				hidden: true,
+				meta: {
+					title: "删除记录",
+				},
+				component: () => import("@/views/Marketing/vip/DelRecords.vue"),
+			},
+			{
+				path: "card/cardList",
+				name: "cardList",
+				meta: {
+					title: "服务优惠卡管理",
+					remixIcon: "vip-crown-2-line",
+					access: nodes.DiscountCard,
+				},
+				component: () => import("@/views/Marketing/card/cardList.vue"),
+			},
+			{
+				path: "card/addCard",
+				name: "addCard",
+				meta: {
+					title: "优惠卡新增修改",
+					remixIcon: "vip-crown-2-line",
+					access: nodes.DiscountCard,
+				},
+				component: () => import("@/views/Marketing/card/addCard.vue"),
+			},
+			{
+				path: "SetMeal/index",
+				name: "SetMeal",
+				hidden: true,
+				meta: {
+					title: "组合套餐",
+					access: nodes.Application_SetMeal,
+					remixIcon: "git-repository-private-line",
+				},
+				component: () => import("@/views/Marketing/SetMeal/index"),
+			},
+			{
+				path: "SetMeal/addSetMeal",
+				name: "AddSetMeal",
+				hidden: true,
+				meta: {
+					title: "新增活动",
+					access: nodes.SetMeal_addGroupGoods,
+				},
+				component: () => import("@/views/Marketing/SetMeal/addSetMeal"),
+			},
+			{
+				path: "SetMeal/editSetMeal/:id",
+				name: "EditSetMeal",
+				hidden: true,
+				meta: {
+					title: "编辑活动",
+					access: nodes.SetMeal_editGroupGoods,
+				},
+				component: () => import("@/views/Marketing/SetMeal/addSetMeal"),
+			},
+		],
+	},
+	{
+		path: "saleCommission",
+		component: Layout,
+		redirect: "/saleCommission/CommissionRule",
+		alwaysShow: true,
+		hidden: true,
+		meta: {
+			title: "销售提成",
+			remixIcon: "store-2-line",
+		},
+		children: [{
+				path: "CommissionRule",
+				name: "CommissionRule",
+				component: () => import("@/views/saleCommission/CommissionRule"),
+				meta: {
+					title: "提成规则",
+					access: nodes.CommissionRule,
+				},
+			},
+			{
+				path: "CommissionStatistic",
+				name: "CommissionStatistic",
+				component: () => import("@/views/saleCommission/CommissionStatistic"),
+				meta: {
+					title: "提成统计",
+					access: nodes.CommissionStatistic,
+				},
+			},
+			{
+				path: "RuleCommission",
+				name: "RuleCommission",
+				component: () => import("@/views/saleCommission/RuleCommission"),
+				meta: {
+					title: "设置提成规则",
+					access: nodes.CommissionRuleAddCommissionRule,
+				},
+			},
+			{
+				path: "RuleCommissionEdit",
+				name: "RuleCommissionEdit",
+				component: () => import("@/views/saleCommission/RuleCommission"),
+				meta: {
+					title: "修改提成规则",
+					access: nodes.CommissionRuleEditCommissionRule,
+				},
+			},
+			// {
+			//   path: "CommissionList",
+			//   name: "CommissionList",
+			//   component: () => import("@/views/saleCommission/CommissionList"),
+			//   meta: {
+			//     title: "提成记录",
+			//   },
+			// },
+			{
+				path: "CommissionList",
+				name: "CommissionList",
+				component: () => import("@/views/saleCommission/CommissionList"),
+				meta: {
+					title: "提成记录",
+				},
+			},
+		],
+	},
+	// 文章页面
+	{
+		path: "info",
+		component: Layout,
+		redirect: "/info/infoArticleList",
+		alwaysShow: true,
+		hidden: true,
+		meta: {
+			title: "文章管理",
+			remixIcon: "store-2-line",
+		},
+		children: [
+			{
+				path: "infoArticleList",
+				name: "InfoArticleList",
+				component: () => import("@/views/info/infoArticleList"),
+				meta: {
+					title: "文章列表",
+					// access: nodes.RewardList,
+				},
+			},
+			{
+				path: "infoHomeList",
+				name: "InfoHomeList",
+				component: () => import("@/views/info/infoHomeList"),
+				meta: {
+					title: "自定义项",
+					// access: nodes.infoHomeList,
+				},
+			},
+		],
+	},
+	// 股东分红
+	{
+		path: "Shareholders",
+		component: Layout,
+		redirect: "/Shareholders/RewardList",
+		alwaysShow: true,
+		hidden: true,
+		meta: {
+			title: "股东分红",
+			remixIcon: "store-2-line",
+		},
+		children: [{
+				path: "RewardList",
+				name: "RewardList",
+				component: () => import("@/views/Shareholders/RewardList"),
+				meta: {
+					title: "股东列表",
+					// access: nodes.RewardList,
+				},
+			},
+			{
+				path: "CommissionStatistic",
+				name: "CommissionStatistic",
+				component: () => import("@/views/Shareholders/CommissionStatistic"),
+				meta: {
+					title: "提成统计",
+					// access: nodes.CommissionStatistic,
+				},
+			},
+			{
+				path: "RuleCommission",
+				name: "RuleCommission",
+				component: () => import("@/views/Shareholders/RuleCommission"),
+				meta: {
+					title: "添加股东",
+					// access: nodes.CommissionRuleAddCommissionRule,
+				},
+			},
+			{
+				path: "RuleCommissionEdit",
+				name: "RuleCommissionEdit",
+				component: () => import("@/views/Shareholders/RuleCommission"),
+				meta: {
+					title: "修改股东",
+					// access: nodes.CommissionRuleEditCommissionRule,
+				},
+			},
+			{
+				path: "CommissionList",
+				name: "CommissionList",
+				component: () => import("@/views/Shareholders/CommissionList"),
+				meta: {
+					title: "提成记录",
+				},
+			},
+		],
+	},
+	{
+		path: "PointsMall",
+		component: Layout,
+		redirect: "/PointsMall/GoodsManage",
+		alwaysShow: true,
+		hidden: true,
+		meta: {
+			title: "积分商城",
+			remixIcon: "store-2-line",
+		},
+		children: [{
+				path: "GoodsManage",
+				name: "GoodsManage",
+				component: () => import("@/views/PointsMall/GoodsManage"),
+				meta: {
+					title: "积分商品管理",
+					access: nodes.PointsGoodsManage,
+				},
+			},
+			{
+				path: "PointGoodsAdd",
+				name: "PointGoodsAdd",
+				component: () => import("@/views/PointsMall/PointGoodsAdd"),
+				meta: {
+					title: "新增积分商品",
+					access: nodes.PointsGoodsManageAddPointsGoods,
+				},
+			},
+			{
+				path: "PointGoodsEdit",
+				name: "PointGoodsEdit",
+				component: () => import("@/views/PointsMall/PointGoodsAdd"),
+				meta: {
+					title: "修改积分商品",
+					access: nodes.PointsGoodsManageEditPointsGoods,
+				},
+			},
+			{
+				path: "ExchangeRecord",
+				name: "ExchangeRecord",
+				component: () => import("@/views/PointsMall/ExchangeRecord"),
+				meta: {
+					title: "兑换记录",
+					access: nodes.ExchangeRecord,
+				},
+			},
+			{
+				path: "PointRule",
+				name: "PointRule",
+				component: () => import("@/views/PointsMall/PointRule"),
+				meta: {
+					title: "积分规则",
+					access: nodes.PointRule,
+				},
+			},
+			{
+				path: "PointRuleAdd",
+				name: "PointRuleAdd",
+				component: () => import("@/views/PointsMall/PointRuleAdd"),
+				meta: {
+					title: "新增积分规则",
+					access: nodes.PointRuleAddPointRule,
+				},
+			},
+			{
+				path: "PointRuleEdit",
+				name: "PointRuleEdit",
+				component: () => import("@/views/PointsMall/PointRuleAdd"),
+				meta: {
+					title: "修改积分规则",
+					access: nodes.PointRuleEditPointRule,
+				},
+			},
+		],
+	},
+	{
+		path: "Distribution",
+		component: Layout,
+		redirect: "/Distribution/DOverview",
+		alwaysShow: true,
+		hidden: true,
+		meta: {
+			title: "分销",
+			remixIcon: "store-2-line",
+		},
+		children: [{
+				path: "DOverview",
+				name: "DOverview",
+				component: () => import("@/views/Distribution/DOverview"),
+				meta: {
+					title: "分销概览",
+					access: nodes.DOverview,
+				},
+			},
+			{
+				path: "DGoodsList",
+				name: "DGoodsList",
+				component: () => import("@/views/Distribution/DGoodsList"),
+				meta: {
+					title: "分销商品",
+					access: nodes.DGoodsList,
+				},
+			},
+			{
+				path: "SetCommission/:id",
+				name: "SetCommission",
+				hidden: true,
+				meta: {
+					title: "设置佣金",
+					access: nodes.DGoodsListsetCommission,
+				},
+				component: () => import("@/views/Distribution/Commission"),
+			},
+			{
+				path: "DOrderList",
+				name: "DOrderList",
+				component: () => import("@/views/Distribution/DOrderList"),
+				meta: {
+					title: "分销订单",
+					access: nodes.DOrderList,
+				},
+			},
+			{
+				path: "DistributionList",
+				name: "DistributionList",
+				component: () => import("@/views/Distribution/DistributionList"),
+				meta: {
+					title: "分销商等级",
+					access: nodes.DistributionList,
+				},
+			},
+			{
+				path: "AddDistributionList",
+				name: "AddDistributionList",
+				hidden: true,
+				meta: {
+					title: "新建分销商等级",
+					access: nodes.DistributionListupdateGrade,
+				},
+				component: () => import("@/views/Distribution/AddDistributionList"),
+			},
+			{
+				path: "EditDistributionList/:id",
+				name: "EditDistributionList",
+				hidden: true,
+				meta: {
+					title: "编辑分销商等级",
+					access: nodes.DistributionListupdateGrade,
+				},
+				component: () => import("@/views/Distribution/AddDistributionList"),
+			},
 
-  // 股东分红
-  {
-    path: "Shareholders",
-    component: Layout,
-    redirect: "/Shareholders/CommissionRule",
-    alwaysShow: true,
-    hidden: true,
-    meta: {
-      title: "股东分红",
-      remixIcon: "store-2-line",
-    },
-    children: [
-      {
-        path: "CommissionRule",
-        name: "CommissionRule",
-        component: () => import("@/views/Shareholders/CommissionRule"),
-        meta: {
-          title: "股东列表",
-          access: nodes.CommissionRule,
-        },
-      },
-      {
-        path: "CommissionStatistic",
-        name: "CommissionStatistic",
-        component: () => import("@/views/Shareholders/CommissionStatistic"),
-        meta: {
-          title: "提成统计",
-          access: nodes.CommissionStatistic,
-        },
-      },
-      {
-        path: "RuleCommission",
-        name: "RuleCommission",
-        component: () => import("@/views/Shareholders/RuleCommission"),
-        meta: {
-          title: "添加股东",
-          access: nodes.CommissionRuleAddCommissionRule,
-        },
-      },
-      {
-        path: "RuleCommissionEdit",
-        name: "RuleCommissionEdit",
-        component: () => import("@/views/Shareholders/RuleCommission"),
-        meta: {
-          title: "修改股东",
-          access: nodes.CommissionRuleEditCommissionRule,
-        },
-      },
-      {
-        path: "CommissionList",
-        name: "CommissionList",
-        component: () => import("@/views/Shareholders/CommissionList"),
-        meta: {
-          title: "提成记录",
-        },
-      },
-    ],
-  },
-  {
-    path: "PointsMall",
-    component: Layout,
-    redirect: "/PointsMall/GoodsManage",
-    alwaysShow: true,
-    hidden: true,
-    meta: {
-      title: "积分商城",
-      remixIcon: "store-2-line",
-    },
-    children: [
-      {
-        path: "GoodsManage",
-        name: "GoodsManage",
-        component: () => import("@/views/PointsMall/GoodsManage"),
-        meta: {
-          title: "积分商品管理",
-          access: nodes.PointsGoodsManage,
-        },
-      },
-      {
-        path: "PointGoodsAdd",
-        name: "PointGoodsAdd",
-        component: () => import("@/views/PointsMall/PointGoodsAdd"),
-        meta: {
-          title: "新增积分商品",
-          access: nodes.PointsGoodsManageAddPointsGoods,
-        },
-      },
-      {
-        path: "PointGoodsEdit",
-        name: "PointGoodsEdit",
-        component: () => import("@/views/PointsMall/PointGoodsAdd"),
-        meta: {
-          title: "修改积分商品",
-          access: nodes.PointsGoodsManageEditPointsGoods,
-        },
-      },
-      {
-        path: "ExchangeRecord",
-        name: "ExchangeRecord",
-        component: () => import("@/views/PointsMall/ExchangeRecord"),
-        meta: {
-          title: "兑换记录",
-          access: nodes.ExchangeRecord,
-        },
-      },
-      {
-        path: "PointRule",
-        name: "PointRule",
-        component: () => import("@/views/PointsMall/PointRule"),
-        meta: {
-          title: "积分规则",
-          access: nodes.PointRule,
-        },
-      },
-      {
-        path: "PointRuleAdd",
-        name: "PointRuleAdd",
-        component: () => import("@/views/PointsMall/PointRuleAdd"),
-        meta: {
-          title: "新增积分规则",
-          access: nodes.PointRuleAddPointRule,
-        },
-      },
-      {
-        path: "PointRuleEdit",
-        name: "PointRuleEdit",
-        component: () => import("@/views/PointsMall/PointRuleAdd"),
-        meta: {
-          title: "修改积分规则",
-          access: nodes.PointRuleEditPointRule,
-        },
-      },
-    ],
-  },
-  {
-    path: "Distribution",
-    component: Layout,
-    redirect: "/Distribution/DOverview",
-    alwaysShow: true,
-    hidden: true,
-    meta: {
-      title: "分销",
-      remixIcon: "store-2-line",
-    },
-    children: [
-      {
-        path: "DOverview",
-        name: "DOverview",
-        component: () => import("@/views/Distribution/DOverview"),
-        meta: {
-          title: "分销概览",
-          access: nodes.DOverview,
-        },
-      },
-      {
-        path: "DGoodsList",
-        name: "DGoodsList",
-        component: () => import("@/views/Distribution/DGoodsList"),
-        meta: {
-          title: "分销商品",
-          access: nodes.DGoodsList,
-        },
-      },
-      {
-        path: "SetCommission/:id",
-        name: "SetCommission",
-        hidden: true,
-        meta: {
-          title: "设置佣金",
-          access: nodes.DGoodsListsetCommission,
-        },
-        component: () => import("@/views/Distribution/Commission"),
-      },
-      {
-        path: "DOrderList",
-        name: "DOrderList",
-        component: () => import("@/views/Distribution/DOrderList"),
-        meta: {
-          title: "分销订单",
-          access: nodes.DOrderList,
-        },
-      },
-      {
-        path: "DistributionList",
-        name: "DistributionList",
-        component: () => import("@/views/Distribution/DistributionList"),
-        meta: {
-          title: "分销商等级",
-          access: nodes.DistributionList,
-        },
-      },
-      {
-        path: "AddDistributionList",
-        name: "AddDistributionList",
-        hidden: true,
-        meta: {
-          title: "新建分销商等级",
-          access: nodes.DistributionListupdateGrade,
-        },
-        component: () => import("@/views/Distribution/AddDistributionList"),
-      },
-      {
-        path: "EditDistributionList/:id",
-        name: "EditDistributionList",
-        hidden: true,
-        meta: {
-          title: "编辑分销商等级",
-          access: nodes.DistributionListupdateGrade,
-        },
-        component: () => import("@/views/Distribution/AddDistributionList"),
-      },
+			{
+				path: "Businessman/NotAudit",
+				name: "NotAudit",
+				meta: {
+					title: "待审核",
+					access: nodes.Businessman,
+				},
+				component: () => import("@/views/Distribution/Businessman/NotAudit"),
+			},
+			{
+				path: "Businessman/Distributor",
+				name: "Distributor",
+				meta: {
+					title: "分销商",
+					access: nodes.Businessman,
+				},
+				component: () => import("@/views/Distribution/Businessman/Distributor"),
+			},
+			{
+				path: "Businessman/DistributorNext",
+				name: "DistributorNext",
+				hidden: true,
+				meta: {
+					title: "下级分销商",
+					access: nodes.BusinessmangetgetAllSub,
+				},
+				component: () =>
+					import("@/views/Distribution/Businessman/DistributorNext"),
+			},
 
-      {
-        path: "Businessman/NotAudit",
-        name: "NotAudit",
-        meta: {
-          title: "待审核",
-          access: nodes.Businessman,
-        },
-        component: () => import("@/views/Distribution/Businessman/NotAudit"),
-      },
-      {
-        path: "Businessman/Distributor",
-        name: "Distributor",
-        meta: {
-          title: "分销商",
-          access: nodes.Businessman,
-        },
-        component: () => import("@/views/Distribution/Businessman/Distributor"),
-      },
-      {
-        path: "Businessman/DistributorNext",
-        name: "DistributorNext",
-        hidden: true,
-        meta: {
-          title: "下级分销商",
-          access: nodes.BusinessmangetgetAllSub,
-        },
-        component: () =>
-          import("@/views/Distribution/Businessman/DistributorNext"),
-      },
+			{
+				path: "CashOut/NotAuditCashOut",
+				name: "NotAuditCashOut",
+				meta: {
+					title: "待审核",
+					access: nodes.CashOutgetAll,
+				},
+				component: () => import("@/views/Distribution/CashOut/NotAuditCashOut"),
+			},
+			{
+				path: "CashOut/NotCashOut",
+				name: "NotCashOut",
+				meta: {
+					title: "待打款",
+					access: nodes.CashOutgetAll,
+				},
+				component: () => import("@/views/Distribution/CashOut/NotAuditCashOut"),
+			},
+			{
+				path: "CashOut/CashOut",
+				name: "CashOut",
+				meta: {
+					title: "已打款",
+					access: nodes.CashOutgetAll,
+				},
+				component: () => import("@/views/Distribution/CashOut/NotAuditCashOut"),
+			},
+			{
+				path: "CashOut/Invalid",
+				name: "Invalid",
+				meta: {
+					title: "无效",
+					access: nodes.CashOutgetAll,
+				},
+				component: () => import("@/views/Distribution/CashOut/NotAuditCashOut"),
+			},
+			{
+				path: "DistributionSet/BaseDSet",
+				name: "BaseDSet",
+				meta: {
+					title: "基础设置",
+					access: nodes.SettlementSet,
+				},
+				component: () =>
+					import("@/views/Distribution/DistributionSet/BaseDSet.vue"),
+			},
+			{
+				path: "DistributionSet/SettlementSet",
+				name: "SettlementSet",
+				meta: {
+					title: "结算设置",
+					access: nodes.SettlementSet,
+				},
+				component: () =>
+					import("@/views/Distribution/DistributionSet/SettlementSet.vue"),
+			},
+			{
+				path: "DistributionSet/TextSet",
+				name: "TextSet",
+				meta: {
+					title: "文字设置",
+					access: nodes.TextSet,
+				},
+				component: () =>
+					import("@/views/Distribution/DistributionSet/TextSet.vue"),
+			},
+		],
+	},
+	{
+		path: "BillTemplate",
+		component: Layout,
+		redirect: "/BillTemplate/TemplateList",
+		alwaysShow: true,
+		hidden: true,
+		meta: {
+			title: "单据模版",
+			remixIcon: "apps-line",
+		},
+		children: [{
+				path: "TemplateList",
+				name: "TemplateList",
+				meta: {
+					title: "单据模板列表",
+					access: nodes.TemplateListgetAll,
+				},
+				component: () => import("@/views/BillTemplate/TemplateList"),
+			},
+			{
+				path: "EditTemplate/:id",
+				name: "EditTemplate",
+				hidden: true,
+				meta: {
+					title: "编辑模板",
+					access: nodes.TemplateListgetInfo,
+				},
+				component: () => import("@/views/BillTemplate/EditTemplate"),
+			},
+		],
+	},
+	{
+		path: "CashierShop",
+		name: "CashierShop",
+		noKeepAlive: true,
+		hidden: true,
+		meta: {
+			title: "收银台",
+			access: nodes.CashierShop,
+			remixIcon: "airplay-fill",
+		},
+		component: () => import("@/views/CashierShop/CashierShop"),
+	},
+	{
+		path: "CashierShift",
+		name: "CashierShift",
+		noKeepAlive: true,
+		hidden: true,
+		meta: {
+			title: "收银交班",
+			access: nodes.ShiftOvergetRecordInfo,
+		},
+		component: () => import("@/views/CashierShop/CashierShift"),
+	},
+	{
+		path: "CashierRecord",
+		name: "CashierRecord",
+		noKeepAlive: true,
+		hidden: true,
+		meta: {
+			title: "交班记录",
+			remixIcon: "exchange-box-line",
+			access: nodes.ShiftOver,
+		},
+		component: () => import("@/views/CashierShop/CashierRecord"),
+	},
+	{
+		path: "Cashier",
+		component: Layout,
+		redirect: "/Cashier/CashierList",
+		hidden: true,
+		meta: {
+			title: "收银台",
+			remixIcon: "airplay-fill",
+		},
+		children: [{
+				path: "CashierList",
+				name: "CashierList",
+				meta: {
+					title: "收银台设置",
+					remixIcon: "settings-5-line",
+					access: nodes.cashierSet,
+				},
+				component: () => import("@/views/Cashier/CashierList"),
+			},
+			{
+				path: "Cashier",
+				name: "Cashier",
+				meta: {
+					title: "收银员",
+					remixIcon: "user-2-line",
+					access: nodes.Cashiers,
+				},
+				component: () => import("@/views/Cashier/Cashier"),
+			},
+			{
+				path: "ShoppingGuide",
+				name: "ShoppingGuide",
+				meta: {
+					title: "导购员",
+					remixIcon: "user-heart-line",
+					access: nodes.ShoppingGuide,
+				},
+				component: () => import("@/views/Cashier/ShoppingGuide"),
+			},
+			{
+				path: "/order/saleO/CashierOrder",
+				name: "CashierOrder",
+				meta: {
+					title: "收银台订单",
+					access: nodes.saleOrderList,
+					remixIcon: "bill-line",
+				},
+				component: () => import("@/views/order/saleO/SaleOrderList"),
+			},
+			{
+				path: "Withdrawal",
+				name: "Withdrawal",
+				meta: {
+					title: "提成明细",
+					remixIcon: "file-list-3-line",
+					access: nodes.Withdrawal,
+				},
+				component: () => import("@/views/Cashier/Withdrawal"),
+			},
+			{
+				path: "Commission",
+				name: "Commission",
+				meta: {
+					title: "提成统计",
+					remixIcon: "exchange-funds-line",
+					access: nodes.Commission,
+				},
+				component: () => import("@/views/Cashier/Commission"),
+			},
+			{
+				path: "ShiftOver",
+				name: "ShiftOver",
+				meta: {
+					title: "交班记录",
+					remixIcon: "exchange-box-line",
+					access: nodes.ShiftOver,
+				},
+				component: () => import("@/views/Cashier/ShiftOver"),
+			},
+			{
+				path: "ShiftOverGetAll/:id",
+				name: "ShiftOverGetAll",
+				hidden: true,
+				meta: {
+					title: "交班详情",
+					access: nodes.ShiftOvergetRecordInfo,
+				},
+				component: () => import("@/views/Cashier/ShiftOverGetAll"),
+			},
+			{
+				path: "EditCashier/:id",
+				name: "EditCashier",
+				hidden: true,
+				meta: {
+					title: "编辑收银员",
+					access: nodes.CashiersupdateStaff,
+				},
+				component: () => import("@/views/Cashier/EditCashier"),
+			},
+		],
+	},
+	{
+		path: "/Merchants",
+		redirect: "/Merchants/MerchartsList",
+		component: Layout,
+		hidden: true,
+		meta: {
+			title: "多商户",
+			remixIcon: "airplay-fill",
+		},
+		children: [{
+				path: "MerchartsList",
+				name: "MerchartsList",
+				meta: {
+					title: "商户管理",
+					remixIcon: "store-2-line",
+					access: nodes.MerchartsList,
+				},
+				component: () => import("@/views/Merchants/MerchartsList"),
+			},
+			{
+				path: "Merchants",
+				name: "Merchants",
+				meta: {
+					title: "入驻申请",
+					remixIcon: "store-2-line",
+				},
+				component: () => import("@/views/Merchants/Merchants"),
+			},
+			{
+				path: "ApplyMerchantsInfo/:id",
+				name: "ApplyMerchantsInfo",
+				meta: {
+					title: "入驻详情",
+					remixIcon: "store-2-line",
+				},
+				component: () => import("@/views/Merchants/ApplyMerchantsInfo"),
+			},
+			{
+				path: "MerchantsGroup",
+				name: "MerchantsGroup",
+				meta: {
+					title: "商户分组",
+					remixIcon: "money-cny-circle-line",
+				},
+				component: () => import("@/views/Merchants/MerchantsGroup"),
+			},
+			{
+				path: "MerchantsBin",
+				name: "MerchantsBin",
+				meta: {
+					title: "回收站",
+					remixIcon: "store-2-line",
+				},
+				component: () => import("@/views/Merchants/MerchantsBin"),
+			},
+			{
+				path: "AddMerchants",
+				name: "AddMerchants",
+				meta: {
+					title: "添加商户",
+					remixIcon: "money-cny-circle-line",
+				},
+				component: () => import("@/views/Merchants/AddMerchants"),
+			},
+			{
+				path: "EditMerchants",
+				name: "EditMerchants",
+				meta: {
+					title: "编辑商户",
+					remixIcon: "money-cny-circle-line",
+				},
+				component: () => import("@/views/Merchants/AddMerchants"),
+			},
+			{
+				path: "AddMerchantsInfo/:length",
+				name: "AddMerchantsInfo",
+				meta: {
+					title: "增购详情",
+					remixIcon: "money-cny-circle-line",
+				},
+				component: () => import("@/views/Merchants/AddMerchantsInfo"),
+			},
+			{
+				path: "MerchantsInfo/:id",
+				name: "MerchantsInfo",
+				meta: {
+					title: "商户详情",
+					remixIcon: "store-2-line",
+				},
+				component: () => import("@/views/Merchants/MerchantsInfo"),
+			},
+			{
+				path: "MerchartsShop",
+				name: "MerchartsShop",
+				meta: {
+					title: "商户商品",
+					remixIcon: "shopping-bag-line",
+					access: nodes.MerchartsGoods,
+				},
+				component: () => import("@/views/Merchants/MerchartsShop"),
+			},
+			{
+				path: "MerchantsExamine",
+				name: "MerchantsExamine",
+				meta: {
+					title: "待审核商品",
+					remixIcon: "shopping-bag-line",
+				},
+				component: () => import("@/views/Merchants/MerchantsExamine"),
+			},
+			{
+				path: "MerchantsOverview",
+				name: "MerchantsOverview",
+				meta: {
+					title: "商户概览",
+					remixIcon: "funds-box-line",
+				},
+				component: () => import("@/views/Merchants/MerchantsOverview"),
+			},
+			{
+				path: "MerchantsOrder",
+				name: "MerchantsOrder",
+				meta: {
+					title: "商户订单",
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/Merchants/MerchantsOrder"),
+			},
+			{
+				path: "SafeguardingOrder",
+				name: "SafeguardingOrder",
+				meta: {
+					title: "维权订单",
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/Merchants/SafeguardingOrder"),
+			},
+			{
+				path: "MerchantsSettlement",
+				name: "MerchantsSettlement",
+				meta: {
+					title: "结算管理",
+					remixIcon: "secure-payment-line",
+					access: nodes.MerchantsSettlement,
+				},
+				component: () => import("@/views/Merchants/Settlement"),
+			},
+			{
+				path: "MerchantsBasicsSet",
+				name: "MerchantsBasicsSet",
+				meta: {
+					title: "基础设置",
+					remixIcon: "settings-4-line",
+					access: nodes.MerchantsSettlementMerchantsBasicsSet,
+				},
+				component: () => import("@/views/Merchants/MerchantsBasicsSet"),
+			},
+			{
+				path: "MerchantsInSet",
+				name: "MerchantsInSet",
+				meta: {
+					title: "入驻设置",
+					remixIcon: "settings-4-line",
+				},
+				component: () => import("@/views/Merchants/MerchantsInSet"),
+			},
+			{
+				path: "MerchantsListSet",
+				name: "MerchantsListSet",
+				meta: {
+					title: "商户列表",
+					remixIcon: "settings-4-line",
+				},
+				component: () => import("@/views/Merchants/MerchantsListSet"),
+			},
+		],
+	},
+	{
+		path: "/Multistore",
+		redirect: "/Multistore/StoreList",
+		component: Layout,
+		hidden: true,
+		meta: {
+			title: "多门店",
+			remixIcon: "store-2-line",
+		},
+		children: [{
+				path: "StoreList",
+				name: "StoreList",
+				meta: {
+					title: "门店管理",
+					access: nodes.Multistore_MultistoreList,
+					remixIcon: "store-3-line",
+				},
+				component: () => import("@/views/Multistore/store/StoreList"),
+			},
+			{
+				path: "AddStore",
+				name: "AddStore",
+				meta: {
+					title: "创建店铺",
+					access: nodes.MultistoreList_AddStore,
+					remixIcon: "store-3-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/liansuoguanli/AddShop.vue"),
+			},
+			{
+				path: "shopAdministration",
+				name: "shopAdministration",
+				meta: {
+					title: "商品管理",
+					access: nodes.MultistoreList_shopGoodsManage,
+				},
+				component: () => import("@/views/Multistore/store/shopAdministration"),
+			},
+			{
+				path: "StoreShopowner",
+				name: "StoreShopowner",
+				meta: {
+					title: "门店店长",
+					access: nodes.MultistoreList_shopManager,
+				},
+				component: () => import("@/views/Multistore/store/StoreShopowner"),
+			},
+			// {
+			//   path: "lookGoods",
+			//   name: "lookGoods",
+			//   meta: {
+			//     title: "查看商品",
+			//   },
+			//   component: () => import("@/views/Multistore/store/lookGoods"),
+			// },
+			{
+				path: "GoodsList",
+				name: "GoodsList",
+				meta: {
+					title: "商品管理",
+					remixIcon: "shopping-bag-line",
+				},
+				component: () => import("@/views/Multistore/goods/GoodsList"),
+			},
+			{
+				path: "StoreData",
+				name: "StoreData",
+				meta: {
+					title: "门店数据",
+					remixIcon: "computer-line",
+				},
+				component: () => import("@/views/Multistore/statistics/StoreData"),
+			},
+			{
+				path: "EditStoreData",
+				name: "EditStoreData",
+				meta: {
+					title: "数据详情",
+				},
+				component: () => import("@/views/Multistore/statistics/EditStoreData"),
+			},
+			{
+				path: "StoreSet",
+				name: "StoreSet",
+				meta: {
+					access: nodes.Multistore_StoreSet,
+					title: "功能设置",
+					remixIcon: "settings-4-line",
+				},
+				component: () => import("@/views/Multistore/settings/StoreSet"),
+			},
+		],
+	},
+	{
+		path: "/SingleStore",
+		redirect: "/SingleStore/goods",
+		component: Layout,
+		hidden: true,
+		meta: {
+			title: "单门店",
+			remixIcon: "store-2-line",
+		},
+		children: [{
+				path: "goods/GoodsAdministration",
+				name: "GoodsAdministration",
+				meta: {
+					title: "商品管理",
+					remixIcon: "apps-line",
+				},
+				component: () =>
+					import("@/views/SingleStore/Goods/GoodsAdministration"),
+			},
+			{
+				path: "goods/GoodsData",
+				name: "GoodsData",
+				meta: {
+					title: "商品资料",
+					remixIcon: "apps-line",
+				},
+				component: () => import("@/views/goods/manageG/BaseDataList"),
+			},
+			// 价格管理
+			{
+				path: "sale/priceTable",
+				name: "StorePriceTable",
+				meta: {
+					title: "价格管理",
+					remixIcon: "bookmark-3-line",
+				},
+				component: () => import("@/views/goods/sale/PriceTable"),
+			},
+			{
+				path: "goods/priceAdjust",
+				name: "priceAdjust",
+				meta: {
+					title: "商品调价单",
+					remixIcon: "bookmark-3-line",
+				},
+				component: () => import("@/views/goods/sale/AdjustPrice"),
+			},
+			{
+				path: "goods/priceAdjustCustomer",
+				name: "priceAdjustCustomer",
+				meta: {
+					title: "客户调价",
+					remixIcon: "bookmark-3-line",
+				},
+				component: () => import("@/views/goods/sale/CostumeAdjustPrice"),
+			},
+			{
+				path: "goods/priceAdjustCustomerType",
+				name: "priceAdjustCustomerType",
+				meta: {
+					title: "客户类型调价",
+					remixIcon: "bookmark-3-line",
+				},
+				component: () => import("@/views/goods/sale/CustomerTypeAdjustPrice"),
+			},
+			// 订单
+			{
+				path: "order/OrderList/all",
+				name: "OrderListAll",
+				meta: {
+					title: "全部订单",
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/SingleStore/order/OrderList"),
+			},
+			{
+				path: "order/OrderList/waitAudit",
+				name: "OrderListWaitAudit",
+				meta: {
+					title: "待审核",
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/SingleStore/order/OrderList"),
+			},
+			{
+				path: "order/OrderList/waitOutStock",
+				name: "OrderListWaitOutStock",
+				meta: {
+					title: "待发货",
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/SingleStore/order/OrderList"),
+			},
+			{
+				path: "order/OrderList/hasOutStock",
+				name: "OrderListHasOutStock",
+				meta: {
+					title: "待收货",
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/SingleStore/order/OrderList"),
+			},
+			{
+				path: "order/OrderList/finish",
+				name: "OrderListFinish",
+				meta: {
+					title: "已完成",
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/SingleStore/order/OrderList"),
+			},
+			{
+				path: "order/OrderList/close",
+				name: "OrderListClose",
+				meta: {
+					title: "已关闭",
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/SingleStore/order/OrderList"),
+			},
+			{
+				path: "order/StoreOrderAdd",
+				name: "StoreOrderAdd",
+				meta: {
+					title: "代客下单",
+					remixIcon: "edit-circle-line",
+				},
+				component: () => import("@/views/order/manageO/OrderAdd"),
+			},
+			{
+				path: "order/ReturnOrder",
+				name: "ReturnOrder",
+				meta: {
+					title: "退货单",
+					remixIcon: "logout-circle-line",
+				},
+				component: () => import("@/views/SingleStore/order/ReturnOrder"),
+			},
+			// 预约订单
+			{
+				path: "goods/OrderItem",
+				name: "OrderItem",
+				meta: {
+					title: "服务项目",
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/SingleStore/subscribe/OrderItem"),
+			},
+			{
+				path: "goods/AddItem",
+				name: "AddItem",
+				meta: {
+					title: "新增服务项目",
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/SingleStore/subscribe/components/addItem"),
+			},
+			{
+				path: "order/OrderSubscribe",
+				name: "OrderSubscribe",
+				meta: {
+					title: "服务预约",
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/SingleStore/subscribe/OrderSubscribe"),
+			},
+			{
+				path: "order/AddOrderSubscribe",
+				name: "AddOrderSubscribe",
+				meta: {
+					title: "新增/编辑服务预约",
+					remixIcon: "list-unordered",
+				},
+				component: () => import("@/views/SingleStore/subscribe/addSubscribe"),
+			},
+			//客户
+			{
+				path: "Customer/StoreCustomer",
+				name: "StoreCustomer",
+				meta: {
+					title: "客户列表",
+					remixIcon: "user-3-line",
+				},
+				component: () =>
+					import("@/views/Customer/CustomerAdmin/CustomerList.vue"),
+			},
+			//设置
+			{
+				path: "storeSet/StoreDetail",
+				name: "StoreDetail",
+				meta: {
+					title: "门店信息",
+					remixIcon: "list-settings-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/liansuoguanli/AddShop.vue"),
+			},
+			// 员工管理
+			{
+				path: "staffSet/StaffList",
+				name: "StaffList",
+				meta: {
+					title: "员工列表",
+					remixIcon: "user-5-line",
+				},
+				component: () =>
+					import("@/views/SystemSettings/accountAdmin/Staff.vue"),
+			},
+			{
+				path: "staffSet/RoleList",
+				name: "RoleList",
+				meta: {
+					title: "角色管理",
+					remixIcon: "shield-user-line",
+				},
+				component: () => import("@/views/SystemSettings/accountAdmin/Role.vue"),
+			},
+			{
+				path: "staffSet/Sign",
+				name: "Sign",
+				meta: {
+					title: "考勤组",
+					// access: nodes.GroupSignList,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/SystemSettings/accountAdmin/signList"),
+			},
+			{
+				path: "staffSet/signClass",
+				name: "ClassList",
+				meta: {
+					title: "班次列表",
+					// access: nodes.GroupSignClass,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/SystemSettings/accountAdmin/signClass"),
+			},
+			{
+				path: "staffSet/classHistry",
+				name: "ClassHistry",
+				meta: {
+					title: "排班记录",
+					// access: nodes.GroupClassHistry,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/SystemSettings/accountAdmin/classHistry"),
+			},
+			//  库存
+			{
+				path: "Inventory/InventoryOut",
+				name: "InventoryOut",
+				meta: {
+					title: "出库管理",
+					access: nodes.InventoryOut,
+					remixIcon: "home-gear-line",
+				},
+				component: () => import("@/views/stock/OutIn/outgoing"),
+			},
+			{
+				path: "Inventory/InventoryIn",
+				name: "InventoryIn",
+				meta: {
+					title: "入库管理",
+					access: nodes.InventoryIn,
+					remixIcon: "home-gear-line",
+				},
+				component: () => import("@/views/stock/OutIn/storage"),
+			},
 
-      {
-        path: "CashOut/NotAuditCashOut",
-        name: "NotAuditCashOut",
-        meta: {
-          title: "待审核",
-          access: nodes.CashOutgetAll,
-        },
-        component: () => import("@/views/Distribution/CashOut/NotAuditCashOut"),
-      },
-      {
-        path: "CashOut/NotCashOut",
-        name: "NotCashOut",
-        meta: {
-          title: "待打款",
-          access: nodes.CashOutgetAll,
-        },
-        component: () => import("@/views/Distribution/CashOut/NotAuditCashOut"),
-      },
-      {
-        path: "CashOut/CashOut",
-        name: "CashOut",
-        meta: {
-          title: "已打款",
-          access: nodes.CashOutgetAll,
-        },
-        component: () => import("@/views/Distribution/CashOut/NotAuditCashOut"),
-      },
-      {
-        path: "CashOut/Invalid",
-        name: "Invalid",
-        meta: {
-          title: "无效",
-          access: nodes.CashOutgetAll,
-        },
-        component: () => import("@/views/Distribution/CashOut/NotAuditCashOut"),
-      },
-      {
-        path: "DistributionSet/BaseDSet",
-        name: "BaseDSet",
-        meta: {
-          title: "基础设置",
-          access: nodes.SettlementSet,
-        },
-        component: () =>
-          import("@/views/Distribution/DistributionSet/BaseDSet.vue"),
-      },
-      {
-        path: "DistributionSet/SettlementSet",
-        name: "SettlementSet",
-        meta: {
-          title: "结算设置",
-          access: nodes.SettlementSet,
-        },
-        component: () =>
-          import("@/views/Distribution/DistributionSet/SettlementSet.vue"),
-      },
-      {
-        path: "DistributionSet/TextSet",
-        name: "TextSet",
-        meta: {
-          title: "文字设置",
-          access: nodes.TextSet,
-        },
-        component: () =>
-          import("@/views/Distribution/DistributionSet/TextSet.vue"),
-      },
-    ],
-  },
-  {
-    path: "BillTemplate",
-    component: Layout,
-    redirect: "/BillTemplate/TemplateList",
-    alwaysShow: true,
-    hidden: true,
-    meta: {
-      title: "单据模版",
-      remixIcon: "apps-line",
-    },
-    children: [
-      {
-        path: "TemplateList",
-        name: "TemplateList",
-        meta: {
-          title: "单据模板列表",
-          access: nodes.TemplateListgetAll,
-        },
-        component: () => import("@/views/BillTemplate/TemplateList"),
-      },
-      {
-        path: "EditTemplate/:id",
-        name: "EditTemplate",
-        hidden: true,
-        meta: {
-          title: "编辑模板",
-          access: nodes.TemplateListgetInfo,
-        },
-        component: () => import("@/views/BillTemplate/EditTemplate"),
-      },
-    ],
-  },
-  {
-    path: "CashierShop",
-    name: "CashierShop",
-    noKeepAlive: true,
-    hidden: true,
-    meta: {
-      title: "收银台",
-      access: nodes.CashierShop,
-      remixIcon: "airplay-fill",
-    },
-    component: () => import("@/views/CashierShop/CashierShop"),
-  },
-  {
-    path: "CashierShift",
-    name: "CashierShift",
-    noKeepAlive: true,
-    hidden: true,
-    meta: {
-      title: "收银交班",
-      access: nodes.ShiftOvergetRecordInfo,
-    },
-    component: () => import("@/views/CashierShop/CashierShift"),
-  },
-  {
-    path: "CashierRecord",
-    name: "CashierRecord",
-    noKeepAlive: true,
-    hidden: true,
-    meta: {
-      title: "交班记录",
-      remixIcon: "exchange-box-line",
-      access: nodes.ShiftOver,
-    },
-    component: () => import("@/views/CashierShop/CashierRecord"),
-  },
-  {
-    path: "Cashier",
-    component: Layout,
-    redirect: "/Cashier/CashierList",
-    hidden: true,
-    meta: {
-      title: "收银台",
-      remixIcon: "airplay-fill",
-    },
-    children: [
-      {
-        path: "CashierList",
-        name: "CashierList",
-        meta: {
-          title: "收银台设置",
-          remixIcon: "settings-5-line",
-          access: nodes.cashierSet,
-        },
-        component: () => import("@/views/Cashier/CashierList"),
-      },
-      {
-        path: "Cashier",
-        name: "Cashier",
-        meta: {
-          title: "收银员",
-          remixIcon: "user-2-line",
-          access: nodes.Cashiers,
-        },
-        component: () => import("@/views/Cashier/Cashier"),
-      },
-      {
-        path: "ShoppingGuide",
-        name: "ShoppingGuide",
-        meta: {
-          title: "导购员",
-          remixIcon: "user-heart-line",
-          access: nodes.ShoppingGuide,
-        },
-        component: () => import("@/views/Cashier/ShoppingGuide"),
-      },
-      {
-        path: "/order/saleO/CashierOrder",
-        name: "CashierOrder",
-        meta: {
-          title: "收银台订单",
-          access: nodes.saleOrderList,
-          remixIcon: "bill-line",
-        },
-        component: () => import("@/views/order/saleO/SaleOrderList"),
-      },
-      {
-        path: "Withdrawal",
-        name: "Withdrawal",
-        meta: {
-          title: "提成明细",
-          remixIcon: "file-list-3-line",
-          access: nodes.Withdrawal,
-        },
-        component: () => import("@/views/Cashier/Withdrawal"),
-      },
-      {
-        path: "Commission",
-        name: "Commission",
-        meta: {
-          title: "提成统计",
-          remixIcon: "exchange-funds-line",
-          access: nodes.Commission,
-        },
-        component: () => import("@/views/Cashier/Commission"),
-      },
-      {
-        path: "ShiftOver",
-        name: "ShiftOver",
-        meta: {
-          title: "交班记录",
-          remixIcon: "exchange-box-line",
-          access: nodes.ShiftOver,
-        },
-        component: () => import("@/views/Cashier/ShiftOver"),
-      },
-      {
-        path: "ShiftOverGetAll/:id",
-        name: "ShiftOverGetAll",
-        hidden: true,
-        meta: {
-          title: "交班详情",
-          access: nodes.ShiftOvergetRecordInfo,
-        },
-        component: () => import("@/views/Cashier/ShiftOverGetAll"),
-      },
-      {
-        path: "EditCashier/:id",
-        name: "EditCashier",
-        hidden: true,
-        meta: {
-          title: "编辑收银员",
-          access: nodes.CashiersupdateStaff,
-        },
-        component: () => import("@/views/Cashier/EditCashier"),
-      },
-    ],
-  },
-  {
-    path: "/Merchants",
-    redirect: "/Merchants/MerchartsList",
-    component: Layout,
-    hidden: true,
-    meta: {
-      title: "多商户",
-      remixIcon: "airplay-fill",
-    },
-    children: [
-      {
-        path: "MerchartsList",
-        name: "MerchartsList",
-        meta: {
-          title: "商户管理",
-          remixIcon: "store-2-line",
-          access: nodes.MerchartsList,
-        },
-        component: () => import("@/views/Merchants/MerchartsList"),
-      },
-      {
-        path: "Merchants",
-        name: "Merchants",
-        meta: {
-          title: "入驻申请",
-          remixIcon: "store-2-line",
-        },
-        component: () => import("@/views/Merchants/Merchants"),
-      },
-      {
-        path: "ApplyMerchantsInfo/:id",
-        name: "ApplyMerchantsInfo",
-        meta: {
-          title: "入驻详情",
-          remixIcon: "store-2-line",
-        },
-        component: () => import("@/views/Merchants/ApplyMerchantsInfo"),
-      },
-      {
-        path: "MerchantsGroup",
-        name: "MerchantsGroup",
-        meta: {
-          title: "商户分组",
-          remixIcon: "money-cny-circle-line",
-        },
-        component: () => import("@/views/Merchants/MerchantsGroup"),
-      },
-      {
-        path: "MerchantsBin",
-        name: "MerchantsBin",
-        meta: {
-          title: "回收站",
-          remixIcon: "store-2-line",
-        },
-        component: () => import("@/views/Merchants/MerchantsBin"),
-      },
-      {
-        path: "AddMerchants",
-        name: "AddMerchants",
-        meta: {
-          title: "添加商户",
-          remixIcon: "money-cny-circle-line",
-        },
-        component: () => import("@/views/Merchants/AddMerchants"),
-      },
-      {
-        path: "EditMerchants",
-        name: "EditMerchants",
-        meta: {
-          title: "编辑商户",
-          remixIcon: "money-cny-circle-line",
-        },
-        component: () => import("@/views/Merchants/AddMerchants"),
-      },
-      {
-        path: "AddMerchantsInfo/:length",
-        name: "AddMerchantsInfo",
-        meta: {
-          title: "增购详情",
-          remixIcon: "money-cny-circle-line",
-        },
-        component: () => import("@/views/Merchants/AddMerchantsInfo"),
-      },
-      {
-        path: "MerchantsInfo/:id",
-        name: "MerchantsInfo",
-        meta: {
-          title: "商户详情",
-          remixIcon: "store-2-line",
-        },
-        component: () => import("@/views/Merchants/MerchantsInfo"),
-      },
-      {
-        path: "MerchartsShop",
-        name: "MerchartsShop",
-        meta: {
-          title: "商户商品",
-          remixIcon: "shopping-bag-line",
-          access: nodes.MerchartsGoods,
-        },
-        component: () => import("@/views/Merchants/MerchartsShop"),
-      },
-      {
-        path: "MerchantsExamine",
-        name: "MerchantsExamine",
-        meta: {
-          title: "待审核商品",
-          remixIcon: "shopping-bag-line",
-        },
-        component: () => import("@/views/Merchants/MerchantsExamine"),
-      },
-      {
-        path: "MerchantsOverview",
-        name: "MerchantsOverview",
-        meta: {
-          title: "商户概览",
-          remixIcon: "funds-box-line",
-        },
-        component: () => import("@/views/Merchants/MerchantsOverview"),
-      },
-      {
-        path: "MerchantsOrder",
-        name: "MerchantsOrder",
-        meta: {
-          title: "商户订单",
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/Merchants/MerchantsOrder"),
-      },
-      {
-        path: "SafeguardingOrder",
-        name: "SafeguardingOrder",
-        meta: {
-          title: "维权订单",
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/Merchants/SafeguardingOrder"),
-      },
-      {
-        path: "MerchantsSettlement",
-        name: "MerchantsSettlement",
-        meta: {
-          title: "结算管理",
-          remixIcon: "secure-payment-line",
-          access: nodes.MerchantsSettlement,
-        },
-        component: () => import("@/views/Merchants/Settlement"),
-      },
-      {
-        path: "MerchantsBasicsSet",
-        name: "MerchantsBasicsSet",
-        meta: {
-          title: "基础设置",
-          remixIcon: "settings-4-line",
-          access: nodes.MerchantsSettlementMerchantsBasicsSet,
-        },
-        component: () => import("@/views/Merchants/MerchantsBasicsSet"),
-      },
-      {
-        path: "MerchantsInSet",
-        name: "MerchantsInSet",
-        meta: {
-          title: "入驻设置",
-          remixIcon: "settings-4-line",
-        },
-        component: () => import("@/views/Merchants/MerchantsInSet"),
-      },
-      {
-        path: "MerchantsListSet",
-        name: "MerchantsListSet",
-        meta: {
-          title: "商户列表",
-          remixIcon: "settings-4-line",
-        },
-        component: () => import("@/views/Merchants/MerchantsListSet"),
-      },
-    ],
-  },
-  {
-    path: "/Multistore",
-    redirect: "/Multistore/StoreList",
-    component: Layout,
-    hidden: true,
-    meta: {
-      title: "多门店",
-      remixIcon: "store-2-line",
-    },
-    children: [
-      {
-        path: "StoreList",
-        name: "StoreList",
-        meta: {
-          title: "门店管理",
-          access: nodes.Multistore_MultistoreList,
-          remixIcon: "store-3-line",
-        },
-        component: () => import("@/views/Multistore/store/StoreList"),
-      },
-      {
-        path: "AddStore",
-        name: "AddStore",
-        meta: {
-          title: "创建店铺",
-          access: nodes.MultistoreList_AddStore,
-          remixIcon: "store-3-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/liansuoguanli/AddShop.vue"),
-      },
-      {
-        path: "shopAdministration",
-        name: "shopAdministration",
-        meta: {
-          title: "商品管理",
-          access: nodes.MultistoreList_shopGoodsManage,
-        },
-        component: () => import("@/views/Multistore/store/shopAdministration"),
-      },
-      {
-        path: "StoreShopowner",
-        name: "StoreShopowner",
-        meta: {
-          title: "门店店长",
-          access: nodes.MultistoreList_shopManager,
-        },
-        component: () => import("@/views/Multistore/store/StoreShopowner"),
-      },
-      // {
-      //   path: "lookGoods",
-      //   name: "lookGoods",
-      //   meta: {
-      //     title: "查看商品",
-      //   },
-      //   component: () => import("@/views/Multistore/store/lookGoods"),
-      // },
-      {
-        path: "GoodsList",
-        name: "GoodsList",
-        meta: {
-          title: "商品管理",
-          remixIcon: "shopping-bag-line",
-        },
-        component: () => import("@/views/Multistore/goods/GoodsList"),
-      },
-      {
-        path: "StoreData",
-        name: "StoreData",
-        meta: {
-          title: "门店数据",
-          remixIcon: "computer-line",
-        },
-        component: () => import("@/views/Multistore/statistics/StoreData"),
-      },
-      {
-        path: "EditStoreData",
-        name: "EditStoreData",
-        meta: {
-          title: "数据详情",
-        },
-        component: () => import("@/views/Multistore/statistics/EditStoreData"),
-      },
-      {
-        path: "StoreSet",
-        name: "StoreSet",
-        meta: {
-          access: nodes.Multistore_StoreSet,
-          title: "功能设置",
-          remixIcon: "settings-4-line",
-        },
-        component: () => import("@/views/Multistore/settings/StoreSet"),
-      },
-    ],
-  },
-  {
-    path: "/SingleStore",
-    redirect: "/SingleStore/goods",
-    component: Layout,
-    hidden: true,
-    meta: {
-      title: "单门店",
-      remixIcon: "store-2-line",
-    },
-    children: [
-      {
-        path: "goods/GoodsAdministration",
-        name: "GoodsAdministration",
-        meta: {
-          title: "商品管理",
-          remixIcon: "apps-line",
-        },
-        component: () =>
-          import("@/views/SingleStore/Goods/GoodsAdministration"),
-      },
-      {
-        path: "goods/GoodsData",
-        name: "GoodsData",
-        meta: {
-          title: "商品资料",
-          remixIcon: "apps-line",
-        },
-        component: () => import("@/views/goods/manageG/BaseDataList"),
-      },
-      // 价格管理
-      {
-        path: "sale/priceTable",
-        name: "StorePriceTable",
-        meta: {
-          title: "价格管理",
-          remixIcon: "bookmark-3-line",
-        },
-        component: () => import("@/views/goods/sale/PriceTable"),
-      },
-      {
-        path: "goods/priceAdjust",
-        name: "priceAdjust",
-        meta: {
-          title: "商品调价单",
-          remixIcon: "bookmark-3-line",
-        },
-        component: () => import("@/views/goods/sale/AdjustPrice"),
-      },
-      {
-        path: "goods/priceAdjustCustomer",
-        name: "priceAdjustCustomer",
-        meta: {
-          title: "客户调价",
-          remixIcon: "bookmark-3-line",
-        },
-        component: () => import("@/views/goods/sale/CostumeAdjustPrice"),
-      },
-      {
-        path: "goods/priceAdjustCustomerType",
-        name: "priceAdjustCustomerType",
-        meta: {
-          title: "客户类型调价",
-          remixIcon: "bookmark-3-line",
-        },
-        component: () => import("@/views/goods/sale/CustomerTypeAdjustPrice"),
-      },
-      // 订单
-      {
-        path: "order/OrderList/all",
-        name: "OrderListAll",
-        meta: {
-          title: "全部订单",
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/SingleStore/order/OrderList"),
-      },
-      {
-        path: "order/OrderList/waitAudit",
-        name: "OrderListWaitAudit",
-        meta: {
-          title: "待审核",
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/SingleStore/order/OrderList"),
-      },
-      {
-        path: "order/OrderList/waitOutStock",
-        name: "OrderListWaitOutStock",
-        meta: {
-          title: "待发货",
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/SingleStore/order/OrderList"),
-      },
-      {
-        path: "order/OrderList/hasOutStock",
-        name: "OrderListHasOutStock",
-        meta: {
-          title: "待收货",
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/SingleStore/order/OrderList"),
-      },
-      {
-        path: "order/OrderList/finish",
-        name: "OrderListFinish",
-        meta: {
-          title: "已完成",
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/SingleStore/order/OrderList"),
-      },
-      {
-        path: "order/OrderList/close",
-        name: "OrderListClose",
-        meta: {
-          title: "已关闭",
-          remixIcon: "list-unordered",
-        },
-        component: () => import("@/views/SingleStore/order/OrderList"),
-      },
-      {
-        path: "order/StoreOrderAdd",
-        name: "StoreOrderAdd",
-        meta: {
-          title: "代客下单",
-          remixIcon: "edit-circle-line",
-        },
-        component: () => import("@/views/order/manageO/OrderAdd"),
-      },
-      {
-        path: "order/ReturnOrder",
-        name: "ReturnOrder",
-        meta: {
-          title: "退货单",
-          remixIcon: "logout-circle-line",
-        },
-        component: () => import("@/views/SingleStore/order/ReturnOrder"),
-      },
-      //客户
-      {
-        path: "Customer/StoreCustomer",
-        name: "StoreCustomer",
-        meta: {
-          title: "客户列表",
-          remixIcon: "user-3-line",
-        },
-        component: () =>
-          import("@/views/Customer/CustomerAdmin/CustomerList.vue"),
-      },
-      //设置
-      {
-        path: "storeSet/StoreDetail",
-        name: "StoreDetail",
-        meta: {
-          title: "门店信息",
-          remixIcon: "list-settings-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/liansuoguanli/AddShop.vue"),
-      },
-      // 员工管理
-      {
-        path: "staffSet/StaffList",
-        name: "StaffList",
-        meta: {
-          title: "员工列表",
-          remixIcon: "user-5-line",
-        },
-        component: () =>
-          import("@/views/SystemSettings/accountAdmin/Staff.vue"),
-      },
-      {
-        path: "staffSet/RoleList",
-        name: "RoleList",
-        meta: {
-          title: "角色管理",
-          remixIcon: "shield-user-line",
-        },
-        component: () => import("@/views/SystemSettings/accountAdmin/Role.vue"),
-      },
-      //  库存
-      {
-        path: "Inventory/InventoryOut",
-        name: "InventoryOut",
-        meta: {
-          title: "出库管理",
-          access: nodes.InventoryOut,
-          remixIcon: "home-gear-line",
-        },
-        component: () => import("@/views/stock/OutIn/outgoing"),
-      },
-      {
-        path: "Inventory/InventoryIn",
-        name: "InventoryIn",
-        meta: {
-          title: "入库管理",
-          access: nodes.InventoryIn,
-          remixIcon: "home-gear-line",
-        },
-        component: () => import("@/views/stock/OutIn/storage"),
-      },
+			{
+				path: "Inventory/InventoryQuery",
+				name: "InventoryQuery",
+				meta: {
+					title: "库存查询",
+					access: nodes.query,
+					remixIcon: "home-gear-line",
+				},
+				component: () => import("@/views/stock/WarehouseAdmin/query"),
+			},
+			{
+				path: "Inventory/InventoryFlowing",
+				name: "InventoryFlowing",
+				meta: {
+					title: "库存流水",
+					access: nodes.flowing,
+					remixIcon: "home-gear-line",
+				},
+				component: () => import("@/views/stock/WarehouseAdmin/flowing"),
+			},
+			{
+				path: "Inventory/InventoryBatch",
+				name: "InventoryBatch",
+				meta: {
+					title: "批次流水",
+					access: nodes.Batch,
+					remixIcon: "home-gear-line",
+				},
+				component: () => import("@/views/stock/WarehouseAdmin/Batch"),
+			},
+			{
+				path: "Inventory/InventoryShelfLife",
+				name: "InventoryShelfLife",
+				meta: {
+					title: "保质期查询",
+					access: nodes.GetBatch,
+					remixIcon: "home-gear-line",
+				},
+				component: () => import("@/views/stock/WarehouseAdmin/ShelfLife"),
+			},
 
-      {
-        path: "Inventory/InventoryQuery",
-        name: "InventoryQuery",
-        meta: {
-          title: "库存查询",
-          access: nodes.query,
-          remixIcon: "home-gear-line",
-        },
-        component: () => import("@/views/stock/WarehouseAdmin/query"),
-      },
-      {
-        path: "Inventory/InventoryFlowing",
-        name: "InventoryFlowing",
-        meta: {
-          title: "库存流水",
-          access: nodes.flowing,
-          remixIcon: "home-gear-line",
-        },
-        component: () => import("@/views/stock/WarehouseAdmin/flowing"),
-      },
-      {
-        path: "Inventory/InventoryBatch",
-        name: "InventoryBatch",
-        meta: {
-          title: "批次流水",
-          access: nodes.Batch,
-          remixIcon: "home-gear-line",
-        },
-        component: () => import("@/views/stock/WarehouseAdmin/Batch"),
-      },
-      {
-        path: "Inventory/InventoryShelfLife",
-        name: "InventoryShelfLife",
-        meta: {
-          title: "保质期查询",
-          access: nodes.GetBatch,
-          remixIcon: "home-gear-line",
-        },
-        component: () => import("@/views/stock/WarehouseAdmin/ShelfLife"),
-      },
-
-      {
-        path: "Inventory/InventoryManagement",
-        name: "InventoryManagement",
-        meta: {
-          title: "仓库管理",
-          access: nodes.management,
-          remixIcon: "home-6-line",
-        },
-        component: () => import("@/views/stock/WarehouseManagement/Management"),
-      },
-      {
-        path: "Inventory/InventoryCheck",
-        name: "InventoryCheck",
-        meta: {
-          title: "盘点单",
-          access: nodes.inventoryInfo,
-          remixIcon: "home-6-line",
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/inventoryInfo"),
-      },
-      {
-        path: "Inventory/InventoryAllocation",
-        name: "InventoryAllocation",
-        meta: {
-          title: "调拨单",
-          access: nodes.AllocationForm,
-          remixIcon: "home-6-line",
-        },
-        component: () =>
-          import("@/views/stock/WarehouseManagement/AllocationForm.vue"),
-      },
-      // 采购
-      {
-        path: "purchase/purchaseList",
-        name: "purchaseList",
-        meta: {
-          title: "采购单",
-          access: nodes.PurchaseOrder,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/PurchaseOrder"),
-      },
-      {
-        path: "purchase/purchaseReturnList",
-        name: "purchaseReturnList",
-        meta: {
-          title: "采购退货单",
-          access: nodes.PurchaseReturnOrder,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/PurchaseReturnOrder"),
-      },
-      {
-        path: "purchase/purchaseDetailInfo",
-        name: "purchaseDetailInfo",
-        meta: {
-          title: "采购明细",
-          access: nodes.PurchaseDetail,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/PurchaseDetail"),
-      },
-      {
-        path: "purchase/SupplierList",
-        name: "SupplierList",
-        meta: {
-          title: "供应商管理",
-          access: nodes.Supplier,
-          remixIcon: "shopping-cart-line",
-        },
-        component: () => import("@/views/Purchase/ManageP/Supplier"),
-      },
-    ],
-  },
-  {
-    path: "/settlement",
-    redirect: "/settlement/settlementData",
-    component: Layout,
-    meta: {
-      title: "结算",
-      remixIcon: "money-cny-circle-line",
-    },
-    children: [
-      {
-        path: "SettlementData",
-        name: "SettlementData",
-        meta: {
-          title: "结算概览",
-          remixIcon: "mac-line",
-        },
-        component: () => import("@/viewsMerch/settlement/index.vue"),
-      },
-      {
-        path: "SettlementManage",
-        name: "SettlementManage",
-        meta: {
-          title: "结算管理",
-          remixIcon: "align-bottom",
-        },
-        component: () => import("@/viewsMerch/settlement/SettlementManage.vue"),
-      },
-      {
-        path: "SettlementDetail",
-        name: "SettlementDetail",
-        meta: {
-          title: "结算详情",
-          remixIcon: "align-bottom",
-        },
-        component: () => import("@/viewsMerch/settlement/SettlementDetail.vue"),
-      },
-    ],
-  },
-  {
-    path: "/Supplier",
-    redirect: "/Supplier/supplierSet",
-    component: Layout,
-    meta: {
-      title: "供应商管理端",
-      remixIcon: "award-line",
-    },
-    children: [
-      {
-        path: "supplierSet",
-        name: "supplierSet",
-        meta: {
-          title: "设置",
-          remixIcon: "award-line",
-          access: nodes.supplierManage_supplierSet,
-        },
-        component: () => import("@/views/Supplier/supplierSet"),
-      },
-      {
-        path: "offerSet",
-        name: "offerSet",
-        meta: {
-          title: "报价单管理",
-          remixIcon: "bill-line",
-          access: nodes.supplierManage_offerSet,
-        },
-        component: () => import("@/views/Supplier/offerSet"),
-      },
-      {
-        path: "offerSetInfo",
-        name: "offerSetInfo",
-        meta: {
-          title: "报价单管理",
-          remixIcon: "mac-line",
-          access: nodes.supplierManage_offerSet,
-        },
-        component: () => import("@/views/Supplier/offerSetInfo"),
-      },
-      {
-        path: "settlement",
-        name: "settlement",
-        meta: {
-          title: "结算管理",
-          access: nodes.supplierManage_SupplierSettlement,
-          remixIcon: "calendar-todo-line",
-        },
-        component: () => import("@/views/Supplier/settlement"),
-      },
-    ],
-  },
+			{
+				path: "Inventory/InventoryManagement",
+				name: "InventoryManagement",
+				meta: {
+					title: "仓库管理",
+					access: nodes.management,
+					remixIcon: "home-6-line",
+				},
+				component: () => import("@/views/stock/WarehouseManagement/Management"),
+			},
+			{
+				path: "Inventory/InventoryCheck",
+				name: "InventoryCheck",
+				meta: {
+					title: "盘点单",
+					access: nodes.inventoryInfo,
+					remixIcon: "home-6-line",
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/inventoryInfo"),
+			},
+			{
+				path: "Inventory/InventoryAllocation",
+				name: "InventoryAllocation",
+				meta: {
+					title: "调拨单",
+					access: nodes.AllocationForm,
+					remixIcon: "home-6-line",
+				},
+				component: () =>
+					import("@/views/stock/WarehouseManagement/AllocationForm.vue"),
+			},
+			// 采购
+			{
+				path: "purchase/purchaseList",
+				name: "purchaseList",
+				meta: {
+					title: "采购单",
+					access: nodes.PurchaseOrder,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/PurchaseOrder"),
+			},
+			{
+				path: "purchase/purchaseReturnList",
+				name: "purchaseReturnList",
+				meta: {
+					title: "采购退货单",
+					access: nodes.PurchaseReturnOrder,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/PurchaseReturnOrder"),
+			},
+			{
+				path: "purchase/purchaseDetailInfo",
+				name: "purchaseDetailInfo",
+				meta: {
+					title: "采购明细",
+					access: nodes.PurchaseDetail,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/PurchaseDetail"),
+			},
+			
+			{
+				path: "purchase/SupplierList",
+				name: "SupplierList",
+				meta: {
+					title: "供应商管理",
+					access: nodes.Supplier,
+					remixIcon: "shopping-cart-line",
+				},
+				component: () => import("@/views/Purchase/ManageP/Supplier"),
+			},
+		],
+	},
+	{
+		path: "/settlement",
+		redirect: "/settlement/settlementData",
+		component: Layout,
+		meta: {
+			title: "结算",
+			remixIcon: "money-cny-circle-line",
+		},
+		children: [{
+				path: "SettlementData",
+				name: "SettlementData",
+				meta: {
+					title: "结算概览",
+					remixIcon: "mac-line",
+				},
+				component: () => import("@/viewsMerch/settlement/index.vue"),
+			},
+			{
+				path: "SettlementManage",
+				name: "SettlementManage",
+				meta: {
+					title: "结算管理",
+					remixIcon: "align-bottom",
+				},
+				component: () => import("@/viewsMerch/settlement/SettlementManage.vue"),
+			},
+			{
+				path: "SettlementDetail",
+				name: "SettlementDetail",
+				meta: {
+					title: "结算详情",
+					remixIcon: "align-bottom",
+				},
+				component: () => import("@/viewsMerch/settlement/SettlementDetail.vue"),
+			},
+		],
+	},
+	{
+		path: "/Supplier",
+		redirect: "/Supplier/supplierSet",
+		component: Layout,
+		meta: {
+			title: "供应商管理端",
+			remixIcon: "award-line",
+		},
+		children: [{
+				path: "supplierSet",
+				name: "supplierSet",
+				meta: {
+					title: "设置",
+					remixIcon: "award-line",
+					access: nodes.supplierManage_supplierSet,
+				},
+				component: () => import("@/views/Supplier/supplierSet"),
+			},
+			{
+				path: "offerSet",
+				name: "offerSet",
+				meta: {
+					title: "报价单管理",
+					remixIcon: "bill-line",
+					access: nodes.supplierManage_offerSet,
+				},
+				component: () => import("@/views/Supplier/offerSet"),
+			},
+			{
+				path: "offerSetInfo",
+				name: "offerSetInfo",
+				meta: {
+					title: "报价单管理",
+					remixIcon: "mac-line",
+					access: nodes.supplierManage_offerSet,
+				},
+				component: () => import("@/views/Supplier/offerSetInfo"),
+			},
+			{
+				path: "settlement",
+				name: "settlement",
+				meta: {
+					title: "结算管理",
+					access: nodes.supplierManage_SupplierSettlement,
+					remixIcon: "calendar-todo-line",
+				},
+				component: () => import("@/views/Supplier/settlement"),
+			},
+		],
+	},
 ];
 
 const router = new VueRouter({
-  base: publicPath,
-  mode: routerMode,
-  scrollBehavior: () => ({
-    y: 0,
-  }),
-  routes: constantRoutes,
+	base: publicPath,
+	mode: routerMode,
+	scrollBehavior: () => ({
+		y: 0,
+	}),
+	routes: constantRoutes,
 });
 
 const originalPush = VueRouter.prototype.push;
 VueRouter.prototype.push = function push(location, onResolve, onReject) {
-  if (onResolve || onReject)
-    return originalPush.call(this, location, onResolve, onReject);
-  return originalPush.call(this, location).catch((err) => err);
+	if (onResolve || onReject)
+		return originalPush.call(this, location, onResolve, onReject);
+	return originalPush.call(this, location).catch((err) => err);
 };
 
 export function resetRouter() {
-  router.matcher = new VueRouter({
-    base: publicPath,
-    mode: routerMode,
-    scrollBehavior: () => ({
-      y: 0,
-    }),
-    routes: constantRoutes,
-  }).matcher;
+	router.matcher = new VueRouter({
+		base: publicPath,
+		mode: routerMode,
+		scrollBehavior: () => ({
+			y: 0,
+		}),
+		routes: constantRoutes,
+	}).matcher;
 }
 export default router;

+ 150 - 125
src/utils/request.js

@@ -1,21 +1,26 @@
 import Vue from "vue";
 import axios from "axios";
 import {
-  baseURL,
-  contentType,
-  debounce,
-  invalidCode,
-  noRoleCode,
-  requestTimeout,
-  successCode,
-  tokenName,
-  title,
+	baseURL,
+	contentType,
+	debounce,
+	invalidCode,
+	noRoleCode,
+	requestTimeout,
+	successCode,
+	tokenName,
+	title,
 } from "@/config/settings";
 import store from "@/store";
 import qs from "qs";
 import router from "@/router";
-import { isArray } from "@/utils/validate";
-import { getEnToken } from "@/utils/accessToken";
+import {
+	isArray,
+	isUpperCase
+} from "@/utils/validate";
+import {
+	getEnToken
+} from "@/utils/accessToken";
 let loadingInstance;
 
 /**
@@ -24,19 +29,21 @@ let loadingInstance;
  * @param {*} msg
  */
 const handleCode = (code, msg) => {
-  Vue.prototype.$baseColorfullLoading().close();
-  switch (code) {
-    case invalidCode:
-      Vue.prototype.$baseMessage(msg || `后端接口${code}异常`, "error");
-      store.dispatch("user/resetAll").catch(() => {});
-      break;
-    case noRoleCode:
-      router.push({ path: "/401" }).catch(() => {});
-      break;
-    default:
-      Vue.prototype.$baseMessage(msg || `后端接口${code}异常`, "error");
-      break;
-  }
+	Vue.prototype.$baseColorfullLoading().close();
+	switch (code) {
+		case invalidCode:
+			Vue.prototype.$baseMessage(msg || `后端接口${code}异常`, "error");
+			store.dispatch("user/resetAll").catch(() => {});
+			break;
+		case noRoleCode:
+			router.push({
+				path: "/401"
+			}).catch(() => {});
+			break;
+		default:
+			Vue.prototype.$baseMessage(msg || `后端接口${code}异常`, "error");
+			break;
+	}
 };
 
 /**
@@ -44,12 +51,12 @@ const handleCode = (code, msg) => {
  * @description axios初始化
  */
 const instance = axios.create({
-  baseURL,
-  timeout: requestTimeout,
-  // responseType: "arraybuffer",
-  headers: {
-    "Content-Type": contentType,
-  },
+	baseURL,
+	timeout: requestTimeout,
+	// responseType: "arraybuffer",
+	headers: {
+		"Content-Type": contentType,
+	},
 });
 
 /**
@@ -57,29 +64,33 @@ const instance = axios.create({
  * @description axios请求拦截器
  */
 instance.interceptors.request.use(
-  (config) => {
-    if (store.getters["user/accessToken"])
-      config.headers[tokenName] = store.getters["user/accessToken"];
-    if (getEnToken()) {
-      config.headers.Token = getEnToken();
-    }
-    if (store.getters["MUser/systemType"] === 2) {
-      config.headers["SHOP-TOKEN"] =
-        store.getters["MUser/storeData"].token || "";
-    }
-    if (
-      config.data &&
-      config.headers["Content-Type"] ===
-        "application/x-www-form-urlencoded;charset=UTF-8"
-    )
-      config.data = qs.stringify(config.data);
-    if (debounce.some((item) => config.url.includes(item)))
-      loadingInstance = Vue.prototype.$baseLoading();
-    return config;
-  },
-  (error) => {
-    return Promise.reject(error);
-  }
+	(config) => {
+		if (store.getters["user/accessToken"])
+			config.headers[tokenName] = store.getters["user/accessToken"];
+		if (getEnToken()) {
+			config.headers.Token = getEnToken();
+		}
+		if (store.getters["MUser/systemType"] === 2) {
+			config.headers["SHOP-TOKEN"] =
+				store.getters["MUser/storeData"].token || "";
+		}
+		if (
+			config.data &&
+			config.headers["Content-Type"] ===
+			"application/x-www-form-urlencoded;charset=UTF-8"
+		)
+		config.data = qs.stringify(config.data);
+		// // console.log(isUpperCase(config.method),config.method,config.data,'qq')
+		// if (isUpperCase(config.method) ? config.method === "GET" : config.method === "get") {
+		// 	config.params = config.data
+		// }
+		if (debounce.some((item) => config.url.includes(item)))
+			loadingInstance = Vue.prototype.$baseLoading();
+		return config;
+	},
+	(error) => {
+		return Promise.reject(error);
+	}
 );
 
 /**
@@ -87,78 +98,92 @@ instance.interceptors.request.use(
  * @description axios响应拦截器
  */
 instance.interceptors.response.use(
-  (response) => {
-    // console.log(response);
-    if (loadingInstance) loadingInstance.close();
-    const { data, config } = response;
-    if (data.errorcode >= 0) {
-      const code = data.errorcode;
-      const msg = data.data;
-      // 操作正常Code数组
-      const codeVerificationArray = isArray(successCode)
-        ? [...successCode]
-        : [...[successCode]];
-      // 是否操作正常
-      if (codeVerificationArray.includes(code)) {
-        return data;
-      } else {
-        handleCode(code, msg);
-        return Promise.reject(
-          title +
-            "请求异常拦截:" +
-            JSON.stringify({ url: config.url, code, msg }) || "Error"
-        );
-      }
-    } else if (data.size) {
-      /*
-       * 导出
-       * */
-      // 时间戳
-      let fileName = Date.parse(new Date()) + ".csv";
-      // 创建a标签
-      let link = document.createElement("a");
-      // 打开url
-      // link.href = window.URL.createObjectURL(data);
-      link.href = window.URL.createObjectURL(
-        new Blob([data], {
-          type:
-            "application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
-        })
-      );
-      // 下载
-      link.download = fileName;
-      link.click();
-      // 释放内存
-      window.URL.revokeObjectURL(link.href);
-      return data;
-    }
-  },
-  (error) => {
-    if (loadingInstance) loadingInstance.close();
-    const { response, message } = error;
-    if (error.response && error.response.data) {
-      const { status, data } = response;
-      handleCode(status, data.msg || message);
-      return Promise.reject(error);
-    } else {
-      let { message } = error;
-      if (message === "Network Error") {
-        message = "后端接口连接异常";
-      }
-      if (message.includes("timeout")) {
-        message = "-1";
-        // message = "后端接口请求超时";
-      }
-      if (message.includes("Request failed with status code")) {
-        const code = message.substr(message.length - 3);
-        message = "后端接口" + code + "异常";
-      }
-      if (message !== "-1") {
-        Vue.prototype.$baseMessage(message || `后端接口未知异常`, "error");
-      }
-      return Promise.reject(error);
-    }
-  }
+	(response) => {
+		// console.log(response);
+		if (loadingInstance) loadingInstance.close();
+		const {
+			data,
+			config
+		} = response;
+		if (data.errorcode >= 0) {
+			const code = data.errorcode;
+			const msg = data.data;
+			// 操作正常Code数组
+			const codeVerificationArray = isArray(successCode) ?
+				[...successCode] :
+				[...[successCode]];
+			// 是否操作正常
+			if (codeVerificationArray.includes(code)) {
+				return data;
+			} else {
+				handleCode(code, msg);
+				return Promise.reject(
+					title +
+					"请求异常拦截:" +
+					JSON.stringify({
+						url: config.url,
+						code,
+						msg
+					}) || "Error"
+				);
+			}
+		} else if (data.size) {
+			/*
+			 * 导出
+			 * */
+			// 时间戳
+			let fileName = Date.parse(new Date()) + ".csv";
+			// 创建a标签
+			let link = document.createElement("a");
+			// 打开url
+			// link.href = window.URL.createObjectURL(data);
+			link.href = window.URL.createObjectURL(
+				new Blob([data], {
+					type: "application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+				})
+			);
+			// 下载
+			link.download = fileName;
+			link.click();
+			// 释放内存
+			window.URL.revokeObjectURL(link.href);
+			return data;
+		}
+	},
+	(error) => {
+		if (loadingInstance) loadingInstance.close();
+		const {
+			response,
+			message
+		} = error;
+		if (error.response && error.response.data) {
+			const {
+				status,
+				data
+			} = response;
+			handleCode(status, data.msg || message);
+			return Promise.reject(error);
+		} else {
+			let {
+				message
+			} = error;
+			if (message === "Network Error") {
+				message = "后端接口连接异常";
+			}
+			if (message.includes("timeout")) {
+				message = "-1";
+				// message = "后端接口请求超时";
+			}
+			if (message.includes("Request failed with status code")) {
+				const code = message.substr(message.length - 3);
+				message = "后端接口" + code + "异常";
+			}
+			if (message !== "-1") {
+				Vue.prototype.$baseMessage(message || `后端接口未知异常`, "error");
+			}
+			return Promise.reject(error);
+		}
+	}
 );
 
 export default instance;

+ 1 - 0
src/vab/components/Breadcrumb/index.vue

@@ -30,6 +30,7 @@
     },
     methods: {
       getBreadcrumb() {
+				// console.log(this.$route.matched.filter((item) => item.meta.title),'路径')
         return this.$route.matched.filter((item) => item.meta.title);
         // return this.$route.matched.filter(
         //   (item) => item.name && item.meta.title

+ 2 - 2
src/vab/components/GalleryBar/index.vue

@@ -110,7 +110,7 @@
 				return path;
 			},
 			menuList() {
-				console.log(this.systemType,'ml')
+				// console.log(this.systemType,'ml')
 				if (this.systemType === 2) {
 					return storeMenus();
 				} else if (this.systemType === 3) {
@@ -120,7 +120,7 @@
 				}
 			},
 			handleRoutes() {
-				console.log(this.menuList,'过滤');
+				// console.log(this.menuList,'过滤');
 				return this.menuList.filter(
 					(item) => item.hidden !== true && item.meta
 				);

+ 2401 - 2448
src/vab/components/GalleryBar/menus.js

@@ -1,2461 +1,2414 @@
-import { checkActionAccess } from "@/access/check";
+import {
+	checkActionAccess
+} from "@/access/check";
 import * as nodes from "@/access/node";
 import store from "@/store";
-const menusList = [
-  {
-    path: "/",
-    redirect: "/index",
-    meta: {
-      title: "概况",
-      remixIcon: "mac-line",
-      affix: true,
-    },
-    children: [
-      {
-        path: "/index",
-        name: "Index",
-        noKeepAlive: true,
-        meta: {
-          title: "经营概况",
-          remixIcon: "mac-line",
-          affix: true,
-        },
-        fullPath: "/index",
-      },
-    ],
-    fullPath: "/",
-  },
-  {
-    path: "/goods",
-    redirect: "/goods/manageG/BaseDataList",
-    alwaysShow: true,
-    meta: {
-      title: "商品",
-      remixIcon: "shopping-bag-line",
-    },
-    children: [
-      {
-        path: "/goods/manageG",
-        name: "ManageG",
-        fullPath: "/goods/sale/PublishGoods",
-        meta: {
-          title: "商品管理",
-          remixIcon: "apps-line",
-        },
-        children: [
-          {
-            path: "/goods/sale/PublishGoods",
-            name: "PublishGoods",
-            meta: {
-              title: "商品列表",
-              access: nodes.PublishGoods,
-            },
-            fullPath: "/goods/sale/PublishGoods",
-          },
-          {
-            path: "/goods/manageG/BaseDataList",
-            name: "BaseDataList",
-            meta: {
-              title: "商品资料",
-              access: nodes.BaseDataList,
-            },
-            fullPath: "/goods/manageG/BaseDataList",
-          },
-          {
-            path: "/goods/manageG/GoodsClassify",
-            name: "GoodsClassify",
-            meta: {
-              title: "商品分类",
-              access: nodes.GoodsClassify,
-            },
-            fullPath: "/goods/manageG/GoodsClassify",
-          },
-
-          {
-            path: "/goods/manageG/BrandManage",
-            name: "BrandManage",
-            meta: {
-              title: "商品品牌",
-              access: nodes.BrandManage,
-            },
-            fullPath: "/goods/manageG/BrandManage",
-          },
-          {
-            path: "/goods/manageG/UnitMeasurement",
-            name: "UnitMeasurement",
-            meta: {
-              title: "单位管理",
-              access: nodes.UnitSet,
-            },
-            fullPath: "/goods/manageG/UnitMeasurement",
-          },
-          {
-            path: "/goods/manageG/SpecManage",
-            name: "SpecManage",
-            meta: {
-              title: "属性管理",
-              access: nodes.specManage,
-            },
-            fullPath: "/goods/manageG/SpecManage",
-          },
-          {
-            path: "/goods/goodsemprego/GoodsEmprego",
-            name: "GoodsEmprego",
-            meta: {
-              title: "商品服务",
-              access: nodes.GoodsEmprego,
-            },
-            fullPath: "/goods/goodsemprego/GoodsEmprego",
-          },
-          {
-            path: "/goods/manageG/GoodsGrouping",
-            name: "GoodsGrouping",
-            meta: {
-              title: "商品分组",
-              access: nodes.GoodsGrouping,
-            },
-            fullPath: "/goods/manageG/GoodsGrouping",
-          },
-        ],
-      },
-      {
-        path: "/goods/sale",
-        name: "Sale",
-        fullPath: "/goods/sale/PublishGoods",
-        meta: {
-          title: "商品价格",
-          remixIcon: "bookmark-3-line",
-        },
-        children: [
-          {
-            path: "/goods/sale/PriceTable",
-            name: "PriceTable",
-            meta: {
-              title: "价格表",
-              access: nodes.PriceTable,
-            },
-            fullPath: "/goods/sale/PriceTable",
-          },
-          {
-            path: "/goods/sale/AdjustPriceGoods",
-            name: "AdjustPriceGoods",
-            meta: {
-              title: "调价单",
-              access: nodes.AdjustPrice,
-            },
-            fullPath: "/goods/sale/AdjustPriceGoods",
-          },
-        ],
-      },
-    ],
-    fullPath: "/goods",
-  },
-  {
-    path: "/order",
-    name: "Order",
-    redirect: "/order/manageO/orderQuery",
-    alwaysShow: true,
-    meta: {
-      title: "订单",
-      remixIcon: "file-list-2-line",
-    },
-    children: [
-      {
-        path: "/order/manageO/orderQuery",
-        name: "ManageO",
-        fullPath: "/order/manageO/orderQuery",
-        meta: {
-          title: "订单管理",
-          remixIcon: "list-unordered",
-        },
-        children: [
-          /*{
-            path: "/order/manageO/newOrderList",
-            name: "NewOrderList",
-            meta: {
-              title: "新订单列表",
-              access: nodes.newOrderList,
-            },
-            fullPath: "/order/manageO/newOrderList",
-          },*/
+const menusList = [{
+		path: "/",
+		redirect: "/index",
+		meta: {
+			title: "概况",
+			remixIcon: "mac-line",
+			affix: true,
+		},
+		children: [{
+			path: "/index",
+			name: "Index",
+			noKeepAlive: true,
+			meta: {
+				title: "经营概况",
+				remixIcon: "mac-line",
+				affix: true,
+			},
+			fullPath: "/index",
+		}, ],
+		fullPath: "/",
+	},
+	{
+		path: "/goods",
+		redirect: "/goods/manageG/BaseDataList",
+		alwaysShow: true,
+		meta: {
+			title: "商品",
+			remixIcon: "shopping-bag-line",
+		},
+		children: [{
+				path: "/goods/manageG",
+				name: "ManageG",
+				fullPath: "/goods/sale/PublishGoods",
+				meta: {
+					title: "商品管理",
+					remixIcon: "apps-line",
+				},
+				children: [{
+						path: "/goods/sale/PublishGoods",
+						name: "PublishGoods",
+						meta: {
+							title: "商品列表",
+							access: nodes.PublishGoods,
+						},
+						fullPath: "/goods/sale/PublishGoods",
+					},
+					{
+						path: "/goods/manageG/BaseDataList",
+						name: "BaseDataList",
+						meta: {
+							title: "商品资料",
+							access: nodes.BaseDataList,
+						},
+						fullPath: "/goods/manageG/BaseDataList",
+					},
+					{
+						path: "/goods/manageG/GoodsClassify",
+						name: "GoodsClassify",
+						meta: {
+							title: "商品分类",
+							access: nodes.GoodsClassify,
+						},
+						fullPath: "/goods/manageG/GoodsClassify",
+					},
 
-          {
-            path: "/order/manageO/orderQuery",
-            name: "OrderQuery",
-            meta: {
-              title: "订货单",
-              access: nodes.orderQuery,
-            },
-            fullPath: "/order/manageO/orderQuery",
-          },
-          // {
-          //   path: "/order/manageO/OrderDetails",
-          //   name: "OrderDetails",
-          //   meta: {
-          //     title: "订单详情",
-          //     access: nodes.orderQuery,
-          //   },
-          //   fullPath: "/order/manageO/OrderDetails",
-          // },
-          {
-            path: "/order/manageO/selfOrder?type=2",
-            name: "SelfOrder",
-            meta: {
-              title: "自提单",
-              access: nodes.selfOrder,
-            },
-            fullPath: "/order/manageO/selfOrder?type=2",
-          },
-          {
-            path: "/order/manageO/ReturnWarehousingOrder",
-            name: "ReturnWarehousingOrder",
-            meta: {
-              title: "退货单",
-              access: nodes.ReturnWarehousingOrder,
-            },
-            fullPath: "/order/manageO/ReturnWarehousingOrder",
-          },
-          /*{
-            path: "/order/manageO/CancelOrder",
-            name: "CancelOrder",
-            meta: {
-              title: "已取消",
-              access: nodes.CancelOrder,
-            },
-            fullPath: "/order/manageO/CancelOrder",
-          },*/
-          {
-            path: "/order/manageO/OrderAdd",
-            name: "OrderAdd",
-            meta: {
-              noKeepAlive: true,
-              title: "代客下单",
-              access: nodes.OrderAdd,
-            },
-            fullPath: "/order/manageO/OrderAdd",
-          },
-        ],
-      },
-      /* {
-        path: "/order/saleO",
-        name: "SaleO",
-        fullPath: "/order/saleO/AddSaleOrder",
-        meta: {
-          title: "销售单管理",
-          remixIcon: "bill-line",
-        },
-        children: [
-          {
-            path: "/order/saleO/AddSaleOrder",
-            name: "AddSaleOrder",
-            meta: {
-              title: "创建销售单",
-              access: nodes.addSaleOrder,
-            },
-            fullPath: "/order/saleO/AddSaleOrder",
-          },
-          {
-            path: "/order/saleO/SaleOrderList",
-            name: "SaleOrderList",
-            meta: {
-              title: "销售单列表",
-              access: nodes.saleOrderList,
-            },
-            fullPath: "/order/saleO/SaleOrderList",
-          },
-        ],
-      },*/
-      {
-        path: "/order/SaleTotalForm",
-        name: "SaleTotalForm",
-        fullPath: "/order/SaleTotalForm/GoodsForm",
-        meta: {
-          title: "销售报表",
-          remixIcon: "file-text-line",
-        },
-        children: [
-          {
-            path: "/order/SaleTotalForm/GoodsForm",
-            name: "GoodsForm",
-            meta: {
-              title: "商品汇总表",
-              access: nodes.OrderStatistics,
-            },
-            fullPath: "/order/SaleTotalForm/GoodsForm",
-          },
-          {
-            path: "/order/SaleTotalForm/CustomerForm",
-            name: "CustomerForm",
-            meta: {
-              title: "客户汇总表",
-              access: nodes.OrderStatistics,
-            },
-            fullPath: "/order/SaleTotalForm/CustomerForm",
-          },
-          {
-            path: "/order/SaleTotalForm/StaffForm",
-            name: "StaffForm",
-            meta: {
-              title: "人员汇总表",
-              access: nodes.OrderStatistics,
-            },
-            fullPath: "/order/SaleTotalForm/StaffForm",
-          },
-        ],
-      },
-    ],
-    fullPath: "/order",
-  },
-  {
-    path: "/Customer",
-    name: "Customer",
-    redirect: "/Customer/CustomerAdmin/CustomerList",
-    alwaysShow: true,
-    meta: {
-      title: "客户",
-      remixIcon: "contacts-line",
-    },
-    children: [
-      {
-        path: "/Customer/CustomerAdmin",
-        name: "CustomerAdmin",
-        fullPath: "/Customer/CustomerAdmin/CustomerList",
-        meta: {
-          title: "客户管理",
-          remixIcon: "user-3-line",
-        },
-        children: [
-          {
-            path: "/Customer/CustomerAdmin/CustomerList",
-            name: "CustomerList",
-            meta: {
-              title: "客户列表",
-              access: nodes.CustomerList,
-            },
-            fullPath: "/Customer/CustomerAdmin/CustomerList",
-          },
-          {
-            path: "/Customer/CustomerAdmin/CustomerType",
-            name: "CustomerType",
-            meta: {
-              title: "客户类型",
-              access: nodes.CustomerType,
-            },
-            fullPath: "/Customer/CustomerAdmin/CustomerType",
-          },
-          {
-            path: "/Customer/CustomerAdmin/LabelManagement",
-            name: "LabelManagement",
-            meta: {
-              title: "标签管理",
-              access: nodes.LabelManagement,
-            },
-            fullPath: "/Customer/CustomerAdmin/LabelManagement",
-          },
-          // {
-          //   path: "/Customer/CustomerAdmin/CustomerQuery",
-          //   name: "CustomerQuery",
-          //   meta: {
-          //     title: "客户查询",
-          //     access: nodes.CustomerQuery,
-          //   },
-          //   fullPath: "/Customer/CustomerAdmin/CustomerQuery",
-          // },
-        ],
-      },
-      {
-        path: "/Customer/CustomerCheck",
-        name: "CustomerCheck",
-        fullPath: "/Customer/CustomerCheck/NotCheck",
-        meta: {
-          title: "客户审核",
-          remixIcon: "shield-user-line",
-        },
-        children: [
-          {
-            path: "/Customer/CustomerCheck/NotCheck",
-            name: "NotCheck",
-            meta: {
-              title: "未审核",
-              access: nodes.NotCheck,
-            },
-            fullPath: "/Customer/CustomerCheck/NotCheck",
-          },
-          {
-            path: "/Customer/CustomerCheck/noPerfectData",
-            name: "NoPerfectData",
-            meta: {
-              title: "待完善资料",
-              access: nodes.getAuditAllCustomer,
-            },
-            fullPath: "/Customer/CustomerCheck/noPerfectData",
-          },
-        ],
-      },
-      {
-        path: "/Customer/CustomerBehavior",
-        name: "CustomerBehavior",
-        fullPath: "/Customer/CustomerBehavior/BrowsingHistory",
-        meta: {
-          title: "客户行为",
-          remixIcon: "user-shared-line",
-        },
-        children: [
-          {
-            path: "/Customer/CustomerBehavior/BrowsingHistory",
-            name: "BrowsingHistory",
-            meta: {
-              title: "浏览记录",
-              access: nodes.CustomerBehaviorBrowsingHistory,
-            },
-            fullPath: "/Customer/CustomerBehavior/BrowsingHistory",
-          },
-          {
-            path: "/Customer/CustomerBehavior/PurchaseHistory",
-            name: "PurchaseHistory",
-            meta: {
-              title: "购买记录",
-              access: nodes.CustomerBehaviorPurchaseHistory,
-            },
-            fullPath: "/Customer/CustomerBehavior/PurchaseHistory",
-          },
-          {
-            path: "/Customer/CustomerBehavior/DemandReporting",
-            name: "DemandReporting",
-            meta: {
-              title: "需求提报",
-              access: nodes.CustomerBehaviorDemandReporting,
-            },
-            fullPath: "/Customer/CustomerBehavior/DemandReporting",
-          },
-        ],
-      },
-      {
-        path: "/Customer/CustomerStatements",
-        name: "CustomerStatements",
-        fullPath: "/Customer/CustomerStatements/AnomalyAnalysisTable",
-        meta: {
-          title: "客户报表",
-          remixIcon: "file-list-line",
-        },
-        children: [
-          {
-            path: "/Customer/CustomerStatements/AnomalyAnalysisTable",
-            name: "AnomalyAnalysisTable",
-            meta: {
-              title: "异常客户分析表",
-              access: nodes.CustomerStatementsAnomalyAnalysisTable,
-            },
-            fullPath: "/Customer/CustomerStatements/AnomalyAnalysisTable",
-          },
-          {
-            path: "/Customer/CustomerStatements/PullNewStatistics",
-            name: "CustomerPullNewStatistics",
-            meta: {
-              title: "拉新统计",
-              access: nodes.CustomerStatementsPullNewStatistics,
-            },
-            fullPath: "/Customer/CustomerStatements/PullNewStatistics",
-          },
-          {
-            path: "/Customer/CustomerStatements/VisitRepor",
-            name: "VisitRepor",
-            meta: {
-              title: "拜访报表",
-              access: nodes.CustomerStatementsVisitRepor,
-            },
-            fullPath: "/Customer/CustomerStatements/VisitRepor",
-          },
-          {
-            path: "/Customer/CustomerStatements/CustomerMap",
-            name: "CustomerMap",
-            meta: {
-              title: "客户分布图",
-              access: nodes.CustomerStatementsCustomerDistribution,
-            },
-            fullPath: "/Customer/CustomerStatements/CustomerMap",
-          },
-          // {
-          //   path: "/Customer/CustomerStatements/StaffPullNewStatistics",
-          //   name: "StaffPullNewStatistics",
-          //   meta: {
-          //     title: "员工拉新统计",
-          //   },
-          //   fullPath: "/Customer/CustomerStatements/StaffPullNewStatistics",
-          // },
-        ],
-      },
-    ],
-    fullPath: "/Customer",
-  },
-  {
-    path: "/Purchase",
-    redirect: "/Purchase/ManageP/Supplier",
-    alwaysShow: true,
-    meta: {
-      title: "采购",
-      remixIcon: "shopping-cart-line",
-    },
-    children: [
-      {
-        path: "/Purchase/ManageP",
-        name: "ManageP",
-        fullPath: "/Purchase/ManageP/Supplier",
-        meta: {
-          title: "采购管理",
-          remixIcon: "shopping-cart-line",
-        },
-        children: [
-          {
-            path: "/Purchase/ManageP/PurchaseOrder",
-            name: "PurchaseOrder",
-            meta: {
-              title: "采购单",
-              access: nodes.PurchaseOrder,
-            },
-            fullPath: "/Purchase/ManageP/PurchaseOrder",
-          },
-          {
-            path: "/Purchase/ManageP/PurchaseReturnOrder",
-            name: "PurchaseReturnOrder",
-            meta: {
-              title: "采购退货单",
-              access: nodes.PurchaseReturnOrder,
-            },
-            fullPath: "/Purchase/ManageP/PurchaseReturnOrder",
-          },
-          {
-            path: "/Purchase/ManageP/Supplier",
-            name: "Supplier",
-            meta: {
-              title: "供应商",
-              access: nodes.Supplier,
-            },
-            fullPath: "/Purchase/ManageP/Supplier",
-          },
-          {
-            path: "/Purchase/ManageP/Stockout",
-            name: "Stockout",
-            meta: {
-              title: "缺货单",
-              access: nodes.Stockout,
-            },
-            fullPath: "/Purchase/ManageP/Stockout",
-          },
-          {
-            path: "/Purchase/ManageP/Merchant",
-            name: "Merchant",
-            meta: {
-              title: "商户采购单",
-              access: nodes.Merchant,
-            },
-            fullPath: "/Purchase/ManageP/Merchant",
-          },
-        ],
-      },
-      {
-        path: "/Purchase/PurchaseTotalForm",
-        name: "PurchaseTotalForm",
-        fullPath: "/Purchase/PurchaseTotalForm/GoodsForm",
-        meta: {
-          title: "采购报表",
-          access: nodes.PurchaseStatistics,
-          remixIcon: "file-text-line",
-        },
-        children: [
-          {
-            path: "/Purchase/ManageP/PurchaseDetail",
-            name: "PurchaseDetail",
-            meta: {
-              title: "采购明细表",
-              access: nodes.PurchaseDetail,
-            },
-            fullPath: "/Purchase/ManageP/PurchaseDetail",
-          },
-          {
-            path: "/Purchase/PurchaseTotalForm/GoodsForm",
-            name: "PurchaseGoodsForm",
-            meta: {
-              title: "商品汇总表",
-              access: nodes.PurchaseStatisticsGetAllPurchaseByFields,
-            },
-            fullPath: "/Purchase/PurchaseTotalForm/GoodsForm",
-          },
-          {
-            path: "/Purchase/PurchaseTotalForm/SupplierForm",
-            name: "PurchaseSupplierForm",
-            meta: {
-              title: "供应商汇总表",
-              access: nodes.GetSupplierAllPurchaseByFields,
-            },
-            fullPath: "/Purchase/PurchaseTotalForm/SupplierForm",
-          },
-          {
-            path: "/Purchase/PurchaseTotalForm/StaffForm",
-            name: "PurchaseStaffForm",
-            meta: {
-              title: "采购员汇总表",
-              access: nodes.GetStaffAllPurchaseByFields,
-            },
-            fullPath: "/Purchase/PurchaseTotalForm/StaffForm",
-          },
-        ],
-      },
-    ],
-    fullPath: "/Purchase",
-  },
-  {
-    path: "/stock",
-    redirect: "/stock/OutIn/outgoing",
-    alwaysShow: true,
-    meta: {
-      title: "库存",
-      remixIcon: "home-8-line",
-    },
-    children: [
-      {
-        path: "/stock/WarehouseAdmin",
-        name: "WarehouseAdmin",
-        fullPath: "/stock/OutIn/outgoing",
-        meta: {
-          title: "库存管理",
-          remixIcon: "home-gear-line",
-        },
-        children: [
+					{
+						path: "/goods/manageG/BrandManage",
+						name: "BrandManage",
+						meta: {
+							title: "商品品牌",
+							access: nodes.BrandManage,
+						},
+						fullPath: "/goods/manageG/BrandManage",
+					},
+					{
+						path: "/goods/manageG/UnitMeasurement",
+						name: "UnitMeasurement",
+						meta: {
+							title: "单位管理",
+							access: nodes.UnitSet,
+						},
+						fullPath: "/goods/manageG/UnitMeasurement",
+					},
+					{
+						path: "/goods/manageG/SpecManage",
+						name: "SpecManage",
+						meta: {
+							title: "属性管理",
+							access: nodes.specManage,
+						},
+						fullPath: "/goods/manageG/SpecManage",
+					},
+					{
+						path: "/goods/goodsemprego/GoodsEmprego",
+						name: "GoodsEmprego",
+						meta: {
+							title: "商品服务",
+							access: nodes.GoodsEmprego,
+						},
+						fullPath: "/goods/goodsemprego/GoodsEmprego",
+					},
+					{
+						path: "/goods/manageG/GoodsGrouping",
+						name: "GoodsGrouping",
+						meta: {
+							title: "商品分组",
+							access: nodes.GoodsGrouping,
+						},
+						fullPath: "/goods/manageG/GoodsGrouping",
+					},
+					{
+						path: "/SingleStore/goods/OrderItem",
+						name: "OrderSubscribe",
+						meta: {
+							title: "服务项目",
+							access: nodes.OrderItem,
+						},
+						fullPath: "/SingleStore/goods/OrderItem",
+					}
+				],
+			},
 			{
-			  path: "/stock/WarehouseAdmin/ShelfLife",
-			  name: "ShelfLife",
+				path: "/goods/sale",
+				name: "Sale",
+				fullPath: "/goods/sale/PublishGoods",
+				meta: {
+					title: "商品价格",
+					remixIcon: "bookmark-3-line",
+				},
+				children: [{
+						path: "/goods/sale/PriceTable",
+						name: "PriceTable",
+						meta: {
+							title: "价格表",
+							access: nodes.PriceTable,
+						},
+						fullPath: "/goods/sale/PriceTable",
+					},
+					{
+						path: "/goods/sale/AdjustPriceGoods",
+						name: "AdjustPriceGoods",
+						meta: {
+							title: "调价单",
+							access: nodes.AdjustPrice,
+						},
+						fullPath: "/goods/sale/AdjustPriceGoods",
+					},
+				],
+			},
+		],
+		fullPath: "/goods",
+	},
+	{
+		path: "/order",
+		name: "Order",
+		redirect: "/order/manageO/orderQuery",
+		alwaysShow: true,
+		meta: {
+			title: "订单",
+			remixIcon: "file-list-2-line",
+		},
+		children: [{
+				path: "/order/manageO/orderQuery",
+				name: "ManageO",
+				fullPath: "/order/manageO/orderQuery",
+				meta: {
+					title: "订单管理",
+					remixIcon: "list-unordered",
+				},
+				children: [
+					/*{
+					  path: "/order/manageO/newOrderList",
+					  name: "NewOrderList",
+					  meta: {
+					    title: "新订单列表",
+					    access: nodes.newOrderList,
+					  },
+					  fullPath: "/order/manageO/newOrderList",
+					},*/
+
+					{
+						path: "/order/manageO/orderQuery",
+						name: "OrderQuery",
+						meta: {
+							title: "订货单",
+							access: nodes.orderQuery,
+						},
+						fullPath: "/order/manageO/orderQuery",
+					},
+					// {
+					//   path: "/order/manageO/OrderDetails",
+					//   name: "OrderDetails",
+					//   meta: {
+					//     title: "订单详情",
+					//     access: nodes.orderQuery,
+					//   },
+					//   fullPath: "/order/manageO/OrderDetails",
+					// },
+					{
+						path: "/order/manageO/selfOrder?type=2",
+						name: "SelfOrder",
+						meta: {
+							title: "自提单",
+							access: nodes.selfOrder,
+						},
+						fullPath: "/order/manageO/selfOrder?type=2",
+					},
+					{
+						path: "/order/manageO/ReturnWarehousingOrder",
+						name: "ReturnWarehousingOrder",
+						meta: {
+							title: "退货单",
+							access: nodes.ReturnWarehousingOrder,
+						},
+						fullPath: "/order/manageO/ReturnWarehousingOrder",
+					},
+					/*{
+					  path: "/order/manageO/CancelOrder",
+					  name: "CancelOrder",
+					  meta: {
+					    title: "已取消",
+					    access: nodes.CancelOrder,
+					  },
+					  fullPath: "/order/manageO/CancelOrder",
+					},*/
+					{
+						path: "/order/manageO/OrderAdd",
+						name: "OrderAdd",
+						meta: {
+							noKeepAlive: true,
+							title: "代客下单",
+							access: nodes.OrderAdd,
+						},
+						fullPath: "/order/manageO/OrderAdd",
+					},
+				],
+			},
+			/* {
+			  path: "/order/saleO",
+			  name: "SaleO",
+			  fullPath: "/order/saleO/AddSaleOrder",
 			  meta: {
-			    title: "保质期查询",
-			    access: nodes.GetBatch,
+			    title: "销售单管理",
+			    remixIcon: "bill-line",
 			  },
-			  fullPath: "/stock/WarehouseAdmin/ShelfLife",
-			},
-          {
-            path: "/stock/OutIn/outgoing",
-            name: "Outgoing",
-            meta: {
-              title: "出库管理",
-              access: nodes.InventoryOut,
-            },
-            fullPath: "/stock/OutIn/outgoing",
-          },
-          {
-            path: "/stock/OutIn/storage",
-            name: "Storage",
-            meta: {
-              title: "入库管理",
-              access: nodes.InventoryIn,
-            },
-            fullPath: "/stock/OutIn/storage",
-          },
-          
-        ],
-      },
-      {
-        path: "/stock/WarehouseManagement",
-        name: "WarehouseManagement",
-        fullPath: "/stock/WarehouseManagement/Management",
-        meta: {
-          title: "仓库管理",
-          remixIcon: "home-6-line",
-          ccess: nodes.management,
-        },
-        children: [
-          {
-            path: "/stock/WarehouseManagement/inventoryInfo",
-            name: "InventoryInfo",
-            meta: {
-              title: "盘点单",
-              access: nodes.inventoryInfo,
-            },
-            fullPath: "/stock/WarehouseManagement/inventoryInfo",
-          },
-          {
-            path: "/stock/WarehouseManagement/AllocationForm",
-            name: "AllocationForm",
-            meta: {
-              title: "调拨单",
-              access: nodes.management,
-            },
-            fullPath: "/stock/WarehouseManagement/AllocationForm",
-          },
-          {
-            path: "/stock/WarehouseManagement/LossReport",
-            name: "LossReport",
-            meta: {
-              title: "报损单",
-              access: nodes.LossReport,
-            },
-            fullPath: "/stock/WarehouseManagement/LossReport",
-          },
-          {
-            path: "/stock/WarehouseManagement/Management",
-            name: "Management",
-            meta: {
-              title: "仓库管理",
-              access: nodes.management,
-            },
-            fullPath: "/stock/WarehouseManagement/Management",
-          },
-          {
-            path: "/stock/WarehouseManagement/WarehouseArea",
-            name: "WarehouseArea",
-            meta: {
-              title: "库区管理",
-              access: nodes.WarehouseArea,
-            },
-            fullPath: "/stock/WarehouseManagement/WarehouseArea",
-          },
-          {
-            path: "/stock/WarehouseManagement/LocationManagement",
-            name: "LocationManagement",
-            meta: {
-              title: "库位管理",
-              access: nodes.LocationManagement,
-            },
-            fullPath: "/stock/WarehouseManagement/LocationManagement",
-          },
-          // {
-          //   path: "/stock/WarehouseManagement/inventoryInfo",
-          //   name: "InventoryInfo",
-          //   meta: {
-          //     title: "盘点单",
-          //     access: nodes.inventoryInfo,
-          //   },
-          //   fullPath: "/stock/WarehouseManagement/inventoryInfo",
-          // },
-          // {
-          //   path: "/stock/WarehouseManagement/AllocationForm",
-          //   name: "AllocationForm",
-          //   meta: {
-          //     title: "调拨单",
-          //     access: nodes.management,
-          //   },
-          //   fullPath: "/stock/WarehouseManagement/AllocationForm",
-          // },
-          // {
-          //   path: "/stock/WarehouseManagement/LossReport",
-          //   name: "LossReport",
-          //   meta: {
-          //     title: "报损单",
-          //     access: nodes.management,
-          //   },
-          //   fullPath: "/stock/WarehouseManagement/LossReport",
-          // },
-        ],
-      },
-      {
-        path: "/stock/summary",
-        name: "Summary",
-        fullPath: "/stock/summary/WarehouseStockSummary",
-        meta: {
-          title: "汇总表",
-          remixIcon: "file-text-line",
-        },
-        children: [
-          {
-            path: "/stock/WarehouseAdmin/query",
-            name: "Query",
-            meta: {
-              title: "库存查询",
-              access: nodes.query,
-            },
-            fullPath: "/stock/WarehouseAdmin/query",
-          },
-          {
-            path: "/stock/WarehouseAdmin/warehouseInventory",
-            name: "warehouseInventory",
-            meta: {
-              title: "仓库库存",
-              access: nodes.warehouseInventory,
-            },
-            fullPath: "/stock/WarehouseAdmin/warehouseInventory",
-          },
-          {
-            path: "/stock/summary/WarehouseStockSummary",
-            name: "WarehouseStockSummary",
-            meta: {
-              title: "库存汇总",
-              access: nodes.inventoryStatistics,
-            },
-            fullPath: "/stock/summary/WarehouseStockSummary",
-          },
-          {
-            path: "/stock/WarehouseAdmin/flowing",
-            name: "Flowing",
-            meta: {
-              title: "库存流水",
-              access: nodes.flowing,
-            },
-            fullPath: "/stock/WarehouseAdmin/flowing",
-          },
-          {
-            path: "/stock/WarehouseAdmin/Batch",
-            name: "Batch",
-            meta: {
-              title: "批次流水",
-              access: nodes.Batch,
-            },
-            fullPath: "/stock/WarehouseAdmin/Batch",
-          },
-        ],
-      },
-      // {
-      //   path: "/stock/OrdersForShipment",
-      //   name: "OrdersForShipment",
-      //   fullPath: "/stock/OrdersForShipment/PickingCenter",
-      //   meta: {
-      //     title: "订单发货",
-      //     remixIcon: "file-text-line",
-      //   },
-      //   children: [
-      //     {
-      //       path: "/stock/OrdersForShipment/PickingCenter",
-      //       name: "PickingCenter",
-      //       meta: {
-      //         title: "拣货中心",
-      //         // access: nodes.Batch,
-      //       },
-      //       fullPath: "/stock/OrdersForShipment/PickingCenter",
-      //     },
-      //     {
-      //       path: "/stock/OrdersForShipment/DistributionCenter",
-      //       name: "DistributionCenter",
-      //       meta: {
-      //         title: "配送中心",
-      //         // access: nodes.Batch,
-      //       },
-      //       fullPath: "/stock/OrdersForShipment/DistributionCenter",
-      //     },
-      //   ],
-      // },
-    ],
-    fullPath: "/stock",
-  },
-  {
-    path: "/Finance",
-    redirect: "/Finance/Receivable/ReceivableList",
-    meta: {
-      title: "财务",
-      remixIcon: "money-cny-circle-line",
-      access: nodes.shouldReceiveManage,
-    },
-    children: [
-      {
-        path: "/Finance/Receivable",
-        name: "Receivable",
-        fullPath: "/Finance/Receivable/ReceivableList",
-        meta: {
-          title: "应收管理",
-          remixIcon: "align-bottom",
-        },
-        children: [
-          {
-            path: "/Finance/Receivable/CustomerBalance",
-            name: "CustomerBalance",
-            meta: {
-              title: "客户往来汇总表",
-              access: nodes.CustomerBalanceGetAllCustomerBalance,
-            },
-            fullPath: "/Finance/Receivable/CustomerBalance",
-          },
-          {
-            path: "/Finance/Receivable/ReceivableList",
-            name: "ReceivableList",
-            meta: {
-              title: "应收单列表",
-              access: nodes.ReceivableList,
-            },
-            fullPath: "/Finance/Receivable/ReceivableList",
-          },
-          {
-            path: "/Finance/Receivable/ReceiptList",
-            name: "ReceiptList",
-            meta: {
-              title: "收款单列表",
-              access: nodes.ReceiptListGetAllReceived,
-            },
-            fullPath: "/Finance/Receivable/ReceiptList",
-          },
-          {
-            path: "/Finance/Receivable/ApplyReceipt",
-            name: "ApplyReceipt",
-            meta: {
-              title: "收款申请单",
-              access: nodes.ApplyReceipt,
-            },
-            fullPath: "/Finance/Receivable/ApplyReceipt",
-          },
-          {
-            path: "/Finance/Receivable/CustomerBalanceDetail",
-            name: "CustomerBalanceDetail",
-            meta: {
-              title: "客户往来明细表",
-              access: nodes.CustomerBalanceDetailGetAllCustomerBalanceDetail,
-            },
-            fullPath: "/Finance/Receivable/CustomerBalanceDetail",
-          },
-          {
-            path: "/Finance/Cashier/SellRefundForm/1",
-            name: "RefundForm",
-            meta: {
-              title: "销售退款单",
-              access: nodes.RefundForm,
-            },
-            fullPath: "/Finance/Cashier/SellRefundForm/1",
-          },
-        ],
-      },
-      {
-        path: "/Finance/Handle",
-        name: "Handle",
-        fullPath: "/Finance/Handle/HandleList",
-        meta: {
-          title: "应付管理",
-          remixIcon: "align-top",
-        },
-        children: [
-          {
-            path: "/Finance/Handle/SupplierBalance",
-            name: "SupplierBalance",
-            meta: {
-              title: "供应商往来汇总表",
-              access: nodes.CustomerBalanceGetAllSupplierBalance,
-            },
-            fullPath: "/Finance/Handle/SupplierBalance",
-          },
-          {
-            path: "/Finance/Handle/HandleList",
-            name: "HandleList",
-            meta: {
-              title: "应付单列表",
-              access: nodes.HandleList,
-            },
-            fullPath: "/Finance/Handle/HandleList",
-          },
-          {
-            path: "/Finance/Handle/PaymentList",
-            name: "PaymentList",
-            meta: {
-              title: "付款单列表",
-              access: nodes.PaymentListGetAllPaid,
-            },
-            fullPath: "/Finance/Handle/PaymentList",
-          },
-          {
-            path: "/Finance/Handle/SupplierBalanceDetails",
-            name: "SupplierBalanceDetails",
-            meta: {
-              title: "供应商往来明细表",
-              access: nodes.SupplierBalanceDetailsGetAllSupplierBalanceDetail,
-            },
-            fullPath: "/Finance/Handle/SupplierBalanceDetails",
-          },
-          // {
-          //   path: "/Finance/Cashier/PurchaseRefundForm/2",
-          //   name: "RefundForm",
-          //   meta: {
-          //     title: "采购退款单",
-          //     access: nodes.RefundForm,
-          //   },
-          //   fullPath: "/Finance/Cashier/PurchaseRefundForm/2",
-          // },
-        ],
-      },
-      {
-        path: "/Finance/Cashier",
-        name: "Cashier",
-        fullPath: "/Finance/Cashier/FunTransfer",
-        meta: {
-          title: "出纳管理",
-          remixIcon: "bank-card-line",
-        },
-        children: [
-          {
-            path: "/Finance/Cashier/FunTransfer",
-            name: "FunTransfer",
-            meta: {
-              title: "资金转账单",
-              access: nodes.FunTransfer,
-            },
-            fullPath: "/Finance/Cashier/FunTransfer",
-          },
-          {
-            path: "/Finance/Cashier/AccountList",
-            name: "AccountList",
-            meta: {
-              title: "资金账户管理",
-              access: nodes.AccountList,
-            },
-            fullPath: "/Finance/Cashier/AccountList",
-          },
-          {
-            path: "/Finance/Cashier/AccountDetails",
-            name: "AccountDetails",
-            meta: {
-              title: "账户明细查询",
-              access: nodes.AccountDetailsGetAllAccountDetail,
-            },
-            fullPath: "/Finance/Cashier/AccountDetails",
-          },
-          {
-            path: "/Finance/Cashier/CostSheet",
-            name: "CostSheet",
-            meta: {
-              title: "费用单",
-              access: nodes.CostSheet,
-            },
-            fullPath: "/Finance/Cashier/CostSheet",
-          },
-          // {
-          //   path: "/Finance/Cashier/RefundForm",
-          //   name: "RefundForm",
-          //   meta: {
-          //     title: "退款单",
-          //     access: nodes.RefundForm,
-          //   },
-          //   fullPath: "/Finance/Cashier/RefundForm",
-          // },
-        ],
-      },
-      {
-        path: "/Finance/ManageF",
-        name: "ManageF",
-        fullPath: "/Finance/ManageF/FinanceType",
-        meta: {
-          title: "财务管理",
-          remixIcon: "settings-line",
-        },
-        children: [
-          {
-            path: "/Finance/ManageF/FinanceType",
-            name: "FinanceType",
-            meta: {
-              title: "财务类型",
-              access: nodes.FinanceTypeGetAllFinanceType,
-            },
-            fullPath: "/Finance/ManageF/FinanceType",
-          },
-          {
-            path: "/Finance/ManageF/WithdrawAsh",
-            name: "WithdrawAsh",
-            meta: {
-              title: "余额提现",
-              access: nodes.WithdrawAsh,
-            },
-            fullPath: "/Finance/ManageF/WithdrawAsh",
-          },
-          {
-            path: "/Finance/Cashier/CostTypes",
-            name: "CostTypes",
-            meta: {
-              title: "费用类型",
-              access: nodes.CostSheet,
-            },
-            fullPath: "/Finance/Cashier/CostTypes",
-          },
-        ],
-      },
-    ],
-    fullPath: "/Finance",
-  },
-  {
-    path: "/statement",
-    redirect: "/statement/statementList/MerchandiseSalesStatement",
-    meta: {
-      title: "报表",
-      remixIcon: "pie-chart-line",
-    },
-    children: [
-      {
-        path: "/statement/statementList",
-        name: "statementList",
-        fullPath: "/statement/statementList/MerchandiseSalesStatement",
-        meta: {
-          title: "商品报表",
-          remixIcon: "function-line",
-        },
-        children: [
-          {
-            path: "/statement/statementList/MerchandiseSalesStatement",
-            name: "MerchandiseSalesStatement",
-            meta: {
-              title: "商品销售报表",
-              access: nodes.goodsFormMerchandiseSalesStatement,
-            },
-            fullPath: "/statement/statementList/MerchandiseSalesStatement",
-          },
-          {
-            path: "/statement/statementList/CustomerMerchandiseReport",
-            name: "CustomerMerchandiseReport",
-            meta: {
-              title: "客户商品报表",
-              access: nodes.goodsFormCustomerMerchandiseReport,
-            },
-            fullPath: "/statement/statementList/CustomerMerchandiseReport",
-          },
-        ],
-      },
-      {
-        path: "/statement/statementList",
-        name: "statementList",
-        fullPath: "/statement/statementList/MerchandiseSalesStatement",
-        meta: {
-          title: "订单报表",
-          remixIcon: "file-chart-line",
-        },
-        children: [
-          {
-            path: "/statement/statementList/CustomerOrderReport",
-            name: "CustomerOrderReport",
-            meta: {
-              title: "客户订单报表",
-              access: nodes.orderFormCustomerOrderReport,
-            },
-            fullPath: "/statement/statementList/CustomerOrderReport",
-          },
-          {
-            path: "/statement/statementList/OrderDataReport",
-            name: "OrderDataReport",
-            meta: {
-              title: "订单数据报表",
-              access: nodes.orderFormOrderDataReport,
-            },
-            fullPath: "/statement/statementList/OrderDataReport",
-          },
-          {
-            path: "/statement/statementList/RegionalOrderReport",
-            name: "RegionalOrderReport",
-            meta: {
-              title: "地区订单报表",
-              access: nodes.orderFormRegionalOrderReport,
-            },
-            fullPath: "/statement/statementList/RegionalOrderReport",
-          },
-          {
-            path: "/statement/statementList/SaleRanking",
-            name: "SaleRanking",
-            meta: {
-              title: "业务员订单表",
-              access: nodes.orderFormSalesOrderReport,
-            },
-            fullPath: "/statement/statementList/SaleRanking",
-          },
-        ],
-      },
-      // {
-      //   path: "/statement/statementList",
-      //   name: "statementList",
-      //   fullPath: "/statement/statementList/MerchandiseSalesStatement",
-      //   meta: {
-      //     title: "销售排行",
-      //     remixIcon: "file-chart-line",
-      //   },
-      //   children: [
-      //     {
-      //       path: "/statement/statementList/SaleRanking",
-      //       name: "SaleRanking",
-      //       meta: {
-      //         title: "销售排行",
-      //         access: nodes.SalesRanking,
-      //         remixIcon: "file-chart-line",
-      //       },
-      //       fullPath: "/statement/statementList/SaleRanking",
-      //     },
-      //   ],
-      // },
-    ],
-    fullPath: "/statement",
-  },
-  {
-    path: "/SystemSettings",
-    redirect: "/SystemSettings/liansuoguanli/ShopList",
-    alwaysShow: true,
-    meta: {
-      title: "设置",
-      remixIcon: "settings-4-line",
-    },
-    children: [
-      {
-        path: "/SystemSettings/BaseSet",
-        name: "BaseSet",
-        meta: {
-          title: "基本设置",
-          remixIcon: "settings-4-line",
-        },
-        fullPath: "/SystemSettings/BaseSet",
-        children: [
-          {
-            path: "/SystemSettings/BaseSet",
-            name: "BaseSet",
-            meta: {
-              title: "系统设置",
-              access: nodes.mallManage,
-            },
-            fullPath: "/SystemSettings/BaseSet",
-          },
-          // {
-          //   path: "/SystemSettings/TradeSet",
-          //   name: "TradeSet",
-          //   hidden: true,
-          //   meta: {
-          //     title: "交易设置",
-          //     access: nodes.mallManagepaySetting,
-          //   },
-          //   fullPath: "/SystemSettings/TradeSet",
-          // },
-          // {
-          //   path: "/SystemSettings/GoodsSet",
-          //   name: "GoodsSet",
-          //   hidden: true,
-          //   meta: {
-          //     title: "商品设置",
-          //     access: nodes.mallManageGoodsSet,
-          //   },
-          //   fullPath: "/SystemSettings/GoodsSet",
-          // },
-          // {
-          //   path: "/SystemSettings/CustomerSet",
-          //   name: "GoodsSet",
-          //   hidden: true,
-          //   meta: {
-          //     title: "客户设置",
-          //     access: nodes.mallManageCustomerSet,
-          //   },
-          //   fullPath: "/SystemSettings/CustomerSet",
-          // },
-          {
-            path: "/SystemSettings/jiaoyiset/voiceSet",
-            name: "VoiceSet",
-            meta: {
-              title: "语音设置",
-              // remixIcon: "notification-3-line",
-              access: nodes.voiceSet,
-            },
-            fullPath: "/SystemSettings/jiaoyiset/voiceSet",
-          },
-          {
-            path: "/SystemSettings/jiaoyiset/PushNotification",
-            name: "PushNotification",
-            meta: {
-              title: "消息推送",
-              access: nodes.PushNotification,
-            },
-            fullPath: "/SystemSettings/jiaoyiset/PushNotification",
-          },
-          /*{
-            path: "/SystemSettings/jiaoyiset/SMSConfiguration",
-            name: "SMSConfiguration",
-            meta: {
-              title: "短信配置",
-              // access: nodes.voiceSet,
-            },
-            fullPath: "/SystemSettings/jiaoyiset/SMSConfiguration",
-          },*/
-        ],
-      },
-      {
-        path: "/SystemSettings/StepSet",
-        meta: {
-          title: "其他设置",
-          remixIcon: "settings-line",
-        },
-        fullPath: "/SystemSettings/BaseSet",
-        children: [
-          {
-            path: "/SystemSettings/StepSet",
-            name: "StepSet",
-            meta: {
-              title: "流程设置",
-              // remixIcon: "equalizer-line",
-              access: nodes.StepSet,
-            },
-            fullPath: "/SystemSettings/StepSet",
-          },
-          {
-            path: "/SystemSettings/jiaoyiset/PayList",
-            name: "PayList",
-            meta: {
-              title: "支付设置",
-              access: nodes.PayList,
-              // remixIcon: "wallet-line",
-            },
-            fullPath: "/SystemSettings/jiaoyiset/PayList",
-          },
-          {
-            path: "/SystemSettings/jiaoyiset/Delivery",
-            name: "Delivery",
-            meta: {
-              title: "配送设置",
-              access: nodes.DeliverySet,
-            },
-            fullPath: "/SystemSettings/jiaoyiset/Delivery",
-          },
-          {
-            path: "/SystemSettings/jiaoyiset/Driver",
-            name: "Driver",
-            meta: {
-              title: "司机列表",
-              access: nodes.Driver,
-            },
-            fullPath: "/SystemSettings/jiaoyiset/Driver",
-          },
-          {
-            path: "/SystemSettings/jiaoyiset/Line",
-            name: "Line",
-            meta: {
-              title: "线路列表",
-              access: nodes.line,
-            },
-            fullPath: "/SystemSettings/jiaoyiset/Line",
-          },
-          // {
-          //   path: "/SystemSettings/PrinterSet",
-          //   name: "PrinterSet",
-          //   meta: {
-          //     title: "打印机设置",
-          //     access: nodes.mallManagePrinterSet,
-          //   },
-          //   fullPath: "/SystemSettings/PrinterSet",
-          // },
-        ],
-      },
-      {
-        path: "/SystemSettings/liansuoguanli",
-        name: "Liansuoguanli",
-        fullPath: "/SystemSettings/liansuoguanli/ShopList",
-        meta: {
-          title: "连锁管理",
-          remixIcon: "list-settings-line",
-        },
-        children: [
-          {
-            path: "/SystemSettings/liansuoguanli/ShopList",
-            name: "ShopList",
-            meta: {
-              title: "商铺列表",
-              access: nodes.ShopList,
-              remixIcon: "list-settings-line",
-            },
-            fullPath: "/SystemSettings/liansuoguanli/ShopList",
-          },
-        ],
-      },
+			  children: [
+			    {
+			      path: "/order/saleO/AddSaleOrder",
+			      name: "AddSaleOrder",
+			      meta: {
+			        title: "创建销售单",
+			        access: nodes.addSaleOrder,
+			      },
+			      fullPath: "/order/saleO/AddSaleOrder",
+			    },
+			    {
+			      path: "/order/saleO/SaleOrderList",
+			      name: "SaleOrderList",
+			      meta: {
+			        title: "销售单列表",
+			        access: nodes.saleOrderList,
+			      },
+			      fullPath: "/order/saleO/SaleOrderList",
+			    },
+			  ],
+			},*/
+			{
+				path: "/order/SaleTotalForm",
+				name: "SaleTotalForm",
+				fullPath: "/order/SaleTotalForm/GoodsForm",
+				meta: {
+					title: "销售报表",
+					remixIcon: "file-text-line",
+				},
+				children: [{
+						path: "/order/SaleTotalForm/GoodsForm",
+						name: "GoodsForm",
+						meta: {
+							title: "商品汇总表",
+							access: nodes.OrderStatistics,
+						},
+						fullPath: "/order/SaleTotalForm/GoodsForm",
+					},
+					{
+						path: "/order/SaleTotalForm/CustomerForm",
+						name: "CustomerForm",
+						meta: {
+							title: "客户汇总表",
+							access: nodes.OrderStatistics,
+						},
+						fullPath: "/order/SaleTotalForm/CustomerForm",
+					},
+					{
+						path: "/order/SaleTotalForm/StaffForm",
+						name: "StaffForm",
+						meta: {
+							title: "人员汇总表",
+							access: nodes.OrderStatistics,
+						},
+						fullPath: "/order/SaleTotalForm/StaffForm",
+					},
+				],
+			},
+		],
+		fullPath: "/order",
+	},
+	{
+		path: "/Customer",
+		name: "Customer",
+		redirect: "/Customer/CustomerAdmin/CustomerList",
+		alwaysShow: true,
+		meta: {
+			title: "客户",
+			remixIcon: "contacts-line",
+		},
+		children: [{
+				path: "/Customer/CustomerAdmin",
+				name: "CustomerAdmin",
+				fullPath: "/Customer/CustomerAdmin/CustomerList",
+				meta: {
+					title: "客户管理",
+					remixIcon: "user-3-line",
+				},
+				children: [{
+						path: "/Customer/CustomerAdmin/CustomerList",
+						name: "CustomerList",
+						meta: {
+							title: "客户列表",
+							access: nodes.CustomerList,
+						},
+						fullPath: "/Customer/CustomerAdmin/CustomerList",
+					},
+					{
+						path: "/Customer/CustomerAdmin/CustomerType",
+						name: "CustomerType",
+						meta: {
+							title: "客户类型",
+							access: nodes.CustomerType,
+						},
+						fullPath: "/Customer/CustomerAdmin/CustomerType",
+					},
+					{
+						path: "/Customer/CustomerAdmin/LabelManagement",
+						name: "LabelManagement",
+						meta: {
+							title: "标签管理",
+							access: nodes.LabelManagement,
+						},
+						fullPath: "/Customer/CustomerAdmin/LabelManagement",
+					},
+					// {
+					//   path: "/Customer/CustomerAdmin/CustomerQuery",
+					//   name: "CustomerQuery",
+					//   meta: {
+					//     title: "客户查询",
+					//     access: nodes.CustomerQuery,
+					//   },
+					//   fullPath: "/Customer/CustomerAdmin/CustomerQuery",
+					// },
+				],
+			},
+			{
+				path: "/Customer/CustomerCheck",
+				name: "CustomerCheck",
+				fullPath: "/Customer/CustomerCheck/NotCheck",
+				meta: {
+					title: "客户审核",
+					remixIcon: "shield-user-line",
+				},
+				children: [{
+						path: "/Customer/CustomerCheck/NotCheck",
+						name: "NotCheck",
+						meta: {
+							title: "未审核",
+							access: nodes.NotCheck,
+						},
+						fullPath: "/Customer/CustomerCheck/NotCheck",
+					},
+					{
+						path: "/Customer/CustomerCheck/noPerfectData",
+						name: "NoPerfectData",
+						meta: {
+							title: "待完善资料",
+							access: nodes.getAuditAllCustomer,
+						},
+						fullPath: "/Customer/CustomerCheck/noPerfectData",
+					},
+				],
+			},
+			{
+				path: "/Customer/CustomerBehavior",
+				name: "CustomerBehavior",
+				fullPath: "/Customer/CustomerBehavior/BrowsingHistory",
+				meta: {
+					title: "客户行为",
+					remixIcon: "user-shared-line",
+				},
+				children: [{
+						path: "/Customer/CustomerBehavior/BrowsingHistory",
+						name: "BrowsingHistory",
+						meta: {
+							title: "浏览记录",
+							access: nodes.CustomerBehaviorBrowsingHistory,
+						},
+						fullPath: "/Customer/CustomerBehavior/BrowsingHistory",
+					},
+					{
+						path: "/Customer/CustomerBehavior/PurchaseHistory",
+						name: "PurchaseHistory",
+						meta: {
+							title: "购买记录",
+							access: nodes.CustomerBehaviorPurchaseHistory,
+						},
+						fullPath: "/Customer/CustomerBehavior/PurchaseHistory",
+					},
+					{
+						path: "/Customer/CustomerBehavior/DemandReporting",
+						name: "DemandReporting",
+						meta: {
+							title: "需求提报",
+							access: nodes.CustomerBehaviorDemandReporting,
+						},
+						fullPath: "/Customer/CustomerBehavior/DemandReporting",
+					},
+				],
+			},
+			{
+				path: "/Customer/CustomerStatements",
+				name: "CustomerStatements",
+				fullPath: "/Customer/CustomerStatements/AnomalyAnalysisTable",
+				meta: {
+					title: "客户报表",
+					remixIcon: "file-list-line",
+				},
+				children: [{
+						path: "/Customer/CustomerStatements/AnomalyAnalysisTable",
+						name: "AnomalyAnalysisTable",
+						meta: {
+							title: "异常客户分析表",
+							access: nodes.CustomerStatementsAnomalyAnalysisTable,
+						},
+						fullPath: "/Customer/CustomerStatements/AnomalyAnalysisTable",
+					},
+					{
+						path: "/Customer/CustomerStatements/PullNewStatistics",
+						name: "CustomerPullNewStatistics",
+						meta: {
+							title: "拉新统计",
+							access: nodes.CustomerStatementsPullNewStatistics,
+						},
+						fullPath: "/Customer/CustomerStatements/PullNewStatistics",
+					},
+					{
+						path: "/Customer/CustomerStatements/VisitRepor",
+						name: "VisitRepor",
+						meta: {
+							title: "拜访报表",
+							access: nodes.CustomerStatementsVisitRepor,
+						},
+						fullPath: "/Customer/CustomerStatements/VisitRepor",
+					},
+					{
+						path: "/Customer/CustomerStatements/CustomerMap",
+						name: "CustomerMap",
+						meta: {
+							title: "客户分布图",
+							access: nodes.CustomerStatementsCustomerDistribution,
+						},
+						fullPath: "/Customer/CustomerStatements/CustomerMap",
+					},
+					// {
+					//   path: "/Customer/CustomerStatements/StaffPullNewStatistics",
+					//   name: "StaffPullNewStatistics",
+					//   meta: {
+					//     title: "员工拉新统计",
+					//   },
+					//   fullPath: "/Customer/CustomerStatements/StaffPullNewStatistics",
+					// },
+				],
+			},
+		],
+		fullPath: "/Customer",
+	},
+	{
+		path: "/Purchase",
+		redirect: "/Purchase/ManageP/Supplier",
+		alwaysShow: true,
+		meta: {
+			title: "采购",
+			remixIcon: "shopping-cart-line",
+		},
+		children: [{
+				path: "/Purchase/ManageP",
+				name: "ManageP",
+				fullPath: "/Purchase/ManageP/Supplier",
+				meta: {
+					title: "采购管理",
+					remixIcon: "shopping-cart-line",
+				},
+				children: [{
+						path: "/Purchase/ManageP/PurchaseOrder",
+						name: "PurchaseOrder",
+						meta: {
+							title: "采购单",
+							access: nodes.PurchaseOrder,
+						},
+						fullPath: "/Purchase/ManageP/PurchaseOrder",
+					},
+					{
+						path: "/Purchase/ManageP/PurchaseReturnOrder",
+						name: "PurchaseReturnOrder",
+						meta: {
+							title: "采购退货单",
+							access: nodes.PurchaseReturnOrder,
+						},
+						fullPath: "/Purchase/ManageP/PurchaseReturnOrder",
+					},
+					{
+						path: "/Purchase/ManageP/Supplier",
+						name: "Supplier",
+						meta: {
+							title: "供应商",
+							access: nodes.Supplier,
+						},
+						fullPath: "/Purchase/ManageP/Supplier",
+					},
+					{
+						path: "/Purchase/ManageP/Stockout",
+						name: "Stockout",
+						meta: {
+							title: "缺货单",
+							access: nodes.Stockout,
+						},
+						fullPath: "/Purchase/ManageP/Stockout",
+					},
+					{
+						path: "/Purchase/ManageP/Merchant",
+						name: "Merchant",
+						meta: {
+							title: "商户采购单",
+							access: nodes.Merchant,
+						},
+						fullPath: "/Purchase/ManageP/Merchant",
+					},
+				],
+			},
+			{
+				path: "/Purchase/PurchaseTotalForm",
+				name: "PurchaseTotalForm",
+				fullPath: "/Purchase/PurchaseTotalForm/GoodsForm",
+				meta: {
+					title: "采购报表",
+					access: nodes.PurchaseStatistics,
+					remixIcon: "file-text-line",
+				},
+				children: [{
+						path: "/Purchase/ManageP/PurchaseDetail",
+						name: "PurchaseDetail",
+						meta: {
+							title: "采购明细表",
+							access: nodes.PurchaseDetail,
+						},
+						fullPath: "/Purchase/ManageP/PurchaseDetail",
+					},
+					{
+						path: "/Purchase/PurchaseTotalForm/GoodsForm",
+						name: "PurchaseGoodsForm",
+						meta: {
+							title: "商品汇总表",
+							access: nodes.PurchaseStatisticsGetAllPurchaseByFields,
+						},
+						fullPath: "/Purchase/PurchaseTotalForm/GoodsForm",
+					},
+					{
+						path: "/Purchase/PurchaseTotalForm/SupplierForm",
+						name: "PurchaseSupplierForm",
+						meta: {
+							title: "供应商汇总表",
+							access: nodes.GetSupplierAllPurchaseByFields,
+						},
+						fullPath: "/Purchase/PurchaseTotalForm/SupplierForm",
+					},
+					{
+						path: "/Purchase/PurchaseTotalForm/StaffForm",
+						name: "PurchaseStaffForm",
+						meta: {
+							title: "采购员汇总表",
+							access: nodes.GetStaffAllPurchaseByFields,
+						},
+						fullPath: "/Purchase/PurchaseTotalForm/StaffForm",
+					},
+				],
+			},
+		],
+		fullPath: "/Purchase",
+	},
+	{
+		path: "/stock",
+		redirect: "/stock/OutIn/outgoing",
+		alwaysShow: true,
+		meta: {
+			title: "库存",
+			remixIcon: "home-8-line",
+		},
+		children: [{
+				path: "/stock/WarehouseAdmin",
+				name: "WarehouseAdmin",
+				fullPath: "/stock/OutIn/outgoing",
+				meta: {
+					title: "库存管理",
+					remixIcon: "home-gear-line",
+				},
+				children: [{
+						path: "/stock/WarehouseAdmin/ShelfLife",
+						name: "ShelfLife",
+						meta: {
+							title: "保质期查询",
+							access: nodes.GetBatch,
+						},
+						fullPath: "/stock/WarehouseAdmin/ShelfLife",
+					},
+					{
+						path: "/stock/OutIn/outgoing",
+						name: "Outgoing",
+						meta: {
+							title: "出库管理",
+							access: nodes.InventoryOut,
+						},
+						fullPath: "/stock/OutIn/outgoing",
+					},
+					{
+						path: "/stock/OutIn/storage",
+						name: "Storage",
+						meta: {
+							title: "入库管理",
+							access: nodes.InventoryIn,
+						},
+						fullPath: "/stock/OutIn/storage",
+					},
+
+				],
+			},
+			{
+				path: "/stock/WarehouseManagement",
+				name: "WarehouseManagement",
+				fullPath: "/stock/WarehouseManagement/Management",
+				meta: {
+					title: "仓库管理",
+					remixIcon: "home-6-line",
+					ccess: nodes.management,
+				},
+				children: [{
+						path: "/stock/WarehouseManagement/inventoryInfo",
+						name: "InventoryInfo",
+						meta: {
+							title: "盘点单",
+							access: nodes.inventoryInfo,
+						},
+						fullPath: "/stock/WarehouseManagement/inventoryInfo",
+					},
+					{
+						path: "/stock/WarehouseManagement/AllocationForm",
+						name: "AllocationForm",
+						meta: {
+							title: "调拨单",
+							access: nodes.management,
+						},
+						fullPath: "/stock/WarehouseManagement/AllocationForm",
+					},
+					{
+						path: "/stock/WarehouseManagement/LossReport",
+						name: "LossReport",
+						meta: {
+							title: "报损单",
+							access: nodes.LossReport,
+						},
+						fullPath: "/stock/WarehouseManagement/LossReport",
+					},
+					{
+						path: "/stock/WarehouseManagement/Management",
+						name: "Management",
+						meta: {
+							title: "仓库管理",
+							access: nodes.management,
+						},
+						fullPath: "/stock/WarehouseManagement/Management",
+					},
+					{
+						path: "/stock/WarehouseManagement/WarehouseArea",
+						name: "WarehouseArea",
+						meta: {
+							title: "库区管理",
+							access: nodes.WarehouseArea,
+						},
+						fullPath: "/stock/WarehouseManagement/WarehouseArea",
+					},
+					{
+						path: "/stock/WarehouseManagement/LocationManagement",
+						name: "LocationManagement",
+						meta: {
+							title: "库位管理",
+							access: nodes.LocationManagement,
+						},
+						fullPath: "/stock/WarehouseManagement/LocationManagement",
+					},
+					// {
+					//   path: "/stock/WarehouseManagement/inventoryInfo",
+					//   name: "InventoryInfo",
+					//   meta: {
+					//     title: "盘点单",
+					//     access: nodes.inventoryInfo,
+					//   },
+					//   fullPath: "/stock/WarehouseManagement/inventoryInfo",
+					// },
+					// {
+					//   path: "/stock/WarehouseManagement/AllocationForm",
+					//   name: "AllocationForm",
+					//   meta: {
+					//     title: "调拨单",
+					//     access: nodes.management,
+					//   },
+					//   fullPath: "/stock/WarehouseManagement/AllocationForm",
+					// },
+					// {
+					//   path: "/stock/WarehouseManagement/LossReport",
+					//   name: "LossReport",
+					//   meta: {
+					//     title: "报损单",
+					//     access: nodes.management,
+					//   },
+					//   fullPath: "/stock/WarehouseManagement/LossReport",
+					// },
+				],
+			},
+			{
+				path: "/stock/summary",
+				name: "Summary",
+				fullPath: "/stock/summary/WarehouseStockSummary",
+				meta: {
+					title: "汇总表",
+					remixIcon: "file-text-line",
+				},
+				children: [{
+						path: "/stock/WarehouseAdmin/query",
+						name: "Query",
+						meta: {
+							title: "库存查询",
+							access: nodes.query,
+						},
+						fullPath: "/stock/WarehouseAdmin/query",
+					},
+					{
+						path: "/stock/WarehouseAdmin/warehouseInventory",
+						name: "warehouseInventory",
+						meta: {
+							title: "仓库库存",
+							access: nodes.warehouseInventory,
+						},
+						fullPath: "/stock/WarehouseAdmin/warehouseInventory",
+					},
+					{
+						path: "/stock/summary/WarehouseStockSummary",
+						name: "WarehouseStockSummary",
+						meta: {
+							title: "库存汇总",
+							access: nodes.inventoryStatistics,
+						},
+						fullPath: "/stock/summary/WarehouseStockSummary",
+					},
+					{
+						path: "/stock/WarehouseAdmin/flowing",
+						name: "Flowing",
+						meta: {
+							title: "库存流水",
+							access: nodes.flowing,
+						},
+						fullPath: "/stock/WarehouseAdmin/flowing",
+					},
+					{
+						path: "/stock/WarehouseAdmin/Batch",
+						name: "Batch",
+						meta: {
+							title: "批次流水",
+							access: nodes.Batch,
+						},
+						fullPath: "/stock/WarehouseAdmin/Batch",
+					},
+				],
+			},
+			// {
+			//   path: "/stock/OrdersForShipment",
+			//   name: "OrdersForShipment",
+			//   fullPath: "/stock/OrdersForShipment/PickingCenter",
+			//   meta: {
+			//     title: "订单发货",
+			//     remixIcon: "file-text-line",
+			//   },
+			//   children: [
+			//     {
+			//       path: "/stock/OrdersForShipment/PickingCenter",
+			//       name: "PickingCenter",
+			//       meta: {
+			//         title: "拣货中心",
+			//         // access: nodes.Batch,
+			//       },
+			//       fullPath: "/stock/OrdersForShipment/PickingCenter",
+			//     },
+			//     {
+			//       path: "/stock/OrdersForShipment/DistributionCenter",
+			//       name: "DistributionCenter",
+			//       meta: {
+			//         title: "配送中心",
+			//         // access: nodes.Batch,
+			//       },
+			//       fullPath: "/stock/OrdersForShipment/DistributionCenter",
+			//     },
+			//   ],
+			// },
+		],
+		fullPath: "/stock",
+	},
+	{
+		path: "/Finance",
+		redirect: "/Finance/Receivable/ReceivableList",
+		meta: {
+			title: "财务",
+			remixIcon: "money-cny-circle-line",
+			access: nodes.shouldReceiveManage,
+		},
+		children: [{
+				path: "/Finance/Receivable",
+				name: "Receivable",
+				fullPath: "/Finance/Receivable/ReceivableList",
+				meta: {
+					title: "应收管理",
+					remixIcon: "align-bottom",
+				},
+				children: [{
+						path: "/Finance/Receivable/CustomerBalance",
+						name: "CustomerBalance",
+						meta: {
+							title: "客户往来汇总表",
+							access: nodes.CustomerBalanceGetAllCustomerBalance,
+						},
+						fullPath: "/Finance/Receivable/CustomerBalance",
+					},
+					{
+						path: "/Finance/Receivable/ReceivableList",
+						name: "ReceivableList",
+						meta: {
+							title: "应收单列表",
+							access: nodes.ReceivableList,
+						},
+						fullPath: "/Finance/Receivable/ReceivableList",
+					},
+					{
+						path: "/Finance/Receivable/ReceiptList",
+						name: "ReceiptList",
+						meta: {
+							title: "收款单列表",
+							access: nodes.ReceiptListGetAllReceived,
+						},
+						fullPath: "/Finance/Receivable/ReceiptList",
+					},
+					{
+						path: "/Finance/Receivable/ApplyReceipt",
+						name: "ApplyReceipt",
+						meta: {
+							title: "收款申请单",
+							access: nodes.ApplyReceipt,
+						},
+						fullPath: "/Finance/Receivable/ApplyReceipt",
+					},
+					{
+						path: "/Finance/Receivable/CustomerBalanceDetail",
+						name: "CustomerBalanceDetail",
+						meta: {
+							title: "客户往来明细表",
+							access: nodes.CustomerBalanceDetailGetAllCustomerBalanceDetail,
+						},
+						fullPath: "/Finance/Receivable/CustomerBalanceDetail",
+					},
+					{
+						path: "/Finance/Cashier/SellRefundForm/1",
+						name: "RefundForm",
+						meta: {
+							title: "销售退款单",
+							access: nodes.RefundForm,
+						},
+						fullPath: "/Finance/Cashier/SellRefundForm/1",
+					},
+				],
+			},
+			{
+				path: "/Finance/Handle",
+				name: "Handle",
+				fullPath: "/Finance/Handle/HandleList",
+				meta: {
+					title: "应付管理",
+					remixIcon: "align-top",
+				},
+				children: [{
+						path: "/Finance/Handle/SupplierBalance",
+						name: "SupplierBalance",
+						meta: {
+							title: "供应商往来汇总表",
+							access: nodes.CustomerBalanceGetAllSupplierBalance,
+						},
+						fullPath: "/Finance/Handle/SupplierBalance",
+					},
+					{
+						path: "/Finance/Handle/HandleList",
+						name: "HandleList",
+						meta: {
+							title: "应付单列表",
+							access: nodes.HandleList,
+						},
+						fullPath: "/Finance/Handle/HandleList",
+					},
+					{
+						path: "/Finance/Handle/PaymentList",
+						name: "PaymentList",
+						meta: {
+							title: "付款单列表",
+							access: nodes.PaymentListGetAllPaid,
+						},
+						fullPath: "/Finance/Handle/PaymentList",
+					},
+					{
+						path: "/Finance/Handle/SupplierBalanceDetails",
+						name: "SupplierBalanceDetails",
+						meta: {
+							title: "供应商往来明细表",
+							access: nodes.SupplierBalanceDetailsGetAllSupplierBalanceDetail,
+						},
+						fullPath: "/Finance/Handle/SupplierBalanceDetails",
+					},
+					// {
+					//   path: "/Finance/Cashier/PurchaseRefundForm/2",
+					//   name: "RefundForm",
+					//   meta: {
+					//     title: "采购退款单",
+					//     access: nodes.RefundForm,
+					//   },
+					//   fullPath: "/Finance/Cashier/PurchaseRefundForm/2",
+					// },
+				],
+			},
+			{
+				path: "/Finance/Cashier",
+				name: "Cashier",
+				fullPath: "/Finance/Cashier/FunTransfer",
+				meta: {
+					title: "出纳管理",
+					remixIcon: "bank-card-line",
+				},
+				children: [{
+						path: "/Finance/Cashier/FunTransfer",
+						name: "FunTransfer",
+						meta: {
+							title: "资金转账单",
+							access: nodes.FunTransfer,
+						},
+						fullPath: "/Finance/Cashier/FunTransfer",
+					},
+					{
+						path: "/Finance/Cashier/AccountList",
+						name: "AccountList",
+						meta: {
+							title: "资金账户管理",
+							access: nodes.AccountList,
+						},
+						fullPath: "/Finance/Cashier/AccountList",
+					},
+					{
+						path: "/Finance/Cashier/AccountDetails",
+						name: "AccountDetails",
+						meta: {
+							title: "账户明细查询",
+							access: nodes.AccountDetailsGetAllAccountDetail,
+						},
+						fullPath: "/Finance/Cashier/AccountDetails",
+					},
+					{
+						path: "/Finance/Cashier/CostSheet",
+						name: "CostSheet",
+						meta: {
+							title: "费用单",
+							access: nodes.CostSheet,
+						},
+						fullPath: "/Finance/Cashier/CostSheet",
+					},
+					// {
+					//   path: "/Finance/Cashier/RefundForm",
+					//   name: "RefundForm",
+					//   meta: {
+					//     title: "退款单",
+					//     access: nodes.RefundForm,
+					//   },
+					//   fullPath: "/Finance/Cashier/RefundForm",
+					// },
+				],
+			},
+			{
+				path: "/Finance/ManageF",
+				name: "ManageF",
+				fullPath: "/Finance/ManageF/FinanceType",
+				meta: {
+					title: "财务管理",
+					remixIcon: "settings-line",
+				},
+				children: [{
+						path: "/Finance/ManageF/FinanceType",
+						name: "FinanceType",
+						meta: {
+							title: "财务类型",
+							access: nodes.FinanceTypeGetAllFinanceType,
+						},
+						fullPath: "/Finance/ManageF/FinanceType",
+					},
+					{
+						path: "/Finance/ManageF/WithdrawAsh",
+						name: "WithdrawAsh",
+						meta: {
+							title: "余额提现",
+							access: nodes.WithdrawAsh,
+						},
+						fullPath: "/Finance/ManageF/WithdrawAsh",
+					},
+					{
+						path: "/Finance/Cashier/CostTypes",
+						name: "CostTypes",
+						meta: {
+							title: "费用类型",
+							access: nodes.CostSheet,
+						},
+						fullPath: "/Finance/Cashier/CostTypes",
+					},
+				],
+			},
+		],
+		fullPath: "/Finance",
+	},
+	{
+		path: "/statement",
+		redirect: "/statement/statementList/MerchandiseSalesStatement",
+		meta: {
+			title: "报表",
+			remixIcon: "pie-chart-line",
+		},
+		children: [{
+				path: "/statement/statementList",
+				name: "statementList",
+				fullPath: "/statement/statementList/MerchandiseSalesStatement",
+				meta: {
+					title: "商品报表",
+					remixIcon: "function-line",
+				},
+				children: [{
+						path: "/statement/statementList/MerchandiseSalesStatement",
+						name: "MerchandiseSalesStatement",
+						meta: {
+							title: "商品销售报表",
+							access: nodes.goodsFormMerchandiseSalesStatement,
+						},
+						fullPath: "/statement/statementList/MerchandiseSalesStatement",
+					},
+					{
+						path: "/statement/statementList/CustomerMerchandiseReport",
+						name: "CustomerMerchandiseReport",
+						meta: {
+							title: "客户商品报表",
+							access: nodes.goodsFormCustomerMerchandiseReport,
+						},
+						fullPath: "/statement/statementList/CustomerMerchandiseReport",
+					},
+				],
+			},
+			{
+				path: "/statement/statementList",
+				name: "statementList",
+				fullPath: "/statement/statementList/MerchandiseSalesStatement",
+				meta: {
+					title: "订单报表",
+					remixIcon: "file-chart-line",
+				},
+				children: [{
+						path: "/statement/statementList/CustomerOrderReport",
+						name: "CustomerOrderReport",
+						meta: {
+							title: "客户订单报表",
+							access: nodes.orderFormCustomerOrderReport,
+						},
+						fullPath: "/statement/statementList/CustomerOrderReport",
+					},
+					{
+						path: "/statement/statementList/OrderDataReport",
+						name: "OrderDataReport",
+						meta: {
+							title: "订单数据报表",
+							access: nodes.orderFormOrderDataReport,
+						},
+						fullPath: "/statement/statementList/OrderDataReport",
+					},
+					{
+						path: "/statement/statementList/RegionalOrderReport",
+						name: "RegionalOrderReport",
+						meta: {
+							title: "地区订单报表",
+							access: nodes.orderFormRegionalOrderReport,
+						},
+						fullPath: "/statement/statementList/RegionalOrderReport",
+					},
+					{
+						path: "/statement/statementList/SaleRanking",
+						name: "SaleRanking",
+						meta: {
+							title: "业务员订单表",
+							access: nodes.orderFormSalesOrderReport,
+						},
+						fullPath: "/statement/statementList/SaleRanking",
+					},
+				],
+			},
+			// {
+			//   path: "/statement/statementList",
+			//   name: "statementList",
+			//   fullPath: "/statement/statementList/MerchandiseSalesStatement",
+			//   meta: {
+			//     title: "销售排行",
+			//     remixIcon: "file-chart-line",
+			//   },
+			//   children: [
+			//     {
+			//       path: "/statement/statementList/SaleRanking",
+			//       name: "SaleRanking",
+			//       meta: {
+			//         title: "销售排行",
+			//         access: nodes.SalesRanking,
+			//         remixIcon: "file-chart-line",
+			//       },
+			//       fullPath: "/statement/statementList/SaleRanking",
+			//     },
+			//   ],
+			// },
+		],
+		fullPath: "/statement",
+	},
+	{
+		path: "/SystemSettings",
+		redirect: "/SystemSettings/liansuoguanli/ShopList",
+		alwaysShow: true,
+		meta: {
+			title: "设置",
+			remixIcon: "settings-4-line",
+		},
+		children: [{
+				path: "/SystemSettings/BaseSet",
+				name: "BaseSet",
+				meta: {
+					title: "基本设置",
+					remixIcon: "settings-4-line",
+				},
+				fullPath: "/SystemSettings/BaseSet",
+				children: [{
+						path: "/SystemSettings/BaseSet",
+						name: "BaseSet",
+						meta: {
+							title: "系统设置",
+							access: nodes.mallManage,
+						},
+						fullPath: "/SystemSettings/BaseSet",
+					},
+					// {
+					//   path: "/SystemSettings/TradeSet",
+					//   name: "TradeSet",
+					//   hidden: true,
+					//   meta: {
+					//     title: "交易设置",
+					//     access: nodes.mallManagepaySetting,
+					//   },
+					//   fullPath: "/SystemSettings/TradeSet",
+					// },
+					// {
+					//   path: "/SystemSettings/GoodsSet",
+					//   name: "GoodsSet",
+					//   hidden: true,
+					//   meta: {
+					//     title: "商品设置",
+					//     access: nodes.mallManageGoodsSet,
+					//   },
+					//   fullPath: "/SystemSettings/GoodsSet",
+					// },
+					// {
+					//   path: "/SystemSettings/CustomerSet",
+					//   name: "GoodsSet",
+					//   hidden: true,
+					//   meta: {
+					//     title: "客户设置",
+					//     access: nodes.mallManageCustomerSet,
+					//   },
+					//   fullPath: "/SystemSettings/CustomerSet",
+					// },
+					{
+						path: "/SystemSettings/jiaoyiset/voiceSet",
+						name: "VoiceSet",
+						meta: {
+							title: "语音设置",
+							// remixIcon: "notification-3-line",
+							access: nodes.voiceSet,
+						},
+						fullPath: "/SystemSettings/jiaoyiset/voiceSet",
+					},
+					{
+						path: "/SystemSettings/jiaoyiset/PushNotification",
+						name: "PushNotification",
+						meta: {
+							title: "消息推送",
+							access: nodes.PushNotification,
+						},
+						fullPath: "/SystemSettings/jiaoyiset/PushNotification",
+					},
+					/*{
+					  path: "/SystemSettings/jiaoyiset/SMSConfiguration",
+					  name: "SMSConfiguration",
+					  meta: {
+					    title: "短信配置",
+					    // access: nodes.voiceSet,
+					  },
+					  fullPath: "/SystemSettings/jiaoyiset/SMSConfiguration",
+					},*/
+				],
+			},
+			{
+				path: "/SystemSettings/StepSet",
+				meta: {
+					title: "其他设置",
+					remixIcon: "settings-line",
+				},
+				fullPath: "/SystemSettings/BaseSet",
+				children: [{
+						path: "/SystemSettings/StepSet",
+						name: "StepSet",
+						meta: {
+							title: "流程设置",
+							// remixIcon: "equalizer-line",
+							access: nodes.StepSet,
+						},
+						fullPath: "/SystemSettings/StepSet",
+					},
+					{
+						path: "/SystemSettings/jiaoyiset/PayList",
+						name: "PayList",
+						meta: {
+							title: "支付设置",
+							access: nodes.PayList,
+							// remixIcon: "wallet-line",
+						},
+						fullPath: "/SystemSettings/jiaoyiset/PayList",
+					},
+					{
+						path: "/SystemSettings/jiaoyiset/Delivery",
+						name: "Delivery",
+						meta: {
+							title: "配送设置",
+							access: nodes.DeliverySet,
+						},
+						fullPath: "/SystemSettings/jiaoyiset/Delivery",
+					},
+					{
+						path: "/SystemSettings/jiaoyiset/Driver",
+						name: "Driver",
+						meta: {
+							title: "司机列表",
+							access: nodes.Driver,
+						},
+						fullPath: "/SystemSettings/jiaoyiset/Driver",
+					},
+					{
+						path: "/SystemSettings/jiaoyiset/Line",
+						name: "Line",
+						meta: {
+							title: "线路列表",
+							access: nodes.line,
+						},
+						fullPath: "/SystemSettings/jiaoyiset/Line",
+					},
+					// {
+					//   path: "/SystemSettings/PrinterSet",
+					//   name: "PrinterSet",
+					//   meta: {
+					//     title: "打印机设置",
+					//     access: nodes.mallManagePrinterSet,
+					//   },
+					//   fullPath: "/SystemSettings/PrinterSet",
+					// },
+				],
+			},
+			{
+				path: "/SystemSettings/liansuoguanli",
+				name: "Liansuoguanli",
+				fullPath: "/SystemSettings/liansuoguanli/ShopList",
+				meta: {
+					title: "连锁管理",
+					remixIcon: "list-settings-line",
+				},
+				children: [{
+					path: "/SystemSettings/liansuoguanli/ShopList",
+					name: "ShopList",
+					meta: {
+						title: "商铺列表",
+						access: nodes.ShopList,
+						remixIcon: "list-settings-line",
+					},
+					fullPath: "/SystemSettings/liansuoguanli/ShopList",
+				}, ],
+			},
 
-      // {
-      //   path: "/SystemSettings/jiaoyiset/",
-      //   name: "Delivery",
-      //   fullPath: "/SystemSettings/jiaoyiset/Delivery",
-      //   meta: {
-      //     title: "配送设置",
-      //     remixIcon: "truck-line",
-      //   },
-      //   children: [
-      //     {
-      //       path: "/SystemSettings/jiaoyiset/Delivery",
-      //       name: "Delivery",
-      //       meta: {
-      //         title: "配送设置",
-      //         access: nodes.DeliverySet,
-      //       },
-      //       fullPath: "/SystemSettings/jiaoyiset/Delivery",
-      //     },
-      //     {
-      //       path: "/SystemSettings/jiaoyiset/Logistics",
-      //       name: "Logistics",
-      //       meta: {
-      //         title: "物流接口",
-      //         access: nodes.Logistics,
-      //       },
-      //       fullPath: "/SystemSettings/jiaoyiset/Logistics",
-      //     },
-      //   ],
-      // },
+			// {
+			//   path: "/SystemSettings/jiaoyiset/",
+			//   name: "Delivery",
+			//   fullPath: "/SystemSettings/jiaoyiset/Delivery",
+			//   meta: {
+			//     title: "配送设置",
+			//     remixIcon: "truck-line",
+			//   },
+			//   children: [
+			//     {
+			//       path: "/SystemSettings/jiaoyiset/Delivery",
+			//       name: "Delivery",
+			//       meta: {
+			//         title: "配送设置",
+			//         access: nodes.DeliverySet,
+			//       },
+			//       fullPath: "/SystemSettings/jiaoyiset/Delivery",
+			//     },
+			//     {
+			//       path: "/SystemSettings/jiaoyiset/Logistics",
+			//       name: "Logistics",
+			//       meta: {
+			//         title: "物流接口",
+			//         access: nodes.Logistics,
+			//       },
+			//       fullPath: "/SystemSettings/jiaoyiset/Logistics",
+			//     },
+			//   ],
+			// },
 
-      {
-        path: "/SystemSettings/accountAdmin",
-        name: "AccountAdmin",
-        fullPath: "/SystemSettings/accountAdmin/Department",
-        meta: {
-          title: "组织设置",
-          remixIcon: "user-settings-line",
-        },
-        children: [
-          {
-            path: "/SystemSettings/accountAdmin/Department",
-            name: "Department",
-            meta: {
-              title: "部门管理",
-              access: nodes.Department,
-            },
-            fullPath: "/SystemSettings/accountAdmin/Department",
-          },
-          {
-            path: "/SystemSettings/accountAdmin/Role",
-            name: "Role",
-            meta: {
-              title: "角色管理",
-              access: nodes.Role,
-            },
-            fullPath: "/SystemSettings/accountAdmin/Role",
-          },
-          {
-            path: "/SystemSettings/accountAdmin/Staff",
-            name: "Staff",
-            meta: {
-              title: "员工管理",
-              access: nodes.Staff,
-            },
-            fullPath: "/SystemSettings/accountAdmin/Staff",
-          },
-          {
-            path: "/SystemSettings/accountAdmin/LoginRecord",
-            name: "LoginRecord",
-            hidden: true,
-            meta: {
-              title: "登录日志",
-              access: nodes.LoginRecord,
-            },
-            fullPath: "/SystemSettings/accountAdmin/LoginRecord",
-          },
-        ],
-      },
-      {
-        path: "/ShoppingMall/AppDesign",
-        name: "AppDesign",
-        hidden: true,
-        fullPath: "/ShoppingMall/AppDesign/PageDesignList",
-        meta: {
-          title: "店铺装修",
-          remixIcon: "brush-3-line",
-        },
-        children: [
-          {
-            path: "/ShoppingMall/AppDesign/PageDesignList",
-            name: "PageDesignList",
-            meta: {
-              title: "页面设计",
-              access: nodes.PageSet,
-            },
-            fullPath: "/ShoppingMall/AppDesign/PageDesignList",
-          },
-          {
-            path: "/ShoppingMall/AppDesign/StartUpPage",
-            name: "StartUpPage",
-            meta: {
-              title: "启动页",
-              access: nodes.StartPage,
-            },
-            fullPath: "/ShoppingMall/AppDesign/StartUpPage",
-          },
-          {
-            path: "/ShoppingMall/AppDesign/AppStyle",
-            name: "AppStyle",
-            meta: {
-              title: "风格设置",
-              access: nodes.StyleSet,
-            },
-            fullPath: "/ShoppingMall/AppDesign/AppStyle",
-          },
-          {
-            path: "/ShoppingMall/AppDesign/CateSet",
-            name: "CateSet",
-            meta: {
-              title: "分类模版",
-              access: nodes.CategorySet,
-            },
-            fullPath: "/ShoppingMall/AppDesign/CateSet",
-          },
-        ],
-      },
-      {
-        path: "/ShoppingMall/mendianset/NoticeLsit",
-        name: "NoticeLsit",
-        hidden: true,
-        meta: {
-          title: "公告设置",
-          access: nodes.Announcement,
-          remixIcon: "notification-3-line",
-        },
-        fullPath: "/ShoppingMall/mendianset/NoticeLsit",
-      },
-      // {
-      //   path: "/ShoppingMall/mendianset/NewsTemplate",
-      //   name: "NewsTemplate",
-      //   meta: {
-      //     title: "消息管理",
-      //     access: nodes.Announcement,
-      //     remixIcon: "message-2-line",
-      //   },
-      //   fullPath: "/ShoppingMall/mendianset/NewsTemplate",
-      // },
-      {
-        path: "/ShoppingMall/WxCode",
-        name: "WxCode",
-        hidden: true,
-        fullPath: "/ShoppingMall/WxCode/WxCodeSet",
-        meta: {
-          title: "微信小程序",
-          remixIcon: "mini-program-line",
-        },
-        children: [
-          {
-            path: "/ShoppingMall/WxCode/WxCodeSet",
-            name: "WxCodeSet",
-            meta: {
-              title: "小程序设置",
-              access: nodes.WxCodeSet,
-            },
-            fullPath: "/ShoppingMall/WxCode/WxCodeSet",
-          },
-          {
-            path: "/ShoppingMall/WxCode/TemplateSet",
-            name: "TemplateSet",
-            meta: {
-              title: "小程序发布",
-              access: nodes.wxPush,
-            },
-            fullPath: "/ShoppingMall/WxCode/TemplateSet",
-          },
-        ],
-      },
-    ],
-    fullPath: "/SystemSettings",
-  },
-  {
-    path: "/ShoppingMall",
-    redirect: "/ShoppingMall/mendianset/BaseSet",
-    meta: {
-      title: "商城",
-      remixIcon: "store-2-line",
-    },
-    children: [
-      {
-        path: "/ShoppingMall/AppDesign",
-        name: "AppDesign",
-        fullPath: "/ShoppingMall/AppDesign/PageDesignList",
-        meta: {
-          title: "店铺装修",
-          remixIcon: "brush-3-line",
-        },
-        children: [
-          {
-            path: "/ShoppingMall/AppDesign/PageDesignList",
-            name: "PageDesignList",
-            meta: {
-              title: "页面设计",
-              access: nodes.PageSet,
-            },
-            fullPath: "/ShoppingMall/AppDesign/PageDesignList",
-          },
-          {
-            path: "/ShoppingMall/AppDesign/StartUpPage",
-            name: "StartUpPage",
-            meta: {
-              title: "启动页",
-              access: nodes.StartPage,
-            },
-            fullPath: "/ShoppingMall/AppDesign/StartUpPage",
-          },
-          {
-            path: "/ShoppingMall/AppDesign/AppStyle",
-            name: "AppStyle",
-            meta: {
-              title: "风格设置",
-              access: nodes.StyleSet,
-            },
-            fullPath: "/ShoppingMall/AppDesign/AppStyle",
-          },
-          {
-            path: "/ShoppingMall/AppDesign/CateSet",
-            name: "CateSet",
-            meta: {
-              title: "分类模版",
-              access: nodes.CategorySet,
-            },
-            fullPath: "/ShoppingMall/AppDesign/CateSet",
-          },
-        ],
-      },
-      {
-        path: "/ShoppingMall/mendianset/NoticeLsit",
-        name: "NoticeLsit",
-        meta: {
-          title: "公告设置",
-          access: nodes.Announcement,
-          remixIcon: "notification-3-line",
-        },
-        fullPath: "/ShoppingMall/mendianset/NoticeLsit",
-      },
-      // {
-      //   path: "/ShoppingMall/mendianset/NewsTemplate",
-      //   name: "NewsTemplate",
-      //   meta: {
-      //     title: "消息管理",
-      //     access: nodes.Announcement,
-      //     remixIcon: "message-2-line",
-      //   },
-      //   fullPath: "/ShoppingMall/mendianset/NewsTemplate",
-      // },
-      {
-        path: "/ShoppingMall/WxCode",
-        name: "WxCode",
-        fullPath: "/ShoppingMall/WxCode/WxCodeSet",
-        meta: {
-          title: "微信小程序",
-          remixIcon: "mini-program-line",
-        },
-        children: [
-          {
-            path: "/ShoppingMall/WxCode/WxCodeSet",
-            name: "WxCodeSet",
-            meta: {
-              title: "小程序设置",
-              access: nodes.WxCodeSet,
-            },
-            fullPath: "/ShoppingMall/WxCode/WxCodeSet",
-          },
-          {
-            path: "/ShoppingMall/WxCode/TemplateSet",
-            name: "TemplateSet",
-            meta: {
-              title: "小程序发布",
-              access: nodes.wxPush,
-            },
-            fullPath: "/ShoppingMall/WxCode/TemplateSet",
-          },
-        ],
-      },
-    ],
-    fullPath: "/ShoppingMall",
-  },
-  {
-    path: "/Application",
-    redirect: "/Application/Application",
-    alwaysShow: true,
-    meta: {
-      title: "应用",
-      remixIcon: "app-store-line",
-    },
-    children: [
-      {
-        path: "/Application/Application",
-        name: "Application",
-        meta: {
-          title: "应用中心",
-          access: nodes.Application,
-          remixIcon: "app-store-line",
-        },
-        fullPath: "/Application/Application",
-      },
-    ],
-    fullPath: "/Application",
-  },
-  {
-    path: "/MoneyGoodsBill",
-    alwaysShow: true,
-    meta: {
-      title: "钱货日清对账",
-      access: nodes.getTodayStatistics,
-      remixIcon: "app-store-line",
-    },
-    children: [
-      {
-        path: "/MoneyGoodsBill/index",
-        name: "InventoryStatistics",
-        meta: {
-          title: "库存日对账",
-          remixIcon: "hotel-line",
-          access: nodes.getTodayStatistics_statisticsInventoryStatistics,
-        },
-        fullPath: "/MoneyGoodsBill/index",
-      },
-      {
-        path: "/MoneyGoodsBill/saleBill",
-        name: "saleBill",
-        meta: {
-          title: "销售日对账",
-          remixIcon: "numbers-line",
-          access: nodes.getTodayStatistics_statisticsGetAllOrderData,
-        },
-        fullPath: "/MoneyGoodsBill/saleBill",
-      },
-      {
-        path: "/MoneyGoodsBill/FinanceBill",
-        name: "FinanceBill",
-        meta: {
-          title: "财务日对账",
-          remixIcon: "stack-line",
-          access: nodes.getTodayStatistics_statisticsGetTodayStatistics,
-        },
-        fullPath: "/MoneyGoodsBill/FinanceBill",
-      },
-      // {
-      //   path: "/MoneyGoodsBill/Profit",
-      //   name: "Profit",
-      //   meta: {
-      //     title: "利润表",
-      //     remixIcon: "stack-line",
-      //   },
-      //   fullPath: "/MoneyGoodsBill/Profit",
-      // },
-    ],
-    fullPath: "/MoneyGoodsBill",
-  },
-  {
-    path: "/Marketing",
-    fullPath: "/Marketing",
-    meta: {
-      title: "营销",
-      remixIcon: "coupon-3-line",
-    },
-    children: [
-      {
-        path: "/Marketing/MarketingList",
-        name: "MarketingList",
-        fullPath: "/Marketing/MarketingList/Coupon",
-        meta: {
-          title: "优惠券",
-          remixIcon: "coupon-3-line",
-        },
-        children: [
-          {
-            path: "/Marketing/MarketingList/Coupon",
-            name: "Coupon",
-            fullPath: "/Marketing/MarketingList/Coupon",
-            meta: {
-              title: "优惠券列表",
-              access: nodes.CouponList,
-            },
-          },
-          {
-            path: "/Marketing/MarketingList/ReleaseRecord",
-            name: "ReleaseRecord",
-            fullPath: "/Marketing/MarketingList/ReleaseRecord",
-            meta: {
-              title: "发放记录",
-              access: nodes.GrantLog,
-            },
-          },
-        ],
-      },
-      {
-        path: "/Marketing/Promotion",
-        name: "Promotion",
-        fullPath: "/Marketing/Promotion/PromotionList",
-        meta: {
-          title: "促销管理",
-          remixIcon: "bookmark-3-line",
-        },
-        children: [
-          {
-            path: "/Marketing/Promotion/PromotionList",
-            name: "PromotionList",
-            fullPath: "/Marketing/Promotion/PromotionList",
-            meta: {
-              title: "商品促销",
-              access: nodes.ActivityGoods,
-              remixIcon: "bookmark-3-line",
-            },
-          },
-        ],
-      },
-      {
-        path: "/Marketing/vip",
-        name: "Vip",
-        fullPath: "/Marketing/vip/membershipCard",
-        meta: {
-          title: "会员卡",
-          remixIcon: "vip-crown-2-line",
-        },
-        children: [
-          {
-            path: "/Marketing/vip/membershipCard",
-            name: "membershipCard",
-            fullPath: "/Marketing/vip/membershipCard",
-            meta: {
-              title: "会员卡管理",
-              access: nodes.MembershipCard,
-            },
-          },
-          {
-            path: "/Marketing/vip/CollectionRecords",
-            name: "PromotionList",
-            fullPath: "/Marketing/vip/CollectionRecords",
-            meta: {
-              title: "领取记录",
-              access: nodes.CollectionRecords,
-            },
-          },
-        ],
-      },
-      {
-        path: "/Marketing/SetMeal",
-        name: "SetMeal",
-        fullPath: "/Marketing/SetMeal/index",
-        meta: {
-          title: "组合套餐",
-          remixIcon: "git-repository-private-line",
-        },
-        children: [
-          {
-            path: "/Marketing/SetMeal/index",
-            name: "index",
-            fullPath: "/Marketing/SetMeal/index",
-            meta: {
-              title: "组合套餐",
-              access: nodes.Application_SetMeal,
-              remixIcon: "git-repository-private-line",
-            },
-          },
-        ],
-      },
-    ],
-  },
-  {
-    path: "/PointsMall",
-    fullPath: "/PointsMall",
-    meta: {
-      title: "积分商城",
-      remixIcon: "medal-line",
-      // access: nodes.Distribution,
-    },
-    children: [
-      {
-        path: "/PointsMall/GoodsManage",
-        name: "GoodsManage",
-        meta: {
-          title: "商品管理",
-          remixIcon: "medal-line",
-          access: nodes.PointsGoodsManage,
-        },
-        fullPath: "/PointsMall/GoodsManage",
-      },
-      {
-        path: "/PointsMall/ExchangeRecord",
-        name: "ExchangeRecord",
-        meta: {
-          title: "兑换记录",
-          remixIcon: "bill-line",
-          access: nodes.ExchangeRecord,
-        },
-        fullPath: "/PointsMall/ExchangeRecord",
-      },
-      {
-        path: "/PointsMall/PointRule",
-        name: "PointRule",
-        meta: {
-          title: "积分规则",
-          remixIcon: "price-tag-2-line",
-          access: nodes.PointRule,
-        },
-        fullPath: "/PointsMall/PointRule",
-      },
-    ],
-  },
-  {
-    path: "/saleCommission",
-    fullPath: "/saleCommission",
-    meta: {
-      title: "销售提成",
-      remixIcon: "money-cny-box-line",
-      access: nodes.saleCommission,
-    },
-    children: [
-      // {
-      //   path: "/saleCommission/CommissionList",
-      //   name: "CommissionList",
-      //   meta: {
-      //     title: "提成记录",
-      //   },
-      //   fullPath: "/saleCommission/CommissionList",
-      // },
-      {
-        path: "/saleCommission/CommissionRule",
-        name: "CommissionRule",
-        meta: {
-          title: "提成规则",
-          remixIcon: "article-line",
-          access: nodes.CommissionRule,
-        },
-        fullPath: "/saleCommission/CommissionRule",
-      },
-      {
-        path: "/saleCommission/CommissionStatistic",
-        name: "CommissionStatistic",
-        meta: {
-          title: "提成统计",
-          remixIcon: "file-chart-line",
-          access: nodes.CommissionStatistic,
-        },
-        fullPath: "/saleCommission/CommissionStatistic",
-      },
-    ],
-  },
-  {
-    path: "/Distribution",
-    fullPath: "/Distribution",
-    meta: {
-      title: "分销",
-      remixIcon: "funds-box-line",
-      access: nodes.Distribution,
-    },
-    children: [
-      {
-        path: "/Distribution/DOverview",
-        name: "DOverview",
-        meta: {
-          title: "分销商概览",
-          remixIcon: "funds-box-line",
-          access: nodes.DOverview,
-        },
-        fullPath: "/Distribution/DOverview",
-      },
-      {
-        path: "/Distribution/DGoodsList",
-        name: "DGoodsList",
-        meta: {
-          title: "分销商品",
-          remixIcon: "shopping-bag-2-line",
-          access: nodes.DGoodsList,
-        },
-        fullPath: "/Distribution/DGoodsList",
-      },
-      {
-        path: "/Distribution/DOrderList",
-        name: "DOrderList",
-        meta: {
-          title: "分销订单",
-          access: nodes.DOrderList,
-          remixIcon: "file-list-2-line",
-        },
-        fullPath: "/Distribution/DOrderList",
-      },
-      {
-        path: "/Distribution/DistributionList",
-        name: "DistributionList",
-        meta: {
-          title: "分销商等级",
-          remixIcon: "vip-diamond-line",
-          access: nodes.DistributionList,
-        },
-        fullPath: "/Distribution/DistributionList",
-      },
-      {
-        path: "/Distribution/Businessman",
-        name: "Businessman",
-        meta: {
-          title: "分销商管理",
-          remixIcon: "user-settings-line",
-          access: nodes.Businessman,
-        },
-        fullPath: "/Distribution/Businessman/NotAudit",
-        children: [
-          {
-            path: "/Distribution/Businessman/NotAudit",
-            name: "NotAudit",
-            meta: {
-              title: "待审核",
-              access: nodes.BusinessmangetAllBusinessman,
-            },
-            fullPath: "/Distribution/Businessman/NotAudit",
-          },
-          {
-            path: "/Distribution/Businessman/Distributor",
-            name: "Distributor",
-            meta: {
-              title: "分销商",
-              access: nodes.BusinessmangetAllBusinessman,
-            },
-            fullPath: "/Distribution/Businessman/Distributor",
-          },
-        ],
-      },
-      {
-        path: "/Distribution/CashOut",
-        name: "CashOutM",
-        meta: {
-          title: "提现管理",
-          remixIcon: "money-cny-circle-line",
-          access: nodes.CashOut,
-        },
-        fullPath: "/Distribution/CashOut/NotAuditCashOut",
-        children: [
-          {
-            path: "/Distribution/CashOut/NotAuditCashOut",
-            name: "NotAuditCashOut",
-            meta: {
-              title: "待审核",
-              access: nodes.CashOutgetAll,
-            },
-            fullPath: "/Distribution/CashOut/NotAuditCashOut",
-          },
-          {
-            path: "/Distribution/CashOut/NotCashOut",
-            name: "NotCashOut",
-            meta: {
-              title: "待打款",
-              access: nodes.CashOutgetAll,
-            },
-            fullPath: "/Distribution/CashOut/NotCashOut",
-          },
-          {
-            path: "/Distribution/CashOut/CashOut",
-            name: "CashOut",
-            meta: {
-              title: "已打款",
-              access: nodes.CashOutgetAll,
-            },
-            fullPath: "/Distribution/CashOut/CashOut",
-          },
-          {
-            path: "/Distribution/CashOut/Invalid",
-            name: "Invalid",
-            meta: {
-              title: "无效",
-              access: nodes.CashOutgetAll,
-            },
-            fullPath: "/Distribution/CashOut/Invalid",
-          },
-        ],
-      },
-      {
-        path: "/Distribution/DistributionSet",
-        name: "DistributionSet",
-        meta: {
-          title: "分销商设置",
-          remixIcon: "user-settings-line",
-          access: nodes.DistributionSet,
-        },
-        fullPath: "/Distribution/DistributionSet/BaseDSet",
-        children: [
-          {
-            path: "/Distribution/DistributionSet/BaseDSet",
-            name: "BaseDSet",
-            meta: {
-              title: "基础设置",
-              access: nodes.BaseDSet,
-            },
-            fullPath: "/Distribution/DistributionSet/BaseDSet",
-          },
-          {
-            path: "/Distribution/DistributionSet/SettlementSet",
-            name: "SettlementSet",
-            meta: {
-              title: "结算设置",
-              access: nodes.SettlementSet,
-            },
-            fullPath: "/Distribution/DistributionSet/SettlementSet",
-          },
-          {
-            path: "/Distribution/DistributionSet/TextSet",
-            name: "TextSet",
-            meta: {
-              title: "文字设置",
-              access: nodes.TextSet,
-            },
-            fullPath: "/Distribution/DistributionSet/TextSet",
-          },
-        ],
-      },
-    ],
-  },
-  {
-    path: "/BillTemplate",
-    redirect: "/BillTemplate/TemplateList",
-    alwaysShow: true,
-    meta: {
-      title: "单据模版",
-      remixIcon: "apps-line",
-      access: nodes.TemplateList,
-    },
-    children: [
-      {
-        path: "/BillTemplate/TemplateList",
-        name: "TemplateList",
-        meta: {
-          title: "模版列表",
-          remixIcon: "apps-line",
-          access: nodes.TemplateListgetAll,
-        },
-        fullPath: "/BillTemplate/TemplateList",
-      },
-    ],
-    fullPath: "/BillTemplate",
-  },
-  {
-    path: "/Supplier",
-    redirect: "/Supplier/supplierSet",
-    alwaysShow: true,
-    meta: {
-      title: "供应商管理端",
-      remixIcon: "apps-line",
-    },
-    children: [
-      {
-        path: "/Supplier/supplierSet",
-        name: "supplierSet",
-        meta: {
-          title: "设置",
-          remixIcon: "award-line",
-          access: nodes.Application_supplierManage,
-        },
-        fullPath: "/Supplier/supplierSet",
-      },
-      {
-        path: "/Supplier/offerSet",
-        name: "supplierSet",
-        meta: {
-          title: "报价单管理",
-          access: nodes.supplierManage_offerSet,
-          remixIcon: "bill-line",
-        },
-        fullPath: "/Supplier/offerSet",
-      },
-      {
-        path: "/Supplier/settlement",
-        name: "settlement",
-        meta: {
-          title: "结算管理",
-          access: nodes.supplierManage_SupplierSettlement,
-          remixIcon: "calendar-todo-line",
-        },
-        fullPath: "/Supplier/settlement",
-      },
-    ],
-    fullPath: "/Supplier",
-  },
-  {
-    path: "/Cashier",
-    redirect: "/Cashier/CashierList",
-    alwaysShow: true,
-    meta: {
-      title: "收银台",
-      remixIcon: "apps-line",
-      access: nodes.Cashier,
-    },
-    children: [
-      {
-        path: "/Cashier/CashierList",
-        name: "CashierList",
-        meta: {
-          title: "设置",
-          remixIcon: "settings-5-line",
-          access: nodes.cashierSet,
-        },
-        fullPath: "/Cashier/CashierList",
-      },
-      {
-        path: "/Cashier/Cashier",
-        name: "Cashier",
-        meta: {
-          title: "收银员",
-          remixIcon: "user-2-line",
-          access: nodes.Cashiers,
-        },
-        fullPath: "/Cashier/Cashier",
-      },
-      {
-        path: "/Cashier/ShoppingGuide",
-        name: "ShoppingGuide",
-        meta: {
-          title: "导购员",
-          remixIcon: "user-heart-line",
-          access: nodes.ShoppingGuide,
-        },
-        fullPath: "/Cashier/ShoppingGuide",
-      },
-      {
-        path: "/Cashier/Withdrawal",
-        name: "Withdrawal",
-        meta: {
-          title: "提成明细",
-          remixIcon: "file-list-3-line",
-          access: nodes.Withdrawal,
-        },
-        fullPath: "/Cashier/Withdrawal",
-      },
-      {
-        path: "/Cashier/Commission",
-        name: "Commission",
-        meta: {
-          title: "提成统计",
-          remixIcon: "exchange-funds-line",
-          access: nodes.Commission,
-        },
-        fullPath: "/Cashier/Commission",
-      },
-      {
-        path: "/Cashier/ShiftOver",
-        name: "ShiftOver",
-        meta: {
-          title: "交班记录",
-          remixIcon: "exchange-box-line",
-          access: nodes.ShiftOver,
-        },
-        fullPath: "/Cashier/ShiftOver",
-      },
-      {
-        path: "/order/saleO/CashierOrder",
-        name: "CashierOrder",
-        meta: {
-          title: "收银台订单",
-          access: nodes.saleOrderList,
-          remixIcon: "file-list-2-line",
-        },
-        fullPath: "/order/saleO/CashierOrder",
-      },
-    ],
-    fullPath: "/Cashier/CashierList",
-  },
-  {
-    path: "/Merchants",
-    redirect: "/Merchants/MerchantsOverview",
-    alwaysShow: true,
-    meta: {
-      title: "多商户",
-      remixIcon: "apps-line",
-    },
-    fullPath: "/Merchants/MerchantsOverview",
-    children: [
-      {
-        path: "/Merchants/MerchantsOverview",
-        name: "MerchantsOverview",
-        hidden: true,
-        meta: {
-          title: "商户概览",
-          remixIcon: "funds-box-line",
-        },
-        fullPath: "/Merchants/MerchantsOverview",
-      },
-      {
-        path: "/Merchants/MerchartsList",
-        meta: {
-          title: "商户管理",
-          remixIcon: "store-2-line",
-        },
-        fullPath: "/Merchants/MerchartsList",
-        children: [
-          {
-            path: "/Merchants/MerchartsList",
-            name: "MerchartsList",
-            meta: {
-              title: "商户列表",
-              access: nodes.MerchartsList,
-            },
-            fullPath: "/Merchants/MerchartsList",
-          },
-          // {
-          //   path: "/Merchants/Merchants",
-          //   name: "Merchants",
-          //   meta: {
-          //     title: "入驻申请",
-          //   },
-          //   fullPath: "/Merchants/Merchants",
-          // },
-          /*{
-            path: "/Merchants/MerchantsBin",
-            name: "MerchantsBin",
-            meta: {
-              title: "回收站",
-            },
-            fullPath: "/Merchants/MerchantsBin",
-          },*/
-        ],
-      },
-      {
-        path: "/Merchants/MerchartsShop",
-        meta: {
-          title: "商品管理",
-          remixIcon: "shopping-bag-line",
-        },
-        fullPath: "/Merchants/MerchartsShop",
-        children: [
-          {
-            path: "/Merchants/MerchartsShop",
-            name: "MerchartsShop",
-            meta: {
-              title: "商户商品",
-              access: nodes.MerchartsGoods,
-            },
-            fullPath: "/Merchants/MerchartsShop",
-          },
-          // {
-          //   path: "/Merchants/MerchantsExamine",
-          //   name: "Merchants",
-          //   meta: {
-          //     title: "待审核商品",
-          //   },
-          //   fullPath: "/Merchants/MerchantsExamine",
-          // },
-        ],
-      },
-      /* {
-        path: "/Merchants/MerchantsOrder",
-        meta: {
-          title: "订单管理",
-          remixIcon: "list-unordered",
-        },
-        fullPath: "/Merchants/MerchantsOrder",
-        children: [
-          {
-            path: "/Merchants/MerchantsOrder",
-            name: "MerchantsOrder",
-            meta: {
-              title: "商户订单",
-              remixIcon: "list-unordered",
-            },
-            fullPath: "/Merchants/MerchantsOrder",
-          },
-          /!* {
-            path: "/Merchants/SafeguardingOrder",
-            name: "SafeguardingOrder",
-            meta: {
-              title: "维权订单",
-            },
-            fullPath: "/Merchants/SafeguardingOrder",
-          },*!/
-        ],
-      },*/
-      {
-        path: "/Merchants/MerchantsSettlement",
-        name: "MerchantsSettlement",
-        meta: {
-          title: "结算管理",
-          // remixIcon: "secure-payment-line",
-          access: nodes.MerchantsSettlement,
-        },
-        fullPath: "/Merchants/MerchantsSettlement",
-      },
-      {
-        path: "/Merchants/BasicsSet",
-        meta: {
-          title: "设置",
-          remixIcon: "settings-4-line",
-        },
-        fullPath: "/Merchants/BasicsSet",
-        children: [
-          {
-            path: "/Merchants/MerchantsBasicsSet",
-            name: "MerchantsBasicsSet",
-            meta: {
-              title: "基础设置",
-              access: nodes.MerchantsSettlementMerchantsBasicsSet,
-            },
-            fullPath: "/Merchants/MerchantsBasicsSet",
-          },
-          // {
-          //   path: "/Merchants/MerchantsInSet",
-          //   name: "MerchantsInSet",
-          //   meta: {
-          //     title: "入驻设置",
-          //   },
-          //   fullPath: "/Merchants/MerchantsInSet",
-          // },
-          // {
-          //   path: "/Merchants/MerchantsListSet",
-          //   name: "MerchantsListSet",
-          //   meta: {
-          //     title: "商户列表",
-          //   },
-          //   fullPath: "/Merchants/MerchantsListSet",
-          // },
-        ],
-      },
-    ],
-  },
-  {
-    path: "/Multistore",
-    redirect: "/Multistore/StoreList",
-    alwaysShow: true,
-    meta: {
-      title: "多门店",
-      remixIcon: "apps-line",
-    },
-    fullPath: "/Multistore/StoreList",
-    children: [
-      {
-        path: "/Multistore/StoreList",
-        name: "StoreList",
-        meta: {
-          title: "门店管理",
-          access: nodes.Multistore_MultistoreList,
-          remixIcon: "store-3-line",
-        },
-        fullPath: "/Multistore/StoreList",
-      },
-      // {
-      //   path: "/Multistore/GoodsList",
-      //   name: "GoodsList",
-      //   meta: {
-      //     title: "商品管理",
-      //     remixIcon: "shopping-bag-line",
-      //   },
-      //   fullPath: "/Multistore/GoodsList",
-      // },
-      // {
-      //   path: "/Multistore/StoreData",
-      //   name: "StoreData",
-      //   meta: {
-      //     title: "门店数据",
-      //     remixIcon: "computer-line",
-      //   },
-      //   fullPath: "/Multistore/StoreData",
-      // },
-      {
-        path: "/Multistore/StoreSet",
-        name: "StoreSet",
-        meta: {
-          title: "功能设置",
-          access: nodes.Multistore_StoreSet,
-          remixIcon: "settings-4-line",
-        },
-        fullPath: "/Multistore/StoreSet",
-      },
-    ],
-  },
+			{
+				path: "/SystemSettings/accountAdmin",
+				name: "AccountAdmin",
+				fullPath: "/SystemSettings/accountAdmin/Department",
+				meta: {
+					title: "组织设置",
+					remixIcon: "user-settings-line",
+				},
+				children: [{
+						path: "/SystemSettings/accountAdmin/Department",
+						name: "Department",
+						meta: {
+							title: "部门管理",
+							access: nodes.Department,
+						},
+						fullPath: "/SystemSettings/accountAdmin/Department",
+					},
+					{
+						path: "/SystemSettings/accountAdmin/Role",
+						name: "Role",
+						meta: {
+							title: "角色管理",
+							access: nodes.Role,
+						},
+						fullPath: "/SystemSettings/accountAdmin/Role",
+					},
+					{
+						path: "/SystemSettings/accountAdmin/Staff",
+						name: "Staff",
+						meta: {
+							title: "员工管理",
+							access: nodes.Staff,
+						},
+						fullPath: "/SystemSettings/accountAdmin/Staff",
+					},
+					{
+						path: "/SystemSettings/accountAdmin/LoginRecord",
+						name: "LoginRecord",
+						hidden: true,
+						meta: {
+							title: "登录日志",
+							access: nodes.LoginRecord,
+						},
+						fullPath: "/SystemSettings/accountAdmin/LoginRecord",
+					},
+				],
+			},
+			{
+				path: "/ShoppingMall/AppDesign",
+				name: "AppDesign",
+				hidden: true,
+				fullPath: "/ShoppingMall/AppDesign/PageDesignList",
+				meta: {
+					title: "店铺装修",
+					remixIcon: "brush-3-line",
+				},
+				children: [{
+						path: "/ShoppingMall/AppDesign/PageDesignList",
+						name: "PageDesignList",
+						meta: {
+							title: "页面设计",
+							access: nodes.PageSet,
+						},
+						fullPath: "/ShoppingMall/AppDesign/PageDesignList",
+					},
+					{
+						path: "/ShoppingMall/AppDesign/StartUpPage",
+						name: "StartUpPage",
+						meta: {
+							title: "启动页",
+							access: nodes.StartPage,
+						},
+						fullPath: "/ShoppingMall/AppDesign/StartUpPage",
+					},
+					{
+						path: "/ShoppingMall/AppDesign/AppStyle",
+						name: "AppStyle",
+						meta: {
+							title: "风格设置",
+							access: nodes.StyleSet,
+						},
+						fullPath: "/ShoppingMall/AppDesign/AppStyle",
+					},
+					{
+						path: "/ShoppingMall/AppDesign/CateSet",
+						name: "CateSet",
+						meta: {
+							title: "分类模版",
+							access: nodes.CategorySet,
+						},
+						fullPath: "/ShoppingMall/AppDesign/CateSet",
+					},
+				],
+			},
+			{
+				path: "/ShoppingMall/mendianset/NoticeLsit",
+				name: "NoticeLsit",
+				hidden: true,
+				meta: {
+					title: "公告设置",
+					access: nodes.Announcement,
+					remixIcon: "notification-3-line",
+				},
+				fullPath: "/ShoppingMall/mendianset/NoticeLsit",
+			},
+			// {
+			//   path: "/ShoppingMall/mendianset/NewsTemplate",
+			//   name: "NewsTemplate",
+			//   meta: {
+			//     title: "消息管理",
+			//     access: nodes.Announcement,
+			//     remixIcon: "message-2-line",
+			//   },
+			//   fullPath: "/ShoppingMall/mendianset/NewsTemplate",
+			// },
+			{
+				path: "/ShoppingMall/WxCode",
+				name: "WxCode",
+				hidden: true,
+				fullPath: "/ShoppingMall/WxCode/WxCodeSet",
+				meta: {
+					title: "微信小程序",
+					remixIcon: "mini-program-line",
+				},
+				children: [{
+						path: "/ShoppingMall/WxCode/WxCodeSet",
+						name: "WxCodeSet",
+						meta: {
+							title: "小程序设置",
+							access: nodes.WxCodeSet,
+						},
+						fullPath: "/ShoppingMall/WxCode/WxCodeSet",
+					},
+					{
+						path: "/ShoppingMall/WxCode/TemplateSet",
+						name: "TemplateSet",
+						meta: {
+							title: "小程序发布",
+							access: nodes.wxPush,
+						},
+						fullPath: "/ShoppingMall/WxCode/TemplateSet",
+					},
+				],
+			},
+		],
+		fullPath: "/SystemSettings",
+	},
+	{
+		path: "/ShoppingMall",
+		redirect: "/ShoppingMall/mendianset/BaseSet",
+		meta: {
+			title: "商城",
+			remixIcon: "store-2-line",
+		},
+		children: [{
+				path: "/ShoppingMall/AppDesign",
+				name: "AppDesign",
+				fullPath: "/ShoppingMall/AppDesign/PageDesignList",
+				meta: {
+					title: "店铺装修",
+					remixIcon: "brush-3-line",
+				},
+				children: [{
+						path: "/ShoppingMall/AppDesign/PageDesignList",
+						name: "PageDesignList",
+						meta: {
+							title: "页面设计",
+							access: nodes.PageSet,
+						},
+						fullPath: "/ShoppingMall/AppDesign/PageDesignList",
+					},
+					{
+						path: "/ShoppingMall/AppDesign/StartUpPage",
+						name: "StartUpPage",
+						meta: {
+							title: "启动页",
+							access: nodes.StartPage,
+						},
+						fullPath: "/ShoppingMall/AppDesign/StartUpPage",
+					},
+					{
+						path: "/ShoppingMall/AppDesign/AppStyle",
+						name: "AppStyle",
+						meta: {
+							title: "风格设置",
+							access: nodes.StyleSet,
+						},
+						fullPath: "/ShoppingMall/AppDesign/AppStyle",
+					},
+					{
+						path: "/ShoppingMall/AppDesign/CateSet",
+						name: "CateSet",
+						meta: {
+							title: "分类模版",
+							access: nodes.CategorySet,
+						},
+						fullPath: "/ShoppingMall/AppDesign/CateSet",
+					},
+				],
+			},
+			{
+				path: "/ShoppingMall/mendianset/NoticeLsit",
+				name: "NoticeLsit",
+				meta: {
+					title: "公告设置",
+					access: nodes.Announcement,
+					remixIcon: "notification-3-line",
+				},
+				fullPath: "/ShoppingMall/mendianset/NoticeLsit",
+			},
+			// {
+			//   path: "/ShoppingMall/mendianset/NewsTemplate",
+			//   name: "NewsTemplate",
+			//   meta: {
+			//     title: "消息管理",
+			//     access: nodes.Announcement,
+			//     remixIcon: "message-2-line",
+			//   },
+			//   fullPath: "/ShoppingMall/mendianset/NewsTemplate",
+			// },
+			{
+				path: "/ShoppingMall/WxCode",
+				name: "WxCode",
+				fullPath: "/ShoppingMall/WxCode/WxCodeSet",
+				meta: {
+					title: "微信小程序",
+					remixIcon: "mini-program-line",
+				},
+				children: [{
+						path: "/ShoppingMall/WxCode/WxCodeSet",
+						name: "WxCodeSet",
+						meta: {
+							title: "小程序设置",
+							access: nodes.WxCodeSet,
+						},
+						fullPath: "/ShoppingMall/WxCode/WxCodeSet",
+					},
+					{
+						path: "/ShoppingMall/WxCode/TemplateSet",
+						name: "TemplateSet",
+						meta: {
+							title: "小程序发布",
+							access: nodes.wxPush,
+						},
+						fullPath: "/ShoppingMall/WxCode/TemplateSet",
+					},
+				],
+			},
+		],
+		fullPath: "/ShoppingMall",
+	},
+	{
+		path: "/Application",
+		redirect: "/Application/Application",
+		alwaysShow: true,
+		meta: {
+			title: "应用",
+			remixIcon: "app-store-line",
+		},
+		children: [{
+			path: "/Application/Application",
+			name: "Application",
+			meta: {
+				title: "应用中心",
+				access: nodes.Application,
+				remixIcon: "app-store-line",
+			},
+			fullPath: "/Application/Application",
+		}, ],
+		fullPath: "/Application",
+	},
+	{
+		path: "/MoneyGoodsBill",
+		alwaysShow: true,
+		meta: {
+			title: "钱货日清对账",
+			access: nodes.getTodayStatistics,
+			remixIcon: "app-store-line",
+		},
+		children: [{
+				path: "/MoneyGoodsBill/index",
+				name: "InventoryStatistics",
+				meta: {
+					title: "库存日对账",
+					remixIcon: "hotel-line",
+					access: nodes.getTodayStatistics_statisticsInventoryStatistics,
+				},
+				fullPath: "/MoneyGoodsBill/index",
+			},
+			{
+				path: "/MoneyGoodsBill/saleBill",
+				name: "saleBill",
+				meta: {
+					title: "销售日对账",
+					remixIcon: "numbers-line",
+					access: nodes.getTodayStatistics_statisticsGetAllOrderData,
+				},
+				fullPath: "/MoneyGoodsBill/saleBill",
+			},
+			{
+				path: "/MoneyGoodsBill/FinanceBill",
+				name: "FinanceBill",
+				meta: {
+					title: "财务日对账",
+					remixIcon: "stack-line",
+					access: nodes.getTodayStatistics_statisticsGetTodayStatistics,
+				},
+				fullPath: "/MoneyGoodsBill/FinanceBill",
+			},
+			// {
+			//   path: "/MoneyGoodsBill/Profit",
+			//   name: "Profit",
+			//   meta: {
+			//     title: "利润表",
+			//     remixIcon: "stack-line",
+			//   },
+			//   fullPath: "/MoneyGoodsBill/Profit",
+			// },
+		],
+		fullPath: "/MoneyGoodsBill",
+	},
+	{
+		path: "/Marketing",
+		fullPath: "/Marketing",
+		meta: {
+			title: "营销",
+			remixIcon: "coupon-3-line",
+		},
+		children: [{
+				path: "/Marketing/MarketingList",
+				name: "MarketingList",
+				fullPath: "/Marketing/MarketingList/Coupon",
+				meta: {
+					title: "优惠券",
+					remixIcon: "coupon-3-line",
+				},
+				children: [{
+						path: "/Marketing/MarketingList/Coupon",
+						name: "Coupon",
+						fullPath: "/Marketing/MarketingList/Coupon",
+						meta: {
+							title: "优惠券列表",
+							access: nodes.CouponList,
+						},
+					},
+					{
+						path: "/Marketing/MarketingList/ReleaseRecord",
+						name: "ReleaseRecord",
+						fullPath: "/Marketing/MarketingList/ReleaseRecord",
+						meta: {
+							title: "发放记录",
+							access: nodes.GrantLog,
+						},
+					},
+				],
+			},
+			{
+				path: "/Marketing/Promotion",
+				name: "Promotion",
+				fullPath: "/Marketing/Promotion/PromotionList",
+				meta: {
+					title: "促销管理",
+					remixIcon: "bookmark-3-line",
+				},
+				children: [{
+					path: "/Marketing/Promotion/PromotionList",
+					name: "PromotionList",
+					fullPath: "/Marketing/Promotion/PromotionList",
+					meta: {
+						title: "商品促销",
+						access: nodes.ActivityGoods,
+						remixIcon: "bookmark-3-line",
+					},
+				}, ],
+			},
+			{
+				path: "/Marketing/vip",
+				name: "Vip",
+				fullPath: "/Marketing/vip/membershipCard",
+				meta: {
+					title: "会员卡",
+					remixIcon: "vip-crown-2-line",
+				},
+				children: [{
+						path: "/Marketing/vip/membershipCard",
+						name: "membershipCard",
+						fullPath: "/Marketing/vip/membershipCard",
+						meta: {
+							title: "会员卡管理",
+							access: nodes.MembershipCard,
+						},
+					},
+					{
+						path: "/Marketing/vip/CollectionRecords",
+						name: "PromotionList",
+						fullPath: "/Marketing/vip/CollectionRecords",
+						meta: {
+							title: "领取记录",
+							access: nodes.CollectionRecords,
+						},
+					},
+				],
+			},
+			{
+				path: "/Marketing/SetMeal",
+				name: "SetMeal",
+				fullPath: "/Marketing/SetMeal/index",
+				meta: {
+					title: "组合套餐",
+					remixIcon: "git-repository-private-line",
+				},
+				children: [{
+					path: "/Marketing/SetMeal/index",
+					name: "index",
+					fullPath: "/Marketing/SetMeal/index",
+					meta: {
+						title: "组合套餐",
+						access: nodes.Application_SetMeal,
+						remixIcon: "git-repository-private-line",
+					},
+				}, ],
+			},
+		],
+	},
+	{
+		path: "/PointsMall",
+		fullPath: "/PointsMall",
+		meta: {
+			title: "积分商城",
+			remixIcon: "medal-line",
+			// access: nodes.Distribution,
+		},
+		children: [{
+				path: "/PointsMall/GoodsManage",
+				name: "GoodsManage",
+				meta: {
+					title: "商品管理",
+					remixIcon: "medal-line",
+					access: nodes.PointsGoodsManage,
+				},
+				fullPath: "/PointsMall/GoodsManage",
+			},
+			{
+				path: "/PointsMall/ExchangeRecord",
+				name: "ExchangeRecord",
+				meta: {
+					title: "兑换记录",
+					remixIcon: "bill-line",
+					access: nodes.ExchangeRecord,
+				},
+				fullPath: "/PointsMall/ExchangeRecord",
+			},
+			{
+				path: "/PointsMall/PointRule",
+				name: "PointRule",
+				meta: {
+					title: "积分规则",
+					remixIcon: "price-tag-2-line",
+					access: nodes.PointRule,
+				},
+				fullPath: "/PointsMall/PointRule",
+			},
+		],
+	},
+	{
+		path: "/saleCommission",
+		fullPath: "/saleCommission",
+		meta: {
+			title: "销售提成",
+			remixIcon: "money-cny-box-line",
+			access: nodes.saleCommission,
+		},
+		children: [
+			// {
+			//   path: "/saleCommission/CommissionList",
+			//   name: "CommissionList",
+			//   meta: {
+			//     title: "提成记录",
+			//   },
+			//   fullPath: "/saleCommission/CommissionList",
+			// },
+			{
+				path: "/saleCommission/CommissionRule",
+				name: "CommissionRule",
+				meta: {
+					title: "提成规则",
+					remixIcon: "article-line",
+					access: nodes.CommissionRule,
+				},
+				fullPath: "/saleCommission/CommissionRule",
+			},
+			{
+				path: "/saleCommission/CommissionStatistic",
+				name: "CommissionStatistic",
+				meta: {
+					title: "提成统计",
+					remixIcon: "file-chart-line",
+					access: nodes.CommissionStatistic,
+				},
+				fullPath: "/saleCommission/CommissionStatistic",
+			},
+		],
+	},
+	{
+		path: "/Distribution",
+		fullPath: "/Distribution",
+		meta: {
+			title: "分销",
+			remixIcon: "funds-box-line",
+			access: nodes.Distribution,
+		},
+		children: [{
+				path: "/Distribution/DOverview",
+				name: "DOverview",
+				meta: {
+					title: "分销商概览",
+					remixIcon: "funds-box-line",
+					access: nodes.DOverview,
+				},
+				fullPath: "/Distribution/DOverview",
+			},
+			{
+				path: "/Distribution/DGoodsList",
+				name: "DGoodsList",
+				meta: {
+					title: "分销商品",
+					remixIcon: "shopping-bag-2-line",
+					access: nodes.DGoodsList,
+				},
+				fullPath: "/Distribution/DGoodsList",
+			},
+			{
+				path: "/Distribution/DOrderList",
+				name: "DOrderList",
+				meta: {
+					title: "分销订单",
+					access: nodes.DOrderList,
+					remixIcon: "file-list-2-line",
+				},
+				fullPath: "/Distribution/DOrderList",
+			},
+			{
+				path: "/Distribution/DistributionList",
+				name: "DistributionList",
+				meta: {
+					title: "分销商等级",
+					remixIcon: "vip-diamond-line",
+					access: nodes.DistributionList,
+				},
+				fullPath: "/Distribution/DistributionList",
+			},
+			{
+				path: "/Distribution/Businessman",
+				name: "Businessman",
+				meta: {
+					title: "分销商管理",
+					remixIcon: "user-settings-line",
+					access: nodes.Businessman,
+				},
+				fullPath: "/Distribution/Businessman/NotAudit",
+				children: [{
+						path: "/Distribution/Businessman/NotAudit",
+						name: "NotAudit",
+						meta: {
+							title: "待审核",
+							access: nodes.BusinessmangetAllBusinessman,
+						},
+						fullPath: "/Distribution/Businessman/NotAudit",
+					},
+					{
+						path: "/Distribution/Businessman/Distributor",
+						name: "Distributor",
+						meta: {
+							title: "分销商",
+							access: nodes.BusinessmangetAllBusinessman,
+						},
+						fullPath: "/Distribution/Businessman/Distributor",
+					},
+				],
+			},
+			{
+				path: "/Distribution/CashOut",
+				name: "CashOutM",
+				meta: {
+					title: "提现管理",
+					remixIcon: "money-cny-circle-line",
+					access: nodes.CashOut,
+				},
+				fullPath: "/Distribution/CashOut/NotAuditCashOut",
+				children: [{
+						path: "/Distribution/CashOut/NotAuditCashOut",
+						name: "NotAuditCashOut",
+						meta: {
+							title: "待审核",
+							access: nodes.CashOutgetAll,
+						},
+						fullPath: "/Distribution/CashOut/NotAuditCashOut",
+					},
+					{
+						path: "/Distribution/CashOut/NotCashOut",
+						name: "NotCashOut",
+						meta: {
+							title: "待打款",
+							access: nodes.CashOutgetAll,
+						},
+						fullPath: "/Distribution/CashOut/NotCashOut",
+					},
+					{
+						path: "/Distribution/CashOut/CashOut",
+						name: "CashOut",
+						meta: {
+							title: "已打款",
+							access: nodes.CashOutgetAll,
+						},
+						fullPath: "/Distribution/CashOut/CashOut",
+					},
+					{
+						path: "/Distribution/CashOut/Invalid",
+						name: "Invalid",
+						meta: {
+							title: "无效",
+							access: nodes.CashOutgetAll,
+						},
+						fullPath: "/Distribution/CashOut/Invalid",
+					},
+				],
+			},
+			{
+				path: "/Distribution/DistributionSet",
+				name: "DistributionSet",
+				meta: {
+					title: "分销商设置",
+					remixIcon: "user-settings-line",
+					access: nodes.DistributionSet,
+				},
+				fullPath: "/Distribution/DistributionSet/BaseDSet",
+				children: [{
+						path: "/Distribution/DistributionSet/BaseDSet",
+						name: "BaseDSet",
+						meta: {
+							title: "基础设置",
+							access: nodes.BaseDSet,
+						},
+						fullPath: "/Distribution/DistributionSet/BaseDSet",
+					},
+					{
+						path: "/Distribution/DistributionSet/SettlementSet",
+						name: "SettlementSet",
+						meta: {
+							title: "结算设置",
+							access: nodes.SettlementSet,
+						},
+						fullPath: "/Distribution/DistributionSet/SettlementSet",
+					},
+					{
+						path: "/Distribution/DistributionSet/TextSet",
+						name: "TextSet",
+						meta: {
+							title: "文字设置",
+							access: nodes.TextSet,
+						},
+						fullPath: "/Distribution/DistributionSet/TextSet",
+					},
+				],
+			},
+		],
+	},
+	{
+		path: "/BillTemplate",
+		redirect: "/BillTemplate/TemplateList",
+		alwaysShow: true,
+		meta: {
+			title: "单据模版",
+			remixIcon: "apps-line",
+			access: nodes.TemplateList,
+		},
+		children: [{
+			path: "/BillTemplate/TemplateList",
+			name: "TemplateList",
+			meta: {
+				title: "模版列表",
+				remixIcon: "apps-line",
+				access: nodes.TemplateListgetAll,
+			},
+			fullPath: "/BillTemplate/TemplateList",
+		}, ],
+		fullPath: "/BillTemplate",
+	},
+	{
+		path: "/Supplier",
+		redirect: "/Supplier/supplierSet",
+		alwaysShow: true,
+		meta: {
+			title: "供应商管理端",
+			remixIcon: "apps-line",
+		},
+		children: [{
+				path: "/Supplier/supplierSet",
+				name: "supplierSet",
+				meta: {
+					title: "设置",
+					remixIcon: "award-line",
+					access: nodes.Application_supplierManage,
+				},
+				fullPath: "/Supplier/supplierSet",
+			},
+			{
+				path: "/Supplier/offerSet",
+				name: "supplierSet",
+				meta: {
+					title: "报价单管理",
+					access: nodes.supplierManage_offerSet,
+					remixIcon: "bill-line",
+				},
+				fullPath: "/Supplier/offerSet",
+			},
+			{
+				path: "/Supplier/settlement",
+				name: "settlement",
+				meta: {
+					title: "结算管理",
+					access: nodes.supplierManage_SupplierSettlement,
+					remixIcon: "calendar-todo-line",
+				},
+				fullPath: "/Supplier/settlement",
+			},
+		],
+		fullPath: "/Supplier",
+	},
+	{
+		path: "/Cashier",
+		redirect: "/Cashier/CashierList",
+		alwaysShow: true,
+		meta: {
+			title: "收银台",
+			remixIcon: "apps-line",
+			access: nodes.Cashier,
+		},
+		children: [{
+				path: "/Cashier/CashierList",
+				name: "CashierList",
+				meta: {
+					title: "设置",
+					remixIcon: "settings-5-line",
+					access: nodes.cashierSet,
+				},
+				fullPath: "/Cashier/CashierList",
+			},
+			{
+				path: "/Cashier/Cashier",
+				name: "Cashier",
+				meta: {
+					title: "收银员",
+					remixIcon: "user-2-line",
+					access: nodes.Cashiers,
+				},
+				fullPath: "/Cashier/Cashier",
+			},
+			{
+				path: "/Cashier/ShoppingGuide",
+				name: "ShoppingGuide",
+				meta: {
+					title: "导购员",
+					remixIcon: "user-heart-line",
+					access: nodes.ShoppingGuide,
+				},
+				fullPath: "/Cashier/ShoppingGuide",
+			},
+			{
+				path: "/Cashier/Withdrawal",
+				name: "Withdrawal",
+				meta: {
+					title: "提成明细",
+					remixIcon: "file-list-3-line",
+					access: nodes.Withdrawal,
+				},
+				fullPath: "/Cashier/Withdrawal",
+			},
+			{
+				path: "/Cashier/Commission",
+				name: "Commission",
+				meta: {
+					title: "提成统计",
+					remixIcon: "exchange-funds-line",
+					access: nodes.Commission,
+				},
+				fullPath: "/Cashier/Commission",
+			},
+			{
+				path: "/Cashier/ShiftOver",
+				name: "ShiftOver",
+				meta: {
+					title: "交班记录",
+					remixIcon: "exchange-box-line",
+					access: nodes.ShiftOver,
+				},
+				fullPath: "/Cashier/ShiftOver",
+			},
+			{
+				path: "/order/saleO/CashierOrder",
+				name: "CashierOrder",
+				meta: {
+					title: "收银台订单",
+					access: nodes.saleOrderList,
+					remixIcon: "file-list-2-line",
+				},
+				fullPath: "/order/saleO/CashierOrder",
+			},
+		],
+		fullPath: "/Cashier/CashierList",
+	},
+	{
+		path: "/Merchants",
+		redirect: "/Merchants/MerchantsOverview",
+		alwaysShow: true,
+		meta: {
+			title: "多商户",
+			remixIcon: "apps-line",
+		},
+		fullPath: "/Merchants/MerchantsOverview",
+		children: [{
+				path: "/Merchants/MerchantsOverview",
+				name: "MerchantsOverview",
+				hidden: true,
+				meta: {
+					title: "商户概览",
+					remixIcon: "funds-box-line",
+				},
+				fullPath: "/Merchants/MerchantsOverview",
+			},
+			{
+				path: "/Merchants/MerchartsList",
+				meta: {
+					title: "商户管理",
+					remixIcon: "store-2-line",
+				},
+				fullPath: "/Merchants/MerchartsList",
+				children: [{
+						path: "/Merchants/MerchartsList",
+						name: "MerchartsList",
+						meta: {
+							title: "商户列表",
+							access: nodes.MerchartsList,
+						},
+						fullPath: "/Merchants/MerchartsList",
+					},
+					// {
+					//   path: "/Merchants/Merchants",
+					//   name: "Merchants",
+					//   meta: {
+					//     title: "入驻申请",
+					//   },
+					//   fullPath: "/Merchants/Merchants",
+					// },
+					/*{
+					  path: "/Merchants/MerchantsBin",
+					  name: "MerchantsBin",
+					  meta: {
+					    title: "回收站",
+					  },
+					  fullPath: "/Merchants/MerchantsBin",
+					},*/
+				],
+			},
+			{
+				path: "/Merchants/MerchartsShop",
+				meta: {
+					title: "商品管理",
+					remixIcon: "shopping-bag-line",
+				},
+				fullPath: "/Merchants/MerchartsShop",
+				children: [{
+						path: "/Merchants/MerchartsShop",
+						name: "MerchartsShop",
+						meta: {
+							title: "商户商品",
+							access: nodes.MerchartsGoods,
+						},
+						fullPath: "/Merchants/MerchartsShop",
+					},
+					// {
+					//   path: "/Merchants/MerchantsExamine",
+					//   name: "Merchants",
+					//   meta: {
+					//     title: "待审核商品",
+					//   },
+					//   fullPath: "/Merchants/MerchantsExamine",
+					// },
+				],
+			},
+			/* {
+			  path: "/Merchants/MerchantsOrder",
+			  meta: {
+			    title: "订单管理",
+			    remixIcon: "list-unordered",
+			  },
+			  fullPath: "/Merchants/MerchantsOrder",
+			  children: [
+			    {
+			      path: "/Merchants/MerchantsOrder",
+			      name: "MerchantsOrder",
+			      meta: {
+			        title: "商户订单",
+			        remixIcon: "list-unordered",
+			      },
+			      fullPath: "/Merchants/MerchantsOrder",
+			    },
+			    /!* {
+			      path: "/Merchants/SafeguardingOrder",
+			      name: "SafeguardingOrder",
+			      meta: {
+			        title: "维权订单",
+			      },
+			      fullPath: "/Merchants/SafeguardingOrder",
+			    },*!/
+			  ],
+			},*/
+			{
+				path: "/Merchants/MerchantsSettlement",
+				name: "MerchantsSettlement",
+				meta: {
+					title: "结算管理",
+					// remixIcon: "secure-payment-line",
+					access: nodes.MerchantsSettlement,
+				},
+				fullPath: "/Merchants/MerchantsSettlement",
+			},
+			{
+				path: "/Merchants/BasicsSet",
+				meta: {
+					title: "设置",
+					remixIcon: "settings-4-line",
+				},
+				fullPath: "/Merchants/BasicsSet",
+				children: [{
+						path: "/Merchants/MerchantsBasicsSet",
+						name: "MerchantsBasicsSet",
+						meta: {
+							title: "基础设置",
+							access: nodes.MerchantsSettlementMerchantsBasicsSet,
+						},
+						fullPath: "/Merchants/MerchantsBasicsSet",
+					},
+					// {
+					//   path: "/Merchants/MerchantsInSet",
+					//   name: "MerchantsInSet",
+					//   meta: {
+					//     title: "入驻设置",
+					//   },
+					//   fullPath: "/Merchants/MerchantsInSet",
+					// },
+					// {
+					//   path: "/Merchants/MerchantsListSet",
+					//   name: "MerchantsListSet",
+					//   meta: {
+					//     title: "商户列表",
+					//   },
+					//   fullPath: "/Merchants/MerchantsListSet",
+					// },
+				],
+			},
+		],
+	},
+	{
+		path: "/Multistore",
+		redirect: "/Multistore/StoreList",
+		alwaysShow: true,
+		meta: {
+			title: "多门店",
+			remixIcon: "apps-line",
+		},
+		fullPath: "/Multistore/StoreList",
+		children: [{
+				path: "/Multistore/StoreList",
+				name: "StoreList",
+				meta: {
+					title: "门店管理",
+					access: nodes.Multistore_MultistoreList,
+					remixIcon: "store-3-line",
+				},
+				fullPath: "/Multistore/StoreList",
+			},
+			// {
+			//   path: "/Multistore/GoodsList",
+			//   name: "GoodsList",
+			//   meta: {
+			//     title: "商品管理",
+			//     remixIcon: "shopping-bag-line",
+			//   },
+			//   fullPath: "/Multistore/GoodsList",
+			// },
+			// {
+			//   path: "/Multistore/StoreData",
+			//   name: "StoreData",
+			//   meta: {
+			//     title: "门店数据",
+			//     remixIcon: "computer-line",
+			//   },
+			//   fullPath: "/Multistore/StoreData",
+			// },
+			{
+				path: "/Multistore/StoreSet",
+				name: "StoreSet",
+				meta: {
+					title: "功能设置",
+					access: nodes.Multistore_StoreSet,
+					remixIcon: "settings-4-line",
+				},
+				fullPath: "/Multistore/StoreSet",
+			},
+		],
+	},
 ];
 export function menus() {
-  // return menusList;
-  const di = (items) => {
-    return items.reduce((container, item) => {
-      let { children } = item;
-      if (children) {
-        children = di(children);
-      }
-      if (children && !children.length) {
-        return container;
-      }
-      if (
-        (children && children.length) ||
-        checkActionAccess(item.meta.access)
-      ) {
-        const target = children ? { ...item, children } : item;
-        container.push(target);
-      }
+	// return menusList;
+	const di = (items) => {
+		return items.reduce((container, item) => {
+			let {
+				children
+			} = item;
+			if (children) {
+				children = di(children);
+			}
+			if (children && !children.length) {
+				return container;
+			}
+			if (
+				(children && children.length) ||
+				checkActionAccess(item.meta.access)
+			) {
+				const target = children ? {
+					...item,
+					children
+				} : item;
+				container.push(target);
+			}
 
-      // 重置菜单父级的fullPath,避免首个进入页面没有权限而导致整个菜单没办法使用
-      container = container.map((item) => {
-        let handelShow = 5;
-        if (item.meta.title === "商品资料") {
-          handelShow = parseInt(store.getters["MUser/enterpriseScope"]);
-        } else if (item.meta.title === "保质期查询") {
-          handelShow = parseInt(store.getters["MUser/shelfLifeSetUp"]);
-        } else if (item.meta.title === "商铺列表") {
-          // 多店铺隐藏商铺列表,单店铺显示
-          handelShow =
-            parseInt(store.getters["MUser/enterpriseScope"]) === 5 ? 4 : 5;
-        }
+			// 重置菜单父级的fullPath,避免首个进入页面没有权限而导致整个菜单没办法使用
+			container = container.map((item) => {
+				let handelShow = 5;
+				if (item.meta.title === "商品资料") {
+					handelShow = parseInt(store.getters["MUser/enterpriseScope"]);
+				} else if (item.meta.title === "保质期查询") {
+					handelShow = parseInt(store.getters["MUser/shelfLifeSetUp"]);
+				} else if (item.meta.title === "商铺列表") {
+					// 多店铺隐藏商铺列表,单店铺显示
+					handelShow =
+						parseInt(store.getters["MUser/enterpriseScope"]) === 5 ? 4 : 5;
+				}
 
-        return {
-          ...item,
-          handelShow: handelShow,
-          fullPath: item.children ? item.children[0].fullPath : item.fullPath,
-        };
-      });
-      return container.filter((item) => item.handelShow !== 4);
-    }, []);
-  };
-  return di(menusList);
+				return {
+					...item,
+					handelShow: handelShow,
+					fullPath: item.children ? item.children[0].fullPath : item.fullPath,
+				};
+			});
+			return container.filter((item) => item.handelShow !== 4);
+		}, []);
+	};
+	return di(menusList);
 }

+ 504 - 438
src/vab/components/GalleryBar/storeMenus.js

@@ -1,445 +1,511 @@
-import { checkActionAccess } from "@/access/check";
+import {
+	checkActionAccess
+} from "@/access/check";
 import * as nodes from "@/access/node";
 import store from "@/store";
-const menusList = [
-  {
-    path: "/SingleStore/goods",
-    redirect: "/SingleStore/goods/GoodsAdministration",
-    alwaysShow: true,
-    meta: {
-      title: "商品",
-      remixIcon: "shopping-bag-line",
-    },
-    fullPath: "/SingleStore/goods",
-    children: [
-      {
-        path: "/SingleStore/goods/GoodsAdministration",
-        name: "GoodsAdministration",
-        meta: {
-          title: "商品管理",
-          remixIcon: "apps-line",
-        },
-        fullPath: "/SingleStore/goods/GoodsAdministration",
-        children: [
-          {
-            path: "/SingleStore/goods/GoodsAdministration",
-            name: "GoodsAdministration",
-            meta: {
-              title: "商品管理",
-            },
-            fullPath: "/SingleStore/goods/GoodsAdministration",
-          },
-          {
-            path: "/SingleStore/goods/GoodsData",
-            name: "GoodsData",
-            meta: {
-              title: "商品资料",
-            },
-            fullPath: "/SingleStore/goods/GoodsData",
-          },
-        ],
-      },
-      {
-        path: "/SingleStore/goods/priceTable",
-        name: "priceTable",
-        meta: {
-          title: "价格管理",
-          remixIcon: "bookmark-3-line",
-        },
-        fullPath: "/SingleStore/goods/priceTable",
-        children: [
-          {
-            path: "/SingleStore/goods/priceTable",
-            name: "priceTable",
-            meta: {
-              title: "价格管理",
-            },
-            fullPath: "/SingleStore/goods/priceTable",
-          },
-          {
-            path: "/SingleStore/goods/priceAdjust",
-            name: "priceAdjust",
-            meta: {
-              title: "商品调价单",
-            },
-            fullPath: "/SingleStore/goods/priceAdjust",
-          },
-          {
-            path: "/SingleStore/goods/priceAdjustCustomer",
-            name: "priceAdjustCustomer",
-            meta: {
-              title: "客户调价",
-            },
-            fullPath: "/SingleStore/goods/priceAdjustCustomer",
-          },
-          {
-            path: "/SingleStore/goods/priceAdjustCustomerType",
-            name: "priceAdjustCustomerType",
-            meta: {
-              title: "客户类型调价",
-            },
-            fullPath: "/SingleStore/goods/priceAdjustCustomerType",
-          },
-        ],
-      },
-    ],
-  },
-  {
-    path: "/SingleStore/order",
-    redirect: "/SingleStore/order/OrderList",
-    alwaysShow: true,
-    meta: {
-      title: "订单",
-      remixIcon: "file-list-2-line",
-    },
-    fullPath: "/SingleStore/order/OrderList",
-    children: [
-      {
-        path: "/SingleStore/order/StoreOrderAdd",
-        name: "OrderAdd",
-        meta: {
-          title: "代客下单",
-          remixIcon: "edit-circle-line",
-        },
-        fullPath: "/SingleStore/order/StoreOrderAdd",
-      },
-      {
-        path: "/SingleStore/order/OrderList",
-        meta: {
-          title: "订单管理",
-          remixIcon: "list-unordered",
-        },
-        fullPath: "/SingleStore/order/OrderList",
-        children: [
-          {
-            path: "/SingleStore/order/OrderList/all",
-            name: "OrderListAll",
-            meta: {
-              title: "全部订单",
-            },
-            fullPath: "/SingleStore/order/OrderList/all",
-          },
-          {
-            path: "/SingleStore/order/OrderList/waitAudit",
-            name: "OrderListWaitAudit",
-            meta: {
-              title: "待审核",
-            },
-            fullPath: "/SingleStore/order/OrderList/waitAudit",
-          },
-          {
-            path: "/SingleStore/order/OrderList/waitOutStock",
-            name: "OrderListWaitOutStock",
-            meta: {
-              title: "待发货",
-            },
-            fullPath: "/SingleStore/order/OrderList/waitOutStock",
-          },
-          {
-            path: "/SingleStore/order/OrderList/hasOutStock",
-            name: "OrderListHasOutStock",
-            meta: {
-              title: "待收货",
-            },
-            fullPath: "/SingleStore/order/OrderList/hasOutStock",
-          },
-          {
-            path: "/SingleStore/order/OrderList/finish",
-            name: "OrderListFinish",
-            meta: {
-              title: "已完成",
-            },
-            fullPath: "/SingleStore/order/OrderList/finish",
-          },
-          {
-            path: "/SingleStore/order/OrderList/close",
-            name: "OrderListClose",
-            meta: {
-              title: "已关闭",
-            },
-            fullPath: "/SingleStore/order/OrderList/close",
-          },
-        ],
-      },
-      {
-        path: "/SingleStore/order/ReturnOrder",
-        name: "ReturnOrder",
-        meta: {
-          title: "退货单",
-          remixIcon: "logout-circle-line",
-        },
-        fullPath: "/SingleStore/order/ReturnOrder",
-      },
-    ],
-  },
-  {
-    path: "/SingleStore/staffSet",
-    redirect: "/SingleStore/staffSet/StaffList",
-    alwaysShow: true,
-    meta: {
-      title: "员工",
-      remixIcon: "user-settings-line",
-    },
-    fullPath: "/SingleStore/staffSet/StaffList",
-    children: [
-      {
-        path: "/SingleStore/staffSet/StaffList",
-        name: "StaffList",
-        meta: {
-          title: "员工列表",
-          remixIcon: "user-5-line",
-        },
-        fullPath: "/SingleStore/staffSet/StaffList",
-      },
-      {
-        path: "/SingleStore/staffSet/RoleList",
-        name: "RoleList",
-        meta: {
-          title: "角色管理",
-          remixIcon: "shield-user-line",
-        },
-        fullPath: "/SingleStore/staffSet/RoleList",
-      },
-    ],
-  },
-  {
-    path: "/SingleStore/Customer",
-    redirect: "/SingleStore/Customer/StoreCustomer",
-    alwaysShow: true,
-    meta: {
-      title: "客户",
-      remixIcon: "contacts-line",
-    },
-    fullPath: "/SingleStore/Customer/StoreCustomer",
-    children: [
-      {
-        path: "/SingleStore/Customer/StoreCustomer",
-        name: "StoreCustomer",
-        meta: {
-          title: "客户列表",
-          remixIcon: "user-3-line",
-        },
-        fullPath: "/SingleStore/Customer/StoreCustomer",
-      },
-    ],
-  },
-  {
-    path: "/SingleStore/purchase",
-    redirect: "/SingleStore/purchase/purchaseList",
-    alwaysShow: true,
-    meta: {
-      title: "采购",
-      remixIcon: "shopping-cart-line",
-    },
-    fullPath: "/SingleStore/purchase/purchaseList",
-    children: [
-      {
-        path: "/SingleStore/purchase/purchaseList",
-        name: "purchaseList",
-        meta: {
-          title: "采购管理",
-          remixIcon: "shopping-cart-line",
-        },
-        fullPath: "/SingleStore/purchase/purchaseList",
-        children: [
-          {
-            path: "/SingleStore/purchase/purchaseList",
-            name: "purchaseList",
-            meta: {
-              title: "采购单",
-            },
-            fullPath: "/SingleStore/purchase/purchaseList",
-          },
-          {
-            path: "/SingleStore/purchase/purchaseReturnList",
-            name: "purchaseReturnList",
-            meta: {
-              title: "采购退货单",
-            },
-            fullPath: "/SingleStore/purchase/purchaseReturnList",
-          },
-          {
-            path: "/SingleStore/purchase/purchaseDetailInfo",
-            name: "purchaseDetailInfo",
-            meta: {
-              title: "采购明细",
-            },
-            fullPath: "/SingleStore/purchase/purchaseDetailInfo",
-          },
-          {
-            path: "/SingleStore/purchase/SupplierList",
-            name: "SupplierList",
-            meta: {
-              title: "供应商管理",
-            },
-            fullPath: "/SingleStore/purchase/SupplierList",
-          },
-        ],
-      },
-    ],
-  },
-  {
-    path: "/SingleStore/Inventory",
-    redirect: "/SingleStore/Inventory/InventoryOut",
-    alwaysShow: true,
-    meta: {
-      title: "库存",
-      remixIcon: "home-8-line",
-    },
-    fullPath: "/SingleStore/Inventory/InventoryOut",
-    children: [
-      {
-        path: "/SingleStore/Inventory/InventoryOut",
-        meta: {
-          title: "库存管理",
-          remixIcon: "home-gear-line",
-        },
-        fullPath: "/SingleStore/Inventory/InventoryOut",
-        children: [
-          {
-            path: "/SingleStore/Inventory/InventoryOut",
-            name: "InventoryOut",
-            meta: {
-              title: "出库管理",
-            },
-            fullPath: "/SingleStore/Inventory/InventoryOut",
-          },
-          {
-            path: "/SingleStore/Inventory/InventoryIn",
-            name: "InventoryIn",
-            meta: {
-              title: "入库管理",
-            },
-            fullPath: "/SingleStore/Inventory/InventoryIn",
-          },
-          {
-            path: "/SingleStore/Inventory/InventoryQuery",
-            name: "InventoryQuery",
-            meta: {
-              title: "库存查询",
-            },
-            fullPath: "/SingleStore/Inventory/InventoryQuery",
-          },
-          {
-            path: "/SingleStore/Inventory/InventoryFlowing",
-            name: "InventoryFlowing",
-            meta: {
-              title: "库存流水",
-            },
-            fullPath: "/SingleStore/Inventory/InventoryFlowing",
-          },
-          {
-            path: "/SingleStore/Inventory/InventoryBatch",
-            name: "InventoryBatch",
-            meta: {
-              title: "批次流水",
-            },
-            fullPath: "/SingleStore/Inventory/InventoryBatch",
-          },
-          {
-            path: "/SingleStore/Inventory/InventoryShelfLife",
-            name: "InventoryShelfLife",
-            meta: {
-              title: "保质期查询",
-            },
-            fullPath: "/SingleStore/Inventory/InventoryShelfLife",
-          },
-        ],
-      },
-      {
-        path: "/SingleStore/Inventory/InventoryManagement",
-        meta: {
-          title: "仓库管理",
-          remixIcon: "home-6-line",
-        },
-        fullPath: "/SingleStore/Inventory/InventoryManagement",
-        children: [
-          {
-            path: "/SingleStore/Inventory/InventoryManagement",
-            name: "InventoryManagement",
-            meta: {
-              title: "仓库管理",
-            },
-            fullPath: "/SingleStore/Inventory/InventoryManagement",
-          },
-          {
-            path: "/SingleStore/Inventory/InventoryCheck",
-            name: "InventoryCheck",
-            meta: {
-              title: "盘点单",
-            },
-            fullPath: "/SingleStore/Inventory/InventoryCheck",
-          },
-          {
-            path: "/SingleStore/Inventory/InventoryAllocation",
-            name: "InventoryAllocation",
-            meta: {
-              title: "调拨单",
-            },
-            fullPath: "/SingleStore/Inventory/InventoryAllocation",
-          },
-        ],
-      },
-    ],
-  },
-  {
-    path: "/SingleStore/storeSet",
-    redirect: "/SingleStore/storeSet/storeDetail",
-    alwaysShow: true,
-    meta: {
-      title: "设置",
-      remixIcon: "settings-4-line",
-    },
-    fullPath: "/SingleStore/storeSet/storeDetail",
-    children: [
-      {
-        path: "/SingleStore/storeSet/storeDetail",
-        name: "StoreDetail",
-        meta: {
-          title: "门店信息",
-          remixIcon: "list-settings-line",
-        },
-        fullPath: "/SingleStore/storeSet/storeDetail",
-      },
-    ],
-  },
+const menusList = [{
+		path: "/SingleStore/goods",
+		redirect: "/SingleStore/goods/GoodsAdministration",
+		alwaysShow: true,
+		meta: {
+			title: "商品",
+			remixIcon: "shopping-bag-line",
+		},
+		fullPath: "/SingleStore/goods",
+		children: [{
+				path: "/SingleStore/goods/GoodsAdministration",
+				name: "GoodsAdministration",
+				meta: {
+					title: "商品管理",
+					remixIcon: "apps-line",
+				},
+				fullPath: "/SingleStore/goods/GoodsAdministration",
+				children: [{
+						path: "/SingleStore/goods/GoodsAdministration",
+						name: "GoodsAdministration",
+						meta: {
+							title: "商品管理",
+						},
+						fullPath: "/SingleStore/goods/GoodsAdministration",
+					},
+					{
+						path: "/SingleStore/goods/GoodsData",
+						name: "GoodsData",
+						meta: {
+							title: "商品资料",
+						},
+						fullPath: "/SingleStore/goods/GoodsData",
+					},
+					// {
+					// 	path: "/SingleStore/goods/OrderItem",
+					// 	name: "OrderSubscribe",
+					// 	meta: {
+					// 		title: "服务项目",
+					// 	},
+					// 	fullPath: "/SingleStore/goods/OrderItem",
+					// }
+				],
+			},
+			{
+				path: "/SingleStore/sale/priceTable",
+				name: "priceTable",
+				meta: {
+					title: "价格管理",
+					remixIcon: "bookmark-3-line",
+				},
+				fullPath: "/SingleStore/sale/priceTable",
+				children: [{
+						path: "/SingleStore/sale/priceTable",
+						name: "priceTable",
+						meta: {
+							title: "价格管理",
+						},
+						fullPath: "/SingleStore/sale/priceTable",
+					},
+					{
+						path: "/SingleStore/goods/priceAdjust",
+						name: "priceAdjust",
+						meta: {
+							title: "商品调价单",
+						},
+						fullPath: "/SingleStore/goods/priceAdjust",
+					},
+					{
+						path: "/SingleStore/goods/priceAdjustCustomer",
+						name: "priceAdjustCustomer",
+						meta: {
+							title: "客户调价",
+						},
+						fullPath: "/SingleStore/goods/priceAdjustCustomer",
+					},
+					{
+						path: "/SingleStore/goods/priceAdjustCustomerType",
+						name: "priceAdjustCustomerType",
+						meta: {
+							title: "客户类型调价",
+						},
+						fullPath: "/SingleStore/goods/priceAdjustCustomerType",
+					},
+				],
+			},
+		],
+	},
+	{
+		path: "/SingleStore/order",
+		redirect: "/SingleStore/order/OrderList",
+		alwaysShow: true,
+		meta: {
+			title: "订单",
+			remixIcon: "file-list-2-line",
+		},
+		fullPath: "/SingleStore/order/OrderList",
+		children: [{
+				path: "/SingleStore/order/StoreOrderAdd",
+				name: "OrderAdd",
+				meta: {
+					title: "代客下单",
+					remixIcon: "edit-circle-line",
+				},
+				fullPath: "/SingleStore/order/StoreOrderAdd",
+				children: [
+					{
+							path: "/SingleStore/order/StoreOrderAdd",
+							name: "OrderAdd",
+							meta: {
+								title: "代客下单",
+							},
+							fullPath: "/SingleStore/order/StoreOrderAdd",
+						},
+					{
+							path: "/SingleStore/order/OrderSubscribe",
+							name: "OrderSubscribe",
+							meta: {
+								title: "服务预约",
+							},
+							fullPath: "/SingleStore/order/OrderSubscribe",
+						},
+				
+				],
+			},
+			{
+				path: "/SingleStore/order/OrderList",
+				meta: {
+					title: "订单管理",
+					remixIcon: "list-unordered",
+				},
+				fullPath: "/SingleStore/order/OrderList",
+				children: [{
+						path: "/SingleStore/order/OrderList/all",
+						name: "OrderListAll",
+						meta: {
+							title: "全部订单",
+						},
+						fullPath: "/SingleStore/order/OrderList/all",
+					},
+					{
+						path: "/SingleStore/order/OrderList/waitAudit",
+						name: "OrderListWaitAudit",
+						meta: {
+							title: "待审核",
+						},
+						fullPath: "/SingleStore/order/OrderList/waitAudit",
+					},
+					{
+						path: "/SingleStore/order/OrderList/waitOutStock",
+						name: "OrderListWaitOutStock",
+						meta: {
+							title: "待发货",
+						},
+						fullPath: "/SingleStore/order/OrderList/waitOutStock",
+					},
+					{
+						path: "/SingleStore/order/OrderList/hasOutStock",
+						name: "OrderListHasOutStock",
+						meta: {
+							title: "待收货",
+						},
+						fullPath: "/SingleStore/order/OrderList/hasOutStock",
+					},
+					{
+						path: "/SingleStore/order/OrderList/finish",
+						name: "OrderListFinish",
+						meta: {
+							title: "已完成",
+						},
+						fullPath: "/SingleStore/order/OrderList/finish",
+					},
+					{
+						path: "/SingleStore/order/OrderList/close",
+						name: "OrderListClose",
+						meta: {
+							title: "已关闭",
+						},
+						fullPath: "/SingleStore/order/OrderList/close",
+					},
+				],
+			},
+			{
+				path: "/SingleStore/order/ReturnOrder",
+				name: "ReturnOrder",
+				meta: {
+					title: "退货单",
+					remixIcon: "logout-circle-line",
+				},
+				fullPath: "/SingleStore/order/ReturnOrder",
+			}
+		],
+	},
+	{
+		path: "/SingleStore/staffSet",
+		redirect: "/SingleStore/staffSet/StaffList",
+		alwaysShow: true,
+		meta: {
+			title: "员工",
+			remixIcon: "user-settings-line",
+		},
+		fullPath: "/SingleStore/staffSet/StaffList",
+		children: [{
+				path: "/SingleStore/staffSet/StaffList",
+				name: "StaffList",
+				meta: {
+					title: "员工列表",
+					remixIcon: "user-5-line",
+				},
+				fullPath: "/SingleStore/staffSet/StaffList",
+			},
+			{
+				path: "/SingleStore/staffSet/RoleList",
+				name: "RoleList",
+				meta: {
+					title: "基础设置",
+					remixIcon: "shield-user-line",
+				},
+				fullPath: "/SingleStore/staffSet/RoleList",
+				children: [{
+						path: "/SingleStore/staffSet/RoleList",
+						name: "RoleList",
+						meta: {
+							title: "角色管理",
+						},
+						fullPath: "/SingleStore/staffSet/RoleList",
+					},{
+						path: "/SystemSettings/accountAdmin/Department",
+						name: "signClass",
+						meta: {
+							title: "部门管理",
+						},
+						fullPath: "/SystemSettings/accountAdmin/Department",
+					}
+				]
+			},
+			 {
+				path: "/SingleStore/staffSet/Sign",
+				name: "Sign",
+				meta: {
+					title: "考勤管理",
+					remixIcon: "shopping-cart-line",
+				},
+				fullPath: "/SingleStore/staffSet/Sign",
+				children: [{
+						path: "/SingleStore/staffSet/Sign",
+						name: "Sign",
+						meta: {
+							title: "考勤组",
+						},
+						fullPath: "/SingleStore/staffSet/Sign",
+					},{
+						path: "/SingleStore/staffSet/signClass",
+						name: "ClassList",
+						meta: {
+							title: "班次列表",
+						},
+						fullPath: "/SingleStore/staffSet/signClass",
+					},
+					{
+						path: "/SingleStore/staffSet/classHistry",
+						name: "ClassHistry",
+						meta: {
+							title: "排班记录",
+						},
+						fullPath: "/SingleStore/staffSet/classHistry",
+					}
+				]
+			}
+		]
+	},
+	{
+		path: "/SingleStore/Customer",
+		redirect: "/SingleStore/Customer/StoreCustomer",
+		alwaysShow: true,
+		meta: {
+			title: "客户",
+			remixIcon: "contacts-line",
+		},
+		fullPath: "/SingleStore/Customer/StoreCustomer",
+		children: [{
+			path: "/SingleStore/Customer/StoreCustomer",
+			name: "StoreCustomer",
+			meta: {
+				title: "客户列表",
+				remixIcon: "user-3-line",
+			},
+			fullPath: "/SingleStore/Customer/StoreCustomer",
+		}, ],
+	},
+	{
+		path: "/SingleStore/purchase",
+		redirect: "/SingleStore/purchase/purchaseList",
+		alwaysShow: true,
+		meta: {
+			title: "采购",
+			remixIcon: "shopping-cart-line",
+		},
+		fullPath: "/SingleStore/purchase/purchaseList",
+		children: [{
+			path: "/SingleStore/purchase/purchaseList",
+			name: "purchaseList",
+			meta: {
+				title: "采购管理",
+				remixIcon: "shopping-cart-line",
+			},
+			fullPath: "/SingleStore/purchase/purchaseList",
+			children: [{
+					path: "/SingleStore/purchase/purchaseList",
+					name: "purchaseList",
+					meta: {
+						title: "采购单",
+					},
+					fullPath: "/SingleStore/purchase/purchaseList",
+				},
+				{
+					path: "/SingleStore/purchase/purchaseReturnList",
+					name: "purchaseReturnList",
+					meta: {
+						title: "采购退货单",
+					},
+					fullPath: "/SingleStore/purchase/purchaseReturnList",
+				},
+				{
+					path: "/SingleStore/purchase/purchaseDetailInfo",
+					name: "purchaseDetailInfo",
+					meta: {
+						title: "采购明细",
+					},
+					fullPath: "/SingleStore/purchase/purchaseDetailInfo",
+				},
+				{
+					path: "/SingleStore/purchase/SupplierList",
+					name: "SupplierList",
+					meta: {
+						title: "供应商管理",
+					},
+					fullPath: "/SingleStore/purchase/SupplierList",
+				},
+			],
+		}],
+	},
+	{
+		path: "/SingleStore/Inventory",
+		redirect: "/SingleStore/Inventory/InventoryOut",
+		alwaysShow: true,
+		meta: {
+			title: "库存",
+			remixIcon: "home-8-line",
+		},
+		fullPath: "/SingleStore/Inventory/InventoryOut",
+		children: [{
+				path: "/SingleStore/Inventory/InventoryOut",
+				meta: {
+					title: "库存管理",
+					remixIcon: "home-gear-line",
+				},
+				fullPath: "/SingleStore/Inventory/InventoryOut",
+				children: [{
+						path: "/SingleStore/Inventory/InventoryOut",
+						name: "InventoryOut",
+						meta: {
+							title: "出库管理",
+						},
+						fullPath: "/SingleStore/Inventory/InventoryOut",
+					},
+					{
+						path: "/SingleStore/Inventory/InventoryIn",
+						name: "InventoryIn",
+						meta: {
+							title: "入库管理",
+						},
+						fullPath: "/SingleStore/Inventory/InventoryIn",
+					},
+					{
+						path: "/SingleStore/Inventory/InventoryQuery",
+						name: "InventoryQuery",
+						meta: {
+							title: "库存查询",
+						},
+						fullPath: "/SingleStore/Inventory/InventoryQuery",
+					},
+					{
+						path: "/SingleStore/Inventory/InventoryFlowing",
+						name: "InventoryFlowing",
+						meta: {
+							title: "库存流水",
+						},
+						fullPath: "/SingleStore/Inventory/InventoryFlowing",
+					},
+					{
+						path: "/SingleStore/Inventory/InventoryBatch",
+						name: "InventoryBatch",
+						meta: {
+							title: "批次流水",
+						},
+						fullPath: "/SingleStore/Inventory/InventoryBatch",
+					},
+					{
+						path: "/SingleStore/Inventory/InventoryShelfLife",
+						name: "InventoryShelfLife",
+						meta: {
+							title: "保质期查询",
+						},
+						fullPath: "/SingleStore/Inventory/InventoryShelfLife",
+					},
+				],
+			},
+			{
+				path: "/SingleStore/Inventory/InventoryManagement",
+				meta: {
+					title: "仓库管理",
+					remixIcon: "home-6-line",
+				},
+				fullPath: "/SingleStore/Inventory/InventoryManagement",
+				children: [{
+						path: "/SingleStore/Inventory/InventoryManagement",
+						name: "InventoryManagement",
+						meta: {
+							title: "仓库管理",
+						},
+						fullPath: "/SingleStore/Inventory/InventoryManagement",
+					},
+					{
+						path: "/SingleStore/Inventory/InventoryCheck",
+						name: "InventoryCheck",
+						meta: {
+							title: "盘点单",
+						},
+						fullPath: "/SingleStore/Inventory/InventoryCheck",
+					},
+					{
+						path: "/SingleStore/Inventory/InventoryAllocation",
+						name: "InventoryAllocation",
+						meta: {
+							title: "调拨单",
+						},
+						fullPath: "/SingleStore/Inventory/InventoryAllocation",
+					},
+				],
+			},
+		],
+	},
+	{
+		path: "/SingleStore/storeSet",
+		redirect: "/SingleStore/storeSet/storeDetail",
+		alwaysShow: true,
+		meta: {
+			title: "设置",
+			remixIcon: "settings-4-line",
+		},
+		fullPath: "/SingleStore/storeSet/storeDetail",
+		children: [{
+			path: "/SingleStore/storeSet/storeDetail",
+			name: "StoreDetail",
+			meta: {
+				title: "门店信息",
+				remixIcon: "list-settings-line",
+			},
+			fullPath: "/SingleStore/storeSet/storeDetail",
+		}]
+	},
 ];
 export function storeMenus() {
-  // return menusList;
-  const di = (items) => {
-    return items.reduce((container, item) => {
-      let { children } = item;
-      if (children) {
-        children = di(children);
-      }
-      if (children && !children.length) {
-        return container;
-      }
-      if (
-        (children && children.length) ||
-        checkActionAccess(item.meta.access)
-      ) {
-        const target = children ? { ...item, children } : item;
-        container.push(target);
-      }
+	// return menusList;
+	const di = (items) => {
+		return items.reduce((container, item) => {
+			let {
+				children
+			} = item;
+			if (children) {
+				children = di(children);
+			}
+			if (children && !children.length) {
+				return container;
+			}
+			if (
+				(children && children.length) ||
+				checkActionAccess(item.meta.access)
+			) {
+				const target = children ? {
+					...item,
+					children
+				} : item;
+				container.push(target);
+			}
 
-      // 重置菜单父级的fullPath,避免首个进入页面没有权限而导致整个菜单没办法使用
-      container = container.map((item) => {
-        let handelShow = 5;
-        if (item.meta.title === "商品资料") {
-          handelShow = parseInt(store.getters["MUser/enterpriseScope"]);
-        } else if (item.meta.title === "保质期查询") {
-          handelShow = parseInt(store.getters["MUser/shelfLifeSetUp"]);
-        }
+			// 重置菜单父级的fullPath,避免首个进入页面没有权限而导致整个菜单没办法使用
+			container = container.map((item) => {
+				let handelShow = 5;
+				if (item.meta.title === "商品资料") {
+					handelShow = parseInt(store.getters["MUser/enterpriseScope"]);
+				} else if (item.meta.title === "保质期查询") {
+					handelShow = parseInt(store.getters["MUser/shelfLifeSetUp"]);
+				}
 
-        return {
-          ...item,
-          handelShow: handelShow,
-          fullPath: item.children ? item.children[0].fullPath : item.fullPath,
-        };
-      });
-      return container.filter((item) => item.handelShow !== 4);
-    }, []);
-  };
-  return di(menusList);
+				return {
+					...item,
+					handelShow: handelShow,
+					fullPath: item.children ? item.children[0].fullPath : item.fullPath,
+				};
+			});
+			return container.filter((item) => item.handelShow !== 4);
+		}, []);
+	};
+	return di(menusList);
 }

+ 1 - 3
src/vab/components/NavBar/index.vue

@@ -6,11 +6,9 @@
     </div>
     <div class="right-panel">
       <Socket></Socket>
-      <!--          <error-log></error-log>-->
-      <!--      <search></search>-->
       <notice></notice>
       <Setting></Setting>
-      <full-screen></full-screen>
+     <full-screen></full-screen>
       <theme class="hidden-xs-only"></theme>
       <refresh></refresh>
       <avatar></avatar>

+ 1 - 0
src/vab/components/RemixIcon/index.vue

@@ -33,6 +33,7 @@
     },
     computed: {
       isExternal() {
+		  // console.log(isExternal(this.iconClass),'icon');
         return isExternal(this.iconClass);
       },
       iconName() {

+ 3 - 0
src/vab/components/websocket/index.vue

@@ -94,6 +94,9 @@
       //  获取语音设置详情
       async NoticeSetting() {
         const { data } = await NoticeSetting();
+		if(!data.content){
+			return
+		}
         if (data.content.length) {
           this.changeAudioSet(data.content);
         }

+ 304 - 285
src/views/Application/Application.vue

@@ -1,295 +1,314 @@
 <template>
-  <div class="application-view">
-    <ul class="model-ul">
-      <li
-        v-for="(item, index) in application_list"
-        :key="index"
-        class="detail-tab-item"
-      >
-        <p class="detail-tab-title">
-          {{ item.label }}
-        </p>
-        <ul class="detail-tab-main">
-          <li
-            v-for="(itemC, indexC) in item.children"
-            :key="indexC"
-            class="mm-li"
-          >
-            <div class="clearfix mm-li-div" @click="inApp(itemC)">
-              <div class="clearfix">
-                <span
-                  :style="{ backgroundColor: itemC.color }"
-                  class="iconfont float_left mml-icon"
-                  :class="[itemC.icon]"
-                ></span>
-                <p class="mml-tit float_left">
-                  {{ itemC.label }}
-                </p>
-              </div>
+	<div class="application-view">
+		<ul class="model-ul">
+			<li v-for="(item, index) in application_list" :key="index" class="detail-tab-item">
+				<p class="detail-tab-title">
+					{{ item.label }}
+				</p>
+				<ul class="detail-tab-main">
+					<li v-for="(itemC, indexC) in item.children" :key="indexC" class="mm-li">
+						<div class="clearfix mm-li-div" @click="inApp(itemC)">
+							<div class="clearfix">
+								<span :style="{ backgroundColor: itemC.color }" class="iconfont float_left mml-icon"
+									:class="[itemC.icon]"></span>
+								<p class="mml-tit float_left">
+									{{ itemC.label }}
+								</p>
+							</div>
 
-              <p class="mml-des">
-                {{ itemC.description }}
-              </p>
-            </div>
-          </li>
-        </ul>
-      </li>
-    </ul>
-  </div>
+							<p class="mml-des">
+								{{ itemC.description }}
+							</p>
+						</div>
+					</li>
+				</ul>
+			</li>
+		</ul>
+	</div>
 </template>
 
 <script>
-  import * as nodes from "@/access/node";
-  import { title } from "@/config/settings.js";
-  export default {
-    name: "Application",
-    data() {
-      return {
-        application_list: [
-          {
-            label: "应用",
-            children: [
-              {
-                icon: "icon-dayin",
-                color: "#43bb1f",
-                label: "单据模板",
-                access: nodes.TemplateListgetAll,
-                description: "单据模板打印",
-                path: "/BillTemplate/TemplateList",
-              },
-              {
-                icon: "icon-gd",
-                color: "#ff0000",
-                label: "股东分红",
-                access: nodes.TemplateListgetAll,
-                description: "股东分红",
-                path: "/Shareholders/CommissionRule",
-              },
-              {
-                icon: "icon-jine1",
-                color: "#fe6b58",
-                label: "销售提成",
-                access: nodes.saleCommission,
+	import * as nodes from "@/access/node";
+	import {
+		title
+	} from "@/config/settings.js";
+	export default {
+		name: "Application",
+		data() {
+			return {
+				application_list: [{
+						label: "应用",
+						children: [{
+								icon: "icon-kuaijierukou",
+								color: "#E6A23C",
+								label: "服务优惠卡",
+								access: nodes.DiscountCard,
+								description: "用于管理优惠卡",
+								path: "/Marketing/card/cardList",
+							},
+							{
+								icon: "icon-gd",
+								color: "#ff0000",
+								label: "股东分红",
+								// access: nodes.RewardList,
+								description: "股东分红",
+								path: "/Shareholders/RewardList",
+							},
+							{
+								icon: "icon-jine1",
+								color: "#fe6b58",
+								label: "销售提成",
+								access: nodes.saleCommission,
 
-                description: "销售员提成,清晰明了",
-                path: "/saleCommission/CommissionRule",
-              },
-              {
-                icon: "icon-shanghu",
-                color: "rgb(18,186,123)",
-                label: "多商户",
-                description: "为商家提供完整的入驻子商户线上经营方案",
-                path: "/Merchants/MerchartsList",
-              },
-              {
-                icon: "icon-icon-pin",
-                color: "rgb(194, 109, 210)",
-                label: "钱货日清对账",
-                description: "",
-                path: "/MoneyGoodsBill",
-                access: nodes.getTodayStatistics,
-              },
-            ],
-          },
-          {
-            label: "营销",
-            children: [
-              {
-                icon: "icon-coupon",
-                color: "#E6A23C",
-                label: "优惠券",
-                access: nodes.CouponList,
-                description: "多样优惠券活动,达成快速引流",
-                path: "/Marketing/MarketingList/Coupon",
-              },
-              {
-                icon: "icon-miaosha1",
-                color: "#F56C6C",
-                label: "商品秒杀",
-                access: nodes.ActivityGoods,
-                description: "商品售出率过低?限时秒杀来帮您",
-                path: "/Marketing/Promotion/PromotionList",
-              },
-              {
-                icon: "icon-huiyuanka",
-                color: "#E6A23C",
-                label: "会员卡",
-                access: nodes.MembershipCard,
-                description: "打折、赠券、提升用户粘合度",
-                path: "/Marketing/vip/membershipCard",
-              },
-              {
-                icon: "icon-icon6",
-                color: "#12BA7B",
-                label: "组合套餐",
-                access: nodes.Application_SetMeal,
-                description: "关联商品组合营销",
-                path: "/Marketing/SetMeal/index",
-              },
-              {
-                icon: "icon-fenxiao",
-                color: "#1890FF",
-                label: "分销",
-                access: nodes.Distribution,
-                description: "裂变分销,智能锁粉快速沉淀客户",
-                path: "/Distribution/DOverview",
-              },
-              {
-                icon: "icon-jifen",
-                color: "#1890FF",
-                label: "积分商城",
-                access: nodes.PointsMall,
-                description: "专属会员积分兑换系统",
-                path: "/PointsMall/GoodsManage",
-              },
-            ],
-          },
-          {
-            label: "新零售",
-            children: [
-              {
-                icon: "icon-jiageguanli",
-                color: "#fb2c95",
-                label: "收银台",
-                access: nodes.Cashier,
-                description: "连接线上线下,提升店铺经营效率",
-                path: "/Cashier/CashierList",
-              },
-              {
-                icon: "icon-shanghu",
-                color: "#1890FF",
-                label: "多门店",
-                access: nodes.Application_Multistore,
-                description: "连接线上门店一体化管理,提高各门店经营效率",
-                path: "/Multistore/StoreList",
-              },
-              {
-                icon: "icon-tabtubiao-1",
-                color: "#1890FF",
-                label: "供应商管理端",
-                access: nodes.Application_supplierManage,
-                description: "供应商管理端",
-                path: "/Supplier/supplierSet",
-              },
-            ],
-          },
-          // {
-          //   label: "分销中心",
-          //   children: [
-          //     {
-          //       icon: "icon-fenxiao",
-          //       color: "#1890FF",
-          //       label: "分销",
-          //       access: nodes.Distribution,
-          //       description: "裂变分销,智能锁粉快速沉淀客户",
-          //       path: "/Distribution/DOverview",
-          //     },
-          //     {
-          //       icon: "icon-jifen",
-          //       color: "#1890FF",
-          //       label: "积分商城",
-          //       // access: nodes.Distribution,
-          //       description: "裂变分销,智能锁粉快速沉淀客户",
-          //       path: "/PointsMall/GoodsManage",
-          //     },
-          //   ],
-          // },
-          // {
-          //   label: "店铺拓展",
-          //   children: [
-          //     {
-          //       icon: "icon-jine1",
-          //       color: "#fe6b58",
-          //       label: "销售提成",
-          //       description: "销售员提成,清晰明了",
-          //       path: "/saleCommission/CommissionList",
-          //     },
-          //   ],
-          // },
-        ],
-        application: [],
-      };
-    },
-    mounted() {},
-    methods: {
-      inApp(row) {
-        if (!this.$accessCheck(row.access)) {
-          this.$message.warning("抱歉,您暂无权限");
-          return;
-        }
-        if (
-          row.label === "多门店" &&
-          parseInt(this.$store.getters["MUser/enterpriseScope"]) === 4
-        ) {
-          this.$message.warning(
-            `抱歉您的企业为单店铺类型,无法使用应用【多店铺】,请联系${title}售后开通`
-          );
-          return;
-        }
-        this.$router.push(row.path);
-      },
-    },
-  };
+								description: "销售员提成,清晰明了",
+								path: "/saleCommission/CommissionRule",
+							},
+							{
+								icon: "icon-shanghu",
+								color: "rgb(18,186,123)",
+								label: "多商户",
+								description: "为商家提供完整的入驻子商户线上经营方案",
+								path: "/Merchants/MerchartsList",
+							},
+							{
+								icon: "icon-icon-pin",
+								color: "rgb(194, 109, 210)",
+								label: "钱货日清对账",
+								description: "",
+								path: "/MoneyGoodsBill",
+								access: nodes.getTodayStatistics,
+							},
+							{
+							  icon: "icon-bianji",
+							  color: "#1890FF",
+							  label: "文章管理",
+							  access: nodes.RewardList,
+							  description: "文章富文本管理",
+							  path: "/info/infoArticleList",
+							},
+							{
+							  icon: "icon-kucun",
+							  color: "#1890FF",
+							  label: "公司展示",
+							  access: nodes.infoHomeList,
+							  description: "用于APP自定义展示",
+							  path: "/info/infoHomeList",
+							},
+							// {
+							//   icon: "icon-dayin",
+							//   color: "#43bb1f",
+							//   label: "员工签到",
+							//   access: nodes.TemplateListgetAll,
+							//   description: "单据模板打印",
+							//   path: "/BillTemplate/TemplateList",
+			  		// },
+						],
+					},
+					{
+						label: "营销",
+						children: [{
+								icon: "icon-coupon",
+								color: "#E6A23C",
+								label: "优惠券",
+								access: nodes.CouponList,
+								description: "多样优惠券活动,达成快速引流",
+								path: "/Marketing/MarketingList/Coupon",
+							},
+							{
+								icon: "icon-miaosha1",
+								color: "#F56C6C",
+								label: "商品秒杀",
+								access: nodes.ActivityGoods,
+								description: "商品售出率过低?限时秒杀来帮您",
+								path: "/Marketing/Promotion/PromotionList",
+							},
+							{
+								icon: "icon-huiyuanka",
+								color: "#E6A23C",
+								label: "会员卡",
+								access: nodes.MembershipCard,
+								description: "打折、赠券、提升用户粘合度",
+								path: "/Marketing/vip/membershipCard",
+							},
+							{
+								icon: "icon-icon6",
+								color: "#12BA7B",
+								label: "组合套餐",
+								access: nodes.Application_SetMeal,
+								description: "关联商品组合营销",
+								path: "/Marketing/SetMeal/index",
+							},
+							{
+								icon: "icon-fenxiao",
+								color: "#1890FF",
+								label: "分销",
+								access: nodes.Distribution,
+								description: "裂变分销,智能锁粉快速沉淀客户",
+								path: "/Distribution/DOverview",
+							},
+							{
+								icon: "icon-jifen",
+								color: "#1890FF",
+								label: "积分商城",
+								access: nodes.PointsMall,
+								description: "专属会员积分兑换系统",
+								path: "/PointsMall/GoodsManage",
+							},
+						],
+					},
+					{
+						label: "新零售",
+						children: [{
+								icon: "icon-jiageguanli",
+								color: "#fb2c95",
+								label: "收银台",
+								access: nodes.Cashier,
+								description: "连接线上线下,提升店铺经营效率",
+								path: "/Cashier/CashierList",
+							},
+							{
+								icon: "icon-shanghu",
+								color: "#1890FF",
+								label: "多门店",
+								access: nodes.Application_Multistore,
+								description: "连接线上门店一体化管理,提高各门店经营效率",
+								path: "/Multistore/StoreList",
+							},
+							{
+								icon: "icon-tabtubiao-1",
+								color: "#1890FF",
+								label: "供应商管理端",
+								access: nodes.Application_supplierManage,
+								description: "供应商管理端",
+								path: "/Supplier/supplierSet",
+							},
+						],
+					},
+					// {
+					//   label: "分销中心",
+					//   children: [
+					//     {
+					//       icon: "icon-fenxiao",
+					//       color: "#1890FF",
+					//       label: "分销",
+					//       access: nodes.Distribution,
+					//       description: "裂变分销,智能锁粉快速沉淀客户",
+					//       path: "/Distribution/DOverview",
+					//     },
+					//     {
+					//       icon: "icon-jifen",
+					//       color: "#1890FF",
+					//       label: "积分商城",
+					//       // access: nodes.Distribution,
+					//       description: "裂变分销,智能锁粉快速沉淀客户",
+					//       path: "/PointsMall/GoodsManage",
+					//     },
+					//   ],
+					// },
+					// {
+					//   label: "店铺拓展",
+					//   children: [
+					//     {
+					//       icon: "icon-jine1",
+					//       color: "#fe6b58",
+					//       label: "销售提成",
+					//       description: "销售员提成,清晰明了",
+					//       path: "/saleCommission/CommissionList",
+					//     },
+					//   ],
+					// },
+				],
+				application: [],
+			};
+		},
+		mounted() {},
+		methods: {
+			inApp(row) {
+				if (!this.$accessCheck(row.access)) {
+					this.$message.warning("抱歉,您暂无权限");
+					return;
+				}
+				if (
+					row.label === "多门店" &&
+					parseInt(this.$store.getters["MUser/enterpriseScope"]) === 4
+				) {
+					this.$message.warning(
+						`抱歉您的企业为单店铺类型,无法使用应用【多店铺】,请联系${title}售后开通`
+					);
+					return;
+				}
+				this.$router.push(row.path);
+			},
+		},
+	};
 </script>
 
 <style scoped>
-  .application-view {
-    /*padding: 16px;*/
-    /*color: #333333;*/
-    /*background-color: #ffffff;*/
-  }
-  .model-li-main {
-    display: flex;
-    flex-wrap: wrap;
-  }
-  .model-li {
-    margin-bottom: 30px;
-  }
-  .model-tit {
-    /*height: 30px;*/
-    line-height: 30px;
-    font-size: 16px;
-    font-weight: 400;
-  }
-  .mm-li {
-    display: inline-block;
-    margin-top: 15px;
-    width: calc(25% - 15px);
-    height: 100px;
-    margin-right: 15px;
-    background-color: #f5f7fa;
-    /*border: 1px solid #dddddd;*/
-    border-radius: 6px;
-    text-align: center;
-    cursor: pointer;
-    line-height: 100px;
-  }
-  .mm-li-div {
-    text-align: left;
-    line-height: 16px;
-    width: calc(100% - 30px);
-    /*padding: 18px 12px 0;*/
-    display: inline-block;
-    vertical-align: middle;
-  }
-  .mml-icon {
-    width: 42px;
-    height: 42px;
-    background-color: #67c23a;
-    line-height: 42px;
-    text-align: center;
-    color: #fff;
-    font-size: 26px;
-    border-radius: 8px;
-    margin-right: 12px;
-  }
-  .mml-tit {
-    line-height: 42px;
-    font-size: 16px;
-  }
-  .mml-des {
-    color: #666666;
-    margin-top: 10px;
-    font-size: 12px;
-  }
+	.application-view {
+		/*padding: 16px;*/
+		/*color: #333333;*/
+		/*background-color: #ffffff;*/
+	}
+
+	.model-li-main {
+		display: flex;
+		flex-wrap: wrap;
+	}
+
+	.model-li {
+		margin-bottom: 30px;
+	}
+
+	.model-tit {
+		/*height: 30px;*/
+		line-height: 30px;
+		font-size: 16px;
+		font-weight: 400;
+	}
+
+	.mm-li {
+		display: inline-block;
+		margin-top: 15px;
+		width: calc(25% - 15px);
+		height: 100px;
+		margin-right: 15px;
+		background-color: #f5f7fa;
+		/*border: 1px solid #dddddd;*/
+		border-radius: 6px;
+		text-align: center;
+		cursor: pointer;
+		line-height: 100px;
+	}
+
+	.mm-li-div {
+		text-align: left;
+		line-height: 16px;
+		width: calc(100% - 30px);
+		/*padding: 18px 12px 0;*/
+		display: inline-block;
+		vertical-align: middle;
+	}
+
+	.mml-icon {
+		width: 42px;
+		height: 42px;
+		background-color: #67c23a;
+		line-height: 42px;
+		text-align: center;
+		color: #fff;
+		font-size: 26px;
+		border-radius: 8px;
+		margin-right: 12px;
+	}
+
+	.mml-tit {
+		line-height: 42px;
+		font-size: 16px;
+	}
+
+	.mml-des {
+		color: #666666;
+		margin-top: 10px;
+		font-size: 12px;
+	}
 </style>

+ 2 - 0
src/views/Enterprise/SelectStore.vue

@@ -381,7 +381,9 @@
       // 获取员工权限
       async getAclList(roleType) {
         try {
+			console.log("获取员工权限",roleType)
           const { data } = await getAclList(roleType);
+		  console.log("获取员工权限",data.custom)
           sessionStorage.setItem("dataField", JSON.stringify(data.dataField));
           sessionStorage.setItem("isSuper", data.isAdministrator);
           sessionStorage.setItem("nodes", JSON.stringify(data.custom));

+ 1 - 1
src/views/Enterprise/index.vue

@@ -153,7 +153,7 @@
       async dle(e){
         console.log(e,'0000000')
         let that=this
-        let data=e
+        let data=e;
         this.$confirm("确定要删除吗?", "提示", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",

+ 210 - 0
src/views/Marketing/card/addCard.vue

@@ -0,0 +1,210 @@
+<template>
+	<div>
+		<el-form ref="form" :rules="rules" size="small" :model="form" label-width="120px">
+			<el-form-item label="优惠卡名称" prop="name">
+				<el-input v-model="form.name" placeholder="请输入优惠卡名称"></el-input>
+			</el-form-item>
+			<el-form-item label="售价" prop="price">
+				<el-input v-model="form.price" type="number" placeholder="请输入售价"></el-input>
+			</el-form-item>
+			<el-form-item label="原价" prop="ot_price">
+				<el-input v-model="form.ot_price" type="number" placeholder="请输入原价"></el-input>
+			</el-form-item>
+			<el-form-item label="状态" prop="status">
+				<el-select v-model="form.status" style="width: 350px" filterable placeholder="请选择状态"
+					>
+					<el-option label="正常" :value="1"></el-option>
+					<el-option label="禁用" :value="0"></el-option>
+				</el-select>
+			</el-form-item>
+			<el-form-item label="简介" prop="info">
+				<el-input v-model="form.info" placeholder="请输入简介"></el-input>
+			</el-form-item>
+			<el-form-item label="封面图" prop="image">
+				<UploadQiniu :limit="1" :file-list="image" @uploadSuccess="uploadSuccessOne"
+					@handleRemove="uploadRemoveOne" />
+			</el-form-item>
+			<el-form-item label="详情" prop="introduce">
+				<Tinymce v-model="form.introduce" :height="300" />
+			</el-form-item>
+			<el-form-item>
+				<el-button type="primary" @click="confirm">提 交</el-button>
+				<el-button @click="close">取 消</el-button>
+			</el-form-item>
+		</el-form>
+	</div>
+</template>
+
+<script>
+	import {
+		addCard,
+		detailsCard,
+		updateCard
+	} from "@/api/card";
+	import UploadQiniu from "@/component/common/UploadQiniu.vue";
+	import Tinymce from "@/component/Tinymce";
+	export default {
+		name: "AddCard",
+		components: {
+			UploadQiniu,
+			Tinymce
+		},
+		data() {
+			return {
+				// 存储单图
+				image: [],
+				form: {
+					// 默认优惠卡状态
+					status:1,
+					//优惠卡名称
+					name: '',
+					//售价
+					price: 0,
+					// 原价
+					ot_price: 0,
+					// 简介
+					info: '',
+					// 详细介绍
+					introduce: '',
+					// 封面图
+					image: [],
+					// 是否详情
+					setDetail: false,
+					// 需要修改的内容id
+					setId: ''
+				},
+				rules: {
+					name: [{
+						required: true,
+						message: "请输入优惠卡名称",
+						trigger: "blur"
+					}],
+					image: [{
+						required: true,
+						message: "请选择主图",
+					}],
+					price: [{
+						required: true,
+						message: "请输入售价",
+						trigger: "blur"
+					}],
+					ot_price: [{
+						required: true,
+						message: "请输入原价",
+						trigger: "blur"
+					}],
+				}
+			};
+		},
+		created() {
+			const type = this.$route.query.setDetail || 0;
+			// 判断是否为修改项目
+			if (+type == 1) {
+				this.setId = this.$route.query.id;
+				this.setDetail = true;
+				this.detailsCard();
+			}
+		},
+		methods: {
+			// 上传单张图片
+			uploadSuccessOne(val, res, file, fileList, num) {
+				const imgArr = fileList.map((item) => {
+					return item.content;
+				});
+				this.form.image = imgArr;
+				this.image = this.form.image.map((item) => {
+					return {
+						name: "",
+						content: item,
+					};
+				});
+			},
+			// 删除单张图片
+			uploadRemoveOne(file, fileList) {
+				console.log(fileList, 'del');
+				this.form.image = fileList.map((item) => {
+					return item.content;
+				});
+			},
+			close() {
+				this.$closeCurrentGoEdit(`/Marketing/card/addCard`);
+			},
+			//  详情 detailsCard
+			async detailsCard() {
+				if (!this.setId) return;
+				const {
+					data
+				} = await detailsCard({
+					id: this.setId
+				});
+				// console.log(data, '数据');
+				this.form = {
+					...data,
+				};
+				if (this.form.image) {
+					this.image = [{
+						name: "",
+						content: this.form.image,
+					}]
+					this.form.image = [this.form.image]
+				}
+			},
+			async confirm() {
+				console.log(this.form);
+				 
+				this.$refs.form.validate(async (valid) => {
+					if (valid) {
+						const loading = this.$loading({
+							lock: true,
+							text: '提交中',
+							spinner: 'el-icon-loading',
+						});
+						let upData = Object.assign({}, this.form);
+						 upData.image = upData.image.join(',');
+						// 判断是否为详情
+						let data;
+						if (!this.setDetail) {
+							console.log(this.setDetail);
+							data = await addCard(upData);
+						} else {
+							data = await updateCard(upData);
+						}
+						loading.close();
+						this.$message({
+							message: data.data,
+							type: "success",
+						});
+						this.$closeCurrentGoEdit(`/Marketing/card/addCard`);
+					}
+				});
+			},
+		},
+	};
+</script>
+
+<style scoped>
+	.btn-up {
+		position: relative;
+	}
+
+	.btn-department {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.btn-role-up {
+		position: relative;
+	}
+
+	.add-role {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.creat-shop {
+		color: #1890ff;
+		font-size: 12px;
+	}
+</style>

+ 186 - 0
src/views/Marketing/card/cardList.vue

@@ -0,0 +1,186 @@
+<template>
+	<ContainerQuery>
+		<div v-if="$accessCheck($Access.DiscountCardAdd)" slot="left" class="clearfix">
+			<el-button type="primary" size="small" @click="$router.push('/Marketing/card/addCard')">
+				新增优惠卡
+			</el-button>
+		</div>
+		<el-table :data="cardListData">
+			<el-table-column align="left" label="商品" min-width="200">
+				<template slot-scope="scope">
+					<div class="clearfix">
+						<div class="float_left">
+							<el-image fit="cover" :src="scope.row.image"></el-image>
+						</div>
+						<div class="float_left goods-name-view">
+							{{ scope.row.name }}
+						</div>
+					</div>
+				</template>
+			</el-table-column>
+			<el-table-column label="售价(元)" min-width="120" prop="price"></el-table-column>
+			<el-table-column label="原价(元)" min-width="120" prop="ot_price"></el-table-column>
+			<el-table-column align="left" label="启用状态" min-width="120">
+				<template slot-scope="scope">
+					<div>
+						<span v-if="scope.row.status === 0" class="warning-status">
+							禁用
+						</span>
+						<span v-if="scope.row.status === 1" class="success-status">
+							启用
+						</span>
+					</div>
+				</template>
+			</el-table-column>
+			<el-table-column label="简介" min-width="150" prop="info">
+			</el-table-column>
+			<el-table-column label="创建时间" min-width="150">
+				<template slot-scope="scope">
+					{{$_common.formatDate(scope.row.createTime)}}
+				</template>
+			</el-table-column>
+
+			<el-table-column label="操作" fixed="right" min-width="220">
+				<template slot-scope="scope">
+					<el-button type="text" @click="Detail(scope.row.id)">
+						绑定项目
+					</el-button>
+					<el-button type="text" @click="
+              $router.push(
+                `/Marketing/card/addCard?id=${scope.row.id}&setDetail=1`
+              )
+            ">
+						编辑
+					</el-button>
+					<el-button type="text" @click="delData(scope.row.id)">
+						删除
+					</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
+		<FooterPage :page-size="pageSize" :total-page.sync="total" :current-page.sync="page" @pageChange="pageChange"
+			@sizeChange="sizeChange"></FooterPage>
+		<!--   新增绑定项目-->
+		<BindItem v-if="bind_Item" :card-id='cardid' :is-edit='true' :visible="bind_Item" @close="bind_Item = false" @confirm="bindConfirm"></BindItem>
+	</ContainerQuery>
+</template>
+
+<script>
+	import {
+		cardList,
+		deleteCard,
+	} from "@/api/card";
+	import BindItem from "./components/bindItem.vue";
+	export default {
+		name: "CardList",
+		components: {
+			BindItem,
+		},
+		data() {
+			return {
+				// 点击的优惠卡id
+				cardid: '',
+				// 显示绑定项目
+				bind_Item: false,
+				pageSize: 10,
+				page: 1,
+				total: 0,
+				cardListData:[]
+			};
+		},
+		created() {
+			this.getData();
+		},
+		activated() {
+			if (this.$_isInit()) return;
+			this.getData();
+		},
+		methods: {
+			// 绑定项目
+			Detail(id) {
+				this.bind_Item = true;
+				this.cardid = id;
+			},
+			// 绑定项目完成
+			bindConfirm(data) {
+				console.log(data);
+			},
+			//  获取列表
+			async cardList() {
+				const {
+					data,
+					pageTotal
+				} = await cardList({
+					page: this.page,
+					pageSize: this.pageSize,
+				});
+
+				this.cardListData = data;
+				this.total = pageTotal;
+			},
+			//  搜索
+			getData() {
+				this.cardList();
+			},
+			//  删除
+			async delData(id) {
+				this.$confirm("确定删除此优惠卡吗?", "提示", {
+					confirmButtonText: "确定",
+					cancelButtonText: "取消",
+					type: "warning",
+				}).then(async () => {
+					const data = await deleteCard({
+						id: id
+					});
+
+					this.getData();
+					this.$message({
+						type: "success",
+						message: "删除成功!",
+					});
+				});
+			},
+			pageChange(page) {
+				this.page = page;
+				this.getData();
+			},
+			sizeChange(size) {
+				this.pageSize = size;
+				this.pageChange(1);
+			},
+			change() {
+				this.faceValueFlag = this.checkList.some((item) => item === "面值");
+				this.mutualExclusionFlag = this.checkList.some(
+					(item) => item === "是否互斥"
+				);
+				this.thresholdFlag = this.checkList.some((item) => item === "使用门槛");
+				this.quantityFlag = this.checkList.some((item) => item === "数量");
+				this.stateFlag = this.checkList.some((item) => item === "审核状态");
+				this.grantFlag = this.checkList.some((item) => item === "启用状态");
+			},
+		},
+	};
+</script>
+
+<style scoped lang="scss">
+	.num-ul {
+		padding-bottom: 10px;
+		padding-left: 10px;
+	}
+
+	.num-ul>li {
+		padding-right: 10px;
+	}
+
+	.order-info-p {
+		height: auto;
+		padding-bottom: 0;
+	}
+
+	.custom-table-checkbox {
+		.el-checkbox {
+			display: block !important;
+			margin: 0 0 $base-padding/4 0;
+		}
+	}
+</style>

+ 313 - 0
src/views/Marketing/card/components/bindItem.vue

@@ -0,0 +1,313 @@
+<template>
+	<div>
+		<el-drawer class="edit-drawer" title="绑定项目列表" size="650px" :visible.sync="visible" direction="rtl"
+			:modal="modal" :wrapper-closable="false" @close="close">
+			<vxe-table ref="goodsTable" class="tab-style" border="inner" :data="actionList"
+				:edit-config="{trigger: 'click', mode: 'cell'}">
+				<vxe-table-column field="name" title="项目名称" min-width="150"></vxe-table-column>
+				<vxe-table-column field="price" title="价格" min-width="100"></vxe-table-column>
+				<vxe-table-column :edit-render="{}" field="cardnum" title="数量" min-width="100">
+					<template #edit="{ row }">
+						<vxe-input v-model="row.cardnum" type="number" placeholder="请输入昵称" min="1"></vxe-input>
+					</template>
+				</vxe-table-column>
+				<vxe-table-column title="操作" width="100">
+					<template #default="{  $rowIndex }">
+						<el-button type="text" @click="delItemAction($rowIndex)">
+							删除
+						</el-button>
+					</template>
+				</vxe-table-column>
+			</vxe-table>
+			<div style="margin: 10px;">
+				<el-button type="primary" @click="show_Item = true">选择项目</el-button>
+				<el-button type="danger" @click="bindItem">绑定项目</el-button>
+			</div>
+			<el-table :data="list" class="tab-style">
+				<el-table-column prop="project_name" label="项目名称" width="180">
+				</el-table-column>
+				<el-table-column prop="createTime" label="绑定日期">
+					<template slot-scope="scope">
+						{{$_common.formatDate(scope.row.createTime,'yyyy/MM/dd hh:mm')}}
+					</template>
+				</el-table-column>
+				<el-table-column prop="number" label="次数">
+				</el-table-column>
+				<el-table-column label="操作" min-width="100">
+					<template slot-scope="scope">
+						<el-button type="text" @click="delItem(scope.row.id)">
+							删除
+						</el-button>
+						<el-button type="text" @click="updateBindItem(scope.row)">
+							修改
+						</el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-form size="small" :model="form" style="margin-top: 10px;" label-width="120px">
+				<el-form-item style="text-align: right; padding-right: 10px">
+					<el-button type="primary" @click="confirm">确 定</el-button>
+					<el-button @click="close">取 消</el-button>
+				</el-form-item>
+			</el-form>
+		</el-drawer>
+		<ItemList v-if="show_Item" :dialog-visible="show_Item" :is-show-add="true" :modal="false"
+			@close="show_Item = false" @confirm="itemConfirm"></ItemList>
+	</div>
+</template>
+
+<script>
+	import {
+		listBindItem,
+		addBindItem,
+		deleteBindItem,
+		updateBindItem
+	} from "@/api/card.js";
+	import ItemList from "@/component/goods/itemList.vue";
+	export default {
+		name: "BindItem",
+		components: {
+			ItemList,
+		},
+		props: {
+			visible: {
+				type: Boolean,
+				default: false,
+			},
+			isEdit: {
+				type: Boolean,
+				default: false,
+			},
+			cardId: {
+				type: [Number, String],
+				default: '',
+			},
+			// 是否需要遮罩层
+			modal: {
+				type: Boolean,
+				default: true,
+			},
+		},
+		data() {
+			return {
+				// 保存编辑对象数字
+				numberData: 1,
+				// 显示项目弹窗
+				show_Item: false,
+				// 选择项目列表
+				actionList: [],
+				// 绑定项目列表
+				list: [],
+				form: {
+					//班次名字
+					name: '',
+					//签到单次奖励金额
+					single_time: 0,
+					// 签到时间范围
+					// 整合签到数据
+				},
+			};
+		},
+		created() {
+			if (this.cardId) {
+				this.listBindItem();
+			}
+		},
+		methods: {
+			// 次数改变事件
+			changeActionNum(ev, ind) {
+				console.log(ev, ind);
+			},
+			// 选择要绑定的项目
+			itemConfirm(item) {
+				for (var i = 0; i < this.list.length; i++) {
+					if( this.list[i].project_id ==item[0].id){
+						this.$message({
+							type: "danger",
+							message: "已绑定过该项目无法重复绑定!",
+						});
+						return
+					}
+				}
+				this.actionList.push(...item.map((item) => {
+					// 初始化次数
+					item.cardnum = 1;
+					item.num_flag = false;
+					return item
+				}))
+			},
+			// 删除选中项目
+			delItemAction(ind) {
+				this.actionList.splice(ind, 1)
+			},
+			// 删除绑定项目
+			delItem(id) {
+				this.$confirm("你确定删除此绑定项目么?", {
+					confirmButtonText: "确定",
+					cancelButtonText: "取消",
+					type: "warning",
+				}).then(async () => {
+					const data = await deleteBindItem({
+						id: id
+					});
+					this.listBindItem();
+					this.$message({
+						type: "success",
+						message: "删除成功!",
+					});
+				});
+
+			},
+			// 修改项目
+			updateBindItem(item) {
+				console.log(item);
+				this.$prompt('请输入修改后数量', '提示', {
+					confirmButtonText: '确定',
+					cancelButtonText: '取消',
+					inputPattern: /^\d*$/,
+					inputErrorMessage: '请输入数字'
+				}).then(async ({
+					value
+				}) => {
+					console.log(value);
+					if (value <= 0) {
+						this.$message({
+							type: 'danger',
+							message: "数量不可少于1"
+						});
+						return
+					}
+					const data =await updateBindItem({
+						"project_id": item.project_id, //项目id
+						"number": value, //优惠次数
+						"id": item.id //id
+					})
+					this.listBindItem();
+					this.$message({
+						type: 'success',
+						message: data.data
+					});
+				}).catch(() => {
+					this.$message({
+						type: 'info',
+						message: '取消修改'
+					});
+				});
+			},
+			// 绑定项目
+			async bindItem() {
+				const loading = this.$loading({
+					lock: true,
+					text: '绑定中',
+					spinner: 'el-icon-loading',
+				});
+				let data;
+				try {
+					for (var i = 0; i < this.actionList.length; i++) {
+						const it = this.actionList[i]
+						data = await addBindItem({
+							"card_id": this.cardId, //优惠卡id
+							"project_id": it.id, //项目id
+							"number": it.cardnum //优惠次数
+						})
+					}
+				} catch (e) {
+					this.$message({
+						message: e.message,
+						type: "danger",
+					});
+					loading.close();
+					return
+				}
+				this.listBindItem();
+				this.$message({
+					message: data.data,
+					type: "success",
+				});
+				loading.close();
+			},
+			close() {
+				this.$emit("close");
+			},
+			//  绑定项目详情 listBindItem
+			async listBindItem() {
+				if (!this.cardId) return;
+				const {
+					data
+				} = await listBindItem({
+					"page": 1,
+					"pageSize": 100,
+					"card_id": this.cardId
+				});
+				this.list = data;
+			},
+			async confirm() {
+				this.$refs.form.validate(async (valid) => {
+					if (valid) {
+						let upData = {
+							shift: Object.assign({}, this.form)
+						};
+						upData.shift.sections = upData.shift.sections.map((res) => {
+							let data = res.times.map((e) => {
+								return Object.assign({}, e)
+							})
+
+							if (data[1].check_time == '24:00') {
+								data[1].across = 1;
+								data[1].check_time = "00:00";
+							}
+							data[0].check_time = "1970-01-01 " + data[0].check_time +
+								':00'
+							data[1].check_time = "1970-01-01 " + data[1].check_time +
+								':00'
+
+							return {
+								times: data
+							};
+						})
+						const data = await postAddClass(upData);
+						this.$message({
+							message: data.data,
+							type: "success",
+						});
+
+						this.close();
+						this.$emit("confirm");
+					}
+				});
+			},
+		},
+	};
+</script>
+
+<style scoped>
+	.tab-style {
+		width: 100%;
+		padding: 0 20px;
+	}
+
+	.btn-up {
+		position: relative;
+	}
+
+	.btn-department {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.btn-role-up {
+		position: relative;
+	}
+
+	.add-role {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.creat-shop {
+		color: #1890ff;
+		font-size: 12px;
+	}
+</style>

+ 0 - 174
src/views/Shareholders/CommissionRule.vue

@@ -1,174 +0,0 @@
-<template>
-  <ContainerQuery>
-    <div
-      v-if="$accessCheck($Access.CommissionRuleAddCommissionRule)"
-      slot="left"
-    >
-      <el-button
-        size="small"
-        type="primary"
-        @click="$router.push('/Shareholders/RuleCommission')"
-      >
-        新增股东
-      </el-button>
-    </div>
-    <div slot="more">
-      <el-form size="small" :inline="true">
-        <el-form-item>
-          <el-date-picker
-            v-model="time"
-            clearable
-             type="date"
-            end-placeholder="添加日期"
-            @change="changeTime"
-          ></el-date-picker>
-        </el-form-item>
-      </el-form>
-    </div>
-    <el-table :data="rule_list">
-      <el-table-column
-        prop="name"
-        label="股东名称"
-        show-overflow-tooltip
-        min-width="155"
-      ></el-table-column>
-      <el-table-column
-        prop="number"
-        label="联系方式"
-        show-overflow-tooltip
-        min-width="155"
-      ></el-table-column>
-      <el-table-column
-        prop="dends"
-        label="分红股份"
-        min-width="140"
-      ></el-table-column>
-      <el-table-column
-        prop="shares"
-        label="原始股份"
-        min-width="140"
-      ></el-table-column>
-    <el-table-column
-      prop="createTime"
-      label="添加时间"
-      min-width="140"
-    ></el-table-column>
-      <el-table-column prop="name" label="操作" min-width="120">
-        <template slot-scope="scope">
-          <el-button
-            v-if="$accessCheck($Access.CommissionRuleEditCommissionRule)"
-            type="text"
-            @click="
-              $router.push(
-                '/Shareholders/RuleCommissionEdit?id=' + scope.row.id
-              )
-            "
-          >
-            修改
-          </el-button>
-          <el-button
-            v-if="$accessCheck($Access.CommissionRuleDelCommissionRule)"
-            type="text"
-            @click="delData(scope.row.id)"
-          >
-            删除
-          </el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    <FooterPage
-      :page-size="pageSize"
-      :total-page.sync="total"
-      :current-page.sync="page"
-      @pageChange="pageChange"
-      @sizeChange="sizeChange"
-    ></FooterPage>
-  </ContainerQuery>
-</template>
-
-<script>
-  import {
-    Lst,
-  } from "@/api/Holders";
-  import {
-    enableRewardRule,
-    getAllRewardRule,
-    deleteRewardRule,
-  } from "@/api/Reward";
-  export default {
-    name: "PointRule",
-    data() {
-      return {
-        rule_list: [],
-        time:'',
-        search_form: {
-          start: "",
-        },
-        total: 0,
-        page: 1,
-        pageSize: 10,
-      };
-    },
-    created() {
-      this.Lst();
-    },
-    activated() {
-      if (this.$_isInit()) return;
-      this.Lst();
-    },
-    methods: {
-      //  订单时间
-      changeTime(val) {
-        if (val && val.length) {
-          this.search_form.start = val[0] / 1000;
-        } else {
-          this.search_form.start = "";
-        }
-        this.pageChange(1);
-      },
-      pageChange(page) {
-        this.page = page;
-        this.Lst();
-      },
-      // 每页数据大小改变
-      sizeChange(val) {
-        this.pageSize = val;
-        this.pageChange(1);
-      },
-      editData(index) {},
-      async Lst() {
-        const { data, pageTotal } = await Lst({
-          page: this.page,
-          pageSize: this.pageSize,
-          createTime: this.search_form.start,
-        });
-        this.rule_list = data.map((item) => {
-          const staffName = data.map((item) => item.staffName);
-          return {
-            ...item,
-            staffName: staffName.length ? staffName.join(",") : "",
-          };
-        });
-        this.total = pageTotal;
-      },
-      // 删除
-      async delData(id) {
-        this.$confirm("是否要将该提成规则删除?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        }).then(async () => {
-          const data = await deleteRewardRule(id);
-
-          this.$message({
-            type: "success",
-            message: "操作成功!",
-          });
-          this.getAllRewardRule();
-        });
-      },
-    },
-  };
-</script>
-
-<style scoped></style>

+ 131 - 0
src/views/Shareholders/RewardList.vue

@@ -0,0 +1,131 @@
+<template>
+	<ContainerQuery>
+		<div v-if="$accessCheck($Access.CommissionRuleAddCommissionRule)" slot="left">
+			<el-button size="small" type="primary" @click="$router.push('/Shareholders/RuleCommission')">
+				新增股东
+			</el-button>
+		</div>
+		<div slot="more">
+			<el-form size="small" :inline="true">
+				<el-form-item>
+					<el-date-picker v-model="time" clearable type="date" end-placeholder="添加日期" @change="changeTime">
+					</el-date-picker>
+				</el-form-item>
+			</el-form>
+		</div>
+		<el-table :data="rule_list">
+			<el-table-column prop="name" label="股东名称" show-overflow-tooltip min-width="155"></el-table-column>
+			<el-table-column prop="number" label="联系方式" show-overflow-tooltip min-width="155"></el-table-column>
+			<el-table-column prop="dends" label="分红股份" min-width="140"></el-table-column>
+			<el-table-column prop="shares" label="原始股份" min-width="140"></el-table-column>
+			<el-table-column prop="createTime" label="添加时间" min-width="140"></el-table-column>
+			<el-table-column prop="name" label="操作" min-width="120">
+				<template slot-scope="scope">
+					<el-button v-if="$accessCheck($Access.CommissionRuleEditCommissionRule)" type="text" @click="
+              $router.push(
+                '/Shareholders/RuleCommissionEdit?id=' + scope.row.id
+              )
+            ">
+						修改
+					</el-button>
+					<el-button v-if="$accessCheck($Access.CommissionRuleDelCommissionRule)" type="text"
+						@click="delData(scope.row.id)">
+						删除
+					</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
+		<FooterPage :page-size="pageSize" :total-page.sync="total" :current-page.sync="page" @pageChange="pageChange"
+			@sizeChange="sizeChange"></FooterPage>
+	</ContainerQuery>
+</template>
+
+<script>
+	import {
+		Lst,
+	} from "@/api/Holders";
+	import {
+		enableRewardRule,
+		getAllRewardRule,
+		deleteRewardRule,
+	} from "@/api/Reward";
+	export default {
+		name: "RewardList",
+		data() {
+			return {
+				rule_list: [],
+				time: '',
+				search_form: {
+					start: "",
+				},
+				total: 0,
+				page: 1,
+				pageSize: 10,
+			};
+		},
+		created() {
+			this.Lst();
+		},
+		activated() {
+			if (this.$_isInit()) return;
+			this.Lst();
+		},
+		methods: {
+			//  订单时间
+			changeTime(val) {
+				if (val && val.length) {
+					this.search_form.start = val[0] / 1000;
+				} else {
+					this.search_form.start = "";
+				}
+				this.pageChange(1);
+			},
+			pageChange(page) {
+				this.page = page;
+				this.Lst();
+			},
+			// 每页数据大小改变
+			sizeChange(val) {
+				this.pageSize = val;
+				this.pageChange(1);
+			},
+			editData(index) {},
+			async Lst() {
+				const {
+					data,
+					pageTotal
+				} = await Lst({
+					page: this.page,
+					pageSize: this.pageSize,
+					createTime: this.search_form.start,
+				});
+				this.rule_list = data.map((item) => {
+					const staffName = data.map((item) => item.staffName);
+					return {
+						...item,
+						staffName: staffName.length ? staffName.join(",") : "",
+					};
+				});
+				this.total = pageTotal;
+			},
+			// 删除
+			async delData(id) {
+				this.$confirm("是否要将该提成规则删除?", "提示", {
+					confirmButtonText: "确定",
+					cancelButtonText: "取消",
+					type: "warning",
+				}).then(async () => {
+					const data = await deleteRewardRule(id);
+
+					this.$message({
+						type: "success",
+						message: "操作成功!",
+					});
+					this.getAllRewardRule();
+				});
+			},
+		},
+	};
+</script>
+
+<style scoped></style>

+ 672 - 735
src/views/ShoppingMall/mendianset/BaseSet.vue

@@ -1,758 +1,695 @@
 <template>
-  <!--  基础设置-->
-  <Container>
-    <ContainerTit>
-      <div slot="headr">
-        <el-button type="primary" @click="setSubmit">提交</el-button>
-      </div>
-      <div class="detail-tab-item" style="padding: 20px">
-        <div v-if="page_tabs !== '5'" class="page-tip-div" style="margin: 0">
-          <i class="el-icon-info"></i>
-          温馨提示:基本设置重新提交后,其他账户需重新选择企业进入后,设置方能生效
-        </div>
-        <div v-else class="page-tip-div" style="margin: 0">
-          <i class="el-icon-info"></i>
-          温馨提示:小票打印机使用的是佳博打印机,下面有打印机的购买链接和使用帮助,也可自行淘宝购买打印机
-        </div>
-        <el-tabs v-model="page_tabs" type="card">
-          <el-tab-pane label="商城设置" name="1"></el-tab-pane>
-          <el-tab-pane label="交易设置" name="2"></el-tab-pane>
-          <el-tab-pane label="商品设置" name="3"></el-tab-pane>
-          <el-tab-pane label="客户设置" name="4"></el-tab-pane>
-          <el-tab-pane label="打印机设置" name="5"></el-tab-pane>
-          <el-tab-pane label="库存设置" name="6"></el-tab-pane>
-        </el-tabs>
-        <el-form
-          ref="basicData"
-          style="padding-top: 10px"
-          :model="basicData"
-          :rules="rules"
-          size="small"
-          label-width="180px"
-        >
-          <div v-if="page_tabs === '1'" class="desc-div">
-            <!--          v-if="activeName === 'BaseSet'"-->
-            <div>
-              <el-form-item label="商城LOGO:" prop="images">
-                <UploadQiniu
-                  :limit="1"
-                  :file-list="img_list"
-                  @uploadSuccess="uploadSuccess"
-                  @handleRemove="uploadRemove"
-                />
-              </el-form-item>
-              <el-form-item prop="shop" label="商城:">
-                <el-input
-                  v-model="basicData.shop"
-                  style="width: 350px"
-                  placeholder="商城"
-                ></el-input>
-              </el-form-item>
-              <el-form-item prop="description" label="商城简介:">
-                <el-input
-                  v-model="basicData.description"
-                  style="width: 350px"
-                  placeholder="请输入商城简介"
-                ></el-input>
-              </el-form-item>
-              <el-form-item prop="phone" label="客服电话:">
-                <el-input
-                  v-model="basicData.phone"
-                  style="width: 350px"
-                  placeholder="请输入客服电话"
-                ></el-input>
-              </el-form-item>
-              <el-form-item prop="company" label="公司名字:">
-                <el-input
-                  v-model="basicData.company"
-                  style="width: 350px"
-                  placeholder="请输入公司名字"
-                ></el-input>
-              </el-form-item>
-              <el-form-item prop="region" label="公司地址:">
-                <span>
-                  <RegionSelect
-                    v-model="basicData.region"
-                    size="small"
-                    style="width: 350px"
-                    @change="regionChange"
-                  />
-                </span>
-              </el-form-item>
-              <el-form-item prop="address" label="详细地址:">
-                <el-input
-                  v-model="basicData.address"
-                  style="width: 350px"
-                  placeholder="请输入公司详细地址"
-                ></el-input>
-              </el-form-item>
-            </div>
-          </div>
-          <div v-if="page_tabs === '2'" class="desc-div">
-            <!--          v-if="activeName === 'TradeSet'"-->
-            <div>
-              <!--              订单自动审核-->
-              <div v-if="false">
-                <el-form-item label="微信支付:">
-                  <el-switch
-                    v-model="autoAuditOrder.wxPay"
-                    active-color="#36B365"
-                    inactive-color="#ff4949"
-                    :active-value="5"
-                    :inactive-value="4"
-                    active-text="启用"
-                    inactive-text="禁用"
-                  ></el-switch>
-                  <p class="form-tip">
-                    开启后:该种支付方式的订单支持自动审核下推到销售出库单
-                  </p>
-                </el-form-item>
-                <el-form-item label="支付宝支付:">
-                  <el-switch
-                    v-model="autoAuditOrder.aliPay"
-                    active-color="#36B365"
-                    inactive-color="#ff4949"
-                    :active-value="5"
-                    :inactive-value="4"
-                    active-text="启用"
-                    inactive-text="禁用"
-                  ></el-switch>
-                  <p class="form-tip">
-                    开启后:该种支付方式的订单支持自动审核下推到销售出库单
-                  </p>
-                </el-form-item>
-                <el-form-item label="货到付款:">
-                  <el-switch
-                    v-model="autoAuditOrder.cashPay"
-                    active-color="#36B365"
-                    inactive-color="#ff4949"
-                    :active-value="5"
-                    :inactive-value="4"
-                    active-text="启用"
-                    inactive-text="禁用"
-                  ></el-switch>
-                  <p class="form-tip">
-                    开启后:该种支付方式的订单支持自动审核下推到销售出库单
-                  </p>
-                </el-form-item>
-              </div>
-              <el-form-item prop="address" label="订单打印标示展示:">
-                <el-radio-group v-model="basicData.printTag">
-                  <el-radio :label="5">展示</el-radio>
-                  <el-radio :label="4">不展示</el-radio>
-                </el-radio-group>
-              </el-form-item>
-              <el-form-item label="自动取消订单:">
-                <el-input-number
-                  v-model="orderAutoCloseSec"
-                  :controls="false"
-                ></el-input-number>
-                <span style="padding-left: 10px">小时</span>
-                <p class="form-tip">
-                  货到付款的订单下单后未审核,{{
+	<!--  基础设置-->
+	<Container>
+		<ContainerTit>
+			<div slot="headr">
+				<el-button type="primary" @click="setSubmit">提交</el-button>
+			</div>
+			<div class="detail-tab-item" style="padding: 20px">
+				<div v-if="page_tabs !== '5'" class="page-tip-div" style="margin: 0">
+					<i class="el-icon-info"></i>
+					温馨提示:基本设置重新提交后,其他账户需重新选择企业进入后,设置方能生效
+				</div>
+				<div v-else class="page-tip-div" style="margin: 0">
+					<i class="el-icon-info"></i>
+					温馨提示:小票打印机使用的是佳博打印机,下面有打印机的购买链接和使用帮助,也可自行淘宝购买打印机
+				</div>
+				<el-tabs v-model="page_tabs" type="card">
+					<el-tab-pane label="商城设置" name="1"></el-tab-pane>
+					<el-tab-pane label="交易设置" name="2"></el-tab-pane>
+					<el-tab-pane label="商品设置" name="3"></el-tab-pane>
+					<el-tab-pane label="客户设置" name="4"></el-tab-pane>
+					<el-tab-pane label="打印机设置" name="5"></el-tab-pane>
+					<el-tab-pane label="库存设置" name="6"></el-tab-pane>
+					<el-tab-pane label="钉钉设置" name="7"></el-tab-pane>
+					<el-tab-pane label="奖励分红设置" name="8"></el-tab-pane>
+				</el-tabs>
+				<el-form ref="basicData" style="padding-top: 10px" :model="basicData" :rules="rules" size="small"
+					label-width="180px">
+					<div v-if="page_tabs === '1'" class="desc-div">
+						<!--          v-if="activeName === 'BaseSet'"-->
+						<div>
+							<el-form-item label="商城LOGO:" prop="images">
+								<UploadQiniu :limit="1" :file-list="img_list" @uploadSuccess="uploadSuccess"
+									@handleRemove="uploadRemove" />
+							</el-form-item>
+							<el-form-item prop="shop" label="商城:">
+								<el-input v-model="basicData.shop" style="width: 350px" placeholder="商城"></el-input>
+							</el-form-item>
+							<el-form-item prop="description" label="商城简介:">
+								<el-input v-model="basicData.description" style="width: 350px" placeholder="请输入商城简介">
+								</el-input>
+							</el-form-item>
+							<el-form-item prop="phone" label="客服电话:">
+								<el-input v-model="basicData.phone" style="width: 350px" placeholder="请输入客服电话">
+								</el-input>
+							</el-form-item>
+							<el-form-item prop="company" label="公司名字:">
+								<el-input v-model="basicData.company" style="width: 350px" placeholder="请输入公司名字">
+								</el-input>
+							</el-form-item>
+							<el-form-item prop="region" label="公司地址:">
+								<span>
+									<RegionSelect v-model="basicData.region" size="small" style="width: 350px"
+										@change="regionChange" />
+								</span>
+							</el-form-item>
+							<el-form-item prop="address" label="详细地址:">
+								<el-input v-model="basicData.address" style="width: 350px" placeholder="请输入公司详细地址">
+								</el-input>
+							</el-form-item>
+						</div>
+					</div>
+					<div v-if="page_tabs === '2'" class="desc-div">
+						<!--          v-if="activeName === 'TradeSet'"-->
+						<div>
+							<!--              订单自动审核-->
+							<div v-if="false">
+								<el-form-item label="微信支付:">
+									<el-switch v-model="autoAuditOrder.wxPay" active-color="#36B365"
+										inactive-color="#ff4949" :active-value="5" :inactive-value="4" active-text="启用"
+										inactive-text="禁用"></el-switch>
+									<p class="form-tip">
+										开启后:该种支付方式的订单支持自动审核下推到销售出库单
+									</p>
+								</el-form-item>
+								<el-form-item label="支付宝支付:">
+									<el-switch v-model="autoAuditOrder.aliPay" active-color="#36B365"
+										inactive-color="#ff4949" :active-value="5" :inactive-value="4" active-text="启用"
+										inactive-text="禁用"></el-switch>
+									<p class="form-tip">
+										开启后:该种支付方式的订单支持自动审核下推到销售出库单
+									</p>
+								</el-form-item>
+								<el-form-item label="货到付款:">
+									<el-switch v-model="autoAuditOrder.cashPay" active-color="#36B365"
+										inactive-color="#ff4949" :active-value="5" :inactive-value="4" active-text="启用"
+										inactive-text="禁用"></el-switch>
+									<p class="form-tip">
+										开启后:该种支付方式的订单支持自动审核下推到销售出库单
+									</p>
+								</el-form-item>
+							</div>
+							<el-form-item prop="address" label="订单打印标示展示:">
+								<el-radio-group v-model="basicData.printTag">
+									<el-radio :label="5">展示</el-radio>
+									<el-radio :label="4">不展示</el-radio>
+								</el-radio-group>
+							</el-form-item>
+							<el-form-item label="自动取消订单:">
+								<el-input-number v-model="orderAutoCloseSec" :controls="false"></el-input-number>
+								<span style="padding-left: 10px">小时</span>
+								<p class="form-tip">
+									货到付款的订单下单后未审核,{{
                     orderAutoCloseSec || "未设置"
                   }}小时内会自动取消
-                </p>
-              </el-form-item>
-              <el-form-item label="自动收货订单:">
-                <el-input-number
-                  v-model="orderAutoFinishSec"
-                  :controls="false"
-                ></el-input-number>
-                <span style="padding-left: 10px">小时</span>
-                <p class="form-tip">
-                  订单出库后用户未确认收货,{{
+								</p>
+							</el-form-item>
+							<el-form-item label="自动收货订单:">
+								<el-input-number v-model="orderAutoFinishSec" :controls="false"></el-input-number>
+								<span style="padding-left: 10px">小时</span>
+								<p class="form-tip">
+									订单出库后用户未确认收货,{{
                     orderAutoFinishSec || "未设置"
                   }}小时内会自动收货
-                </p>
-              </el-form-item>
-              <el-form-item prop="returnWay" label="退款金额返回方式:">
-                <el-radio-group v-model="basicData.returnWay">
-                  <el-radio :label="5">原路返回</el-radio>
-                  <el-radio :label="4">退回余额</el-radio>
-                </el-radio-group>
-              </el-form-item>
-              <el-form-item prop="cancelOrder" label="取消订单节点:">
-                <el-radio-group v-model="basicData.cancelOrder">
-                  <el-radio :label="5">启用</el-radio>
-                  <el-radio :label="4">禁用</el-radio>
-                </el-radio-group>
-                <p class="form-tip">
-                  开启:订单在出库前客户可以点击取消订单按钮;
-                  <br />
-                  禁用:只有待审核的订单客户才能操作取消订单按钮;
-                </p>
-              </el-form-item>
-              <el-form-item prop="cancelOrderAudit" label="取消订单审核:">
-                <el-radio-group v-model="basicData.cancelOrderAudit">
-                  <el-radio :label="5">启用</el-radio>
-                  <el-radio :label="4">禁用</el-radio>
-                </el-radio-group>
-                <p class="form-tip">
-                  开启:客户取消订单需要系统进行审核
-                  <br />
-                  禁用:客户可直接进行取消订单,不需要系统审核
-                </p>
-              </el-form-item>
-            </div>
-          </div>
-          <div v-if="page_tabs === '3'" class="desc-div">
-            <!--          v-if="activeName === 'GoodsSet'"-->
-            <div>
-              <el-form-item prop="phone" label="起订价:">
-                <el-input-number
-                  v-model="basicData.startDeliveryPrice"
-                  :controls="false"
-                ></el-input-number>
-                <p class="form-tip">
-                  当订单总额低于设置价格时,商城APP&微信小程序不允许客户提交创建订单,单位:元
-                </p>
-              </el-form-item>
+								</p>
+							</el-form-item>
+							<el-form-item prop="returnWay" label="退款金额返回方式:">
+								<el-radio-group v-model="basicData.returnWay">
+									<el-radio :label="5">原路返回</el-radio>
+									<el-radio :label="4">退回余额</el-radio>
+								</el-radio-group>
+							</el-form-item>
+							<el-form-item prop="cancelOrder" label="取消订单节点:">
+								<el-radio-group v-model="basicData.cancelOrder">
+									<el-radio :label="5">启用</el-radio>
+									<el-radio :label="4">禁用</el-radio>
+								</el-radio-group>
+								<p class="form-tip">
+									开启:订单在出库前客户可以点击取消订单按钮;
+									<br />
+									禁用:只有待审核的订单客户才能操作取消订单按钮;
+								</p>
+							</el-form-item>
+							<el-form-item prop="cancelOrderAudit" label="取消订单审核:">
+								<el-radio-group v-model="basicData.cancelOrderAudit">
+									<el-radio :label="5">启用</el-radio>
+									<el-radio :label="4">禁用</el-radio>
+								</el-radio-group>
+								<p class="form-tip">
+									开启:客户取消订单需要系统进行审核
+									<br />
+									禁用:客户可直接进行取消订单,不需要系统审核
+								</p>
+							</el-form-item>
+						</div>
+					</div>
+					<div v-if="page_tabs === '3'" class="desc-div">
+						<!--          v-if="activeName === 'GoodsSet'"-->
+						<div>
+							<el-form-item prop="phone" label="起订价:">
+								<el-input-number v-model="basicData.startDeliveryPrice" :controls="false">
+								</el-input-number>
+								<p class="form-tip">
+									当订单总额低于设置价格时,商城APP&微信小程序不允许客户提交创建订单,单位:元
+								</p>
+							</el-form-item>
 
-              <el-form-item prop="phone" label="配送:">
-                订单满
-                <el-input-number
-                  v-model="basicData.freeExpressPrice"
-                  :controls="false"
-                ></el-input-number>
-                元包邮
-                <p class="form-tip">
-                  当订单总额大于等于设置价格时,订单可进行包邮,单位:元
-                </p>
-              </el-form-item>
-              <el-form-item prop="phone" label="运费规则:">
-                <el-radio-group v-model="basicData.calculateExpressType">
-                  <el-radio :label="4">累加运费</el-radio>
-                  <el-radio :label="5">组合运费</el-radio>
-                </el-radio-group>
-                <el-tooltip placement="right">
-                  <div slot="content">
-                    累加运费:所有商品运费合计金额,作为整单运费金额
-                    <br />
-                    组合运费:取订单中运费最高的商品运费,作为整单运费金额
-                  </div>
-                  <i
-                    style="
+							<el-form-item prop="phone" label="配送:">
+								订单满
+								<el-input-number v-model="basicData.freeExpressPrice" :controls="false">
+								</el-input-number>
+								元包邮
+								<p class="form-tip">
+									当订单总额大于等于设置价格时,订单可进行包邮,单位:元
+								</p>
+							</el-form-item>
+							<el-form-item prop="phone" label="运费规则:">
+								<el-radio-group v-model="basicData.calculateExpressType">
+									<el-radio :label="4">累加运费</el-radio>
+									<el-radio :label="5">组合运费</el-radio>
+								</el-radio-group>
+								<el-tooltip placement="right">
+									<div slot="content">
+										累加运费:所有商品运费合计金额,作为整单运费金额
+										<br />
+										组合运费:取订单中运费最高的商品运费,作为整单运费金额
+									</div>
+									<i style="
                       position: absolute;
                       top: 30%;
                       left: 200px;
                       color: rgb(192, 197, 207);
-                    "
-                    class="el-icon-question"
-                  ></i>
-                </el-tooltip>
-              </el-form-item>
-              <el-form-item prop="phone" label="商品市场价:">
-                <el-input-number
-                  v-model="basicData.salePriceTimes"
-                  :controls="false"
-                ></el-input-number>
-                倍销售价
-              </el-form-item>
+                    " class="el-icon-question"></i>
+								</el-tooltip>
+							</el-form-item>
+							<el-form-item prop="phone" label="商品市场价:">
+								<el-input-number v-model="basicData.salePriceTimes" :controls="false"></el-input-number>
+								倍销售价
+							</el-form-item>
 
-              <el-form-item prop="phone" label="商品价格:">
-                <el-radio-group v-model="basicData.goodsPrice">
-                  <el-radio :label="5">允许游客查看</el-radio>
-                  <el-radio :label="4">不允许游客查看</el-radio>
-                </el-radio-group>
-              </el-form-item>
-              <el-form-item prop="phone" label="库存展示:">
-                <el-radio-group v-model="basicData.stockDisplay">
-                  <el-radio :label="4">不显示库存</el-radio>
-                  <el-radio :label="5">显示有/无货</el-radio>
-                  <el-radio :label="6">显示库存数量</el-radio>
-                </el-radio-group>
-              </el-form-item>
-              <!--              <el-form-item prop="phone" label="是否支持负库存销售:">-->
-              <!--                <el-switch-->
-              <!--                  v-model="basicData.preSale"-->
-              <!--                  active-color="#36B365"-->
-              <!--                  inactive-color="#ff4949"-->
-              <!--                  :active-value="5"-->
-              <!--                  :inactive-value="4"-->
-              <!--                  active-text="启用"-->
-              <!--                  inactive-text="禁用"-->
-              <!--                  @change="changePre"-->
-              <!--                ></el-switch>-->
-              <!--              </el-form-item>-->
-              <el-form-item prop="phone" label="限购级别:">
-                <el-radio-group v-model="basicData.limitLevel">
-                  <el-radio :label="5">单笔限购</el-radio>
-                  <el-radio :label="4">活动时间范围限购</el-radio>
-                </el-radio-group>
-                <p class="form-tip">活动商品用户购买数量</p>
-              </el-form-item>
-              <el-form-item prop="phone" label="销量展示:">
-                <el-radio-group v-model="basicData.isSalesNum">
-                  <el-radio :label="4">不显示销量</el-radio>
-                  <el-radio :label="5">显示销量</el-radio>
-                </el-radio-group>
-              </el-form-item>
-              <el-form-item v-if="false" prop="phone" label="退货设置:">
-                订单完成
-                <el-input
-                  v-model="basicData.allowReturnDay"
-                  size="small"
-                  style="width: 50px"
-                  placeholder="请输入允许退货天数"
-                ></el-input>
-                天后不会允许退货
-              </el-form-item>
+							<el-form-item prop="phone" label="商品价格:">
+								<el-radio-group v-model="basicData.goodsPrice">
+									<el-radio :label="5">允许游客查看</el-radio>
+									<el-radio :label="4">不允许游客查看</el-radio>
+								</el-radio-group>
+							</el-form-item>
+							<el-form-item prop="phone" label="库存展示:">
+								<el-radio-group v-model="basicData.stockDisplay">
+									<el-radio :label="4">不显示库存</el-radio>
+									<el-radio :label="5">显示有/无货</el-radio>
+									<el-radio :label="6">显示库存数量</el-radio>
+								</el-radio-group>
+							</el-form-item>
+							<!--              <el-form-item prop="phone" label="是否支持负库存销售:">-->
+							<!--                <el-switch-->
+							<!--                  v-model="basicData.preSale"-->
+							<!--                  active-color="#36B365"-->
+							<!--                  inactive-color="#ff4949"-->
+							<!--                  :active-value="5"-->
+							<!--                  :inactive-value="4"-->
+							<!--                  active-text="启用"-->
+							<!--                  inactive-text="禁用"-->
+							<!--                  @change="changePre"-->
+							<!--                ></el-switch>-->
+							<!--              </el-form-item>-->
+							<el-form-item prop="phone" label="限购级别:">
+								<el-radio-group v-model="basicData.limitLevel">
+									<el-radio :label="5">单笔限购</el-radio>
+									<el-radio :label="4">活动时间范围限购</el-radio>
+								</el-radio-group>
+								<p class="form-tip">活动商品用户购买数量</p>
+							</el-form-item>
+							<el-form-item prop="phone" label="销量展示:">
+								<el-radio-group v-model="basicData.isSalesNum">
+									<el-radio :label="4">不显示销量</el-radio>
+									<el-radio :label="5">显示销量</el-radio>
+								</el-radio-group>
+							</el-form-item>
+							<el-form-item v-if="false" prop="phone" label="退货设置:">
+								订单完成
+								<el-input v-model="basicData.allowReturnDay" size="small" style="width: 50px"
+									placeholder="请输入允许退货天数"></el-input>
+								天后不会允许退货
+							</el-form-item>
 
-              <!--              <el-form-item prop="phone" label="库存预警:">-->
-              <!--                商品低于-->
-              <!--                <el-input-number-->
-              <!--                  v-model="basicData.goodsNum"-->
-              <!--                  :controls="false"-->
-              <!--                  size="small"-->
-              <!--                  style="width: 100px"-->
-              <!--                  placeholder=""-->
-              <!--                ></el-input-number>-->
-              <!--                时请通知我-->
-              <!--                <p class="form-tip">-->
-              <!--                  当库存数量不足时,库存预警能够帮助店铺及时处理库存商品-->
-              <!--                </p>-->
-              <!--              </el-form-item>-->
-              <!--              <el-form-item-->
-              <!--                prop="phone"-->
-              <!--                label="自动上下架:"-->
-              <!--              >-->
-              <!--                <el-switch-->
-              <!--                  v-model="basicData.autoRemoveGoods"-->
-              <!--                  active-color="#36B365"-->
-              <!--                  inactive-color="#ff4949"-->
-              <!--                  :active-value="5"-->
-              <!--                  :inactive-value="4"-->
-              <!--                  active-text="启用"-->
-              <!--                  inactive-text="禁用"-->
-              <!--                >-->
-              <!--                </el-switch>-->
-              <!--                <p class="form-tip">-->
-              <!--                  开启后,商品库存为空后,自动下架该商品,否则反之-->
-              <!--                </p>-->
-              <!--              </el-form-item>-->
-              <!--              <el-form-item prop="phone" label="开启保质期:">-->
-              <!--                <el-switch-->
-              <!--                  v-model="basicData.shelfLifeSetUp"-->
-              <!--                  active-color="#36B365"-->
-              <!--                  inactive-color="#ff4949"-->
-              <!--                  :active-value="5"-->
-              <!--                  :inactive-value="4"-->
-              <!--                  active-text="启用"-->
-              <!--                  inactive-text="禁用"-->
-              <!--                ></el-switch>-->
-              <!--                <p class="form-tip">-->
-              <!--                  开启后,商品基础资料必填保质期,入库单必填批次生产日期,菜单展示保质期查询,否则反之-->
-              <!--                </p>-->
-              <!--              </el-form-item>-->
-              <el-form-item prop="phone" label="搜索推荐设置:">
-                <el-tag
-                  v-for="(tag, index) in basicData.recommend"
-                  :key="index"
-                  closable
-                  :disable-transitions="false"
-                  @close="handleClose(index)"
-                >
-                  {{ tag.name }}
-                </el-tag>
-                <el-input
-                  v-if="inputVisible"
-                  ref="saveTagInput"
-                  v-model="tagVal"
-                  class="input-new-tag"
-                  size="small"
-                  @keyup.enter.native="handleInputConfirm"
-                  @blur="handleInputConfirm"
-                ></el-input>
-                <el-button
-                  v-else
-                  class="button-new-tag"
-                  size="small"
-                  @click="showInput"
-                >
-                  + 新增
-                </el-button>
-              </el-form-item>
-            </div>
-          </div>
-          <div v-if="page_tabs === '4'" class="desc-div">
-            <!--          v-if="activeName === 'CustomerSet'"-->
-            <div>
-              <el-form-item prop="personnelReview" label="客户审核:">
-                <el-switch
-                  v-model="basicData.personnelReview"
-                  active-color="#36B365"
-                  inactive-color="#ff4949"
-                  :active-value="5"
-                  :inactive-value="4"
-                  active-text="启用"
-                  inactive-text="禁用"
-                ></el-switch>
-                <p class="form-tip">
-                  开启后:必须审核过后才可以进行下单购买;禁用后:客户注册成功即代表审核通过
-                </p>
-              </el-form-item>
-              <el-form-item prop="personnelReview" label="完善资料:">
-                <el-switch
-                  v-model="basicData.finishData"
-                  active-color="#36B365"
-                  inactive-color="#ff4949"
-                  :active-value="5"
-                  :inactive-value="4"
-                  active-text="启用"
-                  inactive-text="禁用"
-                ></el-switch>
-                <p>
-                  <el-checkbox v-model="basicData.finishDataGo">
-                    立即去完善
-                  </el-checkbox>
-                </p>
-                <p class="form-tip">
-                  开启后:客户在小程序授权完成登陆以后必须完善资料才可以进行使用
-                </p>
-              </el-form-item>
-              <el-form-item label="资料内容:">
-                <el-checkbox-group
-                  v-model="basicData.customerData"
-                  @change="customerDataChange"
-                >
-                  <el-checkbox
-                    v-for="(item, index) in customer_data_list"
-                    :key="index"
-                    :label="item"
-                    :disabled="item === '真实姓名'"
-                  >
-                    {{ item }}
-                  </el-checkbox>
-                </el-checkbox-group>
-              </el-form-item>
-            </div>
-          </div>
-          <div v-if="page_tabs === '5'" class="desc-div">
-            <el-form-item prop="memberCode" label="商户编码:">
-              <el-input
-                v-model="basicData.memberCode"
-                style="width: 350px"
-                placeholder="请输入商户编码"
-              ></el-input>
-            </el-form-item>
-            <el-form-item prop="deviceID" label="终端编号:">
-              <el-input
-                v-model="basicData.deviceID"
-                style="width: 350px"
-                placeholder="请输入终端编号"
-              ></el-input>
-            </el-form-item>
-            <el-form-item prop="apiKey" label="商户秘钥:">
-              <el-input
-                v-model="basicData.apiKey"
-                style="width: 350px"
-                placeholder="请输入商户秘钥"
-              ></el-input>
-            </el-form-item>
-            <el-form-item label="打印机帮助:">
-              <a
-                href="https://www.kancloud.cn/qianniaoyunshang/houtaishiyongliucheng/1806010"
-                target="_blank"
-              >
-                https://www.kancloud.cn/qianniaoyunshang/houtaishiyongliucheng/1806010
-              </a>
-            </el-form-item>
-            <el-form-item label="打印机购买:">
-              <a href="https://item.jd.com/62582739647.html" target="_blank">
-                https://item.jd.com/62582739647.html
-              </a>
-            </el-form-item>
-          </div>
-          <div v-if="page_tabs === '6'" class="desc-div">
-            <el-form-item prop="phone" label="是否开启库区库位:">
-              <el-switch
-                v-model="basicData.enableLocationManagement"
-                active-color="#36B365"
-                inactive-color="#ff4949"
-                :active-value="5"
-                :inactive-value="4"
-                active-text="启用"
-                inactive-text="禁用"
-              ></el-switch>
-            </el-form-item>
-            <el-form-item prop="phone" label="库存预警:">
-              商品低于
-              <el-input-number
-                v-model="basicData.goodsNum"
-                :controls="false"
-                size="small"
-                style="width: 100px"
-                placeholder=""
-              ></el-input-number>
-              时请通知我
-              <p class="form-tip">
-                当库存数量不足时,库存预警能够帮助店铺及时处理库存商品
-              </p>
-            </el-form-item>
-            <el-form-item prop="phone" label="开启保质期:">
-              <el-switch
-                v-model="basicData.shelfLifeSetUp"
-                active-color="#36B365"
-                inactive-color="#ff4949"
-                :active-value="5"
-                :inactive-value="4"
-                active-text="启用"
-                inactive-text="禁用"
-              ></el-switch>
-              <p class="form-tip">
-                开启后,商品基础资料必填保质期,入库单必填批次生产日期,菜单展示保质期查询,否则反之
-              </p>
-            </el-form-item>
-            <!--            <el-form-item prop="phone" label="是否允许负库存出库:">-->
-            <!--              <el-switch-->
-            <!--                v-model="basicData.distributionExamine"-->
-            <!--                active-color="#36B365"-->
-            <!--                inactive-color="#ff4949"-->
-            <!--                :active-value="5"-->
-            <!--                :inactive-value="4"-->
-            <!--                active-text="启用"-->
-            <!--                inactive-text="禁用"-->
-            <!--              ></el-switch>-->
-            <!--            </el-form-item>-->
-          </div>
-        </el-form>
-      </div>
-    </ContainerTit>
-  </Container>
+							<!--              <el-form-item prop="phone" label="库存预警:">-->
+							<!--                商品低于-->
+							<!--                <el-input-number-->
+							<!--                  v-model="basicData.goodsNum"-->
+							<!--                  :controls="false"-->
+							<!--                  size="small"-->
+							<!--                  style="width: 100px"-->
+							<!--                  placeholder=""-->
+							<!--                ></el-input-number>-->
+							<!--                时请通知我-->
+							<!--                <p class="form-tip">-->
+							<!--                  当库存数量不足时,库存预警能够帮助店铺及时处理库存商品-->
+							<!--                </p>-->
+							<!--              </el-form-item>-->
+							<!--              <el-form-item-->
+							<!--                prop="phone"-->
+							<!--                label="自动上下架:"-->
+							<!--              >-->
+							<!--                <el-switch-->
+							<!--                  v-model="basicData.autoRemoveGoods"-->
+							<!--                  active-color="#36B365"-->
+							<!--                  inactive-color="#ff4949"-->
+							<!--                  :active-value="5"-->
+							<!--                  :inactive-value="4"-->
+							<!--                  active-text="启用"-->
+							<!--                  inactive-text="禁用"-->
+							<!--                >-->
+							<!--                </el-switch>-->
+							<!--                <p class="form-tip">-->
+							<!--                  开启后,商品库存为空后,自动下架该商品,否则反之-->
+							<!--                </p>-->
+							<!--              </el-form-item>-->
+							<!--              <el-form-item prop="phone" label="开启保质期:">-->
+							<!--                <el-switch-->
+							<!--                  v-model="basicData.shelfLifeSetUp"-->
+							<!--                  active-color="#36B365"-->
+							<!--                  inactive-color="#ff4949"-->
+							<!--                  :active-value="5"-->
+							<!--                  :inactive-value="4"-->
+							<!--                  active-text="启用"-->
+							<!--                  inactive-text="禁用"-->
+							<!--                ></el-switch>-->
+							<!--                <p class="form-tip">-->
+							<!--                  开启后,商品基础资料必填保质期,入库单必填批次生产日期,菜单展示保质期查询,否则反之-->
+							<!--                </p>-->
+							<!--              </el-form-item>-->
+							<el-form-item prop="phone" label="搜索推荐设置:">
+								<el-tag v-for="(tag, index) in basicData.recommend" :key="index" closable
+									:disable-transitions="false" @close="handleClose(index)">
+									{{ tag.name }}
+								</el-tag>
+								<el-input v-if="inputVisible" ref="saveTagInput" v-model="tagVal" class="input-new-tag"
+									size="small" @keyup.enter.native="handleInputConfirm" @blur="handleInputConfirm">
+								</el-input>
+								<el-button v-else class="button-new-tag" size="small" @click="showInput">
+									+ 新增
+								</el-button>
+							</el-form-item>
+						</div>
+					</div>
+					<div v-if="page_tabs === '4'" class="desc-div">
+						<!--          v-if="activeName === 'CustomerSet'"-->
+						<div>
+							<el-form-item prop="personnelReview" label="客户审核:">
+								<el-switch v-model="basicData.personnelReview" active-color="#36B365"
+									inactive-color="#ff4949" :active-value="5" :inactive-value="4" active-text="启用"
+									inactive-text="禁用"></el-switch>
+								<p class="form-tip">
+									开启后:必须审核过后才可以进行下单购买;禁用后:客户注册成功即代表审核通过
+								</p>
+							</el-form-item>
+							<el-form-item prop="personnelReview" label="完善资料:">
+								<el-switch v-model="basicData.finishData" active-color="#36B365"
+									inactive-color="#ff4949" :active-value="5" :inactive-value="4" active-text="启用"
+									inactive-text="禁用"></el-switch>
+								<p>
+									<el-checkbox v-model="basicData.finishDataGo">
+										立即去完善
+									</el-checkbox>
+								</p>
+								<p class="form-tip">
+									开启后:客户在小程序授权完成登陆以后必须完善资料才可以进行使用
+								</p>
+							</el-form-item>
+							<el-form-item label="资料内容:">
+								<el-checkbox-group v-model="basicData.customerData" @change="customerDataChange">
+									<el-checkbox v-for="(item, index) in customer_data_list" :key="index" :label="item"
+										:disabled="item === '真实姓名'">
+										{{ item }}
+									</el-checkbox>
+								</el-checkbox-group>
+							</el-form-item>
+						</div>
+					</div>
+					<div v-if="page_tabs === '5'" class="desc-div">
+						<el-form-item prop="memberCode" label="商户编码:">
+							<el-input v-model="basicData.memberCode" style="width: 350px" placeholder="请输入商户编码">
+							</el-input>
+						</el-form-item>
+						<el-form-item prop="deviceID" label="终端编号:">
+							<el-input v-model="basicData.deviceID" style="width: 350px" placeholder="请输入终端编号">
+							</el-input>
+						</el-form-item>
+						<el-form-item prop="apiKey" label="商户秘钥:">
+							<el-input v-model="basicData.apiKey" style="width: 350px" placeholder="请输入商户秘钥"></el-input>
+						</el-form-item>
+						<el-form-item label="打印机帮助:">
+							<a href="https://www.kancloud.cn/qianniaoyunshang/houtaishiyongliucheng/1806010"
+								target="_blank">
+								https://www.kancloud.cn/qianniaoyunshang/houtaishiyongliucheng/1806010
+							</a>
+						</el-form-item>
+						<el-form-item label="打印机购买:">
+							<a href="https://item.jd.com/62582739647.html" target="_blank">
+								https://item.jd.com/62582739647.html
+							</a>
+						</el-form-item>
+					</div>
+					<div v-if="page_tabs === '6'" class="desc-div">
+						<el-form-item prop="phone" label="是否开启库区库位:">
+							<el-switch v-model="basicData.enableLocationManagement" active-color="#36B365"
+								inactive-color="#ff4949" :active-value="5" :inactive-value="4" active-text="启用"
+								inactive-text="禁用"></el-switch>
+						</el-form-item>
+						<el-form-item prop="phone" label="库存预警:">
+							商品低于
+							<el-input-number v-model="basicData.goodsNum" :controls="false" size="small"
+								style="width: 100px" placeholder=""></el-input-number>
+							时请通知我
+							<p class="form-tip">
+								当库存数量不足时,库存预警能够帮助店铺及时处理库存商品
+							</p>
+						</el-form-item>
+						<el-form-item prop="phone" label="开启保质期:">
+							<el-switch v-model="basicData.shelfLifeSetUp" active-color="#36B365"
+								inactive-color="#ff4949" :active-value="5" :inactive-value="4" active-text="启用"
+								inactive-text="禁用"></el-switch>
+							<p class="form-tip">
+								开启后,商品基础资料必填保质期,入库单必填批次生产日期,菜单展示保质期查询,否则反之
+							</p>
+						</el-form-item>
+						<!--            <el-form-item prop="phone" label="是否允许负库存出库:">-->
+						<!--              <el-switch-->
+						<!--                v-model="basicData.distributionExamine"-->
+						<!--                active-color="#36B365"-->
+						<!--                inactive-color="#ff4949"-->
+						<!--                :active-value="5"-->
+						<!--                :inactive-value="4"-->
+						<!--                active-text="启用"-->
+						<!--                inactive-text="禁用"-->
+						<!--              ></el-switch>-->
+						<!--            </el-form-item>-->
+					</div>
+					<div v-if="page_tabs === '7'" class="desc-div">
+						<el-form-item prop="appkey" label="appkey:">
+							<el-input v-model="basicData.appKey" style="width: 350px" placeholder="请输入钉钉appKey">
+							</el-input>
+						</el-form-item>
+						<el-form-item prop="appSecret" label="appSecret:">
+							<el-input v-model="basicData.appSecret" style="width: 350px" placeholder="请输入钉钉appSecret">
+							</el-input>
+						</el-form-item>
+						<el-form-item prop="corpid" label="corpid:">
+							<el-input v-model="basicData.corpid" style="width: 350px" placeholder="请输入钉钉corpid"></el-input>
+						</el-form-item>
+						<el-form-item prop="ssoSecred" label="ssoSecred:">
+							<el-input v-model="basicData.ssoSecred" style="width: 350px" placeholder="请输入钉钉ssoSecred"></el-input>
+						</el-form-item>
+					</div>
+					<div v-if="page_tabs === '8'" class="desc-div">
+						<el-form-item prop="original_bonus" label="原始分红:">
+							<el-input v-model="basicData.original_bonus" style="width: 350px" placeholder="设置为利润的百分比"></el-input>
+						</el-form-item>
+						<el-form-item prop="bonus" label="分红股分红:">
+							<el-input v-model="basicData.bonus" style="width: 350px" placeholder="设置为利润的百分比"></el-input>
+						</el-form-item>
+						<el-form-item prop="attendance" label="全勤奖:">
+							<el-input v-model="basicData.attendance" style="width: 350px" placeholder="员工全勤奖励固定金额人民币"></el-input>
+						</el-form-item>
+						<el-form-item prop="recommen_registerd" label="推荐注册奖励:">
+							<el-input v-model="basicData.recommen_registerd" style="width: 350px" placeholder="固定金额人民币"></el-input>
+						</el-form-item>
+						<el-form-item prop="shopowner" label="店长分红比例:">
+							<el-input v-model="basicData.shopowner" style="width: 350px" placeholder="设置为利润的百分比"></el-input>
+						</el-form-item>
+						<el-form-item prop="stock_exchange" label="员工股份兑换比例:">
+							<el-input v-model="basicData.stock_exchange" style="width: 350px" placeholder="1股份可以兑换多少人民币"></el-input>
+						</el-form-item>
+						<el-form-item prop="shareholder_extension" label="股东推广奖励比例:">
+							<el-input v-model="basicData.shareholder_extension" style="width: 350px" placeholder="设置为利润的百分比"></el-input>
+						</el-form-item>
+						<el-form-item prop="customer_extension" label="客户推广奖励比例:">
+							<el-input v-model="basicData.customer_extension" style="width: 350px" placeholder="设置为利润的百分比"></el-input>
+						</el-form-item>
+					</div>
+				</el-form>
+			</div>
+		</ContainerTit>
+	</Container>
 </template>
 
 <script>
-  import RegionSelect from "@/component/common/RegionSelectJSON";
-  import { mapActions } from "vuex";
-  import UploadQiniu from "../../../component/common/UploadQiniu";
-  import { getBasicSetup, setting } from "@/api/System";
-  export default {
-    name: "BaseSetAdd",
-    components: {
-      RegionSelect,
-      UploadQiniu,
-    },
-    data() {
-      return {
-        customer_data_list: [
-          "真实姓名",
-          "电话",
-          "地址",
-          "客户类型",
-          "营业执照",
-          "备注",
-        ],
-        activeName: "",
-        img_list: [], // 上传公司照片
-        rules: {},
-        inputVisible: false,
-        tagVal: "",
-        autoAuditOrder: {
-          wxPay: 4,
-          aliPay: 4,
-          cashPay: 4,
-        },
-        orderAutoCloseSec: "",
-        orderAutoFinishSec: "",
-        basicData: {
-          orderAutoCloseSec: "",
-          isSalesNum: 5,
-          orderAutoFinishSec: "",
-          startDeliveryPrice: 0, // 起送价
-          calculateExpressType: 5, // 运费规则 4累加 5组合
-          freeExpressPrice: 0, // 包邮价
-          goodsNum: "", // 库存警告
-          images: [],
-          salePriceTimes: 1.2,
-          stockDisplay: 4,
-          goodsPrice: 5,
-          printTag: 4, // 订单打印标示是否展示 4不展示 ,5 展示
-          returnWay: 5, //退款金额返回方式 5原路返回 ,4退回余额
-          cancelOrder: 5, // 取消订单 5启用,4禁用
-          cancelOrderAudit: 4, // 取消订单审核 5启用,4禁用
-          allowReturnDay: 0, // 设置天数
-          personnelReview: 4, // 客户审核 4禁用 5启用
-          finishData: 4, // 完善资料 4禁用 5启用
-          customerData: [
-            "真实姓名",
-            "电话",
-            "地址",
-            "客户类型",
-            "营业执照",
-            "备注",
-          ], // 自定义完善资料
-          autoRemoveGoods: 4,
-          shop: "",
-          description: "",
-          phone: "",
-          company: "",
-          region: [],
-          address: "",
-          shelfLifeSetUp: 4,
-          enableLocationManagement: 4,
-          preSale: 4,
-          recommend: [],
-          memberCode: "",
-          deviceID: "",
-          apiKey: "",
-          limitLevel: 4,
-          // distributionExamine: 4,
-          finishDataGo: false, // 完善资料登录后立即去完善
-        },
-        page_tabs: "1",
-      };
-    },
-    async created() {
-      await this.getBasicSetup();
-      this.activeName = this.$route.name;
-    },
-    activated() {
-      if (this.$_isInit()) return;
-      this.activeName = this.$route.name;
-      this.getBasicSetup();
-    },
-    methods: {
-      ...mapActions({
-        changeShelfLifeSetUp: "MUser/changeShelfLifeSetUp",
-        changeEnableLocationManagement: "MUser/changeEnableLocationManagement",
-        changePrintTag: "MUser/changePrintTag",
-        changeSalePriceTimes: "MUser/changeSalePriceTimes",
-        changeBaseSetting: "MUser/changeBaseSetting",
-      }),
-      changePre(val) {
-        if (val === 5) {
-          this.basicData.stockDisplay = 4;
-        }
-      },
-      // 打开收银台
-      openUrl(url) {
-        let routeData = this.$router.resolve({
-          path: url,
-        });
-        window.open(routeData.href, "_blank");
-      },
-      // 添加照片
-      uploadSuccess(val, res, file, fileList) {
-        this.basicData.images = val;
-      },
-      uploadRemove(file, fileList) {
-        this.basicData.images = "";
-      }, // 移出照片
-      handleClose(index) {
-        this.basicData.recommend.splice(index, 1);
-      },
-      showInput() {
-        this.inputVisible = true;
-        this.$nextTick(() => {
-          this.$refs.saveTagInput.$refs.input.focus();
-        });
-      },
+	import RegionSelect from "@/component/common/RegionSelectJSON";
+	import {
+		mapActions
+	} from "vuex";
+	import UploadQiniu from "../../../component/common/UploadQiniu";
+	import {
+		getBasicSetup,
+		setting
+	} from "@/api/System";
+	export default {
+		name: "BaseSetAdd",
+		components: {
+			RegionSelect,
+			UploadQiniu,
+		},
+		data() {
+			return {
+				customer_data_list: [
+					"真实姓名",
+					"电话",
+					"地址",
+					"客户类型",
+					"营业执照",
+					"备注",
+				],
+				activeName: "",
+				img_list: [], // 上传公司照片
+				rules: {},
+				inputVisible: false,
+				tagVal: "",
+				autoAuditOrder: {
+					wxPay: 4,
+					aliPay: 4,
+					cashPay: 4,
+				},
+				orderAutoCloseSec: "",
+				orderAutoFinishSec: "",
+				basicData: {
+					orderAutoCloseSec: "",
+					isSalesNum: 5,
+					orderAutoFinishSec: "",
+					startDeliveryPrice: 0, // 起送价
+					calculateExpressType: 5, // 运费规则 4累加 5组合
+					freeExpressPrice: 0, // 包邮价
+					goodsNum: "", // 库存警告
+					images: [],
+					salePriceTimes: 1.2,
+					stockDisplay: 4,
+					goodsPrice: 5,
+					printTag: 4, // 订单打印标示是否展示 4不展示 ,5 展示
+					returnWay: 5, //退款金额返回方式 5原路返回 ,4退回余额
+					cancelOrder: 5, // 取消订单 5启用,4禁用
+					cancelOrderAudit: 4, // 取消订单审核 5启用,4禁用
+					allowReturnDay: 0, // 设置天数
+					personnelReview: 4, // 客户审核 4禁用 5启用
+					finishData: 4, // 完善资料 4禁用 5启用
+					customerData: [
+						"真实姓名",
+						"电话",
+						"地址",
+						"客户类型",
+						"营业执照",
+						"备注",
+					], // 自定义完善资料
+					autoRemoveGoods: 4,
+					shop: "",
+					description: "",
+					phone: "",
+					company: "",
+					region: [],
+					address: "",
+					shelfLifeSetUp: 4,
+					enableLocationManagement: 4,
+					preSale: 4,
+					recommend: [],
+					memberCode: "",
+					deviceID: "",
+					apiKey: "",
+					limitLevel: 4,
+					// distributionExamine: 4,
+					finishDataGo: false, // 完善资料登录后立即去完善
+					"appKey":"",//钉钉appkey
+					"appSecret":"",//钉钉appSecret
+					"corpid":"",//钉钉corpid
+					"ssoSecred":"",//钉钉ssoSecred
+					"original_bonus": '', //原始分红
+					"bonus" : '',//分红股份分红
+					"attendance": '',//全勤奖
+					"recommen_registerd":'',//推荐注册奖励
+					"shopowner" : '',//店长分红比列
+					"stock_exchange": '',//员工股份兑换比列
+					"commission":'',//提成比列
+					"shareholder_extension":'',//股东推广奖励比列
+					"customer_extension" : '',//客户推广奖励比列
+				},
+				page_tabs: "1",
+			};
+		},
+		async created() {
+			await this.getBasicSetup();
+			this.activeName = this.$route.name;
+		},
+		activated() {
+			if (this.$_isInit()) return;
+			this.activeName = this.$route.name;
+			this.getBasicSetup();
+		},
+		methods: {
+			...mapActions({
+				changeShelfLifeSetUp: "MUser/changeShelfLifeSetUp",
+				changeEnableLocationManagement: "MUser/changeEnableLocationManagement",
+				changePrintTag: "MUser/changePrintTag",
+				changeSalePriceTimes: "MUser/changeSalePriceTimes",
+				changeBaseSetting: "MUser/changeBaseSetting",
+			}),
+			changePre(val) {
+				if (val === 5) {
+					this.basicData.stockDisplay = 4;
+				}
+			},
+			// 打开收银台
+			openUrl(url) {
+				let routeData = this.$router.resolve({
+					path: url,
+				});
+				window.open(routeData.href, "_blank");
+			},
+			// 添加照片
+			uploadSuccess(val, res, file, fileList) {
+				this.basicData.images = val;
+			},
+			uploadRemove(file, fileList) {
+				this.basicData.images = "";
+			}, // 移出照片
+			handleClose(index) {
+				this.basicData.recommend.splice(index, 1);
+			},
+			showInput() {
+				this.inputVisible = true;
+				this.$nextTick(() => {
+					this.$refs.saveTagInput.$refs.input.focus();
+				});
+			},
 
-      handleInputConfirm() {
-        let inputValue = this.tagVal;
-        if (inputValue) {
-          this.basicData.recommend.push({ name: inputValue });
-        }
-        this.inputVisible = false;
-        this.tagVal = "";
-      },
-      //  获取详情
-      async getBasicSetup() {
-        const { data } = await getBasicSetup();
+			handleInputConfirm() {
+				let inputValue = this.tagVal;
+				if (inputValue) {
+					this.basicData.recommend.push({
+						name: inputValue
+					});
+				}
+				this.inputVisible = false;
+				this.tagVal = "";
+			},
+			//  获取详情
+			async getBasicSetup() {
+				const {
+					data
+				} = await getBasicSetup();
 
-        this.basicData = { ...this.basicData, ...data.basicData };
-        this.autoAuditOrder = {
-          ...this.autoAuditOrder,
-          ...this.basicData.autoAuditOrder,
-        };
-        this.orderAutoFinishSec = data.basicData.orderAutoFinishSec
-          ? this.$NP.divide(data.basicData.orderAutoFinishSec, 3600)
-          : "";
-        this.orderAutoCloseSec = data.basicData.orderAutoCloseSec
-          ? this.$NP.divide(data.basicData.orderAutoCloseSec, 3600)
-          : "";
-        if (this.basicData.images) {
-          this.img_list = [
-            {
-              name: "",
-              url: this.basicData.images,
-            },
-          ];
-        } else {
-          this.img_list = [];
-        }
-        this.changePrintTag(this.basicData.printTag || 4);
-        this.changeSalePriceTimes(this.basicData.salePriceTimes || 1.2);
-      },
-      //  提交
-      async setSubmit() {
-        const orderAutoFinishSec = this.$NP.times(
-          this.orderAutoFinishSec,
-          3600
-        );
-        const orderAutoCloseSec = this.$NP.times(this.orderAutoCloseSec, 3600);
+				this.basicData = {
+					...this.basicData,
+					...data.basicData
+				};
+				this.autoAuditOrder = {
+					...this.autoAuditOrder,
+					...this.basicData.autoAuditOrder,
+				};
+				this.orderAutoFinishSec = data.basicData.orderAutoFinishSec ?
+					this.$NP.divide(data.basicData.orderAutoFinishSec, 3600) :
+					"";
+				this.orderAutoCloseSec = data.basicData.orderAutoCloseSec ?
+					this.$NP.divide(data.basicData.orderAutoCloseSec, 3600) :
+					"";
+				if (this.basicData.images) {
+					this.img_list = [{
+						name: "",
+						url: this.basicData.images,
+					}, ];
+				} else {
+					this.img_list = [];
+				}
+				this.changePrintTag(this.basicData.printTag || 4);
+				this.changeSalePriceTimes(this.basicData.salePriceTimes || 1.2);
+			},
+			//  提交
+			async setSubmit() {
+				const orderAutoFinishSec = this.$NP.times(
+					this.orderAutoFinishSec,
+					3600
+				);
+				const orderAutoCloseSec = this.$NP.times(this.orderAutoCloseSec, 3600);
 
-        this.basicData = {
-          ...this.basicData,
-          autoAuditOrder: this.autoAuditOrder,
-          orderAutoCloseSec: orderAutoCloseSec,
-          orderAutoFinishSec: orderAutoFinishSec,
-        };
-        const data = await setting({
-          basicData: this.basicData,
-        });
+				this.basicData = {
+					...this.basicData,
+					autoAuditOrder: this.autoAuditOrder,
+					orderAutoCloseSec: orderAutoCloseSec,
+					orderAutoFinishSec: orderAutoFinishSec,
+				};
+				const data = await setting({
+					basicData: this.basicData,
+				});
 
-        this.$message({
-          message:
-            "提交成功,基本设置重新提交后,其他账户需重新选择企业进入后,设置方能生效",
-          type: "success",
-        });
-        this.changeShelfLifeSetUp(this.basicData.shelfLifeSetUp);
-        this.changeEnableLocationManagement(
-          this.basicData.enableLocationManagement
-        );
-        this.changeBaseSetting(this.basicData);
-        await this.getBasicSetup();
-      },
-      regionChange(row) {
-        this.basicData.region = row;
-      },
-      // 自定义客户资料
-      customerDataChange() {},
-    },
-  };
+				this.$message({
+					message: "提交成功,基本设置重新提交后,其他账户需重新选择企业进入后,设置方能生效",
+					type: "success",
+				});
+				this.changeShelfLifeSetUp(this.basicData.shelfLifeSetUp);
+				this.changeEnableLocationManagement(
+					this.basicData.enableLocationManagement
+				);
+				this.changeBaseSetting(this.basicData);
+				await this.getBasicSetup();
+			},
+			regionChange(row) {
+				this.basicData.region = row;
+			},
+			// 自定义客户资料
+			customerDataChange() {},
+		},
+	};
 </script>
 
 <style scoped>
-  .button-new-tag {
-    margin-left: 10px;
-    height: 32px;
-    line-height: 30px;
-    padding-top: 0;
-    padding-bottom: 0;
-  }
-  .input-new-tag {
-    width: 90px;
-    margin-left: 10px;
-    vertical-align: bottom;
-  }
-  .index-view {
-    display: inline-block;
-    font-size: 12px;
-    width: 20px;
-    height: 20px;
-    line-height: 20px;
-    border: 1px solid #ddd;
-    border-radius: 100%;
-    text-align: center;
-    margin-right: 10px;
-    color: #666;
-  }
-  .desc-div {
-    font-size: 12px;
-    padding: 10px 20px;
-    line-height: 32px;
-    color: #666666;
-  }
+	.button-new-tag {
+		margin-left: 10px;
+		height: 32px;
+		line-height: 30px;
+		padding-top: 0;
+		padding-bottom: 0;
+	}
+
+	.input-new-tag {
+		width: 90px;
+		margin-left: 10px;
+		vertical-align: bottom;
+	}
+
+	.index-view {
+		display: inline-block;
+		font-size: 12px;
+		width: 20px;
+		height: 20px;
+		line-height: 20px;
+		border: 1px solid #ddd;
+		border-radius: 100%;
+		text-align: center;
+		margin-right: 10px;
+		color: #666;
+	}
+
+	.desc-div {
+		font-size: 12px;
+		padding: 10px 20px;
+		line-height: 32px;
+		color: #666666;
+	}
 </style>

+ 195 - 0
src/views/SingleStore/subscribe/OrderItem.vue

@@ -0,0 +1,195 @@
+<template>
+	<ContainerQuery>
+		<el-form slot="more" size="small" :inline="true">
+			<el-form-item>
+				<el-input v-model="search_key" placeholder="项目名称" clearable style="width: 220px"
+					@keyup.enter.native="pageChange(1)" @clear="pageChange(1)">
+					<el-button slot="append" icon="el-icon-search" @click="pageChange(1)"></el-button>
+				</el-input>
+			</el-form-item>
+			<el-form-item>
+				<el-select v-model="is_show" filterable placeholder="上下架" @change="getShopProjectList">
+					<el-option label="全部" value=""></el-option>
+					<el-option label="上架" value="2"></el-option>
+					<el-option label="下架" value="1"></el-option>
+				</el-select>
+			</el-form-item>
+			<!-- <el-form-item>
+				<DepartmentSel v-model="departmentPidPath" width="150" clearable @change="departmentChange" />
+			</el-form-item> -->
+			<!-- <el-form-item>
+				<RoleSelect v-model="rolePidPath" width="150" clearable @change="roleChange" />
+			</el-form-item> -->
+		</el-form>
+		<el-button slot="left" size="small" type="primary" @click="openModel">
+			新增项目
+		</el-button>
+
+		<el-table size="small" :data="tableData">
+			<el-table-column prop="id" label="ID" min-width="100"></el-table-column>
+			<el-table-column prop="name" label="项目" min-width="250"></el-table-column>
+			<el-table-column prop="price" label="现价" min-width="100"></el-table-column>
+			<el-table-column prop="ot_price" label="原价" min-width="100"></el-table-column>
+			<el-table-column prop="service_time" label="服务时间(分)" min-width="100"></el-table-column>
+			<el-table-column prop="commission" label="提成金额(元)" min-width="100"></el-table-column>
+			<el-table-column prop="commission" label="状态" min-width="100">
+				<template slot-scope="scope">
+					<el-switch
+					  v-model="scope.row.is_show"
+					  class="switchStyle"
+					  active-color="#36B365"
+					  :active-value="1"
+					  :inactive-value="0"
+					  active-text="上架"
+					  inactive-text="下架"
+					  @change="changeGoodsStatus($event, scope.row)"
+					></el-switch>
+					<!-- <div v-else>
+					  <span v-if="scope.row.is_show === 0" class="success-status">
+					    下架
+					  </span>
+					  <span v-else class="info-status">上架</span>
+					</div> -->
+				</template>
+			</el-table-column>
+			<el-table-column label="操作" min-width="130" fixed="right" header->
+				<template slot-scope="scope">
+					<el-button type="text" @click="openEditModel(scope.row.id)">
+						编辑
+					</el-button>
+					<el-button type="text" @click="del(scope.row.id)">
+						删除
+					</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
+		<FooterPage :page-size="page_size" :total-page="total_count" :current-page="page" @pageChange="pageChange"
+			@sizeChange="sizeChange" />
+		<!--   新增项目-->
+		<AddItem v-if="add_Item" :is-edit="isEdit" :visible="add_Item" @close="add_Item = false"
+			@confirm="Confirm"></AddItem>
+	</ContainerQuery>
+</template>
+
+<script>
+	import {
+		getShopProjectList,
+		deleteShopProject,
+		setShopProject
+	} from "@/api/OrderSubscribe";
+	import AddItem from "./components/addItem.vue";
+	// import DepartmentSel from "@/component/common/DepartmentSel";
+	// import RoleSelect from "../../../component/common/RoleSelect";
+	export default {
+		name: "AddSubscribe",
+		components: {
+			// RoleSelect,
+			// DepartmentSel,
+			AddItem,
+		},
+		data() {
+			return {
+				// 上下架
+				is_show:'',//1下架2上架
+				// 搜索项目名称
+				search_key:"",
+				// 添加班次弹窗
+				add_Item: false,
+				// 列表数据
+				tableData: [],
+				page: 1,
+				page_size: 10,
+				// 数据总条数
+				total_count: 0,
+				// 保存选中的itemid
+				item_id: '',
+				form:{
+					
+				}
+			};
+		},
+		created() {
+			console.log(sessionStorage.getItem("nodes"), '权限');
+			this.getShopProjectList();
+		},
+		activated() {
+			if (this.$_isInit()) return;
+			this.getShopProjectList();
+		},
+		methods: {
+			// 上架下架
+			async changeGoodsStatus(val,row){
+				try {
+				  const data = await setShopProject({
+				    id: row.id,
+				    is_shop: val,
+				  });
+				  this.$message({
+				    type: "success",
+				    message: "操作成功!",
+				  });
+				} catch (e) {
+				  this.getShopProjectList();
+				}
+			},
+			Confirm() {
+				this.getShopProjectList();
+			},
+			//  获取列表
+			async getShopProjectList() {
+				const data = await getShopProjectList({
+					name:this.search_key,
+					is_show:this.is_show,
+					page: this.page,
+					pageSize: this.page_size,
+				});
+				this.tableData = data.data;
+				console.log(data, 'fanhui');
+				console.log(this.tableData, 'fanhui');
+				this.total_count = data.pageTotal;
+			},
+			// 删除排班
+			del(id) {
+				this.$confirm("你确定删除此服务项目么吗?", {
+					confirmButtonText: "确定",
+					cancelButtonText: "取消",
+					type: "warning",
+				}).then(async () => {
+					const data = await deleteShopProject({
+						id: id
+					});
+
+					this.getShopProjectList();
+					this.$message({
+						type: "success",
+						message: "删除成功!",
+					});
+				});
+			},
+
+			pageChange(page) {
+				this.page = page;
+				this.getShopProjectList();
+			},
+			sizeChange(size) {
+				this.page_size = size;
+				this.pageChange(1);
+			},
+			//  编辑员工
+			openEditModel(id) {
+				this.$router.push(`/SingleStore/goods/AddItem?id=${id}&setDetail=1`);
+			},
+			// 打开添加班次页面
+			openModel() {
+				// if (parseInt(this.$store.getters["MUser/enterpriseScope"]) === 4) {
+				//   this.$router.push("/goods/sale/AddGoodsOneStore");
+				// } else {
+				//   this.$router.push("/goods/sale/AddGoods");
+				// }
+				this.$router.push("/SingleStore/goods/AddItem?setDetail=0");
+			},
+		},
+	};
+</script>
+
+<style scoped></style>

+ 268 - 0
src/views/SingleStore/subscribe/OrderSubscribe.vue

@@ -0,0 +1,268 @@
+<template>
+	<ContainerQuery>
+		<el-form slot="more" size="small" :inline="true">
+			<el-form-item>
+				<SelectCustomer v-model="userNameString" :clearable="false" @change="customerSel" />
+			</el-form-item>
+			<el-form-item>
+				<el-input v-model="staffName" placeholder="员工" readonly>
+					<i slot="suffix" class="el-input__icon el-icon-search" @click="staff_show = true"></i>
+				</el-input>
+			</el-form-item>
+			<el-form-item>
+				<el-select v-model="is_show" filterable placeholder="上下架" @change="(page = 1,getSubscribeList())">
+					<el-option label="全部" value=""></el-option>
+					<el-option label="待支付" :value="1"></el-option>
+					<el-option label="已支付" :value="2"></el-option>
+					<el-option label="已完成" :value="3"></el-option>
+				</el-select>
+			</el-form-item>
+			<!-- <el-form-item>
+				<DepartmentSel v-model="departmentPidPath" width="150" clearable @change="departmentChange" />
+			</el-form-item> -->
+			<!-- <el-form-item>
+				<RoleSelect v-model="rolePidPath" width="150" clearable @change="roleChange" />
+			</el-form-item> -->
+		</el-form>
+		<el-button slot="left" size="small" type="primary" @click="openModel">
+			新增预约
+		</el-button>
+
+		<el-table size="small" :data="tableData">
+			<el-table-column prop="id" label="ID" min-width="100"></el-table-column>
+			<el-table-column prop="order_id" label="订单号" min-width="200"></el-table-column>
+			<el-table-column prop="project" label="项目" min-width="200">
+				<template slot-scope="scope">
+					<span v-for="(list,ind) in scope.row.project" :key='ind'>
+						{{list.name}}
+					</span>
+				</template>
+			</el-table-column>
+			<el-table-column prop="to_price" label="总价" min-width="100"></el-table-column>
+			<el-table-column prop="discount_price" label="优惠" min-width="100"></el-table-column>
+			<el-table-column prop="pay_price" label="实际支付" min-width="100"></el-table-column>
+			<el-table-column prop="duration" label="时长" min-width="80">
+				<template slot-scope="scope">
+					<span v-if='scope.row.duration'>{{scope.row.duration+'分'}}</span>
+				</template>
+			</el-table-column>
+			<el-table-column prop="time" label="预约时间" min-width="150">
+				<template slot-scope="scope">
+					{{$_common.formatDate(scope.row.time,'yyyy/MM/dd hh:mm')}}
+				</template>
+			</el-table-column>
+			<el-table-column prop="createTime" label="创建时间" min-width="150">
+				<template slot-scope="scope">
+					{{$_common.formatDate(scope.row.createTime)}}
+				</template>
+			</el-table-column>
+			<el-table-column prop="staff" label="服务员工" min-width="100"></el-table-column>
+			<el-table-column prop="customer" label="客户" min-width="100"></el-table-column>
+			<el-table-column prop="completeTime" label="服务完成时间" min-width="150">
+				<template slot-scope="scope">
+					{{$_common.formatDate(scope.row.completeTime)}}
+				</template>
+			</el-table-column>
+			<el-table-column prop="paid" label="支付状态" min-width="100">
+				<template slot-scope="scope">
+					<div>
+						<span v-if="scope.row.paid === 0" class="warning-status">
+							待支付
+						</span>
+						<span v-if="scope.row.paid === 1" class="success-status">
+							已支付
+						</span>
+					</div>
+				</template>
+			</el-table-column>
+			<el-table-column prop="status" label="服务状态" min-width="100">
+				<template slot-scope="scope">
+					<div>
+						<span v-if="scope.row.status === -1" class="info-status">
+							已取消
+						</span>
+						<span v-if="scope.row.status === 0" class="primary-status">
+							正常
+						</span>
+						<span v-if="scope.row.status === 1" class="success-status">
+							服务完成
+						</span>
+					</div>
+				</template>
+			</el-table-column>
+			<el-table-column label="操作" min-width="150" fixed="right" header->
+				<template slot-scope="scope">
+					<el-button v-if="scope.row.status === 0&&scope.row.paid === 0" type="text"
+						@click="pay(scope.row.id)">
+						支付
+					</el-button>
+					<el-button type="text" @click="openEditModel(scope.row.id)">
+						编辑
+					</el-button>
+					<el-button type="text" @click="del(scope.row.id)">
+						取消
+					</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
+		<FooterPage :page-size="page_size" :total-page="total_count" :current-page="page" @pageChange="pageChange"
+			@sizeChange="sizeChange" />
+		<StaffList v-if="staff_show" :is-show="staff_show" :is-check="false" :isserch="true"
+			@cancel="staff_show = false" @confirm="staffSel" />
+	</ContainerQuery>
+</template>
+
+<script>
+	import {
+		getSubscribeList,
+		setShopProject,
+		cancelSubscribe,
+		paymentSubscribe
+	} from "@/api/OrderSubscribe";
+	import StaffList from "@/component/common/staffListModal";
+	import SelectCustomer from "@/component/common/SelectCustomer.vue";
+	export default {
+		name: "OrderSubscribe",
+		components: {
+			StaffList,
+			SelectCustomer,
+		},
+		data() {
+			return {
+				// 当前选中的用户id
+				userId: '',
+				// 用户名称
+				userNameString: '',
+				// 当前选中的员工id
+				staffId: '',
+				// 员工名称
+				staffName: '',
+				// 显示员工弹窗
+				staff_show: false,
+				// 上下架
+				is_show: '',
+				//1下架2上架
+				// 搜索项目名称
+				search_key: "",
+				// 列表数据
+				tableData: [],
+				page: 1,
+				page_size: 10,
+				// 数据总条数
+				total_count: 0,
+				// 保存选中的itemid
+				item_id: '',
+				form: {
+
+				}
+			};
+		},
+		created() {
+			// console.log(sessionStorage.getItem("nodes"), '权限');
+			this.getSubscribeList();
+		},
+		activated() {
+			if (this.$_isInit()) return;
+			this.getSubscribeList();
+		},
+		methods: {
+			// 选择员工
+			staffSel(row) {
+				this.staffName = row[0].staffName;
+				this.staffId = row[0].id;
+				this.pageChange(1);
+			},
+			// 选择客户
+			customerSel(val, list) {
+				const row = list[0];
+				console.log(row, 'ss');
+				this.userId = row.id;
+				this.pageChange(1);
+			},
+			// 上架下架
+			async changeGoodsStatus(val, row) {
+				try {
+					const data = await setShopProject({
+						id: row.id,
+						is_shop: val,
+					});
+					this.$message({
+						type: "success",
+						message: "操作成功!",
+					});
+				} catch (e) {
+					this.getSubscribeList();
+				}
+			},
+			//  获取列表
+			async getSubscribeList() {
+				const data = await getSubscribeList({
+					uid: this.staffId,
+					customer_id: this.userId,
+					start_time: this.search_key,
+					end_time: this.search_key,
+					type: this.is_show,
+					page: this.page,
+					pageSize: this.page_size,
+				});
+				this.tableData = data.data;
+				console.log(data, 'fanhui');
+				console.log(this.tableData, 'fanhui');
+				this.total_count = data.pageTotal;
+			},
+			// 取消预约
+			del(id) {
+				this.$confirm("你确定取消此预约吗?", {
+					confirmButtonText: "确定",
+					cancelButtonText: "取消",
+					type: "warning",
+				}).then(async () => {
+					const data = await cancelSubscribe({
+						id: id
+					});
+					this.getSubscribeList();
+					this.$message({
+						type: "success",
+						message: "取消成功!",
+					});
+				});
+			},
+			// 支付预约
+			pay(id) {
+				this.$confirm("你确定此预约支付完成吗?", {
+					confirmButtonText: "确定",
+					cancelButtonText: "取消",
+					type: "warning",
+				}).then(async () => {
+					const data = await paymentSubscribe({
+						id: id
+					});
+
+					this.getSubscribeList();
+					this.$message({
+						type: "success",
+						message: "支付成功!",
+					});
+				});
+			},
+			pageChange(page) {
+				this.page = page;
+				this.getSubscribeList();
+			},
+			sizeChange(size) {
+				this.page_size = size;
+				this.pageChange(1);
+			},
+			//  编辑员工
+			openEditModel(id) {
+				this.$router.push(`/SingleStore/order/AddOrderSubscribe?id=${id}&setDetail=1`);
+			},
+			// 打开添加预约页面
+			openModel() {
+				this.$router.push(`/SingleStore/order/AddOrderSubscribe?setDetail=0`);
+			},
+		},
+	};
+</script>
+
+<style scoped></style>

+ 256 - 0
src/views/SingleStore/subscribe/addSubscribe.vue

@@ -0,0 +1,256 @@
+<template>
+	<div>
+		<el-form ref="form" :rules="rules" size="small" :model="form" label-width="120px">
+			<el-form-item label="服务店员" prop="uid" style="width: 300px">
+				<el-input v-model="form.staffName" placeholder="请选择服务员工" readonly>
+					<i slot="suffix" class="el-input__icon el-icon-search" @click="staff_show = true"></i>
+				</el-input>
+			</el-form-item>
+			<el-form-item label="预约用户" prop="customer_id" style="width: 300px">
+				<SelectCustomer v-model="form.userName" :clearable="false" @change="customerSel" />
+			</el-form-item>
+			<el-form-item label="预约项目" prop="project" style="min-width: 400px">
+				{{actionItem.name}}
+				<el-button type="danger" @click="show_Item=true">选择项目</el-button>
+
+			</el-form-item>
+			<el-form-item label="优惠价格" prop="discount_price">
+				<el-input v-model="form.discount_price" type="number" placeholder="请输入优惠价格"></el-input>
+			</el-form-item>
+			<el-form-item label="费用" prop="pay_price">
+				{{form.pay_price}}
+			</el-form-item>
+			<el-form-item label="实际支付" prop="pay_price">
+				{{form.pay_price-form.discount_price}}
+			</el-form-item>
+			<el-form-item label="预约时间段" prop="age">
+				<el-date-picker v-model="form.timeDay" type="date" placeholder="选择日期">
+				</el-date-picker>
+				<el-time-select v-model="form.timeHM" placeholder="预约时间段" :picker-options="{
+				start: '08:00',
+				step: '00:15',
+				end: '24:00',
+			}">
+				</el-time-select>
+			</el-form-item>
+			<el-form-item label="备注" prop="remarks">
+				<el-input v-model="form.remarks" placeholder="请输入备注说明"></el-input>
+			</el-form-item>
+			<el-form-item style="text-align: right; padding-right: 10px">
+				<el-button type="primary" @click="confirm">确 定</el-button>
+				<el-button @click="close">取 消</el-button>
+			</el-form-item>
+		</el-form>
+		<ItemList v-if="show_Item" :dialog-visible="show_Item" :is-show-add="true" :modal="false"
+			@close="show_Item = false" @confirm="itemConfirm"></ItemList>
+		<StaffList v-if="staff_show" :is-show="staff_show" :is-check="false" :isserch="true"
+			@cancel="staff_show = false" @confirm="staffSel" />
+	</div>
+</template>
+
+<script>
+	import {
+		addSubscribe,
+		updateSubscribe,
+		detailsSubscribe,
+		detailsShopProject
+	} from "@/api/OrderSubscribe";
+	import ItemList from "@/component/goods/itemList.vue";
+	import StaffList from "@/component/common/staffListModal";
+	import SelectCustomer from "@/component/common/SelectCustomer.vue";
+	export default {
+		name: "AddOrderSubscribe",
+		components: {
+			ItemList, // 新增角色
+			StaffList,
+			SelectCustomer
+		},
+		data() {
+			return {
+				form: {
+					// 员工名称
+					staffName: '',
+					// 用户名称
+					userName: '',
+					timeDay: '', //预约日期
+					timeHM: '', //时间段
+					"uid": '', // 服务人员id
+					"customer_id": '', //客户id
+					"project": "", // 选择预约服务项目多选
+					"discount_price": 0, //优惠价格
+					// "to_price": 0, // 总价 不填默认计算项目价格
+					"pay_price": 0, // 实际支付 不填默认计算项目价格
+					"time": "", //预约时间段
+					"remarks": "", //备注
+				},
+				// 判断是否为修改
+				setDetail: false,
+				// 修改的员工id
+				setId: '',
+				// 显示员工
+				staff_show: false,
+				// 选中的项目
+				actionItem: {
+					name: '' //项目名称
+				},
+				// 显示项目列表
+				show_Item: false,
+				rules: {
+					uid: [{
+						required: true,
+						message: "请选择服务人员",
+						trigger: "blur"
+					}],
+					customer_id: [{
+						required: true,
+						message: "请选择客户",
+						trigger: "blur"
+					}],
+					project: [{
+						required: true,
+						message: "请选择服务项目",
+						trigger: "blur"
+					}],
+				}
+			};
+		},
+		created() {
+			const type = this.$route.query.setDetail || 0;
+			// 判断是否为修改项目
+			if (+type == 1) {
+				this.setId = this.$route.query.id;
+				this.setDetail = true;
+				this.detailsSubscribe();
+			}
+		},
+		methods: {
+			// 选择客户
+			customerSel(val, list) {
+				const row = list[0];
+				this.form.userName = row.name;
+				this.form.customer_id = row.id;
+			},
+			// 选择员工
+			staffSel(row) {
+				this.form.staffName = row[0].staffName;
+				this.form.uid = row[0].id;
+			},
+			// 选择项目
+			itemConfirm(e) {
+				this.actionItem = e[0];
+				this.form.pay_price = this.actionItem.price
+				this.form.project = this.actionItem.id
+			},
+			close() {
+				this.$closeCurrentGoEdit(`/SingleStore/order/OrderSubscribe`);
+			},
+			//  详情 detailsSubscribe
+			async detailsSubscribe() {
+				if (!this.setId) return;
+				const {
+					data
+				} = await detailsSubscribe(this.setId);
+				console.log(data,'fh');
+				
+				const time = data.time?this.$_common.formatDate(data.time).split(' '):this.$_common.formatDate(new Date().getTime()).split(' ')
+				const project = data.project[0];
+				
+				this.form = {
+					// 员工名称
+					staffName: data.staff.staffName,
+					// 用户名称
+					userName: data.customer.name,
+					timeDay:new Date(data.time), //预约日期
+					timeHM: time[1], //时间段
+					"uid": data.uid, // 服务人员id
+					"customer_id": data.customer.userCenterId, //客户id
+					"project": project.id, // 选择预约服务项目多选
+					// "to_price": 0, // 总价 不填默认计算项目价格
+					"pay_price": project.price, // 实际支付 不填默认计算项目价格
+					"discount_price": data.discount_price, //优惠价格
+					"remarks": data.remarks, //备注
+				};
+				this.actionItem = {
+					name: project.name //项目名称
+				}
+			},
+			async confirm() {
+				this.$refs.form.validate(async (valid) => {
+					if (valid) {
+						const loading = this.$loading({
+							lock: true,
+							text: '提交中',
+							spinner: 'el-icon-loading',
+						});
+						if(!this.form.timeDay){
+							loading.close();
+							this.$message({
+								message: '请选择预约日期',
+								type: "danger",
+							});
+							return
+						};
+						if(!this.form.timeHM){
+							loading.close();
+							this.$message({
+								message: '请选择预约时间段',
+								type: "danger",
+							});
+							return
+						};
+						let upData = {
+							'id':this.setId,
+							"uid": this.form.uid, // 服务人员id
+							"customer_id": this.form.customer_id, //客户id
+							"project": this.form.project, // 选择预约服务项目多选
+							"discount_price": this.form.discount_price, //优惠价格
+							"time":this.$_common.formatDate( this.form.timeDay.getTime(),'yyyy-MM-dd')+' '+this.form.timeHM+':00', //预约时间段
+							"remarks": this.form.remarks, //备注
+						}
+						console.log(this.form.timeDay);
+						// 判断是否为详情
+						let data;
+						if (!this.setDetail) {
+							data = await addSubscribe(upData);
+						} else {
+							data = await updateSubscribe(upData);
+						}
+						loading.close();
+						this.$message({
+							message: data.data,
+							type: "success",
+						});
+						this.$closeCurrentGoEdit(`/SingleStore/order/OrderSubscribe`);
+					}
+				});
+			},
+		},
+	};
+</script>
+
+<style scoped>
+	.btn-up {
+		position: relative;
+	}
+
+	.btn-department {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.btn-role-up {
+		position: relative;
+	}
+
+	.add-role {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.creat-shop {
+		color: #1890ff;
+		font-size: 12px;
+	}
+</style>

+ 284 - 0
src/views/SingleStore/subscribe/components/addItem.vue

@@ -0,0 +1,284 @@
+<template>
+	<div>
+		<el-form ref="form" :rules="rules" size="small" :model="form" label-width="120px">
+			<el-form-item label="服务名称" prop="name">
+				<el-input v-model="form.name" placeholder="请输入服务名称"></el-input>
+			</el-form-item>
+			<el-form-item label="售价" prop="price">
+				<el-input v-model="form.price" type="number" placeholder="请输入售价"></el-input>
+			</el-form-item>
+			<el-form-item label="原价" prop="ot_price">
+				<el-input v-model="form.ot_price" type="number" placeholder="请输入原价"></el-input>
+			</el-form-item>
+			<el-form-item label="成本价" prop="cost_price">
+				<el-input v-model="form.cost_price" type="number" placeholder="请输入成本价"></el-input>
+			</el-form-item>
+			<el-form-item label="服务时间(分钟)" prop="service_time">
+				<el-input v-model="form.service_time" type="number" placeholder="请输入简介"></el-input>
+			</el-form-item>
+			<el-form-item label="员工服务费(元)" prop="commission">
+				<el-input v-model="form.commission" type="number" placeholder="请输入简介"></el-input>
+			</el-form-item>
+			<el-form-item label="简介" prop="info">
+				<el-input v-model="form.info" placeholder="请输入简介"></el-input>
+			</el-form-item>
+			<el-form-item label="封面图" prop="image">
+				<UploadQiniu :limit="1" :file-list="image" @uploadSuccess="uploadSuccessOne"
+					@handleRemove="uploadRemoveOne" />
+			</el-form-item>
+			<el-form-item label="轮播图" prop="slider_image">
+				<UploadQiniu :limit="10" :file-list="imgList" @uploadSuccess="uploadSuccess"
+					@imgSortChange="imgSortChange" @handleRemove="uploadRemove" />
+			</el-form-item>
+			<el-form-item label="详情" prop="result">
+				<Tinymce v-model="form.result" :height="300" />
+			</el-form-item>
+			<el-form-item>
+				<el-button type="primary" @click="confirm">提 交</el-button>
+				<el-button @click="close">取 消</el-button>
+			</el-form-item>
+		</el-form>
+	</div>
+</template>
+
+<script>
+	import {
+		addShopProject,
+		detailsShopProject,
+		updateShopProject
+	} from "@/api/OrderSubscribe";
+	import UploadQiniu from "@/component/common/UploadQiniu.vue";
+	import Tinymce from "@/component/Tinymce";
+	export default {
+		name: "AddItem",
+		components: {
+			UploadQiniu,
+			Tinymce
+		},
+		data() {
+			return {
+				// 存储批量图
+				imgList: [],
+				// 存储单图
+				image: [],
+				form: {
+					//服务名称
+					name: '',
+					//售价
+					price: 0,
+					// 原价
+					ot_price: 0,
+					//成本价 
+					cost_price: 0,
+					// 服务时长
+					service_time: 0,
+					// 简介
+					info: '',
+					// 详细介绍
+					result: '',
+					// 封面图
+					image: [],
+					// 轮播图
+					slider_image: [],
+					commission: 0,
+					// 是否详情
+					setDetail: false,
+					// 需要修改的内容id
+					setId: ''
+				},
+				rules: {
+					name: [{
+						required: true,
+						message: "请输入服务名称",
+						trigger: "blur"
+					}],
+					image: [{
+						required: true,
+						message: "请选择主图",
+					}],
+					slider_image: [{
+						required: true,
+						message: "请选择轮播图",
+					}],
+					price: [{
+						required: true,
+						message: "请输入售价",
+						trigger: "blur"
+					}],
+					ot_price: [{
+						required: true,
+						message: "请输入原价",
+						trigger: "blur"
+					}],
+					cost_price: [{
+						required: true,
+						message: "请输入成本价",
+						trigger: "blur"
+					}],
+					service_time: [{
+						required: true,
+						message: "请输入服务时长",
+						trigger: "blur"
+					}],
+					commission: [{
+						required: true,
+						message: "请输入员工提成金额",
+						trigger: "blur"
+					}],
+				}
+			};
+		},
+		created() {
+			const type = this.$route.query.setDetail || 0;
+			// 判断是否为修改项目
+			if (+type == 1) {
+				this.setId = this.$route.query.id;
+				this.setDetail = true;
+				this.detailsShopProject();
+			}
+		},
+		methods: {
+			// 上传单张图片
+			uploadSuccessOne(val, res, file, fileList, num) {
+				const imgArr = fileList.map((item) => {
+					return item.content;
+				});
+				this.form.image = imgArr;
+				this.image = this.form.image.map((item) => {
+					return {
+						name: "",
+						content: item,
+					};
+				});
+			},
+			// 删除单张图片
+			uploadRemoveOne(file, fileList) {
+				console.log(fileList, 'del');
+				this.form.image = fileList.map((item) => {
+					return item.content;
+				});
+			},
+			// 选择图片
+			uploadSuccess(val, res, file, fileList, num) {
+				const imgArr = fileList.map((item) => {
+					return item.content;
+				});
+				console.log(this.form.slider_image, '11');
+				if (this.form.slider_image.length) {
+					this.form.slider_image = this.form.slider_image.concat(imgArr);
+				} else {
+					this.form.slider_image = imgArr;
+				}
+				this.imgList = this.form.slider_image.map((item) => {
+					return {
+						name: "",
+						content: item,
+					};
+				});
+				if (this.imgList.length > num) {
+					this.$message.warning("图片最多只能选择十张");
+					this.imgList = this.imgList.slice(0, 10);
+				}
+			},
+			// 图片拖拽排序
+			imgSortChange(list) {
+				this.form.slider_image = list.map((item) => {
+					return item.content;
+				});
+			},
+			uploadRemove(file, fileList) {
+				console.log(fileList, 'del');
+				this.form.slider_image = fileList.map((item) => {
+					return item.content;
+				});
+			},
+
+			close() {
+				this.$emit("close");
+			},
+			//  班次详情 detailsShopProject
+			async detailsShopProject() {
+				if (!this.setId) return;
+				const {
+					data
+				} = await detailsShopProject({
+					id: this.setId
+				});
+				// console.log(data, '数据');
+				this.form = {
+					...data,
+				};
+				if (this.form.image) {
+					this.image = [{
+						name: "",
+						content: this.form.image,
+					}]
+					this.form.image = [this.form.image]
+				}
+				if (this.form.slider_image) {
+					this.imgList = this.form.slider_image.map((item) => {
+						return {
+							name: "",
+							content: item,
+						};
+					});
+				} else {
+					this.form.slider_image = [];
+				}
+			},
+			async confirm() {
+				this.$refs.form.validate(async (valid) => {
+					if (valid) {
+						const loading = this.$loading({
+							lock: true,
+							text: '提交中',
+							spinner: 'el-icon-loading',
+						});
+						let upData = Object.assign({}, this.form);
+						upData.image = upData.image.join(',')
+						// 判断是否为详情
+						let data;
+						if (!this.setDetail) {
+							data = await addShopProject(upData);
+						} else {
+							data = await updateShopProject(upData);
+						}
+						loading.close();
+						this.$message({
+							message: data.data,
+							type: "success",
+						});
+						this.$closeCurrentGoEdit(`/SingleStore/goods/OrderItem`);
+					}
+				});
+			},
+		},
+	};
+</script>
+
+<style scoped>
+	.btn-up {
+		position: relative;
+	}
+
+	.btn-department {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.btn-role-up {
+		position: relative;
+	}
+
+	.add-role {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.creat-shop {
+		color: #1890ff;
+		font-size: 12px;
+	}
+</style>

+ 0 - 1
src/views/SystemSettings/accountAdmin/Department.vue

@@ -291,7 +291,6 @@
           type: "warning",
         }).then(async () => {
           const data = await deleteDepartment(id);
-
           this.$message({
             type: "success",
             message: "删除成功!",

+ 3 - 2
src/views/SystemSettings/accountAdmin/Staff.vue

@@ -18,7 +18,7 @@
         </el-input>
       </el-form-item>
       <el-form-item>
-        <DepartmentSel
+       <DepartmentSel
           v-model="departmentPidPath"
           width="150"
           clearable
@@ -26,7 +26,7 @@
         />
       </el-form-item>
       <el-form-item>
-        <RoleSelect
+       <RoleSelect
           v-model="rolePidPath"
           width="150"
           clearable
@@ -160,6 +160,7 @@
       roleChange(val) {
         this.roleId = val[val.length - 1];
         this.departmentPidPath = val.join(",");
+		console.log( this.departmentPidPath,'ar');
         this.page = 1;
         this.getAllStaff();
       },

+ 105 - 0
src/views/SystemSettings/accountAdmin/classHistry.vue

@@ -0,0 +1,105 @@
+<template>
+	<ContainerQuery>
+		<el-form slot="more" size="small" :inline="true">
+			<el-form-item>
+				<el-input v-model="search_key" placeholder="考勤组名称" clearable style="width: 220px"
+					@keyup.enter.native="pageChange(1)" @clear="pageChange(1)">
+					<el-button slot="append" icon="el-icon-search" @click="pageChange(1)"></el-button>
+				</el-input>
+			</el-form-item>
+			<!-- <el-form-item>
+				<DepartmentSel v-model="departmentPidPath" width="150" clearable @change="departmentChange" />
+			</el-form-item>
+			<el-form-item>
+				<RoleSelect v-model="rolePidPath" width="150" clearable @change="roleChange" />
+			</el-form-item> -->
+		</el-form>
+		<!-- <el-button slot="left" size="small" type="primary" @click="openModel">
+			新增班次
+		</el-button> -->
+
+		<el-table size="small" :data="tableData">
+			<el-table-column prop="id" label="ID" min-width="100"></el-table-column>
+			<el-table-column prop="name" label="考勤组" min-width="100"></el-table-column>
+			<el-table-column label="员工" min-width="380">
+				<template slot-scope="scope">
+					<span v-for="(ls,ind) in scope.row.group_user" :key='ind'>
+						{{ls.staffName}}
+						<span v-if="ind<scope.row.group_user.length-1">,</span>
+					</span>
+				</template>
+			</el-table-column>
+			<el-table-column prop="time" label="排班日期" min-width="180"></el-table-column>
+			<!-- <el-table-column label="操作" min-width="130" fixed="right" header->
+				<template slot-scope="scope">
+					<el-button type="text" @click="openEditModel(scope.row.id)">
+						编辑
+					</el-button>
+					<el-button type="text" @click="del(scope.row.shift_id)">
+						删除
+					</el-button>
+				</template>
+			</el-table-column> -->
+		</el-table>
+		<FooterPage :page-size="page_size" :total-page="total_count" :current-page="page" @pageChange="pageChange"
+			@sizeChange="sizeChange" />
+	</ContainerQuery>
+</template>
+
+<script>
+	import {
+		getGroupRecord,
+	} from "@/api/Department";
+	export default {
+		name: "ClassHistry",
+		data() {
+			return {
+				// 查询key
+				search_key:'',
+				// 添加班次弹窗
+				add_class: false,
+				// 列表数据
+				tableData: [],
+				page: 1,
+				page_size: 10,
+				// 数据总条数
+				total_count: 0,
+				// 保存选中的classid
+				class_id: '',
+			};
+		},
+		created() {
+			// console.log(sessionStorage.getItem("nodes"), '权限');
+			this.getGroupRecord();
+		},
+		activated() {
+			if (this.$_isInit()) return;
+			this.getGroupRecord();
+		},
+		methods: {
+			//  获取列表
+			async getGroupRecord() {
+				const data = await getGroupRecord({
+					name:this.search_key,
+					page: this.page,
+					pageSize: this.page_size,
+				});
+				this.tableData = data.data;
+				console.log(data, 'fanhui');
+				console.log(this.tableData, 'fanhui');
+				this.total_count = data.pageTotal;
+			},
+
+			pageChange(page) {
+				this.page = page;
+				this.getAllClassList();
+			},
+			sizeChange(size) {
+				this.page_size = size;
+				this.pageChange(1);
+			}
+		},
+	};
+</script>
+
+<style scoped></style>

+ 163 - 0
src/views/SystemSettings/accountAdmin/signClass.vue

@@ -0,0 +1,163 @@
+<template>
+	<ContainerQuery>
+		<el-form slot="more" size="small" :inline="true">
+			<el-form-item>
+				<el-input v-model="search_key" placeholder="员工姓名" clearable style="width: 220px"
+					@keyup.enter.native="pageChange(1)" @clear="pageChange(1)">
+					<el-button slot="append" icon="el-icon-search" @click="pageChange(1)"></el-button>
+				</el-input>
+			</el-form-item>
+			<!-- <el-form-item>
+				<DepartmentSel v-model="departmentPidPath" width="150" clearable @change="departmentChange" />
+			</el-form-item>
+			<el-form-item>
+				<RoleSelect v-model="rolePidPath" width="150" clearable @change="roleChange" />
+			</el-form-item> -->
+		</el-form>
+		<el-button slot="left" size="small" type="primary" @click="openModel">
+			新增班次
+		</el-button>
+
+		<el-table size="small" :data="tableData">
+			<el-table-column prop="id" label="ID" min-width="100"></el-table-column>
+			<el-table-column prop="name" label="班次" min-width="100"></el-table-column>
+			<el-table-column label="打卡时间段" min-width="380">
+				<template slot-scope="scope">
+					<div v-for="(ls,ind) in scope.row.time" :key='ind'>
+						上班:{{ls[0]}}
+						下班:{{ls[1]}}
+					</div>
+				</template>
+			</el-table-column>
+			<el-table-column prop="single_time" label="打卡奖励(元)" min-width="180"></el-table-column>
+			<el-table-column label="操作" min-width="130" fixed="right" header->
+				<template slot-scope="scope">
+					<!-- <el-button type="text" @click="openEditModel(scope.row.id)">
+						编辑
+					</el-button> -->
+					<el-button type="text" @click="del(scope.row.shift_id)">
+						删除
+					</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
+		<FooterPage :page-size="page_size" :total-page="total_count" :current-page="page" @pageChange="pageChange"
+			@sizeChange="sizeChange" />
+		<!--   新增班次-->
+		<AddClass v-if="add_class" :is-edit="isEdit" :visible="add_class" @close="add_class = false"
+			@confirm="staffConfirm"></AddClass>
+	</ContainerQuery>
+</template>
+
+<script>
+	import {
+		getAllClassList,
+		postDelClass
+	} from "@/api/Department";
+	import AddClass from "../components/addClass.vue";
+	// import DepartmentSel from "@/component/common/DepartmentSel";
+	// import RoleSelect from "../../../component/common/RoleSelect";
+	export default {
+		name: "SignClass",
+		components: {
+			// RoleSelect,
+			// DepartmentSel,
+			AddClass,
+		},
+		data() {
+			return {
+				// 查询key
+				search_key:'',
+				// 添加班次弹窗
+				add_class: false,
+				// 列表数据
+				tableData: [],
+				page: 1,
+				page_size: 10,
+				// 数据总条数
+				total_count: 0,
+				// 保存选中的classid
+				class_id: '',
+			};
+		},
+		created() {
+			// console.log(sessionStorage.getItem("nodes"), '权限');
+			this.getAllClassList();
+		},
+		activated() {
+			if (this.$_isInit()) return;
+			this.getAllClassList();
+		},
+		methods: {
+			//  选择角色
+			roleChange(val) {
+				this.roleId = val[val.length - 1];
+				this.departmentPidPath = val.join(",");
+				console.log(this.departmentPidPath, 'ar');
+				this.page = 1;
+				this.getAllClassList();
+			},
+			// 选择部门
+			departmentChange(val) {
+				this.departmentId = val[val.length - 1];
+				this.departmentPidPath = val.join(",");
+				this.pageChange(1);
+			},
+			staffConfirm() {
+				this.getAllClassList();
+			},
+			//  获取列表
+			async getAllClassList() {
+				const data = await getAllClassList({
+					page: this.page,
+					pageSize: this.page_size,
+				});
+				this.tableData = data.data;
+				console.log(data, 'fanhui');
+				console.log(this.tableData, 'fanhui');
+				this.total_count = data.pageTotal;
+			},
+			// 删除排班
+			del(id) {
+				this.$confirm("你确定删除此排班吗?", {
+					confirmButtonText: "确定",
+					cancelButtonText: "取消",
+					type: "warning",
+				}).then(async () => {
+					const data = await postDelClass({
+						id: id
+					});
+
+					this.getAllClassList();
+					this.$message({
+						type: "success",
+						message: "删除成功!",
+					});
+				});
+			},
+
+			pageChange(page) {
+				this.page = page;
+				this.getAllClassList();
+			},
+			sizeChange(size) {
+				this.page_size = size;
+				this.pageChange(1);
+			},
+			//  编辑员工
+			// openEditModel(id) {
+			// 	this.class_id = id;
+			// 	this.isEdit = true;
+			// 	this.add_class = true;
+			// },
+			// 打开添加班次页面
+			openModel() {
+				this.class_id = 0;
+				this.isEdit = false;
+				this.add_class = true;
+			},
+		},
+	};
+</script>
+
+<style scoped></style>

+ 208 - 0
src/views/SystemSettings/accountAdmin/signList.vue

@@ -0,0 +1,208 @@
+<template>
+	<ContainerQuery>
+		<!-- <el-form slot="more" size="small" :inline="true">
+			<el-form-item>
+				<el-date-picker v-model="search_key" type="month" placeholder="选择月" @change="pageChange(1)">
+				</el-date-picker>
+			</el-form-item>
+			<el-form-item>
+				<el-input v-model="currentUnit" clearable  placeholder="请选择员工" @clear="staff = ''"
+					@blur="staff = ''">
+					<i slot="suffix" class="el-input__icon el-icon-search" @click="saleFn(true)"></i>
+				</el-input>
+			</el-form-item>
+			<el-form-item>
+				<DepartmentSel v-model="departmentPidPath" width="150" clearable @change="departmentChange" />
+			</el-form-item>
+			<el-form-item>
+				<RoleSelect v-model="rolePidPath" width="150" clearable @change="roleChange" />
+			</el-form-item>
+		</el-form> -->
+		<!-- <el-button v-if="$accessCheck($Access.StaffAddSign)" slot="left" size="small" type="primary" @click="openModel"> -->
+		<el-button  slot="left" size="small" type="primary" @click="openModel">
+			新增考勤组
+		</el-button>
+
+		<el-table size="small" :data="tableData">
+			<el-table-column prop="name" label="名称" min-width="100"></el-table-column>
+			<el-table-column prop="group_user" label="考勤员工" min-width="380">
+				<template slot-scope="scope">
+					<span v-for="(ls,ind) in scope.row.group_user" :key='ind'>
+						{{ls.staffName}}
+						<span v-if="ind<scope.row.group_user.length-1">,</span>
+					</span>
+				</template>
+			</el-table-column>
+			<el-table-column prop="shift" label="班次" min-width="180">
+				<template slot-scope="scope">
+					<span v-for="(ls,ind) in scope.row.shift" :key='ind'>
+						{{ls.name}}
+					</span>
+				</template>
+			</el-table-column>
+			<el-table-column label="操作" min-width="130" fixed="right" header->
+				<template slot-scope="scope">
+					<!-- <el-button v-if="$accessCheck($Access.GroupClassSet)" type="text" -->
+					<el-button type="text"
+						@click="openEditClass(scope.row)">
+						排班
+					</el-button>
+					<!-- <el-button v-if="$accessCheck($Access.GroupUpdateSign)" type="text" -->
+					<el-button type="text"
+						@click="openEditModel(scope.row.group_id)">
+						员工
+					</el-button>
+					<!-- <el-button v-if="$accessCheck($Access.GroupDelSign)" type="text" @click="del(scope.row.group_id)"> -->
+					<el-button  type="text" @click="del(scope.row.group_id)">
+						删除
+					</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
+		<FooterPage :page-size="page_size" :total-page="total_count" :current-page="page" @pageChange="pageChange"
+			@sizeChange="sizeChange" />
+		<!--   新增考勤组-->
+		<AddGroup v-if="add_Group" :id="group_id" :is-edit="isEdit" :visible="add_Group" @close="add_Group = false" @confirm="Confirm"></AddGroup>
+		<!-- 修改考勤组员工 -->
+		<EditStaff v-if="exid_staff" :id="group_id" :visible="exid_staff" @close="exid_staff = false" @confirm="Confirm"></EditStaff>
+		<!-- 安排排班 -->
+		<EditClass v-if="exid_class" :id="group_id" :class-data='groupData'  :visible="exid_class" @close="exid_class = false" @confirm="Confirm"></EditClass>
+	</ContainerQuery>
+</template>
+
+<script>
+	import {
+		getAllSignList,
+		postDelGroup
+	} from "@/api/Department";
+	import AddGroup from "../components/addSingGroup.vue";
+	import EditStaff from "../components/editStaff.vue";
+	import EditClass from "../components/editClass.vue";
+	// import DepartmentSel from "@/component/common/DepartmentSel";
+	// import RoleSelect from "../../../component/common/RoleSelect";
+	export default {
+		name: "SignList",
+		components: {
+			// RoleSelect,
+			EditStaff,
+			AddGroup,
+			EditClass
+		},
+		data() {
+			return {
+				staff_id: 0,
+				total_count: 0,
+				page: 1,
+				page_size: 10,
+				pageTotal: 0,
+				// 部门
+				departmentPidPath: [],
+				// 角色
+				rolePidPath: [],
+				// 查询的月份
+				search_key: '',
+				// 数据列表
+				tableData: [],
+				// 保存组id
+				group_id: '',
+				// 是否显示添加组
+				add_Group: false,
+				// 是否为编辑组
+				isEdit: false,
+				// 是否显示编辑员工
+				exid_staff: false,
+				// 考勤排班
+				exid_class: false
+
+			};
+		},
+		created() {
+			this.getAllSignList();
+		},
+		activated() {
+			if (this.$_isInit()) {
+				return
+			};
+			this.getAllSignList();
+		},
+		methods: {
+			// //  选择角色
+			// roleChange(val) {
+			// 	this.roleId = val[val.length - 1];
+			// 	this.departmentPidPath = val.join(",");
+			// 	this.page = 1;
+			// 	this.getAllSignList();
+			// },
+			// // 选择部门
+			// departmentChange(val) {
+			// 	this.departmentId = val[val.length - 1];
+			// 	this.departmentPidPath = val.join(",");
+			// 	this.pageChange(1);
+			// },
+			Confirm() {
+				this.getAllSignList();
+			},
+			//  获取列表
+			async getAllSignList() {
+				// console.log(this.tableData, 'fanhui11');
+				const data = await getAllSignList({
+					page: this.page, //页数
+					pageSize: this.page_size, //条数
+					// uid: this.departmentId, //查询的部门
+					// month: this.search_key, //查询的月份
+				});
+
+				this.tableData = data.data;
+				// console.log(data, 'fanhui ');
+				this.total_count = data.pageTotal;
+			},
+			// 删除用户
+			del(id) {
+				this.$confirm("你确定删除此员工吗?", {
+					confirmButtonText: "确定",
+					cancelButtonText: "取消",
+					type: "warning",
+				}).then(async () => {
+					const data = await postDelGroup({
+						id: id
+					});
+
+					this.getAllSignList();
+					this.$message({
+						type: "success",
+						message: "删除成功!",
+					});
+				});
+			},
+
+			pageChange(page) {
+				this.page = page;
+				this.getAllSignList();
+			},
+			sizeChange(size) {
+				this.page_size = size;
+				this.pageChange(1);
+			},
+			// 排班
+			openEditClass(data) {
+				this.group_id = data.group_id;
+				this.groupData = data;
+				// console.log(this.group_id,'‘芥芥家');
+				this.exid_class = true;
+			},
+			//  编辑员工
+			openEditModel(id) {
+				this.group_id = id;
+				// console.log(this.group_id,'‘芥芥家');
+				this.exid_staff = true;
+			},
+			openModel() {
+				this.group_id = 0;
+				this.isEdit = false;
+				this.add_Group = true;
+			},
+		},
+	};
+</script>
+
+<style scoped></style>

+ 254 - 0
src/views/SystemSettings/components/addClass.vue

@@ -0,0 +1,254 @@
+<template>
+	<div>
+		<el-drawer class="edit-drawer" :title="isEdit ? '修改班次' : '新增班次'" size="650px" :visible.sync="visible"
+			direction="rtl" :modal="modal" :wrapper-closable="false" @close="close">
+			<el-form ref="form" :rules="rules" size="small" :model="form" label-width="120px">
+				<el-form-item label="班次名称" prop="name">
+					<el-input v-model="form.name" placeholder="请输入班次名称"></el-input>
+				</el-form-item>
+				<el-form-item label="每次签到金额" prop="form.single_time">
+					<el-input v-model="form.single_time" placeholder="请输入班次名称"></el-input>
+				</el-form-item>
+				<el-form-item label="上下班" prop="age">
+					<div v-for="(ls,ind) in form.sections" :key="ind" class="margin-b-10">
+						<el-time-select v-model="ls.times[0].check_time" placeholder="起始时间"
+							:picker-options="(ind>0?form.sections[ind-1].times[1].check_time:0)|startTimeConfig">
+						</el-time-select>
+						-
+						<el-time-select v-model="ls.times[1].check_time" placeholder="结束时间"
+							:picker-options="ls.times[0].check_time|endTimeConfig">
+						</el-time-select>
+						<el-button v-if="ind>0" @click="delTime(ind)">删 除</el-button>
+					</div>
+					<el-button class="margin-b-10" type="danger" @click="addTime">添 加</el-button>
+				</el-form-item>
+				<el-form-item style="text-align: right; padding-right: 10px">
+					<el-button type="primary" @click="confirm">确 定</el-button>
+					<el-button @click="close">取 消</el-button>
+				</el-form-item>
+			</el-form>
+		</el-drawer>
+	</div>
+</template>
+
+<script>
+	import {
+		// postClassDetails,
+		postAddClass
+	} from "@/api/Department";
+	export default {
+		name: "AddClass",
+		filters: {
+			startTimeConfig: function(value) {
+				return {
+					start: '08:00',
+					step: '00:15',
+					end: '20:30',
+					minTime: value
+				}
+			},
+			endTimeConfig: function(value) {
+				return {
+					start: '08:00',
+					step: '00:15',
+					end: '24:00',
+					minTime: value
+				};
+			}
+		},
+		props: {
+			visible: {
+				type: Boolean,
+				default: false,
+			},
+			isEdit: {
+				type: Boolean,
+				default: false,
+			},
+			// 是否需要遮罩层
+			modal: {
+				type: Boolean,
+				default: true,
+			},
+		},
+		data() {
+			return {
+				form: {
+					//班次名字
+					name: '',
+					//签到单次奖励金额
+					single_time: 0,
+					// 签到时间范围
+					// 整合签到数据
+					sections: [{
+						times: [{
+							"check_type": "OnDuty", //类型(OnDuty上班,OffDuty下班)
+							"across": 0, //是否跨天
+							"end_min": -1, //允许的最玩打卡时间,分钟为单位(-1表示不限制)
+							"check_time": "08:30", //check时间
+							"free_check": false, //是否免打卡
+							"begin_min": 0 //允许的最早提前打卡时间,分钟为单位}
+						}, {
+							"check_type": "OffDuty", //类型(OnDuty上班,OffDuty下班)
+							"across": 0, //是否跨天
+							"end_min": -1, //允许的最玩打卡时间,分钟为单位(-1表示不限制)
+							"check_time": "11:30", //check时间
+							"free_check": false, //是否免打卡
+							"begin_min": 0 //允许的最早提前打卡时间,分钟为单位
+						}],
+					}],
+				},
+				rules: {
+					name: [{
+						required: true,
+						message: "请输入班次名称",
+						trigger: "blur"
+					}],
+					single_time: [{
+						required: true,
+						message: "请输入单次签到金额",
+						trigger: "blur"
+					}],
+				}
+			};
+		},
+		// created() {
+		// 	if (this.id) {
+		// 		this.postClassDetails();
+		// 	}
+		// },
+		methods: {
+			// 删除上下班
+			delTime(ind) {
+				this.form.sections.splice(ind, 1)
+			},
+			// 添加上下班
+			addTime() {
+				this.form.sections.push({
+					times: [{
+						"check_type": "OnDuty", //类型(OnDuty上班,OffDuty下班)
+						"across": 0, //是否跨天
+						"end_min": -1, //允许的最玩打卡时间,分钟为单位(-1表示不限制)
+						"check_time": "", //check时间
+						"free_check": false, //是否免打卡
+						"begin_min": 0 //允许的最早提前打卡时间,分钟为单位}
+					}, {
+						"check_type": "OffDuty", //类型(OnDuty上班,OffDuty下班)
+						"across": 0, //是否跨天
+						"end_min": -1, //允许的最玩打卡时间,分钟为单位(-1表示不限制)
+						"check_time": "", //check时间
+						"free_check": false, //是否免打卡
+						"begin_min": 0 //允许的最早提前打卡时间,分钟为单位
+					}],
+				})
+			},
+
+			close() {
+				this.$emit("close");
+			},
+			//  班次详情 postClassDetails
+			// async postClassDetails() {
+			// 	if (!this.id) return;
+			// 	const {
+			// 		data
+			// 	} = await postClassDetails(this.id);
+
+			// 	this.form = {
+			// 		...data,
+			// 		departmentPidPath: data.extend.departmentPidPath,
+			// 		rolePidPath: data.extend.rolePidPath,
+			// 		age: data.age * 1000,
+			// 	};
+			// 	if (data.extend.rolePidPath) {
+			// 		this.role = data.extend.rolePidPath.split(",").map((item) => {
+			// 			return parseInt(item);
+			// 		});
+			// 	}
+
+			// 	this.department = data.extend.departmentPidPath
+			// 		.split(",")
+			// 		.map((item) => {
+			// 			return parseInt(item);
+			// 		});
+			// 	let shopArr = [];
+			// 	data.dataField.shopIds.forEach((item, index) => {
+			// 		shopArr.push({
+			// 			id: item,
+			// 			name: data.dataField.shopNames[index],
+			// 		});
+			// 	});
+			// 	this.shop_arr = shopArr;
+			// 	let arr = [];
+			// 	data.dataField.staffIds.forEach((item, index) => {
+			// 		arr.push({
+			// 			id: item,
+			// 			staffName: data.dataField.staffNames[index],
+			// 		});
+			// 	});
+			// 	this.staffName_arr = arr;
+			// },
+			async confirm() {
+				this.$refs.form.validate(async (valid) => {
+					if (valid) {
+						let upData = {
+							shift: Object.assign({}, this.form)
+						};
+						upData.shift.sections = upData.shift.sections.map((res) => {
+							let data = res.times.map((e)=>{
+								return Object.assign({},e)
+							})
+							
+							if (data[1].check_time == '24:00') {
+								data[1].across = 1;
+								data[1].check_time = "00:00";
+							}
+							data[0].check_time = "1970-01-01 " + data[0].check_time +
+								':00'
+							data[1].check_time = "1970-01-01 " + data[1].check_time +
+								':00'
+								
+								return {
+									times:data
+									};
+						})
+						const data = await postAddClass(upData);
+						this.$message({
+							message: data.data,
+							type: "success",
+						});
+
+						this.close();
+						this.$emit("confirm");
+					}
+				});
+			},
+		},
+	};
+</script>
+
+<style scoped>
+	.btn-up {
+		position: relative;
+	}
+
+	.btn-department {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.btn-role-up {
+		position: relative;
+	}
+
+	.add-role {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.creat-shop {
+		color: #1890ff;
+		font-size: 12px;
+	}
+</style>

+ 290 - 0
src/views/SystemSettings/components/addSingGroup.vue

@@ -0,0 +1,290 @@
+<template>
+	<div>
+		<el-drawer class="edit-drawer" :title="isEdit ? '修改班次' : '新增班次'" size="650px" :visible.sync="visible"
+			direction="rtl" :modal="modal" :wrapper-closable="false" @close="close">
+			<!-- <div v-if="!isEdit" class="page-tip-div" style="margin-top: 0">
+				<span>温馨提示:</span>
+				<span>
+					新员工初始密码为
+					<span style="color: #ff4400; font-weight: bold">88888888</span>
+					,登录后可修改密码。
+				</span>
+			</div> -->
+			<el-form ref="form" :rules="rules" size="small" :model="form" label-width="120px">
+				<el-form-item label="组名称" prop="name">
+					<el-input v-model="form.name" placeholder="请输入班次名称"></el-input>
+				</el-form-item>
+				<el-form-item label="班次:" prop="salesManId" style="margin-bottom: 20px">
+					<div>
+						<el-select v-model="form.className" style="width: 350px" filterable placeholder="请选择班次"
+							@change="classChange">
+							<el-option v-for="(item, index) in class_list" :key="index" :label="item.name"
+								:value="item.id"></el-option>
+						</el-select>
+						<el-button size="mini" type="text" @click="getAllClassList">
+							【刷新】
+						</el-button>
+					</div>
+				</el-form-item>
+				<el-form-item label="员工:" prop="salesManId" style="margin-bottom: 20px">
+					<template>
+						<el-tag v-for="(ls,ind) in checkedStaff" :key='ind'  closable  size="medium" class="item"
+							@close="delChecked(ind)">
+							{{ls.staffName}}
+							{{ls.staffCode}}
+						</el-tag>
+					</template>
+					<div>
+						<el-button type="danger" @click="staff_show= true">
+							添加
+						</el-button>
+					</div>
+				</el-form-item>
+				<!-- <el-form-item label="生效:" prop="enable_next_day" style="margin-bottom: 20px">
+					<el-select v-model="form.enable_next_day" filterable placeholder="是否明日生效">
+						<el-option label="是" value="1"></el-option>
+						<el-option label="否" value="0"></el-option>
+					</el-select>
+				</el-form-item> -->
+
+				<el-form-item style="text-align: right; padding-right: 10px">
+					<el-button type="primary" @click="confirm">确 定</el-button>
+					<el-button @click="close">取 消</el-button>
+				</el-form-item>
+			</el-form>
+		</el-drawer>
+		<staffListModal v-if="staff_show" :is-show="staff_show" 
+			:isserch="isserch" @cancel="staff_show = false" @confirm="staffSel" />
+	</div>
+</template>
+
+<script>
+	import {
+		// getGroupDetail,
+		getAllClassList,
+		postAddGroup
+	} from "@/api/Department";
+	import staffListModal from "@/component/common/staffListModal";
+	export default {
+		name: "AddGroup",
+		components: {
+			staffListModal,
+		},
+		filters: {
+			startTimeConfig: function(value) {
+				return {
+					start: '08:00',
+					step: '00:15',
+					end: '20:30',
+					minTime: value
+				}
+			},
+			endTimeConfig: function(value) {
+				return {
+					start: '08:00',
+					step: '00:15',
+					end: '24:00',
+					minTime: value
+				};
+			}
+		},
+		props: {
+			visible: {
+				type: Boolean,
+				default: false,
+			},
+			isEdit: {
+				type: Boolean,
+				default: false,
+			},
+			// 是否需要遮罩层
+			modal: {
+				type: Boolean,
+				default: true,
+			},
+			id: {
+			  type: [Number, String],
+			  default: 0,
+			},
+		},
+		data() {
+			return {
+				// 是否显示员工
+				staff_show: false,
+				isserch: true,
+				// 班次列表
+				class_list: [],
+				// 添加选中的员工列表
+				checkedStaff: [],
+				form: {
+					// 明日生效
+					enable_next_day: '1',
+					// 选中的班次id
+					classId: '',
+					// 选中的班次name
+					className:'',
+					//考情组名字
+					name: '',
+					// 绑定的班次
+					shift_vo_list: ''
+				},
+				rules: {
+					name: [{
+						required: true,
+						message: "请输入组名称",
+						trigger: "blur"
+					}]
+				}
+			};
+		},
+		created() {
+			// console.log('cj‘',this.id);
+			// if (this.id) {
+			// 	this.getGroupDetail();
+			// }
+			// 加载班次列表
+			this.getAllClassList();
+		},
+		methods: {
+			// 删除选中的员工
+			delChecked(ind) {
+				// console.log(ind, '删除');
+				this.checkedStaff.splice(ind, 1)
+			},
+			// 选择班次
+			classChange(val) {
+				const target = this.class_list.find((item) => item.id === val);
+				this.form.classId = target.shift_id;
+				this.form.className = target.name;
+			},
+			// 获取班次列表
+			async getAllClassList() {
+				const {
+					data
+				} = await getAllClassList({
+					page: "1",
+					pageSize: "999",
+				});
+				this.class_list = data;
+			},
+			// 选择员工
+			staffSel(val) {
+				// console.log(val,'xz');
+				this.checkedStaff.push(...val)
+			},
+			// 删除上下班
+			delTime(ind) {
+				this.form.sections.splice(ind, 1)
+			},
+			// 添加上下班
+			addTime() {
+				this.form.sections.push({
+					times: [{
+						"check_type": "OnDuty", //类型(OnDuty上班,OffDuty下班)
+						"across": 0, //是否跨天
+						"end_min": -1, //允许的最玩打卡时间,分钟为单位(-1表示不限制)
+						"check_time": "", //check时间
+						"free_check": false, //是否免打卡
+						"begin_min": 0 //允许的最早提前打卡时间,分钟为单位}
+					}, {
+						"check_type": "OffDuty", //类型(OnDuty上班,OffDuty下班)
+						"across": 0, //是否跨天
+						"end_min": -1, //允许的最玩打卡时间,分钟为单位(-1表示不限制)
+						"check_time": "", //check时间
+						"free_check": false, //是否免打卡
+						"begin_min": 0 //允许的最早提前打卡时间,分钟为单位
+					}],
+				})
+			},
+
+			close() {
+				this.$emit("close");
+			},
+			//  班次详情 getGroupDetail
+			// async getGroupDetail() {
+			// 	console.log('kz',this.id);
+			// 	if (!this.id) return;
+			// 	const {
+			// 		data
+			// 	} = await getGroupDetail({
+			// 		id:this.id,
+			// 		});
+			// 	console.log(data,'‘jz');
+				
+			// 	this.checkedStaff = data.group_user.map((e)=>{
+			// 		return e
+			// 	});
+			// 	const classItem = data.shift_ids[0]
+			// 	this.form = {
+			// 		// 明日生效
+			// 		enable_next_day: '1',
+			// 		// 选中的班次id
+			// 		classId: classItem.id,
+			// 		// 选中的班次name
+			// 		className:classItem.name,
+			// 		//考情组名字
+			// 		name: data.name,
+			// 		// 绑定的班次
+			// 		shift_vo_list: ''
+			// 	};
+				
+			// },
+			async confirm() {
+				this.$refs.form.validate(async (valid) => {
+					if (valid) {
+						const upData = {
+							name:this.form.name,
+							staff_id:this.checkedStaff.map((e)=>{
+								return e.id
+							}).join(','),
+							enable_next_day:this.form.enable_next_day==='1'?true:false,
+							shift_vo_list:this.form.classId,
+							
+						}
+						// console.log(upData,'提交数据');
+						const data = await postAddGroup(upData);
+						this.$message({
+							message: data.data,
+							type: "success",
+						});
+						this.close();
+						this.$emit("confirm");
+					}
+				});
+			},
+		},
+	};
+</script>
+
+<style scoped>
+	.item {
+		margin-right: 5px;
+		margin-left: 0 !important;
+		margin-bottom: 5px;
+	}
+
+	.btn-up {
+		position: relative;
+	}
+
+	.btn-department {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.btn-role-up {
+		position: relative;
+	}
+
+	.add-role {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.creat-shop {
+		color: #1890ff;
+		font-size: 12px;
+	}
+</style>

+ 204 - 0
src/views/SystemSettings/components/editClass.vue

@@ -0,0 +1,204 @@
+<template>
+	<div>
+		<el-drawer class="edit-drawer" title="设置排班" size="800px" :visible.sync="visible" direction="rtl" :modal="modal"
+			:wrapper-closable="false" @close="close">
+			<el-calendar v-model="time">
+				<!-- 这里使用的是 2.5 slot 语法,对于新项目请使用 2.6 slot 语法-->
+				<template slot="dateCell" slot-scope="{date, data}">
+					<p>
+						{{ data.day.split('-').slice(1).join('-') }}
+						{{{day:data.day,time:timeList}|dayGet}}
+					</p>
+				</template>
+			</el-calendar>
+			<el-form ref="form" size="small" label-width="120px">
+				<el-form-item label="排班日:">
+					<el-tag v-for="(ls,ind) in timeList" :key='ind' closable size="medium" class="item"
+						@close="delChecked(ind)">
+						{{ls}}
+					</el-tag>
+				</el-form-item>
+				<el-form-item style="text-align: right; padding-right: 10px">
+					<el-button type="primary" @click="timeList=[]">清 空</el-button>
+					<el-button type="success" @click="confirm">排 班</el-button>
+					<el-button @click="close">关 闭</el-button>
+				</el-form-item>
+			</el-form>
+		</el-drawer>
+	</div>
+</template>
+
+<script>
+	import {
+		postDelGroupStaff,
+		postRostering
+	} from "@/api/Department";
+	export default {
+		name: "EditClass",
+		filters: {
+			dayGet: function(value) {
+				if (value.time.indexOf(value.day) >= 0) {
+					return '✔️'
+				} else {
+					return ''
+				}
+			}
+		},
+		props: {
+			visible: {
+				type: Boolean,
+				default: false,
+			},
+			isEdit: {
+				type: Boolean,
+				default: true,
+			},
+			// 是否需要遮罩层
+			modal: {
+				type: Boolean,
+				default: true,
+			},
+			id: {
+				type: [Number, String],
+				default: 0,
+			},
+			classData: {
+				type: Object,
+				default () {
+					return {
+
+					}
+				}
+			}
+		},
+		data() {
+			return {
+				// 选中的日期列表
+				timeList: [],
+				// 当前日期
+				time: ''
+			};
+		},
+		watch: {
+			time(newValue, oldValue) {
+				const timeObj = new Date(newValue);
+				const month = timeObj.getMonth() + 1;
+				const day = timeObj.getDate();
+				const timeStr = `${timeObj.getFullYear()}-${month<10?'0'+month:month}-${day<10?'0'+day:day}`;
+				const ind = this.timeList.indexOf(timeStr)
+				if (ind < 0) {
+					this.timeList.push(timeStr)
+				} else {
+					this.timeList.splice(ind, 1)
+				}
+			}
+		},
+		methods: {
+			// 删除选中的日期
+			delChecked(ind) {
+				this.timeList.splice(ind, 1)
+			},
+			// 选择员工
+			staffSel(val) {
+				console.log(val, 'xz');
+				postAddGroupStaff({
+					id: this.id,
+					staff_id: val[0].id
+				}).then((e) => {
+					console.log(e);
+					this.checkedStaff.push(...val);
+					this.$message({
+						type: "success",
+						message: "添加成功!",
+					});
+				});
+			},
+			close() {
+				this.$emit("close");
+			},
+			confirm() {
+				this.$confirm("你确定提交排班吗?", {
+					confirmButtonText: "确定",
+					cancelButtonText: "取消",
+					type: "warning",
+				}).then(async () => {
+					let upData = {
+						rostering: [],
+						group_id: this.id
+					}
+					const time = this.classData.shift[0]
+					// 赋值
+					for (let i = 0; i < this.timeList.length; i++) {
+						const da = this.timeList[i];
+						for (let s = 0; s < this.classData.group_user.length; s++) {
+							const dad = this.classData.group_user[s];
+							upData.rostering.push({
+								"name": time.name,
+								"shift_id": time.shift_id, //班次id,班次ID,休息班次传1
+								"work_date": da, //排班时间
+								"userId": dad.id, //店员id
+								"is_rest": "false" //当该参数为1时,shift_id传1。true:休息false:不休息
+							})
+						}
+					}
+					const data = await postRostering(upData);
+					this.$emit("close");
+					this.$emit("confirm");
+					this.$message({
+						type: "success",
+						message: "排班成功!",
+					});
+				});
+			},
+			//  详情 getGroupDetail
+			async getGroupDetail() {
+				console.log('kz', this.id);
+				if (!this.id) return;
+				const {
+					data
+				} = await getGroupDetail({
+					id: this.id,
+				});
+				console.log(data, '‘jz');
+
+				this.checkedStaff = data.group_user.map((e) => {
+					return e
+				});
+				const classItem = data.shift_ids[0]
+			},
+		},
+	};
+</script>
+
+<style scoped>
+	.item {
+		margin-right: 5px;
+		margin-left: 0 !important;
+		margin-bottom: 5px;
+	}
+
+	.btn-up {
+		position: relative;
+	}
+
+	.btn-department {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.btn-role-up {
+		position: relative;
+	}
+
+	.add-role {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.creat-shop {
+		color: #1890ff;
+		font-size: 12px;
+	}
+</style>

+ 167 - 0
src/views/SystemSettings/components/editStaff.vue

@@ -0,0 +1,167 @@
+<template>
+	<div>
+		<el-drawer class="edit-drawer" :title="isEdit ? '修改员工' : '新增班次'" size="30%" :visible.sync="visible"
+			direction="rtl" :modal="modal" :wrapper-closable="false" @close="close">
+			<el-form ref="form" size="small" label-width="120px">
+				<el-form-item label="员工:" prop="salesManId" style="margin-bottom: 20px">
+					<template>
+						<el-tag v-for="(ls,ind) in checkedStaff" :key='ind' closable size="medium" class="item"
+							@close="delChecked(ind,ls.id)">
+							{{ls.staffName}}
+							{{ls.staffCode}}
+						</el-tag>
+					</template>
+					<div>
+						<el-button type="danger" @click="staff_show= true">
+							添加
+						</el-button>
+					</div>
+				</el-form-item>
+				<el-form-item style="text-align: right; padding-right: 10px">
+					<!-- <el-button type="primary" @click="confirm">确 定</el-button> -->
+					<el-button @click="close">关 闭</el-button>
+				</el-form-item>
+			</el-form>
+		</el-drawer>
+		<staffListModal v-if="staff_show" :is-check="false" :is-show="staff_show" :isserch="isserch"
+			@cancel="staff_show = false" @confirm="staffSel" />
+	</div>
+</template>
+
+<script>
+	import {
+		getGroupDetail,
+		postDelGroupStaff,
+		postAddGroupStaff
+	} from "@/api/Department";
+	import staffListModal from "@/component/common/staffListModal";
+	export default {
+		name: "EditStaff",
+		components: {
+			staffListModal,
+		},
+		props: {
+			visible: {
+				type: Boolean,
+				default: false,
+			},
+			isEdit: {
+				type: Boolean,
+				default: true,
+			},
+			// 是否需要遮罩层
+			modal: {
+				type: Boolean,
+				default: true,
+			},
+			id: {
+				type: [Number, String],
+				default: 0,
+			},
+		},
+		data() {
+			return {
+				// 是否显示员工
+				staff_show: false,
+				isserch: true,
+				// 添加选中的员工列表
+				checkedStaff: [],
+			};
+		},
+		created() {
+			if (this.id) {
+				this.getGroupDetail();
+			}
+		},
+		methods: {
+			// 删除选中的员工
+			delChecked(ind, id) {
+				// console.log(ind, '删除');
+				this.$confirm("你确定删除此员工吗?", {
+					confirmButtonText: "确定",
+					cancelButtonText: "取消",
+					type: "warning",
+				}).then(async () => {
+					const data = await postDelGroupStaff({
+						id: this.id,
+						staff_id: id
+					});
+					this.checkedStaff.splice(ind, 1)
+					this.$message({
+						type: "success",
+						message: "删除成功!",
+					});
+				});
+
+			},
+			// 选择员工
+			staffSel(val) {
+				console.log(val, 'xz');
+				postAddGroupStaff({
+					id: this.id,
+					staff_id: val[0].id
+				}).then((e) => {
+					console.log(e);
+					this.checkedStaff.push(...val);
+					this.$message({
+						type: "success",
+						message: "添加成功!",
+					});
+				});
+			},
+			close() {
+				this.$emit("close");
+				this.$emit("confirm");
+			},
+			//  详情 getGroupDetail
+			async getGroupDetail() {
+				console.log('kz', this.id);
+				if (!this.id) return;
+				const {
+					data
+				} = await getGroupDetail({
+					id: this.id,
+				});
+				console.log(data, '‘jz');
+
+				this.checkedStaff = data.group_user.map((e) => {
+					return e
+				});
+				const classItem = data.shift_ids[0]
+			},
+		},
+	};
+</script>
+
+<style scoped>
+	.item {
+		margin-right: 5px;
+		margin-left: 0 !important;
+		margin-bottom: 5px;
+	}
+
+	.btn-up {
+		position: relative;
+	}
+
+	.btn-department {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.btn-role-up {
+		position: relative;
+	}
+
+	.add-role {
+		position: absolute;
+		left: 270px;
+		top: 4px;
+	}
+
+	.creat-shop {
+		color: #1890ff;
+		font-size: 12px;
+	}
+</style>

+ 1163 - 1360
src/views/index/index.vue

@@ -1,597 +1,453 @@
 <!--首页-->
 <template>
-  <div class="box">
-    <div class="top-fn-view">
-      <div style="line-height: 42px; border-bottom: 1px solid #d8d8d8">
-        <span class="ph_title">常用功能</span>
-      </div>
-      <ul class="nav-btn-ul">
-        <li
-          v-for="(item, index) in top_btn_list"
-          :key="index"
-          class="nav-btn-li"
-          @click="$router.push(item.path)"
-        >
-          <span
-            :style="{ background: item.color }"
-            class="iconfont nav-btn-icon"
-            :class="[item.icon]"
-          ></span>
-          <span style="color: #24365c; margin-left: 10px">
-            {{ item.label }}
-          </span>
-        </li>
-        <li v-if="!!wxCodeImg" class="nav-btn-li">
-          <el-popover placement="right" width="200" trigger="hover">
-            <div slot="reference">
-              <p>
-                <span
-                  style="background-color: rgb(18, 186, 123)"
-                  class="iconfont nav-btn-icon icon-saomiao"
-                ></span>
-              </p>
-              <p>预览商城</p>
-            </div>
-            <el-image
-              :src="wxCodeImg"
-              style="width: 180px; height: 180px; background-color: #12ba7b"
-            ></el-image>
-          </el-popover>
-        </li>
-      </ul>
-    </div>
-    <div v-if="$accessCheck($Access.overview)">
-      <el-row :gutter="20">
-        <el-col :span="8">
-          <div v-if="$accessCheck($Access.overview)">
-            <ul class="top-data-ul">
-              <li class="top-data-li clearfix">
-                <div class="float_left">
-                  <p class="card-label">
-                    <i
-                      class="el-icon-s-help card-dot"
-                      style="color: #0668f0"
-                    ></i>
-                    <span class="card-label-text">应收账款</span>
-                    <el-tooltip
-                      effect="dark"
-                      content="当前所有客户的应收款总额"
-                      placement="top-start"
-                    >
-                      <i class="el-icon-question mark"></i>
-                    </el-tooltip>
-                  </p>
-                  <p class="card-des">
-                    <i class="el-icon-edit" style="color: transparent"></i>
-                    当前所有客户的应收款总额
-                  </p>
-                  <p class="card-num">
-                    <i
-                      class="el-icon-edit"
-                      style="font-size: 13px; color: transparent"
-                    ></i>
-                    <span class="money">
-                      {{
+	<div class="box">
+		<div class="top-fn-view">
+			<div style="line-height: 42px; border-bottom: 1px solid #d8d8d8">
+				<span class="ph_title">常用功能</span>
+			</div>
+			<ul class="nav-btn-ul">
+				<li v-for="(item, index) in top_btn_list" :key="index" class="nav-btn-li"
+					@click="$router.push(item.path)">
+					<span :style="{ background: item.color }" class="iconfont nav-btn-icon" :class="[item.icon]"></span>
+					<span style="color: #24365c; margin-left: 10px">
+						{{ item.label }}
+					</span>
+				</li>
+				<li v-if="!!wxCodeImg" class="nav-btn-li">
+					<el-popover placement="right" width="200" trigger="hover">
+						<div slot="reference">
+							<p>
+								<span style="background-color: rgb(18, 186, 123)"
+									class="iconfont nav-btn-icon icon-saomiao"></span>
+							</p>
+							<p>预览商城</p>
+						</div>
+						<el-image :src="wxCodeImg" style="width: 180px; height: 180px; background-color: #12ba7b">
+						</el-image>
+					</el-popover>
+				</li>
+			</ul>
+		</div>
+		<div v-if="$accessCheck($Access.overview)">
+			<el-row :gutter="20">
+				<el-col :span="8">
+					<div v-if="$accessCheck($Access.overview)">
+						<ul class="top-data-ul">
+							<li class="top-data-li clearfix">
+								<div class="float_left">
+									<p class="card-label">
+										<i class="el-icon-s-help card-dot" style="color: #0668f0"></i>
+										<span class="card-label-text">应收账款</span>
+										<el-tooltip effect="dark" content="当前所有客户的应收款总额" placement="top-start">
+											<i class="el-icon-question mark"></i>
+										</el-tooltip>
+									</p>
+									<p class="card-des">
+										<i class="el-icon-edit" style="color: transparent"></i>
+										当前所有客户的应收款总额
+									</p>
+									<p class="card-num">
+										<i class="el-icon-edit" style="font-size: 13px; color: transparent"></i>
+										<span class="money">
+											{{
                         $_common.formattedNumber(
                           aggregateStatistics.totalShouldReceive
                         )
                       }}
-                    </span>
-                  </p>
-                </div>
-                <div
-                  v-if="flag"
-                  class="float_right"
-                  style="padding: 29px 20px 0 0"
-                >
-                  <div style="width: 199px; height: 57px">
-                    <chart2 :chart-data="chart_data"></chart2>
-                    <div style="margin: -50px 0 0 40px">
-                      <span
-                        style="font-size: 14px; color: #fa6400; z-index: 999"
-                      >
-                        -0.84k |&nbsp;
-                      </span>
-                      <span style="font-size: 14px">相比较上一周</span>
-                    </div>
-                  </div>
-                </div>
-              </li>
-              <li class="top-data-li clearfix">
-                <div class="float_left">
-                  <p class="card-label">
-                    <i
-                      class="el-icon-s-help card-dot"
-                      style="color: #f7b500"
-                    ></i>
-                    <span class="card-label-text">应付账款</span>
-                    <el-tooltip
-                      effect="dark"
-                      content="当前所有的应付款总额"
-                      placement="top-start"
-                    >
-                      <i class="el-icon-question mark"></i>
-                    </el-tooltip>
-                  </p>
-                  <p class="card-des">
-                    <i class="el-icon-edit" style="color: transparent"></i>
-                    当前所有的应付款总额
-                  </p>
-                  <p class="card-num">
-                    <i
-                      class="el-icon-edit"
-                      style="font-size: 13px; color: transparent"
-                    ></i>
-                    <span class="money">
-                      {{
+										</span>
+									</p>
+								</div>
+								<div v-if="flag" class="float_right" style="padding: 29px 20px 0 0">
+									<div style="width: 199px; height: 57px">
+										<chart2 :chart-data="chart_data"></chart2>
+										<div style="margin: -50px 0 0 40px">
+											<span style="font-size: 14px; color: #fa6400; z-index: 999">
+												-0.84k |&nbsp;
+											</span>
+											<span style="font-size: 14px">相比较上一周</span>
+										</div>
+									</div>
+								</div>
+							</li>
+							<li class="top-data-li clearfix">
+								<div class="float_left">
+									<p class="card-label">
+										<i class="el-icon-s-help card-dot" style="color: #f7b500"></i>
+										<span class="card-label-text">应付账款</span>
+										<el-tooltip effect="dark" content="当前所有的应付款总额" placement="top-start">
+											<i class="el-icon-question mark"></i>
+										</el-tooltip>
+									</p>
+									<p class="card-des">
+										<i class="el-icon-edit" style="color: transparent"></i>
+										当前所有的应付款总额
+									</p>
+									<p class="card-num">
+										<i class="el-icon-edit" style="font-size: 13px; color: transparent"></i>
+										<span class="money">
+											{{
                         $_common.formattedNumber(
                           aggregateStatistics.totalShouldPay
                         )
                       }}
-                    </span>
-                  </p>
-                </div>
-                <div
-                  v-if="flag"
-                  class="float_right"
-                  style="padding: 29px 20px 0 0"
-                >
-                  <div style="width: 199px; height: 57px">
-                    <chart2 :chart-data="chart_data"></chart2>
-                    <div style="margin: -50px 0 0 40px">
-                      <span style="font-size: 14px; color: #fa6400">
-                        -0.21k |&nbsp;
-                      </span>
-                      <span style="font-size: 14px">相比较上一周</span>
-                    </div>
-                  </div>
-                </div>
-              </li>
-              <li class="top-data-li clearfix">
-                <div class="float_left">
-                  <p class="card-label">
-                    <i
-                      class="el-icon-s-help card-dot"
-                      style="color: #45cdaf"
-                    ></i>
-                    <span class="card-label-text">库存商品数</span>
-                    <el-tooltip
-                      effect="dark"
-                      content="仓库总共有的多少种商品"
-                      placement="top-start"
-                    >
-                      <i class="el-icon-question mark"></i>
-                    </el-tooltip>
-                  </p>
-                  <p class="card-des">
-                    <i class="el-icon-edit" style="color: transparent"></i>
-                    仓库总共有的多少种商品
-                  </p>
-                  <p class="card-num">
-                    <i
-                      class="el-icon-edit"
-                      style="font-size: 13px; color: transparent"
-                    ></i>
-                    <span class="money">
-                      {{
+										</span>
+									</p>
+								</div>
+								<div v-if="flag" class="float_right" style="padding: 29px 20px 0 0">
+									<div style="width: 199px; height: 57px">
+										<chart2 :chart-data="chart_data"></chart2>
+										<div style="margin: -50px 0 0 40px">
+											<span style="font-size: 14px; color: #fa6400">
+												-0.21k |&nbsp;
+											</span>
+											<span style="font-size: 14px">相比较上一周</span>
+										</div>
+									</div>
+								</div>
+							</li>
+							<li class="top-data-li clearfix">
+								<div class="float_left">
+									<p class="card-label">
+										<i class="el-icon-s-help card-dot" style="color: #45cdaf"></i>
+										<span class="card-label-text">库存商品数</span>
+										<el-tooltip effect="dark" content="仓库总共有的多少种商品" placement="top-start">
+											<i class="el-icon-question mark"></i>
+										</el-tooltip>
+									</p>
+									<p class="card-des">
+										<i class="el-icon-edit" style="color: transparent"></i>
+										仓库总共有的多少种商品
+									</p>
+									<p class="card-num">
+										<i class="el-icon-edit" style="font-size: 13px; color: transparent"></i>
+										<span class="money">
+											{{
                         $_common.formatNub(
                           aggregateStatistics.numberOfProductsInStock,
                           2
                         ) || 0
                       }}
-                    </span>
-                  </p>
-                </div>
-                <div
-                  v-if="flag"
-                  class="float_right"
-                  style="padding: 29px 20px 0 0"
-                >
-                  <div style="width: 199px; height: 57px">
-                    <chart2 :chart-data="chart_data"></chart2>
-                    <div style="margin: -50px 0 0 40px">
-                      <span style="font-size: 14px; color: #6dd400">
-                        +0.02k |&nbsp;
-                      </span>
-                      <span style="font-size: 14px">相比较上一周</span>
-                    </div>
-                  </div>
-                </div>
-              </li>
-            </ul>
-          </div>
-        </el-col>
-        <el-col :span="8" style="padding: 0">
-          <div v-if="$accessCheck($Access.overview)" class="ph">
-            <div slot="header" class="clearfix">
-              <div class="float_left">
-                <!--                <vab-remix-icon icon-class="airplay-line"></vab-remix-icon>-->
-                <span class="ph_title">经营概况</span>
-                <p class="ph_tip">更新时间({{ nowTime }})</p>
-              </div>
-              <div v-if="flag" class="float_right ph-radio-group">
-                <span
-                  class="ph-btn"
-                  :class="[
+										</span>
+									</p>
+								</div>
+								<div v-if="flag" class="float_right" style="padding: 29px 20px 0 0">
+									<div style="width: 199px; height: 57px">
+										<chart2 :chart-data="chart_data"></chart2>
+										<div style="margin: -50px 0 0 40px">
+											<span style="font-size: 14px; color: #6dd400">
+												+0.02k |&nbsp;
+											</span>
+											<span style="font-size: 14px">相比较上一周</span>
+										</div>
+									</div>
+								</div>
+							</li>
+						</ul>
+					</div>
+				</el-col>
+				<el-col :span="8" style="padding: 0">
+					<div v-if="$accessCheck($Access.overview)" class="ph">
+						<div slot="header" class="clearfix">
+							<div class="float_left">
+								<!--                <vab-remix-icon icon-class="airplay-line"></vab-remix-icon>-->
+								<span class="ph_title">经营概况</span>
+								<p class="ph_tip">更新时间({{ nowTime }})</p>
+							</div>
+							<div v-if="flag" class="float_right ph-radio-group">
+								<span class="ph-btn" :class="[
                     is_all_survey_shop || !servey_shop_name ? 'ph-on' : '',
-                  ]"
-                  @click="rankingSearch('is_all_survey_shop', 'survey')"
-                >
-                  全店
-                </span>
-                <span class="radio-line">|</span>
-                <span
-                  class="ph-btn"
-                  :class="[servey_shop_name ? 'ph-on' : '']"
-                  @click="openShop('survey')"
-                >
-                  {{ servey_shop_name || "所有店铺" }}
-                  <i class="el-icon-caret-bottom"></i>
-                </span>
-              </div>
-            </div>
-            <div class="module-cont">
-              <ul class="clearfix">
-                <li class="float_left num-item">
-                  <div class="clearfix num-item-in">
-                    <div
-                      :style="{
+                  ]" @click="rankingSearch('is_all_survey_shop', 'survey')">
+									全店
+								</span>
+								<span class="radio-line">|</span>
+								<span class="ph-btn" :class="[servey_shop_name ? 'ph-on' : '']"
+									@click="openShop('survey')">
+									{{ servey_shop_name || "所有店铺" }}
+									<i class="el-icon-caret-bottom"></i>
+								</span>
+							</div>
+						</div>
+						<div class="module-cont">
+							<ul class="clearfix">
+								<li class="float_left num-item">
+									<div class="clearfix num-item-in">
+										<div :style="{
                         background: '#37B17D',
-                      }"
-                      class="iconfont icon-jine1 num-item-icon float_left"
-                    ></div>
-                    <div class="float_left num-item-right">
-                      <p class="num-item-p">
-                        {{
+                      }" class="iconfont icon-jine1 num-item-icon float_left"></div>
+										<div class="float_left num-item-right">
+											<p class="num-item-p">
+												{{
                           $_common.formatNub(businessOverview.orderTotalMoney)
                         }}
-                      </p>
-                      <p class="text-item-p">
-                        下单金额(元)
-                        <el-tooltip
-                          effect="dark"
-                          content="今日所有订单的总金额,包含已取消订单的金额"
-                          placement="top-start"
-                        >
-                          <i class="el-icon-question ico"></i>
-                        </el-tooltip>
-                      </p>
-                    </div>
-                  </div>
-                </li>
-                <li class="float_left num-item">
-                  <div class="clearfix num-item-in">
-                    <span
-                      :style="{
+											</p>
+											<p class="text-item-p">
+												下单金额(元)
+												<el-tooltip effect="dark" content="今日所有订单的总金额,包含已取消订单的金额"
+													placement="top-start">
+													<i class="el-icon-question ico"></i>
+												</el-tooltip>
+											</p>
+										</div>
+									</div>
+								</li>
+								<li class="float_left num-item">
+									<div class="clearfix num-item-in">
+										<span :style="{
                         background: '#FFAD00',
-                      }"
-                      class="iconfont icon-jine1 num-item-icon float_left"
-                    ></span>
-                    <div class="float_left num-item-right">
-                      <p class="num-item-p">
-                        {{
+                      }" class="iconfont icon-jine1 num-item-icon float_left"></span>
+										<div class="float_left num-item-right">
+											<p class="num-item-p">
+												{{
                           $_common.formatNub(
                             businessOverview.orderConfirmedMoney,
                             2
                           ) || 0
                         }}
-                      </p>
-                      <p class="text-item-p">
-                        营业额(元)
-                        <el-tooltip
-                          effect="dark"
-                          content="今日实际已出库商品的总金额,不包含已退货的订单商品金额"
-                          placement="top-start"
-                        >
-                          <i class="el-icon-question ico"></i>
-                        </el-tooltip>
-                      </p>
-                    </div>
-                  </div>
-                </li>
-                <li class="float_left num-item">
-                  <div class="clearfix num-item-in">
-                    <span
-                      :style="{
+											</p>
+											<p class="text-item-p">
+												营业额(元)
+												<el-tooltip effect="dark" content="今日实际已出库商品的总金额,不包含已退货的订单商品金额"
+													placement="top-start">
+													<i class="el-icon-question ico"></i>
+												</el-tooltip>
+											</p>
+										</div>
+									</div>
+								</li>
+								<li class="float_left num-item">
+									<div class="clearfix num-item-in">
+										<span :style="{
                         background: '#FE6E4B',
-                      }"
-                      class="iconfont icon-jine1 num-item-icon float_left"
-                    ></span>
-                    <div class="float_left num-item-right">
-                      <p class="num-item-p">
-                        {{
+                      }" class="iconfont icon-jine1 num-item-icon float_left"></span>
+										<div class="float_left num-item-right">
+											<p class="num-item-p">
+												{{
                           $_common.formatNub(
                             businessOverview.todayGrossProfit,
                             2
                           ) || 0
                         }}
-                      </p>
-                      <p class="text-item-p">
-                        今日毛利(元)
-                        <el-tooltip
-                          effect="dark"
-                          content="今日出库金额 - 今日出库成本 = 今日毛利"
-                          placement="top-start"
-                        >
-                          <i class="el-icon-question ico"></i>
-                        </el-tooltip>
-                      </p>
-                    </div>
-                  </div>
-                </li>
-                <li class="float_left num-item">
-                  <div class="clearfix num-item-in">
-                    <span
-                      :style="{
+											</p>
+											<p class="text-item-p">
+												今日毛利(元)
+												<el-tooltip effect="dark" content="今日出库金额 - 今日出库成本 = 今日毛利"
+													placement="top-start">
+													<i class="el-icon-question ico"></i>
+												</el-tooltip>
+											</p>
+										</div>
+									</div>
+								</li>
+								<li class="float_left num-item">
+									<div class="clearfix num-item-in">
+										<span :style="{
                         background: '#FF840C',
-                      }"
-                      class="iconfont icon-jine1 num-item-icon float_left"
-                    ></span>
-                    <div class="float_left num-item-right">
-                      <p class="num-item-p">
-                        {{
+                      }" class="iconfont icon-jine1 num-item-icon float_left"></span>
+										<div class="float_left num-item-right">
+											<p class="num-item-p">
+												{{
                           $_common.formatNub(
                             businessOverview.todayReceivedMoney,
                             2
                           ) || 0
                         }}
-                      </p>
-                      <p class="text-item-p">
-                        今日收款(元)
-                        <el-tooltip
-                          effect="dark"
-                          content="今日已审核收款单总金额"
-                          placement="top-start"
-                        >
-                          <i class="el-icon-question ico"></i>
-                        </el-tooltip>
-                      </p>
-                    </div>
-                  </div>
-                </li>
-                <li class="float_left num-item">
-                  <div class="clearfix num-item-in">
-                    <span
-                      :style="{
+											</p>
+											<p class="text-item-p">
+												今日收款(元)
+												<el-tooltip effect="dark" content="今日已审核收款单总金额" placement="top-start">
+													<i class="el-icon-question ico"></i>
+												</el-tooltip>
+											</p>
+										</div>
+									</div>
+								</li>
+								<li class="float_left num-item">
+									<div class="clearfix num-item-in">
+										<span :style="{
                         background: '#5A739A',
-                      }"
-                      class="iconfont icon-jine1 num-item-icon float_left"
-                    ></span>
-                    <div class="float_left num-item-right">
-                      <p class="num-item-p">
-                        {{
+                      }" class="iconfont icon-jine1 num-item-icon float_left"></span>
+										<div class="float_left num-item-right">
+											<p class="num-item-p">
+												{{
                           $_common.formatNub(
                             businessOverview.todayNewCustomerNum,
                             2
                           ) || 0
                         }}
-                      </p>
-                      <p class="text-item-p">
-                        今日新增客户
-                        <el-tooltip
-                          effect="dark"
-                          content="今日新增已审核的客户总数"
-                          placement="top-start"
-                        >
-                          <i class="el-icon-question ico"></i>
-                        </el-tooltip>
-                      </p>
-                    </div>
-                  </div>
-                </li>
-              </ul>
-            </div>
-          </div>
-          <div
-            v-if="$accessCheck($Access.overview)"
-            class="ph"
-            style="margin-top: 10px"
-          >
-            <div slot="header" class="clearfix">
-              <div class="float_left">
-                <!--                <vab-remix-icon icon-class="airplay-line"></vab-remix-icon>-->
-                <span class="ph_title">订单概况</span>
-                <p class="ph_tip">更新时间({{ nowTime }})</p>
-              </div>
-              <div class="float_right ph-radio-group">
-                <span
-                  class="ph-btn"
-                  :class="[
+											</p>
+											<p class="text-item-p">
+												今日新增客户
+												<el-tooltip effect="dark" content="今日新增已审核的客户总数" placement="top-start">
+													<i class="el-icon-question ico"></i>
+												</el-tooltip>
+											</p>
+										</div>
+									</div>
+								</li>
+							</ul>
+						</div>
+					</div>
+					<div v-if="$accessCheck($Access.overview)" class="ph" style="margin-top: 10px">
+						<div slot="header" class="clearfix">
+							<div class="float_left">
+								<!--                <vab-remix-icon icon-class="airplay-line"></vab-remix-icon>-->
+								<span class="ph_title">订单概况</span>
+								<p class="ph_tip">更新时间({{ nowTime }})</p>
+							</div>
+							<div class="float_right ph-radio-group">
+								<span class="ph-btn" :class="[
                     is_all_survey_shop || !servey_shop_name ? 'ph-on' : '',
-                  ]"
-                  @click="rankingSearch('is_all_survey_shop', 'survey')"
-                >
-                  全店
-                </span>
-                <span class="radio-line">|</span>
-                <span
-                  class="ph-btn"
-                  :class="[servey_shop_name ? 'ph-on' : '']"
-                  @click="openShop('survey')"
-                >
-                  {{ servey_shop_name || "所有店铺" }}
-                  <i class="el-icon-caret-bottom"></i>
-                </span>
-              </div>
-            </div>
-            <div>
-              <ul class="clearfix">
-                <li class="float_left num-item">
-                  <div class="clearfix num-item-in">
-                    <span
-                      class="iconfont icon-dingdan1 num-item-icon float_left"
-                    ></span>
-                    <div class="float_left num-item-right">
-                      <p class="num-item-p">
-                        {{
+                  ]" @click="rankingSearch('is_all_survey_shop', 'survey')">
+									全店
+								</span>
+								<span class="radio-line">|</span>
+								<span class="ph-btn" :class="[servey_shop_name ? 'ph-on' : '']"
+									@click="openShop('survey')">
+									{{ servey_shop_name || "所有店铺" }}
+									<i class="el-icon-caret-bottom"></i>
+								</span>
+							</div>
+						</div>
+						<div>
+							<ul class="clearfix">
+								<li class="float_left num-item">
+									<div class="clearfix num-item-in">
+										<span class="iconfont icon-dingdan1 num-item-icon float_left"></span>
+										<div class="float_left num-item-right">
+											<p class="num-item-p">
+												{{
                           $_common.formatNub(
                             businessOverview.todayConfirmedOrderNum,
                             2
                           ) || 0
                         }}
-                      </p>
-                      <p class="text-item-p">
-                        今日订单
-                        <el-tooltip
-                          effect="dark"
-                          content="今日所有订单总数"
-                          placement="top-start"
-                        >
-                          <i class="el-icon-question ico"></i>
-                        </el-tooltip>
-                      </p>
-                    </div>
-                  </div>
-                </li>
-                <li class="float_left num-item">
-                  <div class="clearfix num-item-in">
-                    <span
-                      :style="{
+											</p>
+											<p class="text-item-p">
+												今日订单
+												<el-tooltip effect="dark" content="今日所有订单总数" placement="top-start">
+													<i class="el-icon-question ico"></i>
+												</el-tooltip>
+											</p>
+										</div>
+									</div>
+								</li>
+								<li class="float_left num-item">
+									<div class="clearfix num-item-in">
+										<span :style="{
                         background: '#FFAD00',
-                      }"
-                      class="iconfont icon-dingdan1 num-item-icon float_left"
-                    ></span>
-                    <div class="float_left num-item-right">
-                      <p class="num-item-p">
-                        {{
+                      }" class="iconfont icon-dingdan1 num-item-icon float_left"></span>
+										<div class="float_left num-item-right">
+											<p class="num-item-p">
+												{{
                           $_common.formatNub(
                             businessOverview.todayConfirmedOrderCustomerNum,
                             2
                           ) || 0
                         }}
-                      </p>
-                      <p class="text-item-p">
-                        下单客户
-                        <el-tooltip
-                          effect="dark"
-                          content="今日下过单的客户总数"
-                          placement="top-start"
-                        >
-                          <i class="el-icon-question ico"></i>
-                        </el-tooltip>
-                      </p>
-                    </div>
-                  </div>
-                </li>
-                <li class="float_left num-item">
-                  <div class="clearfix num-item-in">
-                    <span
-                      :style="{
+											</p>
+											<p class="text-item-p">
+												下单客户
+												<el-tooltip effect="dark" content="今日下过单的客户总数" placement="top-start">
+													<i class="el-icon-question ico"></i>
+												</el-tooltip>
+											</p>
+										</div>
+									</div>
+								</li>
+								<li class="float_left num-item">
+									<div class="clearfix num-item-in">
+										<span :style="{
                         background: '#FE6E4B',
-                      }"
-                      class="iconfont icon-dingdan1 num-item-icon float_left"
-                    ></span>
-                    <div class="float_left num-item-right">
-                      <p class="num-item-p">
-                        {{
+                      }" class="iconfont icon-dingdan1 num-item-icon float_left"></span>
+										<div class="float_left num-item-right">
+											<p class="num-item-p">
+												{{
                           $_common.formatNub(
                             businessOverview.customerAverageMoney,
                             2
                           ) || 0
                         }}
-                      </p>
-                      <p class="text-item-p">
-                        今日客单价
-                        <el-tooltip
-                          effect="dark"
-                          content="今日客单价 = 今日销售总额 ÷ 今日订单笔数"
-                          placement="top-start"
-                        >
-                          <i class="el-icon-question ico"></i>
-                        </el-tooltip>
-                      </p>
-                    </div>
-                  </div>
-                </li>
-                <li class="float_left num-item">
-                  <div class="clearfix num-item-in">
-                    <span
-                      :style="{
+											</p>
+											<p class="text-item-p">
+												今日客单价
+												<el-tooltip effect="dark" content="今日客单价 = 今日销售总额 ÷ 今日订单笔数"
+													placement="top-start">
+													<i class="el-icon-question ico"></i>
+												</el-tooltip>
+											</p>
+										</div>
+									</div>
+								</li>
+								<li class="float_left num-item">
+									<div class="clearfix num-item-in">
+										<span :style="{
                         background: '#FF840C',
-                      }"
-                      class="iconfont icon-dingdan1 num-item-icon float_left"
-                    ></span>
-                    <div class="float_left num-item-right">
-                      <p class="num-item-p">
-                        {{
+                      }" class="iconfont icon-dingdan1 num-item-icon float_left"></span>
+										<div class="float_left num-item-right">
+											<p class="num-item-p">
+												{{
                           $_common.formatNub(
                             businessOverview.orderNumOfNotOutOfStock,
                             2
                           ) || 0
                         }}
-                      </p>
-                      <p class="text-item-p">
-                        未出库订单
-                        <el-tooltip
-                          effect="dark"
-                          content="今日还未出库审核的出库单总数"
-                          placement="top-start"
-                        >
-                          <i class="el-icon-question ico"></i>
-                        </el-tooltip>
-                      </p>
-                    </div>
-                  </div>
-                </li>
-                <li class="float_left num-item">
-                  <div class="clearfix num-item-in">
-                    <span
-                      :style="{
+											</p>
+											<p class="text-item-p">
+												未出库订单
+												<el-tooltip effect="dark" content="今日还未出库审核的出库单总数"
+													placement="top-start">
+													<i class="el-icon-question ico"></i>
+												</el-tooltip>
+											</p>
+										</div>
+									</div>
+								</li>
+								<li class="float_left num-item">
+									<div class="clearfix num-item-in">
+										<span :style="{
                         background: '#fe6b58',
-                      }"
-                      class="iconfont icon-dingdan1 num-item-icon float_left"
-                    ></span>
-                    <div class="float_left num-item-right">
-                      <p class="num-item-p">
-                        {{
+                      }" class="iconfont icon-dingdan1 num-item-icon float_left"></span>
+										<div class="float_left num-item-right">
+											<p class="num-item-p">
+												{{
                           $_common.formatNub(
                             businessOverview.todayCanceledOrder,
                             2
                           ) || 0
                         }}
-                      </p>
-                      <p class="text-item-p">
-                        今日取消订单
-                        <el-tooltip
-                          effect="dark"
-                          content="今日已取消的订单总数"
-                          placement="top-start"
-                        >
-                          <i class="el-icon-question ico"></i>
-                        </el-tooltip>
-                      </p>
-                    </div>
-                  </div>
-                </li>
-              </ul>
-            </div>
-          </div>
-        </el-col>
-        <el-col :span="8">
-          <div class="ph" style="height: 488px">
-            <div class="ph-radio-group ranking-sel">
-              <span
-                class="ph-btn"
-                :class="[parseInt(ranking_sel) === 1 ? 'ph-on' : '']"
-                @click="getData('1')"
-              >
-                销量
-              </span>
-              <span class="radio-line">|</span>
-              <span
-                class="ph-btn"
-                :class="[parseInt(ranking_sel) === 2 ? 'ph-on' : '']"
-                @click="getData('2')"
-              >
-                销额/元
-              </span>
-            </div>
-            <div slot="header" class="clearfix">
-              <div class="float_left" style="cursor: pointer">
-                <el-dropdown @command="handleClick">
-                  <span class="el-dropdown-link">
-                    <span class="ph_title">
-                      {{
+											</p>
+											<p class="text-item-p">
+												今日取消订单
+												<el-tooltip effect="dark" content="今日已取消的订单总数" placement="top-start">
+													<i class="el-icon-question ico"></i>
+												</el-tooltip>
+											</p>
+										</div>
+									</div>
+								</li>
+							</ul>
+						</div>
+					</div>
+				</el-col>
+				<el-col :span="8">
+					<div class="ph" style="height: 488px">
+						<div class="ph-radio-group ranking-sel">
+							<span class="ph-btn" :class="[parseInt(ranking_sel) === 1 ? 'ph-on' : '']"
+								@click="getData('1')">
+								销量
+							</span>
+							<span class="radio-line">|</span>
+							<span class="ph-btn" :class="[parseInt(ranking_sel) === 2 ? 'ph-on' : '']"
+								@click="getData('2')">
+								销额/元
+							</span>
+						</div>
+						<div slot="header" class="clearfix">
+							<div class="float_left" style="cursor: pointer">
+								<el-dropdown @command="handleClick">
+									<span class="el-dropdown-link">
+										<span class="ph_title">
+											{{
                         ranking_on === "cateTop"
                           ? "类目排行"
                           : ranking_on === "goodsTop"
@@ -600,859 +456,806 @@
                           ? "客户排行"
                           : "供应商排行"
                       }}
-                    </span>
-                    <i class="el-icon-arrow-down el-icon--right"></i>
-                  </span>
-                  <el-dropdown-menu slot="dropdown">
-                    <el-dropdown-item command="cateTop">
-                      类目排行
-                    </el-dropdown-item>
-                    <el-dropdown-item command="goodsTop">
-                      商品排行
-                    </el-dropdown-item>
-                    <el-dropdown-item command="customerTop">
-                      客户排行
-                    </el-dropdown-item>
-                    <el-dropdown-item command="supplierTop">
-                      供应商排行
-                    </el-dropdown-item>
-                  </el-dropdown-menu>
-                </el-dropdown>
-                <br />
-                <span class="ph_tip">(今日前8名)</span>
-              </div>
-              <div
-                v-if="ranking_on === 'cateTop'"
-                class="float_right ph-radio-group"
-              >
-                <span
-                  class="ph-btn"
-                  :class="[is_all_cate_shop || !cate_shop_name ? 'ph-on' : '']"
-                  @click="rankingSearch('is_all_cate_shop', 'cate')"
-                >
-                  全店
-                </span>
-                <span class="radio-line">|</span>
-                <span
-                  class="ph-btn"
-                  :class="[cate_shop_name ? 'ph-on' : '']"
-                  @click="openShop('cate')"
-                >
-                  {{ cate_shop_name || "所有店铺" }}
-                  <i class="el-icon-caret-bottom"></i>
-                </span>
-              </div>
-              <div
-                v-if="ranking_on === 'goodsTop'"
-                class="float_right ph-radio-group"
-              >
-                <span
-                  class="ph-btn"
-                  :class="[
+										</span>
+										<i class="el-icon-arrow-down el-icon--right"></i>
+									</span>
+									<el-dropdown-menu slot="dropdown">
+										<el-dropdown-item command="cateTop">
+											类目排行
+										</el-dropdown-item>
+										<el-dropdown-item command="goodsTop">
+											商品排行
+										</el-dropdown-item>
+										<el-dropdown-item command="customerTop">
+											客户排行
+										</el-dropdown-item>
+										<el-dropdown-item command="supplierTop">
+											供应商排行
+										</el-dropdown-item>
+									</el-dropdown-menu>
+								</el-dropdown>
+								<br />
+								<span class="ph_tip">(今日前8名)</span>
+							</div>
+							<div v-if="ranking_on === 'cateTop'" class="float_right ph-radio-group">
+								<span class="ph-btn" :class="[is_all_cate_shop || !cate_shop_name ? 'ph-on' : '']"
+									@click="rankingSearch('is_all_cate_shop', 'cate')">
+									全店
+								</span>
+								<span class="radio-line">|</span>
+								<span class="ph-btn" :class="[cate_shop_name ? 'ph-on' : '']" @click="openShop('cate')">
+									{{ cate_shop_name || "所有店铺" }}
+									<i class="el-icon-caret-bottom"></i>
+								</span>
+							</div>
+							<div v-if="ranking_on === 'goodsTop'" class="float_right ph-radio-group">
+								<span class="ph-btn" :class="[
                     is_all_goods_shop || !goods_shop_name ? 'ph-on' : '',
-                  ]"
-                  @click="rankingSearch('is_all_goods_shop', 'goods')"
-                >
-                  全店
-                </span>
-                <span class="radio-line">|</span>
-                <span
-                  class="ph-btn"
-                  :class="[cate_shop_name ? 'ph-on' : '']"
-                  @click="openShop('goods')"
-                >
-                  {{ cate_shop_name || "所有店铺" }}
-                  <i class="el-icon-caret-bottom"></i>
-                </span>
-              </div>
-              <div
-                v-if="ranking_on === 'supplierTop'"
-                class="float_right ph-radio-group"
-              >
-                <span
-                  class="ph-btn"
-                  :class="[
+                  ]" @click="rankingSearch('is_all_goods_shop', 'goods')">
+									全店
+								</span>
+								<span class="radio-line">|</span>
+								<span class="ph-btn" :class="[cate_shop_name ? 'ph-on' : '']"
+									@click="openShop('goods')">
+									{{ cate_shop_name || "所有店铺" }}
+									<i class="el-icon-caret-bottom"></i>
+								</span>
+							</div>
+							<div v-if="ranking_on === 'supplierTop'" class="float_right ph-radio-group">
+								<span class="ph-btn" :class="[
                     is_all_supplier_shop || !supplier_shop_name ? 'ph-on' : '',
-                  ]"
-                  @click="rankingSearch('is_all_supplier_shop', 'supplier')"
-                >
-                  全店
-                </span>
-                <span class="radio-line">|</span>
-                <span
-                  class="ph-btn"
-                  :class="[supplier_shop_name ? 'ph-on' : '']"
-                  @click="openShop('supplier')"
-                >
-                  {{ supplier_shop_name || "所有店铺" }}
-                  <i class="el-icon-caret-bottom"></i>
-                </span>
-              </div>
-            </div>
-            <div v-if="ranking_on === 'cateTop'">
-              <div v-if="!ranking.categoryRanking.length" class="no-data">
-                <img :src="require('@/assets/no-data.png')" alt="" />
-                <p>暂无数据</p>
-              </div>
-              <div v-else style="padding-top: 15px">
-                <span
-                  v-for="(item, index) in ranking.categoryRanking"
-                  :key="index"
-                  style="display: flex; margin-top: 20px"
-                >
-                  <h4 style="margin: -5px 30px 0 0">
-                    <span
-                      style="color: gray; font-style: italic; margin-right: 5px"
-                    >
-                      0{{ index + 1 }}
-                    </span>
-                    {{ item.categoryName }}
-                    <span style="color: transparent">哈哈</span>
-                  </h4>
-                  <el-progress
-                    :text-inside="true"
-                    :stroke-width="10"
-                    :percentage="item.percent"
-                    :show-text="false"
-                  ></el-progress>
-                  <span class="ph-num-text">
-                    {{ $_common.formatNub(item.numberOrMoney, 2) || 0 }}
-                  </span>
-                </span>
-              </div>
-            </div>
-            <!--            商品排行-->
-            <div v-if="ranking_on === 'goodsTop'">
-              <div v-if="!ranking.goodsRanking.length" class="no-data">
-                <img :src="require('@/assets/no-data.png')" alt="" />
-                <p>暂无数据</p>
-              </div>
-              <div v-else style="padding-top: 15px">
-                <span
-                  v-for="(item, index) in ranking.goodsRanking"
-                  :key="index"
-                  style="display: flex; margin-top: 20px"
-                >
-                  <h4 style="margin: -5px 30px 0 0">
-                    <span
-                      style="color: gray; font-style: italic; margin-right: 5px"
-                    >
-                      0{{ index + 1 }}
-                    </span>
-                    {{ item.goodsName }}
-                    <span style="color: transparent">哈哈</span>
-                  </h4>
-                  <el-progress
-                    :text-inside="true"
-                    :stroke-width="10"
-                    :percentage="item.percent"
-                    :show-text="false"
-                  ></el-progress>
-                  <span class="ph-num-text">
-                    {{ $_common.formatNub(item.numberOrMoney, 2) || 0 }}
-                  </span>
-                </span>
-              </div>
-            </div>
-            <!--            客户排行-->
-            <div v-if="ranking_on === 'customerTop'">
-              <div v-if="!ranking.customerRanking.length" class="no-data">
-                <img :src="require('@/assets/no-data.png')" alt="" />
-                <p>暂无数据</p>
-              </div>
-              <div v-else style="padding-top: 15px">
-                <span
-                  v-for="(item, index) in ranking.customerRanking"
-                  :key="index"
-                  style="display: flex; margin-top: 20px"
-                >
-                  <h4 style="margin: -5px 30px 0 0">
-                    <span
-                      style="color: gray; font-style: italic; margin-right: 5px"
-                    >
-                      0{{ index + 1 }}
-                    </span>
-                    {{ item.customerName }}
-                    <span style="color: transparent">哈哈</span>
-                  </h4>
-                  <span class="ph-num-text">
-                    {{ $_common.formatNub(item.numberOrMoney, 2) || 0 }}
-                  </span>
-                </span>
-              </div>
-            </div>
-            <div v-if="ranking_on === 'supplierTop'">
-              <div v-if="!ranking.supplierRanking.length" class="no-data">
-                <img :src="require('@/assets/no-data.png')" alt="" />
-                <p>暂无数据</p>
-              </div>
-              <div v-else style="padding-top: 15px">
-                <span
-                  v-for="(item, index) in ranking.supplierRanking"
-                  :key="index"
-                  style="display: flex; margin-top: 20px"
-                >
-                  <h4 style="margin: -5px 30px 0 0">
-                    <span
-                      style="color: gray; font-style: italic; margin-right: 5px"
-                    >
-                      0{{ index + 1 }}
-                    </span>
-                    {{ item.supplierName }}
-                    <span style="color: transparent">哈哈</span>
-                  </h4>
-                  <span class="ph-num-text">
-                    {{ $_common.formatNub(item.numberOrMoney, 2) || 0 }}
-                  </span>
-                </span>
-              </div>
-            </div>
-          </div>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20" style="margin-bottom: 20px">
-        <el-col :span="8">
-          <div v-if="$accessCheck($Access.overview)">
-            <ul class="top-data-ul">
-              <li class="top-data-li clearfix">
-                <div class="float_left">
-                  <p class="card-label">
-                    <i
-                      class="el-icon-s-help card-dot"
-                      style="color: #b620e0"
-                    ></i>
-                    <span class="card-label-text">库存总金额</span>
-                    <el-tooltip
-                      effect="dark"
-                      content="当前库存总金额"
-                      placement="top-start"
-                    >
-                      <i class="el-icon-question mark"></i>
-                    </el-tooltip>
-                  </p>
-                  <p class="card-des" style="width: 110px">
-                    <i class="el-icon-edit" style="color: transparent"></i>
-                    当前库存总金额
-                  </p>
-                  <p class="card-num">
-                    <i
-                      class="el-icon-edit"
-                      style="font-size: 13px; color: transparent"
-                    ></i>
-                    <span class="money">
-                      {{
+                  ]" @click="rankingSearch('is_all_supplier_shop', 'supplier')">
+									全店
+								</span>
+								<span class="radio-line">|</span>
+								<span class="ph-btn" :class="[supplier_shop_name ? 'ph-on' : '']"
+									@click="openShop('supplier')">
+									{{ supplier_shop_name || "所有店铺" }}
+									<i class="el-icon-caret-bottom"></i>
+								</span>
+							</div>
+						</div>
+						<div v-if="ranking_on === 'cateTop'">
+							<template v-if="ranking.categoryRanking">
+								<div v-if="!ranking.categoryRanking.length" class="no-data">
+									<img :src="require('@/assets/no-data.png')" alt="" />
+									<p>暂无数据</p>
+								</div>
+							</template>
+							<div v-else style="padding-top: 15px">
+								<span v-for="(item, index) in ranking.categoryRanking" :key="index"
+									style="display: flex; margin-top: 20px">
+									<h4 style="margin: -5px 30px 0 0">
+										<span style="color: gray; font-style: italic; margin-right: 5px">
+											0{{ index + 1 }}
+										</span>
+										{{ item.categoryName }}
+										<span style="color: transparent">哈哈</span>
+									</h4>
+									<el-progress :text-inside="true" :stroke-width="10" :percentage="item.percent"
+										:show-text="false"></el-progress>
+									<span class="ph-num-text">
+										{{ $_common.formatNub(item.numberOrMoney, 2) || 0 }}
+									</span>
+								</span>
+							</div>
+						</div>
+						<!--            商品排行-->
+						<div v-if="ranking_on === 'goodsTop'">
+							<template v-if="ranking.goodsRanking">
+								<div v-if="!ranking.goodsRanking.length" class="no-data">
+									<img :src="require('@/assets/no-data.png')" alt="" />
+									<p>暂无数据</p>
+								</div>
+							</template>
+							<div v-else style="padding-top: 15px">
+								<span v-for="(item, index) in ranking.goodsRanking" :key="index"
+									style="display: flex; margin-top: 20px">
+									<h4 style="margin: -5px 30px 0 0">
+										<span style="color: gray; font-style: italic; margin-right: 5px">
+											0{{ index + 1 }}
+										</span>
+										{{ item.goodsName }}
+										<span style="color: transparent">哈哈</span>
+									</h4>
+									<el-progress :text-inside="true" :stroke-width="10" :percentage="item.percent"
+										:show-text="false"></el-progress>
+									<span class="ph-num-text">
+										{{ $_common.formatNub(item.numberOrMoney, 2) || 0 }}
+									</span>
+								</span>
+							</div>
+						</div>
+						<!--            客户排行-->
+						<div v-if="ranking_on === 'customerTop'">
+							<template v-if="ranking.customerRanking">
+								<div v-if="!ranking.customerRanking.length" class="no-data">
+									<img :src="require('@/assets/no-data.png')" alt="" />
+									<p>暂无数据</p>
+								</div>
+							</template>
+							<div v-else style="padding-top: 15px">
+								<span v-for="(item, index) in ranking.customerRanking" :key="index"
+									style="display: flex; margin-top: 20px">
+									<h4 style="margin: -5px 30px 0 0">
+										<span style="color: gray; font-style: italic; margin-right: 5px">
+											0{{ index + 1 }}
+										</span>
+										{{ item.customerName }}
+										<span style="color: transparent">哈哈</span>
+									</h4>
+									<span class="ph-num-text">
+										{{ $_common.formatNub(item.numberOrMoney, 2) || 0 }}
+									</span>
+								</span>
+							</div>
+						</div>
+						<div v-if="ranking_on === 'supplierTop'">
+							<template v-if="ranking.supplierRanking">
+
+								<div v-if="!ranking.supplierRanking.length" class="no-data">
+									<img :src="require('@/assets/no-data.png')" alt="" />
+									<p>暂无数据</p>
+								</div>
+							</template>
+							<div v-else style="padding-top: 15px">
+								<span v-for="(item, index) in ranking.supplierRanking" :key="index"
+									style="display: flex; margin-top: 20px">
+									<h4 style="margin: -5px 30px 0 0">
+										<span style="color: gray; font-style: italic; margin-right: 5px">
+											0{{ index + 1 }}
+										</span>
+										{{ item.supplierName }}
+										<span style="color: transparent">哈哈</span>
+									</h4>
+									<span class="ph-num-text">
+										{{ $_common.formatNub(item.numberOrMoney, 2) || 0 }}
+									</span>
+								</span>
+							</div>
+						</div>
+					</div>
+				</el-col>
+			</el-row>
+			<el-row :gutter="20" style="margin-bottom: 20px">
+				<el-col :span="8">
+					<div v-if="$accessCheck($Access.overview)">
+						<ul class="top-data-ul">
+							<li class="top-data-li clearfix">
+								<div class="float_left">
+									<p class="card-label">
+										<i class="el-icon-s-help card-dot" style="color: #b620e0"></i>
+										<span class="card-label-text">库存总金额</span>
+										<el-tooltip effect="dark" content="当前库存总金额" placement="top-start">
+											<i class="el-icon-question mark"></i>
+										</el-tooltip>
+									</p>
+									<p class="card-des" style="width: 110px">
+										<i class="el-icon-edit" style="color: transparent"></i>
+										当前库存总金额
+									</p>
+									<p class="card-num">
+										<i class="el-icon-edit" style="font-size: 13px; color: transparent"></i>
+										<span class="money">
+											{{
                         $_common.formattedNumber(
                           aggregateStatistics.totalMoneyOfInventory
                         )
                       }}
-                    </span>
-                  </p>
-                </div>
-                <div
-                  v-if="flag"
-                  class="float_right"
-                  style="padding: 29px 20px 0 0"
-                >
-                  <div style="width: 199px; height: 57px">
-                    <chart2 :chart-data="chart_data"></chart2>
-                    <div style="margin: -50px 0 0 40px">
-                      <span style="font-size: 14px; color: #fa6400">
-                        -99.0k |&nbsp;
-                      </span>
-                      <span style="font-size: 14px">相比较上一周</span>
-                    </div>
-                  </div>
-                </div>
-              </li>
-              <li class="top-data-li clearfix">
-                <div class="float_left">
-                  <p class="card-label">
-                    <i
-                      class="el-icon-s-help card-dot"
-                      style="color: #32c5ff"
-                    ></i>
-                    <span class="card-label-text">客户数</span>
-                    <el-tooltip
-                      effect="dark"
-                      content="当前客户总数"
-                      placement="top-start"
-                    >
-                      <i class="el-icon-question mark"></i>
-                    </el-tooltip>
-                  </p>
-                  <p class="card-des">
-                    <i class="el-icon-edit" style="color: transparent"></i>
-                    当前客户总数
-                    <br />
-                    <i class="el-icon-edit" style="color: transparent"></i>
-                    有效客户:{{
-                      $_common.formatNub(
-                        aggregateStatistics.customerTotalNum.valid,
-                        2
-                      ) || 0
-                    }}
-                    <br />
-                    <i class="el-icon-edit" style="color: transparent"></i>
-                    无效客户:{{
-                      $_common.formatNub(
-                        aggregateStatistics.customerTotalNum.void,
-                        2
-                      ) || 0
-                    }}
-                  </p>
-                  <p class="card-num">
-                    <i
-                      class="el-icon-edit"
-                      style="font-size: 13px; color: transparent"
-                    ></i>
-                    <span class="money">
-                      {{
-                        $_common.formatNub(
-                          aggregateStatistics.customerTotalNum.totalCount,
-                          2
-                        ) || 0
-                      }}
-                    </span>
-                  </p>
-                </div>
-                <div
-                  v-if="flag"
-                  class="float_right"
-                  style="padding: 29px 20px 0 0"
-                >
-                  <div style="width: 199px; height: 57px">
-                    <chart2 :chart-data="chart_data"></chart2>
-                    <div style="margin: -50px 0 0 40px">
-                      <span style="font-size: 14px; color: #6dd400">
-                        +0.01k |&nbsp;
-                      </span>
-                      <span style="font-size: 14px">相比较上一周</span>
-                    </div>
-                  </div>
-                </div>
-              </li>
-            </ul>
-          </div>
-        </el-col>
-        <el-col :span="16" style="padding: 0">
-          <div class="ph" style="height: 330px">
-            <div slot="header">
-              <span>
-                <!--                <vab-remix-icon icon-class="line-chart-line"></vab-remix-icon>-->
-                <span class="ph_title">近7日交易趋势</span>
-              </span>
-            </div>
+										</span>
+									</p>
+								</div>
+								<div v-if="flag" class="float_right" style="padding: 29px 20px 0 0">
+									<div style="width: 199px; height: 57px">
+										<chart2 :chart-data="chart_data"></chart2>
+										<div style="margin: -50px 0 0 40px">
+											<span style="font-size: 14px; color: #fa6400">
+												-99.0k |&nbsp;
+											</span>
+											<span style="font-size: 14px">相比较上一周</span>
+										</div>
+									</div>
+								</div>
+							</li>
+							<li class="top-data-li clearfix">
+								<div class="float_left">
+									<p class="card-label">
+										<i class="el-icon-s-help card-dot" style="color: #32c5ff"></i>
+										<span class="card-label-text">客户数</span>
+										<el-tooltip effect="dark" content="当前客户总数" placement="top-start">
+											<i class="el-icon-question mark"></i>
+										</el-tooltip>
+									</p>
+									<p class="card-des">
+										<i class="el-icon-edit" style="color: transparent"></i>
+										当前客户总数
+										<br />
+										<i class="el-icon-edit" style="color: transparent"></i>
+										<template
+											v-if='aggregateStatistics.customerTotalNum'>有效客户:{{$_common.formatNub(aggregateStatistics.customerTotalNum.valid, 2) || 0}}</template>
+										<br />
+										<i class="el-icon-edit" style="color: transparent"></i>
+										<template
+											v-if='aggregateStatistics.customerTotalNum'>无效客户:{{$_common.formatNub(aggregateStatistics.customerTotalNum.void,2) || 0}}</template>
+									</p>
+									<p class="card-num">
+										<i class="el-icon-edit" style="font-size: 13px; color: transparent"></i>
+										<span class="money">
+											<template
+												v-if='aggregateStatistics.customerTotalNum'>{{$_common.formatNub(aggregateStatistics.customerTotalNum.totalCount,2) || 0}}</template>
+										</span>
+									</p>
+								</div>
+								<div v-if="flag" class="float_right" style="padding: 29px 20px 0 0">
+									<div style="width: 199px; height: 57px">
+										<chart2 :chart-data="chart_data"></chart2>
+										<div style="margin: -50px 0 0 40px">
+											<span style="font-size: 14px; color: #6dd400">
+												+0.01k |&nbsp;
+											</span>
+											<span style="font-size: 14px">相比较上一周</span>
+										</div>
+									</div>
+								</div>
+							</li>
+						</ul>
+					</div>
+				</el-col>
+				<el-col :span="16" style="padding: 0">
+					<div class="ph" style="height: 330px">
+						<div slot="header">
+							<span>
+								<!--                <vab-remix-icon icon-class="line-chart-line"></vab-remix-icon>-->
+								<span class="ph_title">近7日交易趋势</span>
+							</span>
+						</div>
 
-            <div style="padding-bottom: 20px">
-              <chart1
-                :time-data="time_data"
-                :goods-num="goodsNum_data"
-                :order-num="orderNum_data"
-                :order-money="orderMoney_data"
-              ></chart1>
-            </div>
-          </div>
-        </el-col>
-      </el-row>
-    </div>
-    <GoodsChooseShop
-      v-if="sel_shop"
-      :is-check="false"
-      :dialog-visible="sel_shop"
-      @close="sel_shop = false"
-      @confirm="shopConfirm"
-    />
-  </div>
+						<div style="padding-bottom: 20px">
+							<chart1 :time-data="time_data" :goods-num="goodsNum_data" :order-num="orderNum_data"
+								:order-money="orderMoney_data"></chart1>
+						</div>
+					</div>
+				</el-col>
+			</el-row>
+		</div>
+		<GoodsChooseShop v-if="sel_shop" :is-check="false" :dialog-visible="sel_shop" @close="sel_shop = false"
+			@confirm="shopConfirm" />
+	</div>
 </template>
 
 <script>
-  import GoodsChooseShop from "@/component/goods/GoodsChooseShop.vue";
-  import { Enterprise } from "@/api/user";
-  import { getSystemSettingsInfo } from "@/api/System";
-  import Chart1 from "./components/Chart1";
-  import Chart2 from "./components/Chart2";
-  export default {
-    name: "DriveCabin",
-    components: {
-      GoodsChooseShop,
-      Chart1,
-      Chart2,
-    },
-    data() {
-      return {
-        flag: false,
-        //访问量
-        options: {
-          grid: {
-            top: "4%",
-            left: "2%",
-            right: "4%",
-            bottom: "0%",
-            containLabel: true,
-          },
-          xAxis: [
-            {
-              type: "category",
-              boundaryGap: false,
-              data: [],
-              axisTick: {
-                alignWithLabel: true,
-              },
-            },
-          ],
-          yAxis: [
-            {
-              type: "value",
-            },
-          ],
-          series: [
-            {
-              name: "访问量",
-              type: "line",
-              data: [],
-              smooth: true,
-              areaStyle: {},
-            },
-          ],
-        },
-        nowTime: "",
-        is_all_supplier_shop: true,
-        is_all_survey_shop: true,
-        is_all_goods_shop: true,
-        is_all_cate_shop: true,
-        supplier_shop_name: "",
-        goods_shop_name: "",
-        cate_shop_name: "",
-        servey_shop_name: "",
-        sear_shop_type: "",
-        ranking_sel: "1",
-        sel_shop: false,
-        businessOverviewShopId: "",
-        categoryRankingShopId: "",
-        goodsRankingShopId: "",
-        supplierRankingShopId: "",
-        aggregateStatistics: {},
-        ranking: {
-          categoryRanking: [],
-          goodsRanking: [],
-          customerRanking: [],
-          supplierRanking: [],
-        },
-        time_data: [],
-        goodsNum_data: [],
-        orderMoney_data: [],
-        orderNum_data: [],
-        businessOverview: {},
-        btn_list: [
-          {
-            label: "订单列表",
-            path: "/order/manageO/orderQuery",
-            icon: "icon-weibiaoti--",
-            color: "linear-gradient(270deg,#4B9EFF 0%,#3D89FF 100%)",
-            access: "newOrderList",
-          },
-          {
-            label: "代客下单",
-            path: "/order/manageO/OrderAdd",
-            icon: "icon-xiaoshouzhengce",
-            color: "linear-gradient(270deg,#739EFF 0%,#3F64FF 100%)",
-            access: "saleOrderList",
-          },
-          {
-            label: "自提订单",
-            path: "/order/manageO/selfOrder?type=2",
-            icon: "icon-zitiraising",
-            color: "linear-gradient(270deg,#73CDFF 0%,#3F9FFF 100%)",
-            access: "selfOrder",
-          },
-          {
-            label: "商品管理",
-            path: "/goods/sale/PublishGoods",
-            icon: "icon-shangpin2",
-            color: "linear-gradient(270deg,#5AA4FF 0%,#3884FF 100%)",
-            access: "PublishGoods",
-          },
-          {
-            label: "商品调价",
-            path: "/goods/sale/PriceTable",
-            icon: "icon-icon_tiaojiaadjust",
-            color: "linear-gradient(270deg,#48C9DD 0%,#36B5CF 100%)",
-            access: "PriceTable",
-          },
-          {
-            label: "库存查询",
-            path: "/stock/WarehouseAdmin/query",
-            icon: "icon-kucuntongji",
-            color: "linear-gradient(270deg,#5AA4FF 0%,#3884FF 100%)",
-            access: "query",
-          },
-          {
-            label: "订单出库",
-            path: "/stock/OutIn/outgoing",
-            icon: "icon-chuku1",
-            color: "linear-gradient(270deg,#739EFF 0%,#3F64FF 100%)",
-            access: "InventoryOut",
-          },
-          {
-            label: "财务收款",
-            path: "/Finance/Receivable/ReceiptList",
-            icon: "icon-caiwu",
-            color: "linear-gradient(270deg,#C26DD2 0%,#8E3BA6 100%)",
-            access: "ReceiptListGetAllReceived",
-          },
-          // 预览商城--小程序二维码弹窗
-          // {
-          //   label: '预览商城',
-          //   path: '/',
-          //   icon: 'icon-saomiao',
-          //   color: 'rgb(18,186,123)'
-          // }
-          // {
-          //   label: '开店指南',
-          //   path: '/',
-          //   icon: 'icon-zhinan',
-          //   color: '#409EFF'
-          // }
-        ],
-        top_btn_list: [],
-        wxCodeImg: "",
-        ranking_on: "cateTop",
-      };
-    },
-    created() {
-      this.nowTime = this.$_common.formatDate(new Date().getTime());
-      this.getData("1");
-      this.getSystemSettingsInfo();
-    },
-    mounted() {
-      // 常用功能权限判断
-      this.top_btn_list = this.btn_list.filter((item) => {
-        return this.$accessCheck(this.$Access[item.access]);
-      });
-    },
-    methods: {
-      handleClick(command) {
-        this.ranking_on = command;
-      },
-      // 获取小程序二维码详情ReceiptList
-      async getSystemSettingsInfo() {
-        if (!this.$accessCheck(this.$Access.WxCodeSetGetSystemSettingsInfo)) {
-          return;
-        }
-        const data = await getSystemSettingsInfo(1);
+	import GoodsChooseShop from "@/component/goods/GoodsChooseShop.vue";
+	import {
+		Enterprise
+	} from "@/api/user";
+	import {
+		getSystemSettingsInfo
+	} from "@/api/System";
+	import Chart1 from "./components/Chart1";
+	import Chart2 from "./components/Chart2";
+	export default {
+		name: "DriveCabin",
+		components: {
+			GoodsChooseShop,
+			Chart1,
+			Chart2,
+		},
+		data() {
+			return {
+				flag: false,
+				//访问量
+				options: {
+					grid: {
+						top: "4%",
+						left: "2%",
+						right: "4%",
+						bottom: "0%",
+						containLabel: true,
+					},
+					xAxis: [{
+						type: "category",
+						boundaryGap: false,
+						data: [],
+						axisTick: {
+							alignWithLabel: true,
+						},
+					}, ],
+					yAxis: [{
+						type: "value",
+					}, ],
+					series: [{
+						name: "访问量",
+						type: "line",
+						data: [],
+						smooth: true,
+						areaStyle: {},
+					}, ],
+				},
+				nowTime: "",
+				is_all_supplier_shop: true,
+				is_all_survey_shop: true,
+				is_all_goods_shop: true,
+				is_all_cate_shop: true,
+				supplier_shop_name: "",
+				goods_shop_name: "",
+				cate_shop_name: "",
+				servey_shop_name: "",
+				sear_shop_type: "",
+				ranking_sel: "1",
+				sel_shop: false,
+				businessOverviewShopId: "",
+				categoryRankingShopId: "",
+				goodsRankingShopId: "",
+				supplierRankingShopId: "",
+				aggregateStatistics: {},
+				ranking: {
+					categoryRanking: [],
+					goodsRanking: [],
+					customerRanking: [],
+					supplierRanking: [],
+				},
+				time_data: [],
+				goodsNum_data: [],
+				orderMoney_data: [],
+				orderNum_data: [],
+				businessOverview: {},
+				btn_list: [{
+						label: "订单列表",
+						path: "/order/manageO/orderQuery",
+						icon: "icon-weibiaoti--",
+						color: "linear-gradient(270deg,#4B9EFF 0%,#3D89FF 100%)",
+						access: "newOrderList",
+					},
+					{
+						label: "代客下单",
+						path: "/order/manageO/OrderAdd",
+						icon: "icon-xiaoshouzhengce",
+						color: "linear-gradient(270deg,#739EFF 0%,#3F64FF 100%)",
+						access: "saleOrderList",
+					},
+					{
+						label: "自提订单",
+						path: "/order/manageO/selfOrder?type=2",
+						icon: "icon-zitiraising",
+						color: "linear-gradient(270deg,#73CDFF 0%,#3F9FFF 100%)",
+						access: "selfOrder",
+					},
+					{
+						label: "商品管理",
+						path: "/goods/sale/PublishGoods",
+						icon: "icon-shangpin2",
+						color: "linear-gradient(270deg,#5AA4FF 0%,#3884FF 100%)",
+						access: "PublishGoods",
+					},
+					{
+						label: "商品调价",
+						path: "/goods/sale/PriceTable",
+						icon: "icon-icon_tiaojiaadjust",
+						color: "linear-gradient(270deg,#48C9DD 0%,#36B5CF 100%)",
+						access: "PriceTable",
+					},
+					{
+						label: "库存查询",
+						path: "/stock/WarehouseAdmin/query",
+						icon: "icon-kucuntongji",
+						color: "linear-gradient(270deg,#5AA4FF 0%,#3884FF 100%)",
+						access: "query",
+					},
+					{
+						label: "订单出库",
+						path: "/stock/OutIn/outgoing",
+						icon: "icon-chuku1",
+						color: "linear-gradient(270deg,#739EFF 0%,#3F64FF 100%)",
+						access: "InventoryOut",
+					},
+					{
+						label: "财务收款",
+						path: "/Finance/Receivable/ReceiptList",
+						icon: "icon-caiwu",
+						color: "linear-gradient(270deg,#C26DD2 0%,#8E3BA6 100%)",
+						access: "ReceiptListGetAllReceived",
+					},
+					// 预览商城--小程序二维码弹窗
+					// {
+					//   label: '预览商城',
+					//   path: '/',
+					//   icon: 'icon-saomiao',
+					//   color: 'rgb(18,186,123)'
+					// }
+					// {
+					//   label: '开店指南',
+					//   path: '/',
+					//   icon: 'icon-zhinan',
+					//   color: '#409EFF'
+					// }
+				],
+				top_btn_list: [],
+				wxCodeImg: "",
+				ranking_on: "cateTop",
+			};
+		},
+		created() {
+			this.nowTime = this.$_common.formatDate(new Date().getTime());
+			this.getData("1");
+			this.getSystemSettingsInfo();
+		},
+		mounted() {
+			// 常用功能权限判断
+			this.top_btn_list = this.btn_list.filter((item) => {
+				return this.$accessCheck(this.$Access[item.access]);
+			});
+		},
+		methods: {
+			handleClick(command) {
+				this.ranking_on = command;
+			},
+			// 获取小程序二维码详情ReceiptList
+			async getSystemSettingsInfo() {
+				if (!this.$accessCheck(this.$Access.WxCodeSetGetSystemSettingsInfo)) {
+					return;
+				}
+				const data = await getSystemSettingsInfo(1);
 
-        this.wxCodeImg =
-          data.content && data.content.img ? data.content.img : "";
-      },
+				this.wxCodeImg =
+					data.content && data.content.img ? data.content.img : "";
+			},
 
-      async getData(val) {
-        if (!this.$accessCheck(this.$Access.overview)) {
-          return;
-        }
-        if (val) {
-          this.ranking_sel = val;
-        }
+			async getData(val) {
+				if (!this.$accessCheck(this.$Access.overview)) {
+					return;
+				}
+				if (val) {
+					this.ranking_sel = val;
+				}
 
-        const { data } = await Enterprise({
-          ranking: this.ranking_sel, // "1销量排行 2销额排行",
-          businessOverviewShopId: this.businessOverviewShopId, // "经营概况按店铺筛选:为空则筛选全店",
-          categoryRankingShopId: this.categoryRankingShopId, // "类目排行按店铺筛选:为空则筛选全店",
-          goodsRankingShopId: this.goodsRankingShopId, // "商品排行按店铺筛选:为空则筛选全店",
-          supplierRankingShopId: this.supplierRankingShopId, // 供应商排行按店铺筛选:为空则筛选全店"
-        });
-        if (data.aggregateStatistics) {
-          this.aggregateStatistics = data.aggregateStatistics;
-          this.ranking = data.ranking;
-          this.businessOverview = data.businessOverview;
-          if (this.time_data.length) {
-            this.time_data = [];
-            this.goodsNum_data = [];
-            this.orderMoney_data = [];
-            this.orderNum_data = [];
-          }
-          this.$nextTick(() => {
-            data.chartData.forEach((value) => {
-              this.time_data.push(value.date);
-              this.goodsNum_data.push(value.goodsNum);
-              this.orderMoney_data.push(value.orderMoney);
-              this.orderNum_data.push(value.orderNum);
-            });
-          });
-        }
-      },
-      // 全店切换
-      rankingSearch(val, tag) {
-        this[val] = !this[val];
-        if (this[val]) {
-          switch (tag) {
-            case "supplier":
-              this.supplier_shop_name = "";
-              this.supplierRankingShopId = "";
-              break;
-            case "goods":
-              this.goods_shop_name = "";
-              this.goodsRankingShopId = "";
-              break;
-            case "cate":
-              this.cate_shop_name = "";
-              this.categoryRankingShopId = "";
-              break;
-            case "survey":
-              this.servey_shop_name = "";
-              this.businessOverviewShopId = "";
-              break;
-          }
-          this.getData();
-        }
-      },
-      // 商铺搜索
-      shopConfirm(row) {
-        switch (this.sear_shop_type) {
-          case "supplier":
-            this.supplier_shop_name = row[0].name;
-            this.supplierRankingShopId = row[0].id;
-            break;
-          case "goods":
-            this.goods_shop_name = row[0].name;
-            this.goodsRankingShopId = row[0].id;
-            break;
-          case "cate":
-            this.cate_shop_name = row[0].name;
-            this.categoryRankingShopId = row[0].id;
-            break;
-          case "survey":
-            this.servey_shop_name = row[0].name;
-            this.businessOverviewShopId = row[0].id;
-            break;
-        }
-        this.getData();
-      },
-      openShop(type) {
-        this.sear_shop_type = type;
-        this.sel_shop = true;
-        this.is_all_cate_shop = false;
-      },
-    },
-  };
+				const {
+					data
+				} = await Enterprise({
+					ranking: this.ranking_sel, // "1销量排行 2销额排行",
+					businessOverviewShopId: this.businessOverviewShopId, // "经营概况按店铺筛选:为空则筛选全店",
+					categoryRankingShopId: this.categoryRankingShopId, // "类目排行按店铺筛选:为空则筛选全店",
+					goodsRankingShopId: this.goodsRankingShopId, // "商品排行按店铺筛选:为空则筛选全店",
+					supplierRankingShopId: this.supplierRankingShopId, // 供应商排行按店铺筛选:为空则筛选全店"
+				});
+				if (data.aggregateStatistics) {
+					this.aggregateStatistics = data.aggregateStatistics;
+					this.ranking = data.ranking;
+					this.businessOverview = data.businessOverview;
+					if (this.time_data) {
+						if (this.time_data.length) {
+							this.time_data = [];
+							this.goodsNum_data = [];
+							this.orderMoney_data = [];
+							this.orderNum_data = [];
+						}
+					}
+					this.$nextTick(() => {
+						data.chartData.forEach((value) => {
+							this.time_data.push(value.date);
+							this.goodsNum_data.push(value.goodsNum);
+							this.orderMoney_data.push(value.orderMoney);
+							this.orderNum_data.push(value.orderNum);
+						});
+					});
+				}
+			},
+			// 全店切换
+			rankingSearch(val, tag) {
+				this[val] = !this[val];
+				if (this[val]) {
+					switch (tag) {
+						case "supplier":
+							this.supplier_shop_name = "";
+							this.supplierRankingShopId = "";
+							break;
+						case "goods":
+							this.goods_shop_name = "";
+							this.goodsRankingShopId = "";
+							break;
+						case "cate":
+							this.cate_shop_name = "";
+							this.categoryRankingShopId = "";
+							break;
+						case "survey":
+							this.servey_shop_name = "";
+							this.businessOverviewShopId = "";
+							break;
+					}
+					this.getData();
+				}
+			},
+			// 商铺搜索
+			shopConfirm(row) {
+				switch (this.sear_shop_type) {
+					case "supplier":
+						this.supplier_shop_name = row[0].name;
+						this.supplierRankingShopId = row[0].id;
+						break;
+					case "goods":
+						this.goods_shop_name = row[0].name;
+						this.goodsRankingShopId = row[0].id;
+						break;
+					case "cate":
+						this.cate_shop_name = row[0].name;
+						this.categoryRankingShopId = row[0].id;
+						break;
+					case "survey":
+						this.servey_shop_name = row[0].name;
+						this.businessOverviewShopId = row[0].id;
+						break;
+				}
+				this.getData();
+			},
+			openShop(type) {
+				this.sear_shop_type = type;
+				this.sel_shop = true;
+				this.is_all_cate_shop = false;
+			},
+		},
+	};
 </script>
 <style scoped lang="scss">
-  .box {
-    background: #f5f8fa;
-  }
-  .top-fn-view {
-    padding: 0 24px;
-    background: #ffffff;
-    margin-bottom: 16px;
-  }
-  .num-item {
-    width: 33.333%;
-    .num-item-in {
-      padding: 10px 0;
-    }
-    .num-item-right {
-      width: calc(100% - 46px);
-    }
-  }
+	.box {
+		background: #f5f8fa;
+	}
+
+	.top-fn-view {
+		padding: 0 24px;
+		background: #ffffff;
+		margin-bottom: 16px;
+	}
+
+	.num-item {
+		width: 33.333%;
+
+		.num-item-in {
+			padding: 10px 0;
+		}
+
+		.num-item-right {
+			width: calc(100% - 46px);
+		}
+	}
+
+	.num-item-icon {
+		width: 32px;
+		height: 32px;
+		line-height: 32px;
+		border-radius: 100%;
+		color: #fff;
+		text-align: center;
+		margin-right: 12px;
+		transform: translateY(12px);
+		font-size: 16px;
+		background: #37b17d;
+	}
+
+	.num-item-p {
+		font-size: 20px;
+		font-weight: 500;
+		color: #24365c;
+		margin-top: 10px;
+	}
+
+	.num-item-des {
+		color: #666666;
+		font-size: 12px;
+	}
+
+	.text-item-p {
+		font-size: 14px;
+		font-weight: 400;
+		color: #99a0b0;
+
+		.ico {
+			color: rgb(192, 197, 207);
+		}
+	}
+
+	.text-item-p i {
+		color: #666666;
+		font-size: 12px;
+	}
+
+	.module-name {
+		font-size: 15px;
+		color: #333333;
+		font-weight: bold;
+	}
+
+	.searchh-view {
+		transform: translateY(5px);
+		padding-right: 20px;
+	}
+
+	/*  新页面 2020-05-19*/
+	.tit-view {
+		padding: 20px;
+	}
+
+	.top-data-ul {
+		font-size: 16px;
+	}
+
+	.top-data-li {
+		min-width: 300px;
+		min-height: 158px;
+		padding: 12px 17px 12px 17px;
+		border-radius: 6px;
+		margin-bottom: 10px;
+		background-color: #fff;
+		box-shadow: 0 2px 6px 0 rgba(76, 80, 88, 0.16);
+	}
+
+	.card-label {
+		padding-bottom: 4px;
+		font-weight: 700;
+		font-size: 16px;
+		position: relative;
+	}
+
+	.card-dot {
+		color: #32c5ff;
+		font-size: 10px;
+	}
+
+	.card-label-text {
+		margin-right: 10px;
+		margin-left: 6px;
+	}
+
+	.card-num {
+		font-size: 20px;
+		color: #24365c;
+		margin-top: 50px;
+	}
+
+	.card-des {
+		font-size: 12px;
+		color: #848890;
+	}
+
+	.nav-btn-ul {
+		display: flex;
+		padding: 20px 0;
+	}
+
+	.nav-btn-li {
+		flex: 10;
+		cursor: pointer;
+		font-size: 16px;
+
+		.nav-btn-icon {
+			display: inline-block;
+			width: 48px;
+			height: 48px;
+			text-align: center;
+			color: #fff;
+			background-color: #409eff;
+			border-radius: 100%;
+			line-height: 48px;
+			font-size: 24px;
+		}
+	}
+
+	.ph {
+		background-color: #fff;
+		height: 240px;
+		padding: 12px 17px 12px 17px;
+		border-radius: 6px;
+		box-shadow: 0px 2px 6px 0px rgba(76, 80, 88, 0.16);
+		position: relative;
+
+		.ranking-sel {
+			position: absolute;
+			left: 130px;
+			top: 14px;
+		}
+
+		h4 {
+			display: inline-block;
+			width: 120px;
+		}
+
+		.ph-num-text {
+			font-size: 16px;
+			font-weight: 600;
+			color: #24365c;
+			margin: -8px 0 0 10px;
+		}
+	}
+
+	.ph-radio-group {
+		font-size: 14px;
+		cursor: pointer;
+	}
+
+	.radio-line {
+		color: #ddd;
+		padding: 0 5px;
+	}
+
+	.ph-btn:hover {
+		color: #1c8fef;
+	}
+
+	.ph-on {
+		color: #1c8fef;
+	}
+
+	.ph-head {
+		padding-bottom: 10px;
+	}
+
+	.ph-label {
+		font-size: 14px;
+	}
+
+	.ph_title {
+		font-weight: 700;
+		font-size: 16px;
+		color: #1b2d54;
+	}
+
+	.ph_tip {
+		color: #848890;
+		font-size: 12px;
+		padding-top: 4px;
+	}
+
+	.no-data {
+		text-align: center;
+		padding-top: 100px;
+		/*padding-top: 20px;*/
+	}
+
+	.no-data img {
+		width: 120px;
+		padding-bottom: 10px;
+	}
+
+	.ranking-tr {
+		line-height: 44px;
+	}
+
+	.ranking-sort {
+		display: inline-block;
+		width: 20px;
+		height: 20px;
+		line-height: 20px;
+		border-radius: 100%;
+		text-align: center;
+	}
+
+	.ranking-sort-o {
+		color: #f788a3;
+		font-size: 12px;
+		background: #faeceb;
+	}
+
+	.ranking-sort-t {
+		color: #fabb79;
+		font-size: 12px;
+		background: #fff6e3;
+	}
+
+	.ranking-sort-three {
+		color: #4ec1cd;
+		font-size: 12px;
+		background: #e0f9f1;
+	}
+
+	.el-progress {
+		width: 60%;
+	}
+
+	.mark {
+		color: #c0c5cf;
+		margin-top: 3px;
+	}
 
-  .num-item-icon {
-    width: 32px;
-    height: 32px;
-    line-height: 32px;
-    border-radius: 100%;
-    color: #fff;
-    text-align: center;
-    margin-right: 12px;
-    transform: translateY(12px);
-    font-size: 16px;
-    background: #37b17d;
-  }
-  .num-item-p {
-    font-size: 20px;
-    font-weight: 500;
-    color: #24365c;
-    margin-top: 10px;
-  }
-  .num-item-des {
-    color: #666666;
-    font-size: 12px;
-  }
-  .text-item-p {
-    font-size: 14px;
-    font-weight: 400;
-    color: #99a0b0;
-    .ico {
-      color: rgb(192, 197, 207);
-    }
-  }
-  .text-item-p i {
-    color: #666666;
-    font-size: 12px;
-  }
-  .module-name {
-    font-size: 15px;
-    color: #333333;
-    font-weight: bold;
-  }
-  .searchh-view {
-    transform: translateY(5px);
-    padding-right: 20px;
-  }
-  /*  新页面 2020-05-19*/
-  .tit-view {
-    padding: 20px;
-  }
-  .top-data-ul {
-    font-size: 16px;
-  }
-  .top-data-li {
-    min-width: 300px;
-    min-height: 158px;
-    padding: 12px 17px 12px 17px;
-    border-radius: 6px;
-    margin-bottom: 10px;
-    background-color: #fff;
-    box-shadow: 0 2px 6px 0 rgba(76, 80, 88, 0.16);
-  }
-  .card-label {
-    padding-bottom: 4px;
-    font-weight: 700;
-    font-size: 16px;
-    position: relative;
-  }
-  .card-dot {
-    color: #32c5ff;
-    font-size: 10px;
-  }
-  .card-label-text {
-    margin-right: 10px;
-    margin-left: 6px;
-  }
-  .card-num {
-    font-size: 20px;
-    color: #24365c;
-    margin-top: 50px;
-  }
-  .card-des {
-    font-size: 12px;
-    color: #848890;
-  }
-  .nav-btn-ul {
-    display: flex;
-    padding: 20px 0;
-  }
-  .nav-btn-li {
-    flex: 10;
-    cursor: pointer;
-    font-size: 16px;
-    .nav-btn-icon {
-      display: inline-block;
-      width: 48px;
-      height: 48px;
-      text-align: center;
-      color: #fff;
-      background-color: #409eff;
-      border-radius: 100%;
-      line-height: 48px;
-      font-size: 24px;
-    }
-  }
-  .ph {
-    background-color: #fff;
-    height: 240px;
-    padding: 12px 17px 12px 17px;
-    border-radius: 6px;
-    box-shadow: 0px 2px 6px 0px rgba(76, 80, 88, 0.16);
-    position: relative;
-    .ranking-sel {
-      position: absolute;
-      left: 130px;
-      top: 14px;
-    }
-    h4 {
-      display: inline-block;
-      width: 120px;
-    }
-    .ph-num-text {
-      font-size: 16px;
-      font-weight: 600;
-      color: #24365c;
-      margin: -8px 0 0 10px;
-    }
-  }
-  .ph-radio-group {
-    font-size: 14px;
-    cursor: pointer;
-  }
-  .radio-line {
-    color: #ddd;
-    padding: 0 5px;
-  }
-  .ph-btn:hover {
-    color: #1c8fef;
-  }
-  .ph-on {
-    color: #1c8fef;
-  }
-  .ph-head {
-    padding-bottom: 10px;
-  }
-  .ph-label {
-    font-size: 14px;
-  }
-  .ph_title {
-    font-weight: 700;
-    font-size: 16px;
-    color: #1b2d54;
-  }
-  .ph_tip {
-    color: #848890;
-    font-size: 12px;
-    padding-top: 4px;
-  }
-  .no-data {
-    text-align: center;
-    padding-top: 100px;
-    /*padding-top: 20px;*/
-  }
-  .no-data img {
-    width: 120px;
-    padding-bottom: 10px;
-  }
-  .ranking-tr {
-    line-height: 44px;
-  }
-  .ranking-sort {
-    display: inline-block;
-    width: 20px;
-    height: 20px;
-    line-height: 20px;
-    border-radius: 100%;
-    text-align: center;
-  }
-  .ranking-sort-o {
-    color: #f788a3;
-    font-size: 12px;
-    background: #faeceb;
-  }
-  .ranking-sort-t {
-    color: #fabb79;
-    font-size: 12px;
-    background: #fff6e3;
-  }
-  .ranking-sort-three {
-    color: #4ec1cd;
-    font-size: 12px;
-    background: #e0f9f1;
-  }
-  .el-progress {
-    width: 60%;
-  }
-  .mark {
-    color: #c0c5cf;
-    margin-top: 3px;
-  }
-  .money {
-    font-weight: 500;
-    font-size: 20px;
-  }
+	.money {
+		font-weight: 500;
+		font-size: 20px;
+	}
 </style>

+ 131 - 0
src/views/info/infoArticleList.vue

@@ -0,0 +1,131 @@
+<template>
+	<ContainerQuery>
+		<div v-if="$accessCheck($Access.CommissionRuleAddCommissionRule)" slot="left">
+			<el-button size="small" type="primary" @click="$router.push('/Shareholders/RuleCommission')">
+				新增股东
+			</el-button>
+		</div>
+		<div slot="more">
+			<el-form size="small" :inline="true">
+				<el-form-item>
+					<el-date-picker v-model="time" clearable type="date" end-placeholder="添加日期" @change="changeTime">
+					</el-date-picker>
+				</el-form-item>
+			</el-form>
+		</div>
+		<el-table :data="rule_list">
+			<el-table-column prop="name" label="股东名称" show-overflow-tooltip min-width="155"></el-table-column>
+			<el-table-column prop="number" label="联系方式" show-overflow-tooltip min-width="155"></el-table-column>
+			<el-table-column prop="dends" label="分红股份" min-width="140"></el-table-column>
+			<el-table-column prop="shares" label="原始股份" min-width="140"></el-table-column>
+			<el-table-column prop="createTime" label="添加时间" min-width="140"></el-table-column>
+			<el-table-column prop="name" label="操作" min-width="120">
+				<template slot-scope="scope">
+					<el-button v-if="$accessCheck($Access.CommissionRuleEditCommissionRule)" type="text" @click="
+              $router.push(
+                '/Shareholders/RuleCommissionEdit?id=' + scope.row.id
+              )
+            ">
+						修改
+					</el-button>
+					<el-button v-if="$accessCheck($Access.CommissionRuleDelCommissionRule)" type="text"
+						@click="delData(scope.row.id)">
+						删除
+					</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
+		<FooterPage :page-size="pageSize" :total-page.sync="total" :current-page.sync="page" @pageChange="pageChange"
+			@sizeChange="sizeChange"></FooterPage>
+	</ContainerQuery>
+</template>
+
+<script>
+	import {
+		Lst,
+	} from "@/api/Holders";
+	import {
+		enableRewardRule,
+		getAllRewardRule,
+		deleteRewardRule,
+	} from "@/api/Reward";
+	export default {
+		name: "RewardList",
+		data() {
+			return {
+				rule_list: [],
+				time: '',
+				search_form: {
+					start: "",
+				},
+				total: 0,
+				page: 1,
+				pageSize: 10,
+			};
+		},
+		created() {
+			this.Lst();
+		},
+		activated() {
+			if (this.$_isInit()) return;
+			this.Lst();
+		},
+		methods: {
+			//  订单时间
+			changeTime(val) {
+				if (val && val.length) {
+					this.search_form.start = val[0] / 1000;
+				} else {
+					this.search_form.start = "";
+				}
+				this.pageChange(1);
+			},
+			pageChange(page) {
+				this.page = page;
+				this.Lst();
+			},
+			// 每页数据大小改变
+			sizeChange(val) {
+				this.pageSize = val;
+				this.pageChange(1);
+			},
+			editData(index) {},
+			async Lst() {
+				const {
+					data,
+					pageTotal
+				} = await Lst({
+					page: this.page,
+					pageSize: this.pageSize,
+					createTime: this.search_form.start,
+				});
+				this.rule_list = data.map((item) => {
+					const staffName = data.map((item) => item.staffName);
+					return {
+						...item,
+						staffName: staffName.length ? staffName.join(",") : "",
+					};
+				});
+				this.total = pageTotal;
+			},
+			// 删除
+			async delData(id) {
+				this.$confirm("是否要将该提成规则删除?", "提示", {
+					confirmButtonText: "确定",
+					cancelButtonText: "取消",
+					type: "warning",
+				}).then(async () => {
+					const data = await deleteRewardRule(id);
+
+					this.$message({
+						type: "success",
+						message: "操作成功!",
+					});
+					this.getAllRewardRule();
+				});
+			},
+		},
+	};
+</script>
+
+<style scoped></style>

+ 131 - 0
src/views/info/infoHomeList.vue

@@ -0,0 +1,131 @@
+<template>
+	<ContainerQuery>
+		<div v-if="$accessCheck($Access.CommissionRuleAddCommissionRule)" slot="left">
+			<el-button size="small" type="primary" @click="$router.push('/Shareholders/RuleCommission')">
+				新增股东
+			</el-button>
+		</div>
+		<div slot="more">
+			<el-form size="small" :inline="true">
+				<el-form-item>
+					<el-date-picker v-model="time" clearable type="date" end-placeholder="添加日期" @change="changeTime">
+					</el-date-picker>
+				</el-form-item>
+			</el-form>
+		</div>
+		<el-table :data="rule_list">
+			<el-table-column prop="name" label="股东名称" show-overflow-tooltip min-width="155"></el-table-column>
+			<el-table-column prop="number" label="联系方式" show-overflow-tooltip min-width="155"></el-table-column>
+			<el-table-column prop="dends" label="分红股份" min-width="140"></el-table-column>
+			<el-table-column prop="shares" label="原始股份" min-width="140"></el-table-column>
+			<el-table-column prop="createTime" label="添加时间" min-width="140"></el-table-column>
+			<el-table-column prop="name" label="操作" min-width="120">
+				<template slot-scope="scope">
+					<el-button v-if="$accessCheck($Access.CommissionRuleEditCommissionRule)" type="text" @click="
+              $router.push(
+                '/Shareholders/RuleCommissionEdit?id=' + scope.row.id
+              )
+            ">
+						修改
+					</el-button>
+					<el-button v-if="$accessCheck($Access.CommissionRuleDelCommissionRule)" type="text"
+						@click="delData(scope.row.id)">
+						删除
+					</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
+		<FooterPage :page-size="pageSize" :total-page.sync="total" :current-page.sync="page" @pageChange="pageChange"
+			@sizeChange="sizeChange"></FooterPage>
+	</ContainerQuery>
+</template>
+
+<script>
+	import {
+		Lst,
+	} from "@/api/Holders";
+	import {
+		enableRewardRule,
+		getAllRewardRule,
+		deleteRewardRule,
+	} from "@/api/Reward";
+	export default {
+		name: "RewardList",
+		data() {
+			return {
+				rule_list: [],
+				time: '',
+				search_form: {
+					start: "",
+				},
+				total: 0,
+				page: 1,
+				pageSize: 10,
+			};
+		},
+		created() {
+			this.Lst();
+		},
+		activated() {
+			if (this.$_isInit()) return;
+			this.Lst();
+		},
+		methods: {
+			//  订单时间
+			changeTime(val) {
+				if (val && val.length) {
+					this.search_form.start = val[0] / 1000;
+				} else {
+					this.search_form.start = "";
+				}
+				this.pageChange(1);
+			},
+			pageChange(page) {
+				this.page = page;
+				this.Lst();
+			},
+			// 每页数据大小改变
+			sizeChange(val) {
+				this.pageSize = val;
+				this.pageChange(1);
+			},
+			editData(index) {},
+			async Lst() {
+				const {
+					data,
+					pageTotal
+				} = await Lst({
+					page: this.page,
+					pageSize: this.pageSize,
+					createTime: this.search_form.start,
+				});
+				this.rule_list = data.map((item) => {
+					const staffName = data.map((item) => item.staffName);
+					return {
+						...item,
+						staffName: staffName.length ? staffName.join(",") : "",
+					};
+				});
+				this.total = pageTotal;
+			},
+			// 删除
+			async delData(id) {
+				this.$confirm("是否要将该提成规则删除?", "提示", {
+					confirmButtonText: "确定",
+					cancelButtonText: "取消",
+					type: "warning",
+				}).then(async () => {
+					const data = await deleteRewardRule(id);
+
+					this.$message({
+						type: "success",
+						message: "操作成功!",
+					});
+					this.getAllRewardRule();
+				});
+			},
+		},
+	};
+</script>
+
+<style scoped></style>

+ 2 - 0
src/views/login/components/login.vue

@@ -89,6 +89,7 @@
       };
     },
     mounted() {
+			console.log('denglu ')
       document.body.addEventListener("keydown", this.keyLogin);
     },
     destroyed() {
@@ -192,6 +193,7 @@
         await this.$store.dispatch("user/getUserInfo", row.roleType);
 
         if (!this.$route.params.isCashier) {
+			console.log('账号权限',row.scope);
           if (row.scope === 4) {
             // 单店铺请求账号权限
             await this.getAclList(row.roleType);

+ 2 - 1
vue.config.js

@@ -188,7 +188,8 @@ module.exports = {
 		}
 	},
 	runtimeCompiler: true,
-	productionSourceMap: false,
+	// 是否开启映射
+	productionSourceMap:process.env.NODE_ENV === "production"? true:false,
 	css: {
 		requireModuleExtension: true,
 		sourceMap: true,