Browse Source

【模版目录】更新开源v5.2.2版本

evoxwht 2 năm trước cách đây
mục cha
commit
0217bcbf40
100 tập tin đã thay đổi với 925 bổ sung914 xóa
  1. 1 1
      template/admin/.env.dev
  2. 1 1
      template/admin/package.json
  3. 29 0
      template/admin/src/App.vue
  4. 1 1
      template/admin/src/components/customerInfo/index.vue
  5. 1 1
      template/admin/src/components/diyComponents/c_goods.vue
  6. 1 1
      template/admin/src/components/diyComponents/c_hot_word.vue
  7. 2 2
      template/admin/src/components/diyComponents/c_tab.vue
  8. 1 1
      template/admin/src/components/diyComponents/c_tab_bar.vue
  9. 3 2
      template/admin/src/components/goodsList/index.vue
  10. 6 6
      template/admin/src/components/linkaddress/index.vue
  11. 1 1
      template/admin/src/components/mobileConfigDiy/c_picture_cube.vue
  12. 1 1
      template/admin/src/components/mobileConfigDiy/pageTitle.vue
  13. 1 1
      template/admin/src/components/mobileConfigRightDiy/c_foot.vue
  14. 1 1
      template/admin/src/components/mobileConfigRightDiy/c_hot_imgs.vue
  15. 1 1
      template/admin/src/components/mobileConfigRightDiy/c_hot_word.vue
  16. 1 1
      template/admin/src/components/mobileConfigRightDiy/c_input_item.vue
  17. 1 1
      template/admin/src/components/mobileConfigRightDiy/c_input_number.vue
  18. 1 1
      template/admin/src/components/mobileConfigRightDiy/c_product.vue
  19. 2 2
      template/admin/src/components/mobileConfigRightDiy/c_set_up.vue
  20. 2 2
      template/admin/src/components/mobileConfigRightDiy/c_tab.vue
  21. 1 1
      template/admin/src/components/newsCategory/index.vue
  22. 1 1
      template/admin/src/components/sortList/index.vue
  23. 8 18
      template/admin/src/components/systemStore/index.vue
  24. 5 3
      template/admin/src/components/wangEditor/monaco.vue
  25. 1 1
      template/admin/src/layout/component/transverseAside.vue
  26. 1 1
      template/admin/src/layout/navMenu/horizontal.vue
  27. 1 1
      template/admin/src/layout/navMenu/vertical.vue
  28. 28 72
      template/admin/src/main.js
  29. 2 2
      template/admin/src/pages/app/wechat/newsCategory/save.vue
  30. 1 1
      template/admin/src/pages/cms/addArticle/index.vue
  31. 1 1
      template/admin/src/pages/cms/article/index.vue
  32. 10 16
      template/admin/src/pages/cms/articleCategory/index.vue
  33. 1 1
      template/admin/src/pages/division/agent/agreement.vue
  34. 1 1
      template/admin/src/pages/finance/billingRecords/index.vue
  35. 2 2
      template/admin/src/pages/finance/commission/index.vue
  36. 1 1
      template/admin/src/pages/finance/userExtract/index.vue
  37. 1 1
      template/admin/src/pages/index/components/baseInfo.vue
  38. 2 2
      template/admin/src/pages/kefu/appChat/index.vue
  39. 4 4
      template/admin/src/pages/kefu/appChat/mobile/index.vue
  40. 2 2
      template/admin/src/pages/kefu/components/words.vue
  41. 2 2
      template/admin/src/pages/kefu/index.vue
  42. 3 3
      template/admin/src/pages/kefu/mobile/index.vue
  43. 2 2
      template/admin/src/pages/kefu/mobile/user/userLabel.vue
  44. 0 1
      template/admin/src/pages/kefu/pc/components/baseHeader.vue
  45. 0 1
      template/admin/src/pages/kefu/pc/components/chatList.vue
  46. 1 1
      template/admin/src/pages/kefu/pc/components/rightMenu.vue
  47. 14 7
      template/admin/src/pages/kefu/pc/index.vue
  48. 1 1
      template/admin/src/pages/marketing/channelCode/channelCodeIndex.vue
  49. 6 3
      template/admin/src/pages/marketing/channelCode/createCode.vue
  50. 1 1
      template/admin/src/pages/marketing/lottery/create.vue
  51. 4 4
      template/admin/src/pages/marketing/recharge/index.vue
  52. 2 2
      template/admin/src/pages/marketing/sign/index.vue
  53. 1 1
      template/admin/src/pages/marketing/storeBargain/bargainList.vue
  54. 1 1
      template/admin/src/pages/marketing/storeBargain/create.vue
  55. 1 1
      template/admin/src/pages/marketing/storeCombination/create.vue
  56. 1 1
      template/admin/src/pages/marketing/storeIntegral/create.vue
  57. 6 6
      template/admin/src/pages/marketing/storeIntegralOrder/components/tableList.vue
  58. 1 1
      template/admin/src/pages/marketing/storePresell/presellList.vue
  59. 1 1
      template/admin/src/pages/marketing/storeSeckill/create.vue
  60. 1 1
      template/admin/src/pages/notify/smsConfig/tableList.vue
  61. 2 2
      template/admin/src/pages/order/invoice/index.vue
  62. 25 35
      template/admin/src/pages/order/orderList/components/tableFrom.vue
  63. 2 2
      template/admin/src/pages/order/orderList/components/tableList.vue
  64. 13 13
      template/admin/src/pages/order/orderList/handle/orderDetails.vue
  65. 17 17
      template/admin/src/pages/order/print/index.vue
  66. 19 17
      template/admin/src/pages/product/productAdd/index.vue
  67. 1 1
      template/admin/src/pages/product/productClassify/index.vue
  68. 1 1
      template/admin/src/pages/product/productList/components/goodsDetail.vue
  69. 3 3
      template/admin/src/pages/product/productList/index.vue
  70. 1 1
      template/admin/src/pages/product/productList/taoBao.vue
  71. 1 1
      template/admin/src/pages/setting/agreement/index.vue
  72. 3 3
      template/admin/src/pages/setting/cityDada/index.vue
  73. 4 4
      template/admin/src/pages/setting/devise/list.vue
  74. 3 2
      template/admin/src/pages/setting/devise/template.vue
  75. 5 5
      template/admin/src/pages/setting/devise/users.vue
  76. 1 1
      template/admin/src/pages/setting/devisePage/index.vue
  77. 1 1
      template/admin/src/pages/setting/setSystem/index.vue
  78. 5 15
      template/admin/src/pages/setting/storage/index.vue
  79. 7 4
      template/admin/src/pages/setting/storeService/index.vue
  80. 1 1
      template/admin/src/pages/setting/storeService/speechcraft.vue
  81. 3 3
      template/admin/src/pages/setting/themeStyle/index.vue
  82. 1 1
      template/admin/src/pages/setting/verifyOrder/index.vue
  83. 2 0
      template/admin/src/pages/statistic/order/index.vue
  84. 1 1
      template/admin/src/pages/statistic/product/components/goodsDetail.vue
  85. 1 1
      template/admin/src/pages/statistic/product/components/productRanking.vue
  86. 1 1
      template/admin/src/pages/statistic/user/components/userRegion.vue
  87. 2 2
      template/admin/src/pages/system/auth/index.vue
  88. 546 517
      template/admin/src/pages/system/backendRouting/index.vue
  89. 1 1
      template/admin/src/pages/system/codeGeneration/components/TableForm.vue
  90. 1 1
      template/admin/src/pages/system/codeGeneration/list.vue
  91. 1 1
      template/admin/src/pages/system/group/components/groupFrom.vue
  92. 2 2
      template/admin/src/pages/system/group/pc.vue
  93. 3 3
      template/admin/src/pages/system/group/visualization.vue
  94. 1 1
      template/admin/src/pages/system/maintain/systemFile/components/codemirror.vue
  95. 33 32
      template/admin/src/pages/system/maintain/systemFile/opendir.vue
  96. 1 1
      template/admin/src/pages/user/grade/agreement/index.vue
  97. 10 10
      template/admin/src/pages/user/list/handle/userDetails.vue
  98. 18 5
      template/admin/src/pages/user/list/index.vue
  99. 1 1
      template/admin/src/router/modules/system.js
  100. 0 0
      template/admin/src/styles/common.scss

+ 1 - 1
template/admin/.env.dev

@@ -5,4 +5,4 @@ VUE_APP_ENV='dev'
 VUE_APP_TITLE=CRMEB
 
 # 接口请求地址
-VUE_APP_API_URL=''
+VUE_APP_API_URL='http://192.168.31.239/adminapi'

+ 1 - 1
template/admin/package.json

@@ -2,7 +2,7 @@
   "name": "from-crmeb-admin",
   "version": "5.2.1",
   "author": "sugar1569<763569752@qq.com>",
-  "private": true,
+  "private": false,
   "scripts": {
     "serve": "vue-cli-service serve --open --mode=dev",
     "dev": "vue-cli-service serve --open --mode=dev",

+ 29 - 0
template/admin/src/App.vue

@@ -28,6 +28,35 @@ export default {
       isVersion: false,
     };
   },
+  watch: {
+    // 监听路由 控制侧边栏显示 标记当前顶栏菜单(如需要)
+    $route(to, from) {
+      const onRoutes = to.meta.activeMenu ? to.meta.activeMenu : to.meta.path;
+      this.$store.commit('menu/setActivePath', onRoutes);
+      if (to.name == 'crud_crud') {
+        this.$store.state.menus.oneLvRoutes.map((e) => {
+          if (e.path === to.path) {
+            to.meta.title = e.title;
+          }
+        });
+      }
+      if (
+        [
+          'product_productAdd',
+          'marketing_bargainCreate',
+          'marketing_storeSeckillCreate',
+          'marketing_storeIntegralCreate',
+        ].includes(to.name)
+      ) {
+        let route = to.matched[1].path.split(':')[0];
+        this.$store.state.menus.oneLvRoutes.map((e) => {
+          if (route.indexOf(e.path) != -1) {
+            to.meta.title = `${e.title} ${to.params.id ? 'ID:' + to.params.id : ''}`;
+          }
+        });
+      }
+    },
+  },
   methods: {
     ...mapMutations('media', ['setDevice']),
     handleWindowResize() {

+ 1 - 1
template/admin/src/components/customerInfo/index.vue

@@ -222,7 +222,7 @@ export default {
         width 100%
         height 100%
 .modelBox
-    ::v-deep
+    ::v-deep 
     .ivu-table-header
         width 100% !important
 .trees-coadd

+ 1 - 1
template/admin/src/components/diyComponents/c_goods.vue

@@ -145,7 +145,7 @@ export default {
 </script>
 
 <style scoped lang="stylus">
-.middleTop ::v-deep.ivu-modal-wrap .ivu-modal{
+.middleTop ::v-deep .ivu-modal-wrap .ivu-modal{
     top:50%!important;
     margin-top:-350px;
 }

+ 1 - 1
template/admin/src/components/diyComponents/c_hot_word.vue

@@ -119,7 +119,7 @@ export default {
         color: #D8D8D8;
       }
 
-      ::v-deep.ivu-input {
+      ::v-deep .ivu-input {
         flex: 1;
         height: 36px;
       }

+ 2 - 2
template/admin/src/components/diyComponents/c_tab.vue

@@ -64,7 +64,7 @@ export default {
 
 <style scoped lang="stylus">
 .radio-box
-    ::v-deep.ivu-radio-group-button
+    ::v-deep .ivu-radio-group-button
         display flex
         width 100%
         .ivu-radio-wrapper
@@ -73,7 +73,7 @@ export default {
             align-items center
             justify-content center
     &.on
-        ::v-deep.ivu-radio-group-button
+        ::v-deep .ivu-radio-group-button
             .ivu-radio-wrapper
                 flex 1
 .title-tips

+ 1 - 1
template/admin/src/components/diyComponents/c_tab_bar.vue

@@ -46,7 +46,7 @@
     </div>
     <div>
       <el-dialog
-        v-model="modalPic"
+        :visible.sync="modalPic"
         width="950px"
         scrollable
         footer-hide

+ 3 - 2
template/admin/src/components/goodsList/index.vue

@@ -262,9 +262,10 @@ export default {
         };
         images.push(imageObject);
       });
+
       this.images = images;
       this.diyVal = selection;
-      // this.$emit('getProductId', selection);
+      this.$emit('getProductDiy', selection);
     },
     // 商品分类;
     goodsCategory() {
@@ -414,7 +415,7 @@ export default {
 }
 
 .goodList {
-  ::v-deep table {
+  ::v-deeptable {
     width: 100% !important;
   }
 }

+ 6 - 6
template/admin/src/components/linkaddress/index.vue

@@ -824,16 +824,16 @@ export default {
 ::v-deep .el-tree-node__content {
   height: 30px;
 }
-::v-deep.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
+::v-deep .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
   background-color: var(--prev-bg-menu-hover-ba-color) !important;
   border-right: 2px solid var(--prev-color-primary);
 }
-::v-deep.ivu-tree-title-selected, ::v-deep.ivu-tree-title-selected:hover, ::v-deep.ivu-tree-title:hover {
+::v-deep .ivu-tree-title-selected, ::v-deep .ivu-tree-title-selected:hover, ::v-deep .ivu-tree-title:hover {
   background-color: unset;
   color: var(--prev-color-primary);
 }
 
-::v-deep.ivu-table-cell-tree {
+::v-deep .ivu-table-cell-tree {
   border: 0;
   font-size: 15px;
   background-color: unset;
@@ -842,11 +842,11 @@ export default {
   display: flex;
   align-items: center;
 }
-::v-deep.ivu-table-cell-tree .ivu-icon-ios-add:before {
+::v-deep .ivu-table-cell-tree .ivu-icon-ios-add:before {
   content: '\F11F';
 }
 
-::v-deep.ivu-table-cell-tree .ivu-icon-ios-remove:before {
+::v-deep .ivu-table-cell-tree .ivu-icon-ios-remove:before {
   content: '\F116';
 }
 
@@ -905,7 +905,7 @@ export default {
   }
 }
 .radioGroup {
-  ::v-deep.ivu-radio-wrapper {
+  ::v-deep .ivu-radio-wrapper {
     margin-right: 30px;
   }
 }

+ 1 - 1
template/admin/src/components/mobileConfigDiy/c_picture_cube.vue

@@ -95,7 +95,7 @@ export default {
 </script>
 
 <style scoped lang="stylus">
-::v-deep.ivu-radio-group-button.ivu-radio-group-large .ivu-radio-wrapper{
+::v-deep .ivu-radio-group-button.ivu-radio-group-large .ivu-radio-wrapper{
     width 52px!important
     margin-bottom 10px
     margin-right 9px!important

+ 1 - 1
template/admin/src/components/mobileConfigDiy/pageTitle.vue

@@ -157,7 +157,7 @@ export default {
   background: #ccc;
 }
 
-::v-deep.ivu-input {
+::v-deep .ivu-input {
   font-size: 13px !important;
 }
 

+ 1 - 1
template/admin/src/components/mobileConfigRightDiy/c_foot.vue

@@ -169,7 +169,7 @@ export default {
 </script>
 
 <style scoped lang="stylus">
- ::v-deep.ivu-input{
+ ::v-deep .ivu-input{
      font-size 13px!important;
   }
 .tips

+ 1 - 1
template/admin/src/components/mobileConfigRightDiy/c_hot_imgs.vue

@@ -186,7 +186,7 @@ export default {
 </script>
 
 <style scoped lang="stylus">
-::v-deep.ivu-input{
+::v-deep .ivu-input{
     font-size 13px!important;
 }
 .hot_imgs

+ 1 - 1
template/admin/src/components/mobileConfigRightDiy/c_hot_word.vue

@@ -118,7 +118,7 @@ export default {
                 justify-content center
                 width 36px
                 cursor move
-            ::v-deep.ivu-input
+            ::v-deep .ivu-input
                 flex 1
                 height 36px
                 font-size 13px!important

+ 1 - 1
template/admin/src/components/mobileConfigRightDiy/c_input_item.vue

@@ -71,7 +71,7 @@ export default {
 </script>
 
 <style scoped lang="stylus">
-::v-deep.ivu-input
+::v-deep .ivu-input
     font-size 13px!important
 .c_row-item
     margin-bottom 13px

+ 1 - 1
template/admin/src/components/mobileConfigRightDiy/c_input_number.vue

@@ -64,7 +64,7 @@ export default {
 <style scoped lang="stylus">
 .ivu-input-number
     width 100%
-::v-deep.ivu-input
+::v-deep .ivu-input
     font-size 13px!important
 .numbox
     display flex

+ 1 - 1
template/admin/src/components/mobileConfigRightDiy/c_product.vue

@@ -149,7 +149,7 @@ export default {
 </script>
 
 <style scoped lang="stylus">
-::v-deep.ivu-input
+::v-deep .ivu-input
     font-size 13px!important
 .c_product
     border-bottom 1px solid rgba(0,0,0,0.05);

+ 2 - 2
template/admin/src/components/mobileConfigRightDiy/c_set_up.vue

@@ -105,10 +105,10 @@ export default {
     transform: translateX(100%);
   }
 }
-.setUp ::v-deep.ivu-tabs-nav-scroll {
+.setUp ::v-deep .ivu-tabs-nav-scroll {
   padding: 0 30px;
 }
-.setUp ::v-deep.ivu-tabs-nav .ivu-tabs-tab {
+.setUp ::v-deep .ivu-tabs-nav .ivu-tabs-tab {
   padding: 8px 45px;
 }
 </style>

+ 2 - 2
template/admin/src/components/mobileConfigRightDiy/c_tab.vue

@@ -72,7 +72,7 @@ export default {
     border-left 1px solid #dcdee2
 }
 // .radio-box
-//     ::v-deep.ivu-radio-group-button
+//     ::v-deep .ivu-radio-group-button
 //         display flex
 //         width 100%
 //         flex-wrap: wrap
@@ -82,7 +82,7 @@ export default {
 //             align-items center
 //             justify-content center
 //     &.on
-//         ::v-deep.ivu-radio-group-button
+//         ::v-deep .ivu-radio-group-button
 //             .ivu-radio-wrapper
 //                 flex unset
 //                 width 67px

+ 1 - 1
template/admin/src/components/newsCategory/index.vue

@@ -390,7 +390,7 @@ export default {
   border: 1px solid #eee !important;
 }
 
-.news_pic ::v-deep.ivu-btn-error:hover {
+.news_pic ::v-deep .ivu-btn-error:hover {
   background: #FF5D5F !important;
   border: 1px solid #fff !important;
   color: #fff !important;

+ 1 - 1
template/admin/src/components/sortList/index.vue

@@ -165,6 +165,6 @@ export default {
     margin-top 20px
     float right
 .goodList
-    ::v-deep table
+    ::v-deeptable
         width 100% !important
 </style>

+ 8 - 18
template/admin/src/components/systemStore/index.vue

@@ -5,6 +5,7 @@
       :title="formItem.id ? '编辑提货点' : '添加提货点'"
       width="720px"
       @closed="cancel"
+      append-to-body
     >
       <div class="article-manager" v-loading="spinShow">
         <el-form
@@ -32,8 +33,8 @@
             </el-col>
             <el-col :span="24">
               <el-col v-bind="grid">
-                <el-form-item label="提货点手机号:" label-for="phone" prop="phone">
-                  <el-input v-model="formItem.phone" placeholder="请输入提货点手机号" />
+                <el-form-item label="提货点电话:" label-for="phone" prop="phone">
+                  <el-input v-model="formItem.phone" placeholder="请输入提货点电话:" />
                 </el-form-item>
               </el-col>
             </el-col>
@@ -42,7 +43,6 @@
                 <el-form-item label="提货点地址:" label-for="address" prop="address">
                   <el-cascader
                     :options="addresData"
-                    :value="formItem.address"
                     v-model="formItem.address"
                     @change="handleChange"
                     style="width: 100%"
@@ -137,7 +137,7 @@
           width="1024px"
           :title="modalTitle"
           :close-on-click-modal="false"
-          :z-index="888"
+          append-to-body
         >
           <uploadPictures
             :isChoice="isChoice"
@@ -147,22 +147,14 @@
             v-if="modalPic"
           ></uploadPictures>
         </el-dialog>
-
-        <el-dialog
-          :visible.sync="modalMap"
-          title="请选择地址"
-          :close-on-click-modal="false"
-          :z-index="1"
-          width="720px"
-          class="mapBox"
-        >
-          <iframe id="mapPage" width="100%" height="600px" frameborder="0" v-bind:src="keyUrl"></iframe>
-        </el-dialog>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button type="primary" long @click="handleSubmit('formItem')">{{ formItem.id ? '修改' : '提交' }}</el-button>
       </span>
     </el-dialog>
+    <el-dialog :visible.sync="modalMap" title="请选择地址" append-to-body :close-on-click-modal="false" width="720px" class="mapBox">
+      <iframe id="mapPage" width="100%" height="600px" frameborder="0" v-bind:src="keyUrl"></iframe>
+    </el-dialog>
   </div>
 </template>
 
@@ -178,9 +170,7 @@ export default {
   data() {
     const validatePhone = (rule, value, callback) => {
       if (!value) {
-        return callback(new Error('请填写手机号'));
-      } else if (!/^1[3456789]\d{9}$/.test(value)) {
-        callback(new Error('手机号格式不正确!'));
+        return callback(new Error('请填写电话号码'));
       } else {
         callback();
       }

+ 5 - 3
template/admin/src/components/wangEditor/monaco.vue

@@ -52,8 +52,10 @@ export default {
     },
   },
   beforeDestroy() {
-    this.monacoInstance.dispose();
-    this.monacoInstance = null;
+    if (this.monacoInstance) {
+      this.monacoInstance.dispose();
+      this.monacoInstance = null;
+    }
   },
 };
 </script>
@@ -66,7 +68,7 @@ export default {
 .text ::v-deep .ivu-input-wrapper {
   min-height: 600px;
 }
-.text ::v-deep textarea.ivu-input {
+.text ::v-deeptextarea.ivu-input {
   min-height: 600px;
 }
 .text {

+ 1 - 1
template/admin/src/layout/component/transverseAside.vue

@@ -230,7 +230,7 @@ export default {
     overflow-y: hidden !important;
     overflow-x: scroll !important;
   }
-  ::v-deep a {
+  ::v-deepa {
     width: 100%;
   }
   .el-menu.el-menu--horizontal {

+ 1 - 1
template/admin/src/layout/navMenu/horizontal.vue

@@ -143,7 +143,7 @@ export default {
   ::v-deep .el-scrollbar__wrap {
     overflow-y: hidden !important;
   }
-  ::v-deep a {
+  ::v-deepa {
     width: 100%;
   }
   .el-menu.el-menu--horizontal {

+ 1 - 1
template/admin/src/layout/navMenu/vertical.vue

@@ -89,7 +89,7 @@ export default {
   margin-right: 0 !important;
   margin-left: 5px;
 }
-// ::v-deep.el-submenu__title {
+// ::v-deep .el-submenu__title {
 //   display: flex;
 //   justify-content: center;
 //   align-items: center;

+ 28 - 72
template/admin/src/main.js

@@ -8,17 +8,13 @@
 // | Author: CRMEB Team <admin@crmeb.com>
 // +----------------------------------------------------------------------
 
-// The Vue build version to load with the `import` command
-// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
 import Vue from 'vue';
 import App from './App';
 import router from './router';
 import store from './store';
 Vue.prototype.bus = new Vue();
-import Router from 'vue-router';
 import Auth from '@/libs/wechat';
 import { i18n } from '@/i18n/index.js';
-
 import config from '@/config';
 import importDirective from '@/directive';
 import { directive as clickOutside } from 'v-click-outside-x';
@@ -28,16 +24,12 @@ import '@/assets/iconfont/iconfont.css';
 import '@/theme/index.scss';
 import Element from 'element-ui';
 import 'element-ui/lib/theme-chalk/index.css';
-import { globalComponentSize } from '@/utils/componentSize.js';
-
 import './assets/iconfontYI/iconfontYI.css';
 import './plugin/emoji-awesome/css/google.min.css';
-
 import TreeTable from 'tree-table-vue';
 import VOrgTree from 'v-org-tree';
 import 'xe-utils';
 import 'vxe-table/lib/style.css';
-
 import 'v-org-tree/dist/v-org-tree.css';
 import './styles/index.scss';
 import 'swiper/css/swiper.css';
@@ -45,10 +37,8 @@ import 'viewerjs/dist/viewer.css';
 import 'codemirror/lib/codemirror.css';
 import 'vxe-table/lib/index.css';
 import 'vue-happy-scroll/docs/happy-scroll.css';
-// swiper
-import VueAwesomeSwiper from 'vue-awesome-swiper';
-// 懒加载
-import VueLazyload from 'vue-lazyload';
+import VueAwesomeSwiper from 'vue-awesome-swiper'; // swiper
+import VueLazyload from 'vue-lazyload'; // 懒加载
 import VXETable, { t } from 'vxe-table';
 import Viewer from 'v-viewer';
 import VueDND from 'awe-dnd';
@@ -67,16 +57,12 @@ import * as tools from '@/libs/tools';
 import VueTreeList from 'vue-tree-list';
 import Pagination from '@/components/Pagination';
 import pagesHeader from '@/components/pagesHeader';
+import vuescroll from 'vuescroll'; // 移动端滚动插件
+import VueClipboard from 'vue-clipboard2'; // 复制到粘贴板插件
 
 // 全局组件挂载
 Vue.component('Pagination', Pagination);
 Vue.component('pagesHeader', pagesHeader);
-// 复制到粘贴板插件
-import VueClipboard from 'vue-clipboard2';
-
-VueClipboard.config.copyText = true;
-Vue.use(VueClipboard);
-Vue.use(VueTreeList);
 
 //日期
 import moment from 'moment';
@@ -85,28 +71,8 @@ moment.locale('zh-cn');
 
 // 全局过滤
 import * as filters from './filters'; // global filters modalTemplates
-
 import settings from '@/setting';
-
-Vue.prototype.$routeProStr = settings.routePre;
-
-window.Promise = Promise;
-Vue.prototype.$modalForm = modalForm;
-Vue.prototype.$modalSure = modalSure;
-Vue.prototype.$exportExcel = exportExcel;
-Vue.prototype.$videoCloud = videoCloud;
-Vue.prototype.$authLapse = authLapse;
-Vue.prototype.$wechat = Auth;
-Vue.prototype.$dialog = dialog;
-Vue.prototype.$timeOptions = timeOptions;
-Vue.prototype.$scroll = scroll;
-Vue.prototype.$validator = function (rule) {
-  return new schema(rule);
-};
-Vue.prototype.$tools = tools;
-
 const messages = ['success', 'warning', 'info', 'error'];
-
 messages.forEach((type) => {
   Element.Message[type] = (options) => {
     if (typeof options === 'string') {
@@ -121,6 +87,8 @@ messages.forEach((type) => {
     return Element.Message(options);
   };
 });
+
+VueClipboard.config.copyText = true; // 复制到粘贴板插件
 Vue.use(Element, { i18n: (key, value) => i18n.t(key, value), size: 'small' });
 Vue.use(formCreate);
 Vue.use(VueCodeMirror);
@@ -129,6 +97,7 @@ Vue.use(TreeTable);
 Vue.use(VOrgTree);
 Vue.use(VueAwesomeSwiper);
 Vue.use(VXETable);
+Vue.use(vuescroll);
 Vue.use(VueLazyload, {
   preLoad: 1.3,
   error: require('./assets/images/no.png'),
@@ -141,29 +110,45 @@ Vue.use(Viewer, {
     zIndex: 9999,
   },
 });
+Vue.use(VueClipboard);
+Vue.use(VueTreeList);
+
 /**
  * @description 注册admin内置插件
  */
 installPlugin(Vue);
+
 /**
  * @description 生产环境关掉提示
  */
 Vue.config.productionTip = false;
+
 /**
  * @description 全局注册应用配置
  */
+window.Promise = Promise;
 Vue.prototype.$config = config;
+Vue.prototype.$routeProStr = settings.routePre;
+Vue.prototype.$modalForm = modalForm;
+Vue.prototype.$modalSure = modalSure;
+Vue.prototype.$exportExcel = exportExcel;
+Vue.prototype.$videoCloud = videoCloud;
+Vue.prototype.$authLapse = authLapse;
+Vue.prototype.$wechat = Auth;
+Vue.prototype.$dialog = dialog;
+Vue.prototype.$timeOptions = timeOptions;
+Vue.prototype.$scroll = scroll;
+Vue.prototype.$tools = tools;
+Vue.prototype.$validator = function (rule) {
+  return new schema(rule);
+};
+
 /**
  * 注册指令
  */
 importDirective(Vue);
 Vue.directive('clickOutside', clickOutside);
 
-// 移动端滚动插件
-import vuescroll from 'vuescroll';
-
-Vue.use(vuescroll);
-
 // 注册全局 过滤器
 Object.keys(filters).forEach((key) => {
   Vue.filter(key, filters[key]);
@@ -188,33 +173,4 @@ new Vue({
   i18n,
   store,
   render: (h) => h(App),
-  watch: {
-    // 监听路由 控制侧边栏显示 标记当前顶栏菜单(如需要)
-    $route(to, from) {
-      const onRoutes = to.meta.activeMenu ? to.meta.activeMenu : to.meta.path;
-      this.$store.commit('menu/setActivePath', onRoutes);
-      if (to.name == 'crud_crud') {
-        this.$store.state.menus.oneLvRoutes.map((e) => {
-          if (e.path === to.path) {
-            to.meta.title = e.title;
-          }
-        });
-      }
-      if (
-        [
-          'product_productAdd',
-          'marketing_bargainCreate',
-          'marketing_storeSeckillCreate',
-          'marketing_storeIntegralCreate',
-        ].includes(to.name)
-      ) {
-        let route = to.matched[1].path.split(':')[0];
-        this.$store.state.menus.oneLvRoutes.map((e) => {
-          if (route.indexOf(e.path) != -1) {
-            to.meta.title = `${e.title} ${to.params.id ? 'ID:' + to.params.id : ''}`;
-          }
-        });
-      }
-    },
-  },
 });

+ 2 - 2
template/admin/src/pages/app/wechat/newsCategory/save.vue

@@ -345,7 +345,7 @@ export default {
 
 <style scoped lang="stylus">
 .newsBox {
-  ::v-deep.ivu-global-footer {
+  ::v-deep .ivu-global-footer {
     dispaly: none !important;
   }
 }
@@ -408,7 +408,7 @@ export default {
   border: 1px solid #eee !important;
 }
 
-.save_from ::v-deep.ivu-btn-error:hover {
+.save_from ::v-deep .ivu-btn-error:hover {
   background: #FF5D5F !important;
   border: 1px solid #fff !important;
   color: #fff !important;

+ 1 - 1
template/admin/src/pages/cms/addArticle/index.vue

@@ -305,7 +305,7 @@ export default {
 .content_width {
   width: 414px;
 }
-::v-deep.ivu-form-item-content {
+::v-deep .ivu-form-item-content {
   line-height: unset !important;
 }
 .picBox {

+ 1 - 1
template/admin/src/pages/cms/article/index.vue

@@ -296,7 +296,7 @@ export default {
 </script>
 
 <style scoped lang="stylus">
-.treeSel ::v-deep.ivu-select-dropdown-list {
+.treeSel ::v-deep .ivu-select-dropdown-list {
   padding: 0 10px !important;
   box-sizing: border-box;
 }

+ 10 - 16
template/admin/src/pages/cms/articleCategory/index.vue

@@ -1,14 +1,14 @@
 <template>
   <div>
-    <el-card :bordered="false" shadow="never" class="ivu-mb-16" :body-style="{padding:0}">
+    <el-card :bordered="false" shadow="never" class="ivu-mb-16" :body-style="{ padding: 0 }">
       <div class="padding-add">
         <el-form
-            ref="formValidate"
-            :model="formValidate"
-            :label-width="labelWidth"
-            :label-position="labelPosition"
-            @submit.native.prevent
-            inline
+          ref="formValidate"
+          :model="formValidate"
+          :label-width="labelWidth"
+          :label-position="labelPosition"
+          @submit.native.prevent
+          inline
         >
           <el-form-item label="是否显示:" label-for="status">
             <el-select v-model="status" placeholder="请选择" clearable @change="userSearchs" class="form_content_width">
@@ -18,12 +18,7 @@
             </el-select>
           </el-form-item>
           <el-form-item label="分类昵称:" prop="title" label-for="status2">
-            <el-input
-                clearable
-                placeholder="请输入分类昵称"
-                v-model="formValidate.title"
-                class="form_content_width"
-            />
+            <el-input clearable placeholder="请输入分类昵称" v-model="formValidate.title" class="form_content_width" />
           </el-form-item>
           <el-form-item>
             <el-button type="primary" @click="userSearchs">查询</el-button>
@@ -32,8 +27,7 @@
       </div>
     </el-card>
     <el-card :bordered="false" shadow="never">
-      <el-button v-auth="['cms-category-create']" type="primary" @click="add"
-      >添加文章分类</el-button>
+      <el-button v-auth="['cms-category-create']" type="primary" @click="add">添加文章分类</el-button>
       <vxe-table
         class="vxeTable mt14"
         highlight-hover-row
@@ -68,7 +62,7 @@
           <template v-slot="{ row }">
             <a @click="edit(row)">编辑</a>
             <el-divider direction="vertical"></el-divider>
-            <a @click="del(row, '删除文章分类', index)">删除</a>
+            <a @click="del(row, '删除文章分类')">删除</a>
             <el-divider direction="vertical"></el-divider>
             <a @click="lookUp(row)">查看文章</a>
           </template>

+ 1 - 1
template/admin/src/pages/division/agent/agreement.vue

@@ -75,7 +75,7 @@ export default {
 </script>
 
 <style scoped lang="stylus">
-::v-deep.ivu-form-item-content {
+::v-deep .ivu-form-item-content {
   line-height: unset !important;
 }
 </style>

+ 1 - 1
template/admin/src/pages/finance/billingRecords/index.vue

@@ -228,7 +228,7 @@ export default {
   height: 54px !important;
   line-height: 54px !important;
 }
-::v-deep.ivu-card-body {
+::v-deep .ivu-card-body {
   padding: 0;
 }
 

+ 2 - 2
template/admin/src/pages/finance/commission/index.vue

@@ -102,8 +102,8 @@ export default {
       tabList: [],
       formValidate: {
         nickname: '',
-        price_max: '',
-        price_min: '',
+        price_max: undefined,
+        price_min: undefined,
         excel: 0,
         page: 1, // 当前页
         limit: 20, // 每页显示条数

+ 1 - 1
template/admin/src/pages/finance/userExtract/index.vue

@@ -156,7 +156,7 @@
           </template>
         </el-table-column>
         <el-table-column label="操作" fixed="right" width="170">
-          <template slot-scope="scope">
+          <template slot-scope="scope" v-if="scope.row.status == 0">
             <a href="javascript:void(0);" @click="edit(scope.row)">编辑</a>
             <el-divider direction="vertical"></el-divider>
             <a class="item" @click="adopt(scope.row, '审核通过', index)">通过</a>

+ 1 - 1
template/admin/src/pages/index/components/baseInfo.vue

@@ -99,7 +99,7 @@ export default {
 .ivu-text-right {
   text-align: right;
 }
-::v-deep.el-card__header {
+::v-deep .el-card__header {
   border-bottom: none !important;
   padding-bottom: 0;
 }

+ 2 - 2
template/admin/src/pages/kefu/appChat/index.vue

@@ -966,11 +966,11 @@ li {
             display: none;
           }
 
-          ::v-deep img {
+          ::v-deepimg {
             width: 100%;
           }
 
-          ::v-deep video {
+          ::v-deepvideo {
             width: 100%;
           }
         }

+ 4 - 4
template/admin/src/pages/kefu/appChat/mobile/index.vue

@@ -709,10 +709,10 @@ export default {
                 border transparent !important
 
             }
-            ::v-deep .ivu-input{
+            ::v-deep .el-input__inner{
                 font-size .28rem !important
             }
-            ::v-deep .ivu-input, .ivu-input:hover, .ivu-input:focus {
+            ::v-deep .el-input__inner, .el-input__inner:hover, .el-input__inner:focus {
                 border transparent
                 box-shadow: none;
             }
@@ -827,10 +827,10 @@ export default {
                 border-radius: .32rem;
                 overflow hidden
 
-                ::v-deep .ivu-input{
+                ::v-deep .el-input__inner{
                     background #F5F6F9
                 }
-                ::v-deep .ivu-input, .ivu-input:hover, .ivu-input:focus {
+                ::v-deep .el-input__inner, .el-input__inner:hover, .el-input__inner:focus {
                     border transparent
                     box-shadow: none;
                 }

+ 2 - 2
template/admin/src/pages/kefu/components/words.vue

@@ -557,10 +557,10 @@ export default {
                 border-radius: .32rem;
                 overflow hidden
 
-                ::v-deep .ivu-input{
+                ::v-deep .el-input__inner{
                     background #F5F6F9
                 }
-                ::v-deep .ivu-input, .ivu-input:hover, .ivu-input:focus {
+                ::v-deep .el-input__inner, .el-input__inner:hover, .el-input__inner:focus {
                     border transparent
                     box-shadow: none;
                 }

+ 2 - 2
template/admin/src/pages/kefu/index.vue

@@ -15,10 +15,10 @@
               <div class="page-account-top-logo">客服登录</div>
             </div>
             <el-form ref="formInline" :model="formInline" :rules="ruleInline" @keyup.enter="handleSubmit('formInline')">
-              <el-form-item class="mb10" prop="username">
+              <el-form-item class="mb20" prop="username">
                 <el-input type="text" v-model="formInline.username" placeholder="请输入用户名" size="large" />
               </el-form-item>
-              <el-form-item class="mb10" prop="password">
+              <el-form-item class="mb20" prop="password">
                 <el-input type="password" v-model="formInline.password" placeholder="请输入密码" size="large" />
               </el-form-item>
               <el-form-item>

+ 3 - 3
template/admin/src/pages/kefu/mobile/index.vue

@@ -660,7 +660,7 @@ body {
 
             }
 
-            ::v-deep .ivu-input, .ivu-input:hover, .ivu-input:focus {
+            ::v-deep .el-input__inner, .el-input__inner:hover, .el-input__inner:focus {
                 border transparent
                 box-shadow: none;
             }
@@ -775,10 +775,10 @@ body {
                 border-radius: .32rem;
                 overflow hidden
 
-                ::v-deep .ivu-input{
+                ::v-deep .el-input__inner{
                     background #F5F6F9
                 }
-                ::v-deep .ivu-input, .ivu-input:hover, .ivu-input:focus {
+                ::v-deep .el-input__inner, .el-input__inner:hover, .el-input__inner:focus {
                     border transparent
                     box-shadow: none;
                 }

+ 2 - 2
template/admin/src/pages/kefu/mobile/user/userLabel.vue

@@ -152,10 +152,10 @@ export default {
   }
 }
 .labelCheck {
-  ::v-deep.ivu-checkbox {
+  ::v-deep .ivu-checkbox {
     display: none !important;
   }
-  ::v-deep.ivu-checkbox-wrapper-checked.ivu-checkbox-border {
+  ::v-deep .ivu-checkbox-wrapper-checked.ivu-checkbox-border {
     background: #3875ea;
     color: #fff;
   }

+ 0 - 1
template/admin/src/pages/kefu/pc/components/baseHeader.vue

@@ -7,7 +7,6 @@
         prefix="ios-search"
         placeholder="搜索用户名称"
         @change="bindSearch"
-        @input="inputChange"
       />
       <div class="user_info">
         <img v-lazy="kefuInfo.avatar" alt="" />

+ 0 - 1
template/admin/src/pages/kefu/pc/components/chatList.vue

@@ -119,7 +119,6 @@ export default {
           this.page = 1;
           this.isScroll = true;
           this.userList = [];
-          this.isSearch = true;
           this.getList();
         }
       },

+ 1 - 1
template/admin/src/pages/kefu/pc/components/rightMenu.vue

@@ -623,7 +623,7 @@ export default {
 </script>
 
 <style lang="stylus" scoped>
-::v-deep.ivu-select .ivu-select-dropdown, ::v-deep.ivu-date-picker .ivu-select-dropdown {
+::v-deep .ivu-select .ivu-select-dropdown, ::v-deep .ivu-date-picker .ivu-select-dropdown {
   top: unset !important;
 }
 .right-scroll{

+ 14 - 7
template/admin/src/pages/kefu/pc/index.vue

@@ -56,7 +56,9 @@
                         </div>
                       </template>
                       <!-- 订单 -->
-                      <template v-if="item.msn_type == 6 && (item.orderInfo.length > 0 || item.orderInfo.id)">
+                      <template
+                        v-if="item.msn_type == 6 && item.orderInfo && (item.orderInfo.length > 0 || item.orderInfo.id)"
+                      >
                         <div class="order-wrapper pad16">
                           <div class="img-box">
                             <img :src="item.orderInfo.cartInfo[0].productInfo.image" alt="" />
@@ -73,6 +75,9 @@
                           </div>
                         </div>
                       </template>
+                      <template v-if="item.msn_type == 6 && !item.orderInfo">
+                        <div class="txt-wrapper pad16" v-html="item.msn"></div>
+                      </template>
                     </div>
                   </div>
                 </div>
@@ -622,10 +627,9 @@ export default {
 <style lang="stylus" scoped>
 @import '../../../styles/emoji-awesome/css/google.min.css';
 
-::v-deep textarea.ivu-input {
+::v-deeptextarea.ivu-input {
   border: none;
   resize: none;
-
 }
 
 .kefu-layouts {
@@ -902,7 +906,7 @@ export default {
   background: rgba(0, 0, 0, 0.5);
 }
 
-::v-deep.happy-scroll-content {
+::v-deep .happy-scroll-content {
   width: 100%;
 
   .demo-spin-icon-load {
@@ -935,14 +939,17 @@ export default {
     padding: 0;
   }
 }
+
 .emoji-box::-webkit-scrollbar {
   width: 0;
 }
-.textarea-box ::v-deep .ivu-input:focus{
+
+.textarea-box ::v-deep .ivu-input:focus {
   box-shadow: none;
 }
-.textarea-box ::v-deep .el-textarea__inner{
-  border:none;
+
+.textarea-box ::v-deep .el-textarea__inner {
+  border: none;
   resize: none;
 }
 </style>

+ 1 - 1
template/admin/src/pages/marketing/channelCode/channelCodeIndex.vue

@@ -531,7 +531,7 @@ export default {
 }
 
 .modelBox {
-  ::v-deep, .ivu-table-header {
+  ::v-deep , .ivu-table-header {
     width: 100% !important;
   }
 }

+ 6 - 3
template/admin/src/pages/marketing/channelCode/createCode.vue

@@ -55,7 +55,6 @@
           <div v-show="isReceiveTime">
             <el-input-number
               :controls="false"
-              :min="1"
               :max="10000"
               :precision="0"
               v-model="formData.time"
@@ -195,7 +194,7 @@ export default {
       formData: {
         name: '',
         type: 'text',
-        time: 0,
+        time: undefined,
         label_id: [],
         image: '',
         cate_id: '',
@@ -459,7 +458,9 @@ export default {
   cursor: pointer;
   vertical-align: middle;
 }
-
+::v-deep .el-tag{
+  margin-right: 5px;
+}
 .upload-list img {
   display: block;
   width: 100%;
@@ -483,6 +484,7 @@ export default {
 }
 
 .trip {
+  font-size: 12px;
   color: #ccc;
 }
 
@@ -575,6 +577,7 @@ textarea {
   cursor: pointer;
 
   .span {
+    font-size: 12px;
     color: #c5c8ce;
   }
 

+ 1 - 1
template/admin/src/pages/marketing/lottery/create.vue

@@ -1017,7 +1017,7 @@ export default {
   color: #999;
 }
 
-.maxW ::v-deep.ivu-select-dropdown {
+.maxW ::v-deep .ivu-select-dropdown {
   max-width: 600px;
 }
 

+ 4 - 4
template/admin/src/pages/marketing/recharge/index.vue

@@ -633,7 +633,7 @@ export default {
   display: none;
 }
 
-::v-deep.ivu-form-item-content {
+::v-deep .ivu-form-item-content {
   margin-left: 0px !important;
 }
 
@@ -1372,20 +1372,20 @@ export default {
   // width 80px!important
 }
 
-::v-deep.i-layout-page-header {
+::v-deep .i-layout-page-header {
   height: 66px;
   background-color: #fff;
   border-bottom: 1px solid #e8eaec;
 }
 
-::v-deep.ivu-page-header {
+::v-deep .ivu-page-header {
   border-bottom: unset;
   position: fixed;
   z-index: 9;
   width: 100%;
 }
 
-::v-deep.i-layout-page-header {
+::v-deep .i-layout-page-header {
   height: 66px;
   background-color: #fff;
   border-bottom: 1px solid #e8eaec;

+ 2 - 2
template/admin/src/pages/marketing/sign/index.vue

@@ -427,7 +427,7 @@ export default {
   display: none;
 }
 
-::v-deep.ivu-form-item-content {
+::v-deep .ivu-form-item-content {
   margin-left: 0px !important;
 }
 
@@ -1167,7 +1167,7 @@ export default {
   // width 80px!important
 }
 
-::v-deep.ivu-page-header {
+::v-deep .ivu-page-header {
   border-bottom: unset;
   position: fixed;
   z-index: 9;

+ 1 - 1
template/admin/src/pages/marketing/storeBargain/bargainList.vue

@@ -261,7 +261,7 @@ export default {
 </script>
 
 <style scoped lang="stylus">
-::v-deep.ivu-tag-cyan .ivu-tag-text{
+::v-deep .ivu-tag-cyan .ivu-tag-text{
     color #19be6b!important
 }
 .ivu-tag-cyan{

+ 1 - 1
template/admin/src/pages/marketing/storeBargain/create.vue

@@ -939,7 +939,7 @@ export default {
   font-size 12px
 }
 
-.maxW ::v-deep.ivu-select-dropdown {
+.maxW ::v-deep .ivu-select-dropdown {
   max-width: 600px;
 }
 

+ 1 - 1
template/admin/src/pages/marketing/storeCombination/create.vue

@@ -970,7 +970,7 @@ export default {
   color: #999;
 }
 
-.maxW ::v-deep.ivu-select-dropdown {
+.maxW ::v-deep .ivu-select-dropdown {
   max-width: 600px;
 }
 

+ 1 - 1
template/admin/src/pages/marketing/storeIntegral/create.vue

@@ -693,7 +693,7 @@ export default {
   color: #999;
 }
 
-.maxW ::v-deep.ivu-select-dropdown {
+.maxW ::v-deep .ivu-select-dropdown {
   max-width: 600px;
 }
 

+ 6 - 6
template/admin/src/pages/marketing/storeIntegralOrder/components/tableList.vue

@@ -478,7 +478,7 @@ img {
   }
 }
 
-.orderData ::v-deep.ivu-table-cell {
+.orderData ::v-deep .ivu-table-cell {
   padding-left: 0 !important;
 }
 
@@ -500,23 +500,23 @@ img {
   overflow: visible !important;
 }
 
-::v-deep.ivu-table-header {
+::v-deep .ivu-table-header {
   // overflow: visible;
 }
 
-::v-deep.ivu-table th {
+::v-deep .ivu-table th {
   overflow: visible;
 }
 
-::v-deep.select-item:hover {
+::v-deep .select-item:hover {
   background-color: #f3f3f3;
 }
 
-::v-deep.select-on {
+::v-deep .select-on {
   display: block;
 }
 
-::v-deep.select-item.on {
+::v-deep .select-item.on {
   background: #f3f3f3;
 }
 </style>

+ 1 - 1
template/admin/src/pages/marketing/storePresell/presellList.vue

@@ -351,7 +351,7 @@ export default {
 </script>
 
 <style scoped lang="stylus">
-::v-deep.ivu-tag-cyan .ivu-tag-text{
+::v-deep .ivu-tag-cyan .ivu-tag-text{
     color #19be6b!important
 }
 .ivu-tag-cyan{

+ 1 - 1
template/admin/src/pages/marketing/storeSeckill/create.vue

@@ -882,7 +882,7 @@ export default {
 .content_width{
   width: 460px;
 }
-.maxW ::v-deep.ivu-select-dropdown {
+.maxW ::v-deep .ivu-select-dropdown {
   max-width: 600px;
 }
 .grey{

+ 1 - 1
template/admin/src/pages/notify/smsConfig/tableList.vue

@@ -781,7 +781,7 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-.order_box ::v-deep.ivu-form-item-content {
+.order_box ::v-deep .ivu-form-item-content {
   margin-left: 50px !important;
 }
 .maxInpt {

+ 2 - 2
template/admin/src/pages/order/invoice/index.vue

@@ -408,12 +408,12 @@ export default {
   height: 54px !important;
   line-height: 54px !important;
 }
-::v-deep.ivu-form-item-label {
+::v-deep .ivu-form-item-label {
   text-align: left;
   width: 83px !important;
 }
 
-::v-deep.ivu-form-item-content {
+::v-deep .ivu-form-item-content {
   margin-left: 83px !important;
 }
 

+ 25 - 35
template/admin/src/pages/order/orderList/components/tableFrom.vue

@@ -11,11 +11,11 @@
       >
         <el-form-item label="订单状态:">
           <el-select
-              v-model="orderData.status"
-              clearable
-              @change="selectChange2"
-              placeholder="全部"
-              class="form_content_width"
+            v-model="orderData.status"
+            clearable
+            @change="selectChange2"
+            placeholder="全部"
+            class="form_content_width"
           >
             <el-option value="" label="全部"></el-option>
             <el-option value="0" label="未支付"></el-option>
@@ -31,42 +31,32 @@
         </el-form-item>
         <el-form-item label="支付方式:">
           <el-select
-              v-model="orderData.pay_type"
-              clearable
-              @change="userSearchs"
-              placeholder="全部"
-              class="form_content_width"
+            v-model="orderData.pay_type"
+            clearable
+            @change="userSearchs"
+            placeholder="全部"
+            class="form_content_width"
           >
-            <el-option
-                v-for="item in payList"
-                :value="item.val"
-                :label="item.label"
-                :key="item.id"
-            />
+            <el-option v-for="item in payList" :value="item.val" :label="item.label" :key="item.id" />
           </el-select>
         </el-form-item>
         <el-form-item label="创建时间:">
           <el-date-picker
-              clearable
-              v-model="timeVal"
-              type="daterange"
-              @change="onchangeTime"
-              format="yyyy/MM/dd"
-              value-format="yyyy/MM/dd"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
-              :picker-options="pickerOptions"
-              style="width: 250px"
-              class="mr20"
+            clearable
+            v-model="timeVal"
+            type="daterange"
+            @change="onchangeTime"
+            format="yyyy/MM/dd"
+            value-format="yyyy/MM/dd"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            :picker-options="pickerOptions"
+            style="width: 250px"
+            class="mr20"
           ></el-date-picker>
         </el-form-item>
         <el-form-item label="搜索:" prop="real_name" label-for="real_name">
-          <el-input
-              clearable
-              v-model="orderData.real_name"
-              placeholder="请输入"
-              class="form_content_width"
-          >
+          <el-input clearable v-model="orderData.real_name" placeholder="请输入" class="form_content_width">
             <el-select v-model="orderData.field_key" slot="prepend" style="width: 100px">
               <el-option value="all" label="全部"></el-option>
               <el-option value="order_id" label="订单号"></el-option>
@@ -157,9 +147,9 @@ export default {
         this.getPath();
       }
     },
-    'orderData.field_key':function(val,oval){
+    'orderData.field_key': function (val, oval) {
       this.getfieldKey(val);
-    }
+    },
   },
   created() {
     // this.timeVal = this.today;

+ 2 - 2
template/admin/src/pages/order/orderList/components/tableList.vue

@@ -518,7 +518,7 @@ export default {
           break;
         case '13':
           let pathInfo = this.$router.resolve({
-            path: '/admin/order/print',
+            path: Setting.routePre + '/order/print',
             query: {
               id: row.order_id,
             },
@@ -956,7 +956,7 @@ img {
   }
 }
 
-.orderData ::v-deep.ivu-table-cell {
+.orderData ::v-deep .ivu-table-cell {
   padding-left: 0 !important;
 }
 

+ 13 - 13
template/admin/src/pages/order/orderList/handle/orderDetails.vue

@@ -126,19 +126,19 @@
               </ul>
             </div>
             <div class="section" v-if="orderDatalist.orderInfo.delivery_name">
-              <div class="title">物流信息</div>
+              <div class="title">{{orderDatalist.orderInfo.delivery_type == 'express' ? '物流信息' : '送货人信息'}}</div>
               <ul class="list">
                 <li class="item">
-                  <div>物流公司:</div>
+                  <div>{{orderDatalist.orderInfo.delivery_type == 'express' ? '物流公司:' : '送货人姓名:'}}</div>
                   <div class="value">
                     {{ orderDatalist.orderInfo.delivery_name ? orderDatalist.orderInfo.delivery_name : '-' }}
                   </div>
                 </li>
                 <li class="item">
-                  <div>物流单号:</div>
+                  <div>{{orderDatalist.orderInfo.delivery_type == 'express' ? '物流单号:' : '送货人电话:'}}</div>
                   <div class="value">
                     {{ orderDatalist.orderInfo.delivery_id }}
-                    <a @click="openLogistics">物流查询</a>
+                    <a v-if="orderDatalist.orderInfo.delivery_type == 'express'" @click="openLogistics">物流查询</a>
                   </div>
                 </li>
               </ul>
@@ -594,25 +594,25 @@ export default {
     margin-right: 10px;
   }
 }
-::v-deep.el-drawer__body {
+::v-deep .el-drawer__body {
   // padding: 0;
   overflow: auto;
 }
 .gary {
   color: #aaa;
 }
-::v-deep.el-drawer__body {
+::v-deep .el-drawer__body {
   padding: 20px 0;
 }
-::v-deep.el-tabs--border-card > .el-tabs__content {
+::v-deep .el-tabs--border-card > .el-tabs__content {
   padding: 0 35px;
 }
-::v-deep.el-tabs--border-card > .el-tabs__header,
-::v-deep.el-tabs--border-card > .el-tabs__header .el-tabs__item:active {
+::v-deep .el-tabs--border-card > .el-tabs__header,
+::v-deep .el-tabs--border-card > .el-tabs__header .el-tabs__item:active {
   border: none;
   height: 40px;
 }
-::v-deep.el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active {
+::v-deep .el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active {
   border: none;
   border-top: 2px solid var(--prev-color-primary);
   font-size: 13px;
@@ -620,10 +620,10 @@ export default {
   color: #303133;
   line-height: 16px;
 }
-::v-deep.el-tabs--border-card > .el-tabs__header .el-tabs__item {
+::v-deep .el-tabs--border-card > .el-tabs__header .el-tabs__item {
   border: none;
 }
-::v-deep.el-tabs--border-card > .el-tabs__header .el-tabs__item {
+::v-deep .el-tabs--border-card > .el-tabs__header .el-tabs__item {
   margin-top: 0;
   transition: none;
   height: 40px !important;
@@ -634,7 +634,7 @@ export default {
   color: #303133;
   line-height: 16px;
 }
-::v-deep.el-tabs--border-card {
+::v-deep .el-tabs--border-card {
   border: none;
   box-shadow: none;
 }

+ 17 - 17
template/admin/src/pages/order/print/index.vue

@@ -193,39 +193,39 @@ export default {
   height: max-content;
   min-height: 100vh;
 }
-::v-deep.el-table th {
+::v-deep .el-table th {
   background-color: #fff !important;
 }
-::v-deep.el-table-header thead tr th:nth-of-type(1) {
+::v-deep .el-table-header thead tr th:nth-of-type(1) {
   padding-left: 0 !important;
 }
-::v-deep.el-table-header thead tr th {
+::v-deep .el-table-header thead tr th {
   border-top: 1px solid #333;
 }
-::v-deep.el-table td:nth-of-type(1) {
+::v-deep .el-table td:nth-of-type(1) {
   padding-left: 0 !important;
 }
-::v-deep.el-table-header table {
+::v-deep .el-table-header table {
   //border-top:0!important;
 }
-::v-deep.el-table-border th,
-::v-deep.el-table-border td {
+::v-deep .el-table-border th,
+::v-deep .el-table-border td {
   border-right: 1px solid #333 !important;
 }
-::v-deep.el-table-border th:nth-of-type(1),
-::v-deep.el-table-border td:nth-of-type(1) {
+::v-deep .el-table-border th:nth-of-type(1),
+::v-deep .el-table-border td:nth-of-type(1) {
   border-left: 1px solid #333 !important;
 }
-::v-deep.el-table th,
-::v-deep.el-table td {
+::v-deep .el-table th,
+::v-deep .el-table td {
   border-bottom: 1px solid #333 !important;
   border-right: 1px solid #333 !important;
 }
-::v-deep.el-table-wrapper-with-border {
+::v-deep .el-table-wrapper-with-border {
   border-color: #333 !important;
   border: unset;
 }
-::v-deep.el-table-border:after {
+::v-deep .el-table-border:after {
   background-color: #333;
   width: 0 !important;
   height: 0 !important;
@@ -234,19 +234,19 @@ export default {
   border: 1px solid #333 !important;
   border-bottom: 0px !important;
 }
-::v-deep.el-table:before {
+::v-deep .el-table:before {
   background-color: #333;
   width: 0 !important;
   height: 0 !important;
 }
-::v-deep.el-table .cell,
-::v-deep.el-table th.el-table__cell > .cell {
+::v-deep .el-table .cell,
+::v-deep .el-table th.el-table__cell > .cell {
   height: 47px !important;
   display: flex;
   align-items: center;
   justify-content: center;
 }
-::v-deep.el-table {
+::v-deep .el-table {
   color: #000;
 }
 .pricePay {

+ 19 - 17
template/admin/src/pages/product/productAdd/index.vue

@@ -106,10 +106,10 @@
               </el-switch>
             </el-form-item>
           </el-col>
-          <el-col :span="24" v-if="formValidate.video_open">
+          <el-col :span="24" v-if="formValidate.video_open && !formValidate.video_link">
             <el-form-item label="视频类型:">
               <el-radio-group v-model="seletVideo" @input="changeVideo">
-                <el-radio :label="0" class="radio">本地视频</el-radio>
+                <el-radio :label="0" class="radio">上传视频</el-radio>
                 <el-radio :label="1">视频链接</el-radio>
               </el-radio-group>
             </el-form-item>
@@ -138,7 +138,7 @@
                 >确认添加</el-button
               >
               <el-upload
-                v-if="upload_type === '1' && !videoLink"
+                v-if="upload_type === '1' && !videoLink && !formValidate.video_link"
                 :show-file-list="false"
                 :action="fileUrl2"
                 :before-upload="videoSaveToUrl"
@@ -151,7 +151,7 @@
               </el-upload>
               <div class="box-video-style" v-if="formValidate.video_link">
                 <video
-                  style="width: 100%; height: 100% !important; border-radius: 10px"
+                  style="width: 100%; height: 100%;"
                   :src="formValidate.video_link"
                   controls="controls"
                 >
@@ -368,7 +368,7 @@
                           >
                           <span
                             class="see"
-                            v-else-if=" formValidate.virtual_type == 2 && scope.row.coupon_id "
+                            v-else-if="formValidate.virtual_type == 2 && scope.row.coupon_id"
                             @click="see(scope.row, 'manyFormValidate', scope.$index)"
                             >{{ scope.row.coupon_name }}</span
                           >
@@ -524,7 +524,9 @@
                           >
                           <span
                             class="see"
-                            v-else-if="(scope.row.virtual_list.length || scope.row.stock) && formValidate.virtual_type == 1"
+                            v-else-if="
+                              (scope.row.virtual_list.length || scope.row.stock) && formValidate.virtual_type == 1
+                            "
                             @click="see(scope.row, 'manyFormValidate', scope.$index)"
                             >已设置</span
                           >
@@ -936,7 +938,6 @@
                   class="columnsBox content_width"
                   v-model="manyBrokerage"
                 >
-                  <template slot="append">%</template>
                 </el-input>
                 <span class="brokerage">二级返佣:</span
                 ><el-input
@@ -945,7 +946,7 @@
                   placeholder="请输入二级返佣"
                   class="columnsBox content_width"
                   v-model="manyBrokerageTwo"
-                  ><template slot="append">%</template></el-input
+                  ></el-input
                 >
               </span>
               <span v-if="formValidate.is_sub.indexOf(0) > -1">
@@ -1145,6 +1146,7 @@
               <div class="acea-row row-middle">
                 <span class="mr10">预售活动结束后</span>
                 <el-input-number
+                  class="w-80"
                   :controls="false"
                   placeholder="请输入发货时间"
                   :precision="0"
@@ -1152,7 +1154,6 @@
                   v-model="formValidate.presale_day"
                 />
                 <span class="ml10"> 天之内 </span>
-                <div class="ml10 grey"></div>
               </div>
             </el-form-item>
           </el-col>
@@ -2934,7 +2935,7 @@ export default {
         return match;
       });
       newContent = newContent.replace(/style="[^"]+"/gi, function (match, capture) {
-        match = match.replace(/width:[^;]+;/gi, 'max-width:100%;').replace(/width:[^;]+;/gi, 'max-width:100%;');
+        match = match.replace(/width:[^;]+;/gi, 'max-width:100%;').replace(/max-max-width:[^;]+;/gi, 'max-width:100%;')
         return match;
       });
       newContent = newContent.replace(/<br[^>]*\/>/gi, '');
@@ -3035,7 +3036,7 @@ export default {
   color: #d8d8d8;
 }
 
-.maxW ::v-deep.ivu-select-dropdown {
+.maxW ::v-deep .ivu-select-dropdown {
   max-width: 600px;
 }
 
@@ -3063,8 +3064,8 @@ export default {
 }
 
 .box-video-style {
-  width: 40%;
-  height: 180px;
+  width: 375px; 
+  height: 211px;
   border-radius: 10px;
   background-color: #707070;
   margin-top: 10px;
@@ -3083,6 +3084,7 @@ export default {
   top: -74px;
   left: 50%;
   margin-left: -25px;
+  cursor: pointer;
 }
 
 .box-video-style .mark {
@@ -3307,7 +3309,7 @@ export default {
 }
 </style>
 <style scoped lang="stylus">
-::v-deep.ivu-date-picker {
+::v-deep .ivu-date-picker {
   width: 300px;
 }
 
@@ -3453,11 +3455,11 @@ export default {
   }
 }
 
-#shopp-manager ::v-deep.ivu-form-item-content {
+#shopp-manager ::v-deep .ivu-form-item-content {
   line-height: 33px !important;
 }
 
-#selectvideo ::v-deep.ivu-form-item-content {
+#selectvideo ::v-deep .ivu-form-item-content {
   line-height: 0px !important;
 }
 
@@ -3473,7 +3475,7 @@ export default {
 .labelInput ::v-deep .el-tag .el-tag__close{
   color: #909399;
 }
-.labelInput ::v-deep.el-tag .el-tag__close:hover{
+.labelInput ::v-deep .el-tag .el-tag__close:hover{
   color: #fff;
   background-color: #909399;
 }

+ 1 - 1
template/admin/src/pages/product/productClassify/index.vue

@@ -226,7 +226,7 @@ export default {
 };
 </script>
 <style scoped lang="stylus">
-.treeSel ::v-deep.ivu-select-dropdown-list {
+.treeSel ::v-deep .ivu-select-dropdown-list {
   padding: 0 10px !important;
   box-sizing: border-box;
 }

+ 1 - 1
template/admin/src/pages/product/productList/components/goodsDetail.vue

@@ -162,7 +162,7 @@ export default {
     padding-bottom: 20px;
     background: #f0f2f5;
     width: 335px;
-   .content ::v-deep video{
+   .content ::v-deepvideo{
       width 100% !important
     }
   }

+ 3 - 3
template/admin/src/pages/product/productList/index.vue

@@ -791,11 +791,11 @@ export default {
   height: 54px !important;
   line-height: 54px !important;
 }
-::v-deep.ivu-modal-mask {
+::v-deep .ivu-modal-mask {
   z-index: 999 !important;
 }
 
-::v-deep.ivu-modal-wrap {
+::v-deep .ivu-modal-wrap {
   z-index: 999 !important;
 }
 
@@ -835,7 +835,7 @@ export default {
   z-index: 11;
 }
 
-::v-deep.happy-scroll-content {
+::v-deep .happy-scroll-content {
   width: 100%;
 
   .demo-spin-icon-load {

+ 1 - 1
template/admin/src/pages/product/productList/taoBao.vue

@@ -821,7 +821,7 @@ export default {
 </script>
 
 <style scoped lang="stylus">
-::v-deep.ivu-form-item-content {
+::v-deep .ivu-form-item-content {
   line-height: unset !important;
 }
 

+ 1 - 1
template/admin/src/pages/setting/agreement/index.vue

@@ -168,7 +168,7 @@ export default {
 }
 
 .new_tab {
-  ::v-deep.ivu-tabs-nav .ivu-tabs-tab {
+  ::v-deep .ivu-tabs-nav .ivu-tabs-tab {
     padding: 4px 16px 20px !important;
     font-weight: 500;
   }

+ 3 - 3
template/admin/src/pages/setting/cityDada/index.vue

@@ -174,17 +174,17 @@ export default {
 </script>
 
 <style scoped lang="stylus">
-::v-deep.ivu-table-cell-tree {
+::v-deep .ivu-table-cell-tree {
   border: 0;
   font-size: 15px;
   background-color: unset;
 }
 
-::v-deep.ivu-table-cell-tree .ivu-icon-ios-add:before {
+::v-deep .ivu-table-cell-tree .ivu-icon-ios-add:before {
   content: '\F11F';
 }
 
-::v-deep.ivu-table-cell-tree .ivu-icon-ios-remove:before {
+::v-deep .ivu-table-cell-tree .ivu-icon-ios-remove:before {
   content: '\F116';
 }
 

+ 4 - 4
template/admin/src/pages/setting/devise/list.vue

@@ -443,7 +443,7 @@ export default {
   background-color: #fff;
   padding-bottom: 50px;
 }
-::v-deep.el-card__body{
+::v-deep .el-card__body{
   padding: 40px;
 }
 .bnt {
@@ -478,17 +478,17 @@ export default {
   background-color: rgba(0, 0, 0, 0);
 }
 
-::v-deep.ivu-menu-vertical .ivu-menu-item, .ivu-menu-vertical .ivu-menu-submenu-title {
+::v-deep .ivu-menu-vertical .ivu-menu-item, .ivu-menu-vertical .ivu-menu-submenu-title {
   text-align: center;
 }
 
-::v-deep.i-layout-page-header {
+::v-deep .i-layout-page-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
 }
 
-::v-deep.ivu-page-header {
+::v-deep .ivu-page-header {
   border-bottom: unset;
   position: fixed;
   z-index: 9;

+ 3 - 2
template/admin/src/pages/setting/devise/template.vue

@@ -26,6 +26,7 @@ import { diyGetInfo, diySave } from '@/api/diy';
 import { mapMutations } from 'vuex';
 import rightConfig from '@/components/rightConfig/index';
 import links from './links';
+import Setting from '@/setting';
 export default {
   name: 'index',
   components: {
@@ -44,8 +45,8 @@ export default {
   created() {
     let pageId = this.$route.query.id;
     let names = this.$route.query.name;
-    this.setConfig = 'admin/' + names + '/setConfig';
-    this.updataConfig = 'admin/' + names + '/updataConfig';
+    this.setConfig = Setting.routePre + '/' + names + '/setConfig';
+    this.updataConfig = Setting.routePre + '/' + names + '/updataConfig';
     this.pageId = parseInt(pageId);
     this.iframeUrl = `${location.origin}/pages/index/index?mdType=iframeWindow`;
     diyGetInfo(parseInt(pageId)).then((datas) => {

+ 5 - 5
template/admin/src/pages/setting/devise/users.vue

@@ -463,7 +463,7 @@ export default {
 }
 
 .bottomB {
-  width: 270px;
+  width: 337px;
   height: 62px;
   background: #343A48;
   border-radius: 8px 8px 0px 0px;
@@ -546,12 +546,12 @@ export default {
   bottom: 2px;
 }
 
-::v-deep.swiper-pagination-bullet {
+::v-deep .swiper-pagination-bullet {
   width: 4px;
   height: 4px;
 }
 
-::v-deep.swiper-pagination-bullet-active {
+::v-deep .swiper-pagination-bullet-active {
   background: #fff;
 }
 
@@ -687,7 +687,7 @@ export default {
 
       .bottom {
         background-image: url('../../../assets/images/member.png');
-        width: 287px;
+        width: 355px;
         height: 34px;
         background-size: 100%;
         background-repeat: no-repeat;
@@ -780,7 +780,7 @@ export default {
   .right {
     width: 540px;
 
-    ::v-deep.ivu-radio-wrapper {
+    ::v-deep .ivu-radio-wrapper {
       font-size: 13px;
       margin-right: 20px;
     }

+ 1 - 1
template/admin/src/pages/setting/devisePage/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <pages-header ref="pageHeader" title="页面设计" :backUrl="$routeProStr + '/setting/pages/devise'"></pages-header>
+    <pages-header ref="pageHeader" title="页面设计" :backUrl="$routeProStr + '/setting/pages/devise/0'"></pages-header>
     <el-card :bordered="false" shadow="never" class="ivu-mt mt15">
       <div class="flex-wrapper">
         <!-- :src="iframeUrl" -->

+ 1 - 1
template/admin/src/pages/setting/setSystem/index.vue

@@ -276,7 +276,7 @@ export default {
 body ::v-deep .el-dialog .el-dialog__header {
   border: none !important;
 }
-::v-deep.el-form-item--small .el-form-item__label {
+::v-deep .el-form-item--small .el-form-item__label {
   line-height: 14px;
   margin-top: 10px;
 }

+ 5 - 15
template/admin/src/pages/setting/storage/index.vue

@@ -496,7 +496,7 @@ export default {
         thumb_mid_height: '',
         thumb_small_height: '',
         thumb_small_width: '',
-        image_watermark_status: false,
+        image_watermark_status: 0,
         watermark_type: 1,
         watermark_opacity: '',
         watermark_rotate: '',
@@ -584,11 +584,6 @@ export default {
       this.formValidate.watermark_position = item.id;
     },
     handleSubmit(name) {
-      if (this.formValidate.image_watermark_status) {
-        this.formValidate.image_watermark_status = 1;
-      } else {
-        this.formValidate.image_watermark_status = 0;
-      }
       if (this.formValidate.image_watermark_status) {
         this.$refs[name].validate((valid) => {
           if (valid) {
@@ -698,11 +693,6 @@ export default {
       let that = this;
       positionInfoApi().then((res) => {
         this.formValidate = res.data;
-        if (res.data.image_watermark_status == 1) {
-          that.formValidate.image_watermark_status = true;
-        } else {
-          that.formValidate.image_watermark_status = false;
-        }
         this.positionId = res.data.watermark_position;
         for (var i = 0; i < this.boxs.length; i++) {
           if (this.boxs[i].id == res.data.watermark_position) {
@@ -751,14 +741,14 @@ export default {
   line-height: 54px !important;
 }
 .ivu-input-group > .ivu-input:last-child,
-::v-deep.ivu-input-group-append {
+::v-deep .ivu-input-group-append {
   background: none;
   color: #999999;
 }
-::v-deep.ivu-input-group .ivu-input {
+::v-deep .ivu-input-group .ivu-input {
   border-right: 0px !important;
 }
-.content ::v-deep.ivu-form .ivu-form-item-label {
+.content ::v-deep .ivu-form .ivu-form-item-label {
   width: 133px;
 }
 .topIput {
@@ -802,7 +792,7 @@ export default {
     }
   }
   .content {
-    ::v-deep.ivu-form-item-label {
+    ::v-deep .ivu-form-item-label {
       width: 120px;
     }
     .flex {

+ 7 - 4
template/admin/src/pages/setting/storeService/index.vue

@@ -254,6 +254,7 @@ export default {
       selections: [],
       rows: {},
       rowRecord: {},
+      eidtLoading: false,
     };
   },
   created() {
@@ -375,13 +376,15 @@ export default {
     },
     // 编辑
     edit(row) {
-      this.$modalForm(kefuEditApi(row.id)).then(() => this.getList());
+      if (this.eidtLoading) return;
+      this.eidtLoading = true;
+      this.$modalForm(kefuEditApi(row.id)).then(() => {
+        this.getList();
+        this.eidtLoading = false;
+      });
     },
     // 添加
     add() {
-      // this.modals = true;
-      // this.formValidate.data = '';
-      // this.getListService();
       this.$modalForm(kefuaddApi()).then(() => this.getList());
     },
     // 全选

+ 1 - 1
template/admin/src/pages/setting/storeService/speechcraft.vue

@@ -551,7 +551,7 @@ export default {
         width 100%
         height 100%
 .modelBox
-    ::v-deep
+    ::v-deep 
     .ivu-table-header
         width 100% !important
 .trees-coadd

+ 3 - 3
template/admin/src/pages/setting/themeStyle/index.vue

@@ -239,7 +239,7 @@ export default {
   border: 1px solid var(--prev-color-primary);
 }
 
-::v-deep.ivu-radio-border {
+::v-deep .ivu-radio-border {
   position: relative;
 }
 
@@ -248,12 +248,12 @@ export default {
   color: #fff;
 }
 
-::v-deep.ivu-radio-inner:after {
+::v-deep .ivu-radio-inner:after {
   background-color: unset;
   transform: unset;
 }
 
-::v-deep.i-layout-page-header {
+::v-deep .i-layout-page-header {
   display: flex;
   align-items: center;
   justify-content: space-between;

+ 1 - 1
template/admin/src/pages/setting/verifyOrder/index.vue

@@ -261,7 +261,7 @@ img {
         letter-spacing: 1px;
         padding: 5px 0;
         box-sizing: border-box;
-.orderData ::v-deep.ivu-table-cell{padding-left: 0 !important;}
+.orderData ::v-deep .ivu-table-cell{padding-left: 0 !important;}
 .vertical-center-modal{
     display: flex;
     align-items: center;

+ 2 - 0
template/admin/src/pages/statistic/order/index.vue

@@ -233,6 +233,8 @@ export default {
       this.name = this.formValidate.time;
       this.getBasic();
       this.getTrend();
+      this.getChannel();
+      this.getType();
     },
     // 统计图
     getTrend() {

+ 1 - 1
template/admin/src/pages/statistic/product/components/goodsDetail.vue

@@ -155,7 +155,7 @@ export default {
     padding-bottom: 20px;
     background: #f0f2f5;
     width: 335px;
-   .content ::v-deep video{
+   .content ::v-deepvideo{
       width 100% !important
     }
   }

+ 1 - 1
template/admin/src/pages/statistic/product/components/productRanking.vue

@@ -222,7 +222,7 @@ export default {
     height 100%
     background rgba(0,0,0,0.5)
     z-index: 11;
-::v-deep.happy-scroll-content
+::v-deep .happy-scroll-content
     width 100%
     .demo-spin-icon-load{
         animation: ani-demo-spin 1s linear infinite;

+ 1 - 1
template/admin/src/pages/statistic/user/components/userRegion.vue

@@ -278,7 +278,7 @@ export default {
 }
 .tables {
   width: 100%;
-  ::v-deep.ivu-table-overflowY {
+  ::v-deep .ivu-table-overflowY {
     &::-webkit-scrollbar {
       width: 0;
     }

+ 2 - 2
template/admin/src/pages/system/auth/index.vue

@@ -60,7 +60,7 @@
       <span class="prompt">建议尺寸:宽290px*高100px</span>
     </el-card>
 
-    <el-dialog :visible.sync="isTemplate" title="商业授权" width="480px" @closed="cancel">
+    <el-dialog :visible.sync="isTemplate" title="商业授权" width="550px" @closed="cancel">
       <iframe width="100%" height="780" :src="iframeUrl" frameborder="0"></iframe>
     </el-dialog>
     <el-dialog :visible.sync="modalPic" width="1024px" title="上传授权图片" :close-on-click-modal="false">
@@ -432,7 +432,7 @@ export default {
   font-weight: 600;
 }
 iframe {
-  height: 370px;
+  height: 550px;
   overflow: hidden;
 }
 </style>

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 546 - 517
template/admin/src/pages/system/backendRouting/index.vue


+ 1 - 1
template/admin/src/pages/system/codeGeneration/components/TableForm.vue

@@ -676,7 +676,7 @@ export default {
   height: 28px !important;
   line-height: 28px !important;
 }
-::v-deep.el-input-group__prepend div.el-select .el-input--small .el-input__icon {
+::v-deep .el-input-group__prepend div.el-select .el-input--small .el-input__icon {
   line-height: 28px;
 }
 </style>

+ 1 - 1
template/admin/src/pages/system/codeGeneration/list.vue

@@ -590,7 +590,7 @@ export default {
   color: #f00;
 }
 
-::v-deep body .ivu-select-dropdown .ivu-dropdown-transfer {
+::v-deepbody .ivu-select-dropdown .ivu-dropdown-transfer {
   background: red !important;
 }
 

+ 1 - 1
template/admin/src/pages/system/group/components/groupFrom.vue

@@ -174,7 +174,7 @@ export default {
           value: '',
         },
         param: {
-          placeholder: '参数方式例如:\n1=>白色\n2=>红色\n3=>黑色',
+          placeholder: '参数方式例如:\n1=白色\n2=红色\n3=黑色',
           value: '',
         },
       });

+ 2 - 2
template/admin/src/pages/system/group/pc.vue

@@ -834,11 +834,11 @@ export default {
   margin-bottom: 10px;
 }
 
-::v-deep.ivu-form-item-content {
+::v-deep .ivu-form-item-content {
   margin-left: 0px !important;
 }
 
-::v-deep.i-layout-page-header {
+::v-deep .i-layout-page-header {
   display: flex;
   align-items: center;
   justify-content: space-between;

+ 3 - 3
template/admin/src/pages/system/group/visualization.vue

@@ -1030,7 +1030,7 @@ export default {
   display: none;
 }
 
-::v-deep.ivu-form-item-content {
+::v-deep .ivu-form-item-content {
   margin-left: 0px !important;
 }
 
@@ -1783,14 +1783,14 @@ export default {
   // width 80px!important
 }
 
-::v-deep.ivu-page-header {
+::v-deep .ivu-page-header {
   border-bottom: unset;
   position: fixed;
   z-index: 9;
   width: 100%;
 }
 
-::v-deep.i-layout-page-header {
+::v-deep .i-layout-page-header {
   display: flex;
   align-items: center;
   justify-content: space-between;

+ 1 - 1
template/admin/src/pages/system/maintain/systemFile/components/codemirror.vue

@@ -146,6 +146,6 @@ export default {
 };
 </script>
 <style scoped lang="stylus">
-::v-deep.CodeMirror
+::v-deep .CodeMirror
 	height: 70vh !important
 </style>

+ 33 - 32
template/admin/src/pages/system/maintain/systemFile/opendir.vue

@@ -63,6 +63,7 @@
       :custom-class="className"
       :close-on-click-modal="false"
       width="80%"
+      top="5vh"
       @close="editModalChange"
       append-to-body
       :title="editorIndex[indexEditor].title"
@@ -77,9 +78,10 @@
         />
       </p>
       <div style="height: 100%">
-        <el-button type="primary" id="savefile" class="diy-button" @click="savefile(indexEditor)">保存</el-button>
-        <el-button id="refresh" class="diy-button" @click="refreshfile">刷新</el-button>
-
+        <div class="top-button">
+          <el-button type="primary" id="savefile" class="diy-button" @click="savefile(indexEditor)">保存</el-button>
+          <el-button id="refresh" class="diy-button" @click="refreshfile">刷新</el-button>
+        </div>
         <div class="file-box">
           <div class="show-info">
             <div class="show-text" :title="navItem.pathname">目录: {{ navItem.pathname }}</div>
@@ -130,7 +132,7 @@
                 :icon="value.icon"
                 v-if="value.tab"
               >
-                <div ref="container" :id="'container_' + value.index" style="height: 100%; min-height: 580px"></div>
+                <div ref="container" :id="'container_' + value.index" style="height: 100%; min-height: calc(80vh - 100px);"></div>
               </el-tab-pane>
             </el-tabs>
           </div>
@@ -900,22 +902,22 @@ export default {
 .file-left {
   padding-left: 10px;
 
-  ::v-deep.ivu-icon-ios-arrow-forward {
+  ::v-deep .ivu-icon-ios-arrow-forward {
     font-size: 18px !important;
   }
 
   color: #cccccc;
 
-  ::v-deep.ivu-icon-ios-folder-outline {
+  ::v-deep .ivu-icon-ios-folder-outline {
     font-size: 14px !important;
   }
 
-  ::v-deep.ivu-icon-ios-document-outline {
+  ::v-deep .ivu-icon-ios-document-outline {
     font-size: 18px !important;
   }
 }
 
-::v-deep.ivu-icon-md-folder {
+::v-deep .ivu-icon-md-folder {
   font-size: 18px !important;
   color: #d6ab34 !important;
 }
@@ -996,7 +998,7 @@ export default {
 
 }
 
-::v-deep.CodeMirror {
+::v-deep .CodeMirror {
   height: 70vh !important;
 }
 
@@ -1005,8 +1007,7 @@ export default {
   align-items: flex-start;
   justify-content: space-between;
   position: relative;
-  height: 95%;
-  min-height: 600px;
+  min-height: calc(100% - 35px);
   overflow: hidden;
 }
 
@@ -1015,9 +1016,10 @@ export default {
     position: absolute;
     top: 58px;
     left: 0;
-    height: 90%;
+    height: calc(100% - 58px);
+    
     // height: 100%;
-    // min-height: 600px;
+    // min-height: calc(100% - 35px);
     width: 25%;
     max-width: 250px;
     overflow: auto;
@@ -1027,11 +1029,10 @@ export default {
   .file-fix {
     flex: 1;
     max-width: 250px;
-    height: 76vh;
-    min-height: 600px;
+    min-height: calc(100% - 35px);
     // bottom: 0px;
     // overflow: auto;
-    min-height: 600px;
+    min-height: calc(100% - 35px);
     background-color: #292929;
   }
 }
@@ -1043,17 +1044,15 @@ export default {
     // left: 25%;
     flex: 3;
     overflow: hidden;
-    min-height: 600px;
+    min-height: calc(100% - 35px);
     height: 100%;
   }
 }
 
-::v-deep.el-dialog__body {
+::v-deep .el-dialog__body {
   padding: 0 !important;
-}
-
-::v-deep.el-dialog__body {
-  background-color: #292929;
+  height: 80vh;
+  max-height: 80vh;
 }
 
 .diy-button {
@@ -1133,9 +1132,11 @@ export default {
   text-align: center;
   background-color: #2f2f2f;
 }
-
+  .top-button{
+    background-color: #292929;
+  }
 .show-info {
-  background-color: #383838;
+  background-color: #292929;
   color: #FFF;
   width: 25%;
   max-width: 250px;
@@ -1165,7 +1166,7 @@ export default {
   }
 }
 
-body ::v-deep.ivu-select-dropdown {
+body ::v-deep .ivu-select-dropdown {
   background: #fff;
 }
 
@@ -1174,7 +1175,7 @@ body ::v-deep.ivu-select-dropdown {
     overflow: hidden;
   }
 
-  ::v-deep.ivu-tree-title {
+  ::v-deep .ivu-tree-title {
     width: 90%;
     max-width: 250px;
     padding: 0;
@@ -1182,15 +1183,15 @@ body ::v-deep.ivu-select-dropdown {
   }
 }
 
-::v-deep.ivu-tree-children {
+::v-deep .ivu-tree-children {
   .ivu-tree-title:hover {
     background-color: #2f2f2f !important;
   }
 }
-::v-deep.el-tabs__item{
+::v-deep .el-tabs__item{
   background-color: #fff;
 }
-::v-deep.el-tree{
+::v-deep .el-tree{
   background-color: #292929 !important;
 }
 .file-box {
@@ -1231,7 +1232,7 @@ body ::v-deep.ivu-select-dropdown {
 }
 
 // 自定义方法缩小
-::v-deep.diy-fullscreen {
+::v-deep .diy-fullscreen {
   overflow: hidden;
 
   .ivu-modal {
@@ -1269,7 +1270,7 @@ body ::v-deep.ivu-select-dropdown {
   }
 }
 
-::v-deep.ivu-modal {
+::v-deep .ivu-modal {
   top: 70px;
 }
 
@@ -1309,7 +1310,7 @@ body ::v-deep.ivu-select-dropdown {
 }
 
 // 选项卡头部
-::v-deep.ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-nav-container {
+::v-deep .ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-nav-container {
   background-color: #333;
 }
 </style>

+ 1 - 1
template/admin/src/pages/user/grade/agreement/index.vue

@@ -83,7 +83,7 @@ export default {
 </script>
 
 <style scoped lang="stylus">
-::v-deep.ivu-form-item-content {
+::v-deep .ivu-form-item-content {
   line-height: unset !important;
 }
 </style>

+ 10 - 10
template/admin/src/pages/user/list/handle/userDetails.vue

@@ -356,18 +356,18 @@ export default {
     height: 100%;
   }
 }
-::v-deep.el-drawer__body {
-  padding: 20px 0;
+::v-deep .el-drawer__body {
+  padding: 20px 0 !important;
 }
-::v-deep.el-tabs--border-card > .el-tabs__content {
+::v-deep .el-tabs--border-card > .el-tabs__content {
   padding: 0 35px;
 }
-::v-deep.el-tabs--border-card > .el-tabs__header,
-::v-deep.el-tabs--border-card > .el-tabs__header .el-tabs__item:active {
+::v-deep .el-tabs--border-card > .el-tabs__header,
+::v-deep .el-tabs--border-card > .el-tabs__header .el-tabs__item:active {
   border: none;
   height: 40px;
 }
-::v-deep.el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active {
+::v-deep .el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active {
   border: none;
   border-top: 2px solid var(--prev-color-primary);
   font-size: 13px;
@@ -375,10 +375,10 @@ export default {
   color: #303133;
   line-height: 16px;
 }
-::v-deep.el-tabs--border-card > .el-tabs__header .el-tabs__item {
+::v-deep .el-tabs--border-card > .el-tabs__header .el-tabs__item {
   border: none;
 }
-::v-deep.el-tabs--border-card > .el-tabs__header .el-tabs__item {
+::v-deep .el-tabs--border-card > .el-tabs__header .el-tabs__item {
   margin-top: 0;
   transition: none;
   height: 40px !important;
@@ -389,13 +389,13 @@ export default {
   color: #303133;
   line-height: 16px;
 }
-::v-deep.el-tabs--border-card {
+::v-deep .el-tabs--border-card {
   border: none;
   box-shadow: none;
 }
 .head {
   position: relative;
-  padding: 0 35px;
+  padding: 0 15px;
   .edit-btn {
     position: absolute;
     right: 10px;

+ 18 - 5
template/admin/src/pages/user/list/index.vue

@@ -16,9 +16,14 @@
                 <div class="labelInput acea-row row-between-wrapper" @click="openSelectLabel">
                   <div style="width: 222px">
                     <div v-if="selectDataLabel.length">
-                      <el-tag :closable="false" v-for="(item, index) in selectDataLabel" :key="index" class="mr10">{{
-                        item.label_name
-                      }}</el-tag>
+                      <el-tag
+                        v-for="(item, index) in selectDataLabel"
+                        :key="index"
+                        closable
+                        class="mr10"
+                        @close="handleClose(item)"
+                        >{{ item.label_name }}</el-tag
+                      >
                     </div>
                     <span class="span" v-else>选择用户关联标签</span>
                   </div>
@@ -690,7 +695,11 @@ export default {
         this.$message.warning('请选择要设置分组的用户');
       } else {
         let uids = { uids: this.ids };
-        this.$modalForm(userSetGroup(uids)).then(() => this.getList());
+        this.$modalForm(userSetGroup(uids)).then(() => {
+          this.ids = [];
+          this.selectedIds = [];
+          this.getList();
+        });
       }
     },
     // 批量设置标签;
@@ -967,6 +976,10 @@ export default {
       this.selectionList = [];
       this.getList();
     },
+    handleClose(tag) {
+      this.selectDataLabel.splice(this.selectDataLabel.indexOf(tag), 1);
+      this.userSearchs()
+    },
     // 搜索
     userSearchs() {
       this.userFrom.page = 1;
@@ -1221,7 +1234,7 @@ img {
 .search-form {
   display: flex;
   justify-content: space-between;
-  .search-form-box{
+  .search-form-box {
     display: flex;
     flex-wrap: wrap;
     flex: 1;

+ 1 - 1
template/admin/src/router/modules/system.js

@@ -60,7 +60,7 @@ export default {
       name: `${pre}backend_routing`,
       meta: {
         auth: ['system-config-backend-routing'],
-        title: '路由权限',
+        title: '接口管理',
       },
       component: () => import('@/pages/system/backendRouting/index'),
     },

+ 0 - 0
template/admin/src/styles/common.scss


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác