plg 4 місяців тому
батько
коміт
ca9e6bf7de

+ 89 - 46
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,53 @@
                 >
                 </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>
+
               <div style="display: flex">
                 <el-form-item label="组织架构" prop="checkedList">
                   <el-tree
@@ -178,6 +191,7 @@ export default {
       ruleForm: {
         //所属组织架构
         planName: "",
+        planType: "0",
         endTime: "",
         checkboxGroup2: [],
         checkedList: [],
@@ -273,6 +287,11 @@ export default {
   },
 
   methods: {
+    teacherChange(val) {
+      this.getChannel();
+      //当val == 1 时 调用查询组织架构的方法
+      //重新绘制
+    },
     // pickerOptions1() {},
     //查询学生模版
     queryStudentTemp() {
@@ -487,6 +506,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 +538,23 @@ export default {
               let forRes = this.arrToTree(resAdd);
               let resultRes = this.deleteChildren(forRes);
               let levelList = this.markersFun(resultRes, 1);
-              this.treeData = levelList;
+              //修改测试计划
+
+              //判断选择时教师还是学生
+              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;
+                });
+                // this.treeData = levelList;
+              }
+
+              //
             } else {
               this.groupData = [];
             }
@@ -858,6 +895,7 @@ export default {
       this.$http.post(
         `/plan/addOrUpdate`,
         {
+          // planType:this.ruleForm.planType,
           contentEntities: list,
           orgEntityList: listOrg,
           planName: this.ruleForm.planName,
@@ -866,7 +904,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 +979,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 +1008,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;
 }

+ 5 - 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"
@@ -417,6 +420,7 @@ export default {
       }
     },
     open(val) {
+      debugger;
       // this.searchTarget();
       this.proDataLin = val;
       this.dialogVisible = true;

+ 2 - 2
src/utils/http.js

@@ -18,7 +18,7 @@ import { router } from "@/router";
 // axios.defaults.baseURL = 'https://child.hhnao.com:8070';
 //https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx01d1a44906973cf2&redirect_uri=http%3A%2F%2F192.168.18.51%3A8085&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
 // 少锋本地
-// export const basePath = "http://10.113.248.4:8089";
+export const basePath = "http://10.113.248.4:8089";
 //少锋本地 wifi
 // export const basePath = "http://172.28.50.2:8089";
 //30
@@ -26,7 +26,7 @@ import { router } from "@/router";
 //红朵服务器
 // export const basePath = "http://129.211.221.44:8089";
 //锦泓税务服务器
-export const basePath = "http://146.56.226.174: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/'
 // export const basePath='http://43.143.198.30:8086'

+ 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}`
       }`;

+ 43 - 2
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="状态"
@@ -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;

+ 12 - 11
src/views/manage/leaveManage.vue

@@ -91,8 +91,8 @@
           <!-- <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="请假原因" width="" />
-          <el-table-column prop="destination" 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="父母是否知情"
@@ -102,25 +102,25 @@
           <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="请假时间" width="" />
-          <el-table-column prop="endTime" 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
-            fixed="right"
+          
             prop="auditStatus"
             label="审核状态"
             width=""
             :formatter="auditStatusFormatter"
           />
           <el-table-column
-            fixed="right"
+           
             prop="auditResult"
             label="审核结果"
-            width=""
+            width="100"
             :formatter="auditResultFormatter"
           />
-          <el-table-column label="操作" fixed="right" width="150" align="center">
+          <el-table-column label="操作"  width="150" align="center">
             <template slot-scope="scope">
               <div class="detail_button_out">
                 <div
@@ -989,7 +989,7 @@ export default {
 }
 .user_out {
   display: flex;
-  width: 45%;
+  width: 48%;
   align-items: center;
   // border: 1px solid #eeeeef;
   // line-height: 50px;
@@ -997,7 +997,8 @@ export default {
 }
 
 .user_out_sub {
-  flex: 1;
+  // flex: 1;
+  width:95px;
   // background-color: #fafafa;
   text-align: center;
   height: 100%;