dedsudiyu 1 týždeň pred
rodič
commit
38ee5a74b5

+ 32 - 1
src/api/creditViolation/newIndex.js

@@ -105,4 +105,35 @@ export function creditFoulsPersonal(data) {
     data: data
   })
 }
-
+//查询奖励项配置
+export function creditItemListAllAward(query) {
+  return request({
+    url: '/credit/item/listAll/award',
+    method: 'get',
+    params: query
+  })
+}
+//查询违规项配置
+export function creditItemListAllCredit(query) {
+  return request({
+    url: '/credit/item/listAll/credit',
+    method: 'get',
+    params: query
+  })
+}
+//修改奖励项配置
+export function creditItemEditAward(data) {
+  return request({
+    url: '/credit/item/edit/award',
+    method: 'post',
+    data: data
+  })
+}
+//修改违规项配置
+export function creditItemEditCredit(data) {
+  return request({
+    url: '/credit/item/edit//credit',
+    method: 'post',
+    data: data
+  })
+}

+ 53 - 3
src/views/creditViolation/credit/rewardconfig/index.vue

@@ -75,6 +75,7 @@
 
 <script>
 import { examRewardConfigList, examRewardConfigEdit } from "@/api/creditViolation/index";
+import { creditItemListAllAward,creditItemEditAward } from "@/api/creditViolation/newIndex";
 
 export default {
   name: "Rewardconfig",
@@ -122,15 +123,64 @@ export default {
   methods: {
     /** 查询数据 */
     getList() {
-      examRewardConfigList({}).then( response => {
-        this.$set(this,'form',response.data[0])
+      let self = this;
+      creditItemListAllAward({}).then( response => {
+        for(let i=0;i<response.data.length;i++){
+          if(response.data[i].configName == '一个月无违规记录奖励分值'){
+            self.$set(self.form,'monthNoviolationScore',response.data[i].configValue?response.data[i].configValue:0);
+          }else if(response.data[i].configName == '模拟练习做题奖励分值'){
+            self.$set(self.form,'exerciseScore',response.data[i].configValue?response.data[i].configValue:0);
+          }else if(response.data[i].configName == '模拟考试奖励分换算值'){
+            self.$set(self.form,'mockExam',response.data[i].configValue?response.data[i].configValue:0);
+          }else if(response.data[i].configName == '学习时长奖励分换算值'){
+            self.$set(self.form,'studyLen',response.data[i].configValue?response.data[i].configValue:0);
+          }else if(response.data[i].configName == '完成签到考勤获得奖励分值'){
+            self.$set(self.form,'signGetScore',response.data[i].configValue?response.data[i].configValue:0);
+          }else if(response.data[i].configName == '完成离开考勤获得奖励分值'){
+            self.$set(self.form,'leaveGetScore',response.data[i].configValue?response.data[i].configValue:0);
+          }
+        }
+        // this.$set(this,'form',response.data)
       });
     },
     /** 提交按钮 */
     submitForm() {
+      let self = this;
       this.$refs["form"].validate(valid => {
         if (valid) {
-          examRewardConfigEdit(this.form).then( response => {
+          let list = [
+            {
+              sort:'0',
+              configName:'一个月无违规记录奖励分值',
+              configValue:self.form.monthNoviolationScore,
+            },
+            {
+              sort:'1',
+              configName:'模拟练习做题奖励分值',
+              configValue:self.form.exerciseScore,
+            },
+            {
+              sort:'2',
+              configName:'模拟考试奖励分换算值',
+              configValue:self.form.mockExam,
+            },
+            {
+              sort:'3',
+              configName:'学习时长奖励分换算值',
+              configValue:self.form.studyLen,
+            },
+            {
+              sort:'4',
+              configName:'完成签到考勤获得奖励分值',
+              configValue:self.form.signGetScore,
+            },
+            {
+              sort:'5',
+              configName:'完成离开考勤获得奖励分值',
+              configValue:self.form.leaveGetScore,
+            },
+          ];
+          creditItemEditAward(list).then( response => {
             this.getList();
             this.msgSuccess("保存成功")
           });

+ 11 - 11
src/views/creditViolation/credit/violation/index.vue

@@ -140,9 +140,9 @@
           <el-select @change="violationChange" v-model="form.foulsId" style="width:480px;" placeholder="请选择违规项">
             <el-option
               v-for="item in violationSiteTypeList"
-              :key="item.id"
-              :label="item.violationName"
-              :value="item.id">
+              :key="item.configValue"
+              :label="item.configName"
+              :value="item.configValue">
             </el-option>
           </el-select>
         </el-form-item>
@@ -284,7 +284,7 @@
 </template>
 
 <script>
-  import { creditFoulsAdd,creditFoulsList,creditFoulsAddBlacklists,creditFoulsRemoveBlacklists } from "@/api/creditViolation/newIndex";
+  import { creditFoulsAdd,creditFoulsList,creditFoulsAddBlacklists,creditFoulsRemoveBlacklists,creditItemListAllCredit } from "@/api/creditViolation/newIndex";
   import { delNegivelist,delBlacklist,blackAdd,
     getViolation, delViolation, addViolation, updateViolation,joinBlackList,
     getIntegralMatchingRules,addBlacklist } from "@/api/creditViolation/index";
@@ -296,7 +296,7 @@
     systemUserDropDateAuthList
   } from '@/api/commonality/permission'
   import { listDepartments, getDicts, systemSubjectGetList } from '@/api/commonality/noPermission'
-  import { examViolationList,examViolationSiteGetListByType,examViolationAdd,
+  import { examViolationList,examViolationAdd,
     examViolationBlackAdd,examViolationDelBlacklist,examViolationDelNegivelist } from "@/api/creditViolation/index";
   import violationInfo from "./violationInfo.vue";
 export default {
@@ -502,15 +502,15 @@ export default {
   created() {
     this.getList();
     this.getDeptList();
-    this.examViolationSiteGetListByType();
+    this.creditItemListAllCredit();
   },
   methods: {
     //选中违规项
     violationChange(val){
       let self = this;
       this.violationSiteTypeList.forEach(function(item) {
-        if (val ==item.id){
-          self.$set(self.form,'foulsName',item.violationName);
+        if (val ==item.configValue){
+          self.$set(self.form,'foulsName',item.configName);
         }
       })
     },
@@ -897,10 +897,10 @@ export default {
       });
     },
     //获取违规类型列表
-    examViolationSiteGetListByType(){
-      examViolationSiteGetListByType({}).then(response => {
+    creditItemListAllCredit(){
+      creditItemListAllCredit({}).then(response => {
         this.violationSiteTypeList = response.data;
-        this.violationSiteTypeList.push({"id":"-1","violationName":"其他"});
+        this.violationSiteTypeList.push({"configValue":"-1","configName":"其他"});
       });
     },
   }

+ 41 - 46
src/views/creditViolation/credit/violationSite/index.vue

@@ -7,20 +7,20 @@
       <p class="page-top-title-submit-p" v-hasPermiRouter="['exam:violationSite:add']" @click="submitForm">提交</p>
     </div>
     <el-form class="form-content scrollbar-box" ref="form" :model="form" label-width="100px" :rules="rules">
-      <el-form-item label="负面清单次数设置:" prop="violationNumber" label-width="240px">
-        <el-input
-          v-model="form.violationNumber"
-          placeholder="请输入负面清单次数"
-          maxLength="5"
-          clearable
-          size="small">
-          <template slot="append">次</template>
-        </el-input>
-      </el-form-item>
+      <!--<el-form-item label="负面清单次数设置:" prop="violationNumber" label-width="240px">-->
+        <!--<el-input-->
+          <!--v-model="form.violationNumber"-->
+          <!--placeholder="请输入负面清单次数"-->
+          <!--maxLength="5"-->
+          <!--clearable-->
+          <!--size="small">-->
+          <!--<template slot="append">次</template>-->
+        <!--</el-input>-->
+      <!--</el-form-item>-->
       <el-form-item label="违规项设置:" label-width="240px">
         <div style="display: flex">
           <el-input
-            v-model="violationName"
+            v-model="configName"
             placeholder="请输入违规项名称"
             clearable
             maxLength="14"
@@ -33,17 +33,18 @@
         </div>
       </el-form-item>
       <div v-for="(item,index) in form.violationMeth">
-        <el-form-item :label="item.violationName+':'" :rules="rules.violationVal" :prop="'violationMeth.'+ index +'.violationVal'" label-width="240px">
+        <el-form-item :label="item.configName+':'" :rules="rules.configValue" :prop="'violationMeth.'+ index +'.configValue'" label-width="240px">
           <div class="violationMeth-for-box">
             <el-input
-              v-model="item.violationVal"
+              v-model="item.configValue"
               placeholder="请输入扣分值"
               clearable
               maxLength="5"
               size="small">
-              <template slot="append">分</template>
+              <template slot="append" v-if="item.configName == '负面清单次数设置'">次</template>
+              <template slot="append" v-else>分</template>
             </el-input>
-            <i class="el-icon-circle-close" @click="delViolationMeth(index)"></i>
+            <i class="el-icon-circle-close" v-if="item.configName != '负面清单次数设置'" @click="delViolationMeth(index)"></i>
           </div>
         </el-form-item>
       </div>
@@ -53,6 +54,7 @@
 
 <script>
 import { examViolationSiteList, examViolationSiteAdd } from "@/api/creditViolation/index";
+import { creditItemListAllCredit,creditItemEditCredit } from "@/api/creditViolation/newIndex";
 
 export default {
   name: "Site",
@@ -60,20 +62,20 @@ export default {
     return {
       //数据
       violationTypeList:[
-        {violationVal:"警告"},{violationVal:"约谈"},{violationVal:"考试"},{violationVal:"学习"},{violationVal:"做题"}
+        {configValue:"警告"},{configValue:"约谈"},{configValue:"考试"},{configValue:"学习"},{configValue:"做题"}
       ],
       form:{
         violationType:[],
         violationNumber:"",
         violationMeth:[
           {
-            violationName:"",
-            violationVal:"",
+            configName:"",
+            configValue:"",
           }
         ],
       },
-      violationVal:"",
-      violationName:"",
+      configValue:"",
+      configName:"",
       // 表单校验
       rules: {
         violationNumber: [
@@ -81,9 +83,9 @@ export default {
           { required: true, message: "请输入负面清单次数", validator: this.spaceJudgment, trigger: "blur" },
           { required: true, message: "只能输入数字", validator: this.isNum, trigger: "blur" },
         ],
-        violationVal: [
-          { required: true, message: "请输入扣分值", trigger: "blur" },
-          { required: true, message: "请输入扣分值", validator: this.spaceJudgment, trigger: "blur" },
+        configValue: [
+          { required: true, message: "请输入", trigger: "blur" },
+          { required: true, message: "请输入", validator: this.spaceJudgment, trigger: "blur" },
           { required: true, message: "只能输入数字", validator: this.isNum, trigger: "blur" },
         ],
       }
@@ -96,22 +98,22 @@ export default {
     //添加违规项
     addViolationMeth(){
       let self = this;
-      if(!this.violationName){
+      if(!this.configName){
         this.msgError("请先输入违规项名称");
         return
       }
       for(let i=0;i<self.form.violationMeth.length;i++){
-        if(self.violationName == self.form.violationMeth[i].violationName){
+        if(self.configName == self.form.violationMeth[i].configName){
           self.msgError("已存在相同名称的违规项");
           return
         }
       }
       let obj = {
-        violationName:this.violationName,
-        violationVal:"",
+        configName:this.configName,
+        configValue:"",
       };
       this.form.violationMeth.push(obj);
-      this.violationName = "";
+      this.configName = "";
     },
     //删除违规项
     delViolationMeth(index){
@@ -119,31 +121,24 @@ export default {
     },
     /** 查询数据 */
     getList() {
-      examViolationSiteList({}).then( response => {
-        this.$set(this,'form',response.data)
+      creditItemListAllCredit({}).then( response => {
+        this.$set(this.form,'violationMeth',response.data)
       });
     },
     /** 提交按钮 */
     submitForm() {
+      let self = this;
       this.$refs["form"].validate(valid => {
         if (valid) {
-          let obj = {
-            violationMeth: [
-              {
-                violationVal: this.form.violationNumber,
-                violationName: "负面清单次数",
-                violationType: 0,
-              }
-            ]
-          }
-          this.form.violationMeth.forEach((item)=>{
-            obj.violationMeth.push({
-              violationVal:item.violationVal,
-              violationName:item.violationName,
-              violationType:1,
+          let list = [];
+          for (let i=0;i<self.form.violationMeth.length;i++){
+            list.push({
+              sort:i,
+              configName:self.form.violationMeth[i].configName,
+              configValue:self.form.violationMeth[i].configValue,
             })
-          })
-          examViolationSiteAdd(obj).then( response => {
+          }
+          creditItemEditCredit(list).then( response => {
             this.getList();
             this.msgSuccess("保存成功")
           });