Bläddra i källkod

基础配置基本完毕

1
mo 3 år sedan
förälder
incheckning
1fcc571bc0

+ 4 - 0
src/router/index.js

@@ -484,6 +484,10 @@ export const asyncRoutes = {
   // 课酬预警
   earlyWarning: () => import('@/views/categroyManager/generalSettings/earlyWarning'),
   holidaySetting: () => import('@/views/categroyManager/generalSettings/holidaySetting'),
+  // 平台课程默认值
+  platformCourseDeault:()=>import('@/views/platformManager/platformCourseDeault'),
+  // 特殊参数默认值
+  specialDeault:() => import('@/views/baseRulesManager/special.vue'),
 
 }
 

+ 59 - 43
src/views/baseRulesManager/components/dayaTeamRules.vue

@@ -11,32 +11,6 @@
           type="info"
         >
         </el-alert>
-        <!-- <el-row>
-          <el-form-item
-            prop="201"
-            :rules="[
-              {
-                required: true,
-                message: '请选择是否开启乐团预报名',
-                trigger: 'change',
-              },
-            ]"
-          >
-            <span style="color: #f56c6c; margin-right: 4px">*</span
-            >是否开启乐团预报名调查
-            <el-select
-              size="mini"
-              class="multiple"
-              v-model.trim="form['201']"
-              filterable
-              clearable
-              placeholder="请选择是否开启"
-            >
-              <el-option label="是" value="1"></el-option>
-              <el-option label="否" value="0"></el-option>
-            </el-select>
-          </el-form-item>
-        </el-row> -->
         <el-row>
           <el-form-item
             prop="132"
@@ -111,7 +85,12 @@
           </el-form-item>
         </el-row>
       </el-form>
-      <el-button size="mini" type="primary" @click="save" class="saveBtn"
+      <el-button  v-if="!isPlatform" size="mini" type="primary" @click="save" class="saveBtn"
+       v-permission="'sysTenantConfig/batchUpSet_dayaTeamRules'"
+        >保存</el-button
+      >
+        <el-button v-else size="mini" type="primary" @click="save" class="saveBtn"
+       v-permission="'sysConfig/batchUpdate_dayaTeamRules'"
         >保存</el-button
       >
     </div>
@@ -120,10 +99,11 @@
 <script>
 import {
   getSysTenantConfig,
-  questionnaireTopicQueryPage,
   setSysTenantConfig,
-} from "../api";
+} from "@/views/courseRulersManager/api";
+import { sysConfigList, sysConfigUpdate } from "@/api/generalSettings"; // 平台的修改和查
 export default {
+  props: ["isPlatform"],
   data() {
     return {
       form: {},
@@ -133,22 +113,18 @@ export default {
   },
   async mounted() {
     this.getRules();
-    try {
-      const res = await questionnaireTopicQueryPage({ page: 1, rows: 999 });
-      this.questionList = res.data.rows.map((item) => {
-        return {
-          label: item.title,
-          value: String(item.id),
-        };
-      });
-    } catch (e) {
-      console.log(e);
-    }
   },
   methods: {
-    async getRules() {
+    getRules() {
+      if (this.isPlatform) {
+        this.getPlatformRules();
+      } else {
+        this.getInstitutionRules();
+      }
+    },
+    async getPlatformRules() {
       try {
-        const res = await getSysTenantConfig({ group: "MUSIC" });
+        const res = await sysConfigList({ group: "DAYA_MUSIC" });
         res.data.forEach((item) => {
           // this.form[item.paramName] = item.paranValue
           this.$set(this.form, item.id, item.paranValue);
@@ -159,7 +135,40 @@ export default {
         console.log(e);
       }
     },
-    async save() {
+    async getInstitutionRules() {
+      try {
+        const res = await getSysTenantConfig({ group: "DAYA_MUSIC" });
+        res.data.forEach((item) => {
+          // this.form[item.paramName] = item.paranValue
+          this.$set(this.form, item.id, item.paranValue);
+        });
+        // this.$forceUpdate()
+        console.log(this.form);
+      } catch (e) {
+        console.log(e);
+      }
+    },
+    savePlatform() {
+      this.$refs.form.validate(async (valid) => {
+        if (valid) {
+          let param = [];
+          for (let i in this.form) {
+            param.push({
+              id: i,
+              paranValue: this.form[i],
+            });
+          }
+          try {
+            const res = await sysConfigUpdate(param);
+            this.$message.success("保存成功");
+            this.getRules();
+          } catch (e) {
+            console.log(e);
+          }
+        }
+      });
+    },
+    saveInstitution() {
       this.$refs.form.validate(async (valid) => {
         if (valid) {
           let param = [];
@@ -179,6 +188,13 @@ export default {
         }
       });
     },
+    save() {
+      if (this.isPlatform) {
+        this.savePlatform();
+      } else {
+        this.saveInstitution();
+      }
+    },
   },
 };
 </script>

+ 70 - 5
src/views/baseRulesManager/components/goodsRules.vue

@@ -74,7 +74,22 @@
         </el-row>
       </el-form>
     </div>
-    <el-button size="mini" type="primary" @click="save" class="saveBtn"
+    <el-button
+      size="mini"
+      type="primary"
+      @click="save"
+      class="saveBtn"
+      v-if="!isPlatform"
+      v-permission="'sysTenantConfig/batchUpSet_goodsRules'"
+      >保存</el-button
+    >
+       <el-button
+      size="mini"
+      type="primary"
+      @click="save"
+      class="saveBtn"
+      v-else
+      v-permission="'sysConfig/batchUpdate_goodsRules'"
       >保存</el-button
     >
   </div>
@@ -82,10 +97,11 @@
 <script>
 import {
   getSysTenantConfig,
-  questionnaireTopicQueryPage,
   setSysTenantConfig,
 } from "@/views/courseRulersManager/api";
+import { sysConfigList, sysConfigUpdate } from "@/api/generalSettings"; // 平台的修改和查
 export default {
+  props: ["isPlatform"],
   data() {
     return {
       form: {},
@@ -97,18 +113,60 @@ export default {
     this.getRules();
   },
   methods: {
-    async getRules() {
+    getRules() {
+      if (this.isPlatform) {
+        this.getPlatformRules();
+      } else {
+        this.getInstitutionRules();
+      }
+    },
+    async getPlatformRules() {
       try {
-        const res = await getSysTenantConfig({ group: "STOCK" });
+        const res = await sysConfigList({ group: "DAYA_STOCK" });
         res.data.forEach((item) => {
           // this.form[item.paramName] = item.paranValue
           this.$set(this.form, item.id, item.paranValue);
         });
+        // this.$forceUpdate()
+        console.log(this.form);
       } catch (e) {
         console.log(e);
       }
     },
-    async save() {
+    async getInstitutionRules() {
+      try {
+        const res = await getSysTenantConfig({ group: "DAYA_STOCK" });
+        res.data.forEach((item) => {
+          // this.form[item.paramName] = item.paranValue
+          this.$set(this.form, item.id, item.paranValue);
+        });
+        // this.$forceUpdate()
+        console.log(this.form);
+      } catch (e) {
+        console.log(e);
+      }
+    },
+    savePlatform() {
+      this.$refs.form.validate(async (valid) => {
+        if (valid) {
+          let param = [];
+          for (let i in this.form) {
+            param.push({
+              id: i,
+              paranValue: this.form[i],
+            });
+          }
+          try {
+            const res = await sysConfigUpdate(param);
+            this.$message.success("保存成功");
+            this.getRules();
+          } catch (e) {
+            console.log(e);
+          }
+        }
+      });
+    },
+    saveInstitution() {
       this.$refs.form.validate(async (valid) => {
         if (valid) {
           let param = [];
@@ -128,6 +186,13 @@ export default {
         }
       });
     },
+    save() {
+      if (this.isPlatform) {
+        this.savePlatform();
+      } else {
+        this.saveInstitution();
+      }
+    },
   },
 };
 </script>

+ 133 - 4
src/views/baseRulesManager/components/otherRules.vue

@@ -170,7 +170,7 @@
             />
           </el-form-item>
         </el-row>
-                <el-row>
+        <el-row>
           <el-form-item prop="199">
             考级活动开始时间
             <el-date-picker
@@ -200,8 +200,88 @@
             </el-date-picker>
           </el-form-item>
         </el-row>
+        <!-- <el-row>
+          <el-form-item
+            prop="203"
+            :rules="[
+              {
+                required: false,
+                pattern: /^[1-9][0-9]*$/,
+                message: '请输入正确的分钟数',
+              },
+            ]"
+          >
+            云教室可提前
+            <el-input
+              v-model="form['203']"
+              placeholder="请输入分钟数"
+              size="mini"
+            >
+              <template slot="append">分钟</template> </el-input
+            >进入教室
+          </el-form-item>
+        </el-row> -->
+        <el-row>
+          <el-form-item
+            prop="61"
+            :rules="[
+              {
+                required: false,
+                pattern: /^[1-9][0-9]*$/,
+                message: '请输入正确的分钟数',
+              },
+            ]"
+          >
+            云教室可提前:
+            <el-input
+              v-model="form['61']"
+              placeholder="请输入分钟数"
+              size="mini"
+            >
+              <template slot="append">分钟</template>
+            </el-input>
+            进入教室
+          </el-form-item>
+        </el-row>
+        <el-row>
+          <el-form-item
+            prop="60"
+            :rules="[
+              {
+                required: false,
+                pattern: /^[1-9][0-9]*$/,
+                message: '请输入正确的分钟数',
+              },
+            ]"
+          >
+            课程结束后:
+            <el-input
+              v-model="form['60']"
+              placeholder="请输入分钟数"
+              size="mini"
+            >
+              <template slot="append">分钟</template>
+            </el-input>
+            网络教室自动关闭
+          </el-form-item>
+        </el-row>
       </el-form>
-      <el-button size="mini" type="primary" @click="save" class="saveBtn"
+      <el-button
+        size="mini"
+        type="primary"
+        @click="save"
+        class="saveBtn"
+        v-if="!isPlatform"
+        v-permission="'sysTenantConfig/batchUpSet_otherRules'"
+        >保存</el-button
+      >
+      <el-button
+        size="mini"
+        type="primary"
+        @click="save"
+        class="saveBtn"
+        v-else
+        v-permission="'sysConfig/batchUpdate_otherRules'"
         >保存</el-button
       >
     </div>
@@ -213,7 +293,9 @@ import {
   questionnaireTopicQueryPage,
   setSysTenantConfig,
 } from "@/views/courseRulersManager/api";
+import { sysConfigList, sysConfigUpdate } from "@/api/generalSettings"; // 平台的修改和查
 export default {
+  props: ["isPlatform"],
   data() {
     return {
       form: {},
@@ -236,7 +318,27 @@ export default {
     }
   },
   methods: {
-    async getRules() {
+    getRules() {
+      if (this.isPlatform) {
+        this.getPlatformRules();
+      } else {
+        this.getInstitutionRules();
+      }
+    },
+    async getPlatformRules() {
+      try {
+        const res = await sysConfigList({ group: "DAYA_BASIC" });
+        res.data.forEach((item) => {
+          // this.form[item.paramName] = item.paranValue
+          this.$set(this.form, item.id, item.paranValue);
+        });
+        // this.$forceUpdate()
+        console.log(this.form);
+      } catch (e) {
+        console.log(e);
+      }
+    },
+    async getInstitutionRules() {
       try {
         const res = await getSysTenantConfig({ group: "DAYA_BASIC" });
         res.data.forEach((item) => {
@@ -249,7 +351,27 @@ export default {
         console.log(e);
       }
     },
-    async save() {
+    savePlatform() {
+      this.$refs.form.validate(async (valid) => {
+        if (valid) {
+          let param = [];
+          for (let i in this.form) {
+            param.push({
+              id: i,
+              paranValue: this.form[i],
+            });
+          }
+          try {
+            const res = await sysConfigUpdate(param);
+            this.$message.success("保存成功");
+            this.getRules();
+          } catch (e) {
+            console.log(e);
+          }
+        }
+      });
+    },
+    saveInstitution() {
       this.$refs.form.validate(async (valid) => {
         if (valid) {
           let param = [];
@@ -269,6 +391,13 @@ export default {
         }
       });
     },
+    save() {
+      if (this.isPlatform) {
+        this.savePlatform();
+      } else {
+        this.saveInstitution();
+      }
+    },
   },
 };
 </script>

+ 7 - 10
src/views/baseRulesManager/index.vue

@@ -11,7 +11,7 @@
           label="乐团参数"
           lazy
           name="1"
-          v-if="permissionList.earlyWarning"
+          v-if="permission('/institutionDayaTeamRules')"
         >
           <dayaTeamRules />
         </el-tab-pane>
@@ -20,7 +20,7 @@
           label="网管&试听课规则"
           lazy
           name="2"
-          v-if="permissionList.earlyWarning"
+           v-if="permission('/institutionAccompanyBaseConfig')"
         >
           <accompanyBaseConfig />
         </el-tab-pane>
@@ -28,7 +28,7 @@
           label="商品库存规则"
           lazy
           name="3"
-          v-if="permissionList.earlyWarning"
+           v-if="permission('/institutionGoodsRules')"
         >
           <goodsRules />
         </el-tab-pane>
@@ -36,7 +36,7 @@
           label="其他参数设置"
           lazy
           name="4"
-          v-if="permissionList.earlyWarning"
+           v-if="permission('/institutionOtherRules')"
         >
           <otherRules v-if="activeIndex == 4" />
         </el-tab-pane>
@@ -83,15 +83,12 @@ export default {
   data() {
     return {
       activeIndex: "1",
-      permissionList: {
-        overallManager: permission("/globalConfig/overallManager"),
-        overallManagerTwo: permission("/globalConfig/overallManagerTwo"),
-        holidaySetting: permission("/globalConfig/holidaySetting"),
-        earlyWarning: permission("/globalConfig/earlyWarning"),
-      },
     };
   },
   methods: {
+    permission(str){
+      return permission(str)
+    },
     handleClick(val) {
       this.activeIndex = val.name;
     },

+ 86 - 0
src/views/baseRulesManager/special.vue

@@ -0,0 +1,86 @@
+<template>
+  <div class="m-container">
+    <h2>
+      <div class="squrt"></div>
+      特殊规则默认值
+    </h2>
+    <div class="m-core">
+      <!-- navMenu -->
+      <tab-router v-model.trim="activeIndex" @tab-click="handleClick">
+        <el-tab-pane
+          label="乐团参数"
+          lazy
+          name="1"
+          v-if="permission('/platformDayaTeamRules')"
+        >
+          <dayaTeamRules :isPlatform='true'/>
+        </el-tab-pane>
+
+        <el-tab-pane
+          label="网管&试听课规则"
+          lazy
+          name="2"
+            v-if="permission('/platformAccompanyBaseConfig')"
+        >
+          <accompanyBaseConfig :isPlatform='true'/>
+        </el-tab-pane>
+        <el-tab-pane
+          label="商品库存规则"
+          lazy
+          name="3"
+          v-if="permission('/platformGoodsRules')"
+        >
+          <goodsRules :isPlatform='true'/>
+        </el-tab-pane>
+        <el-tab-pane
+          label="其他参数设置"
+          lazy
+          name="4"
+          v-if="permission('/platformOtherRules')"
+        >
+          <otherRules v-if="activeIndex == 4" :isPlatform='true'/>
+        </el-tab-pane>
+      </tab-router>
+    </div>
+  </div>
+</template>
+<script>
+import overallManager from "@/views/categroyManager/generalSettings/overallManager";
+
+import dayaTeamRules from "./components/dayaTeamRules";
+import goodsRules from "./components/goodsRules";
+import institutionRules from "./components/institutionRules";
+import accompanyBaseConfig from "@/views/categroyManager/accompanyBaseConfig";
+import otherRules from './components/otherRules'
+import { permission } from "@/utils/directivePage";
+export default {
+  components: {
+
+    goodsRules,
+    institutionRules,
+    overallManager,
+    dayaTeamRules,
+    accompanyBaseConfig,
+    otherRules
+  },
+  name: "baseRulersManager",
+  data() {
+    return {
+      activeIndex: "1",
+    };
+  },
+  methods: {
+    handleClick(val) {
+      this.activeIndex = val.name;
+    },
+    permission(str){
+      return permission (str)
+    }
+  },
+};
+</script>
+<style lang="scss" scoped>
+/deep/.m-container {
+  padding: 0 10px 40px;
+}
+</style>

+ 93 - 8
src/views/categroyManager/accompanyBaseConfig.vue

@@ -114,7 +114,22 @@
         </el-row>
       </el-form>
     </div>
-    <el-button size="mini" type="primary" @click="save" class="saveBtn"
+    <el-button
+      size="mini"
+      type="primary"
+      @click="save"
+      class="saveBtn"
+      v-if="!isPlatform"
+      v-permission="'sysTenantConfig/batchUpSet_accompanyBaseConfig'"
+      >保存</el-button
+    >
+    <el-button
+      size="mini"
+      type="primary"
+      @click="save"
+      class="saveBtn"
+      v-else
+      v-permission="'sysConfig/batchUpdate_accompanyBaseConfig'"
       >保存</el-button
     >
   </div>
@@ -122,10 +137,11 @@
 <script>
 import {
   getSysTenantConfig,
-  questionnaireTopicQueryPage,
   setSysTenantConfig,
 } from "@/views/courseRulersManager/api";
+import { sysConfigList, sysConfigUpdate } from "@/api/generalSettings"; // 平台的修改和查
 export default {
+  props: ["isPlatform"],
   data() {
     return {
       form: {
@@ -144,12 +160,17 @@ export default {
     this.getRules();
   },
   methods: {
-    async getRules() {
+    getRules() {
+      if (this.isPlatform) {
+        this.getPlatformRules();
+      } else {
+        this.getInstitutionRules();
+      }
+    },
+    async getPlatformRules() {
       try {
-        const res = await getSysTenantConfig({ group: "PRACTICE" });
+        const res = await sysConfigList({ group: "DAYA_PRACTICE" });
         res.data.forEach((item) => {
-          // this.form[item.paramName] = item.paranValue
-          this.$set(this.form, item.id, item.paranValue);
           if (item.id == "187" && item.paranValue) {
             this.organIdList = [
               ...item.paranValue.split(",").map((organ) => {
@@ -165,14 +186,72 @@ export default {
               }),
             ];
           }
+          this.$set(this.form, item.id, item.paranValue);
         });
+
         // this.$forceUpdate()
         console.log(this.form);
       } catch (e) {
         console.log(e);
       }
     },
-    async save() {
+    async getInstitutionRules() {
+      try {
+        const res = await getSysTenantConfig({ group: "DAYA_PRACTICE" });
+        res.data.forEach((item) => {
+          // this.form[item.paramName] = item.paranValue
+          if (item.id == "187" && item.paranValue) {
+            this.organIdList = [
+              ...item.paranValue.split(",").map((organ) => {
+                return Number(organ);
+              }),
+            ];
+          }
+
+          if (item.id == "49" && item.paranValue) {
+            this.subjectIdList = [
+              ...item.paranValue.split(",").map((organ) => {
+                return Number(organ);
+              }),
+            ];
+          }
+          this.$set(this.form, item.id, item.paranValue);
+        });
+        // this.$forceUpdate()
+      } catch (e) {
+        console.log(e);
+      }
+    },
+    savePlatform() {
+      this.$refs.form.validate(async (valid) => {
+        if (valid) {
+          let param = [];
+          for (let i in this.form) {
+            let obj = {
+              id: i,
+              paranValue: this.form[i],
+            };
+            if (i == "187") {
+              obj.paranValue = this.organIdList.join(",");
+              param.push(obj);
+            } else if (i == "49") {
+              obj.paranValue = this.subjectIdList.join(",");
+              param.push(obj);
+            } else {
+              param.push(obj);
+            }
+          }
+          try {
+            const res = await sysConfigUpdate(param);
+            this.$message.success("保存成功");
+            this.getRules();
+          } catch (e) {
+            console.log(e);
+          }
+        }
+      });
+    },
+    saveInstitution() {
       this.$refs.form.validate(async (valid) => {
         if (valid) {
           let param = [];
@@ -181,7 +260,6 @@ export default {
               id: i,
               paranValue: this.form[i],
             };
-
             if (i == "187") {
               obj.paranValue = this.organIdList.join(",");
               param.push(obj);
@@ -202,6 +280,13 @@ export default {
         }
       });
     },
+    save() {
+      if (this.isPlatform) {
+        this.savePlatform();
+      } else {
+        this.saveInstitution();
+      }
+    },
   },
 };
 </script>

+ 8 - 45
src/views/categroyManager/generalSettings/overallManager.vue

@@ -193,48 +193,7 @@
             </el-date-picker>
           </el-form-item>
         </el-row>
-        <el-row>
-          <el-form-item
-            prop="60"
-            :rules="[
-              {
-                required: false,
-                pattern: /^[1-9][0-9]*$/,
-                message: '请输入正确的分钟数',
-              },
-            ]"
-          >
-            对外课程课后缓冲时间:
-            <el-input
-              v-model="form['60']"
-              placeholder="请输入分钟数"
-              size="mini"
-            >
-              <template slot="append">分钟</template>
-            </el-input>
-          </el-form-item>
-        </el-row>
-        <el-row>
-          <el-form-item
-            prop="61"
-            :rules="[
-              {
-                required: false,
-                pattern: /^[1-9][0-9]*$/,
-                message: '请输入正确的分钟数',
-              },
-            ]"
-          >
-            对外课程课前缓冲时间:
-            <el-input
-              v-model="form['61']"
-              placeholder="请输入分钟数"
-              size="mini"
-            >
-              <template slot="append">分钟</template>
-            </el-input>
-          </el-form-item>
-        </el-row>
+
         <el-row>
           <el-form-item prop="63">
             付费网管课促销活动开始时间:
@@ -291,7 +250,7 @@
             </el-date-picker>
           </el-form-item>
         </el-row>
-        <el-row>
+        <!-- <el-row>
           <el-form-item
             prop="203"
             :rules="[
@@ -332,11 +291,12 @@
               <template slot="append">分钟</template> </el-input
             >关闭教室
           </el-form-item>
-        </el-row>
+        </el-row> -->
         <el-row>
           <el-form-item prop="89">
             学员端
             <el-time-picker
+            class="marginLR5"
               v-model="form['89']"
               format="HH:mm"
               value-format="HH:mm"
@@ -351,7 +311,8 @@
           <el-form-item>
             之后的推送延迟到第二天
             <el-time-picker
-              v-model="form['47']"
+              class="marginLR5"
+              v-model="form['205']"
               format="HH:mm"
               value-format="HH:mm"
               size="mini"
@@ -418,8 +379,10 @@
           >
         </el-col>
       </el-row> -->
+
     </div>
     <el-button size="mini" type="primary" @click="save" class="saveBtn"
+     v-permission="'sysConfig/batchUpdate/overallManager'"
       >保存</el-button
     >
   </div>

+ 2 - 1
src/views/categroyManager/generalSettings/overallManagerTwo.vue

@@ -54,7 +54,8 @@
         </el-row>
       </el-form>
     </div>
-        <el-button size="mini" type="primary" @click="save" class="saveBtn"
+    <el-button size="mini" type="primary" @click="save" class="saveBtn"
+     v-permission="'sysConfig/batchUpdate/overallManagerTwo'"
       >保存</el-button
     >
   </div>

+ 2 - 3
src/views/categroyManager/globalConfig.vue

@@ -23,7 +23,7 @@
           label="平台参数"
           lazy
           name="2"
-          v-if="permissionList.overallManagerTwo"
+          v-if="permissionList.overallManager"
         >
           <overallManager v-if="activeIndex == 2" />
         </el-tab-pane>
@@ -95,8 +95,7 @@ export default {
       permissionList: {
         overallManager: permission("/globalConfig/overallManager"),
         overallManagerTwo: permission("/globalConfig/overallManagerTwo"),
-        holidaySetting: permission("/globalConfig/holidaySetting"),
-        earlyWarning: permission("/globalConfig/earlyWarning"),
+        loginRules: permission("/globalConfig/loginRules")
       },
     };
   },

+ 60 - 16
src/views/courseRulersManager/components/leBaoRules.vue

@@ -76,6 +76,13 @@
       </el-form>
     </div>
     <el-button size="mini" type="primary" @click="save" class="saveBtn"
+     v-if="!isPlatform"
+      v-permission="'sysTenantConfig/batchUpSet_leBaoRules'"
+      >保存</el-button
+    >
+       <el-button size="mini" type="primary" @click="save" class="saveBtn"
+       v-permission="'sysConfig/batchUpdate_leBaoRules'"
+       v-else
       >保存</el-button
     >
   </div>
@@ -83,10 +90,11 @@
 <script>
 import {
   getSysTenantConfig,
-  questionnaireTopicQueryPage,
   setSysTenantConfig,
 } from "../api";
+import { sysConfigList, sysConfigUpdate } from "@/api/generalSettings"; // 平台的修改和查
 export default {
+   props: ["isPlatform"],
   data() {
     return {
       form: {},
@@ -96,22 +104,31 @@ export default {
   },
   async mounted() {
     this.getRules();
-    try {
-      const res = await questionnaireTopicQueryPage({ page: 1, rows: 999 });
-      this.questionList = res.data.rows.map((item) => {
-        return {
-          label: item.title,
-          value: String(item.id),
-        };
-      });
-    } catch (e) {
-      console.log(e);
-    }
   },
-  methods: {
-    async getRules() {
+ methods: {
+    getRules() {
+      if (this.isPlatform) {
+        this.getPlatformRules();
+      } else {
+        this.getInstitutionRules();
+      }
+    },
+    async getPlatformRules() {
+      try {
+        const res = await sysConfigList({ group: "MUSIC_REPAIR" });
+        res.data.forEach((item) => {
+          // this.form[item.paramName] = item.paranValue
+          this.$set(this.form, item.id, item.paranValue);
+        });
+        // this.$forceUpdate()
+        console.log(this.form);
+      } catch (e) {
+        console.log(e);
+      }
+    },
+    async getInstitutionRules() {
       try {
-        const res = await getSysTenantConfig({ group: "MUSIC_REPAIR" });
+        const res = await getSysTenantConfig({ group: "ONLINE" });
         res.data.forEach((item) => {
           // this.form[item.paramName] = item.paranValue
           this.$set(this.form, item.id, item.paranValue);
@@ -122,7 +139,27 @@ export default {
         console.log(e);
       }
     },
-    async save() {
+    savePlatform() {
+      this.$refs.form.validate(async (valid) => {
+        if (valid) {
+          let param = [];
+          for (let i in this.form) {
+            param.push({
+              id: i,
+              paranValue: this.form[i],
+            });
+          }
+          try {
+            const res = await sysConfigUpdate(param);
+            this.$message.success("保存成功");
+            this.getRules();
+          } catch (e) {
+            console.log(e);
+          }
+        }
+      });
+    },
+    saveInstitution() {
       this.$refs.form.validate(async (valid) => {
         if (valid) {
           let param = [];
@@ -142,6 +179,13 @@ export default {
         }
       });
     },
+    save() {
+        if (this.isPlatform) {
+        this.savePlatform();
+      } else {
+        this.saveInstitution();
+      }
+    },
   },
 };
 </script>

+ 1 - 0
src/views/courseRulersManager/components/loginRules.vue

@@ -74,6 +74,7 @@
       </el-form>
     </div>
     <el-button size="mini" type="primary" @click="save" class="saveBtn"
+     v-permission="'sysConfig/batchUpdate_loginRules'"
       >保存</el-button
     >
   </div>

+ 71 - 11
src/views/courseRulersManager/components/offlineTeamRules.vue

@@ -714,7 +714,7 @@
             </el-form-item>
           </span>
           <span v-if="form['182'] == 2">
-             <el-form-item
+            <el-form-item
               prop="181"
               :rules="[
                 {
@@ -772,7 +772,7 @@
             </el-form-item>
           </span>
           <span span v-if="form['186'] == 2">
-             <el-form-item
+            <el-form-item
               prop="185"
               :rules="[
                 {
@@ -794,19 +794,32 @@
           </span>
         </el-row>
       </el-form>
-      <el-button size="mini" type="primary" @click="save" class="saveBtn"
+      <el-button
+        size="mini"
+        type="primary"
+        @click="save"
+        class="saveBtn"
+        v-if="!isPlatform"
+        v-permission="'sysTenantConfig/batchUpSet_offlineTeamRules'"
+        >保存</el-button
+      >
+      <el-button
+        size="mini"
+        type="primary"
+        @click="save"
+        class="saveBtn"
+        v-else
+        v-permission="'sysConfig/batchUpdate_offlineTeamRules'"
         >保存</el-button
       >
     </div>
   </div>
 </template>
 <script>
-import {
-  getSysTenantConfig,
-  questionnaireTopicQueryPage,
-  setSysTenantConfig,
-} from "../api";
+import { getSysTenantConfig, setSysTenantConfig } from "../api";
+import { sysConfigList, sysConfigUpdate } from "@/api/generalSettings"; // 平台的修改和查
 export default {
+  props: ["isPlatform"],
   data() {
     return {
       form: {},
@@ -818,7 +831,27 @@ export default {
     this.getRules();
   },
   methods: {
-    async getRules() {
+    getRules() {
+      if (this.isPlatform) {
+        this.getPlatformRules();
+      } else {
+        this.getInstitutionRules();
+      }
+    },
+    async getPlatformRules() {
+      try {
+        const res = await sysConfigList({ group: "OFFLINE" });
+        res.data.forEach((item) => {
+          // this.form[item.paramName] = item.paranValue
+          this.$set(this.form, item.id, item.paranValue);
+        });
+        // this.$forceUpdate()
+        console.log(this.form);
+      } catch (e) {
+        console.log(e);
+      }
+    },
+    async getInstitutionRules() {
       try {
         const res = await getSysTenantConfig({ group: "OFFLINE" });
         res.data.forEach((item) => {
@@ -831,7 +864,27 @@ export default {
         console.log(e);
       }
     },
-    async save() {
+    savePlatform() {
+      this.$refs.form.validate(async (valid) => {
+        if (valid) {
+          let param = [];
+          for (let i in this.form) {
+            param.push({
+              id: i,
+              paranValue: this.form[i],
+            });
+          }
+          try {
+            const res = await sysConfigUpdate(param);
+            this.$message.success("保存成功");
+            this.getRules();
+          } catch (e) {
+            console.log(e);
+          }
+        }
+      });
+    },
+    saveInstitution() {
       this.$refs.form.validate(async (valid) => {
         if (valid) {
           let param = [];
@@ -843,7 +896,7 @@ export default {
           }
           try {
             const res = await setSysTenantConfig(param);
-            this.$message.success("保存成功,修改后课酬以最新规则结算.");
+            this.$message.success("保存成功");
             this.getRules();
           } catch (e) {
             console.log(e);
@@ -851,6 +904,13 @@ export default {
         }
       });
     },
+    save() {
+      if (this.isPlatform) {
+        this.savePlatform();
+      } else {
+        this.saveInstitution();
+      }
+    },
   },
 };
 </script>

+ 93 - 8
src/views/courseRulersManager/components/onlineCloudRules.vue

@@ -24,6 +24,7 @@
                 pattern: /^[1-9][0-9]*$/,
                 message: '请输入正确的时间',
               },
+              { validator: this.validateMin, trigger: 'blur' },
             ]"
           >
             <span style="color: #f56c6c; margin-right: 4px">*</span>
@@ -312,41 +313,110 @@
         </el-row>
       </el-form>
     </div>
-    <el-button size="mini" type="primary" @click="save" class="saveBtn"
+    <el-button
+      size="mini"
+      type="primary"
+      @click="save"
+      class="saveBtn"
+      v-permission="'sysTenantConfig/batchUpSet_onlineCloudRules'"
+      v-if="!isPlatform"
+      >保存</el-button
+    >
+        <el-button
+      size="mini"
+      type="primary"
+      @click="save"
+      class="saveBtn"
+      v-permission="'sysConfig/batchUpdate_onlineCloudRules'"
+      v-else
       >保存</el-button
     >
   </div>
 </template>
 <script>
-import {
-  getSysTenantConfig,
-  questionnaireTopicQueryPage,
-  setSysTenantConfig,
-} from "../api";
+import { getSysTenantConfig, setSysTenantConfig } from "../api";
+import { sysConfigList, sysConfigUpdate } from "@/api/generalSettings"; // 平台的修改和查
 export default {
+  props: ["isPlatform"],
   data() {
     return {
       form: {},
       questionList: [],
       rulesVisiable: false,
+      forwardTime: 5,
     };
   },
   async mounted() {
     this.getRules();
   },
   methods: {
-    async getRules() {
+    getRules() {
+      if (this.isPlatform) {
+        this.getPlatformRules();
+      } else {
+        this.getInstitutionRules();
+      }
+    },
+    async getPlatformRules() {
+      try {
+        const res = await sysConfigList({ group: "ONLINE" });
+        const forwardRes = await sysConfigList({ group: "DAYA_BASIC" });
+
+        forwardRes.data.forEach((item) => {
+          if (item.id == "203") {
+            this.forwardTime = item.paranValue;
+          }
+        });
+        res.data.forEach((item) => {
+          // this.form[item.paramName] = item.paranValue
+          this.$set(this.form, item.id, item.paranValue);
+        });
+        // this.$forceUpdate()
+        console.log(this.forwardTime);
+      } catch (e) {
+        console.log(e);
+      }
+    },
+    async getInstitutionRules() {
       try {
         const res = await getSysTenantConfig({ group: "ONLINE" });
+        const forwardRes = await getSysTenantConfig({ group: "DAYA_BASIC" });
+        forwardRes.data.forEach((item) => {
+          if (item.id == "203") {
+            this.forwardTime = item.paranValue;
+          }
+        });
+        console.log(this.forwardTime);
         res.data.forEach((item) => {
           // this.form[item.paramName] = item.paranValue
           this.$set(this.form, item.id, item.paranValue);
         });
+        // this.$forceUpdate()
       } catch (e) {
         console.log(e);
       }
     },
-    async save() {
+    savePlatform() {
+      this.$refs.form.validate(async (valid) => {
+        if (valid) {
+          let param = [];
+          for (let i in this.form) {
+            param.push({
+              id: i,
+              paranValue: this.form[i],
+            });
+          }
+          try {
+            const res = await sysConfigUpdate(param);
+            this.$message.success("保存成功");
+            this.getRules();
+          } catch (e) {
+            console.log(e);
+          }
+        }
+      });
+    },
+    saveInstitution() {
       this.$refs.form.validate(async (valid) => {
         if (valid) {
           let param = [];
@@ -366,6 +436,21 @@ export default {
         }
       });
     },
+    save() {
+      if (this.isPlatform) {
+        this.savePlatform();
+      } else {
+        this.saveInstitution();
+      }
+    },
+    validateMin(rule, value, callback) {
+      const one = Number(value);
+      const max = Number(this.forwardTime);
+      if (!max || one <= max) {
+        return callback();
+      }
+      return callback(new Error(`最早可提前${this.forwardTime}分钟进入教室`));
+    },
   },
 };
 </script>

+ 69 - 16
src/views/courseRulersManager/components/serverMinitor.vue

@@ -112,7 +112,23 @@
         </el-row>
       </el-form>
     </div>
-    <el-button size="mini" type="primary" @click="save" class="saveBtn"
+
+    <el-button
+      v-if="!isPlatform"
+      size="mini"
+      type="primary"
+      @click="save"
+      class="saveBtn"
+      v-permission="'sysTenantConfig/batchUpSet_serverMinitor'"
+      >保存</el-button
+    >
+    <el-button
+      v-else
+      size="mini"
+      type="primary"
+      @click="save"
+      class="saveBtn"
+      v-permission="'sysConfig/batchUpdate_serverMinitor'"
       >保存</el-button
     >
   </div>
@@ -120,10 +136,10 @@
 <script>
 import {
   getSysTenantConfig,
-  questionnaireTopicQueryPage,
   setSysTenantConfig,
 } from "@/views/courseRulersManager/api";
 export default {
+  props: ["isPlatform"],
   data() {
     return {
       form: {
@@ -136,32 +152,62 @@ export default {
   },
   async mounted() {
     this.getRules();
-    try {
-      const res = await questionnaireTopicQueryPage({ page: 1, rows: 999 });
-      this.questionList = res.data.rows.map((item) => {
-        return {
-          label: item.title,
-          value: String(item.id),
-        };
-      });
-    } catch (e) {
-      console.log(e);
-    }
   },
   methods: {
-    async getRules() {
+    getRules() {
+      if (this.isPlatform) {
+        this.getPlatformRules();
+      } else {
+        this.getInstitutionRules();
+      }
+    },
+    async getPlatformRules() {
+      try {
+        const res = await sysConfigList({ group: "SERVER_ERROR" });
+        res.data.forEach((item) => {
+          // this.form[item.paramName] = item.paranValue
+          this.$set(this.form, item.id, item.paranValue);
+        });
+        // this.$forceUpdate()
+        console.log(this.form);
+      } catch (e) {
+        console.log(e);
+      }
+    },
+    async getInstitutionRules() {
       try {
-        const res = await getSysTenantConfig({ group: "MUSIC_REPAIR" });
+        const res = await getSysTenantConfig({ group: "SERVER_ERROR" });
         res.data.forEach((item) => {
           // this.form[item.paramName] = item.paranValue
           this.$set(this.form, item.id, item.paranValue);
         });
         // this.$forceUpdate()
+        console.log(this.form);
       } catch (e) {
         console.log(e);
       }
     },
-    async save() {
+    savePlatform() {
+      this.$refs.form.validate(async (valid) => {
+        if (valid) {
+          let param = [];
+          for (let i in this.form) {
+            param.push({
+              id: i,
+              paranValue: this.form[i],
+            });
+          }
+          try {
+            const res = await sysConfigUpdate(param);
+            this.$message.success("保存成功");
+            this.getRules();
+          } catch (e) {
+            console.log(e);
+          }
+        }
+      });
+    },
+    saveInstitution() {
       this.$refs.form.validate(async (valid) => {
         if (valid) {
           let param = [];
@@ -181,6 +227,13 @@ export default {
         }
       });
     },
+    save() {
+      if (this.isPlatform) {
+        this.savePlatform();
+      } else {
+        this.saveInstitution();
+      }
+    },
   },
 };
 </script>

+ 61 - 4
src/views/courseRulersManager/components/studentAttRules.vue

@@ -64,6 +64,13 @@
       </el-form>
     </div>
     <el-button size="mini" type="primary" @click="save" class="saveBtn"
+      v-if="!isPlatform"
+     v-permission="'sysTenantConfig/batchUpSet_studentAttRules'"
+      >保存</el-button
+    >
+       <el-button size="mini" type="primary" @click="save" class="saveBtn"
+      v-else
+     v-permission="'sysConfig/batchUpdate_studentAttRules'"
       >保存</el-button
     >
   </div>
@@ -71,10 +78,11 @@
 <script>
 import {
   getSysTenantConfig,
-  questionnaireTopicQueryPage,
   setSysTenantConfig,
 } from "../api";
+import { sysConfigList, sysConfigUpdate } from "@/api/generalSettings"; // 平台的修改和查
 export default {
+    props: ["isPlatform"],
   data() {
     return {
       form: {},
@@ -85,19 +93,61 @@ export default {
   async mounted() {
     this.getRules();
   },
-  methods: {
-    async getRules() {
+ methods: {
+    getRules() {
+      if (this.isPlatform) {
+        this.getPlatformRules();
+      } else {
+        this.getInstitutionRules();
+      }
+    },
+    async getPlatformRules() {
+      try {
+        const res = await sysConfigList({ group: "COURSE" });
+        res.data.forEach((item) => {
+          // this.form[item.paramName] = item.paranValue
+          this.$set(this.form, item.id, item.paranValue);
+        });
+        // this.$forceUpdate()
+        console.log(this.form);
+      } catch (e) {
+        console.log(e);
+      }
+    },
+    async getInstitutionRules() {
       try {
         const res = await getSysTenantConfig({ group: "COURSE" });
         res.data.forEach((item) => {
           // this.form[item.paramName] = item.paranValue
           this.$set(this.form, item.id, item.paranValue);
         });
+        // this.$forceUpdate()
+        console.log(this.form);
       } catch (e) {
         console.log(e);
       }
     },
-    async save() {
+    savePlatform() {
+      this.$refs.form.validate(async (valid) => {
+        if (valid) {
+          let param = [];
+          for (let i in this.form) {
+            param.push({
+              id: i,
+              paranValue: this.form[i],
+            });
+          }
+          try {
+            const res = await sysConfigUpdate(param);
+            this.$message.success("保存成功");
+            this.getRules();
+          } catch (e) {
+            console.log(e);
+          }
+        }
+      });
+    },
+    saveInstitution() {
       this.$refs.form.validate(async (valid) => {
         if (valid) {
           let param = [];
@@ -117,6 +167,13 @@ export default {
         }
       });
     },
+    save() {
+        if (this.isPlatform) {
+        this.savePlatform();
+      } else {
+        this.saveInstitution();
+      }
+    },
   },
 };
 </script>

+ 72 - 155
src/views/courseRulersManager/components/teamRules.vue

@@ -1,115 +1,7 @@
 <template>
   <div class="m-container">
     <div class="m-core">
-      <!-- <el-button size="mini" type="primary">添加规则</el-button> -->
-
       <el-form :inline="true" :model="form" ref="form">
-        <!-- <el-alert
-          style="margin: 20px 0"
-          title="预报名规则"
-          :closable="false"
-          type="info"
-        >
-        </el-alert>
-        <el-row>
-          <el-form-item
-            prop="201"
-            :rules="[
-              {
-                required: true,
-                message: '请选择是否开启乐团预报名',
-                trigger: 'change',
-              },
-            ]"
-          >
-            <span style="color: #f56c6c; margin-right: 4px">*</span
-            >是否开启乐团预报名调查
-            <el-select
-              size="mini"
-              class="multiple"
-              v-model.trim="form['201']"
-              filterable
-              clearable
-              placeholder="请选择是否开启"
-            >
-              <el-option label="是" value="1"></el-option>
-              <el-option label="否" value="0"></el-option>
-            </el-select>
-          </el-form-item>
-        </el-row>
-        <el-row>
-          <el-form-item
-            prop="132"
-            :rules="[
-              {
-                required: false,
-                pattern: /^[1-9][0-9]*$/,
-                message: '请输入正确的人数',
-              },
-            ]"
-          >
-            乐团预报名人数达到
-            <el-input
-              v-model="form['132']"
-              size="mini"
-              placeholder="请输入人数"
-            >
-              <template slot="append">人</template>
-            </el-input>
-            时,可将乐团状态变更为创建缴费中
-          </el-form-item>
-        </el-row>
-        <el-alert
-          style="margin: 20px 0"
-          title="报名缴费规则"
-          :closable="false"
-          type="info"
-        >
-        </el-alert>
-        <el-row>
-          <el-form-item
-            prop="134"
-            :rules="[
-              {
-                required: false,
-                pattern: /^[1-9][0-9]*$/,
-                message: '请输入正确的人数',
-              },
-            ]"
-          >
-            报名缴费阶段乐团若未合并学员,缴费人数达到
-            <el-input
-              v-model="form['134']"
-              size="mini"
-              placeholder="请输入人数"
-            >
-              <template slot="append">人</template>
-            </el-input>
-            时,可确认开团
-          </el-form-item>
-        </el-row>
-        <el-row>
-          <el-form-item
-            prop="135"
-            :rules="[
-              {
-                required: false,
-                pattern: /^[1-9][0-9]*$/,
-                message: '请输入正确的人数',
-              },
-            ]"
-          >
-            报名缴费阶段乐团若合并学员,缴费人数达到
-            <el-input
-              v-model="form['135']"
-              size="mini"
-              placeholder="请输入人数"
-            >
-              <template slot="append">人</template>
-            </el-input>
-            时,可确认开团
-          </el-form-item>
-        </el-row> -->
         <el-alert
           style="margin: 20px 0"
           title="乐团筹备规则"
@@ -135,33 +27,6 @@
             后自动确认收货
           </el-form-item>
         </el-row>
-
-        <!-- <el-alert
-          style="margin: 20px 0"
-          title="乐团档案"
-          :closable="false"
-          type="info"
-        >
-        </el-alert>
-        <el-row>
-          乐团满意度调查问卷
-          <el-select
-            size="mini"
-            class="multiple"
-            v-model.trim="form['103']"
-            filterable
-            clearable
-            placeholder="请选择问卷"
-          >
-            <el-option
-              v-for="item in questionList"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            ></el-option
-          ></el-select>
-        </el-row> -->
-
         <el-alert
           style="margin: 10px 0"
           title="会员乐团规则"
@@ -235,10 +100,9 @@
             </el-input>
             提醒乐团主管安排下学期课程
           </el-form-item>
-
         </el-row>
         <el-row>
-                    <el-form-item
+          <el-form-item
             prop="99"
             :rules="[
               {
@@ -256,19 +120,25 @@
           </el-form-item>
         </el-row>
       </el-form>
+
+      <el-button size="mini" type="primary" @click="save" class="saveBtn"
+       v-if="!isPlatform"
+      v-permission="'sysTenantConfig/batchUpSet_teamRules'"
+        >保存</el-button
+      >
       <el-button size="mini" type="primary" @click="save" class="saveBtn"
+      v-else
+      v-permission="'sysConfig/batchUpdate_teamRules'"
         >保存</el-button
       >
     </div>
   </div>
 </template>
 <script>
-import {
-  getSysTenantConfig,
-  questionnaireTopicQueryPage,
-  setSysTenantConfig,
-} from "../api";
+import { getSysTenantConfig, setSysTenantConfig } from "../api";
+import { sysConfigList, sysConfigUpdate } from "@/api/generalSettings"; // 平台的修改和查
 export default {
+  props: ["isPlatform"],
   data() {
     return {
       form: {},
@@ -278,20 +148,40 @@ export default {
   },
   async mounted() {
     this.getRules();
-    try {
-      const res = await questionnaireTopicQueryPage({ page: 1, rows: 999 });
-      this.questionList = res.data.rows.map((item) => {
-        return {
-          label: item.title,
-          value: String(item.id),
-        };
-      });
-    } catch (e) {
-      console.log(e);
-    }
+    // try {
+    //   const res = await questionnaireTopicQueryPage({ page: 1, rows: 999 });
+    //   this.questionList = res.data.rows.map((item) => {
+    //     return {
+    //       label: item.title,
+    //       value: String(item.id),
+    //     };
+    //   });
+    // } catch (e) {
+    //   console.log(e);
+    // }
   },
   methods: {
-    async getRules() {
+    getRules() {
+      if (this.isPlatform) {
+        this.getPlatformRules();
+      } else {
+        this.getInstitutionRules();
+      }
+    },
+    async getPlatformRules() {
+      try {
+        const res = await sysConfigList({ group: "MUSIC" });
+        res.data.forEach((item) => {
+          // this.form[item.paramName] = item.paranValue
+          this.$set(this.form, item.id, item.paranValue);
+        });
+        // this.$forceUpdate()
+        console.log(this.form);
+      } catch (e) {
+        console.log(e);
+      }
+    },
+    async getInstitutionRules() {
       try {
         const res = await getSysTenantConfig({ group: "MUSIC" });
         res.data.forEach((item) => {
@@ -304,7 +194,27 @@ export default {
         console.log(e);
       }
     },
-    async save() {
+    savePlatform() {
+      this.$refs.form.validate(async (valid) => {
+        if (valid) {
+          let param = [];
+          for (let i in this.form) {
+            param.push({
+              id: i,
+              paranValue: this.form[i],
+            });
+          }
+          try {
+            const res = await sysConfigUpdate(param);
+            this.$message.success("保存成功");
+            this.getRules();
+          } catch (e) {
+            console.log(e);
+          }
+        }
+      });
+    },
+    saveInstitution() {
       this.$refs.form.validate(async (valid) => {
         if (valid) {
           let param = [];
@@ -324,6 +234,13 @@ export default {
         }
       });
     },
+    save() {
+        if (this.isPlatform) {
+        this.savePlatform();
+      } else {
+        this.saveInstitution();
+      }
+    },
   },
 };
 </script>

+ 14 - 31
src/views/courseRulersManager/index.vue

@@ -11,7 +11,7 @@
           label="乐团规则设置"
           lazy
           name="1"
-          v-if="permissionList.typesManager"
+          v-if="permission('/institutionTeamRules')"
         >
           <teamRules />
         </el-tab-pane>
@@ -28,8 +28,8 @@
         <el-tab-pane
           label="线下课考勤规则"
           lazy
-          name="3"
-          v-if="permissionList.discountManage"
+          name="2"
+            v-if="permission('/institutionOfflineTeamRules')"
         >
           <offlineTeamRules />
         </el-tab-pane>
@@ -37,40 +37,32 @@
         <el-tab-pane
           label="云教室考勤规则"
           lazy
-          name="5"
-          v-if="permissionList.musicCourseFee"
+          name="3"
+           v-if="permission('/institutionOnlineCloudRules')"
         >
           <onlineCloudRules />
         </el-tab-pane>
-        <!-- <el-tab-pane
-          label="网管&试听课规则"
-          lazy
-          name="4"
-          v-if="permissionList.chargesList"
-        >
-          <accompanyBaseConfig />
-        </el-tab-pane> -->
         <el-tab-pane
           label="乐保设置"
           lazy
-          name="7"
-          v-if="permissionList.errorManager"
+          name="4"
+          v-if="permission('/institutionLeBaoRules')"
         >
           <leBaoRules />
         </el-tab-pane>
         <el-tab-pane
           label="课程规则设置"
           lazy
-          name="6"
-          v-if="permissionList.jobTemplateSetting"
+          name="5"
+          v-if="permission('/institutionStudentAttRules')"
         >
           <studentAttRules />
         </el-tab-pane>
         <el-tab-pane
           label="服务异常提醒"
           lazy
-          name="8"
-          v-if="permissionList.earlyWarning"
+          name="6"
+           v-if="permission('/institutionServerMinitor')"
         >
           <serverMinitor />
         </el-tab-pane>
@@ -116,24 +108,15 @@ export default {
   data() {
     return {
       activeIndex: "1",
-      permissionList: {
-        typesManager: 1,
-        cloudTeacherFee: 1,
-        chargesList: 1,
-        jobTemplateSetting: 1,
-        errorManager: 1,
-        musicCourseFee: 1,
-        discountManage: 1,
-        courseTimerSetting: 1,
-        accompanyBaseConfig: 1,
-        earlyWarning:1
-      },
     };
   },
   methods: {
     handleClick(val) {
       this.activeIndex = val.name;
     },
+    permission(str){
+      return permission(str)
+    }
   },
 };
 </script>

+ 101 - 0
src/views/platformManager/platformCourseDeault/index.vue

@@ -0,0 +1,101 @@
+<template>
+  <div class="m-container">
+    <h2>
+      <div class="squrt"></div>
+      课程规则默认值
+    </h2>
+    <div class="m-core">
+      <!-- navMenu -->
+      <tab-router v-model.trim="activeIndex" @tab-click="handleClick">
+        <el-tab-pane
+          label="乐团规则设置"
+          lazy
+          name="1"
+          v-if="permission('/platformTeamRules')"
+        >
+          <teamRules :isPlatform='true'/>
+        </el-tab-pane>
+        <el-tab-pane
+          label="线下课考勤规则"
+          lazy
+          name="2"
+           v-if="permission('/platformOfflineTeamRules')"
+        >
+          <offlineTeamRules :isPlatform='true'/>
+        </el-tab-pane>
+
+        <el-tab-pane
+          label="云教室考勤规则"
+          lazy
+          name="3"
+          v-if="permission('/platformOnlineCloudRules')"
+        >
+          <onlineCloudRules :isPlatform='true'/>
+        </el-tab-pane>
+        <el-tab-pane
+          label="乐保设置"
+          lazy
+          name="4"
+          v-if="permission('/platformLeBaoRules')"
+        >
+          <leBaoRules :isPlatform='true'/>
+        </el-tab-pane>
+        <el-tab-pane
+          label="课程规则设置"
+          lazy
+          name="5"
+           v-if="permission('/platformStudentAttRules')"
+        >
+          <studentAttRules :isPlatform='true'/>
+        </el-tab-pane>
+        <el-tab-pane
+          label="服务异常提醒"
+          lazy
+          name="6"
+           v-if="permission('/platformServerMinitor')"
+        >
+          <serverMinitor :isPlatform='true'/>
+        </el-tab-pane>
+      </tab-router>
+    </div>
+  </div>
+</template>
+<script>
+import teamRules from "@/views/courseRulersManager/components/teamRules";//
+import leBaoRules from "@/views/courseRulersManager/components/leBaoRules";//
+import offlineTeamRules from "@/views/courseRulersManager/components/offlineTeamRules";//
+import onlineCloudRules from "@/views/courseRulersManager/components/onlineCloudRules";//
+import studentAttRules from "@/views/courseRulersManager/components/studentAttRules";//
+import serverMinitor from "@/views/courseRulersManager/components/serverMinitor";//
+import { permission } from "@/utils/directivePage";
+export default {
+  components: {
+    teamRules,
+    leBaoRules,
+    offlineTeamRules,
+    onlineCloudRules,
+    studentAttRules,
+    serverMinitor,
+  },
+  name: "baseRulersManager",
+  data() {
+    return {
+      activeIndex: "1",
+
+    };
+  },
+  methods: {
+    handleClick(val) {
+      this.activeIndex = val.name;
+    },
+    permission(str){
+      return permission(str)
+    }
+  },
+};
+</script>
+<style lang="scss" scoped>
+/deep/.m-container {
+  padding: 0 10px 40px;
+}
+</style>

+ 2 - 2
vue.config.js

@@ -16,8 +16,8 @@ const name = defaultSettings.title || '管乐迷后台管理系统' // page titl
 // http://47.99.212.176:8000
 // //  https://online.dayaedu.com
 // let target = 'https://online.dayaedu.com' //线上
-let target = 'http://192.168.3.227:8000' // 何国威
-// let target = 'http://192.168.3.124:8000' //邹璇
+// let target = 'http://192.168.3.227:8000' // 何国威
+let target = 'http://192.168.3.124:8000' //邹璇
 // let target = 'http://192.168.3.112:8000' //勇哥
 // let target = 'http://dev.dayaedu.com' // 开发环境
 // let target = 'https://test.dayaedu.com' //测试环境