Переглянути джерело

Merge branch 'fix-请假leave' of psychological_camera/cpdm_manage into master

将leave 合并到 master
plg 2 місяців тому
батько
коміт
3a6678b602

BIN
src/assets/img/table/cuo.png


BIN
src/assets/img/table/dui.png


BIN
src/assets/img/table/noPass.png


BIN
src/assets/img/table/pass.png


+ 1 - 1
src/components/GroupCompare.vue

@@ -24,7 +24,7 @@
             <el-form-item label="首选项" class="plan_lang">
               <el-select v-model="groupType" @change="groupChangeFun">
                 <el-option label="全院" value="1"> </el-option>
-                <el-option label="年级" value="2"> </el-option>
+                <el-option label="年级" value="2" v-show="planInfo.planType=='0'"> </el-option>
               </el-select>
             </el-form-item>
             <el-form-item label="年级" class="plan_lang" v-show="groupType != '1'">

+ 117 - 54
src/components/PlanRegister.vue

@@ -34,6 +34,16 @@
               <el-form-item label="计划名称" prop="planName">
                 <el-input v-model="ruleForm.planName"></el-input>
               </el-form-item>
+              <!-- <el-button v-show="true">asasas</el-button> -->
+              <div v-if="userInfo.roleType != '3'">
+                <el-form-item label="测评对象" prop="planType">
+                  <el-radio-group v-model="ruleForm.planType" @change="teacherChange">
+                    <el-radio label="1">教师</el-radio>
+                    <el-radio label="0">学生</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+              </div>
+
               <el-form-item label="结束时间" prop="endTime">
                 <el-date-picker
                   v-model="ruleForm.endTime"
@@ -44,50 +54,68 @@
                 >
                 </el-date-picker>
               </el-form-item>
-              <el-form-item label="快捷选项">
-                <el-row>
-                  <el-col :span="12">
-                    <!-- @change="gradeChange" 
-                     @remove-tag="gradeRemoveChange"
-                    -->
-                    <el-select
-                      :collapse-tags="true"
-                      multiple
-                      placeholder="请选择年级"
-                      v-model="grade"
-                      clearable
-                      filterable
-                    >
-                      <el-option
-                        v-for="item in gradeOption"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value"
+              <div v-show="ruleForm.planType == '0'">
+                <el-form-item label="快捷选项">
+                  <el-row>
+                    <el-col :span="12">
+                      <!-- @change="gradeChange" 
+                  @remove-tag="gradeRemoveChange"
+                 -->
+                      <el-select
+                        :collapse-tags="true"
+                        multiple
+                        placeholder="请选择年级"
+                        v-model="grade"
+                        clearable
+                        filterable
                       >
-                      </el-option>
-                    </el-select>
-                  </el-col>
-                  <el-col :span="12" style="text-align: right">
-                    <el-select
-                      v-show="userInfo.roleType != '3'"
-                      :collapse-tags="true"
-                      multiple
-                      placeholder="请选择辅导员"
-                      v-model="instructor"
-                      clearable
-                      filterable
-                    >
-                      <el-option
-                        v-for="item in instructorOption"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value"
+                        <el-option
+                          v-for="item in gradeOption"
+                          :key="item.value"
+                          :label="item.label"
+                          :value="item.value"
+                        >
+                        </el-option>
+                      </el-select>
+                    </el-col>
+                    <el-col :span="12" style="text-align: right">
+                      <el-select
+                        v-show="userInfo.roleType != '3'"
+                        :collapse-tags="true"
+                        multiple
+                        placeholder="请选择辅导员"
+                        v-model="instructor"
+                        clearable
+                        filterable
                       >
-                      </el-option>
-                    </el-select>
-                  </el-col>
-                </el-row>
-              </el-form-item>
+                        <el-option
+                          v-for="item in instructorOption"
+                          :key="item.value"
+                          :label="item.label"
+                          :value="item.value"
+                        >
+                        </el-option>
+                      </el-select>
+                    </el-col>
+                  </el-row>
+                </el-form-item>
+              </div>
+              <el-button
+                type="info"
+                style="line-height: 10px; margin-top: 10px; font-size: 12px"
+                round
+                size="mini"
+                @click="selectAllDataOrg()"
+                >全选组织架构</el-button
+              >
+              <el-button
+                type="info"
+                style="line-height: 10px; margin-top: 10px; font-size: 12px"
+                round
+                size="mini"
+                @click="clearDataOrg()"
+                >清空组织架构</el-button
+              >
               <div style="display: flex">
                 <el-form-item label="组织架构" prop="checkedList">
                   <el-tree
@@ -101,13 +129,6 @@
                   >
                   </el-tree>
                 </el-form-item>
-                <el-button
-                  type="info"
-                  style="height: 100%; margin-top: 20px"
-                  round
-                  @click="clearDataOrg()"
-                  >清空组织架构</el-button
-                >
               </div>
 
               <!-- <el-button @click="getCheckedNodes"> 获取已选 </el-button> -->
@@ -178,6 +199,7 @@ export default {
       ruleForm: {
         //所属组织架构
         planName: "",
+        planType: "0",
         endTime: "",
         checkboxGroup2: [],
         checkedList: [],
@@ -273,6 +295,11 @@ export default {
   },
 
   methods: {
+    teacherChange(val) {
+      this.getChannel();
+      //当val == 1 时 调用查询组织架构的方法
+      //重新绘制
+    },
     // pickerOptions1() {},
     //查询学生模版
     queryStudentTemp() {
@@ -487,6 +514,8 @@ export default {
               //当用户角色为3时  需要将数据处理为辅导员的数据
               //选择出来需要的级
               //--------------------------------开始
+              //
+              //需要保存数据
               let list = [];
               for (let i = 0; i < res.data.length; i++) {
                 if (res.data[i].extend !== null && res.data[i].extend !== "") {
@@ -517,7 +546,23 @@ export default {
               let forRes = this.arrToTree(resAdd);
               let resultRes = this.deleteChildren(forRes);
               let levelList = this.markersFun(resultRes, 1);
-              this.treeData = levelList;
+              //修改测试计划
+              let listOrg = levelList[0].children;
+              this.treeData = listOrg;
+              //判断选择时教师还是学生
+              if (this.ruleForm.planType == "1") {
+                let listOrg = levelList[0].children;
+                this.treeData = listOrg.filter((item) => {
+                  return item.extend == -1;
+                });
+              } else {
+                let listOrg = levelList[0].children;
+                this.treeData = listOrg.filter((item) => {
+                  return item.extend != -1;
+                });
+              }
+
+              //
             } else {
               this.groupData = [];
             }
@@ -668,6 +713,7 @@ export default {
       this.id = val.id;
       this.dialogVisible = true;
       this.isView = false;
+      this.ruleForm.planType = val.planType;
       this.ruleForm.planName = val.planName;
       this.ruleForm.endTime = val.planEndTime;
       //将配置计划置空
@@ -715,12 +761,23 @@ export default {
             //
             listOrg.push(res.data.orgEntityList[i].orgNo);
           }
-
+          //  debugger;
           this.ruleForm.checkedList = listOrg;
           this.$refs.tree.setCheckedKeys(this.ruleForm.checkedList);
         }
       });
     },
+    //全选组织架构
+    selectAllDataOrg() {
+
+      let list = [];
+      for (let i = 0; i < this.treeData.length; i++) {
+        list.push(this.treeData[i].orgNo);
+      }
+      this.ruleForm.checkedList = list;
+      this.$refs.tree.setCheckedKeys(this.ruleForm.checkedList);
+    },
+    //清空组织架构
     clearDataOrg() {
       this.grade = [];
       this.instructor = [];
@@ -858,6 +915,7 @@ export default {
       this.$http.post(
         `/plan/addOrUpdate`,
         {
+          // planType:this.ruleForm.planType,
           contentEntities: list,
           orgEntityList: listOrg,
           planName: this.ruleForm.planName,
@@ -866,7 +924,7 @@ export default {
           createUserName: this.userInfo.userName,
           planOrgNo: this.userInfo.orgNo,
           planOrgName: this.userInfo.orgName,
-          planType: "0",
+          planType: this.ruleForm.planType,
         },
         (res) => {
           this.disableFlagStatus();
@@ -941,12 +999,11 @@ export default {
         };
         listOrg.push(obj);
       }
-
       this.userDetailData.planEndTime = this.ruleForm.endTime;
       this.userDetailData.planName = this.ruleForm.planName;
       this.userDetailData.contentEntities = list;
       this.userDetailData.orgEntityList = listOrg;
-
+      this.userDetailData.planType = this.ruleForm.planType;
       this.$http.post(
         `/plan/addOrUpdate`,
         {
@@ -971,6 +1028,12 @@ export default {
 };
 </script>
 <style lang="less" scoped>
+input[aria-hidden="true"] {
+  display: none !important;
+}
+.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner {
+  box-shadow: none;
+}
 .taskSelect /deep/ .el-checkbox.is-bordered + .el-checkbox.is-bordered {
   margin-left: 0px !important;
 }

+ 75 - 12
src/components/PlanReport.vue

@@ -65,7 +65,21 @@
                 width=""
               >
               </el-table-column>
-              <el-table-column prop="userNo" label="学号" align="center" width="">
+              <el-table-column
+                prop="userNo"
+                v-if="planType == '0'"
+                label="学号"
+                align="center"
+                width=""
+              >
+              </el-table-column>
+              <el-table-column
+                prop="userNo"
+                v-if="planType == '1'"
+                label="编号"
+                align="center"
+                width=""
+              >
               </el-table-column>
               <el-table-column
                 prop="orgName"
@@ -174,7 +188,21 @@
               width=""
             >
             </el-table-column>
-            <el-table-column prop="userNo" label="学号" align="center" width="">
+            <el-table-column
+              prop="userNo"
+              v-if="planType == '0'"
+              label="学号"
+              align="center"
+              width=""
+            >
+            </el-table-column>
+            <el-table-column
+              prop="userNo"
+              v-if="planType == '1'"
+              label="编号"
+              align="center"
+              width=""
+            >
             </el-table-column>
             <el-table-column prop="orgName" label="所属组织架构" align="center" width="">
             </el-table-column>
@@ -281,7 +309,7 @@
               <el-option
                 v-for="item in gradeList"
                 :key="item.id"
-                :label="item == '全部' ? '' : item + '级'"
+                :label="item == '全部' ? '' : item == -1 ? '教师组' : `${item}级`"
                 :value="item"
               ></el-option>
             </el-select>
@@ -426,7 +454,21 @@
               width=""
             >
             </el-table-column>
-            <el-table-column prop="userNo" label="学号" align="center" width="">
+            <el-table-column
+              prop="userNo"
+              v-if="planType == '0'"
+              label="学号"
+              align="center"
+              width=""
+            >
+            </el-table-column>
+            <el-table-column
+              prop="userNo"
+              v-if="planType == '1'"
+              label="编号"
+              align="center"
+              width=""
+            >
             </el-table-column>
             <el-table-column prop="orgName" label="所属组织架构" align="center" width="">
             </el-table-column>
@@ -512,7 +554,21 @@
               width=""
             >
             </el-table-column>
-            <el-table-column prop="userNo" label="学号" align="center" width="">
+            <el-table-column
+              prop="userNo"
+              v-if="planType == '0'"
+              label="学号"
+              align="center"
+              width=""
+            >
+            </el-table-column>
+            <el-table-column
+              prop="userNo"
+              v-if="planType == '1'"
+              label="编号"
+              align="center"
+              width=""
+            >
             </el-table-column>
             <el-table-column prop="orgName" label="所属组织架构" align="center" width="">
             </el-table-column>
@@ -709,6 +765,7 @@ export default {
       fullmarkPageSize: 10,
       //满分人员每页多少条
       fullmarkTotal: 0,
+      planType: "",
     };
   },
   mounted() {
@@ -828,7 +885,7 @@ export default {
     window.removeEventListener("resize", this.echartsAllSize);
   },
   methods: {
-    queryQS(val){
+    queryQS(val) {
       let url = "/manage/tendency";
       this.bus.$emit("menuStatusUpdate", url);
       //跳转到趋势统计的页面
@@ -837,7 +894,6 @@ export default {
       sessionStorage.setItem("individualTendency", JSON.stringify(val));
       this.$router.push({
         path: "/manage/individualTendency",
-      
       });
     },
     selectAllFun() {
@@ -869,8 +925,10 @@ export default {
     },
     addRegisterUser(val) {
       let obj = val;
-      obj.planId=this.planId
+      obj.planId = this.planId;
       obj.planName = this.planName;
+      // obj.planType 
+      obj.planType =this.planType;
       this.$refs.register.open(obj);
     },
     //导出心理异常的人员
@@ -948,7 +1006,6 @@ export default {
     },
     //tab状态改变
     tabFun(a) {
-
       // this.tabNameCurrent=
       let linT = [];
       linT = this.subDimeList.filter((item) => {
@@ -995,6 +1052,7 @@ export default {
       this.queryBread(params);
     },
     open(val) {
+      this.planType = val.planType;
       this.planId = val.id;
       this.planName = val.planName;
       this.userType = "心理异常";
@@ -1013,7 +1071,6 @@ export default {
       this.doubtfulSearchList();
       //获取满分人员列表
       this.fullmarkSearchList();
-      
     },
     //查询计划下年级
     queryGrade() {
@@ -1305,7 +1362,14 @@ export default {
     },
     //获取维度下变的子项维度
     getSexList() {
-      this.$http.get(`/param/findAllByType?type=ques`, {}, (res) => {
+      let url;
+      if (this.planType == "0") {
+        url = `/param/findAllByType?type=ques`;
+      } else {
+        url = `/param/findAllByType?type=ques2`;
+      }
+
+      this.$http.get(url, {}, (res) => {
         if (res && res.code == 200) {
           this.subDimeList = res.data;
           //调用性别的选项
@@ -1347,7 +1411,6 @@ export default {
         {},
         (res) => {
           if (res && res.code == 200) {
-
             this.subAll = res.data.totalNum;
             this.subSingle = res.data.highNum;
             this.options7 = [

+ 4 - 1
src/components/PlanUserStatus.vue

@@ -52,7 +52,10 @@
                   width=""
                 >
                 </el-table-column>
-                <el-table-column prop="userNo" label="学号" align="center" width="">
+                
+                <el-table-column prop="userNo" label="编号" align="center" width="" v-if="proDataLin.planType=='1'">
+                </el-table-column>
+                <el-table-column prop="userNo" label="学号" align="center" width=""  v-if="proDataLin.planType=='0'">
                 </el-table-column>
                 <el-table-column
                   prop="isComplete"

+ 35 - 19
src/components/Report.vue

@@ -188,11 +188,23 @@
               <div style="padding: 20px 40px">
                 <div>
                   <div class="report_info_out">
-                    <img v-show="proDataLin.gender=='1'" src="../assets/report/man1.png" />
-                    <img v-show="proDataLin.gender=='0'" src="../assets/report/woman1.png" />
+                    <img
+                      v-show="proDataLin.gender == '1'"
+                      src="../assets/report/man1.png"
+                    />
+                    <img
+                      v-show="proDataLin.gender == '0'"
+                      src="../assets/report/woman1.png"
+                    />
                     <div class="report_info_user">
                       <span class="info">姓名:&nbsp;&nbsp;{{ proDataLin.userName }}</span>
-                      <span class="info">学号:&nbsp;&nbsp;{{ proDataLin.userNo }}</span>
+                      <span class="info" v-show="proDataLin.roleType == '2'"
+                        >编号:&nbsp;&nbsp;{{ proDataLin.userNo }}</span
+                      >
+                      <span class="info" v-show="proDataLin.roleType == '1'"
+                        >学号:&nbsp;&nbsp;{{ proDataLin.userNo }}</span
+                      >
+                      <!-- roleType -->
                       <span class="info">测试用时:&nbsp;&nbsp;{{ useTime }}</span>
                       <span class="info"
                         >所属组织结构:&nbsp;&nbsp;<span style="">{{
@@ -303,10 +315,10 @@
                     :key="index"
                     style="padding-top: 20px"
                   >
-                    <div class="des_zhishu"  >
+                    <div class="des_zhishu">
                       {{ item.dimensionName }}
                     </div>
-                    <div class="report_des_out"  >
+                    <div class="report_des_out">
                       <div class="score">
                         <div class="score_lin">
                           <img
@@ -432,7 +444,6 @@
                       </div>
                     </div>
                   </div>
-       
                 </div>
               </div>
             </div>
@@ -567,21 +578,29 @@ export default {
       this.$http.get(url, {}, (res) => {
         if (res.code == 200) {
           // this.reportData = res.data;
-          let listTmp1 =[]
+          let listTmp1 = [];
           listTmp1 = res.data.dimensionScore.filter((item) => {
             return item.dimensionName != "总分";
           });
 
-          let listTmp2 =[]
-          listTmp2=listTmp1.filter((item)=>{
-            return item.dimensionName=='躯体化'||item.dimensionName=='焦虑'||item.dimensionName=='抑郁'
-          })
+          let listTmp2 = [];
+          listTmp2 = listTmp1.filter((item) => {
+            return (
+              item.dimensionName == "躯体化" ||
+              item.dimensionName == "焦虑" ||
+              item.dimensionName == "抑郁"
+            );
+          });
 
-          let listTmp3 =[]
-          listTmp3=listTmp1.filter((item)=>{
-            return !(item.dimensionName=='躯体化'||item.dimensionName=='焦虑'||item.dimensionName=='抑郁')
-          })
-          this.reportDataAll=listTmp2.concat(listTmp3)
+          let listTmp3 = [];
+          listTmp3 = listTmp1.filter((item) => {
+            return !(
+              item.dimensionName == "躯体化" ||
+              item.dimensionName == "焦虑" ||
+              item.dimensionName == "抑郁"
+            );
+          });
+          this.reportDataAll = listTmp2.concat(listTmp3);
           //将数组中的躯体化---抑郁---焦虑 取出来
           //然后将数组中的不是焦虑--抑郁 --躯体化的 取出来 --进行排序
 
@@ -590,9 +609,6 @@ export default {
           // });
           //将三个维度提前
 
-       
-
-
           this.useTime = res.data.usedTime;
           this.orgName = res.data.dimensionScore[0].orgName;
 

+ 4 - 2
src/components/Report1.vue

@@ -144,7 +144,9 @@
                     <img v-show="gender=='0'" src="../assets/report/woman1.png" />
                     <div class="report_info_user">
                       <span class="info">姓名:&nbsp;&nbsp;{{ proDataLin.userName }}</span>
-                      <span class="info">学号:&nbsp;&nbsp;{{ proDataLin.userNo }}</span>
+                     
+                      <span class="info" v-show="proDataLin.planType=='0'">学号:&nbsp;&nbsp;{{ proDataLin.userNo }}</span>
+                      <span class="info" v-show="proDataLin.planType=='1'">编号:&nbsp;&nbsp;{{ proDataLin.userNo }}</span>
                       <span class="info">测试用时:&nbsp;&nbsp;{{ useTime }}</span>
                       <span class="info"
                         >所属组织结构:&nbsp;&nbsp;<span style="">{{
@@ -517,7 +519,6 @@ export default {
     reportDetail(params) {
       let url = `/userRecordScore/findByFlagAndUserNo?planId=${params.planId}&userNo=${params.userNo}&flag=${params.flag}`;
       this.$http.get(url, {}, (res) => {
-        
         if (res.code == 200) {
           // this.reportData = res.data;
           this.gender=res.data.gender
@@ -722,6 +723,7 @@ export default {
       }
     },
     open(val) {
+      // debugger;
       this.proDataLin = val;
       this.dialogVisible = true;
       //查询用户下边的计划

+ 17 - 6
src/components/TeacherRegister.vue

@@ -25,7 +25,7 @@
             <!-- :show-all-levels="false" -->
             <el-form-item label="所属组织架构" prop="group">
               <el-cascader
-              :disabled="!isView"
+                :disabled="!isView"
                 placeholder="请选择组织架构"
                 v-model="ruleForm.group"
                 :options="groupData"
@@ -121,6 +121,8 @@ export default {
       userDetailData: {},
       //组织架构名字
       groupName: "",
+      //属于哪一届
+      grade: "",
       ppData: [],
       groupData: [],
       options: [
@@ -255,6 +257,14 @@ export default {
         }
       }
     },
+    //查询属于哪一届
+    queryGrade() {
+      for (let i = 0; i < this.ppData.length; i++) {
+        if (this.ruleForm.group[this.ruleForm.group.length - 1] == this.ppData[i].orgNo) {
+          this.grade = this.ppData[i].extend;
+        }
+      }
+    },
     //获取组织架构方法--------------------结束-----------------------
     timeChange(val) {
       if (val !== null) {
@@ -373,9 +383,9 @@ export default {
       let validSp = [];
       if (this.isView) {
         // validSp = ["group", "studentNumber", "name", "sex", "password", "comPassword"];
-        validSp = ["group","studentNumber", "name", "sex"];
+        validSp = ["group", "studentNumber", "name", "sex"];
       } else {
-        validSp = ["group","studentNumber", "name", "sex"];
+        validSp = ["group", "studentNumber", "name", "sex"];
       }
       let aa = [];
       this.$refs["ruleForm"].validateField(validSp, (valid) => {
@@ -412,7 +422,7 @@ export default {
       //   return;
       // }
       this.queryOrgName();
-
+      this.queryGrade();
       console.log(this.ruleForm.group);
       let that = this;
       // this.ruleForm.password = md5(this.ruleForm.password);
@@ -421,6 +431,7 @@ export default {
         {
           // orgNo: this.userInfo.orgNo,
           // orgName: this.userInfo.orgName,
+          grade: this.grade,
           orgNo: this.ruleForm.group[this.ruleForm.group.length - 1],
           orgName: this.groupName,
           userNo: this.ruleForm.studentNumber,
@@ -455,10 +466,10 @@ export default {
       this.queryOrgName();
       this.userDetailData.orgNo = this.ruleForm.group[this.ruleForm.group.length - 1];
       this.userDetailData.orgName = this.groupName;
-      // this.userDetailData.userName = this.ruleForm.name;
+      this.userDetailData.userName = this.ruleForm.name;
       // this.userDetailData.userNo = this.ruleForm.studentNumber;
       this.userDetailData.gender = this.ruleForm.sex;
-     
+
       this.$http.post(
         `/user/addOrUpdateUser`,
         {

+ 6 - 0
src/router/router.js

@@ -27,6 +27,12 @@ export const routerList = [
         name: "userManage",
         component: () => import("../views/manage/userManage"),
       },
+        //请假管理
+        {
+          path: "leaveManage",
+          name: "leaveManage",
+          component: () => import("../views/manage/leaveManage"),
+        },
       //教师管理
       {
         path: "teacherManage",

+ 3 - 1
src/utils/http.js

@@ -24,8 +24,10 @@ import { router } from "@/router";
 //30
 // export const basePath = "http://43.143.198.30:8089";
 //红朵服务器
-export const basePath = "http://129.211.221.44:8089";
+// export const basePath = "http://129.211.221.44:8089";
 //锦泓税务服务器
+//新服务器李靖
+export const basePath = "http://123.57.18.29:8089";
 // export const basePath = "http://146.56.226.174:8089";
 // const base_url = 'http://43.143.198.30:8089/'
 // const base_url = 'http://10.113.248.4:8090/'

+ 66 - 27
src/views/manage/channelInfo/channelUserManage.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="record-warp">
     <div class="record-main">
-      <el-row >
+      <el-row>
         <el-col :span="24">
           <div class="search-head">
             <el-input v-model="name" clearable placeholder="请输入姓名"></el-input
@@ -10,11 +10,11 @@
             <el-input
               v-model="studentNumber"
               clearable
-              placeholder="请输入学号"
+              placeholder="请输入学号/编号"
             ></el-input
             >&nbsp;&nbsp;&nbsp;&nbsp;
             <el-cascader
-              v-show="userInfo.roleType=='5'"
+              v-show="userInfo.roleType == '5'"
               placeholder="请选择组织架构"
               v-model="group"
               :options="groupData"
@@ -23,11 +23,10 @@
             ></el-cascader>
             <!-- :props="{ checkStrictly: true }" -->
             <el-cascader
-              v-show="userInfo.roleType=='4'"
+              v-show="userInfo.roleType == '4'"
               placeholder="请选择组织架构"
               v-model="group"
               :options="groupData"
-             
               clearable
             ></el-cascader>
             <!-- <el-select v-model="channel" placeholder="请选择所属组织架构">
@@ -40,7 +39,7 @@
             </el-select> -->
             &nbsp;&nbsp;&nbsp;&nbsp;
             <!-- <span style="font-size: 16px;">性别:</span>&nbsp;&nbsp; -->
-            <div style="display: flex; flex-direction: row; align-items: center">
+            <!-- <div style="display: flex; flex-direction: row; align-items: center">
               <span
                 style="
                   font-size: 16px;
@@ -53,6 +52,20 @@
               <el-radio v-model="sex" label="1">男</el-radio>
               <el-radio v-model="sex" label="0">女</el-radio>
             </div>
+            &nbsp;&nbsp;&nbsp;&nbsp; -->
+            <div style="display: flex; flex-direction: row; align-items: center">
+              <span
+                style="
+                  font-size: 16px;
+                  margin-right: 10px;
+                  line-height: 20px;
+                  min-width: 40px;
+                "
+                >用户类型:</span
+              >
+              <el-radio v-model="userType" label="2">教师</el-radio>
+              <el-radio v-model="userType" label="1">学生</el-radio>
+            </div>
             &nbsp;&nbsp;&nbsp;&nbsp;
             <el-button type="primary" round icon="el-icon-search" @click="searchTarget"
               >搜索</el-button
@@ -79,7 +92,15 @@
             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
+            prop="roleType"
+            label="用户类型"
+            align="center"
+            width=""
+            :formatter="roleTypeFun"
+          >
           </el-table-column>
           <!-- <el-table-column prop="totalScore" label="总分" align="center" width="">
           </el-table-column> -->
@@ -155,6 +176,7 @@ export default {
       //搜索的组织架构
       // 搜索需要的性别
       sex: "",
+      userType: "",
 
       group: "",
       ppData: [],
@@ -210,6 +232,13 @@ export default {
     this.searchTarget();
   },
   methods: {
+    roleTypeFun(val){
+      if(val.roleType=='1'){
+        return '学生'
+      }else{
+        return '教师'
+      }
+    },
     //文件上传成功
     fileSuccess(res) {
       if (res.code == 200) {
@@ -250,7 +279,7 @@ export default {
     },
     //每页多少条
     handleSizeChange(val) {
-      this.pageSize=val;
+      this.pageSize = val;
       this.searchTarget();
       // console.log(`每页 ${val} 条`);
       //将首页重置为1时---且总条数变化
@@ -258,26 +287,30 @@ export default {
     },
     //获取组织架构方法--------------------开始-----------------------
     getChannel() {
-      this.$http.get(`/org/findAllOrgByPOrgNo?orgNo=${this.userInfo.orgNo}`, {}, (res) => {
-        //  this.$toast.success({message:'成功'});
-        if (res && res.code == 200) {
-          //将值赋值给list
-          if (res.data.length > 0) {
-            let resAdd = this.addPro(res.data);
-            this.ppData = JSON.parse(JSON.stringify(resAdd));
-            let forRes = this.arrToTree(resAdd);
-            // console.log('格式化的结构')
-            // console.log(forRes)
-            let resultRes = this.deleteChildren(forRes);
-            this.groupData = resultRes[0].children;
+      this.$http.get(
+        `/org/findAllOrgByPOrgNo?orgNo=${this.userInfo.orgNo}`,
+        {},
+        (res) => {
+          //  this.$toast.success({message:'成功'});
+          if (res && res.code == 200) {
+            //将值赋值给list
+            if (res.data.length > 0) {
+              let resAdd = this.addPro(res.data);
+              this.ppData = JSON.parse(JSON.stringify(resAdd));
+              let forRes = this.arrToTree(resAdd);
+              // console.log('格式化的结构')
+              // console.log(forRes)
+              let resultRes = this.deleteChildren(forRes);
+              this.groupData = resultRes[0].children;
+            } else {
+              this.groupData = [];
+            }
+            // this.channelList = res.data;
           } else {
-            this.groupData = [];
+            this.$message.error(res.msg);
           }
-          // this.channelList = res.data;
-        } else {
-          this.$message.error(res.msg);
         }
-      });
+      );
     },
     //z增加
     addPro(val) {
@@ -350,6 +383,7 @@ export default {
       // 搜索需要的性别
       this.sex = "";
       this.group = "";
+      this.userType='';
       this.searchTarget();
     },
 
@@ -364,11 +398,16 @@ export default {
       this.searchList();
     },
     //根据现有情况进行搜索
+    // &roleType=1
     searchList() {
       let url = `/user/findUserListByPage?pageSize=${this.pageSize}&pageNum=${
         this.pageNum
-      }&roleType=1${this.sex == "" ? "" : `&gender=${this.sex}`}${
-        this.group.length == 0 ? `&orgNo=${this.userInfo.orgNo}` : `&orgNo=${this.group[this.group.length - 1]}`
+      }${this.userType == "" ? "" : `&roleType=${this.userType}`}${
+        this.sex == "" ? "" : `&gender=${this.sex}`
+      }${
+        this.group.length == 0
+          ? `&orgNo=${this.userInfo.orgNo}`
+          : `&orgNo=${this.group[this.group.length - 1]}`
       }${this.name == "" ? "" : `&userName=${this.name}`}${
         this.studentNumber == "" ? "" : `&userNo=${this.studentNumber}`
       }`;

+ 44 - 3
src/views/manage/channelInfo/invite.vue

@@ -17,7 +17,22 @@
               >
               </el-option>
             </el-select>
-            &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
+            &nbsp;&nbsp;&nbsp;&nbsp;
+            <div style="display: flex; flex-direction: row; align-items: center">
+              <span
+                style="
+                  font-size: 16px;
+                  margin-right: 10px;
+                  line-height: 20px;
+                  min-width: 40px;
+                "
+                >测评对象:</span
+              >
+              <el-radio v-model="planType" label="1">教师</el-radio>
+              <el-radio v-model="planType" label="0">学生</el-radio>
+            </div>
+            
+            &nbsp;&nbsp;&nbsp;&nbsp;
             <el-button type="primary" round icon="el-icon-search" @click="searchTarget"
               >搜索</el-button
             >
@@ -81,6 +96,13 @@
             align="center"
             width=""
           ></el-table-column>
+          <el-table-column
+            prop="planType"
+            label="测评对象"
+            align="center"
+            width=""
+            :formatter="planTypeFun"
+          ></el-table-column>
           <el-table-column
             prop="planStatus"
             label="状态"
@@ -137,7 +159,7 @@
                 </div>
                 <div
                   class="detail_button"
-                  v-show="scope.row.planStatus == '1'"
+                  v-show="scope.row.planStatus == '1'&&userInfo.roleType!='5'"
                   @click="editUser(scope.row)"
                 >
                   <img src="../../../assets/img/table/edit.png" />
@@ -237,6 +259,12 @@
               {{ view.creatUser }}
             </div>
           </div>
+          <div class="user_out">
+            <div class="user_out_sub">测试对象</div>
+            <div class="user_out_subNext">
+              {{ view.planType=='1'?'教师':'学生' }}
+            </div>
+          </div>
           <div class="user_out">
             <div class="user_out_sub">状态</div>
             <div class="user_out_subNext">
@@ -279,6 +307,7 @@
               </div>
             </div>
           </div>
+          
         </div>
       </div>
     </el-dialog>
@@ -368,6 +397,7 @@ export default {
   },
   data() {
     return {
+      planType:'',
       basePath: basePath,
       //上传文件的弹出款的标志
       fileVisible: false,
@@ -412,6 +442,7 @@ export default {
         endTime: "",
         creatUser: "",
         status: "",
+        planType:''
       },
       channel: "",
       channelList: [{ name: "渠道天成", id: "1" }],
@@ -450,6 +481,14 @@ export default {
     this.searchTarget();
   },
   methods: {
+    //测评对象
+    planTypeFun(val){
+      if(val.planType=='1'){
+        return '教师'
+      }else{
+        return '学生'
+      }
+    },
     //打开用户列表弹出框
     userOp(val) {
       this.$refs.planUserAdd.open(val);
@@ -616,6 +655,7 @@ export default {
       this.view.creatTime = row.createTime;
       this.view.endTime = row.planEndTime;
       this.view.creatUser = row.createUserName;
+      this.view.planType=row.planType;
       let st = "";
       if (row.planStatus == "1") {
         st = "未开始";
@@ -634,6 +674,7 @@ export default {
       this.planName = "";
       //搜索的用户编号
       this.planStatus = "";
+      this.planType=''
       this.searchTarget();
     },
 
@@ -678,7 +719,7 @@ export default {
         this.pageNum
       }&orgNo=${this.userInfo.orgNo}${
         this.planName == "" ? "" : `&planName=${this.planName}`
-      }${this.planStatus == "" ? "" : `&planStatus=${this.planStatus}`}`;
+      }${this.planStatus == "" ? "" : `&planStatus=${this.planStatus}`}${this.planType==''?'':`&planType=${this.planType}`}`;
       this.$http.get(url, {}, (res) => {
         if (res && res.code == 200) {
           this.tableData = res.data.content;

+ 46 - 7
src/views/manage/channelManagement/channelManagement.vue

@@ -6,7 +6,7 @@
           <div class="search-head">
             <el-input v-model="planName" clearable placeholder="请输入计划名称"></el-input
             >&nbsp;&nbsp;&nbsp;&nbsp;
-
+            <!-- 
             <el-date-picker
               :clearable="false"
               v-model="planTime"
@@ -14,8 +14,8 @@
               format="yyyy-MM-dd"
               placeholder="选择创建日期"
             >
-            </el-date-picker>
-            <el-cascader
+            </el-date-picker> -->
+            <!-- <el-cascader
               v-show="userInfo.roleType == '5'"
               placeholder="请选择组织架构"
               v-model="group"
@@ -23,14 +23,13 @@
               :props="{ checkStrictly: true }"
               clearable
             ></el-cascader>
-            <!-- :props="{ checkStrictly: true }" -->
             <el-cascader
               v-show="userInfo.roleType == '4'"
               placeholder="请选择组织架构"
               v-model="group"
               :options="groupData"
               clearable
-            ></el-cascader>
+            ></el-cascader> -->
             &nbsp;&nbsp;&nbsp;&nbsp;
             <el-select v-model="planStatus" placeholder="请选择计划状态">
               <el-option
@@ -40,7 +39,20 @@
                 :key="item.id"
               ></el-option>
             </el-select>
-
+            &nbsp;&nbsp;&nbsp;&nbsp;
+            <div style="display: flex; flex-direction: row; align-items: center">
+              <span
+                style="
+                  font-size: 16px;
+                  margin-right: 10px;
+                  line-height: 20px;
+                  min-width: 40px;
+                "
+                >测评对象:</span
+              >
+              <el-radio v-model="planType" label="1">教师</el-radio>
+              <el-radio v-model="planType" label="0">学生</el-radio>
+            </div>
             &nbsp;&nbsp;&nbsp;&nbsp;
             <el-button type="primary" round icon="el-icon-search" @click="searchTarget"
               >搜索</el-button
@@ -498,6 +510,7 @@ export default {
       //搜索的组织架构
       // 搜索需要的性别
       sex: "",
+      planType: "",
 
       planName: "",
       planTime: "",
@@ -675,6 +688,12 @@ export default {
     },
     //下载报告
     downloadFun() {
+      // dimensionality: 0,
+      // dimensionalityOption: [
+      //   { id: 0, name: "学院" },
+      //   { id: 1, name: "年级" },
+      //   { id: 2, name: "班级" },
+      // ],
       //在这里调用接口
       //判断当前选择是院还是届--还是班级
       let params = {};
@@ -797,6 +816,23 @@ export default {
     },
     //下载标志
     downloadButton(row) {
+      // dimensionality: 0,
+      // dimensionalityOption: [
+      //   { id: 0, name: "学院" },
+      //   { id: 1, name: "年级" },
+      //   { id: 2, name: "班级" },
+      // ],
+      this.dimensionality = 0;
+      if (row.planType == "1") {
+        this.dimensionalityOption = [{ id: 0, name: "学院" }];
+      } else {
+        this.dimensionalityOption = [
+          { id: 0, name: "学院" },
+          { id: 1, name: "年级" },
+          { id: 2, name: "班级" },
+        ];
+      }
+
       //在这里记录一下---数据
       //当查看报告时--如果显示的是
       if (this.userInfo.roleType != 5) {
@@ -1005,6 +1041,7 @@ export default {
       this.planTime = "";
       this.group = "";
       this.planStatus = "";
+      this.planType = "";
       this.searchTarget();
     },
 
@@ -1075,7 +1112,9 @@ export default {
         gp == "" ? `&orgNo=${this.userInfo.orgNo}` : `&orgNo=${gp}`
       }${time == "" ? "" : `&createDate=${time}`}${
         this.planStatus == "" ? "" : `&planStatus=${this.planStatus}`
-      }${this.planName == "" ? "" : `&planName=${this.planName}`}`;
+      }${this.planName == "" ? "" : `&planName=${this.planName}`}${
+        this.planType == "" ? "" : `&planType=${this.planType}`
+      }`;
       this.$http.get(url, {}, (res) => {
         if (res && res.code == 200) {
           let aa = [];

+ 51 - 14
src/views/manage/channelManagement/contract.vue

@@ -39,7 +39,7 @@
             ></el-input>
             <div v-show="!isUser">&nbsp;&nbsp;&nbsp;&nbsp;</div>
             <el-cascader
-              v-show="userInfo.roleType == '5'"
+              v-show="userInfo.roleType == '5'&&isUser"
               placeholder="请选择组织架构"
               v-model="group"
               :options="groupData"
@@ -48,12 +48,48 @@
             ></el-cascader>
             <!-- :props="{ checkStrictly: true }" -->
             <el-cascader
-              v-show="userInfo.roleType == '4'"
+              v-show="userInfo.roleType == '4'&&isUser"
               placeholder="请选择组织架构"
               v-model="group"
               :options="groupData"
               clearable
             ></el-cascader>
+            &nbsp;&nbsp;&nbsp;&nbsp;
+            <div
+              style="display: flex; flex-direction: row; align-items: center"
+              v-show="isUser"
+            >
+              <span
+                style="
+                  font-size: 16px;
+                  margin-right: 10px;
+                  line-height: 20px;
+                  min-width: 40px;
+                "
+                >用户类型:</span
+              >
+              <el-radio v-model="userType" label="2">教师</el-radio>
+              <el-radio v-model="userType" label="1">学生</el-radio>
+            </div>
+            <div v-show="isUser">&nbsp;&nbsp;&nbsp;&nbsp;</div>
+
+            <div
+              style="display: flex; flex-direction: row; align-items: center"
+              v-show="!isUser"
+            >
+              <span
+                style="
+                  font-size: 16px;
+                  margin-right: 10px;
+                  line-height: 20px;
+                  min-width: 40px;
+                "
+                >测评对象:</span
+              >
+              <el-radio v-model="planType" label="1">教师</el-radio>
+              <el-radio v-model="planType" label="0">学生</el-radio>
+            </div>
+
             &nbsp;&nbsp;&nbsp;&nbsp;
             <el-button type="primary" round icon="el-icon-search" @click="searchTarget"
               >搜索</el-button
@@ -348,13 +384,13 @@ import comparePlanUser from "../../../components/ComparePlanUser.vue";
 import { basePath } from "../../../utils/http";
 import userImgActive from "../../../assets/report/lv.png";
 import userImgDefault from "../../../assets/report/white.png";
-import groupCompare from '../../../components/GroupCompare.vue'
+import groupCompare from "../../../components/GroupCompare.vue";
 export default {
   name: "userManage",
   components: {
     CompareUser: compareUser,
     ComparePlanUser: comparePlanUser,
-    GroupCompare:groupCompare
+    GroupCompare: groupCompare,
   },
   data() {
     return {
@@ -383,8 +419,9 @@ export default {
       studentNumber: "",
       //搜索的组织架构
       // 搜索需要的性别
+      planType: "",
       sex: "",
-
+      userType: "",
       group: "",
       ppData: [],
       groupData: [],
@@ -445,9 +482,9 @@ export default {
     this.isClikcObj(false);
   },
   methods: {
-    groupCompare(val){
+    groupCompare(val) {
       //打开群体报告统计页面
-      this.$refs.groupUser.open(val)
+      this.$refs.groupUser.open(val);
     },
     titleFormatter(val) {
       if (val.planStatus == "1") {
@@ -656,6 +693,8 @@ export default {
       // 搜索需要的性别
       this.planName = "";
       this.group = "";
+      this.userType = "";
+      this.planType = "";
       this.searchTarget();
     },
 
@@ -672,11 +711,12 @@ export default {
     },
     //根据现有情况进行搜索
     searchList() {
+      // &roleType=1
       let url;
       if (this.isUser) {
         url = `/user/findUserListByPage?pageSize=${this.pageSize}&pageNum=${
           this.pageNum
-        }&roleType=1${
+        }${this.userType == "" ? "" : `&roleType=${this.userType}`}${
           this.group.length == 0
             ? `&orgNo=${this.userInfo.orgNo}`
             : `&orgNo=${this.group[this.group.length - 1]}`
@@ -684,13 +724,10 @@ export default {
           this.studentNumber == "" ? "" : `&userNo=${this.studentNumber}`
         }`;
       } else {
+        //planType
         url = `/plan/findListByPage?pageSize=${this.pageSize}&pageNum=${this.pageNum}${
-          this.planName == "" ? "" : `&planName=${this.planName}`
-        }${
-          this.group.length == 0
-            ? `&orgNo=${this.userInfo.orgNo}`
-            : `&orgNo=${this.group[this.group.length - 1]}`
-        }`;
+          this.planType == "" ? "" : `&planType=${this.planType}`
+        }${this.planName == "" ? "" : `&planName=${this.planName}`}`;
       }
       this.$http.get(url, {}, (res) => {
         if (res && res.code == 200) {

+ 8 - 6
src/views/manage/generalSituation.vue

@@ -539,12 +539,12 @@ export default {
     //当屏幕变化自适应大小
     window.addEventListener("resize", this.echartsAllSize);
   },
-  destroyed(){
+  destroyed() {
     window.removeEventListener("resize", this.echartsAllSize);
   },
   methods: {
     //设置图标自适应
-    echartsAllSize(){
+    echartsAllSize() {
       let flag = false;
       setTimeout(() => {
         flag = true;
@@ -554,12 +554,13 @@ export default {
           let myChart = this.$echarts.init(this.$refs.echarts_zhu);
           myChart.resize();
 
-          let myChart1 = this.$echarts.init( this.$refs.echarts_lei);
+          let myChart1 = this.$echarts.init(this.$refs.echarts_lei);
           myChart1.resize();
         }
       }, 1000);
     },
     queryDetail() {
+
       this.$refs.register.open(this.planData);
     },
     //根据组织编号查询总人数
@@ -603,7 +604,8 @@ export default {
                 key == "planOrgName" ||
                 key == "createTime" ||
                 key == "userNum" ||
-                key == "id"
+                key == "id" ||
+                key == "planType"
               );
             });
             let list2 = Object.fromEntries(list1);
@@ -974,7 +976,7 @@ export default {
             overflow: hidden;
             text-overflow: ellipsis;
             display: -webkit-box;
-               /* autoprefixer: ignore next */
+            /* autoprefixer: ignore next */
             -webkit-box-orient: vertical;
             -webkit-line-clamp: 2;
 
@@ -995,7 +997,7 @@ export default {
             justify-content: flex-end;
             align-items: end;
             padding-bottom: 12px;
-            
+
             // color: #ffffff;
             // font-size: 60px;
             // letter-spacing: 3px;

+ 27 - 11
src/views/manage/individualTendency.vue

@@ -430,17 +430,11 @@ export default {
       let ji = parseInt(this.userInfoLin.grade);
       //获取当前年
       let currentYear = new Date().getFullYear();
-      //判断级数是和当前年相同吗
-      if (currentYear == ji) {
-        this.optionsYear = [
-          {
-            label: `${currentYear}年`,
-            value: ji,
-          },
-        ];
-      } else {
+
+      if (ji == -1) {
+        //则显示近10年
         let list = [];
-        for (let i = ji; i <= currentYear; i++) {
+        for (let i = currentYear - 5; i <= currentYear; i++) {
           let obj = {
             label: `${i}年`,
             value: i,
@@ -448,8 +442,30 @@ export default {
           list.push(obj);
         }
         this.optionsYear = list;
-        // this.year = list[0].value;
+      } else {
+        if (currentYear == ji) {
+          this.optionsYear = [
+            {
+              label: `${currentYear}年`,
+              value: ji,
+            },
+          ];
+        } else {
+          let list = [];
+          for (let i = ji; i <= currentYear; i++) {
+            let obj = {
+              label: `${i}年`,
+              value: i,
+            };
+            list.push(obj);
+          }
+          this.optionsYear = list;
+          // this.year = list[0].value;
+        }
       }
+
+      //判断级数是和当前年相同吗
+
       this.query4Score();
     },
     planReport(val) {

+ 1059 - 0
src/views/manage/leaveManage.vue

@@ -0,0 +1,1059 @@
+<template>
+  <div class="record-warp">
+    <div class="record-main">
+      <el-row>
+        <el-col :span="24">
+          <div class="search-head" style="padding-bottom: 10px">
+            <el-input v-model="userName" clearable placeholder="请输入姓名"></el-input>&nbsp;&nbsp;&nbsp;&nbsp;
+            <el-input v-model="userNo" clearable placeholder="请输入学号"></el-input>&nbsp;&nbsp;&nbsp;&nbsp;
+            <!--    <el-select
+              v-model="group3"
+              clearable
+              placeholder="请选择组织架构"
+              v-show="userInfo.roleType == '3'"
+            >
+              <el-option
+                v-for="item in options3"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+            <el-cascader
+              change=""
+              v-show="userInfo.roleType == '4'"
+              placeholder="请选择组织架构"
+              v-model="group"
+              :options="groupData"
+              clearable
+            ></el-cascader>
+            &nbsp;&nbsp;&nbsp;&nbsp; -->
+            <el-select v-model="auditStatusObj" clearable placeholder="请选择状态">
+              <el-option v-for="item in listOption" :key="item.value" :label="item.label" :value="item.value">
+              </el-option>
+            </el-select>
+            <!-- &nbsp;&nbsp;&nbsp;&nbsp;
+          
+            <div style="display: flex; flex-direction: row; align-items: center">
+              <span
+                style="
+                  font-size: 16px;
+                  margin-right: 10px;
+                  line-height: 20px;
+                  min-width: 40px;
+                "
+                >性别:</span
+              >
+              <el-radio v-model="sex" label="1">男</el-radio>
+              <el-radio v-model="sex" label="0">女</el-radio>
+            </div> -->
+            &nbsp;&nbsp;&nbsp;&nbsp;
+            <el-button type="primary" round icon="el-icon-search" @click="searchTarget">搜索</el-button>
+            <el-button type="info" round @click="clearSearch">清空</el-button>
+          </div>
+        </el-col>
+      </el-row>
+
+      <div class="table-content" style="flex: 1; overflow: auto">
+        <el-table height="100%" :data="tableData" :row-style="{ height: '0px' }" :cell-style="{ padding: '5px' }"
+          :header-cell-style="{ background: '#F8F8F8', color: '#606266' }">
+          <el-table-column show-overflow-tooltip prop="userName" label="姓名" align="center" width="">
+          </el-table-column>
+          <el-table-column prop="userNo" label="学号" align="center" width="">
+          </el-table-column>
+          <el-table-column prop="leaveType" label="是否离郑" width="" :formatter="leaveTypeFormatter" />
+          <!-- <el-table-column prop="userPhone" label="本人手机号码" width="" /> -->
+          <!-- <el-table-column prop="monitorName" label="班长姓名" width="" />
+          <el-table-column prop="dormitory" label="宿舍" width="" /> -->
+          <el-table-column prop="reason" label="请假原因" :show-overflow-tooltip="true" width="" />
+          <el-table-column prop="destination" label="出行目的地" :show-overflow-tooltip="true" width="" />
+          <!-- <el-table-column
+            prop="isKnow"
+            label="父母是否知情"
+            width=""
+            :formatter="isKnowFormatter"
+          />
+          <el-table-column prop="companionsPhone" label="同行人电话" width="" />
+          <el-table-column prop="motherPhone" label="母亲电话" width="" />
+          <el-table-column prop="fatherPhone" label="父亲电话" width="" /> -->
+          <!-- <el-table-column prop="travelMode" label="出行方式" width="" /> -->
+          <el-table-column prop="startTime" label="请假时间" :show-overflow-tooltip="true" width="" />
+
+          <el-table-column prop="endTime" label="返校时间" :show-overflow-tooltip="true" width="" />
+          <!-- <el-table-column prop="auditSuggest" label="审核建议" width="" /> -->
+          <el-table-column prop="auditStatus" label="审核状态" width="" :formatter="auditStatusFormatter" />
+          <!-- <el-table-column
+           
+            prop="auditResult"
+            label="审核结果"
+            width="100"
+            :formatter="auditResultFormatter"
+          /> -->
+          <el-table-column prop="auditResult" label="审核结果" width="100" align="center">
+            <template slot-scope="scope">
+              <div style="display: flex; justify-content: center; align-items: center"
+                v-show="scope.row.auditResult == '1'">
+                <img style="width: 14px" src="../../assets/img/table/dui.png" alt="" />&nbsp;
+                <div>通过</div>
+              </div>
+              <div style="display: flex; justify-content: center; align-items: center"
+                v-show="scope.row.auditResult == '0'">
+                <img style="width: 14px" src="../../assets/img/table/cuo.png" alt="" />&nbsp;
+                <div>驳回</div>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column label="操作" width="150" align="center">
+            <template slot-scope="scope">
+              <div class="detail_button_out">
+                <div class="detail_button" @click="viewUser(scope.row)" v-show="scope.row.auditStatus == '1'">
+                  <img src="../../assets/img/table/search.png" />
+                  <span> 查看 </span>
+                </div>
+                <div class="detail_button" @click="viewUser(scope.row)" v-show="scope.row.auditStatus == '0'">
+                  <img src="../../assets/img/table/pass.png" />
+                  <span> 驳回/通过 </span>
+                </div>
+
+                <!-- 弹出提示框 提示是否确认重置-->
+
+                <!-- 弹出提示框 提示是否确认删除-->
+
+                <!-- <div
+                  class="detail_button"
+                  @click="resetUser(true, scope.row)"
+                  v-show="scope.row.auditStatus == '0'"
+                >
+                  <img src="../../assets/img/table/pass.png" />
+                  <span> 通过 </span>
+                </div>
+                <div
+                  class="detail_button"
+                  @click="resetUser(false, scope.row)"
+                  v-show="scope.row.auditStatus == '0'"
+                >
+                  <img src="../../assets/img/table/noPass.png" />
+                  <span> 驳回 </span>
+                </div> -->
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <!-- small -->
+      <el-pagination class="pag_class" background @size-change="handleSizeChange" @current-change="handleCurrentChange"
+        :current-page.sync="pageNum" layout="total, sizes, prev, pager, next" :page-size="pageSize"
+        :page-sizes="[10, 20, 50, 100]" :total="total">
+      </el-pagination>
+      <!-- <el-pagination small background layout="total prev, pager, next" :total="36">
+      </el-pagination> -->
+    </div>
+    <Register ref="register" @search="searchTarget" />
+    <el-dialog class="dig_update" :visible.sync="centerDialogVisible" width="90%" center top="5vh"
+      style="border-radius: 40px">
+      <div slot="title">
+        <div class="demo-ruleForm">
+          <p class="dig_title" v-show="view.auditStatus == '1'">详情</p>
+          <p class="dig_title" v-show="view.auditStatus == '0'">审核/驳回</p>
+          <div class="user_out_new">
+            <div class="user_out">
+              <div class="user_out_sub">姓名</div>
+              <div class="user_out_subNext">
+                {{ view.userName }}
+                <!-- <el-input v-model=" view.userName" :disabled="true" placeholder="请输入审核建议" /> -->
+              </div>
+            </div>
+            <div class="user_out">
+              <div class="user_out_sub">学号</div>
+              <div class="user_out_subNext">
+                {{ view.userNo }}
+                <!-- <el-input v-model=" view.userNo" :disabled="true" placeholder="请输入审核建议" /> -->
+              </div>
+            </div>
+            <div class="user_out">
+              <div class="user_out_sub">是否离郑</div>
+              <div class="user_out_subNext">
+                {{ view.leaveType == "1" ? "离郑" : "不离郑" }}
+                <!-- <el-input v-model=" view.userNo" :disabled="true" placeholder="请输入审核建议" /> -->
+              </div>
+            </div>
+            <div class="user_out">
+              <div class="user_out_sub">本人手机号</div>
+              <div class="user_out_subNext">
+                {{ view.userPhone }}
+              </div>
+            </div>
+            <div class="user_out">
+              <div class="user_out_sub">班长姓名</div>
+              <div class="user_out_subNext">{{ view.monitorName }}&nbsp;</div>
+            </div>
+            <div class="user_out">
+              <div class="user_out_sub">宿舍</div>
+              <div class="user_out_subNext">
+                {{ view.dormitory }}
+              </div>
+            </div>
+            <div class="user_out">
+              <div class="user_out_sub">请假原因</div>
+              <div class="user_out_subNext">
+                {{ view.reason }}
+              </div>
+            </div>
+            <div class="user_out">
+              <div class="user_out_sub">出行目的地</div>
+              <div class="user_out_subNext">
+                {{ view.destination }}
+              </div>
+            </div>
+            <div class="user_out">
+              <div class="user_out_sub">父母是否知情</div>
+              <div class="user_out_subNext">
+                {{ view.isKnow == "1" ? "知情" : "不知情" }}
+              </div>
+            </div>
+            <div class="user_out" v-if="view.leaveType == 1">
+              <div class="user_out_sub">同行人电话</div>
+              <div class="user_out_subNext">{{ view.companionsPhone }}&nbsp;</div>
+            </div>
+            <div class="user_out">
+              <div class="user_out_sub">家长电话</div>
+              <div class="user_out_subNext">
+                {{ view.motherPhone }}
+              </div>
+            </div>
+            <div class="user_out">
+              <div class="user_out_sub">紧急联系人电话</div>
+              <div class="user_out_subNext">
+                {{ view.fatherPhone }}
+              </div>
+            </div>
+            <div class="user_out">
+              <div class="user_out_sub">出行方式</div>
+              <div class="user_out_subNext">
+                {{ view.travelMode }}
+              </div>
+            </div>
+            <div class="user_out">
+              <div class="user_out_sub">请假时间</div>
+              <div class="user_out_subNext">
+                {{ view.startTime }}
+              </div>
+            </div>
+
+            <div class="user_out">
+              <div class="user_out_sub">返校时间</div>
+              <div class="user_out_subNext">
+                {{ view.endTime }}
+              </div>
+            </div>
+
+            <div class="user_out">
+              <div class="user_out_sub">审核结果</div>
+              <div class="user_out_subNext">
+                <div style="display: flex; align-items: center">
+                  <img src="../../assets/img/table/dui.png" style="width: 20px; height: 20px" alt=""
+                    v-show="view.auditResult == '1'" />
+                  <div v-show="view.auditResult == '1'" style="color: #12bb65; font-weight: 700">
+                    &nbsp; 已同意
+                  </div>
+                  <img src="../../assets/img/table/cuo.png" alt="" style="width: 20px; height: 20px"
+                    v-show="view.auditResult == '0'" />
+                  <div v-show="view.auditResult == '0'" style="color: #ff9000; font-weight: 700">
+                    &nbsp;已驳回
+                  </div>
+                  &nbsp;
+                </div>
+                <!-- {{
+                  view.auditResult == null
+                    ? ""
+                    : view.auditResult == "0"
+                    ? "驳回"
+                    : "通过"
+                }}&nbsp; -->
+              </div>
+            </div>
+            <div class="user_out">
+              <div class="user_out_sub">审核状态</div>
+              <div class="user_out_subNext">
+                {{ view.auditStatus == "0" ? "待审批" : "已审批" }}
+              </div>
+            </div>
+
+            <div class="user_out">
+              <div class="user_out_sub">审核建议</div>
+              <div class="user_out_subNext" v-show="view.auditStatus == '1'">
+                {{ view.auditSuggest }}&nbsp;
+              </div>
+              <div class="user_out_subNext record" style="background-color: #ffffff" v-show="view.auditStatus == '0'">
+                <el-input v-model="record" placeholder="请输入审核建议" />
+              </div>
+            </div>
+          </div>
+          <div class="user_button_detail" v-show="view.auditStatus == '0'">
+            <el-button type="success" round @click="submitCom(true)" style="padding: 10px 40px">
+              通过
+            </el-button>
+            <el-button type="info" round @click="submitCom(false)" style="padding: 10px 40px">
+              驳回
+            </el-button>
+          </div>
+        </div>
+      </div>
+    </el-dialog>
+
+    <el-dialog class="dig_update" :visible.sync="resetVisible" width="30%" center style="border-radius: 40px">
+      <div slot="title">
+        <div class="demo-ruleForm">
+          <p v-show="!isDelete" class="dig_title">审批提示</p>
+          <p v-show="isDelete" class="dig_title">审批提示</p>
+          <p v-show="!isDelete">确认驳回{{ userName }}的请假审批吗?</p>
+          <el-input v-show="!isDelete" type="textarea" :rows="5" placeholder="请输入驳回内容" style="margin-top: 10px"
+            v-model="record">
+          </el-input>
+          <p v-show="isDelete">确认通过{{ userName }}的请假审批吗?</p>
+          <div class="dig_button">
+            <el-button type="info" round @click="cancle()">取消</el-button>
+            <!-- <el-button type="success" round @click="submitForm('ruleForm')"
+                >提交</el-button
+              > -->
+            <el-button type="success" round @click="submitCom()">确定</el-button>
+          </div>
+        </div>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { oSessionStorage } from "../../utils/utils";
+import register from "../../components/Register.vue";
+import { basePath } from "../../utils/http";
+export default {
+  name: "userManage",
+  components: {
+    Register: register,
+  },
+  data() {
+    return {
+      userName: "",
+      userNo: "",
+      //审核字段
+      auditStatusObj: "",
+      record: "",
+      basePath: basePath,
+      //上传文件的弹出款的标志
+      fileVisible: false,
+      //判断点击的是重置密码还是点击删除
+      isDelete: false,
+      //重置密码需要调用个userId
+      userId: "",
+      //充值密码使用userName
+
+      //重置密码弹出框
+      resetVisible: false,
+      //根据名称搜索
+      name: "",
+      //搜索的用户编号
+      studentNumber: "",
+      //搜索的组织架构
+      // 搜索需要的性别
+      sex: "",
+      // 辅导用户的group
+      group3: "",
+      //辅导员用户的选项
+      options3: [],
+
+      group: "",
+      ppData: [],
+      groupData: [],
+      //批量上传时的组织架构
+      groupLead: [],
+      options: [
+        {
+          value: "1",
+          label: "选项1",
+          children: [
+            {
+              value: "11",
+              label: "选项11",
+              children: [{ value: "111", label: "选项111" }],
+            },
+          ],
+        },
+      ],
+
+      centerDialogVisible: false,
+      editUserFlag: false,
+      startTime: "",
+      endTime: "",
+      value1: null,
+      total: 0,
+      pageSize: 10,
+      pageNum: 1,
+      keyword: "",
+      tableData: [],
+      userInfo: {}, //用户信息
+
+      invitationCode: "",
+      roleType: "0",
+      type: 0,
+      view: {
+        // name: "",
+        // studentNumber: "",
+        // sex: "",
+        // orgName: "",
+        // //当前学生的届数
+        // grade: "",
+      },
+      channel: "",
+      channelList: [{ name: "渠道天成", id: "1" }],
+      headers: {},
+      grade: "",
+      group4: "",
+      filePath: "/user/userImport",
+      listOption: [
+        {
+          label: "待审批",
+          value: "0",
+        },
+        {
+          label: "已审批",
+          value: "1",
+        },
+      ],
+      position: "",
+      currentObj: {},
+    };
+  },
+  created() { },
+  mounted() {
+    this.userInfo = JSON.parse(oSessionStorage.getItem("userInfo"));
+    this.headers = {
+      Authorization: oSessionStorage.getItem("token")
+        ? `Bearer ${oSessionStorage.getItem("token")}`
+        : "",
+    };
+
+    if (!this.userInfo) {
+      //如果用户信息不存在跳转登陆页
+      this.$router.push({ path: "/" });
+    }
+
+    this.searchTarget();
+  },
+  methods: {
+    //格式化是否离郑
+
+    leaveTypeFormatter(val) {
+      if (val.leaveType == "0") {
+        return "不离郑";
+      } else {
+        return "离郑";
+      }
+    },
+    //格式化父母是否知情
+    isKnowFormatter(val) {
+      if (val.isKnow == "1") {
+        return "知情";
+      } else {
+        return "不知情";
+      }
+    },
+    //格式审核状态状态
+    auditStatusFormatter(val) {
+      if (val.auditStatus == "0") {
+        return "待审批";
+      } else {
+        return "已审批";
+      }
+    },
+    //审核结果
+    auditResultFormatter(val) {
+      if (val.auditResult == null) {
+        return "";
+      } else {
+        if (val.auditResult == "0") {
+          return "驳回";
+        } else {
+          return "通过";
+        }
+      }
+    },
+    //调用接口得到列表的数据
+
+    openFileUp() {
+      //打开弹出框
+      this.$refs.uploadFileUser.clearFiles();
+      this.fileVisible = true;
+      this.group4 = "";
+      this.groupLead = [];
+    },
+    //当登录的角色是院管理员时
+    //得到届数
+    queryGrade() {
+      if (this.userInfo.roleType == "4") {
+        for (let i = 0; i < this.ppData.length; i++) {
+          if (this.groupLead[this.groupLead.length - 1] == this.ppData[i].orgNo) {
+            this.grade = this.ppData[i].extend;
+          }
+        }
+        this.filePath =
+          basePath +
+          `/user/userImport?orgNo=${this.groupLead[this.groupLead.length - 1]
+          }&roleType=1&grade=${this.grade}`;
+      } else if (this.userInfo.roleType == "3") {
+        for (let i = 0; i < this.options3.length; i++) {
+          if (this.options3[i].value == this.group4) {
+            // this.groupName = this.options3[i].label;
+            this.grade = this.options3[i].extend;
+          }
+        }
+        this.filePath =
+          basePath +
+          `/user/userImport?orgNo=${this.group4}&roleType=1&grade=${this.grade}`;
+      }
+    },
+    // queryOrgName3() {
+    //   for (let i = 0; i < this.options3.length; i++) {
+    //     if (this.options3[i].value == this.group4) {
+    //       // this.groupName = this.options3[i].label;
+    //       this.grade = this.options3[i].extend;
+    //     }
+    //   }
+    // },
+    // queryGrade() {
+    //   for (let i = 0; i < this.ppData.length; i++) {
+    //     if (this.groupLead[this.groupLead.length - 1] == this.ppData[i].orgNo) {
+    //       this.grade = this.ppData[i].extend;
+    //     }
+    //   }
+    // },
+    gradeFormatter(row) {
+      //格式化当前届数
+      return row.grade + "级";
+    },
+    //获取当前届数
+    //文件上传之前
+    beforeUploadFun(file) {
+      //判断当前用户时辅导员还是院管理员
+      if (this.userInfo.roleType == "4") {
+        //查询是否选择了组织架构
+        if (this.groupLead.length == 0) {
+          this.$message({
+            message: "请选择组织架构",
+            type: "error",
+          });
+          return false;
+        }
+        // this.filePath =
+        //   basePath +
+        //   `/user/userImport?orgNo=${
+        //     this.groupLead[this.groupLead.length - 1]
+        //   }&roleType=1&grade=${this.grade}`;
+      } else if (this.userInfo.roleType == "3") {
+        if (this.group4 == "") {
+          this.$message({
+            message: "请选择组织架构",
+            type: "error",
+          });
+          return false;
+        }
+
+        // this.filePath =
+        //   basePath +
+        //   `/user/userImport?orgNo=${this.group4}&roleType=1&grade=${this.grade}`;
+      }
+      // if (this.grade == "") {
+      //   this.$message({
+      //     message: "请选择所属届",
+      //     type: "error",
+      //   });
+      //   return false;
+      // }
+    },
+    //文件上传成功
+    fileSuccess(res) {
+      if (res.code == 200) {
+        this.searchTarget();
+        this.$message({
+          message: res.msg,
+          type: "success",
+        });
+      } else {
+        this.$message({
+          message: res.msg,
+          type: "error",
+        });
+      }
+      //查询列表
+    },
+    //文件上传失败
+    fileError() {
+      this.$message({
+        message: "上传失败",
+        type: "error",
+      });
+    },
+    cancle() {
+      this.resetVisible = false;
+    },
+    //提交文本
+    submitCom(val) {
+      //判断当前是否是  就是通过请假审批
+      this.isDelete = val;
+      if (this.isDelete) {
+        this.deleteUser();
+        //调用删除方法
+      } else {
+        //拒绝审批
+        this.deleteUser();
+        // 调用重置密码方法
+      }
+    },
+    //性别---
+    genderFun(val) {
+      let sex = val.gender;
+      if (sex == "1") {
+        return "男";
+      } else if (sex == "0") {
+        return "女";
+      } else {
+        return sex;
+      }
+    },
+    //每页多少条
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.searchTarget();
+      //将首页重置为1时---且总条数变化
+      //设置为当前总条数
+    },
+
+    //获取辅导员组织架构方法
+    getInstructor() {
+      this.options3 = [];
+      //根据辅导员ID查询其下边的组织架构
+      let url = `/user/findUserById?id=${this.userInfo.id}`;
+      this.$http.get(url, {}, (res) => {
+        if (res && res.code == 200) {
+          //辅导员组织架构
+          // res.data.gradeEntities;
+          for (let i = 0; i < res.data.gradeEntities.length; i++) {
+            let obj = {
+              value: res.data.gradeEntities[i].orgNo,
+              label: res.data.gradeEntities[i].orgName,
+              extend: res.data.gradeEntities[i].extend,
+            };
+            this.options3.push(obj);
+          }
+        } else {
+          // this.$toast.fail(res.msg);
+          this.$message.error(res.msg);
+        }
+      });
+    },
+    //获取组织架构方法--------------------开始-----------------------
+    getChannel() {
+      this.$http.get(
+        `/org/findAllOrgByPOrgNo?orgNo=${this.userInfo.orgNo}`,
+        {},
+        (res) => {
+          //  this.$toast.success({message:'成功'});
+          if (res && res.code == 200) {
+            //将值赋值给list
+            if (res.data.length > 0) {
+              let resAdd = this.addPro(res.data);
+              this.ppData = JSON.parse(JSON.stringify(resAdd));
+              let forRes = this.arrToTree(resAdd);
+              // console.log('格式化的结构')
+              // console.log(forRes)
+              let resultRes = this.deleteChildren(forRes);
+              let list = resultRes[0].children;
+              this.groupData = list.filter((item) => {
+                return item.extend != -1;
+              });
+              //将级等于-1的过滤掉
+            } else {
+              this.groupData = [];
+            }
+            // this.channelList = res.data;
+          } else {
+            this.$message.error(res.msg);
+          }
+        }
+      );
+    },
+    //z增加
+    addPro(val) {
+      let data = JSON.parse(JSON.stringify(val));
+      for (let i = 0; i < val.length; i++) {
+        data[i].value = val[i].orgNo;
+        data[i].label = val[i].orgName;
+      }
+      return data;
+    },
+    //非递归方式:将平铺数据转换为树形结构数据
+    arrToTree(arr) {
+      let data = arr.filter((item) => {
+        item.children = arr.filter((e) => {
+          return item.orgNo === e.parentOrgNo;
+        });
+        // return !item.parentOrgNo;
+        return item.orgNo == this.userInfo.orgNo;
+      });
+      return data;
+    },
+    //去除转换树形结构数据后存在的空children
+    deleteChildren(arr) {
+      let childs = arr;
+      for (let i = childs.length; i--; i > 0) {
+        if (childs[i].children) {
+          if (childs[i].children.length) {
+            this.deleteChildren(childs[i].children);
+          } else {
+            delete childs[i].children;
+          }
+        }
+      }
+      return arr;
+    },
+    //获取组织架构方法--------------------结束-----------------------
+    formatterDelete(row) {
+      if (row.state == 0) {
+        return "已删除";
+      } else {
+        return "正常";
+      }
+    },
+    resetUser(flag, val) {
+      //将驳回建议修改为空
+      this.record = "";
+      //将当前对象保存
+      //currentObj
+      this.currentObj = val;
+      this.resetVisible = true;
+      this.isDelete = flag;
+      this.userId = val.id;
+      this.userName = val.userName;
+    },
+    editUser(row) {
+      this.editRegisterUser(row);
+    },
+    viewUser(row) {
+      this.record = "";
+      this.view = row;
+      this.centerDialogVisible = true;
+    },
+    addUser() {
+      this.addRegisterUser(true);
+    },
+    clearSearch() {
+      this.auditStatusObj = "";
+      this.userNo = "";
+      this.userName = "";
+      this.searchTarget();
+    },
+
+    addRegisterUser(val) {
+      this.$refs.register.open(val);
+    },
+    editRegisterUser(val) {
+      this.$refs.register.edit(val);
+    },
+    resetFun() {
+      this.$http.get(
+        `/leave/approvalRecord?auditResult=${1}&id=${this.currentObj.id}`,
+        {},
+        (res) => {
+          //  this.$toast.success({message:'成功'});
+          if (res && res.code == 200) {
+            this.resetVisible = false;
+            this.$message.success("重置成功");
+            this.searchTarget();
+          } else {
+            this.$message.error(res.msg);
+          }
+        }
+      );
+    },
+    deleteUser() {
+      //先判断
+      //是通过还是驳回
+      let url = "";
+
+      url = `/leave/approvalRecord?auditResult=${this.isDelete ? 1 : 0}&id=${this.view.id
+        }${this.record == "" ? "" : `&auditSuggest=${this.record}`}`;
+      this.$http.get(url, {}, (res) => {
+        this.centerDialogVisible = false;
+        //  this.$toast.success({message:'成功'});
+        if (res && res.code == 200) {
+          if (this.isDelete) {
+            this.$message.success("已审批通过");
+          } else {
+            this.$message.success("已驳回申请");
+          }
+          this.resetVisible = false;
+          this.searchTarget();
+        } else {
+          this.$message.error("失败");
+        }
+      });
+    },
+    handleCurrentChange(val) {
+      this.pageNum = val;
+      this.searchList();
+    },
+    //根据现有情况进行搜索
+    searchList() {
+      let url = "";
+      //测试
+
+      url = `/leave/findAllByCurrentUser?pageNum=${this.pageNum}&pageSize=${this.pageSize
+        }${this.auditStatusObj == "" ? "" : `&auditStatus=${this.auditStatusObj}`}${this.userName == ""
+          ? ""
+          : `&userName=${this.userName}${this.userNo == "" ? "" : `&userNo=${this.userNo}`
+          }`
+        }`;
+      //院管理员进来的时候
+
+      this.$http.get(url, {}, (res) => {
+        console.log(res.data.content);
+        if (res && res.code == 200) {
+          this.tableData = res.data.content;
+          this.total = res.data.totalElements;
+        } else {
+          // this.$toast.fail(res.msg);
+          this.$message.error(res.msg);
+        }
+      });
+    },
+    searchTarget() {
+      this.pageNum = 1;
+      this.searchList();
+    },
+    //跳转首页
+    goHome() {
+      this.$router.push({ path: "/home" });
+    },
+    //跳转记录页
+    goRecord() {
+      this.$router.push({ path: "/record" });
+    },
+    //退出登陆
+    logout() {
+      oSessionStorage.removeItem("userInfo");
+      oSessionStorage.removeItem("token");
+      this.$router.push({ path: "/" });
+    },
+
+    //点击获取月出勤次数
+    getTimes(param) {
+      this.monthTimes = param;
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+@import "../../styles/theme.less";
+
+.record /deep/ .el-input__inner {
+  background-color: #ffffff !important;
+}
+
+.user_button_detail {
+  width: 60%;
+  margin-left: 20%;
+  display: flex;
+  justify-content: space-around;
+  margin-top: 40px;
+  margin-bottom: 20px;
+}
+
+.pag_class {
+  text-align: end;
+}
+
+.pag_class /deep/.el-input__inner {
+  width: 100% !important;
+}
+
+.pag_class /deep/.el-pagination--small span:not([class*="suffix"]) {
+  height: 22px;
+  line-height: 28px !important;
+}
+
+.record-warp {
+  width: 100%;
+  height: 80vh;
+  //background: url(../../assets/img/index/19.png) no-repeat center;
+  //background-size: 100% 100%;
+  position: relative;
+
+  .record-main {
+    width: 100%;
+    height: 100%;
+    box-sizing: border-box;
+    overflow-y: auto;
+    display: flex;
+    flex-direction: column;
+
+    .search-head {
+      width: 100%;
+      display: flex;
+      flex-direction: row;
+      justify-content: flex-start;
+      align-items: center;
+
+      .zc-title {
+        color: #606266;
+        font-size: 14px;
+      }
+    }
+
+    .table-content {
+      margin: 10px 0;
+    }
+  }
+}
+
+.add_user_class {
+  margin-top: 10px;
+}
+
+.user_out_new {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: wrap;
+  justify-content: space-between;
+}
+
+.user_out {
+  display: flex;
+  width: 48%;
+  align-items: center;
+  // border: 1px solid #eeeeef;
+  // line-height: 50px;
+  margin-top: 10px;
+}
+
+.user_out_sub {
+  // flex: 1;
+  width: 95px;
+  // background-color: #fafafa;
+  text-align: center;
+  height: 100%;
+  display: flex;
+  justify-content: left;
+  align-items: center;
+  // color:#ffffff
+}
+
+.user_out_subNext {
+  border-radius: 40px;
+  border: 1px solid #e6e6e6;
+  background-color: #f7f7f7;
+  color: #999999;
+  padding-left: 10px;
+  flex: 3;
+  line-height: 40px;
+  text-align: left;
+}
+
+.detail_button_out {
+  display: flex;
+  justify-content: flex-start;
+
+  .detail_button {
+    margin-left: 20px;
+    display: flex;
+    align-items: center;
+    cursor: pointer;
+    letter-spacing: 2px;
+
+    img {
+      width: 15px;
+      margin-right: 5px;
+    }
+
+    span {
+      color: #00bf78;
+      // font-weight: 600;
+    }
+  }
+}
+
+//弹出框样式
+
+.dig_update /deep/.el-cascader {
+  position: relative;
+  font-size: 14px;
+  line-height: 40px;
+  width: 100%;
+}
+
+.dig_update /deep/.el-dialog {
+  box-shadow: none !important;
+  background: transparent !important;
+}
+
+.demo-ruleForm /deep/ .el-form-item {
+  margin-right: 10px;
+  vertical-align: top;
+  display: flex !important;
+  flex-direction: column;
+}
+
+.demo-ruleForm /deep/.el-dialog__header {
+  background-color: #ffffff;
+  padding-left: 140px !important;
+}
+
+.demo-ruleForm /deep/.el-form-item__label {
+  text-align: left;
+  vertical-align: middle;
+  float: left;
+  font-size: 14px;
+  color: #606266;
+  line-height: 40px;
+  padding: 0 12px 0 0;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+}
+
+.demo-ruleForm /deep/.el-input {
+  width: 100% !important;
+}
+
+.demo-ruleForm /deep/.el-input__inner {
+  width: 100% !important;
+  background-color: #f7f7f7;
+  border: 0px;
+}
+
+.dig_button {
+  margin-top: 40px;
+  display: flex;
+  width: 100%;
+  justify-content: space-around;
+}
+
+.demo-ruleForm {
+  background-color: #ffffff;
+  // border-radius: 20px;
+  margin-right: -10px;
+  margin-top: -10px;
+  padding-right: 100px;
+  padding-left: 100px;
+  border-radius: 20px;
+  padding-top: 20px;
+  padding-bottom: 20px;
+
+  .dig_title {
+    margin-bottom: 30px;
+    text-align: center;
+    font-weight: 700;
+  }
+}
+</style>

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

@@ -587,6 +587,13 @@ export default {
             showItem: true,
             path: "/manage/userManage",
           },
+          {
+            id: "11",
+            name: "请假管理",
+            icon: require("../../assets/menu/yuan.png"),
+            showItem: true,
+            path: "/manage/leaveManage",
+          },
           // {
           //   id: "5",
           //   name: "教师管理",

+ 23 - 2
src/views/manage/tendency.vue

@@ -70,6 +70,26 @@
               </el-option>
             </el-select>
             &nbsp;&nbsp;&nbsp;&nbsp;
+
+            <div
+              style="display: flex; flex-direction: row; align-items: center"
+              v-show="isUser"
+            >
+              <span
+                style="
+                  font-size: 16px;
+                  margin-right: 10px;
+                  line-height: 20px;
+                  min-width: 40px;
+                "
+                >用户类型:</span
+              >
+              <el-radio v-model="userType" label="2">教师</el-radio>
+              <el-radio v-model="userType" label="1">学生</el-radio>
+            </div>
+            <div v-show="isUser">&nbsp;&nbsp;&nbsp;&nbsp;</div>
+
+
             <el-button
               type="primary"
               round
@@ -266,6 +286,7 @@ export default {
       //搜索的组织架构
       // 搜索需要的性别
       sex: "",
+      userType:'',
 
       group: "",
       ppData: [],
@@ -1003,7 +1024,6 @@ export default {
       this.$refs.planUser.open(val);
     },
     addUser(val) {
-      debugger;
       this.$router.push({ name: "individualTendency" });
       sessionStorage.setItem("individualTendency", JSON.stringify(val));
     },
@@ -1015,6 +1035,7 @@ export default {
       // 搜索需要的性别
       this.planName = "";
       this.group = "";
+      this.userType='';
       this.searchTarget();
     },
 
@@ -1035,7 +1056,7 @@ export default {
       if (this.isUser) {
         url = `/user/findUserListByPage?pageSize=${this.pageSize}&pageNum=${
           this.pageNum
-        }&roleType=1${
+      }${this.userType==''?'':`&roleType=${this.userType}`}${
           this.group.length == 0
             ? `&orgNo=${this.userInfo.orgNo}`
             : `&orgNo=${this.group[this.group.length - 1]}`