فهرست منبع

Merge branch 'master' of http://101.43.129.26:10880/psychological_camera/cpdm_manage into fix-请假leave

plg 3 ماه پیش
والد
کامیت
73b6bc592f

+ 1 - 1
src/components/BingChart2.vue

@@ -96,7 +96,7 @@ export default {
             //pieData[0].value  :1
             data: [
               { value: (pieData[0].value==0||pieData[1].value==0)?1:pieData[0].value-pieData[1].value, name:pieData[0].value==0||pieData[1].value==0?'100%心理健康': (100-pieData[1].value/(pieData[0].value)*100).toFixed(2)  +'%心理健康',itemStyle:{color:'#5470C6',fontSize:'20'}},
-              { value:pieData[1].value, name:(pieData[0].value==0||pieData[1].value==0)?'0%中重度焦虑':(pieData[1].value/(pieData[0].value)*100).toFixed(2)   + "%"+pieData[1].name,itemStyle:{color:'#FFAE00',fontSize:'20'}},
+              { value:pieData[1].value, name:(pieData[0].value==0||pieData[1].value==0)?`0%${pieData[1].name}`:(pieData[1].value/(pieData[0].value)*100).toFixed(2)   + "%"+pieData[1].name,itemStyle:{color:'#FFAE00',fontSize:'20'}},
             ],
           },
         ],

+ 85 - 35
src/components/ComparePlanUser.vue

@@ -34,7 +34,7 @@
               width=""
             >
             </el-table-column>
-            <el-table-column prop="userNo" label="学号" align="center" width="">
+            <el-table-column prop="userNo" label="学号/编号" align="center" width="">
             </el-table-column>
 
             <el-table-column
@@ -131,14 +131,14 @@
           <div class="compare_class">
             <div class="compare_user1" style="position: relative">
               <div class="compare_user1_out">
-                <img v-show="userGender1=='1'" src="../assets/report/man1.png" />
-                <img v-show="userGender1=='0'" src="../assets/report/woman1.png" />
+                <img v-show="userGender1 == '1'" src="../assets/report/man1.png" />
+                <img v-show="userGender1 == '0'" src="../assets/report/woman1.png" />
                 <div class="compare_user1_info">
                   <div v-if="multipleSelection.length == 2">
                     姓名:{{ multipleSelection[0].userName }}
                   </div>
                   <div v-if="multipleSelection.length == 2">
-                    学号:{{ multipleSelection[0].userNo }}
+                    学号/编号:{{ multipleSelection[0].userNo }}
                   </div>
                   <div v-if="multipleSelection.length == 2">测试用时:{{ useTime1 }}</div>
                 </div>
@@ -151,14 +151,14 @@
             </div>
             <div class="compare_user2">
               <div class="compare_user1_out">
-                <img v-show="userGender2=='1'" src="../assets/report/man1.png" />
-                <img v-show="userGender2=='0'" src="../assets/report/woman1.png" />
+                <img v-show="userGender2 == '1'" src="../assets/report/man1.png" />
+                <img v-show="userGender2 == '0'" src="../assets/report/woman1.png" />
                 <div class="compare_user1_info">
                   <div v-if="multipleSelection.length == 2">
                     姓名:{{ multipleSelection[1].userName }}
                   </div>
                   <div v-if="multipleSelection.length == 2">
-                    学号:{{ multipleSelection[1].userNo }}
+                    学号/编号:{{ multipleSelection[1].userNo }}
                   </div>
                   <div v-if="multipleSelection.length == 2">测试用时:{{ useTime2 }}</div>
                 </div>
@@ -192,12 +192,21 @@
               </div>
             </div>
           </div>
-     
+
           <div
             ref="echarts_ld"
-            style="width: 100%; height: 600px; margin-top:20px"
+            style="width: 100%; height: 600px; margin-top: 20px"
           ></div>
-          <div style="text-align: center;font-weight: 700;font-size: 16px;margin-bottom:5px">柱状图维度对比</div>
+          <div
+            style="
+              text-align: center;
+              font-weight: 700;
+              font-size: 16px;
+              margin-bottom: 5px;
+            "
+          >
+            柱状图维度对比
+          </div>
           <div ref="echarts_zhu" style="width: 100%; height: 600px"></div>
           <div class="cpmpare_all" v-if="userData1.length > 0 && userData2.length > 0">
             <div v-for="(item, index) in userData1" :key="item.id">
@@ -429,8 +438,8 @@ export default {
       optionTT: {},
 
       userData1: {},
-      userGender1:"1",
-      userGender2:'1',
+      userGender1: "1",
+      userGender2: "1",
       orgName1: "",
       orgName2: "",
       //用户1的测试用时
@@ -674,7 +683,9 @@ export default {
 
     //对比方法
     isCompare() {
+      console.log(this.multipleSelection);
       //判断是否是选了两个用户
+
       if (this.multipleSelection.length != 2) {
         this.$message({
           message: "请选两个进行对比",
@@ -682,6 +693,25 @@ export default {
         });
         return;
       }
+      if (this.multipleSelection.length == 2) {
+        let has = false;
+        for (let i = 0; i < this.multipleSelection.length; i++) {
+          if (this.multipleSelection[i].isComplete == "0") {
+            has = true;
+            break;
+          }
+          //
+        }
+
+        if (has) {
+          this.$message({
+            message: "选项中不能含有未完成的",
+            type: "warning",
+          });
+          return;
+        }
+      }
+
       this.compareVisible = true;
       this.queryDetail1(this.multipleSelection[0].id);
       this.queryDetail2(this.multipleSelection[1].id);
@@ -695,19 +725,29 @@ export default {
         if (res && res.code == 200) {
           this.useTime1 = res.data.usedTime;
           this.orgName1 = res.data.user.orgName;
-          this.userGender1=res.data.user.gender
+          this.userGender1 = res.data.user.gender;
           let a = res.data.report;
 
-          let listTmp2 =[]
-          listTmp2=a.filter((item)=>{
-            return item.dimensionName=='总分'||item.dimensionName=='躯体化'||item.dimensionName=='焦虑'||item.dimensionName=='抑郁'
-          })
+          let listTmp2 = [];
+          listTmp2 = a.filter((item) => {
+            return (
+              item.dimensionName == "总分" ||
+              item.dimensionName == "躯体化" ||
+              item.dimensionName == "焦虑" ||
+              item.dimensionName == "抑郁"
+            );
+          });
 
-          let listTmp3 =[]
-          listTmp3=a.filter((item)=>{
-            return !(item.dimensionName=='躯体化'||item.dimensionName=='焦虑'||item.dimensionName=='抑郁'||item.dimensionName=='总分')
-          })
-          this.userData1 = listTmp2.concat(listTmp3)
+          let listTmp3 = [];
+          listTmp3 = a.filter((item) => {
+            return !(
+              item.dimensionName == "躯体化" ||
+              item.dimensionName == "焦虑" ||
+              item.dimensionName == "抑郁" ||
+              item.dimensionName == "总分"
+            );
+          });
+          this.userData1 = listTmp2.concat(listTmp3);
 
           if (this.userData2.length == 0) {
             this.formatterDataW(a, false, 1);
@@ -726,11 +766,11 @@ export default {
         if (res && res.code == 200) {
           this.useTime2 = res.data.usedTime;
           this.orgName2 = res.data.user.orgName;
-          this.userGender2=res.data.user.gender
+          this.userGender2 = res.data.user.gender;
           let a = res.data.report.filter((item) => {
             return item.isIcon == "1";
           });
-          
+
           //将设置--四个维度单独取出来
 
           // let listTmp1 =[]
@@ -738,18 +778,28 @@ export default {
           //   return item.dimensionName != "总分";
           // });
 
-          let listTmp2 =[]
-          listTmp2=a.filter((item)=>{
-            return item.dimensionName=='总分'||item.dimensionName=='躯体化'||item.dimensionName=='焦虑'||item.dimensionName=='抑郁'
-          })
+          let listTmp2 = [];
+          listTmp2 = a.filter((item) => {
+            return (
+              item.dimensionName == "总分" ||
+              item.dimensionName == "躯体化" ||
+              item.dimensionName == "焦虑" ||
+              item.dimensionName == "抑郁"
+            );
+          });
 
-          let listTmp3 =[]
-          listTmp3=a.filter((item)=>{
-            return !(item.dimensionName=='躯体化'||item.dimensionName=='焦虑'||item.dimensionName=='抑郁'||item.dimensionName=='总分')
-          })
+          let listTmp3 = [];
+          listTmp3 = a.filter((item) => {
+            return !(
+              item.dimensionName == "躯体化" ||
+              item.dimensionName == "焦虑" ||
+              item.dimensionName == "抑郁" ||
+              item.dimensionName == "总分"
+            );
+          });
           // this.reportDataAll=listTmp2.concat(listTmp3)
 
-          this.userData2 = listTmp2.concat(listTmp3)
+          this.userData2 = listTmp2.concat(listTmp3);
           // this.userData2 = a;
 
           if (this.userData1.length == 0) {
@@ -816,6 +866,7 @@ export default {
     //选择用户进行对比的方法
     handleSelectionChange(val) {
       // isComplete
+      this.multipleSelection = val;
       //判断里边是否有未完成的
       let hasNo = false;
       if (val.length > 0) {
@@ -829,7 +880,7 @@ export default {
       if (hasNo) {
         this.$message({
           type: "warning",
-          message: "请选已完成的",
+          message: "选项中不能含有未完成的",
         });
         return;
       }
@@ -840,7 +891,6 @@ export default {
         });
         return;
       }
-      this.multipleSelection = val;
     },
     searchTarget() {
       this.pageNum = 1;

+ 2 - 2
src/components/CompareUser.vue

@@ -163,7 +163,7 @@
                 <div class="compare_user1_info">
                   <div>姓名:{{ userInfo.userName }}</div>
 
-                  <div>学号:{{ userInfo.userNo }}</div>
+                  <div>学号/编号:{{ userInfo.userNo }}</div>
                   <div>测试用时:{{ useTime1 }}</div>
                 </div>
               </div>
@@ -178,7 +178,7 @@
                 <img v-show="userInfo.gender=='0'" src="../assets/report/woman1.png" />
                 <div class="compare_user1_info">
                   <div>姓名:{{ userInfo.userName }}</div>
-                  <div>学号:{{ userInfo.userNo }}</div>
+                  <div>学号/编号:{{ userInfo.userNo }}</div>
                   <div>测试用时:{{ useTime2 }}</div>
                 </div>
               </div>

+ 10 - 4
src/components/PlanRegister.vue

@@ -206,7 +206,7 @@ export default {
       },
       isView: true,
       rules: {
-        planName: [{ required: true, message: "请输入计划名称", trigger: "blur" }],
+        planName: [{ required: true, message: "请输入计划名称", trigger: "blur" },{ min: 1, max: 25, message: "计划名称长度不能超过25个字符", trigger: "blur" }],
         endTime: [{ required: true, message: "请输入结束时间", trigger: "blur" }],
         checkedList: [{ required: true, message: "请选择组织架构", trigger: "blur" }],
       },
@@ -538,8 +538,15 @@ export default {
                   return true;
                 }
               });
-              console.log(listTMP);
-              this.gradeOption = listTMP.reverse();
+              let listNew = [];
+              listNew = listTMP.filter((item) => {
+                return item.value != -1;
+              });
+              listNew.sort((a, b) => {
+                return parseInt(b.label) - parseInt(a.label);
+              });
+
+              this.gradeOption = listNew.reverse();
               //--------------------------------结束
               let resAdd = this.addPro(res.data);
               this.ppData = JSON.parse(JSON.stringify(resAdd));
@@ -769,7 +776,6 @@ export default {
     },
     //全选组织架构
     selectAllDataOrg() {
-
       let list = [];
       for (let i = 0; i < this.treeData.length; i++) {
         list.push(this.treeData[i].orgNo);

+ 7 - 2
src/components/Register.vue

@@ -265,18 +265,23 @@ export default {
       this.gradeOption = list.reverse();
     },
     resetData() {
+      this.ruleForm.position = "";
       if (this.isView) {
         this.ruleForm.group = "";
       }
-      this.$refs["ruleForm"].clearValidate();
+     
       //清空表单
       this.ruleForm.grade = "";
-
+    
       this.ruleForm.name = "";
       this.ruleForm.studentNumber = "";
       // this.ruleForm.password = "";
       // this.ruleForm.comPassword = "";
       this.ruleForm.sex = "";
+      setTimeout(()=>{
+        this.$refs["ruleForm"].clearValidate();
+      })
+      
     },
     //获取组织架构方法--------------------开始-----------------------
     getChannel() {

+ 3 - 3
src/components/TeacherRegister.vue

@@ -160,8 +160,8 @@ export default {
       isView: true,
       rules: {
         group: [{ required: true, message: "请选择组织架构", trigger: "blur" }],
-        studentNumber: [{ required: true, message: "请输入编号", trigger: "blur" }],
-        name: [{ required: true, message: "请输入姓名", trigger: "blur" }],
+        studentNumber: [{ required: true, message: "请输入编号", trigger: "blur" },{ min: 3, max: 18, message: "编号需3到18位", trigger: "blur" }],
+        name: [{ required: true, message: "请输入姓名", trigger: "blur" },{ min: 1, max: 20, message: "姓名最长长度为20位", trigger: "blur" }],
         sex: [{ required: true, message: "请选择性别", trigger: "blur" }],
         // password: [{ required: true, message: "请输密码", trigger: "blur" }],
         // password: [{ required: true, validator: validatePass, trigger: "blur" }],
@@ -467,7 +467,7 @@ export default {
       this.userDetailData.orgNo = this.ruleForm.group[this.ruleForm.group.length - 1];
       this.userDetailData.orgName = this.groupName;
       this.userDetailData.userName = this.ruleForm.name;
-      // this.userDetailData.userNo = this.ruleForm.studentNumber;
+      this.userDetailData.userNo = this.ruleForm.studentNumber;
       this.userDetailData.gender = this.ruleForm.sex;
 
       this.$http.post(

+ 10 - 1
src/components/TreeData.vue

@@ -24,12 +24,21 @@
               width="180"
               trigger="hover"
             >
+            <!-- v-if="treeData.isAdd && userInfo.roleType != '3'" -->
               <div style="margin: 0">
                 <el-button
                   size="mini"
                   type="primary"
                   @click="addStock(0)"
-                  v-if="treeData.isAdd && userInfo.roleType != '3'"
+                
+                  v-if="
+                    !(
+                      userInfo.roleType == '3' ||
+                      (userInfo.roleType == '4' && Number(treeData.level) === 2) ||
+                      (userInfo.roleType == '4' && Number(treeData.level) === 3) ||
+                      (userInfo.roleType == '5' && Number(treeData.level) === 4)
+                    )
+                  "
                   >添加</el-button
                 >
                 <el-button

+ 6 - 0
src/views/manage/channelInfo/orderSettlement.vue

@@ -424,6 +424,7 @@ export default {
       //判断是新增还是编辑
       //当等于0时是新增
       //当等于1时是修改
+     
       if (data.val == "1") {
         //管理员编辑
         if (this.userInfo.roleType == "5" && data.data.level == "3") {
@@ -469,6 +470,11 @@ export default {
       this.currentTreeData = data.data;
 
       this.dialogVisible = true;
+
+      setTimeout(()=>{
+        this.$refs["ruleForm"].clearValidate();
+      })
+     
     },
     // 删除
     deleteStock(data) {

+ 1 - 1
src/views/manage/channelManagement/channelManagement.vue

@@ -195,7 +195,7 @@
                   v-clipboard:success="copySuc"
                   v-clipboard:error="copyFail"
                   title="复制文本"
-                  style="color: #00bf78"
+                  
                   v-show="
                     scope.row.isShow &&
                     scope.row.extractCode != null &&

+ 2 - 0
src/views/manage/manageMain.vue

@@ -1118,11 +1118,13 @@ export default {
       margin-top: 150px;
       z-index: 100;
       .exit {
+        cursor: pointer;
         padding-top: 20px;
         padding-left: 40px;
         padding-right: 40px;
       }
       .update_pass {
+        cursor: pointer;
         padding: 20px 40px;
       }
       .exit:hover {

+ 11 - 1
src/views/manage/userManage.vue

@@ -229,7 +229,7 @@
             <!-- <el-button type="success" round @click="submitForm('ruleForm')"
                 >提交</el-button
               > -->
-            <el-button type="success" round @click="submitCom()">确定</el-button>
+            <el-button type="success" round @click="submitCom()" :disabled="isDeleteFlag">确定</el-button>
           </div>
         </div>
       </div>
@@ -330,6 +330,9 @@ export default {
   },
   data() {
     return {
+      //删除文件
+      isDeleteFlag:false,
+
       basePath: basePath,
       //上传文件的弹出款的标志
       fileVisible: false,
@@ -577,6 +580,7 @@ export default {
     submitCom() {
       //判断当前是否是
       if (this.isDelete) {
+        this.isDeleteFlag=true;
         this.deleteUser();
         //调用删除方法
       } else {
@@ -752,7 +756,9 @@ export default {
       });
     },
     deleteUser() {
+
       this.$http.get(`/user/delete?userId=${this.userId}`, {}, (res) => {
+     
         //  this.$toast.success({message:'成功'});
         if (res && res.code == 200) {
           this.$message.success("删除成功");
@@ -761,6 +767,10 @@ export default {
         } else {
           this.$message.error("删除失败");
         }
+        setTimeout(()=>{
+          this.isDeleteFlag=false
+        },500)
+       
       });
     },
     handleCurrentChange(val) {