Ver código fonte

提交测试

1
mo 3 anos atrás
pai
commit
1abb95ff71

+ 90 - 50
src/views/categroyManager/accompanyBaseConfig.vue

@@ -5,7 +5,7 @@
       网管课基础配置设置
     </h2> -->
     <div class="m-core">
-      <el-form :inline="true" :model="form">
+      <el-form :inline="true" :model="form" ref="form">
         <el-alert
           style="margin: 20px 0"
           title="网管课分部设置"
@@ -44,14 +44,14 @@
             class="chioseOragn"
             multiple
             collapse-tags
-            v-model="organIdList"
+            v-model="subjectIdList"
             clearable
             filterable
             size="mini"
-            placeholder="请选择部"
+            placeholder="请选择部"
           >
             <el-option
-              v-for="(item, index) in selects.branchs"
+              v-for="(item, index) in selects.subjects"
               :key="index"
               :label="item.name"
               :value="item.id"
@@ -64,26 +64,30 @@
         <el-row class="row">
           网管课可预约时间为每日
           <el-time-picker
-            v-model="value1"
+            v-model="form['46']"
+            format="HH:mm"
+            value-format="HH:mm"
             size="mini"
             :picker-options="{
-              selectableRange: '18:30:00 - 20:30:00',
+              selectableRange: '00:00:00 - 23:59:59',
             }"
             placeholder="请输入时间"
           >
           </el-time-picker>
           点至
           <el-time-picker
-            v-model="value1"
+            v-model="form['47']"
+            format="HH:mm"
+            value-format="HH:mm"
             size="mini"
             :picker-options="{
-              selectableRange: '18:30:00 - 20:30:00',
+              selectableRange: '00:00:00 - 23:59:59',
             }"
             placeholder="请输入时间"
           >
           </el-time-picker>
         </el-row>
-                <el-alert
+        <el-alert
           style="margin: 20px 0"
           title="试听课设置"
           :closable="false"
@@ -92,64 +96,100 @@
         >
         </el-alert>
         <el-row class="row">
-          试听课单课时时长  <el-input v-model="form.num" size="mini">
-              <template slot="append">分钟</template>
-            </el-input>
+          试听课单课时时长
+          <el-input v-model="form['16']" size="mini">
+            <template slot="append">分钟</template>
+          </el-input>
         </el-row>
       </el-form>
     </div>
+       <el-button size="mini" type="primary" @click="save" class="saveBtn"
+      >保存</el-button
+    >
   </div>
 </template>
 <script>
-import { sysConfigList, sysConfigUpdate } from "@/api/generalSettings";
+import {
+  getSysTenantConfig,
+  questionnaireTopicQueryPage,
+  setSysTenantConfig,
+} from "@/views/courseRulersManager/api";
 export default {
   data() {
     return {
+      form: {
+        46: new Date(2016, 9, 10, 18, 40),
+        47: new Date(2016, 9, 10, 18, 40),
+      },
+      questionList: [],
+      rulesVisiable: false,
       organIdList: [],
-      activeItem: null,
-      form: {},
-      value1: new Date(2016, 9, 10, 18, 40),
+      subjectIdList: [],
     };
   },
-  mounted() {
-    this.$store.dispatch("setBranchs");
-    sysConfigList({ group: "PRACTICE" }).then((res) => {
-      if (res.code == 200 && res.data.length > 0) {
-        res.data.forEach((item, index) => {
-          if (item.paramName == "practice_teacher_organ_range") {
-            this.activeItem = item;
-            this.organIdList = item.paranValue
-              ? item.paranValue.split(",").map((oragn) => {
-                  return Number(oragn);
-                })
-              : [];
-          }
-        });
-      }
-    });
+  async mounted() {
+    await this.$store.dispatch("setSubjects");
+    await this.$store.dispatch("setBranchs");
+    this.getRules();
   },
   methods: {
-    submit() {
-      if (this.organIdList.length < 0) {
-        this.$message.error("请至少选择一个分部");
-        return;
+    async getRules() {
+      try {
+        const res = await getSysTenantConfig({ group: "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) => {
+                return Number(organ);
+              }),
+            ];
+          }
+
+          if (item.id == "49" && item.paranValue) {
+            this.subjectIdList = [
+              ...item.paranValue.split(",").map((organ) => {
+                return Number(organ);
+              }),
+            ];
+          }
+        });
+        // this.$forceUpdate()
+        console.log(this.form);
+      } catch (e) {
+        console.log(e);
       }
-      let params = { ...this.activeItem };
-      params.paranValue = this.organIdList.join(",");
-      sysConfigUpdate(params).then((res) => {
-        if (res.code == 200) {
-          this.$message.success("修改成功");
+    },
+    async save() {
+      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 setSysTenantConfig(param);
+            this.$message.success("保存成功");
+            this.getRules();
+          } catch (e) {
+            console.log(e);
+          }
         }
       });
-      /**
-      *  let params = {
-        id: row.id,
-        paranValue: this.input[index],
-        paramName: row.paramName,
-        description: row.description.join('{}')
-      }
-      */
-      // submit
     },
   },
 };

+ 91 - 29
src/views/courseRulersManager/components/onlineCloudRules.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="m-container">
     <div class="m-core">
-      <el-form :inline="true" :model="form">
+      <el-form :inline="true" :model="form" ref='form'>
         <el-alert
           style="margin: 10px 0"
           title="云教室考勤规则"
@@ -9,22 +9,26 @@
           type="info"
         >
         </el-alert>
-        <p class="subtitle">正常签到:</p>
         <p class="subtitle">迟到:</p>
         <el-row>
           课程开始前
-          <el-input v-model="form.num" placeholder="请输入时间" size="mini">
+          <el-input v-model="form['159']" placeholder="请输入时间" size="mini">
             <template slot="append">分钟</template> </el-input
           >至课程开始后
-          <el-input v-model="form.num" placeholder="请输入时间" size="mini">
+          <el-input v-model="form['162']" placeholder="请输入时间" size="mini">
             <template slot="append">分钟</template>
           </el-input>
           进入云教室,扣减课酬
-          <el-input v-model="form.num" placeholder="请输入距离" size="mini">
+          <el-input
+            v-model="form['163']"
+            placeholder="请输入距离"
+            size="mini"
+            class="chiose"
+          >
             <template slot="append">
-              <el-select class="append" v-model.trim="form.organId" size="mini">
-                <el-option label="元" value="yuan"> </el-option>
-                <el-option label="%" value="bi"> </el-option>
+              <el-select class="append" v-model.trim="form['164']" size="mini">
+                <el-option label="元" value="1"> </el-option>
+                <el-option label="%" value="2"> </el-option>
               </el-select>
             </template>
           </el-input>
@@ -32,14 +36,19 @@
         <p class="subtitle">旷课:</p>
         <el-row>
           课程开始
-          <el-input v-model="form.num" placeholder="请输入时间" size="mini">
+          <el-input v-model="form['165']" placeholder="请输入时间" size="mini">
             <template slot="append">分钟</template> </el-input
           >后进入云教室,或未进入云教室,扣减课酬
-          <el-input v-model="form.num" placeholder="请输入距离" size="mini">
+          <el-input
+            v-model="form['166']"
+            placeholder="请输入距离"
+            size="mini"
+            class="chiose"
+          >
             <template slot="append">
-              <el-select class="append" v-model.trim="form.organId" size="mini">
-                <el-option label="元" value="yuan"> </el-option>
-                <el-option label="%" value="bi"> </el-option>
+              <el-select class="append" v-model.trim="form['167']" size="mini">
+                <el-option label="元" value="1"> </el-option>
+                <el-option label="%" value="2"> </el-option>
               </el-select>
             </template>
           </el-input>
@@ -47,14 +56,19 @@
         <p class="subtitle">早退:</p>
         <el-row>
           课程结束
-          <el-input v-model="form.num" placeholder="请输入时间" size="mini">
+          <el-input v-model="form['173']" placeholder="请输入时间" size="mini">
             <template slot="append">分钟</template> </el-input
           >前退出云教室,扣减课酬
-          <el-input v-model="form.num" placeholder="请输入金额" size="mini">
+          <el-input
+            v-model="form['174']"
+            placeholder="请输入金额"
+            size="mini"
+            class="chiose"
+          >
             <template slot="append">
-              <el-select class="append" v-model.trim="form.organId" size="mini">
-                <el-option label="元" value="yuan"> </el-option>
-                <el-option label="%" value="bi"> </el-option>
+              <el-select class="append" v-model.trim="form['175']" size="mini">
+                <el-option label="元" value="1"> </el-option>
+                <el-option label="%" value="2"> </el-option>
               </el-select>
             </template>
           </el-input>
@@ -62,14 +76,19 @@
         <p class="subtitle">异常签退</p>
         <el-row>
           课程结束
-          <el-input v-model="form.num" placeholder="请输入时间" size="mini">
+          <el-input v-model="form['170']" placeholder="请输入时间" size="mini">
             <template slot="append">分钟</template> </el-input
           >至课程结束前退出云教室,扣减课酬
-          <el-input v-model="form.num" placeholder="请输入金额" size="mini">
+          <el-input
+            v-model="form['171']"
+            placeholder="请输入金额"
+            size="mini"
+            class="chiose"
+          >
             <template slot="append">
-              <el-select class="append" v-model.trim="form.organId" size="mini">
-                <el-option label="元" value="yuan"> </el-option>
-                <el-option label="%" value="bi"> </el-option>
+              <el-select class="append" v-model.trim="form['172']" size="mini">
+                <el-option label="元" value="1"> </el-option>
+                <el-option label="%" value="2"> </el-option>
               </el-select>
             </template>
           </el-input>
@@ -100,7 +119,7 @@
         </p>
         <el-row>
           云教室课程间隔<el-input
-            v-model="form.num"
+            v-model="form['50']"
             placeholder="请输入时间"
             size="mini"
           >
@@ -110,20 +129,63 @@
         </el-row>
       </el-form>
     </div>
-    <el-button size="mini" type="primary">保存</el-button>
+    <el-button size="mini" type="primary" @click="save" class="saveBtn"
+      >保存</el-button
+    >
   </div>
 </template>
 <script>
+import {
+  getSysTenantConfig,
+  questionnaireTopicQueryPage,
+  setSysTenantConfig,
+} from "../api";
 export default {
   data() {
     return {
-      form: {
-        num: null,
-      },
+      form: {},
+      questionList: [],
+      rulesVisiable: false,
     };
   },
+  async mounted() {
+    this.getRules();
+  },
+  methods: {
+    async getRules() {
+      try {
+        const res = await getSysTenantConfig({ group: "ONLINE" });
+        res.data.forEach((item) => {
+          // this.form[item.paramName] = item.paranValue
+          this.$set(this.form, item.id, item.paranValue);
+        });
+      } catch (e) {
+        console.log(e);
+      }
+    },
+    async save() {
+      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 setSysTenantConfig(param);
+            this.$message.success("保存成功");
+            this.getRules();
+          } catch (e) {
+            console.log(e);
+          }
+        }
+      });
+    },
+  },
 };
 </script>
 <style lang="scss" scoped>
-@import '../index.scss';
+@import "../index.scss";
 </style>

+ 53 - 8
src/views/courseRulersManager/components/studentAttRules.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="m-container">
     <div class="m-core">
-      <el-form :inline="true" :model="form">
+      <el-form :inline="true" :model="form" ref='form'>
         <el-alert
           style="margin: 10px 0"
           title="学员请假规则设置"
@@ -11,13 +11,14 @@
         </el-alert>
         <el-row>
           课程开始前
-          <el-input v-model="form.num" placeholder="请输入距离" size="mini">
+          <el-input v-model="form['7']" placeholder="请输入时间" size="mini" >
             <template slot="append">
-              <el-select class="append" v-model.trim="form.organId">
+              <!-- class="chiose" <el-select class="append" v-model.trim="form.organId">
                 <el-option label="天" value="yuan"> </el-option>
                 <el-option label="小时" value="bi"> </el-option>
                 <el-option label="分钟" value="bi"> </el-option>
-              </el-select>
+              </el-select> -->
+              分钟
             </template>
           </el-input>
           前可提交请假申请
@@ -32,24 +33,68 @@
         </el-alert>
         <el-row>
           老师可在开课
-          <el-input v-model="form.num" placeholder="请输入时间" size="mini">
+          <el-input v-model="form['41']" placeholder="请输入时间" size="mini">
             <template slot="append">分钟</template>
           </el-input>
           前调整VIP、网管课程
         </el-row>
       </el-form>
     </div>
+       <el-button size="mini" type="primary" @click="save" class="saveBtn"
+      >保存</el-button
+    >
   </div>
 </template>
 <script>
+import {
+  getSysTenantConfig,
+  questionnaireTopicQueryPage,
+  setSysTenantConfig,
+} from "../api";
 export default {
   data() {
     return {
-      form: {
-        num: null,
-      },
+      form: {},
+      questionList: [],
+      rulesVisiable: false,
     };
   },
+  async mounted() {
+    this.getRules();
+  },
+  methods: {
+    async getRules() {
+      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);
+        });
+      } catch (e) {
+        console.log(e);
+      }
+    },
+    async save() {
+      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 setSysTenantConfig(param);
+            this.$message.success("保存成功");
+            this.getRules();
+          } catch (e) {
+            console.log(e);
+          }
+        }
+      });
+    },
+  },
 };
 </script>