Browse Source

Merge branch '11/24SAAS' of http://git.dayaedu.com/yonge/dy-admin-manager into 11/24SAAS

mo 3 years ago
parent
commit
456ebb88d8
100 changed files with 348 additions and 604 deletions
  1. 0 0
      dist/index.html
  2. 1 0
      dist/static/css/chunk-98c0eeec.0258d01c.css
  3. 0 1
      dist/static/css/chunk-acc4506c.2ae8b912.css
  4. 0 1
      dist/static/css/chunk-b0bbf3f8.866e1837.css
  5. 1 0
      dist/static/css/chunk-d3849260.d0041dbf.css
  6. 0 0
      dist/static/js/app.61399440.js
  7. 0 0
      dist/static/js/chunk-7f91ee0d.09d8f937.js
  8. 0 0
      dist/static/js/chunk-7f91ee0d.e930e7df.js
  9. 0 0
      dist/static/js/chunk-98c0eeec.d33f6e9a.js
  10. 0 0
      dist/static/js/chunk-b0bbf3f8.83de9491.js
  11. 0 0
      dist/static/js/chunk-d3849260.bfd801df.js
  12. 16 15
      src/App.vue
  13. 10 0
      src/assets/element-variables.scss
  14. 0 13
      src/components/Editor/index.vue
  15. 1 1
      src/components/form-item/index.vue
  16. 1 1
      src/components/statistic/index.vue
  17. 10 10
      src/layout/components/Navbar.vue
  18. 3 3
      src/layout/components/Sidebar/index.vue
  19. 1 1
      src/layout/components/instructions.vue
  20. 18 6
      src/store/modules/user.js
  21. 9 2
      src/styles/sidebar.scss
  22. 2 0
      src/styles/variables.scss
  23. 1 5
      src/utils/auth.js
  24. 4 3
      src/utils/request.js
  25. 4 3
      src/utils/request2.js
  26. 6 0
      src/utils/setTheme.js
  27. 3 3
      src/views/HumanResources/form.vue
  28. 0 12
      src/views/HumanResources/index.vue
  29. 18 0
      src/views/adapayAccount/form.vue
  30. 0 12
      src/views/app/clouldSuggestion.vue
  31. 0 12
      src/views/app/entryActivities.vue
  32. 0 12
      src/views/app/entryOperation.vue
  33. 1 12
      src/views/app/suggestion.vue
  34. 1 1
      src/views/buildVip/index.vue
  35. 8 7
      src/views/businessManager/orderManager/businessStatement.vue
  36. 1 1
      src/views/businessManager/orderManager/businessStatementDetail.vue
  37. 2 2
      src/views/businessManager/orderManager/payRecord.vue
  38. 10 6
      src/views/businessManager/shopManager/shopList.vue
  39. 0 12
      src/views/businessManager/shopManager/shopOperation.vue
  40. 0 13
      src/views/categroyManager/generalSettings/earlyWarning.vue
  41. 0 12
      src/views/categroyManager/generalSettings/errorManager.vue
  42. 4 15
      src/views/categroyManager/generalSettings/holidaySetting.vue
  43. 7 8
      src/views/categroyManager/insideSetting/addressManager.vue
  44. 1 12
      src/views/categroyManager/insideSetting/adminOperation.vue
  45. 0 12
      src/views/categroyManager/insideSetting/branchActive.vue
  46. 1 12
      src/views/categroyManager/insideSetting/branchActiveOperation.vue
  47. 1 12
      src/views/categroyManager/insideSetting/branchManager.vue
  48. 0 12
      src/views/categroyManager/insideSetting/chargeProfitManager.vue
  49. 4 15
      src/views/categroyManager/insideSetting/gradientSet.vue
  50. 0 12
      src/views/categroyManager/insideSetting/staffManager.vue
  51. 1 1
      src/views/categroyManager/modals/baseInfo.vue
  52. 0 12
      src/views/categroyManager/specialSetup/bannerManager.vue
  53. 0 12
      src/views/categroyManager/specialSetup/branchSetting.vue
  54. 0 12
      src/views/categroyManager/specialSetup/charges.vue
  55. 0 12
      src/views/categroyManager/specialSetup/chargesList.vue
  56. 0 12
      src/views/categroyManager/specialSetup/cloudTeacherFee.vue
  57. 0 12
      src/views/categroyManager/specialSetup/discountManage.vue
  58. 0 12
      src/views/categroyManager/specialSetup/jobTemplateSetting.vue
  59. 0 12
      src/views/categroyManager/specialSetup/musicCourseFee.vue
  60. 0 12
      src/views/categroyManager/specialSetup/musicalManager.vue
  61. 1 12
      src/views/categroyManager/specialSetup/musicalManagerOut.vue
  62. 0 12
      src/views/categroyManager/specialSetup/tryClass.vue
  63. 0 12
      src/views/categroyManager/specialSetup/typesManager.vue
  64. 1 1
      src/views/categroyManager/vipActiveList.vue
  65. 2 2
      src/views/categroyManager/vipNewActive.vue
  66. 1 12
      src/views/chargeManager/one.vue
  67. 1 12
      src/views/chargeManager/three.vue
  68. 0 12
      src/views/chargeManager/two.vue
  69. 0 12
      src/views/chargeManager/twoTemp.vue
  70. 0 12
      src/views/contentManager/contentOperation.vue
  71. 0 12
      src/views/contentManager/model/systemNotifyModel.vue
  72. 1 1
      src/views/couponManager/couponDetail.vue
  73. 0 12
      src/views/helpCenter/helpCategory.vue
  74. 1 12
      src/views/helpCenter/helpContent.vue
  75. 10 10
      src/views/indexErrDataRecord/components/errorCourse.vue
  76. 2 13
      src/views/levelManager/levelManager.vue
  77. 1 1
      src/views/main/abnormal/index.vue
  78. 1 1
      src/views/main/baseinfo/business.vue
  79. 1 1
      src/views/main/baseinfo/curriculum.vue
  80. 1 1
      src/views/main/baseinfo/hr.vue
  81. 1 1
      src/views/main/baseinfo/index.vue
  82. 1 1
      src/views/main/baseinfo/management.vue
  83. 1 1
      src/views/main/baseinfo/operate.vue
  84. 1 1
      src/views/main/baseinfo/student.vue
  85. 1 1
      src/views/main/reminders/index.vue
  86. 1 1
      src/views/musicInspection/modals/lookDetail.vue
  87. 1 3
      src/views/operateManager/operateStudent.vue
  88. 1 3
      src/views/operateManager/serverIndexList.vue
  89. 14 4
      src/views/organManager/components/memberSetting.vue
  90. 12 12
      src/views/organManager/components/openService.vue
  91. 3 0
      src/views/organManager/components/organInfo.vue
  92. 3 3
      src/views/organManager/components/rateSetting.vue
  93. 3 3
      src/views/organManager/components/roomRules.vue
  94. 0 1
      src/views/organManager/organOperation.vue
  95. 1 1
      src/views/photo-detail/index.vue
  96. 1 1
      src/views/reaplceMusicPlayer/index.vue
  97. 0 1
      src/views/recodeManager/recodeList.vue
  98. 1 1
      src/views/reportForm/downList.vue
  99. 126 0
      src/views/reportForm/index.vue
  100. 1 1
      src/views/resetTeaming/components/archicesComponents/baseInfo.vue

File diff suppressed because it is too large
+ 0 - 0
dist/index.html


+ 1 - 0
dist/static/css/chunk-98c0eeec.0258d01c.css

@@ -0,0 +1 @@
+.el-button--primary[data-v-7d774266],.el-button--primary[data-v-7d774266]:active,.el-button--primary[data-v-7d774266]:focus,.el-button--primary[data-v-7d774266]:hover{background:#14928a;border-color:#14928a;color:#fff}[data-v-7d774266] .el-image-viewer__close{color:#fff;opacity:1}[data-v-7d774266] .el-date-editor.el-input,[data-v-7d774266] .el-select{width:100%!important}[data-v-7d774266] .el-table .cell{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical}

+ 0 - 1
dist/static/css/chunk-acc4506c.2ae8b912.css

@@ -1 +0,0 @@
-.m-container .m-core[data-v-3b8f1e3e]{margin-top:20px}.m-container .m-core .m-wrap[data-v-3b8f1e3e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;width:100%}.m-container .m-core .m-wrap .newBand[data-v-3b8f1e3e]{margin:0 5px 0 10px}.m-container .m-core .m-wrap .title[data-v-3b8f1e3e]{width:150px;height:40px;line-height:40px;text-align:right;color:#606266}.m-container .m-core .m-wrap .organSelect[data-v-3b8f1e3e]{width:220px!important}.m-container .m-core .m-wrap .el-tooltip.micon[data-v-3b8f1e3e]{width:20px;height:20px;position:relative;top:12px}[data-v-3b8f1e3e] .el-input__icon.el-icon-date{height:40px!important}

+ 0 - 1
dist/static/css/chunk-b0bbf3f8.866e1837.css

@@ -1 +0,0 @@
-.el-button--primary[data-v-e4c873b8],.el-button--primary[data-v-e4c873b8]:active,.el-button--primary[data-v-e4c873b8]:focus,.el-button--primary[data-v-e4c873b8]:hover{background:#14928a;border-color:#14928a;color:#fff}[data-v-e4c873b8] .el-image-viewer__close{color:#fff;opacity:1}[data-v-e4c873b8] .el-date-editor.el-input,[data-v-e4c873b8] .el-select{width:100%!important}[data-v-e4c873b8] .el-table .cell{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical}

+ 1 - 0
dist/static/css/chunk-d3849260.d0041dbf.css

@@ -0,0 +1 @@
+.m-container .m-core[data-v-72640207]{margin-top:20px}.m-container .m-core .m-wrap[data-v-72640207]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;width:100%}.m-container .m-core .m-wrap .newBand[data-v-72640207]{margin:0 5px 0 10px}.m-container .m-core .m-wrap .title[data-v-72640207]{width:150px;height:40px;line-height:40px;text-align:right;color:#606266}.m-container .m-core .m-wrap .organSelect[data-v-72640207]{width:220px!important}.m-container .m-core .m-wrap .el-tooltip.micon[data-v-72640207]{width:20px;height:20px;position:relative;top:12px}[data-v-72640207] .el-input__icon.el-icon-date{height:40px!important}

File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.61399440.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-7f91ee0d.09d8f937.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-7f91ee0d.e930e7df.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-98c0eeec.d33f6e9a.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-b0bbf3f8.83de9491.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-d3849260.bfd801df.js


+ 16 - 15
src/App.vue

@@ -42,6 +42,7 @@ export default {
 #app {
   --color-primary: #14928a;
 }
+// 13817a
 body {
   background-color: #eef4f9 !important;
 }
@@ -57,8 +58,8 @@ body {
 }
 .el-checkbox__input.is-checked .el-checkbox__inner,
 .el-checkbox__input.is-indeterminate .el-checkbox__inner {
-  background-color: #14928a;
-  border-color: #14928a;
+  background-color: var(--color-primary);
+  border-color: var(--color-primary);
 }
 .el-select__tags .el-tag__close.el-icon-close {
   display: inline-block;
@@ -106,12 +107,12 @@ input[type="number"] {
   }
 }
 .el-tabs__item.is-active {
-  color: #14928a !important;
+  // color: var(--color-primary) !important;
   // font-size: 14px;
   font-weight: 600;
 }
 .el-tabs__item:hover {
-  color: #14928a !important;
+  // color: var(--color-primary) !important;
   // font-size: 14px;
   font-weight: 600;
 }
@@ -149,8 +150,8 @@ input[type="number"] {
   height: 36px;
   line-height: 36px;
   margin-bottom: 20px;
-  background-color: #14928a;
-  border: 1px solid #14928a;
+  background-color: var(--color-primary);
+  border: 1px solid var(--color-primary);
   cursor: pointer;
   color: #fff;
   font-size: 14px;
@@ -160,15 +161,15 @@ input[type="number"] {
   top: 3px;
 }
 .btn-primary {
-  background-color: #14928a;
-  border-color: #14928a;
+  background-color: var(--color-primary);
+  border-color: var(--color-primary);
   color: #fff;
   margin-bottom: 20px;
   min-width: 100px;
   &:focus,
   &:hover {
-    background-color: #0e726c;
-    border-color: #0e726c;
+    // background-color: #0e726c;
+    // border-color: #0e726c;
     color: #fff;
   }
 }
@@ -287,8 +288,8 @@ input[type="number"] {
       line-height: 32px;
       border-radius: 24px;
       width: 100px;
-      color: #14928a;
-      border: 1px solid rgba(20, 146, 138, 1);
+      color: var(--color-primary);
+      border: 1px solid var(--color-primary);
       font-size: 14px;
       text-align: center;
       margin-right: 12px;
@@ -298,13 +299,13 @@ input[type="number"] {
     }
     .term.active {
       color: #fff;
-      background-color: #14928a;
+      background-color: var(--color-primary);
     }
     .squrt {
       // margin-right: 15px;
       // height: 34px;
       // width: 8px;
-      // background-color: #14928a;
+      // background-color: var(--color-primary);
     }
   }
 }
@@ -323,7 +324,7 @@ input[type="number"] {
   .nextBtn {
     width: 120px;
     height: 40px;
-    background-color: #13817a;
+    background-color: var(--color-primary);
   }
   .okBtn {
     width: 120px;

+ 10 - 0
src/assets/element-variables.scss

@@ -0,0 +1,10 @@
+$--color-primary: #409EFF !default;
+// $--color-primary-light-1: mix($--color-white, $--color-primary, 10%) !default; /* 53a8ff */
+// $--color-primary-light-2: mix($--color-white, $--color-primary, 20%) !default; /* 66b1ff */
+// $--color-primary-light-3: mix($--color-white, $--color-primary, 30%) !default; /* 79bbff */
+// $--color-primary-light-4: mix($--color-white, $--color-primary, 40%) !default; /* 8cc5ff */
+// $--color-primary-light-5: mix($--color-white, $--color-primary, 50%) !default; /* a0cfff */
+// $--color-primary-light-6: mix($--color-white, $--color-primary, 60%) !default; /* b3d8ff */
+// $--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; /* c6e2ff */
+// $--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */
+// $--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */

+ 0 - 13
src/components/Editor/index.vue

@@ -378,18 +378,5 @@ export default {
   max-height: 500px;
 }
 
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 </style>
 

+ 1 - 1
src/components/form-item/index.vue

@@ -29,7 +29,7 @@ export default {
     height: 20px;
     display: inline-block;
     line-height: 20px;
-    color: #13817a;
+    color: var(--color-primary);
   }
 }
 </style>

+ 1 - 1
src/components/statistic/index.vue

@@ -110,7 +110,7 @@ export default {
   //   margin: auto!important;
   //   /deep/ .el-icon-edit{
   //     cursor: pointer;
-  //     color: #14928A;
+  //     color: var(--color-primary);
   //     font-size: 20px;
   //   }
   //   /deep/ .el-col {

+ 10 - 10
src/layout/components/Navbar.vue

@@ -321,8 +321,8 @@ import Cookies from 'js-cookie'
 import axios from 'axios'
 export default {
   data() {
-    const tenantId = sessionStorage.getItem('tenantId')
-    const tenantName = sessionStorage.getItem('tenantName')
+    let tenantConfig = sessionStorage.getItem('tenantConfig')
+    tenantConfig = tenantConfig ? JSON.parse(tenantConfig) : {}
     return {
       username: "",
       organName: this.$store.getters.organName,
@@ -339,9 +339,9 @@ export default {
       btnName: "获取验证码",
       isShowIns: false,
       tenantVisible: false,
-      tenantName: tenantName || null,
+      tenantName: tenantConfig.tenantName || null,
       tenantForm: {
-        tenantId: Number(tenantId) || null,
+        tenantId: Number(tenantConfig.tenantId) || null,
       },
       tenantList: []
     };
@@ -403,12 +403,14 @@ export default {
               tenantName = item.name
             }
           });
-          const tenantId = sessionStorage.getItem('tenantId')
-          if(tenantId != tenantForm.tenantId) {
+          let tenantConfig = sessionStorage.getItem('tenantConfig')
+          tenantConfig = tenantConfig ? JSON.parse(tenantConfig) : {}
+          if(tenantConfig.tenantId != tenantForm.tenantId) {
             //判断是否是当前路由
             // if(url == this.$route.path) {
-              sessionStorage.setItem('tenantId', tenantForm.tenantId)
-              sessionStorage.setItem('tenantName', tenantName)
+              tenantConfig.tenantId = tenantForm.tenantId
+              tenantConfig.tenantName = tenantForm.tenantName
+              sessionStorage.setItem('tenantConfig', JSON.stringify(tenantConfig))
               this.$router.push({
                   path: '/redirect',
                   query: this.$route.fullPath
@@ -570,7 +572,6 @@ export default {
   overflow: hidden;
   position: relative;
   z-index: 2000;
-  background: #14928a;
   box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.1);
 
   h2 {
@@ -599,7 +600,6 @@ export default {
     line-height: 90px;
     // padding-right: 22px;
     font-size: 16px;
-    color: #fff;
     .topIcon {
       width: 20px;
       height: 25px;

+ 3 - 3
src/layout/components/Sidebar/index.vue

@@ -171,7 +171,7 @@ export default {
 // /deep/.el-menu-item.is-active {
 //   font-weight: bold;
 //   background-color: #eef4f4 !important;
-//   color: #14928a !important;
+//   color: var(--color-primary) !important;
 //   position: relative;
 //   &::after {
 //     position: absolute;
@@ -179,13 +179,13 @@ export default {
 //     right: 0;
 //     content: " ";
 //     width: 6px;
-//     background-color: #14928a;
+//     background-color: var(--color-primary);
 //     display: block;
 //     height: 100%;
 //   }
 // }
 // /deep/.el-submenu .el-menu-item.is-active {
-//   color: #14928a !important;
+//   color: var(--color-primary) !important;
 // }
 /deep/.el-menu .menu-wrapper .el-menu-item {
   color: #666666;

+ 1 - 1
src/layout/components/instructions.vue

@@ -424,7 +424,7 @@ export default {
 .newPageBtn {
   font-size: 14px;
   line-height: 30px;
-  color: #14928a;
+  color: var(--color-primary);
   height: 30px;
   display: inline-block;
 }

+ 18 - 6
src/store/modules/user.js

@@ -2,6 +2,7 @@ import { login, logout, getInfo } from '@/api/user'
 import { getToken, setToken, removeToken, removeCrossToken, setCrossToken, removeTenant } from '@/utils/auth'
 import { tenantInfoQueryPage, tenantInfoInfo } from '@/views/organManager/api'
 import { resetRouter } from '@/router'
+import { setTheme } from '@/utils/setTheme'
 // import qs from 'qs'
 const state = {
   token: getToken(),
@@ -56,10 +57,15 @@ async function tenantQueryPage(id) {
       tenantId = tenantList[0]?.id
     }
     const info = await tenantInfoInfo({id: tenantId})
-    sessionStorage.setItem('tenantId', info.data.id)
-    sessionStorage.setItem('tenantName', info.data.name)
-    sessionStorage.setItem('tenantLogo', info.data.logo)
-    sessionStorage.setItem('tenantStatus', 'on') // 判断是否此状态,没有的话,刷新页面会重新请求页面
+    const data = info.data
+    sessionStorage.setItem('tenantConfig', JSON.stringify({
+      themeColor: data.config.themeColor,
+      theme: data.config.theme,
+      tenantId: data.id,
+      tenantName: data.name,
+      tenantLogo: data.logo,
+      tenantStatus: 'on' // 判断是否此状态,没有的话,刷新页面会重新请求页面
+    }))
   } catch(e) {}
 }
 
@@ -104,10 +110,16 @@ const actions = {
           const isSuperAdmin = data.data.isSuperAdmin
           const roles = data.data.roles
           const tenantId = data.data.tenantId
-          const tenantStatus = sessionStorage.getItem('tenantStatus')
-          if(tenantStatus != 'on') {
+          let tenantConfig = sessionStorage.getItem('tenantConfig')
+          tenantConfig = tenantConfig ? JSON.parse(tenantConfig) : {}
+          if(tenantConfig.tenantStatus != 'on') {
             await tenantQueryPage(tenantId)
           }
+          if(tenantId > 0) { // 判断是机构才会根据主题去设置
+            const themeColor = tenantConfig.themeColor
+            const theme = tenantConfig.theme
+            setTheme(themeColor)
+          }
           sessionStorage.setItem('baseTenantId', tenantId)
           commit('SET_NAME', username)
           commit('SET_AVATAR', avatar)

+ 9 - 2
src/styles/sidebar.scss

@@ -315,6 +315,13 @@
       height: 100%;
     }
   }
+
+  .navbar {
+    background: $menuPrimary;
+    .left-menu {
+      color: #fff;
+    }
+  }
 }
 
 #app.dark {
@@ -382,7 +389,7 @@
   }
 
   .navbar {
-    background: #000;
+    background: $darkmenuPrimary;
     .left-menu {
       color: #fff;
     }
@@ -402,7 +409,7 @@
 //     &:hover {
 //       // you can use $subMenuHover
 //       background-color: $menuHover !important;
-//       color: #14928A !important;
+//       color: var(--color-primary) !important;
 //       position: relative;
 //       &::after{
 //         position: absolute;

+ 2 - 0
src/styles/variables.scss

@@ -1,4 +1,5 @@
 // 默认大雅绿样式
+$menuPrimary: #14928A;
 $menuText:#1a1a1a;    // #000
 $menuActiveText:#fff;
 $menuActiveText2:#14928A;
@@ -11,6 +12,7 @@ $subMenuActiveBg:#EEF4F4; // 侧边栏二级选中样式
 $menuActiveAfter: #14928A;
 
 // 第二套样式配置
+$darkmenuPrimary: #177ddc;
 $darkmenuText:#fff;
 $darkmenuActiveText:#fff;
 $darkmenuActiveText2:#000;

+ 1 - 5
src/utils/auth.js

@@ -34,11 +34,7 @@ export function removeToken () {
 
 export function removeTenant() {
   // 移除跟机构相关信息
-  sessionStorage.removeItem('tenantId')
-  sessionStorage.removeItem('tenantName')
-  sessionStorage.removeItem('tenantLogo')
-  sessionStorage.removeItem('tenantStatus')
-  sessionStorage.removeItem('baseTenantId')
+  sessionStorage.removeItem('tenantConfig')
 }
 
 export function setCrossToken (token) {

+ 4 - 3
src/utils/request.js

@@ -80,9 +80,10 @@ service.interceptors.request.use(
       config.headers['Authorization'] = getToken()
       // config.headers['content-type'] = "application/x-www-form-urlencoded"
     }
-    const tenantId = sessionStorage.getItem('tenantId') || null
-    if(tenantId && tenantId != 'undefined') {
-      config.headers['tenantId'] = tenantId
+    let tenantConfig = sessionStorage.getItem('tenantConfig')
+    tenantConfig = tenantConfig ? JSON.parse(tenantConfig) : {}
+    if(tenantConfig.tenantId && tenantConfig.tenantId != 'undefined') {
+      config.headers['tenantId'] = tenantConfig.tenantId
     }
     config.params = cleanDeep(config.params)
     //  params: cleanDeep(options.params),

+ 4 - 3
src/utils/request2.js

@@ -81,10 +81,11 @@ service.interceptors.request.use(
       // please modify it according to the actual situation
       config.headers['Authorization'] = getToken()
     }
-    const tenantId = sessionStorage.getItem('tenantId') || null
     // const tenantStatus = config.data?.tenantStatus || config.params?.tenantStatus || null
-    if(tenantId && tenantId != 'undefined') {
-      config.headers['tenantId'] = tenantId
+    let tenantConfig = sessionStorage.getItem('tenantConfig')
+    tenantConfig = tenantConfig ? JSON.parse(tenantConfig) : {}
+    if(tenantConfig.tenantId && tenantConfig.tenantId != 'undefined') {
+      config.headers['tenantId'] = tenantConfig.tenantId
     }
     if (config.requestType === 'form') {
       config.headers['Content-Type'] = 'application/x-www-form-urlencoded'

+ 6 - 0
src/utils/setTheme.js

@@ -54,6 +54,12 @@ export const setTheme = async (val, isLoading) => { // 是否显示加载样式
   const element = document.getElementById('app')
   element.style.setProperty('--color-primary', val)
 
+  // 修改存的主题色
+  let tenantConfig = sessionStorage.getItem('tenantConfig')
+  tenantConfig = tenantConfig ? JSON.parse(tenantConfig) : {}
+  tenantConfig.themeColor = val
+  sessionStorage.setItem('tenantConfig', JSON.stringify(tenantConfig))
+
   if(isLoading) {
     tryHideFullScreenLoading()
   }

+ 3 - 3
src/views/HumanResources/form.vue

@@ -834,8 +834,8 @@ export default {
   }
 }
 .main-button {
-  background-color: #14928a;
-  border-color: #14928a;
+  background-color: var(--color-primary);
+  border-color: var(--color-primary);
 }
 .dialog-footer {
   display: block;
@@ -938,7 +938,7 @@ export default {
   .createRecord {
     font-size: 14px;
     font-weight: 400;
-    color: #14928a;
+    color: var(--color-primary);
     cursor: pointer;
   }
 }

+ 0 - 12
src/views/HumanResources/index.vue

@@ -839,18 +839,6 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 18 - 0
src/views/adapayAccount/form.vue

@@ -121,6 +121,24 @@
           </el-form-item>
           <el-form-item label="证照文件"
                         prop="multipartFile">
+            <template slot="label">
+              证照文件
+              <el-tooltip placement="top" popper-class="mTooltip">
+                  <div slot="content">
+                    内容须包含三证合一证件照、法人身份证正面照、法人身份证反面照、开户银行许可证照。 压缩 zip包后上传。
+                    <!-- 最大限制为 9 M。 -->
+                  </div>
+                  <i
+                    class="el-icon-question micon el-tooltip"
+                    style="
+                      font-size: 18px;
+                      color: #f56c6c;
+                      top: 2px;
+                      position: relative;
+                    "
+                  ></i>
+                </el-tooltip>
+            </template>
             <!-- <el-input type="file" class="uploadFile" v-model="form.multipartFile"></el-input> -->
             <el-upload class="avatar-upload"
                        ref="upload"

+ 0 - 12
src/views/app/clouldSuggestion.vue

@@ -189,18 +189,6 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-/deep/.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-table .cell {
   display: -webkit-box;
   overflow: hidden;

+ 0 - 12
src/views/app/entryActivities.vue

@@ -198,18 +198,6 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-/deep/.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 0 - 12
src/views/app/entryOperation.vue

@@ -457,18 +457,6 @@ export default {
 /deep/.ql-container .ql-editor {
   max-height: 500px;
 }
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 .el-row {
   margin-top: 40px;
 }

+ 1 - 12
src/views/app/suggestion.vue

@@ -180,18 +180,7 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-/deep/.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
+
 /deep/.el-table .cell {
   display: -webkit-box;
   overflow: hidden;

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

@@ -652,7 +652,7 @@
     <div class="btnWrap">
       <div class="okBtn" @click="submitInfo">{{ id ? "修改" : "确定" }}</div>
 
-      <div class="okBtn" style="background-color: #14928a" @click="resetFrom">
+      <div class="okBtn" style="background-color: var(--color-primary)" @click="resetFrom">
         重置
       </div>
     </div>

+ 8 - 7
src/views/businessManager/orderManager/businessStatement.vue

@@ -5,12 +5,6 @@
       经营报表
     </h2>
     <div class="m-core">
-      <el-button
-        @click="downloadFile"
-        v-permission="'operatingReport/export'"
-        style="margin-bottom:20px"
-        >导出</el-button
-      >
       <!-- 搜索类型 -->
       <save-form :inline="true" class="searchForm" :model="searchForm" @submit="search" @reset="onReSet">
         <el-form-item prop="organIdList">
@@ -68,6 +62,13 @@
           <el-button native-type="reset" type="primary">重置</el-button>
         </el-form-item>
       </save-form>
+      <el-button
+        @click="downloadFile"
+        type="primary"
+        v-permission="'operatingReport/export'"
+        style="margin-bottom:20px"
+        >导出</el-button
+      >
       <!-- 列表 -->
       <div class="tableWrap">
         <el-table
@@ -400,6 +401,6 @@ export default {
 <style lang="scss" scoped>
 .point {
   font-weight: bold;
-  color: #13817a;
+  color: var(--color-primary);
 }
 </style>

+ 1 - 1
src/views/businessManager/orderManager/businessStatementDetail.vue

@@ -354,6 +354,6 @@ export default {
 <style lang="scss" scoped>
 .point {
   font-weight: bold;
-  color: #13817a;
+  color: var(--color-primary);
 }
 </style>

+ 2 - 2
src/views/businessManager/orderManager/payRecord.vue

@@ -116,8 +116,8 @@
             v-permission="'financialExpenditure/batchDel/4043'"
             icon="el-icon-delete"
             style="
-              background-color: #14928a;
-              border: 1px solid #14928a;
+              background-color: var(--color-primary);
+              border: 1px solid var(--color-primary);
               margin-bottom: 15px;
             "
             @click="onBatchDel"

+ 10 - 6
src/views/businessManager/shopManager/shopList.vue

@@ -6,9 +6,10 @@
     </h2>
     <div class="m-core">
       <el-button
-        class="btn-primary"
+        type="primary"
         @click="onShopOperation('create')"
         v-permission="'/shopOperation'"
+        style="margin-bottom: 20px"
         >添加</el-button
       >
       <el-upload
@@ -22,7 +23,7 @@
         :on-error="handleError"
         :on-success="handleSuccess"
       >
-        <el-button class="btn-primary">商品导入</el-button>
+        <el-button type="primary" style="margin-bottom: 20px">商品导入</el-button>
       </el-upload>
       <!-- <el-upload v-permission="'export/goods'"
                  style="display: inline-block; margin: 0 10px;"
@@ -33,22 +34,25 @@
                  :headers="headers"
                  :on-error="handleError"
                  :on-success="handleSuccess">
-        <el-button class="btn-primary">商品导出</el-button>
+        <el-button >商品导出</el-button>
       </el-upload> -->
       <el-button
         v-permission="'export/goods'"
-        class="btn-primary"
+        type="primary"
+        style="margin-bottom: 20px"
         @click="exportShopList"
         >商品导出</el-button
       >
       <el-button
-        class="btn-primary"
+        type="primary"
+        style="margin-bottom: 20px"
         @click="onDownload"
         v-permission="'import/downloadTemplate'"
         >下载模板</el-button
       >
       <el-button
-        class="btn-primary"
+        type="primary"
+        style="margin-bottom: 20px"
         v-permission="'goods/add/commonAdd'"
         @click="onShopComAdd"
         >添加组合商品</el-button

+ 0 - 12
src/views/businessManager/shopManager/shopOperation.vue

@@ -875,19 +875,7 @@ replacementShowOrganId: 6,7 */
 .alert {
   margin-bottom: 22px;
 }
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
 
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 
 .el-row {
   margin-top: 40px;

+ 0 - 13
src/views/categroyManager/generalSettings/earlyWarning.vue

@@ -32,7 +32,6 @@
       </save-form>
       <auth auths="sysConfig/update/insert" style="margin-bottom: 20px">
         <el-button
-
           icon="el-icon-plus"
           type="primary"
           @click="openTypes('create')"
@@ -305,18 +304,6 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 0 - 12
src/views/categroyManager/generalSettings/errorManager.vue

@@ -173,18 +173,6 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 4 - 15
src/views/categroyManager/generalSettings/holidaySetting.vue

@@ -58,14 +58,15 @@ export default {
 </script>
 <style lang="scss" scoped>
 /deep/.el-input-group__append {
-  background: #dcdfe6;
+  background: #f5f7fa;
   border-color: #dcdfe6;
+  color: #909399;
   &:hover,
   &:active,
   &:focus {
-    background: #dcdfe6;
+    background: #f5f7fa;
     border-color: #dcdfe6;
-    color: #fff;
+    color: #909399;
   }
 }
 .calendarComponent {
@@ -112,16 +113,4 @@ export default {
   }
 }
 
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 </style>

+ 7 - 8
src/views/categroyManager/insideSetting/addressManager.vue

@@ -788,17 +788,16 @@ export default {
     padding: 0;
   }
 }
-.el-input-group__append,
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
+.el-input-group__append {
+  background: #f5f7fa;
+  border-color: #dcdfe6;
+  color: #909399;;
   &:hover,
   &:active,
   &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
+    background: #f5f7fa;
+    border-color: #dcdfe6;
+    color: #909399;;
   }
 }
 .el-vue-search-box-container {

+ 1 - 12
src/views/categroyManager/insideSetting/adminOperation.vue

@@ -261,18 +261,7 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
+
 .el-row {
   margin-top: 40px;
 }

+ 0 - 12
src/views/categroyManager/insideSetting/branchActive.vue

@@ -220,18 +220,6 @@ export default {
 };
 </script>
 <style lang="scss">
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 .el-vue-search-box-container {
   position: absolute !important;
   left: 10px;

+ 1 - 12
src/views/categroyManager/insideSetting/branchActiveOperation.vue

@@ -457,18 +457,7 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
+
 .el-row {
   margin-top: 40px;
 }

+ 1 - 12
src/views/categroyManager/insideSetting/branchManager.vue

@@ -633,18 +633,7 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
+
 /deep/.el-select {
   width: 100% !important;
 }

+ 0 - 12
src/views/categroyManager/insideSetting/chargeProfitManager.vue

@@ -372,18 +372,6 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-/deep/.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-dialog__body {
   padding: 0 20px;
 }

+ 4 - 15
src/views/categroyManager/insideSetting/gradientSet.vue

@@ -273,26 +273,15 @@ export default {
 </script>
 <style lang="scss" scoped>
 /deep/.el-input-group__append {
-  background: #dcdfe6;
+  background: #f5f7fa;
   border-color: #dcdfe6;
+  color: #909399;
   &:hover,
   &:active,
   &:focus {
-    background: #dcdfe6;
+    background: #f5f7fa;
     border-color: #dcdfe6;
-    color: #fff;
-  }
-}
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
+    color: #909399;
   }
 }
 .el-row {

+ 0 - 12
src/views/categroyManager/insideSetting/staffManager.vue

@@ -1169,18 +1169,6 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-/deep/.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-dialog__body {
   // padding: 0 20px;
 }

+ 1 - 1
src/views/categroyManager/modals/baseInfo.vue

@@ -702,7 +702,7 @@ export default {
           margin-right: 10px;
         }
         > .head.active {
-          background-color: #13817a;
+          background-color: var(--color-primary);
           color: #fff;
           border: none;
         }

+ 0 - 12
src/views/categroyManager/specialSetup/bannerManager.vue

@@ -74,18 +74,6 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-/deep/.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 0 - 12
src/views/categroyManager/specialSetup/branchSetting.vue

@@ -435,18 +435,6 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-/deep/.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 0 - 12
src/views/categroyManager/specialSetup/charges.vue

@@ -241,18 +241,6 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-/deep/.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 0 - 12
src/views/categroyManager/specialSetup/chargesList.vue

@@ -306,18 +306,6 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-/deep/.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 0 - 12
src/views/categroyManager/specialSetup/cloudTeacherFee.vue

@@ -235,18 +235,6 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 0 - 12
src/views/categroyManager/specialSetup/discountManage.vue

@@ -364,18 +364,6 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 0 - 12
src/views/categroyManager/specialSetup/jobTemplateSetting.vue

@@ -231,18 +231,6 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-/deep/.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 0 - 12
src/views/categroyManager/specialSetup/musicCourseFee.vue

@@ -401,18 +401,6 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 0 - 12
src/views/categroyManager/specialSetup/musicalManager.vue

@@ -221,18 +221,6 @@ export default {
     margin-right: 12px;
   }
 }
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 1 - 12
src/views/categroyManager/specialSetup/musicalManagerOut.vue

@@ -221,18 +221,7 @@ export default {
     margin-right: 12px;
   }
 }
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
+
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 0 - 12
src/views/categroyManager/specialSetup/tryClass.vue

@@ -74,18 +74,6 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 0 - 12
src/views/categroyManager/specialSetup/typesManager.vue

@@ -186,18 +186,6 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 1 - 1
src/views/categroyManager/vipActiveList.vue

@@ -831,7 +831,7 @@ export default {
         margin-right: 10px;
       }
       > .head.active {
-        background-color: #13817a;
+        background-color: var(--color-primary);
         color: #fff;
         border: none;
       }

+ 2 - 2
src/views/categroyManager/vipNewActive.vue

@@ -535,8 +535,8 @@ export default {
   margin-top: 30px;
 }
 /deep/.is-success {
-  color: #14928a !important;
-  border-color: #14928a !important;
+  color: var(--color-primary) !important;
+  border-color: var(--color-primary) !important;
 }
 </style>
 

+ 1 - 12
src/views/chargeManager/one.vue

@@ -607,18 +607,7 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-/deep/.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
+
 /deep/.el-dialog__body {
   // padding: 0 20px;
 }

+ 1 - 12
src/views/chargeManager/three.vue

@@ -175,18 +175,7 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-/deep/.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
+
 
 /deep/.el-select,
 /deep/.el-date-editor.el-input {

+ 0 - 12
src/views/chargeManager/two.vue

@@ -320,18 +320,6 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-/deep/.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-dialog__body {
   // padding: 0 20px;
 }

+ 0 - 12
src/views/chargeManager/twoTemp.vue

@@ -358,18 +358,6 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-/deep/.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-dialog__body {
   padding: 0 20px;
 }

+ 0 - 12
src/views/contentManager/contentOperation.vue

@@ -958,18 +958,6 @@ export default {
 /deep/.ql-container .ql-editor {
   max-height: 500px;
 }
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 .el-row {
   margin-top: 40px;
 }

+ 0 - 12
src/views/contentManager/model/systemNotifyModel.vue

@@ -645,18 +645,6 @@ export default {
   max-height: 500px;
   padding: 15px;
 }
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 .el-row {
   margin-top: 40px;
 }

+ 1 - 1
src/views/couponManager/couponDetail.vue

@@ -131,7 +131,7 @@
             <template slot-scope="scope">
               <div
                 @click="gotoOrder(scope.row.paymentOrderId)"
-                style="color: #14928a; cursor: pointer"
+                style="color: var(--color-primary); cursor: pointer"
               >
                 {{ scope.row.paymentOrderId }}
               </div>

+ 0 - 12
src/views/helpCenter/helpCategory.vue

@@ -225,18 +225,6 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 1 - 12
src/views/helpCenter/helpContent.vue

@@ -336,18 +336,7 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
+
 /deep/.el-date-editor.el-input {
   width: 100% !important;
 }

+ 10 - 10
src/views/indexErrDataRecord/components/errorCourse.vue

@@ -283,7 +283,7 @@
       >
         <el-form-item label="课程组编号/名称" prop="search">
           <el-input
-            style="width: 180px"
+            style="width: 180px !important"
             v-model.trim="searchForm.search"
             clearable
             placeholder="课程组编号/课程名称"
@@ -291,7 +291,7 @@
         </el-form-item>
         <el-form-item label="教学点" prop="schoolId">
           <el-select
-            style="width: 180px"
+            style="width: 180px !important"
             v-model.trim="searchForm.schoolId"
             clearable
             filterable
@@ -307,7 +307,7 @@
         </el-form-item>
         <el-form-item label="分部" prop="organIdList">
           <el-select
-            style="width: 180px"
+            style="width: 180px !important"
             class="multiple"
             v-model.trim="searchForm.organIdList"
             filterable
@@ -324,7 +324,7 @@
         </el-form-item>
         <el-form-item label="课程组类型" prop="groupType">
           <el-select
-            style="width: 180px"
+            style="width: 180px !important"
             v-model.trim="searchForm.groupType"
             clearable
             filterable
@@ -340,7 +340,7 @@
         </el-form-item>
         <el-form-item label="教学模式" prop="teachMode">
           <el-select
-            style="width: 180px"
+            style="width: 180px !important"
             v-model.trim="searchForm.teachMode"
             clearable
             filterable
@@ -352,7 +352,7 @@
         </el-form-item>
         <el-form-item label="合并课类型" prop="mergeCourseType">
           <el-select
-            style="width: 180px"
+            style="width: 180px !important"
             v-model.trim="searchForm.mergeCourseType"
             clearable
             filterable
@@ -368,7 +368,7 @@
         </el-form-item>
         <el-form-item label="老师类型" prop="teachType">
           <el-select
-            style="width: 180px"
+            style="width: 180px !important"
             v-model.trim="searchForm.teachType"
             clearable
             filterable
@@ -384,7 +384,7 @@
         </el-form-item>
         <el-form-item label="是否点名" prop="isCallNames">
           <el-select
-            style="width: 180px"
+            style="width: 180px !important"
             v-model.trim="searchForm.isCallNames"
             clearable
             filterable
@@ -784,11 +784,11 @@ export default {
   color: red;
 }
 .green {
-  color: #14928a;
+  color: var(--color-primary);
 }
 
 .exportBtn {
-  background: #13817a;
+  background: var(--color-primary);
 }
 .newBand {
   margin-top: 30px;

+ 2 - 13
src/views/levelManager/levelManager.vue

@@ -170,7 +170,7 @@
           <el-table-column
             align="center"
             prop="idcard"
-            label="身份证号"
+            label="证"
           ></el-table-column>
           <el-table-column
             align="center"
@@ -447,18 +447,7 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-.el-button--primary {
-  background: #14928a;
-  border-color: #14928a;
-  color: #fff;
-  &:hover,
-  &:active,
-  &:focus {
-    background: #14928a;
-    border-color: #14928a;
-    color: #fff;
-  }
-}
+
 /deep/.el-image-viewer__close {
   color: #fff;
   opacity: 1;

+ 1 - 1
src/views/main/abnormal/index.vue

@@ -63,7 +63,7 @@
         "
       >
         <span
-          style="color: #14928a"
+          style="color: var(--color-primary)"
           v-if="
             !errorType[item[0].errorType] ||
             (errorType[item[0].errorType] &&

+ 1 - 1
src/views/main/baseinfo/business.vue

@@ -228,7 +228,7 @@ export default {
 //   /deep/ .statistic-content{
 //     cursor: pointer;
 //     &.active > span{
-//       color: #14928a !important;
+//       color: var(--color-primary) !important;
 //     }
 //   }
 // }

+ 1 - 1
src/views/main/baseinfo/curriculum.vue

@@ -362,7 +362,7 @@ export default {
 //   /deep/ .statistic-content{
 //     cursor: pointer;
 //     &.active > span{
-//       color: #14928a !important;
+//       color: var(--color-primary) !important;
 //     }
 //   }
 // }

+ 1 - 1
src/views/main/baseinfo/hr.vue

@@ -120,7 +120,7 @@ export default {
   //   /deep/ .statistic-content{
   //     cursor: pointer;
   //     &.active > span{
-  //       color: #14928a !important;
+  //       color: var(--color-primary) !important;
   //     }
   //   }
   // }

+ 1 - 1
src/views/main/baseinfo/index.vue

@@ -275,7 +275,7 @@ export default {
     margin-right: 10px;
     height: 18px;
     width: 4px;
-    background-color: #14928a;
+    background-color: var(--color-primary);
   }
 }
 .wall {

+ 1 - 1
src/views/main/baseinfo/management.vue

@@ -450,7 +450,7 @@ export default {
 }
 .blod {
   font-weight: bold;
-  color: #14928a;
+  color: var(--color-primary);
   font-size: 22px !important;
 }
 // .chioseBox {

+ 1 - 1
src/views/main/baseinfo/operate.vue

@@ -148,7 +148,7 @@ export default {
 //   /deep/ .statistic-content{
 //     cursor: pointer;
 //     &.active > span{
-//       color: #14928a !important;
+//       color: var(--color-primary) !important;
 //     }
 //   }
 // }

+ 1 - 1
src/views/main/baseinfo/student.vue

@@ -295,7 +295,7 @@ export default {
 //   /deep/ .statistic-content{
 //     cursor: pointer;
 //     &.active > span{
-//       color: #14928a !important;
+//       color: var(--color-primary) !important;
 //     }
 //   }
 // }

+ 1 - 1
src/views/main/reminders/index.vue

@@ -42,7 +42,7 @@
           ]"
         >
           <span
-            style="color: #14928a"
+            style="color: var(--color-primary)"
             v-if="
               !errorType[item.errorType] ||
               (errorType[item.errorType] &&

+ 1 - 1
src/views/musicInspection/modals/lookDetail.vue

@@ -214,6 +214,6 @@ export default {
   color: red;
 }
 /deep/.el-icon-check {
-  color: #14928a;
+  color: var(--color-primary);
 }
 </style>

+ 1 - 3
src/views/operateManager/operateStudent.vue

@@ -101,9 +101,7 @@
           <el-button
             @click="onExport"
             type="primary"
-            v-permission="'export/operatingStudents'"
-            style="background: #14928a; border: 1px solid #14928a"
-            >导出</el-button
+            v-permission="'export/operatingStudents'">导出</el-button
           >
         </el-form-item>
       </save-form>

+ 1 - 3
src/views/operateManager/serverIndexList.vue

@@ -66,9 +66,7 @@
           <el-button
             @click="onExport"
             type="primary"
-            v-permission="'export/exercisesSituations'"
-            style="background: #14928a; border: 1px solid #14928a"
-            >导出</el-button
+            v-permission="'export/exercisesSituations'">导出</el-button
           >
         </el-form-item>
       </save-form>

+ 14 - 4
src/views/organManager/components/memberSetting.vue

@@ -8,11 +8,23 @@
         style="margin-bottom: 20px"
       ></el-alert>
       <el-form ref="form" label-position="top" :model="form" label-width="140px"  :inline="true">
+        <el-form-item label="按天会员激活金额" prop="day_divide"
+          :rules="[{ required: true, message: '请输入按天会员激活金额', trigger: 'blur' },
+            { type: 'number', message: '按天会员激活金额必须为数字值' }]">
+          <el-input
+            :disabled="isDisabled"
+            placeholder="请输入按天会员激活金额"
+            v-model.number="form.day_divide"
+            type="number"
+            style="width: 238px;"
+          >
+            <div slot="append">元/月</div>
+          </el-input>
+        </el-form-item>
         <el-form-item label="月度会员激活价" prop="month_divide"
           :rules="[{ required: true, message: '请输入月度会员激活价', trigger: 'blur' },
             { type: 'number', message: '月度会员激活价必须为数字值' }]">
           <el-input
-            
             :disabled="isDisabled"
             placeholder="请输入月度会员激活价"
             v-model.number="form.month_divide"
@@ -26,7 +38,6 @@
           :rules="[{ required: true, message: '请输入月度会员激活价', trigger: 'blur' },
             { type: 'number', message: '季度会员激活价必须为数字值' }]">
           <el-input
-            
             :disabled="isDisabled"
             placeholder="请输入季度会员激活价"
             v-model.number="form.quarter_divide"
@@ -40,7 +51,6 @@
           :rules="[{ required: true, message: '请输入月度会员激活价', trigger: 'blur' },
             { type: 'number', message: '半年会员激活价必须为数字值' }]">
           <el-input
-            
             :disabled="isDisabled"
             placeholder="请输入半年会员激活价"
             type="number"
@@ -54,7 +64,6 @@
           :rules="[{ required: true, message: '请输入月度会员激活价', trigger: 'blur' },
             { type: 'number', message: '年度会员激活价必须为数字值' }]">
           <el-input
-            
             :disabled="isDisabled"
             placeholder="请输入年度会员激活价"
             type="number"
@@ -118,6 +127,7 @@ export default {
   data () {
     return {
       form: {
+        day_divide: null,
         month_divide: null,
         quarter_divide: null,
         half_year_divide: null,

+ 12 - 12
src/views/organManager/components/openService.vue

@@ -45,47 +45,47 @@
           </el-select>
         </el-form-item>
         <el-form-item label="合同价" prop="contractPrice"
-          :rules="[{ required: true, message: '请输入合同价', trigger: 'blur' },
-            { type: 'number', message: '合同价必须为数字值' }]">
+          :rules="[{ required: true, message: '请输入合同价', trigger: 'blur' }]">
           <el-input
             :disabled="isDisabled"
             placeholder="请输入合同价"
-            v-model.number="form.contractPrice"
+            oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value"
+            v-model="form.contractPrice"
             type="number"
           >
             <div slot="append">元/{{ unitSuffix }}</div>
           </el-input>
         </el-form-item>
         <el-form-item label="原价" prop="originalPrice"
-          :rules="[{ required: true, message: '请输入原价', trigger: 'blur' },
-            { type: 'number', message: '原价必须为数字值' }]">
+          :rules="[{ required: true, message: '请输入原价', trigger: 'blur' }]">
           <el-input
             placeholder="请输入原价"
             disabled
-            v-model.number="form.originalPrice"
+            oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value"
+            v-model="form.originalPrice"
           >
             <div slot="append">元/{{ unitSuffix }}</div>
           </el-input>
         </el-form-item>
         <el-form-item label="有效期" prop="expiryCount"
-          :rules="[{ required: true, message: '请输入有效期', trigger: 'blur' },
-            { type: 'number', message: '有效期必须为数字值' }]">
+          :rules="[{ required: true, message: '请输入有效期', trigger: 'blur' }]">
           <el-input
             :disabled="isDisabled"
             type="number"
-            v-model.number="form.expiryCount"
+            onKeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))"
+            v-model="form.expiryCount"
             placeholder="请输入有效期"
           >
             <div slot="append">{{ unitSuffix }}</div>
           </el-input>
         </el-form-item>
         <el-form-item label="开通价格" prop="payAmount"
-          :rules="[{ required: true, message: '请输入开通价格', trigger: 'blur' },
-            { type: 'number', message: '开通价格必须为数字值' }]">
+          :rules="[{ required: true, message: '请输入开通价格', trigger: 'blur' }]">
           <el-input
             placeholder="请输入开通价格"
             type="number"
-            v-model.number="form.payAmount"
+            oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value"
+            v-model="form.payAmount"
             :disabled="isDisabled"
           >
             <div slot="append">元</div>

+ 3 - 0
src/views/organManager/components/organInfo.vue

@@ -276,6 +276,9 @@ export default {
             this.branchStatus = true;
         }
       });
+    } else {
+      this.$set(this.form, "province", null);
+      this.$set(this.form, "city", null);
     }
 
     this.$refs.form.clearValidate()

+ 3 - 3
src/views/organManager/components/rateSetting.vue

@@ -9,11 +9,11 @@
       ></el-alert>
       <el-form ref="form" label-position="top" :model="form" label-width="120px"  :inline="true">
         <el-form-item label="手续费费率" prop="chargeRate"
-          :rules="[{ required: true, message: '请输入手续费费率', trigger: 'blur' },
-            { type: 'number', message: '手续费费率必须为数字值' }]">
+          :rules="[{ required: true, message: '请输入手续费费率', trigger: 'blur' }]">
           <el-input
             :disabled="isDisabled"
-            v-model.number="form.chargeRate"
+            v-model="form.chargeRate"
+            oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value"
             placeholder="请输入手续费费率"
             style="width: 238px;"
             type="number"

+ 3 - 3
src/views/organManager/components/roomRules.vue

@@ -9,11 +9,11 @@
       ></el-alert>
       <el-form ref="form" label-position="top" :model="form" label-width="200px"  :inline="true">
         <el-form-item label="云教室人数上限(含老师)" prop="cloud_room_up_limit"
-          :rules="[{ required: true, message: '请输入云教室人数上限', trigger: 'blur' },
-            { type: 'number', message: '云教室人数上限必须为数字值', trigger: 'blur' }]">
+          :rules="[{ required: true, message: '请输入云教室人数上限', trigger: 'blur' }]">
           <el-input
             placeholder="请输入云教室人数上限"
-            v-model.number="form.cloud_room_up_limit"
+            v-model="form.cloud_room_up_limit"
+            onKeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))"
             :disabled="isDisabled"
             @blur="onUpLimitChange"
             type="number"

+ 0 - 1
src/views/organManager/organOperation.vue

@@ -173,5 +173,4 @@ export default {
 </script>
 <style lang='scss' scoped>
 
-
 </style>

+ 1 - 1
src/views/photo-detail/index.vue

@@ -297,7 +297,7 @@ export default {
   color: #fff;
   cursor: pointer;
   &.active{
-    color: #14928A;
+    color: var(--color-primary);
   }
 }
 .switch{

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

@@ -155,7 +155,7 @@
                   "
                   >开启缴费</el-button>
                 <el-dropdown>
-                  <span class="el-dropdown-link" style="color: #14928A">
+                  <span class="el-dropdown-link" style="color: var(--color-primary)">
                     更多操作<i class="el-icon-arrow-down el-icon--right"></i>
                   </span>
                   <el-dropdown-menu slot="dropdown" style="margin-left: 10px;">

+ 0 - 1
src/views/recodeManager/recodeList.vue

@@ -124,7 +124,6 @@
             @click="onExport"
             type="primary"
             v-permission="'export/queryTeacherAttendances'"
-            style="background-color: #14928a; border: 1px solid #14928a"
             >导出</el-button
           >
         </el-form-item>

+ 1 - 1
src/views/reportForm/downList.vue

@@ -78,7 +78,7 @@
                   :href="scope.row.fileUrl"
                   target="view_window"
                   v-if="scope.row.status != 0"
-                  style="color: #14928a"
+                  style="color: var(--color-primary)"
                   >点击下载</a
                 >
               </div>

+ 126 - 0
src/views/reportForm/index.vue

@@ -449,6 +449,48 @@
           >
         </div>
       </div>
+      <el-divider></el-divider>
+      <div class="m-core">
+        <div class="m-wrap">
+          <div class="title">服务指标明细导出:</div>
+          <select-all
+            v-model.trim="serviceOrganId"
+            class="organSelect"
+            style="width: 100%"
+            filterable
+            multiple
+            placeholder="请选择分部"
+            clearable
+          >
+            <el-option
+              v-for="(item, index) in selects.branchs"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
+          </select-all>
+          <el-date-picker
+            v-model.trim="serviceTimer"
+            style="width: 420px; margin-left: 15px"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            @change="getWeekTime"
+            :picker-options="{
+              firstDayOfWeek: 1,
+            }"
+          ></el-date-picker>
+          <el-button
+            style="margin-left: 10px"
+            type="primary"
+            @click="exportDetailService"
+            v-permission="'export/exercisesSituation'"
+            >导出</el-button
+          >
+        </div>
+      </div>
     </div>
   </div>
 </template>
@@ -486,6 +528,8 @@ export default {
       trainOrganId: null,
       questionActiveType: "CLOUD_TEACHER_FEEDBACK",
       vipOrganId: [],
+      serviceOrganId: [], // 服务报表
+      serviceTimer: []
     };
   },
   mounted() {
@@ -992,6 +1036,88 @@ export default {
       //   "您确定导出vip网管课?"
       // );
     },
+    exportDetailService() {
+      let sunday, monday;
+      if (this.serviceTimer && this.serviceTimer.length > 1) {
+        monday = this.serviceTimer[0];
+        sunday = this.serviceTimer[1];
+      } else {
+        monday = null;
+        sunday = null;
+      }
+      Export(
+        this,
+        {
+          url: "/api-web/export/exercisesSituation",
+          fileName: "服务指标明细.xls",
+          method: "post",
+          params: qs.stringify({
+            monday: monday,
+            sunday: sunday,
+            organId: this.serviceOrganId.join(","),
+          }),
+        },
+        "您确定导出服务指标明细?"
+      );
+    },
+    getNowDateAndMonday(time) {
+      let timestamp = new Date(time.replace(/-/g, "/")).getTime();
+      let serverDate = new Date(time);
+      if (serverDate.getDay() == 0) {
+        timestamp -= 7 * 24 * 60 * 60 * 1000;
+      }
+      let mondayTime =
+        timestamp - (serverDate.getDay() - 1) * 24 * 60 * 60 * 1000;
+
+      let mondayData = new Date(mondayTime);
+      //年
+      let mondayY = mondayData.getFullYear();
+      //月
+      let mondayM =
+        mondayData.getMonth() + 1 < 10
+          ? "0" + (mondayData.getMonth() + 1)
+          : mondayData.getMonth() + 1;
+      //日
+      let mondayD =
+        mondayData.getDate() < 10
+          ? "0" + mondayData.getDate()
+          : mondayData.getDate();
+
+      let str = mondayY + "-" + mondayM + "-" + mondayD;
+      return str;
+    },
+    getNowDateAndSunday(time) {
+      let timestamp = new Date(time.replace(/-/g, "/")).getTime();
+      let serverDate = new Date(time);
+
+      let num = 7 - serverDate.getDay();
+      if (num == 7) {
+        num = 0;
+      }
+      let sundayTiem = timestamp + num * 24 * 60 * 60 * 1000;
+      let SundayData = new Date(sundayTiem);
+      //年
+      let tomorrowY = SundayData.getFullYear(); //月
+      let tomorrowM =
+        SundayData.getMonth() + 1 < 10
+          ? "0" + (SundayData.getMonth() + 1)
+          : SundayData.getMonth() + 1;
+      //日
+      let tomorrowD =
+        SundayData.getDate() < 10
+          ? "0" + SundayData.getDate()
+          : SundayData.getDate();
+      let str = tomorrowY + "-" + tomorrowM + "-" + tomorrowD;
+      return str;
+    },
+    getWeekTime(val) {
+      if (val && val.length > 0) {
+        let start = this.getNowDateAndMonday(val[0]);
+        let end = this.getNowDateAndSunday(val[1]);
+        this.serviceTimer.splice(0, 1, start);
+        this.serviceTimer.splice(1, 1, end);
+      }
+    },
   },
   // AccountDetailTimer
 };

+ 1 - 1
src/views/resetTeaming/components/archicesComponents/baseInfo.vue

@@ -127,7 +127,7 @@ export default {
     margin-right: 10px;
     height: 14px;
     width: 4px;
-    background-color: #14928a;
+    background-color: var(--color-primary);
     z-index: 500;
   }
 }

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