hwq 2 jaren geleden
bovenliggende
commit
d47d19b8e5
36 gewijzigde bestanden met toevoegingen van 2501 en 934 verwijderingen
  1. 1 0
      .eslintrc.js
  2. 39 0
      .github/workflows/main.yml
  3. 10 10
      README.md
  4. 61 61
      package.json
  5. 4 4
      public/index.html
  6. 28 0
      src/api/Holders.js
  7. 1 0
      src/api/System.js
  8. 11 11
      src/config/settings.js
  9. 59 0
      src/router/index.js
  10. 10 44
      src/vab/components/GalleryBar/menus.js
  11. 1 1
      src/vab/plugins/errorLog.js
  12. 1 1
      src/vab/plugins/support.js
  13. 4 1
      src/vab/styles/spinner/iconfont.css
  14. 8 0
      src/views/Application/Application.vue
  15. 1 1
      src/views/BillTemplate/EditTemplate.vue
  16. 2 2
      src/views/BillTemplate/TemplateList.vue
  17. 3 1
      src/views/CashierShop/CashierShop.vue
  18. 3 0
      src/views/CashierShop/component/Goods.vue
  19. 6 6
      src/views/CashierShop/component/Vip.vue
  20. 14 17
      src/views/Enterprise/CreateStore.vue
  21. 28 0
      src/views/Enterprise/index.vue
  22. 3 3
      src/views/ExpireTip.vue
  23. 6 6
      src/views/Merchants/MerchantsListSet.vue
  24. 143 0
      src/views/Shareholders/CommissionList.vue
  25. 174 0
      src/views/Shareholders/CommissionRule.vue
  26. 142 0
      src/views/Shareholders/CommissionStatistic.vue
  27. 665 0
      src/views/Shareholders/EditTemplate.vue
  28. 160 0
      src/views/Shareholders/RuleCommission.vue
  29. 1 1
      src/views/ShoppingMall/AppDesign/PDComponents/Components.js
  30. 1 1
      src/views/ShoppingMall/AppDesign/PDComponents/ComponentsStore.js
  31. 1 1
      src/views/ShoppingMall/WxCode/TemplateSet.vue
  32. 1 1
      src/views/ShoppingMall/WxCode/WxCodeSet.vue
  33. 1 1
      src/views/login/MerchantsLogin.vue
  34. 1 0
      src/views/login/components/login.vue
  35. 4 4
      src/views/login/index.vue
  36. 903 756
      yarn.lock

+ 1 - 0
.eslintrc.js

@@ -5,6 +5,7 @@ module.exports = {
   },
   extends: ["plugin:vue/recommended", "@vue/prettier"],
   rules: {
+    "prettier/prettier": "off",
     "no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
     "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
     "vue/no-v-html": "off",

+ 39 - 0
.github/workflows/main.yml

@@ -0,0 +1,39 @@
+name: CI
+
+on:
+  push:
+    branches: [ master ]
+
+jobs:
+  Build:
+    name: Build
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout Source
+        uses: actions/checkout@v2
+        with:
+          fetch-depth: 1
+      - name: Setup Node.js environment
+        uses: actions/setup-node@v1
+        with:
+          node-version: "12"
+      - name: Save & Restore Npm Package Cache
+        uses: actions/cache@v2
+        with:
+          path: ~/.npm
+          key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }}
+          restore-keys: |
+            ${{ runner.os }}-node-
+      - name: Install Dependencies
+        run: npm install
+      - name: Build
+        run: npm run build
+      - name: Deploy
+        run: |
+          cd dist
+          git init
+          git config user.name "${{ secrets.GIT_USER_NAME }}"
+          git config user.email "${{ secrets.GIT_USER_EMAIL }}"
+          git add .
+          git commit -m "deploy"
+          git push -f -q "https://${{ secrets.ACCESS_TOKEN }}@github.com/vue-admin-beautiful/vue-admin-beautiful-pro.git" master:gh-pages

+ 10 - 10
README.md

@@ -1,16 +1,16 @@
-<h1> 千鸟云商SAAS平台 </h1>
+<h1> 六牛科技SAAS平台 </h1>
 
 | 分支名                                                                                                   | 是否精简 commit | 是否精简功能 | 是否支持 i18n | 更新时间 |                                                                                                  维护人                                                                                                   |
 | -------------------------------------------------------------------------------------------------------- | :-------------: | :----------: | :-----------: | :------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
-| [master](git@gitee.com:qianniaoyunshang/jindouyunNewFront.git)                                |       ❌        |      ❌      |       ✔       |   即时   | 千鸟云商前端小组 |
-| [dev](git@gitee.com:qianniaoyunshang/jindouyunNewFront.git)    开发分支                            |       ❌        |      ❌      |       ✔       |   即时   | 千鸟云商前端小组 |
-| [feilong]濮阳代理 飞龙                           |       ❌        |      ❌      |       ✔       |   即时   | 千鸟云商前端小组 |
-| [handan]河北邯郸客户                            |       ❌        |      ❌      |       ✔       |   即时   | 千鸟云商前端小组 |
-| [xinhongtai]河南郑州 鑫弘泰                            |       ❌        |      ❌      |       ✔       |   即时   | 千鸟云商前端小组 |
-| [jituyunshang]极兔云商(代理商)                           |       ❌        |      ❌      |       ✔       |   即时   | 千鸟云商前端小组 |
-| [QPL]趣批零(代理商)                             |       ❌        |      ❌      |       ✔       |   即时   | 千鸟云商前端小组 |
-| [xhjc]鲜汇精彩(客户:刘明灯)                             |       ❌        |      ❌      |       ✔       |   即时   | 千鸟云商前端小组 |
-| [jinluruipu]锦鹿瑞普                           |       ❌        |      ❌      |       ✔       |   即时   | 千鸟云商前端小组 |
+| [master](git@gitee.com:qianniaoyunshang/jindouyunNewFront.git)                                |       ❌        |      ❌      |       ✔       |   即时   | 六牛科技前端小组 |
+| [dev](git@gitee.com:qianniaoyunshang/jindouyunNewFront.git)    开发分支                            |       ❌        |      ❌      |       ✔       |   即时   | 六牛科技前端小组 |
+| [feilong]濮阳代理 飞龙                           |       ❌        |      ❌      |       ✔       |   即时   | 六牛科技前端小组 |
+| [handan]河北邯郸客户                            |       ❌        |      ❌      |       ✔       |   即时   | 六牛科技前端小组 |
+| [xinhongtai]河南郑州 鑫弘泰                            |       ❌        |      ❌      |       ✔       |   即时   | 六牛科技前端小组 |
+| [jituyunshang]极兔云商(代理商)                           |       ❌        |      ❌      |       ✔       |   即时   | 六牛科技前端小组 |
+| [QPL]趣批零(代理商)                             |       ❌        |      ❌      |       ✔       |   即时   | 六牛科技前端小组 |
+| [xhjc]鲜汇精彩(客户:刘明灯)                             |       ❌        |      ❌      |       ✔       |   即时   | 六牛科技前端小组 |
+| [jinluruipu]锦鹿瑞普                           |       ❌        |      ❌      |       ✔       |   即时   | 六牛科技前端小组 |
 
 ```bash
 # 克隆项目

+ 61 - 61
package.json

@@ -12,7 +12,7 @@
     "serve": "vue-cli-service serve",
     "build": "vue-cli-service build",
     "build:report": "vue-cli-service build --report",
-    "lint": "vue-cli-service lint",
+    "lint": "eslint --fix --ext .js,.vue src",
     "lint:style": "stylelint-config-prettier-check",
     "inspect": "vue-cli-service inspect",
     "template": "plop",
@@ -39,69 +39,69 @@
     ]
   },
   "dependencies": {
-    "ali-oss": "^6.13.2",
-    "awe-dnd": "^0.3.4",
-    "axios": "^0.21.1",
-    "clipboard": "^2.0.6",
-    "core-js": "^3.6.5",
-    "dayjs": "^1.8.36",
-    "echarts": "^4.9.0",
-    "element-ui": "^2.13.2",
-    "file-saver": "^2.0.2",
-    "js-cookie": "^2.2.1",
-    "jsencrypt": "^3.0.0-rc.1",
-    "lodash": "^4.17.21",
-    "mockjs": "^1.1.0",
-    "nprogress": "^0.2.0",
-    "number-precision": "^1.5.0",
-    "qs": "^6.9.4",
-    "remixicon": "^2.5.0",
-    "screenfull": "^5.0.2",
-    "vue": "^2.6.12",
-    "vue-baidu-map": "^0.21.22",
-    "vue-echarts": "^4.1.0",
-    "vue-print-nb": "^1.5.0",
-    "vue-router": "^3.4.3",
-    "vuex": "^3.6.2",
-    "vxe-table": "^3.2.6",
-    "xe-utils": "^3.1.13",
-    "xlsx": "^0.16.9",
+    "ali-oss": "6.13.2",
+    "awe-dnd": "0.3.4",
+    "axios": "0.21.1",
+    "clipboard": "2.0.6",
+    "core-js": "3.6.5",
+    "dayjs": "1.8.36",
+    "echarts": "4.9.0",
+    "element-ui": "2.13.2",
+    "file-saver": "2.0.2",
+    "js-cookie": "2.2.1",
+    "jsencrypt": "3.0.0-rc.1",
+    "lodash": "4.17.21",
+    "mockjs": "1.1.0",
+    "nprogress": "0.2.0",
+    "number-precision": "1.5.0",
+    "qs": "6.9.4",
+    "remixicon": "2.5.0",
+    "screenfull": "5.0.2",
+    "vue": "2.6.12",
+    "vue-baidu-map": "0.21.22",
+    "vue-echarts": "4.1.0",
+    "vue-print-nb": "1.5.0",
+    "vue-router": "3.4.3",
+    "vuex": "3.6.2",
+    "vxe-table": "3.2.6",
+    "xe-utils": "3.1.13",
+    "xlsx": "0.16.9",
     "zx-contextmenu": "0.0.1",
-    "zx-count": "^0.3.7",
-    "zx-layouts": "^0.6.13",
-    "zx-magnifie": "^0.4.0",
-    "zx-markdown-editor": "^0.0.2",
-    "zx-player": "^1.0.1",
-    "zx-quill": "^0.0.2",
-    "zx-templates": "^0.0.21"
+    "zx-count": "0.3.7",
+    "zx-layouts": "0.6.13",
+    "zx-magnifie": "0.4.0",
+    "zx-markdown-editor": "0.0.2",
+    "zx-player": "1.0.1",
+    "zx-quill": "0.0.2",
+    "zx-templates": "0.0.21"
   },
   "devDependencies": {
-    "@vue/cli-plugin-babel": "^4.5.6",
-    "@vue/cli-plugin-eslint": "^4.5.6",
-    "@vue/cli-service": "^4.5.13",
-    "@vue/eslint-config-prettier": "^6.0.0",
-    "babel-eslint": "^10.1.0",
-    "babel-plugin-import": "^1.13.3",
-    "body-parser": "^1.19.0",
-    "chalk": "^4.1.0",
-    "chokidar": "^3.4.2",
-    "compression-webpack-plugin": "^6.0.2",
-    "eslint": "^7.9.0",
-    "eslint-plugin-prettier": "^3.1.4",
-    "eslint-plugin-vue": "^6.2.2",
-    "filemanager-webpack-plugin": "^2.0.5",
-    "lint-staged": "^10.4.0",
-    "plop": "^2.7.4",
-    "prettier": "^2.1.2",
-    "raw-loader": "^4.0.1",
-    "sass": "^1.26.11",
-    "sass-loader": "^10.0.2",
-    "stylelint": "^13.7.1",
-    "stylelint-config-prettier": "^8.0.2",
-    "stylelint-config-recess-order": "^2.1.0",
-    "svg-sprite-loader": "^5.0.0",
-    "vue-template-compiler": "^2.6.12",
-    "webpackbar": "^4.0.0"
+    "@vue/cli-plugin-babel": "4.5.6",
+    "@vue/cli-plugin-eslint": "4.5.6",
+    "@vue/cli-service": "4.5.13",
+    "@vue/eslint-config-prettier": "6.0.0",
+    "babel-eslint": "10.1.0",
+    "babel-plugin-import": "1.13.3",
+    "body-parser": "1.19.0",
+    "chalk": "4.1.0",
+    "chokidar": "3.4.2",
+    "compression-webpack-plugin": "6.0.2",
+    "eslint": "7.9.0",
+    "eslint-plugin-prettier": "3.1.4",
+    "eslint-plugin-vue": "6.2.2",
+    "filemanager-webpack-plugin": "2.0.5",
+    "lint-staged": "10.4.0",
+    "plop": "2.7.4",
+    "prettier": "2.1.2",
+    "raw-loader": "4.0.1",
+    "sass": "1.26.11",
+    "sass-loader": "10.0.2",
+    "stylelint": "13.7.1",
+    "stylelint-config-prettier": "8.0.2",
+    "stylelint-config-recess-order": "2.1.0",
+    "svg-sprite-loader": "5.0.0",
+    "vue-template-compiler": "2.6.12",
+    "webpackbar": "4.0.0"
   },
   "keywords": [
     "vue",

+ 4 - 4
public/index.html

@@ -7,11 +7,11 @@
     <link href="<%= BASE_URL %>favicon.ico" rel="icon" />
     <title><%= VUE_APP_TITLE %></title>
     <meta
-      content="千鸟云商,进销存,订货系统,新零售,小程序,APP商城,B2B2C,B2C,S2B,S2B2C,POS线下收银,B2B订货系统,三级分销系统,新零售系统,社区团购,电商定制开发"
+      content="六牛科技,进销存,订货系统,新零售,小程序,APP商城,B2B2C,B2C,S2B,S2B2C,POS线下收银,B2B订货系统,三级分销系统,新零售系统,社区团购,电商定制开发"
       name="keywords"
     />
     <meta
-      content="千鸟云商致力于传统企业向互联网转型,专注于为传统企业提供全渠道线上线下一体化新零售营销系统,帮助传统企业线上+线下+业务财务一体化的解决方案!提供产业互联网全套解决方案"
+      content="六牛科技致力于传统企业向互联网转型,专注于为传统企业提供全渠道线上线下一体化新零售营销系统,帮助传统企业线上+线下+业务财务一体化的解决方案!提供产业互联网全套解决方案"
       name="description"
     />
     <meta content="<%= VUE_APP_AUTHOR %>" name="author" />
@@ -20,7 +20,7 @@
   </head>
   <body>
     <noscript>
-      非常抱歉,您无法查看<%= VUE_APP_TITLE %>源代码
+      非常抱歉,您无法查看六牛科技源代码
     </noscript>
     <div id="vue-admin-beautiful-pro">
       <div class="first-loading-wrp">
@@ -37,7 +37,7 @@
     </div>
     <script>
       /^http(s*):\/\//.test(location.href) ||
-        alert("基于千鸟云商开发的项目需要部署到服务器下访问");
+        alert("基于六牛科技开发的项目需要部署到服务器下访问");
     </script>
 <!--    <script>-->
 <!--      var _hmt = _hmt || [];-->

+ 28 - 0
src/api/Holders.js

@@ -0,0 +1,28 @@
+import request from "@/utils/request";
+
+// 添加股东
+export function add(data) {
+  return request({
+    url: "/Holders/Holders/add",
+    method: "post",
+    data,
+  });
+}
+
+// 获取股东列表
+export function Lst(data) {
+  return request({
+    url: "/Holders/Holders/Lst",
+    method: "post",
+    data,
+  });
+}
+
+// 获取股东信息
+export function Getinfo(data) {
+  return request({
+    url: "/Holders/Holders/Getinfo",
+    method: "post",
+    data,
+  });
+}

+ 1 - 0
src/api/System.js

@@ -258,6 +258,7 @@ export function getWxStatus(data) {
     url: `/System/EnterpriseBindTemplate/getWxStatus`,
     method: "get",
     data,
+    
   });
 }
 // 企业使用模版启用/停用

+ 11 - 11
src/config/settings.js

@@ -1,21 +1,21 @@
 const apiUrl = {
   dev: {
-    INDEX_URL: "https://devapi.qianniao.vip", // 后端接口域名
+    INDEX_URL: "http://crm.frp.liuniu946.com", // 后端接口域名
     QINIU_UP: "https://upload-z2.qiniup.com", // 七牛上传域名
-    QINIU_URL: "http://image.qianniao.vip", // 七牛空间访问域名
+    QINIU_URL: "http://irfapnlkzl.hn-bkt.clouddn.com", // 七牛空间访问域名
     UPLOAD_URL: "https://upload.qianniao.vip/", // 项目上传域名
-    QINIU_KEY: "devdemo", // 七牛空间名称
+    QINIU_KEY: "panghuji", // 七牛空间名称
     SAASTAG: "qianniaoSAASdev", // webSocket前缀
-    wsServer: "wss://www.qianniao.vip:9501", // webSocket连结域名
+    wsServer: "wss://api.qianniao.com:9501", // webSocket连结域名
   },
   master: {
-    INDEX_URL: "https://api.qianniao.vip",
+    INDEX_URL: "http://crm.frp.liuniu946.com",
     QINIU_UP: "https://upload-z2.qiniup.com",
-    QINIU_URL: "https://onlineimg.qianniao.vip",
+    QINIU_URL: "http://rfapnlkzl.hn-bkt.clouddn.com",
     UPLOAD_URL: "https://upload.qianniao.vip/",
-    QINIU_KEY: "qianniaoonline",
+    QINIU_KEY: "panghuji",
     SAASTAG: "qianniaoSAAS",
-    wsServer: "wss://www.qianniao.vip:9501",
+    wsServer: "wss://api.qianniao.com:9501",
   },
 };
 const aliUpSetting = {
@@ -31,7 +31,7 @@ const aliUpSetting = {
 // const Url = process.env.NODE_ENV === "development" ? apiUrl.dev : apiUrl.master;
 const Url = apiUrl.master;
 module.exports = {
-  // 是否是千鸟云商标准系统
+  // 是否是六牛科技标准系统
   isQN: true,
   //默认的接口地址 如果是开发环境和生产环境走dev
   apiUrl: Url,
@@ -53,13 +53,13 @@ module.exports = {
   //进行编译的依赖
   transpileDependencies: ["vue-echarts", "resize-detector"],
   //标题 (包括初次加载雪花屏的标题 页面的标题 浏览器的标题)
-  title: "千鸟云商",
+  title: "六牛科技",
   //标题分隔符
   titleSeparator: " - ",
   //标题是否反转 如果为false:"page - title",如果为ture:"title - page"
   titleReverse: false,
   //简写
-  abbreviation: "千鸟云商",
+  abbreviation: "六牛科技",
   //语言类型zh、en
   i18n: "zh",
   //开发环境端口号

+ 59 - 0
src/router/index.js

@@ -3204,6 +3204,65 @@ export const asyncRoutes = [
       },
     ],
   },
+
+  // 股东分红
+  {
+    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,

+ 10 - 44
src/vab/components/GalleryBar/menus.js

@@ -622,6 +622,15 @@ const menusList = [
           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",
@@ -640,50 +649,7 @@ const menusList = [
             },
             fullPath: "/stock/OutIn/storage",
           },
-          // {
-          //   path: "/stock/OutIn/inventoryWarning ",
-          //   name: "inventoryWarning",
-          //   meta: {
-          //     title: "库存预警",
-          //   },
-          //   fullPath: "/stock/OutIn/inventoryWarning",
-          // },
-          // {
-          //   path: "/stock/WarehouseAdmin/query",
-          //   name: "Query",
-          //   meta: {
-          //     title: "库存查询",
-          //     access: nodes.query,
-          //   },
-          //   fullPath: "/stock/WarehouseAdmin/query",
-          // },
-          // {
-          //   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/WarehouseAdmin/ShelfLife",
-            name: "ShelfLife",
-            meta: {
-              title: "保质期查询",
-              access: nodes.GetBatch,
-            },
-            fullPath: "/stock/WarehouseAdmin/ShelfLife",
-          },
+          
         ],
       },
       {

+ 1 - 1
src/vab/plugins/errorLog.js

@@ -17,7 +17,7 @@ const checkNeed = () => {
 if (checkNeed()) {
   Vue.config.errorHandler = (err, vm, info) => {
     // eslint-disable-next-line no-console
-    console.error("千鸟云商错误拦截:", err, vm, info);
+    console.error("六牛科技错误拦截:", err, vm, info);
     const url = window.location.href;
     Vue.nextTick(() => {
       store.dispatch("errorLog/addErrorLog", { err, vm, info, url });

+ 1 - 1
src/vab/plugins/support.js

@@ -19,6 +19,6 @@ if (process.env.NODE_ENV !== "development") {
   document.writeln(
     '<script>console.log( " %c ' +
       title +
-      '  %c 基于千鸟云商构建 ", "color: #fadfa3; background: #030307; padding:5px 0;", "background: #fadfa3; padding:5px 0;" );</script>'
+      '  %c 基于六牛科技构建 ", "color: #fadfa3; background: #030307; padding:5px 0;", "background: #fadfa3; padding:5px 0;" );</script>'
   );
 }

+ 4 - 1
src/vab/styles/spinner/iconfont.css

@@ -204,6 +204,10 @@
   content: "\e644";
 }
 
+.icon-gd:before {
+  content: "\e613";
+}
+
 .icon-yincangmima:before {
   content: "\e617";
 }
@@ -455,4 +459,3 @@
 .icon-yingshou:before {
   content: "\e614";
 }
-

+ 8 - 0
src/views/Application/Application.vue

@@ -57,6 +57,14 @@
                 description: "单据模板打印",
                 path: "/BillTemplate/TemplateList",
               },
+              {
+                icon: "icon-gd",
+                color: "#ff0000",
+                label: "股东分红",
+                access: nodes.TemplateListgetAll,
+                description: "股东分红",
+                path: "/Shareholders/CommissionRule",
+              },
               {
                 icon: "icon-jine1",
                 color: "#fe6b58",

+ 1 - 1
src/views/BillTemplate/EditTemplate.vue

@@ -77,7 +77,7 @@
                 v-if="form_obj.basic.indexOf('receivedName') > -1"
                 style="display: inline-block; margin-right: 20px"
               >
-                {{ target_id === 6 ? "退货人" : "收货人" }}:千鸟云商联系人
+                {{ target_id === 6 ? "退货人" : "收货人" }}:六牛科技联系人
               </div>
               <div
                 v-if="form_obj.basic.indexOf('receivedMobile') > -1"

+ 2 - 2
src/views/BillTemplate/TemplateList.vue

@@ -81,11 +81,11 @@
           },
           {
             value: "选项2",
-            label: "千鸟云商店铺销售单",
+            label: "六牛科技店铺销售单",
           },
           {
             value: "选项3",
-            label: "千鸟云商店铺出库单",
+            label: "六牛科技店铺出库单",
           },
         ],
         value: "选项1",

+ 3 - 1
src/views/CashierShop/CashierShop.vue

@@ -1094,7 +1094,7 @@
         now_sel_shop: {}, // 当前选中店铺信息
         classify_list: [], // 分类列表
         goodsId: "",
-        userCenterId: "",
+        userCenterId:"",
         goodsBasicId: "",
         order_detail: {}, // 订单详情
         o_pageSize: 10,
@@ -1151,6 +1151,7 @@
       },
       vipInfo(vip_info) {
         this.vip_info = vip_info;
+        this.userCenterId=vip_info.userCenterId
       },
       activename(activeName) {
         this.activeName = activeName;
@@ -2150,6 +2151,7 @@
     overflow: auto;
   }
   .change-price .btn-group {
+    
     position: absolute;
     width: 100%;
     bottom: 0;

+ 3 - 0
src/views/CashierShop/component/Goods.vue

@@ -424,6 +424,7 @@
       },
       // 加入购物车
       async addCart() {
+           console.log()
         if (!this.now_sku_data.id) {
           this.$message.warning("请选择规格");
           return;
@@ -433,6 +434,7 @@
           return;
         }
         const data = await addCartCashier({
+
           goodsData: [
             {
               skuId: this.now_sku_data.id,
@@ -441,6 +443,7 @@
               shopId: this.shopId,
               source: "4",
               goodsBasicId: this.goodsBasicId,
+              warehouseId:this.shop_all.warehouseId
             },
           ],
           userCenterId: this.userCenterId,

+ 6 - 6
src/views/CashierShop/component/Vip.vue

@@ -206,9 +206,9 @@
             <el-form-item label="会员注册时间:">
               {{ $_common.formatDate(vip_info.createTime) }}
             </el-form-item>
-            <!--                        <el-form-item label="生日:">-->
-            <!--                          {{ vip_info.birthday?$_common.formatDate(vip_info.birthday*1000,'yyyy-MM-dd'):'&#45;&#45;' }}-->
-            <!--                        </el-form-item>-->
+               <el-form-item label="生日:">
+                {{ vip_info.birthday?$_common.formatDate(vip_info.birthday*1000,'yyyy-MM-dd'):'&#45;&#45;' }}
+                </el-form-item>
             <el-form-item
               v-if="vip_info.defaultAddress.area"
               label="默认收货地址:"
@@ -364,8 +364,8 @@
         const data = await searchCustomerDetails({
           mobile: this.input,
         });
-
-        if (JSON.stringify(data.data) === "{}") {
+        console.log(data.data.userCenterId,'用户id')
+        if (JSON.stringify(data) === "{}") {
           // this.$message.error('未查找到会员信息')
           this.vip_handle = false;
           this.vip_login = true;
@@ -379,7 +379,7 @@
           this.vip_login = true;
           this.vip_info = data.data;
           this.$emit("vipInfo", this.vip_info);
-          this.userCenterId = data.data.userCenterId;
+          this.userCenterId =data.data.userCenterId;
           this.customerId = data.data.customerId;
           this.customerName = data.data.name;
           this.customerType = data.data.customerType;

+ 14 - 17
src/views/Enterprise/CreateStore.vue

@@ -28,6 +28,14 @@
           style="width: 300px"
         ></el-input>
       </el-form-item>
+      <el-form-item v-if="!isEdit" label="到期时间:" prop="expireTime">
+        <el-date-picker
+          v-model="form.expireTime"
+          type="datetime"
+          style="width: 300px"
+          placeholder="选择日期时间"
+        ></el-date-picker>
+      </el-form-item>
       <el-form-item label="店铺类型:" prop="scope">
         <el-radio-group v-model="form.scope" :disabled="!!isEdit">
           <el-radio :label="4">单店铺</el-radio>
@@ -75,22 +83,6 @@
           style="width: 300px"
         ></el-input>
       </el-form-item>
-
-      <!--      <el-form-item label="企业类别:" prop="categoryId">-->
-      <!--        <el-select-->
-      <!--          v-model="form.categoryId"-->
-      <!--          placeholder="请选择企业类别"-->
-      <!--          @change="categoryChange"-->
-      <!--        >-->
-      <!--          <el-option-->
-      <!--            v-for="item in options"-->
-      <!--            :key="item.id"-->
-      <!--            :label="item.name"-->
-      <!--            :value="item.id"-->
-      <!--          ></el-option>-->
-      <!--        </el-select>-->
-      <!--      </el-form-item>-->
-
       <el-form-item>
         <el-button @click="cancel">取消</el-button>
         <el-button :loading="sub_loading" type="primary" @click="submitData">
@@ -154,6 +146,7 @@
           categoryId: "", //企业类别
           startTime: "",
           endTime: "",
+          expireTime:'',//到期时间
           logo: "",
         },
         rules: {
@@ -163,6 +156,9 @@
           enterpriseName: [
             { required: true, message: "请输入企业名称", trigger: "blur" },
           ],
+          expireTime: [
+            { required: true, message: "请选择到期时间", trigger: "blur" },
+          ],
           contact: [
             { required: true, message: "请输入联系人", trigger: "blur" },
           ],
@@ -195,6 +191,7 @@
     },
     async mounted() {
       if (this.enterpriseId || this.$route.params.id) {
+        console.log(this.enterpriseId,'00000000000');
         this.isEdit = !!(this.enterpriseId || this.$route.params.id);
         await this.getEnterpriseInfo();
       }
@@ -246,7 +243,7 @@
           cityCode: data.cityCode,
           districtCode: data.districtCode,
           address: data.address,
-          // categoryId: data.categoryId,
+          expireTime:new Date(parseInt(data.expireTime) * 1000),
           logo: data.logo,
         };
       },

+ 28 - 0
src/views/Enterprise/index.vue

@@ -59,12 +59,14 @@
             </div>
             <div v-if="item.expireStatus" class="tag-li warning-tag">到期</div>
             <div class="tag-li success-tag">正常</div>
+            <div  class="tag-li danger-tag" @click="dle(item)">删除</div>
           </div>
           <div class="clearfix bottom-div">
             <div class="time-p float_left">
               <img src="@/assets/img/ic-yxtime.png" class="ic-yxtime" alt="" />
               {{ $_common.formatDate(item.expireTime) }}
             </div>
+
             <div class="float_right btn-ul" @click="goEnterprise(item)">
               进入企业
             </div>
@@ -113,6 +115,7 @@
     createToken,
     getAclList,
     getStaffByToken,
+    deleteEnterprise,
   } from "@/api/user";
   import CreateStore from "./CreateStore.vue";
   import { recordRoute } from "@/config/settings";
@@ -147,6 +150,22 @@
       this.getAllEnterprise();
     },
     methods: {
+      async dle(e){
+        console.log(e,'0000000')
+        let that=this
+        let data=e
+        this.$confirm("确定要删除吗?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        }).then(() => {
+          deleteEnterprise({
+             data
+          }).then((res)=>{
+            location.reload()
+          })
+        });
+      },
       addModel() {
         sessionStorage.removeItem("enToken");
         this.enterpriseId = 0;
@@ -480,6 +499,15 @@
           border-color: #36b365;
           background: rgba(54, 179, 101, 0.16);
         }
+        &.danger-tag{
+          cursor: pointer;
+          color: #ffffff;
+          border-color: #ff0000;
+          background:#ff0000;
+        }
+
+
+
       }
     }
 

+ 3 - 3
src/views/ExpireTip.vue

@@ -20,10 +20,10 @@
               <p>
                 您购买的{{ enterprise_title }}服务, 已于{{
                   $_common.formatDate(nowExpireTime)
-                }}到期。 请尽快续费,以免影响您的正常使用!
+                }}到期。 请尽快联系客服续费续费,以免影响您的正常使用!
               </p>
               <p style="padding-top: 10px; color: #000000">
-                电话(同微信):15628938007
+                客服电话(同微信):*****
               </p>
             </div>
             <div class="bullshit-return-home" @click="backpage">
@@ -44,7 +44,7 @@
       return {
         jumpTime: 5,
         oops: "抱歉!",
-        headline: "千鸟云商服务已到期...",
+        headline: "六牛科技服务已到期...",
         info: "当前帐号没有操作权限,请联系管理员。",
         btn: "返回",
         timer: 0,

+ 6 - 6
src/views/Merchants/MerchantsListSet.vue

@@ -227,42 +227,42 @@
           {
             img: "../../assets/img/pageComponents/preview_head.png",
             name: "我的店铺",
-            shopSpec: "千鸟云商",
+            shopSpec: "六牛科技",
             region: "西安市未央区大明宫万达",
             shop_num: "223m",
           },
           {
             img: "../../assets/img/pageComponents/preview_head.png",
             name: "我的店铺",
-            shopSpec: "千鸟云商",
+            shopSpec: "六牛科技",
             region: "西安市未央区大明宫万达",
             shop_num: "223m",
           },
           {
             img: "../../assets/img/pageComponents/preview_head.png",
             name: "我的店铺",
-            shopSpec: "千鸟云商",
+            shopSpec: "六牛科技",
             region: "西安市未央区大明宫万达",
             shop_num: "223m",
           },
           {
             img: "../../assets/img/pageComponents/preview_head.png",
             name: "我的店铺",
-            shopSpec: "千鸟云商",
+            shopSpec: "六牛科技",
             region: "西安市未央区大明宫万达",
             shop_num: "223m",
           },
           {
             img: "../../assets/img/pageComponents/preview_head.png",
             name: "我的店铺",
-            shopSpec: "千鸟云商",
+            shopSpec: "六牛科技",
             region: "西安市未央区大明宫万达",
             shop_num: "223m",
           },
           {
             img: "../../assets/img/pageComponents/preview_head.png",
             name: "我的店铺",
-            shopSpec: "千鸟云商",
+            shopSpec: "六牛科技",
             region: "西安市未央区大明宫万达",
             shop_num: "223m",
           },

+ 143 - 0
src/views/Shareholders/CommissionList.vue

@@ -0,0 +1,143 @@
+<template>
+  <Container>
+    <div slot="left">
+      <el-form inline size="small">
+        <el-form-item>
+          <el-date-picker
+            v-model="value_time"
+            clearable
+            type="daterange"
+            value-format="timestamp"
+            range-separator="-"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            @change="changeTime"
+          ></el-date-picker>
+        </el-form-item>
+      </el-form>
+    </div>
+    <!--    表格-->
+    <div class="table">
+      <el-table :data="tableData" style="width: 100%" type="index">
+        <el-table-column prop="goods" label="奖励对象" width="180">
+          <template>
+            {{ staffName }}
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="originNo"
+          label="关联订单号"
+          width="180"
+        ></el-table-column>
+        <el-table-column prop="title" label="说明"></el-table-column>
+        <el-table-column prop="amount" label="奖金">
+          <template slot-scope="scope">
+            <span
+              :class="[
+                scope.row.type === 5 ? 'success-status' : 'danger-status',
+              ]"
+            >
+              {{ scope.row.type === 5 ? "+" : "-" }}{{ scope.row.amount }}
+            </span>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="changeAmount"
+          label="变动后奖金"
+        ></el-table-column>
+        <el-table-column prop="time" label="创建时间">
+          <template slot-scope="scope">
+            {{ $_common.formatDate(scope.row.createTime) }}
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <!--    分页查询-->
+    <FooterPage
+      :page-size="pageSize"
+      :total-page.sync="total"
+      :current-page.sync="page"
+      @pageChange="pageChange"
+      @sizeChange="sizeChange"
+    ></FooterPage>
+  </Container>
+</template>
+<script>
+  import { getAllStaffRewardDesc } from "@/api/Department";
+
+  export default {
+    data() {
+      return {
+        state: "状态",
+        total: 0,
+        page: 1,
+        pageSize: 10,
+        index: "",
+        value: "",
+        status: [
+          { value: "启用", lable: "选项一" },
+          { value: "禁用", lable: "选项二" },
+        ],
+        value_time: [],
+        tableData: [],
+        search_form: {
+          start: "",
+          end: "",
+          enableStatus: "",
+        },
+        staffId: "",
+        staffName: "",
+      };
+    },
+    created() {
+      if (this.$route.query.id) {
+        this.staffId = this.$route.query.id - 0;
+        this.staffName = this.$route.query.name;
+      }
+      this.getAllStaffRewardDesc();
+    },
+    activated() {
+      if (this.$_isInit()) return;
+      if (this.$route.query.id) {
+        this.staffId = this.$route.query.id - 0;
+        this.staffName = this.$route.query.name;
+      }
+      this.getAllStaffRewardDesc();
+    },
+    methods: {
+      //  订单时间
+      changeTime(val) {
+        if (val && val.length) {
+          this.search_form.start = val[0] / 1000;
+          this.search_form.end = val[1] / 1000 + 86399;
+        } else {
+          this.search_form.start = "";
+          this.search_form.end = "";
+        }
+        this.pageChange(1);
+      },
+      async getAllStaffRewardDesc() {
+        const { data, pageTotal } = await getAllStaffRewardDesc({
+          staffId: this.staffId,
+          source: "",
+          star: this.search_form.start,
+          end: this.search_form.end,
+          page: this.page,
+          pageSize: this.pageSize,
+        });
+        this.tableData = data;
+        this.total = pageTotal;
+      },
+      pageChange(page) {
+        this.page = page;
+        this.getAllStaffRewardDesc();
+      },
+      // 每页数据大小改变
+      sizeChange(val) {
+        this.pageSize = val;
+        this.pageChange(1);
+      },
+    },
+  };
+</script>
+<style></style>

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

@@ -0,0 +1,174 @@
+<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>

+ 142 - 0
src/views/Shareholders/CommissionStatistic.vue

@@ -0,0 +1,142 @@
+<template>
+  <Container>
+    <div>
+      <el-table :data="tableData" style="width: 100%">
+        <el-table-column prop="id" label="序号" width="180"></el-table-column>
+        <el-table-column
+          prop="staffName"
+          label="姓名"
+          width="180"
+        ></el-table-column>
+        <el-table-column prop="target" label="目标"></el-table-column>
+        <el-table-column prop="completed" label="已完成"></el-table-column>
+        <el-table-column prop="rewardOrder" label="订单奖金"></el-table-column>
+        <el-table-column prop="rewardGoods" label="商品奖金"></el-table-column>
+        <el-table-column prop="rewardOut" label="已经发放"></el-table-column>
+        <el-table-column prop="reward" label="未发放"></el-table-column>
+        <el-table-column fixed="right" label="操作" width="210">
+          <template slot-scope="scope">
+            <el-button
+              v-if="
+                $accessCheck(
+                  $Access.CommissionStatisticDetailCommissionStatistic
+                )
+              "
+              type="text"
+              size="small"
+              @click="
+                $router.push(
+                  `/saleCommission/CommissionList?id=${scope.row.id}&name=${scope.row.staffName}`
+                )
+              "
+            >
+              明细
+            </el-button>
+            <el-button
+              v-if="$accessCheck($Access.CommissionStatisticSetTarget)"
+              type="text"
+              size="small"
+              @click="handleClick(scope.row)"
+            >
+              设置目标
+            </el-button>
+            <el-button
+              v-if="$accessCheck($Access.CommissionStatisticAmountIssued)"
+              type="text"
+              size="small"
+              @click="moneyClick(scope.row)"
+            >
+              发放金额
+            </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <!--    分页查询-->
+    <FooterPage
+      :page-size="pageSize"
+      :total-page.sync="total"
+      :current-page.sync="page"
+      @pageChange="pageChange"
+      @sizeChange="sizeChange"
+    ></FooterPage>
+  </Container>
+</template>
+
+<script>
+  import { getAllStaff, updateStaffTargetAndReward } from "@/api/Department";
+  export default {
+    data() {
+      return {
+        total: 0,
+        page: 1,
+        pageSize: 10,
+        tableData: [],
+        departmentId: "",
+        search_key: "",
+      };
+    },
+    created() {
+      this.getAllStaff();
+    },
+    activated() {
+      if (this.$_isInit()) return;
+      this.getAllStaff();
+    },
+    methods: {
+      //  获取列表
+      async getAllStaff() {
+        const data = await getAllStaff({
+          page: this.page,
+          pageSize: this.page_size,
+          departmentId: this.departmentId,
+          keyword: this.search_key,
+        });
+
+        this.tableData = data.data;
+        this.total = data.pageTotal;
+      },
+      pageChange(page) {
+        this.page = page;
+        this.getAllStaff();
+      },
+      sizeChange(size) {
+        this.page_size = size;
+        this.pageChange(1);
+      },
+      // 设置目标
+      handleClick(item) {
+        this.$prompt("请输入金额", "设置目标", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+        }).then(({ value }) => {
+          this.updateStaffTargetAndReward(item.id, value, 0);
+        });
+      },
+      // 设置金额
+      moneyClick(item) {
+        this.$prompt("请输入金额", "发放金额", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+        }).then(({ value }) => {
+          this.updateStaffTargetAndReward(item.id, 0, value);
+        });
+      },
+      async updateStaffTargetAndReward(id, target, rewardGo) {
+        let params = {};
+        if (target) {
+          params.target = target;
+        }
+        if (rewardGo) {
+          params.rewardGo = rewardGo;
+        }
+
+        const { data } = await updateStaffTargetAndReward(id, params);
+        this.$message.success("设置成功");
+        this.getAllStaff();
+      },
+    },
+  };
+</script>
+
+<style scoped></style>

+ 665 - 0
src/views/Shareholders/EditTemplate.vue

@@ -0,0 +1,665 @@
+<template>
+  <ContainerTit>
+    <div slot="headr">
+      <el-button type="primary" style="margin-right: 20px" @click="saveTem">
+        保存
+      </el-button>
+    </div>
+    <div class="page-div">
+      <el-row class="tem-row" :gutter="20">
+        <el-col :span="14">
+          <div class="tem-img">
+            <div class="top_view" style="margin-right: 40px; margin-left: 20px">
+              <div class="time_view">
+                <p>2020-08-25 09:10 09</p>
+                <p v-if="form_obj.other.indexOf('printingNum') > -1">
+                  第1次打印
+                </p>
+              </div>
+              <div class="name_view">
+                <span v-if="form_obj.basic.indexOf('enterprise') > -1">
+                  {{ enterprise_title }}
+                </span>
+                {{ info_list.title }}
+              </div>
+              <div class="num_view">
+                <p style="font-weight: bold; padding-bottom: 3px">
+                  202010101010
+                </p>
+                <p>{{ enterprise_title }}提供技术支持</p>
+              </div>
+            </div>
+            <div
+              v-if="form_obj.basic.indexOf('printing') > -1"
+              class="print-tag"
+            >
+              <img :src="require('@/assets/img/print-tag.png')" alt="" />
+            </div>
+            <div class="infomation">
+              <el-row :gutter="20">
+                <el-col :span="7">
+                  <div v-if="form_obj.basic.indexOf('operatorName') > -1">
+                    制单人:肖肖
+                  </div>
+                </el-col>
+                <el-col :span="10">
+                  <div v-if="form_obj.basic.indexOf('orderNo') > -1">
+                    单据号:XSCK45202008240199885036
+                  </div>
+                </el-col>
+                <el-col :span="7">
+                  <div v-if="form_obj.basic.indexOf('createTime') > -1">
+                    制单日期:2020-08-22
+                  </div>
+                </el-col>
+              </el-row>
+            </div>
+            <div class="infomation">
+              <div
+                v-if="form_obj.basic.indexOf('customerName') > -1"
+                style="display: inline-block; margin-right: 20px"
+              >
+                客户姓名:肖肖
+              </div>
+              <div
+                v-if="form_obj.basic.indexOf('customerMobile') > -1"
+                style="display: inline-block; margin-right: 20px"
+              >
+                客户电话:18888888888
+              </div>
+              <div
+                v-if="form_obj.basic.indexOf('deliveryType') > -1"
+                style="display: inline-block; margin-right: 20px"
+              >
+                配送方式:上门自提
+              </div>
+              <div
+                v-if="form_obj.basic.indexOf('receivedName') > -1"
+                style="display: inline-block; margin-right: 20px"
+              >
+                {{ target_id === 6 ? "退货人" : "收货人" }}:六牛科技联系人
+              </div>
+              <div
+                v-if="form_obj.basic.indexOf('receivedMobile') > -1"
+                style="display: inline-block; margin-right: 20px"
+              >
+                {{ target_id === 6 ? "退货" : "收货" }}电话:18888888888
+              </div>
+              <div
+                v-if="
+                  target_id != 6 &&
+                  form_obj.basic.indexOf('customerAddress') > -1
+                "
+                style="display: inline-block; margin-right: 20px"
+              >
+                收货地址:陕西省西安市未央区大明宫万达广场
+              </div>
+              <p
+                v-if="form_obj.basic.indexOf('remark') > -1"
+                style="font-weight: 560"
+              >
+                {{ self_label }}:销售单
+              </p>
+            </div>
+
+            <div style="margin-left: 20px">
+              <div id="second">
+                <table
+                  border="1"
+                  style="width: 94%; margin-top: 10px"
+                  class="goods-table"
+                >
+                  <tr>
+                    <th v-for="(item, index) in tabelTd" :key="index">
+                      {{ item.fields }}
+                    </th>
+                  </tr>
+                  <tr v-for="(td, tdI) in tableData" :key="tdI">
+                    <template v-for="(item, index) in tabelTd">
+                      <td :key="index">
+                        <span v-if="item.alias !== 'images'">
+                          {{ td[item.alias] }}
+                        </span>
+                        <img
+                          v-else
+                          :src="td[item.alias]"
+                          style="width: 50px; height: 50px"
+                        />
+                      </td>
+                    </template>
+                  </tr>
+                  <tr>
+                    <td style="text-align: center">合计:</td>
+                    <template v-for="(item, index) in tabelTd">
+                      <td v-if="index > 0" :key="index">
+                        <span
+                          v-if="
+                            item.alias.indexOf('num') > -1 ||
+                            item.alias.indexOf('Num') > -1
+                          "
+                        >
+                          2.00
+                        </span>
+                        <span
+                          v-else-if="
+                            item.alias.indexOf('total') > -1 ||
+                            item.alias.indexOf('Total') > -1
+                          "
+                        >
+                          200
+                        </span>
+                        <span v-else>--</span>
+                      </td>
+                    </template>
+                  </tr>
+                  <tr>
+                    <td
+                      v-if="form_obj.other.indexOf('shopDescribe') > -1"
+                      :colspan="add_form.goods.length"
+                      style="text-align: left"
+                    >
+                      主营:进口食品,化妆品
+                    </td>
+                  </tr>
+                </table>
+              </div>
+            </div>
+            <div
+              v-if="target_id === 1"
+              style="font-weight: bold; margin: 10px 0 0 20px"
+            >
+              <span
+                v-if="form_obj.fiance.indexOf('accountName') > -1"
+                class="add_num"
+              >
+                收款账户:肖肖
+              </span>
+              <span
+                v-if="form_obj.fiance.indexOf('receivable') > -1"
+                class="add_num"
+              >
+                应收:90
+              </span>
+              <span
+                v-if="form_obj.fiance.indexOf('orderPreferential') > -1"
+                class="add_num"
+              >
+                优惠:10
+              </span>
+              <span
+                v-if="form_obj.fiance.indexOf('netReceipts') > -1"
+                class="add_num"
+              >
+                实收:90元
+              </span>
+              <span
+                v-if="form_obj.fiance.indexOf('currentShortage') > -1"
+                class="add_num"
+              >
+                本单欠:90元
+              </span>
+              <span
+                v-if="form_obj.fiance.indexOf('upOwe') > -1"
+                class="add_num"
+              >
+                上欠:90元
+              </span>
+              <span
+                v-if="form_obj.fiance.indexOf('totalDeficit') > -1"
+                class="add_num"
+              >
+                总欠:90元
+              </span>
+            </div>
+            <div class="infomation">
+              <el-row :gutter="20">
+                <el-col :span="7">
+                  <div v-if="form_obj.other.indexOf('shopName') > -1">
+                    商家名称:{{ enterprise_title }}
+                  </div>
+                </el-col>
+                <el-col :span="7">
+                  <div v-if="form_obj.other.indexOf('shopMobile') > -1">
+                    商家电话:18888888888
+                  </div>
+                </el-col>
+                <el-col :span="10">
+                  <div v-if="form_obj.other.indexOf('shopAddress') > -1">
+                    商家地址:陕西省西安市未央区大明宫万达广场
+                  </div>
+                </el-col>
+              </el-row>
+            </div>
+            <div class="sign clearfix">
+              <span
+                v-if="form_obj.other.indexOf('signature') > -1"
+                class="float_left"
+              >
+                {{ target_id === 3 ? "签字确认:" : "客户签字:" }}
+              </span>
+              <span class="float_right">经手人: {{ enterprise_title }}</span>
+            </div>
+            <div
+              v-if="
+                (info_list.describe && target_id === 1) ||
+                (info_list.describe && target_id === 5)
+              "
+              class="sign"
+              style="text-align: left"
+            >
+              <pre>{{ info_list.describe }}</pre>
+            </div>
+          </div>
+        </el-col>
+        <el-col :span="9" style="margin-left: 50px">
+          <div style="overflow-y: auto">
+            <el-form :model="info_list" size="small" label-width="100px">
+              <span class="info-tit">基本信息</span>
+              <el-form-item label="模板名称:">
+                <el-input
+                  v-model="info_list.title"
+                  placeholder="请输入内容"
+                  style="width: 200px"
+                ></el-input>
+              </el-form-item>
+              <el-form-item
+                v-if="target_id === 1 || target_id === 5"
+                label="打印说明:"
+              >
+                <el-input
+                  v-model="info_list.describe"
+                  type="textarea"
+                  placeholder="请输入内容"
+                  :rows="2"
+                ></el-input>
+              </el-form-item>
+            </el-form>
+            <span class="info-tit">模板信息</span>
+            <el-form size="small" label-width="100px">
+              <el-form-item
+                v-if="add_form.basic && add_form.basic.length > 0"
+                label="基本信息:"
+                prop="name"
+              >
+                <el-checkbox-group v-model="form_obj.basic">
+                  <div
+                    v-for="(item, index) in add_form.basic"
+                    :key="index"
+                    style="display: inline-block; padding-right: 30px"
+                  >
+                    <el-checkbox :label="item.alias">
+                      <span v-if="item.fields === '备注'">
+                        {{ item.selfLabel || item.fields }}
+                      </span>
+                      <span v-else>{{ item.fields }}</span>
+                    </el-checkbox>
+                    <div
+                      v-if="item.fields === '备注'"
+                      style="
+                        display: inline-block;
+                        padding-left: 5px;
+                        cursor: pointer;
+                      "
+                      @click="dialogVisible = true"
+                    >
+                      <i style="font-size: 14px" class="el-icon-edit"></i>
+                    </div>
+                  </div>
+                </el-checkbox-group>
+                <!--<div>
+                  <span class="font-label">字号:</span>
+                  <el-input-number
+                    v-model="value"
+                    size="small"
+                    :min="12"
+                  ></el-input-number>
+                </div>-->
+              </el-form-item>
+              <el-form-item
+                v-if="add_form.fiance && add_form.fiance.length > 0"
+                label="合计信息:"
+                prop="name"
+              >
+                <el-checkbox-group v-model="form_obj.fiance">
+                  <el-checkbox
+                    v-for="(item, index) in add_form.fiance"
+                    :key="index"
+                    :label="item.alias"
+                  >
+                    {{ item.fields }}
+                  </el-checkbox>
+                </el-checkbox-group>
+                <!--<div>
+                  <span class="font-label">字号:</span>
+                  <el-input-number
+                    v-model="value"
+                    size="small"
+                    :min="12"
+                  ></el-input-number>
+                </div>-->
+              </el-form-item>
+              <el-form-item
+                v-if="add_form.goods && add_form.goods.length > 0"
+                label="商品信息:"
+                prop="name"
+              >
+                <el-checkbox-group
+                  v-model="form_obj.goods"
+                  @change="tableChange"
+                >
+                  <el-checkbox
+                    v-for="(item, index) in add_form.goods"
+                    :key="index"
+                    :label="item.alias"
+                  >
+                    {{ item.fields }}
+                  </el-checkbox>
+                </el-checkbox-group>
+                <!--<div>
+                  <span class="font-label">字号:</span>
+                  <el-input-number
+                    v-model="value"
+                    size="small"
+                    :min="12"
+                  ></el-input-number>
+                </div>-->
+              </el-form-item>
+              <el-form-item
+                v-if="add_form.other && add_form.other.length > 0"
+                label="其他信息:"
+                prop="name"
+              >
+                <el-checkbox-group v-model="form_obj.other">
+                  <el-checkbox
+                    v-for="(item, index) in add_form.other"
+                    :key="index"
+                    :label="item.alias"
+                  >
+                    {{ item.fields }}
+                  </el-checkbox>
+                </el-checkbox-group>
+                <!-- <div>
+                  <span class="font-label">字号:</span>
+                  <el-input-number
+                    v-model="value"
+                    size="small"
+                    :min="12"
+                  ></el-input-number>
+                </div>-->
+              </el-form-item>
+            </el-form>
+          </div>
+        </el-col>
+      </el-row>
+    </div>
+    <el-dialog
+      :close-on-press-escape="false"
+      :close-on-click-modal="false"
+      title="名称修改"
+      :visible.sync="dialogVisible"
+      width="30%"
+    >
+      <span>
+        <el-input v-model="markName" placeholder="请输入新的名称"></el-input>
+      </span>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="enFields">确 定</el-button>
+      </span>
+    </el-dialog>
+  </ContainerTit>
+</template>
+
+<script>
+  import { saveReceiptTemplate, getInfoReceiptTemplate } from "@/api/System";
+  export default {
+    name: "EditTemplate",
+    data() {
+      return {
+        value: 14,
+        sortable: "",
+        dropCol: [],
+        info_list: {
+          describe: "",
+        },
+        markName: "",
+        self_label: "备注",
+        dialogVisible: false,
+        tableData: [
+          {
+            goodsId: 1,
+            images:
+              "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
+            goodsName: "男士衬衫",
+            barCode: 562969523266,
+            strageCode: "09-09-09",
+            purchase: 100,
+            unitName: "件",
+            unitPrice: 100,
+            totalPrice: 100,
+            originTotalPrice: 100,
+            buyNum: "1.00",
+            outNum: "1.00",
+            purchaseNum: "1.00",
+            WarehousingNum: "1.00",
+            specName: "白色L",
+            skuValue: "1箱*10盒",
+          },
+          {
+            goodsId: 1,
+            images:
+              "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
+            goodsName: "男士衬衫",
+            barCode: 562969523266,
+            strageCode: "09-09-09",
+            purchase: 100,
+            unitName: "件",
+            unitPrice: 100,
+            totalPrice: 100,
+            originTotalPrice: 100,
+            buyNum: "1.00",
+            outNum: "1.00",
+            specName: "白色L",
+            skuValue: "1箱*10盒",
+            purchaseNum: "1.00",
+            WarehousingNum: "1.00",
+          },
+        ],
+        add_form: {},
+        form_obj: {
+          basic: [],
+          fiance: [],
+          goods: [],
+          other: [],
+        },
+        tabelTd: [],
+        meal_id: "",
+        num: 6,
+        target_id: "",
+      };
+    },
+    mounted() {
+      // this.rowDrop()
+      this.meal_id = this.$route.params.id;
+      // this.columnDrop() // 表格拖拽事件
+      this.getInfoReceiptTemplate();
+    },
+    methods: {
+      tableChange(val) {
+        this.tabelTd = this.add_form.goods.filter(
+          (item) => val.indexOf(item.alias) > -1
+        );
+      },
+      enFields() {
+        const target = this.$_common.deepClone(this.add_form);
+        target.basic.forEach((item) => {
+          if (item.fields === "备注") {
+            item.selfLabel = this.markName;
+          }
+        });
+        this.add_form = target;
+        this.self_label = this.markName;
+        this.dialogVisible = false;
+      },
+      // 保存
+      async saveTem() {
+        let basic = [];
+        if (this.add_form.basic && this.add_form.basic.length) {
+          basic = this.add_form.basic.map((item) => {
+            return {
+              ...item,
+              isShow: this.form_obj.basic.indexOf(item.alias) > -1 ? 5 : 4,
+            };
+          });
+        }
+        let goods = [];
+        if (this.add_form.goods && this.add_form.goods.length) {
+          goods = this.add_form.goods.map((item) => {
+            return {
+              ...item,
+              isShow: this.form_obj.goods.indexOf(item.alias) > -1 ? 5 : 4,
+            };
+          });
+        }
+
+        let fiance = [];
+        if (this.add_form.fiance && this.add_form.fiance.length) {
+          fiance = this.add_form.fiance.map((item) => {
+            return {
+              ...item,
+              isShow: this.form_obj.fiance.indexOf(item.alias) > -1 ? 5 : 4,
+            };
+          });
+        }
+        let other = [];
+        if (this.add_form.other && this.add_form.other.length) {
+          other = this.add_form.other.map((item) => {
+            return {
+              ...item,
+              isShow: this.form_obj.other.indexOf(item.alias) > -1 ? 5 : 4,
+            };
+          });
+        }
+        const data = await saveReceiptTemplate({
+          id: this.meal_id,
+          title: this.info_list.title,
+          describe: this.info_list.describe,
+          fieldsData: {
+            templateName: this.info_list.title,
+            templateInfo: {
+              basic: basic,
+              goods: goods,
+              fiance: fiance,
+              other: other,
+            },
+          },
+        });
+
+        this.$message.success("操作成功");
+        this.getInfoReceiptTemplate();
+      },
+      // 详情
+      async getInfoReceiptTemplate() {
+        const { data } = await getInfoReceiptTemplate(this.meal_id);
+
+        if (JSON.stringify(data) === "{}") return;
+        this.target_id = data.receiptType;
+        this.info_list = data;
+        if (!this.info_list.describe) {
+          this.info_list.describe = `以上商品均已履行进货检查验收法定程序,索验票证齐全,商家特此声明。↵此联由批发单位直接用于批发台账资料留存。`;
+        } else {
+          this.info_list.describe = this.info_list.describe.replace(
+            /<br\/>/g,
+            "\n"
+          );
+        }
+        this.add_form = data.fieldsData.templateInfo;
+        this.form_obj.basic = this.add_form.basic
+          .filter((item) => item.isShow === 5)
+          .map((item) => item.alias);
+
+        if (this.add_form.fiance && this.add_form.fiance.length) {
+          this.form_obj.fiance = this.add_form.fiance
+            .filter((item) => item.isShow === 5)
+            .map((item) => item.alias);
+        }
+        //表格显示字段
+        this.tabelTd = this.add_form.goods.filter((item) => item.isShow === 5);
+        this.form_obj.goods = this.tabelTd.map((item) => item.alias);
+
+        this.add_form.basic.forEach((item) => {
+          if (item.fields === "备注") {
+            if (!item.selfLabel) {
+              item.selfLabel = "";
+            } else {
+              this.self_label = item.selfLabel;
+            }
+          }
+        });
+        this.form_obj.other = this.add_form.other
+          .filter((item) => item.isShow === 5)
+          .map((item) => item.alias);
+      },
+    },
+  };
+</script>
+
+<style scoped lang="scss">
+  .tem-img {
+    box-shadow: 0 3px 10px #dcdcdc;
+    width: 100%;
+    padding: 20px 0 20px 0;
+    font-size: 13px;
+    position: relative;
+    .print-tag {
+      position: absolute;
+      right: 190px;
+      top: 0;
+      img {
+        width: 120px;
+      }
+    }
+  }
+  .infomation {
+    margin: 6px 20px;
+  }
+  .sign {
+    margin: 10px 20px;
+  }
+  .add_num {
+    margin-right: 10px;
+  }
+  .goods-table th,
+  .goods-table td {
+    text-align: center;
+    line-height: 22px;
+  }
+  .info-tit {
+    font-size: 14px;
+    margin-bottom: 10px;
+    display: block;
+    font-weight: 600;
+  }
+  .top_view {
+    font-size: 12px;
+    position: relative;
+    height: 40px;
+  }
+  .time_view {
+    position: absolute;
+    left: 0;
+    top: 0;
+  }
+  .name_view {
+    text-align: center;
+    font-size: 22px;
+  }
+  .num_view {
+    position: absolute;
+    right: 0;
+    top: 0;
+  }
+  .font-label {
+    color: #6c6c6c;
+  }
+</style>

+ 160 - 0
src/views/Shareholders/RuleCommission.vue

@@ -0,0 +1,160 @@
+<template>
+  <ContainerTit>
+    <div slot="headr">
+      <el-button :loading="sub_load" type="primary" @click="submit">
+        提交保存
+      </el-button>
+    </div>
+    <div class="detail-tab-item">
+      <div class="detail-tab-title">添加股东</div>
+      <div class="detail-tab-main">
+        <el-form
+          ref="add_form"
+          label-position="right"
+          :model="add_form"
+          :rules="form_rules"
+          size="small"
+          label-width="100px"
+        >
+          <el-form-item label="股东名称" prop="name">
+            <el-input
+              v-model="add_form.name"
+              style="width: 300px"
+              size="small"
+              placeholder="股东名称"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="联系方式" prop="number">
+            <el-input
+              v-model="add_form.number"
+              style="width: 300px"
+              size="small"
+              placeholder="联系方式"
+            ></el-input>
+          </el-form-item>
+
+          <el-form-item label="联系地址" prop="address">
+            <el-input
+              v-model="add_form.address"
+              style="width: 300px"
+              size="small"
+              placeholder="联系地址"
+            ></el-input>
+          </el-form-item>
+
+          <el-form-item label="备注" prop="remk">
+            <el-input
+              v-model="add_form.remk"
+              style="width: 300px"
+              size="small"
+              placeholder="备注"
+            ></el-input>
+          </el-form-item>
+        </el-form>
+
+
+      </div>
+    </div>
+  </ContainerTit>
+</template>
+
+<script>
+  import {
+    add,
+    Getinfo,
+  } from "@/api/Holders";
+  export default {
+    name: "RuleCommission",
+    data() {
+      const staffValidate = (rule, value, callback) => {
+
+
+      };
+      return {
+        form_rules: {
+          name: [
+            { required: true, message: "请输入股东姓名", trigger: "blur" },
+          ],
+          number: [
+            { required: true, message: "请输入股东联系电话", trigger: "blur" },
+          ],
+          address: [
+            { required: true, message: "请输入股东联系地址", trigger: "blur" },
+          ],
+          staff: [
+            {
+              type: "array",
+              required: true,
+              validator: staffValidate,
+              trigger: "change",
+            },
+          ],
+        },
+        add_form: {
+          name: "",
+          number: '',
+          address: "",
+          remk: "",
+          id:0
+        },
+      };
+    },
+    created() {
+      if (this.$route.query.id) {
+        this.rule_id = this.$route.query.id;
+        this.Get();
+      }
+    },
+    activated() {
+      if (this.$_isInit()) return;
+      if (this.$route.query.id) {
+        this.rule_id = this.$route.query.id;
+        this.Get();
+      }
+    },
+    methods: {
+      // 获取详情
+      async Get() {
+        const { data } = await Getinfo({
+          id:this.rule_id
+        });
+        this.add_form = {
+          name: data. name,
+          number: data.number,
+          address: data.address,
+          remk: data.remk,
+          id: data.id,
+        };
+      },
+      async submit() {
+        this.$refs["add_form"].validate(async (valid) => {
+          if (valid) {
+              if (this.add_form.name=="") {
+                this.$message.warning("股东姓名不能为空");
+                return;
+              }
+              if (this.add_form.number=='') {
+                this.$message.warning("股东联系电话不能为空");
+                return;
+              }
+              if (this.add_form.address=='') {
+                this.$message.warning("股东联系地址不能为空");
+                return;
+              }
+            this.sub_load = true;
+            try {
+                const data = await add(this.add_form);
+              this.sub_load = false;
+              this.$message.success("提交成功");
+              this.$closeCurrentGoEdit("/Shareholders/CommissionRule");
+            } finally {
+              this.sub_load = false;
+            }
+          }
+        });
+      },
+    },
+  };
+</script>
+
+<style scoped></style>

+ 1 - 1
src/views/ShoppingMall/AppDesign/PDComponents/Components.js

@@ -106,7 +106,7 @@ export const componentsList = [
         icon: "icon-tupian",
         comName: "NavigationBar",
         modelData: {
-          name: "千鸟云商",
+          name: "六牛科技",
           topBgColor: "#ffffff",
           textColor: "#000000",
           pageBgColor: "#f7f8fa",

+ 1 - 1
src/views/ShoppingMall/AppDesign/PDComponents/ComponentsStore.js

@@ -109,7 +109,7 @@ export const componentsListStore = [
         icon: "icon-tupian",
         comName: "NavigationBar",
         modelData: {
-          name: "千鸟云商",
+          name: "六牛科技",
           topBgColor: "#ffffff",
           textColor: "#000000",
           pageBgColor: "#f7f8fa",

+ 1 - 1
src/views/ShoppingMall/WxCode/TemplateSet.vue

@@ -3,7 +3,7 @@
     <Container></Container>
     <div>
       <div v-if="parseInt(enterprise.enterpriseId) === 4" class="page-tip-div">
-        温馨提示:当前企业为千鸟云商演示企业,不允许操作小程序发布
+        温馨提示:当前企业为六牛科技演示企业,不允许操作小程序发布
       </div>
       <el-timeline>
         <el-timeline-item timestamp="步骤一" placement="top">

+ 1 - 1
src/views/ShoppingMall/WxCode/WxCodeSet.vue

@@ -21,7 +21,7 @@
             v-if="parseInt(enterprise.enterpriseId) === 4"
             class="page-tip-div"
           >
-            温馨提示:当前企业为千鸟云商演示企业,不允许操作小程序配置
+            温馨提示:当前企业为六牛科技演示企业,不允许操作小程序配置
           </div>
           <el-form-item prop="name" label="小程序名称:">
             <el-input

+ 1 - 1
src/views/login/MerchantsLogin.vue

@@ -30,7 +30,7 @@
               href="https://www.qianniaovip.com/pages/aboutus.html"
               target="_blank"
             >
-              关于千鸟云商
+              关于六牛科技
             </a>
           </span>
           <span class="LoginBottomBParticularsA">

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

@@ -147,6 +147,7 @@
           } else {
             // 后台登录
             // 进入企业
+            
             this.changeEnterpriseLength(data.enterprise.length);
             if (data.enterprise.length === 1) {
               await this.goEnterprise(data.enterprise[0]);

+ 4 - 4
src/views/login/index.vue

@@ -4,7 +4,7 @@
       <div class="loginLeft">
         <img
           src="@/assets/img/logo-21249f@2x.png"
-          alt="千鸟云商"
+          alt="六牛科技"
           class="logoimg"
         />
         <span class="loginWordLeft"></span>
@@ -58,12 +58,12 @@
         <el-popover placement="right" width="200" trigger="hover">
           <div slot="reference">
             <i class="iconfont icon-lianjie"></i>
-            扫码体验千鸟云商小程序
+            扫码体验六牛科技小程序
           </div>
           <img
             style="width: 150px; display: block; margin: 0 auto"
             src="@/assets/img/wxcode.jpg"
-            alt="千鸟云商小程序"
+            alt="六牛科技小程序"
           />
         </el-popover>
       </div>
@@ -79,7 +79,7 @@
               href="https://www.qianniaovip.com/pages/aboutus.html"
               target="_blank"
             >
-              关于千鸟云商
+              关于六牛科技
             </a>
           </span>
           <span class="LoginBottomBParticularsA">

File diff suppressed because it is too large
+ 903 - 756
yarn.lock


Some files were not shown because too many files changed in this diff