dedsudiyu 1 nedēļu atpakaļ
vecāks
revīzija
60907905b9
1 mainītis faili ar 57 papildinājumiem un 210 dzēšanām
  1. 57 210
      src/views/creditViolation/credit/violation/index.vue

+ 57 - 210
src/views/creditViolation/credit/violation/index.vue

@@ -67,11 +67,11 @@
                 <p class="table-button-p"
                    @click="goPage(2,scope.row)"
                 >历史记录</p>
-                <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)">
+                <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-if="scope.row.status != 0">
                   <p class="table-button-p">更多>></p>
                   <el-dropdown-menu slot="dropdown">
                     <el-dropdown-item command="1" v-show="scope.row.status == 2">移除黑名单</el-dropdown-item>
-                    <el-dropdown-item command="2" v-show="scope.row.status == 0 || scope.row.status == 1">加入黑名单</el-dropdown-item>
+                    <el-dropdown-item command="2" v-show="scope.row.status == 1">加入黑名单</el-dropdown-item>
                     <el-dropdown-item command="3" v-show="scope.row.status == 1">移除负面清单</el-dropdown-item>
                   </el-dropdown-menu>
                 </el-dropdown>
@@ -113,15 +113,15 @@
           </el-select>
         </el-form-item>
         <el-form-item label="学号:" style="width:600px;">
-          <el-input v-model="form.stuNo" :disabled="true" placeholder="请选择学号"/>
+          <el-input v-model="form.identity" :disabled="true" placeholder="请选择学号"/>
         </el-form-item>
         <el-form-item label="学院:" style="width:600px;">
           <el-input v-model="form.deptName" :disabled="true" placeholder="请选择学院" />
         </el-form-item>
-        <el-form-item label="实验室:" prop="subId" >
+        <el-form-item label="实验室:" prop="labId" >
           <el-select
             style="width:480px;"
-            v-model="form.subjectId"
+            v-model="form.labId"
             filterable
             remote
             reserve-keyword
@@ -136,8 +136,8 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="选择违规项" prop="reasonId">
-          <el-select v-model="form.reasonId" style="width:480px;" placeholder="请选择违规项" @change="reasonChange">
+        <el-form-item label="选择违规项" prop="foulsId">
+          <el-select @change="violationChange" v-model="form.foulsId" style="width:480px;" placeholder="请选择违规项">
             <el-option
               v-for="item in violationSiteTypeList"
               :key="item.id"
@@ -146,106 +146,22 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="违规原因:" prop="violationReasons" style="width:600px;" v-if="form.reasonId==-1">
+        <el-form-item label="违规原因:" prop="reason" style="width:600px;" v-if="form.foulsId==-1">
           <el-input
-            v-model="form.violationReasons"
+            v-model="form.reason"
             placeholder="请输入违规原因"
-            maxLength="50"
-            >
+            maxLength="50">
           </el-input>
         </el-form-item>
-        <el-form-item label="扣除信用分值:" prop="deductionVal" style="width:600px;" v-if="form.reasonId==-1">
+        <el-form-item label="扣除信用分值:" prop="reduceScore" style="width:600px;" v-if="form.foulsId==-1">
           <el-input-number
-            v-model="form.deductionVal"
+            v-model="form.reduceScore"
             placeholder="请输入"
             :min="0"
             maxLength="5"
             @input="getIntegralMatchingRules">
           </el-input-number>
         </el-form-item>
-        <el-form-item label="处理方式" prop="checkListTwo">
-          <el-form-item label="">
-            <el-checkbox-group v-model="form.checkList" style="display: inline-block;width:220px;">
-              <el-checkbox label="warningStatus">警告<span style="color:#999;">(系统推送警告消息)</span></el-checkbox>
-            </el-checkbox-group>
-            <el-checkbox-group v-model="form.checkList" style="display: inline-block;width:160px;">
-              <el-checkbox label="interviewStatus">约谈<span style="color:#999;">(线下约谈)</span></el-checkbox>
-            </el-checkbox-group>
-            <el-checkbox-group v-model="form.checkListTwo" style="display: inline-block;width:100px;">
-              <el-checkbox label="testStatus">考试</el-checkbox>
-            </el-checkbox-group>
-          </el-form-item>
-          <div>
-            <div style="width:480px;margin-right:20px;display: flex;">
-              <el-checkbox-group v-model="form.checkListTwo" @change="(data)=>checkClickOne(data,'xx')" style="height:40px;line-height:40px;width:80px;">
-                <el-checkbox label="learnStatus">学习</el-checkbox>
-              </el-checkbox-group>
-              <p v-if="form.learnStatusType" style="margin:0;line-height:40px;">学习时长:</p>
-              <el-form-item label="" prop="learnHour" v-if="form.learnStatusType" style="margin-bottom:20px;">
-                <el-input
-                  style="width:150px;"
-                  v-model="form.learnHour"
-                  placeholder="请输入"
-                  maxLength="5"
-                  clearable
-                  size="small">
-                  <template slot="append">时</template>
-                </el-input>
-              </el-form-item>
-              <p style="width:30px;"></p>
-              <el-form-item label="" prop="learnMinute" v-if="form.learnStatusType" style="margin-bottom:20px;">
-                <el-input
-                  style="width:150px;"
-                  v-model="form.learnMinute"
-                  placeholder="请输入"
-                  maxLength="5"
-                  clearable
-                  size="small">
-                  <template slot="append">分</template>
-                </el-input>
-              </el-form-item>
-            </div>
-            <div class="for-check-box" style="display: flex;">
-              <el-checkbox-group v-model="form.checkListTwo" @change="(data)=>checkClickTwo(data,'zt')" style="height:40px;line-height:40px;width:80px;">
-                <el-checkbox label="practiceStatus">做题</el-checkbox>
-              </el-checkbox-group>
-              <p v-if="form.practiceStatusType" style="margin:0;line-height:40px;">题目数量:</p>
-              <el-form-item label="" prop="numberTopics" v-if="form.practiceStatusType" style="margin-bottom:20px;">
-                <el-input
-                  style="width:150px;"
-                  v-model="form.numberTopics"
-                  placeholder="请输入"
-                  maxLength="5"
-                  clearable
-                  size="small">
-                  <template slot="append">道</template>
-                </el-input>
-              </el-form-item>
-              <p style="width:87px;text-align: right;margin:0;line-height:40px;" v-if="form.practiceStatusType">正确率:</p>
-              <el-form-item label="" prop="numberAccuracy" v-if="form.practiceStatusType" style="margin-bottom:20px;">
-                <el-input
-                  style="width:150px;"
-                  v-model="form.numberAccuracy"
-                  placeholder="请输入"
-                  maxLength="5"
-                  clearable
-                  size="small">
-                  <template slot="append">%</template>
-                </el-input>
-              </el-form-item>
-            </div>
-          </div>
-        </el-form-item>
-        <el-form-item label="处理天数时限" prop="handleDay" style="margin-bottom:10px;">
-          <el-input
-            v-model="form.handleDay"
-            placeholder="请输入"
-            maxLength="5"
-            clearable
-            style="width:200px;">
-            <template slot="append">天</template>
-          </el-input>
-        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer dialog-footer-box">
         <p class="dialog-footer-button-null"></p >
@@ -368,7 +284,7 @@
 </template>
 
 <script>
-  import { creditFoulsAdd,creditFoulsList,creditFoulsAddBlacklists, } from "@/api/creditViolation/newIndex";
+  import { creditFoulsAdd,creditFoulsList,creditFoulsAddBlacklists,creditFoulsRemoveBlacklists } from "@/api/creditViolation/newIndex";
   import { delNegivelist,delBlacklist,blackAdd,
     getViolation, delViolation, addViolation, updateViolation,joinBlackList,
     getIntegralMatchingRules,addBlacklist } from "@/api/creditViolation/index";
@@ -506,17 +422,17 @@ export default {
           {required: true, message: '请输入姓名', trigger: 'blur'},
           { required: true, message: "请输入姓名", validator: this.spaceJudgment, trigger: "blur" }
         ],
-        subjectId:[
+        labId:[
           {required: true, message: '请选择实验室', trigger: 'change'}
         ],
-        reasonId:[
+        foulsId:[
           {required: true, message: '请选择违规项', trigger: 'blur'}
         ],
-        violationReasons:[
+        reason:[
           {required: true, message: '请输入违规原因', trigger: 'blur'},
           { required: true, message: "请输入违规原因", validator: this.spaceJudgment, trigger: "blur" }
         ],
-        deductionVal:[
+        reduceScore:[
           {required: true, message: '请输入扣除信用分值', trigger: 'blur'},
           { required: true, message: "请输入扣除信用分值", validator: this.spaceJudgment, trigger: "blur" },
           { required: true, message: "只能输入数字", validator: this.isNum, trigger: "blur" },
@@ -589,13 +505,22 @@ export default {
     this.examViolationSiteGetListByType();
   },
   methods: {
+    //选中违规项
+    violationChange(val){
+      let self = this;
+      this.violationSiteTypeList.forEach(function(item) {
+        if (val ==item.id){
+          self.$set(self.form,'foulsName',item.violationName);
+        }
+      })
+    },
     //选中实验室
     subChange(val){
       let self = this;
-
       this.subOptions.forEach(function(item) {
         if (val ==item.subId){
-          self.form.subjectName=item.subName;
+          self.$set(self.form,'labId',item.subId);
+          self.$set(self.form,'labName',item.subName);
         }
       })
     },
@@ -659,12 +584,12 @@ export default {
     },
     //黑名单按钮
     blacklistClick(row){
-      if(row.status == 3){
+      if(row.status == 2){
         row.buttonType = 1;
         this.$set(this,"form1",row);
         this.title = "移除黑名单";
         this.form1Open = true;
-      }else if(row.status == 1 || row.status == 2){
+      }else if(row.status == 0 || row.status == 1){
         this.title = "加入黑名单";
         let obj = JSON.parse(JSON.stringify(row));
         obj.buttonType = 3;
@@ -709,16 +634,16 @@ export default {
       this.form3Open = false;
     },
     /** 提交按钮 */
+    //移除黑名单
     submitForm1(){
       this.$refs["form1"].validate(valid => {
         if (valid) {
           //移除黑名单
           let obj = {
-            id:this.form1.id,
-            joinUserId:this.form1.joinUserId,
-            reason:this.form1.reason,
+            identity:this.form1.identity,
+            msg:this.form1.reason,
           };
-          examViolationDelBlacklist(obj).then(response => {
+          creditFoulsRemoveBlacklists(obj).then(response => {
             this.form1Open = false;
             this.$set(this,'form1',{})
             this.msgSuccess("操作成功");
@@ -727,6 +652,7 @@ export default {
         }
       });
     },
+    //加入黑名单
     submitForm2(){
       this.$refs["form2"].validate(valid => {
         if (valid) {
@@ -747,6 +673,7 @@ export default {
         }
       });
     },
+    //移除负面清单
     submitForm3() {
       this.$refs["form3"].validate(valid => {
         if (valid) {
@@ -823,24 +750,21 @@ export default {
     },
     /** 新增按钮操作 */
     handleAdd() {
-      this.reset();
       let obj = {
         userId:"",
-        userName:"",
+        identity:"",
+        name:"",
         deptName:"",
-        reasonId:"",
-        checkList:[],
-        checkListTwo:[],
-        learnStatusType:false,
-        practiceStatusType:false,
-        learnHour:"",
-        learnMinute:"",
-        numberTopics:"",
-        numberAccuracy:"",
-        handleDay:"",
+        labId:"",
+        labName:"",
+        foulsId:"",
+        foulsName:"",
+        reason:"",
+        reduceScore:"",
+        remark:"",
       }
       this.$set(this,"form",obj);
-      this.optionsUser = [];
+      this.$set(this,"optionsUser",[]);
       this.title = "新增违规记录";
       this.open = true;
     },
@@ -850,74 +774,15 @@ export default {
       this.$refs["form"].validate(valid => {
         if (valid) {
           let obj = {
-            deptId:this.form.deptId,
-            deptName:this.form.deptName,
-            stuNo:this.form.stuNo,
-            reasonId:this.form.reasonId,
-            violationContent:this.form.violationContent,
-            deductionVal:this.form.deductionVal,
-            handleDay:this.form.handleDay,
-            violationReasons:this.form.violationReasons,
-
-            id:this.form.joinUserId,
-            name:this.form.joinUserName,
-            labId:this.form.subjectId,
-            labName:this.form.subjectName,
+            identity: this.form.identity,
+            name: this.form.name,
+            foulsType:'negative',
+            labId: this.form.labId,
+            labName: this.form.labName,
+            foulsName: this.form.foulsName,
+            reduceScore:this.form.reduceScore,
+            remark:this.form.remark,
           };
-
-          //处理二级多选--警告/约谈
-          let warningStatusNum = 0;
-          let interviewStatusNum = 0;
-          for(let o=0;o<this.form.checkList.length;o++){
-            if(this.form.checkList[o] == 'warningStatus'){
-              warningStatusNum++
-            }
-            if(this.form.checkList[o] == 'interviewStatus'){
-              interviewStatusNum++
-            }
-          }
-          if(warningStatusNum == 0){
-            obj.warningStatus = null;
-          }else{
-            obj.warningStatus = 1;
-          }
-          if(interviewStatusNum == 0){
-            obj.interviewStatus = null;
-          }else{
-            obj.interviewStatus = 1;
-          }
-          //处理二级多选--考试
-          let testStatusNum = 0;
-          for(let o=0;o<this.form.checkListTwo.length;o++){
-            if(this.form.checkListTwo[o] == 'testStatus'){
-              testStatusNum++
-            }
-          }
-          if(testStatusNum == 0){
-            obj.testStatus = null;
-          }else{
-            obj.testStatus = 1;
-          }
-          //处理二级多选--学习
-          if(this.form.learnStatusType){
-            obj.learnStatus = 1;
-            obj.learnHour = this.form.learnHour;
-            obj.learnMinute = this.form.learnMinute;
-          }else{
-            obj.learnStatus = null;
-            obj.learnHour = null;
-            obj.learnMinute = null;
-          }
-          //处理二级多选--做题
-          if(this.form.practiceStatusType){
-            obj.practiceStatus = 1;
-            obj.numberTopics = this.form.numberTopics;
-            obj.numberAccuracy = this.form.numberAccuracy;
-          }else{
-            obj.practiceStatus = null;
-            obj.numberTopics = null;
-            obj.numberAccuracy = null;
-          }
           creditFoulsAdd(obj).then(response => {
             this.msgSuccess("操作成功");
             this.open = false;
@@ -931,13 +796,9 @@ export default {
       let self = this;
       for(let i=0;i<self.optionsUser.length;i++){
         if(data == self.optionsUser[i].userId){
-          this.$set(this.form,'stuNo',self.optionsUser[i].account);
-          this.$set(this.form,'deptId',self.optionsUser[i].deptId);
-          this.$set(this.form,'deptName',self.optionsUser[i].deptName);
-          this.$set(this.form,'joinUserId',self.optionsUser[i].userId);
-          this.$set(this.form,'joinUserName',self.optionsUser[i].userName);
-          this.$set(this.form,'subjectId','');
-          this.laboratorySubRelInfoGetListByFloor();
+          self.$set(self.form,'identity',self.optionsUser[i].account);
+          self.$set(self.form,'name',self.optionsUser[i].userName);
+          self.$set(self.form,'deptName',self.optionsUser[i].deptName);
         }
       }
     },
@@ -1035,20 +896,6 @@ export default {
         this.$forceUpdate();
       });
     },
-    //选中实验室
-    subjectChange(e){
-      this.$set(this.form,'subjectId',e);
-      this.$forceUpdate();
-    },
-    //选择违规项
-    reasonChange(e){
-      let self=this;
-      for(let i=0;i<self.violationSiteTypeList.length;i++){
-        if(e == self.violationSiteTypeList[i].id){
-          self.form.violationContent = self.violationSiteTypeList[i].violationName
-        }
-      }
-    },
     //获取违规类型列表
     examViolationSiteGetListByType(){
       examViolationSiteGetListByType({}).then(response => {