dedsudiyu 1 vuosi sitten
vanhempi
commit
4ce4139ff9

+ 6 - 4
src/components/importComponent/importComponent.vue

@@ -83,7 +83,7 @@
         loading:false,
         uploadImgUrl: window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + this.importConfig.upLoadApi, // 上传地址
         headers: {
-          Authorization: "Bearer " + getToken(),
+          Authorization: getToken(),
         },
         importOpen:false,
         //导入数据
@@ -109,7 +109,9 @@
       importButton(item){
         if(item.command == 1){
           //  下载模板
-          this.download(this.importConfig.downloadApi, {}, this.importConfig.fileName+`.xlsx`)
+          console.log('下载模板-url',this.importConfig.downloadApi)
+          console.log('下载模板-name',this.importConfig.fileName+`.xlsx`)
+          this.downloadUrl(this.importConfig.downloadApi,this.importConfig.fileName+`.xlsx`)
         }else if(item.command == 2){
           //  导入数据
           this.importOpen = true;
@@ -125,11 +127,11 @@
       },
       /** 下载模板操作 */
       importTemplate() {
-        this.download(this.importConfig.downloadApi, {}, +this.importConfig.fileName`.xlsx`)
+        this.downloadUrl(this.importConfig.downloadApi,this.importConfig.fileName`.xlsx`)
       },
       /*下载失败列表*/
       failureExcel(){
-        this.download(this.importConfig.loseApi, {}, `失败报表.xlsx`)
+        this.downloadUrl(this.importConfig.loseApi,`失败报表.xlsx`)
       },
       //****************************************导入功能**************************************
       handleAvatarSuccess(res, file) {

+ 3 - 3
src/components/lookDocumentDialog/lookDocumentDataDialog.vue

@@ -106,11 +106,11 @@
       // 下载按钮
       downloadButton(){
         if(this.documentType == 1){
-          this.download('/zd-security/checkRectify/genReport/'+this.propsLookDocumentData.id, {}, this.propsLookDocumentData.name+'(整改报告).docx')
+          this.downloadUrl('/zd-security/checkRectify/genReport/'+this.propsLookDocumentData.id,this.propsLookDocumentData.name+'(整改报告).docx')
         }else if(this.documentType == 2){
-          this.download('/zd-security/checkManage/getRectifyAdviceNote/'+this.propsLookDocumentData.id, {}, this.propsLookDocumentData.name+'(整改通知书).docx')
+          this.downloadUrl('/zd-security/checkManage/getRectifyAdviceNote/'+this.propsLookDocumentData.id,this.propsLookDocumentData.name+'(整改通知书).docx')
         }else if(this.documentType == 3){
-          this.download('/zd-security/checkManage/getRectifyNotification/'+this.propsLookDocumentData.id, {}, this.propsLookDocumentData.name+'(整改告知书).docx')
+          this.downloadUrl('/zd-security/checkManage/getRectifyNotification/'+this.propsLookDocumentData.id,this.propsLookDocumentData.name+'(整改告知书).docx')
         }
       },
       fullScreenButton(){

+ 1 - 1
src/components/lookDocumentDialog/lookDocumentDialog.vue

@@ -71,7 +71,7 @@
       },
       // 下载按钮
       downloadButton(){
-        this.download(this.propsLookDocumentData.url, {}, this.propsLookDocumentData.name)
+        this.downloadUrl(this.propsLookDocumentData.url,this.propsLookDocumentData.name)
       },
       //打开新窗口
       goPage(){

+ 8 - 7
src/utils/request.js

@@ -58,12 +58,12 @@ service.interceptors.request.use(config => {
   return config
 }, error => {
   // 弹层相关
-    loadingCount --;
-    if(loadingCount===0){
-      loadingInstance.close();
-    }
-    console.log(error)
-    Promise.reject(error)
+  loadingCount --;
+  if(loadingCount===0){
+    loadingInstance.close();
+  }
+  console.log(error)
+  Promise.reject(error)
 })
 
 // 响应拦截器
@@ -254,7 +254,8 @@ export function download(url, params, filename) {
 export function downloadUrl(fileUrl,fleName) {
   const newUrl = urlText + judgmentNetworkReturnAddress() + fileUrl;
   const x = new XMLHttpRequest();
-  x.open("GET", newUrl, true);
+  x.open("post", newUrl, true);
+  x.setRequestHeader("Authorization",getToken());
   x.responseType = "blob";
   x.onload = () => {
     const url = URL.createObjectURL(x.response);

+ 54 - 8
src/views/integratedManagement/personnelManage/researchGroupManage/addPage.vue

@@ -63,7 +63,7 @@
           <el-table class="table-box" border :data="addForm.memberList">
             <el-table-column label="序号" prop="name" width="50" type="index" show-overflow-tooltip/>
             <el-table-column label="姓名" prop="userName" show-overflow-tooltip/>
-            <el-table-column label="联系电话" prop="userPhone" width="230" show-overflow-tooltip/>
+            <el-table-column label="联系电话" prop="mobile" width="230" show-overflow-tooltip/>
             <el-table-column label="所属部门" prop="deptName" width="470" show-overflow-tooltip/>
             <el-table-column label="状态" prop="isStart" width="200" show-overflow-tooltip>
               <template slot-scope="scope">
@@ -84,7 +84,7 @@
                 <div class="table-button-box">
                   <p class="table-button-null"></p>
                   <p class="table-button-p"
-                     @click="tableButton(3,scope.row)"
+                     @click="tableButton(3,scope.$index)"
                   >删除</p>
                   <p class="table-button-null"></p>
                 </div>
@@ -111,7 +111,7 @@
   //import { getInfo } from "@/api/basicsModules/index";
 
   import { systemTopicDetail,systemTopicAdd,systemTopicEdit } from "@/api/integratedManagement/index";
-  import { systemUserSelectUser } from "@/api/commonality/permission";
+  import { systemUserSelectUser,systemUserSelectByPage } from "@/api/commonality/permission";
   import userDialog from "./userDialog.vue";
   export default {
     name: 'addPage',
@@ -126,7 +126,8 @@
         optionsUser:[],
         addForm:{
           topicName:'',
-          isStart:'',
+          isStart:true,
+          account:'',
           userId:'',
           userName:'',
           userPhone:'',
@@ -183,13 +184,18 @@
       systemTopicDetail(){
         systemTopicDetail({id:this.propsData.id}).then(response => {
           let obj = response.data.topic;
-          obj.memberList = response.data.memberList;
+          // obj.memberList = response.data.memberList;
           this.userSelectList(obj.userName);
           this.$set(this,'addForm',obj);
+          let list = [];
+          for(let i=0;i<response.data.memberList.length;i++){
+            list.push(response.data.memberList[i].userId)
+          }
+          this.systemUserSelectByPage(list,response.data.memberList)
         });
       },
       //操作按钮
-      tableButton(type){
+      tableButton(type,index){
         let self = this;
         if(type == 1){
           //新增
@@ -201,6 +207,14 @@
           this.$refs['userDialog'].userDialogOpen();
         }else if(type == 3){
           //删除
+          this.$confirm('是否确认删除?', "警告", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning"
+          }).then(function() {
+          }).then(() => {
+            self.addForm.memberList.splice(index,1)
+          }).catch(() => {});
         }
       },
       /** 提交按钮 */
@@ -231,6 +245,7 @@
         for(let i=0;i<self.optionsUser.length;i++){
           if(val == self.optionsUser[i].userId){
             this.$set(this.addForm,'userId',self.optionsUser[i].userId);
+            this.$set(this.addForm,'account',self.optionsUser[i].account);
             this.$set(this.addForm,'userName',self.optionsUser[i].userName);
             this.$set(this.addForm,'deptId',self.optionsUser[i].deptId);
             this.$set(this.addForm,'deptName',self.optionsUser[i].deptName);
@@ -261,8 +276,39 @@
         }
       },
       //接受选中人员
-      setUserList(list){
-        this.$set(this.addForm,'memberList',list);
+      setUserList(list,dataList){
+        let self = this;
+        let newList = [];
+        for(let o=0;o<dataList.length;o++){
+          let num = 0;
+          for(let i=0;i<self.addForm.memberList.length;i++){
+            if(self.addForm.memberList[i].userId == dataList[o].userId){
+              newList.push(self.addForm.memberList[i]);
+              num++
+            }
+          }
+          if(num == 0){
+            newList.push(dataList[o]);
+          }
+        }
+        this.systemUserSelectByPage(list,newList);
+      },
+      //处理人员数据
+      userDataSet(list,dataList){
+
+      },
+      //获取人员列表
+      systemUserSelectByPage(list,dataList){
+        systemUserSelectByPage({userIds:list[0]?list:['-999999999999999999'],pageSize:100}).then(response => {
+          for(let i=0;i<response.data.records.length;i++){
+            for(let o=0;o<dataList.length;o++){
+              if(response.data.records[i].userId == dataList[o].userId){
+                response.data.records[i].isStart = dataList[o].isStart;
+              }
+            }
+          }
+          this.$set(this.addForm,'memberList',response.data.records);
+        });
       },
     },
   }

+ 11 - 10
src/views/integratedManagement/personnelManage/researchGroupManage/index.vue

@@ -38,7 +38,7 @@
           <p class="page-submit-common-style-button"
              style="float: right;"
              @click="tableButton(1)"
-             v-hasPermiRouter="['demo:demo:add']"
+             v-hasPermiRouter="['system:topic:add']"
           >新增</p>
           <el-form-item style="float: right;">
             <import-component :importConfig="importConfig" v-hasPermiRouter="['demo:demo:demo']"></import-component>
@@ -52,7 +52,8 @@
           <el-table-column label="联系电话" prop="userPhone" width="150" show-overflow-tooltip/>
           <el-table-column label="所属部门" prop="deptName" width="150" show-overflow-tooltip/>
           <el-table-column label="成员数" prop="num" width="100" show-overflow-tooltip/>
-          <el-table-column label="状态" prop="isStart" width="135" show-overflow-tooltip>
+          <el-table-column label="状态" prop="isStart" width="135" show-overflow-tooltip
+                           v-hasPermiRouter="['system:topic:edit']">
             <template slot-scope="scope">
               <el-switch
                 @click.native="tableButton(5,scope.row)"
@@ -80,15 +81,15 @@
                 <p class="table-button-null"></p>
                 <p class="table-button-p"
                    @click="tableButton(2,scope.row)"
-                   v-hasPermiRouter="['demo:demo:detail']"
+                   v-hasPermiRouter="['system:topic:detail']"
                 >成员</p>
                 <p class="table-button-p"
                    @click="tableButton(3,scope.row)"
-                   v-hasPermiRouter="['demo:demo:edit']"
+                   v-hasPermiRouter="['system:topic:detail','system:topic:edit']"
                 >编辑</p>
                 <p class="table-button-p"
                    @click="tableButton(4,scope.row)"
-                   v-hasPermiRouter="['demo:demo:del']"
+                   v-hasPermiRouter="['system:topic:del']"
                 >删除</p>
                 <p class="table-button-null"></p>
               </div>
@@ -123,17 +124,17 @@
     },
     data () {
       return {
-        tableButtonType:this.hasPermiDom(['demo:demo:detail','demo:demo:edit','demo:demo:del',]),
+        tableButtonType:this.hasPermiDom(['system:topic:detail','system:topic:edit','system:topic:del']),
         //页面状态
         pageType:1,
         //页面遮罩
         loading:false,
         //导入设置
         importConfig:{
-          upLoadApi:'/system/user/student/importData',                //上传接口地址
-          downloadApi:'/system/user/student/importTemplate',          //下载模板接口地址
-          loseApi:'/system/user/student/importErrorData',             //失败报表接口地址
-          fileName:'导入模板-',                                   //下载模板命名
+          upLoadApi:'/system/topic/importData',                //上传接口地址
+          downloadApi:'/system/topic/importTemplate',          //下载模板接口地址
+          loseApi:'/system/topic/exportErrorData',             //失败报表接口地址
+          fileName:'课题组导入模板',                                   //下载模板命名
         },
         //状态
         optionList:[{value:true,label:'启用'},{value:false,label:'停用'}],

+ 85 - 29
src/views/integratedManagement/personnelManage/researchGroupManage/listInfoPage.vue

@@ -6,66 +6,74 @@
     </div>
     <div class="content-box scrollbar-box">
       <div class="left-content-box">
-        <img v-if="userData.img" src="@/assets/ZDimages/basicsModules/tx_cion_one.png" alt="">
-        <img v-else :src="userData.img" alt="">
+        <img v-if="!userData.avatar" src="@/assets/ZDimages/basicsModules/tx_cion_one.png" alt="">
+        <img v-else :src="userData.avatar" alt="">
       </div>
       <div class="right-content-box">
         <div class="form-box">
           <div class="form-min-box">
             <p>姓名:</p>
-            <p>{{userData.data1}}</p>
+            <p>{{userData.userName}}</p>
           </div>
           <div class="form-min-box">
             <p>性别:</p>
-            <p>{{userData.data2}}</p>
+            <p>{{userData.sex == 0?'男':'女'}}</p>
           </div>
           <div class="form-min-box">
-            <p>{{userData.userType == 1?'工号':'学号'}}:</p>
-            <p>{{userData.data3}}</p>
+            <p>出生日期:</p>
+            <p>{{userData.birthday}}</p>
           </div>
         </div>
         <div class="form-box">
           <div class="form-min-box">
             <p>所属部门:</p>
-            <p>{{userData.data4}}</p>
+            <p>{{userData.deptName}}</p>
           </div>
           <div class="form-min-box">
             <p>身份:</p>
-            <p>{{userData.data5}}</p>
+            <p>{{userData.positionName}}</p>
           </div>
           <div class="form-min-box">
             <p>手机号码:</p>
-            <p>{{userData.data6}}</p>
+            <p>{{userData.mobile}}</p>
           </div>
         </div>
         <div class="form-box">
-          <div class="form-min-box">
+          <div class="form-min-box" v-if="userData.userType == 1">
             <p>职称:</p>
-            <p>{{userData.data7}}</p>
+            <p>{{userData.categoryName}}</p>
           </div>
-          <div class="form-min-box">
-            <p>邮箱:</p>
-            <p>{{userData.data8}}</p>
+          <div class="form-min-box" v-if="userData.userType == 1">
+            <p>文化程度:</p>
+            <p>{{userData.educationName}}</p>
+          </div>
+          <div class="form-min-box" v-if="userData.userType == 2">
+            <p>专业:</p>
+            <p>{{userData.majorName}}</p>
+          </div>
+          <div class="form-min-box" v-if="userData.userType == 2">
+            <p>班级:</p>
+            <p>{{userData.gradeName}}</p>
           </div>
           <div class="form-min-box">
-            <p>校园卡号:</p>
-            <p>{{userData.data9}}</p>
+            <p>邮箱:</p>
+            <p>{{userData.email}}</p>
           </div>
         </div>
         <div class="form-box">
           <div class="form-min-box">
-            <p>文化程度:</p>
-            <p>{{userData.data10}}</p>
+            <p>{{userData.userType == 1?'工号':'学号'}}:</p>
+            <p>{{userData.account}}</p>
           </div>
           <div class="form-min-box">
-            <p>出生日期:</p>
-            <p>{{userData.data11}}</p>
+            <p>校园卡号:</p>
+            <p>{{userData.cardNum}}</p>
           </div>
         </div>
         <div class="form-box">
           <div class="form-big-box">
             <p>所属课题组:</p>
-            <p>{{userData.data12}}</p>
+            <p>{{propsData.topicName}}</p>
           </div>
         </div>
       </div>
@@ -74,29 +82,77 @@
 </template>
 
 <script>
-  //import { getDicts } from "@/api/commonality/noPermission";
-  //import { systemUserSelect } from "@/api/commonality/permission";
-  //import { getInfo } from "@/api/basicsModules/index";
+  import { systemUserDetail } from "@/api/commonality/permission";
+  import { getDicts } from "@/api/commonality/noPermission";
+  import { systemUserMajorSelect } from "@/api/commonality/permission";
   export default {
     name: 'listInfoPage',
     props:{
+      infoPropsData:{},
       propsData:{},
     },
     data(){
       return{
-        userData:{
-          img:false,
-          userType:1,
-          data1:'内容内容内容内容内容内容内容内容内容',
-        },
+        userData:{},
       }
     },
     created(){
+      this.systemUserDetail();
     },
     mounted(){
 
     },
     methods:{
+      //获取职位学历
+      getDicts(obj){
+        let self = this;
+        getDicts('professional').then(response => {
+          for(let i=0;i<response.data.length;i++){
+            if(response.data[i].itemId == obj.category){
+              self.$set(self.userData,'categoryName',response.data[i].label);
+            }
+          }
+        });
+        getDicts('education').then(response => {
+          for(let i=0;i<response.data.length;i++){
+            if(response.data[i].itemId == obj.education){
+              self.$set(self.userData,'educationName',response.data[i].label);
+            }
+          }
+        });
+      },
+      //获取专业/班级
+      systemUserMajorSelect(obj){
+        let self = this;
+        //专业
+        systemUserMajorSelect({type:1,referId:this.userData.deptId}).then(response => {
+          for(let i=0;i<response.data.length;i++){
+            if(response.data[i].id == obj.major){
+              self.$set(self.userData,'majorName',response.data[i].name);
+            }
+          }
+        });
+        //班级
+        systemUserMajorSelect({type:2,referId:this.userData.major}).then(response => {
+          for(let i=0;i<response.data.length;i++){
+            if(response.data[i].id == obj.grade){
+              self.$set(self.userData,'gradeName',response.data[i].name);
+            }
+          }
+        });
+      },
+      //获取人员详情
+      systemUserDetail(){
+        let self = this;
+        systemUserDetail({userId:this.infoPropsData.userId}).then(response => {
+          this.$set(this,'userData',response.data);
+          if(response.data.userType == 1){
+            self.getDicts(response.data);
+          }else{
+            self.systemUserMajorSelect(response.data);
+          }
+        });
+      },
       // 返回按钮
       backPage(){
         this.$parent.tableButton(3);

+ 13 - 4
src/views/integratedManagement/personnelManage/researchGroupManage/listPage.vue

@@ -62,7 +62,8 @@
           </el-table-column>
           <el-table-column label="手机号码" prop="userPhone" width="300" show-overflow-tooltip/>
           <el-table-column label="所属部门" prop="deptName" width="250" show-overflow-tooltip/>
-          <el-table-column label="状态" prop="isStart" width="200" show-overflow-tooltip>
+          <el-table-column label="状态" prop="isStart" width="200" show-overflow-tooltip
+                           v-hasPermiRouter="['system:topic:edit']">
             <template slot-scope="scope">
               <el-switch
                 @click.native="tableButton(2,scope.row)"
@@ -84,7 +85,7 @@
                 <p class="table-button-null"></p>
                 <p class="table-button-p"
                    @click="tableButton(1,scope.row)"
-                   v-hasPermiRouter="['demo:demo:detail']"
+                   v-hasPermiRouter="['system:user:detail']"
                 >详情</p>
                 <p class="table-button-null"></p>
               </div>
@@ -100,7 +101,7 @@
         />
       </div>
     </div>
-    <list-info-page v-if="pageType == 2"></list-info-page>
+    <list-info-page v-if="pageType == 2" :infoPropsData="infoPropsData" :propsData="propsData"></list-info-page>
   </div>
 </template>
 
@@ -123,7 +124,7 @@
       return{
         //页面遮罩
         loading:false,
-        tableButtonType:this.hasPermiDom(['demo:demo:detail','demo:demo:edit','demo:demo:del',]),
+        tableButtonType:this.hasPermiDom(['system:user:detail',]),
         pageType:1,
         //状态
         optionList:[{value:true,label:'启用'},{value:false,label:'停用'}],
@@ -142,6 +143,8 @@
         dataList:[],
         //数据数量
         total:0,
+        //详情数据
+        infoPropsData:{},
       }
     },
     created(){
@@ -163,6 +166,7 @@
         let self = this;
         if(type == 1){
           //详情
+          this.$set(this,'infoPropsData',row);
           this.$set(this,'pageType',2);
         }else if(type == 2){
           //启用&停用
@@ -230,6 +234,7 @@
       flex:1;
       display: flex;
       flex-direction: column;
+      overflow: hidden;
       .page-form-title-box{
         border:none!important;
         .user-table-box{
@@ -266,6 +271,10 @@
       }
       .page-content-box{
         padding-top:0;
+        flex:1;
+        display: flex;
+        flex-direction: column;
+        overflow: hidden;
       }
     }
   }

+ 17 - 15
src/views/integratedManagement/personnelManage/researchGroupManage/userDialog.vue

@@ -153,7 +153,7 @@
           pageSize:20,
           searchValue:'',
           deptId:'',
-          userType:'3',
+          userType:'',
         },
         leftDataList:[],
         leftTotal:0,
@@ -242,16 +242,18 @@
       },
       //提交
       dialogSubmit(){
-        let obj =  {
-          "account":"QW1",
-          "userId":"111",
-          "userName":"学生1",
-          "userPhone":"1555555",
-          "userType":2,
-          "deptId":"999",
-          "deptName":"部门1"
+        let self = this;
+        let list = [];
+        for(let i=0;i<self.userList.length;i++){
+          list.push(
+            {
+              userId:self.userList[i],
+              isStart:true,
+            }
+          )
         }
-        this.$parent.setUserList(this.userList)
+        this.$parent.setUserList(self.userList,list)
+        this.$set(this,'userDialogType',false);
       },
       //左侧查询相关
       leftHandleQuery(){
@@ -274,8 +276,8 @@
         systemUserSelectByPage(obj).then(response => {
           this.$set(this,'leftCheckNum',0);
           this.$set(this,'leftCheckUserIds',[]);
-          this.$set(this,'leftDataList',response.data);
-          // this.$set(this,'leftTotal',response.data.total);
+          this.$set(this,'leftDataList',response.data.records);
+          this.$set(this,'leftTotal',response.data.total);
         });
       },
       userChangeLeft(selection){
@@ -299,12 +301,12 @@
       },
       rightGetList(){
         let obj = JSON.parse(JSON.stringify(this.rightQueryParams))
-        obj.userIds = this.userList;
+        obj.userIds = this.userList[0] ? this.userList : ['-999999999999999999'];
         systemUserSelectByPage(obj).then(response => {
           this.$set(this,'rightCheckNum',0);
           this.$set(this,'rightCheckUserIds',[]);
-          this.$set(this,'rightDataList',response.data);
-          // this.$set(this,'rightTotal',response.data.total);
+          this.$set(this,'rightDataList',response.data.records);
+          this.$set(this,'rightTotal',response.data.total);
         });
       },
       userChangeRight(selection){

+ 1 - 1
src/views/integratedManagement/personnelManage/studentInfo/addPage.vue

@@ -537,7 +537,7 @@ export default {
           this.$set(this.form,'major','');
           this.$set(this,'majorOptions',response.data);
           this.$set(this.form,'grade','');
-          this.$set(this,'gradeOptions',[]);
+          // this.$set(this,'gradeOptions',[]);
         }else if(type == 2){
           this.$set(this.form,'grade','');
           this.$set(this,'gradeOptions',response.data);

+ 3 - 1
src/views/serviceCenter/apkManage/applyList/index.vue

@@ -494,7 +494,9 @@
       tableButton(type,row){
         let self = this;
         if(type == 1){
-          this.downloadUrl(row.url,row.name);
+          //http://192.168.1.43/labSystem/admin/statics/bigFile/2023051914/2dc29572-bac3-444c-bde9-b5b75988cc6b.mp4
+          // this.downloadUrl(row.url,row.name+'.apk');
+          this.downloadUrl('http://192.168.1.43/labSystem/admin/statics/bigFile/2023051914/2dc29572-bac3-444c-bde9-b5b75988cc6b.mp4',row.name+'.mp4');
         }else if(type == 2){
           let obj = JSON.parse(JSON.stringify(row));
           this.$set(this,'dialogForm',{