From cdd53ad94b779da51c8e9213b504527c182418eb Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期五, 22 十一月 2024 15:09:08 +0800
Subject: [PATCH] 项目管理

---
 src/views/safetyReview/projectManage/components/chooseExpert.vue    |   12 +++--
 src/views/safetyReview/projectManage/components/projectArchive.vue  |    1 
 src/views/safetyReview/projectManage/process.vue                    |    7 ++-
 src/views/safetyReview/projectManage/components/expertsList.vue     |   12 +++--
 src/views/safetyReview/projectManage/components/projectApproval.vue |   38 ++++++++++++------
 5 files changed, 44 insertions(+), 26 deletions(-)

diff --git a/src/views/safetyReview/projectManage/components/chooseExpert.vue b/src/views/safetyReview/projectManage/components/chooseExpert.vue
index d0face4..3fd836d 100644
--- a/src/views/safetyReview/projectManage/components/chooseExpert.vue
+++ b/src/views/safetyReview/projectManage/components/chooseExpert.vue
@@ -3,7 +3,7 @@
     <div style="margin-bottom: 50px">
       <div class="fTop">
         <span style="font-weight: 600">固定选用部分</span>
-        <el-button type="primary" style="width: 100px" @click="chooseExpert('选取专家')">选取专家</el-button>
+        <el-button type="primary" :disabled="state.info.step == 4" style="width: 100px" @click="chooseExpert('选取专家')">选取专家</el-button>
       </div>
       <el-table v-loading="fLoading"  :data="fixedDataList" :border="true" ref="fTableRef" style="width: 100%;">
         <el-table-column label="姓名" prop="name" align="center" />
@@ -21,7 +21,7 @@
         <el-table-column label="专业领域" prop="domain" align="center" />
         <el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="180">
           <template #default="scope">
-            <el-button link type="primary" @click="delF(scope.row)" >删除</el-button>
+            <el-button link type="primary" @click="delF(scope.row)" :disabled="state.info.step == 4">删除</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -36,7 +36,7 @@
                   style="width: 100%"
                   v-model="expertType"
                   :options="domainList"
-                  :props="{ expandTrigger: 'hover',value: 'id',label: 'classifyName',multiple: true }"
+                  :props="{ expandTrigger: 'hover',value: 'classifyName',label: 'classifyName',multiple: true }"
                   @change="professionChange"
                   collapse-tags
                   collapse-tags-tooltip
@@ -54,7 +54,7 @@
           </el-col>
           <el-col :span="8">
             <el-form-item style="float: right;">
-              <el-button style="width: 100px;margin-right: -32px;" type="primary" @click="random">随机抽取</el-button>
+              <el-button style="width: 100px;margin-right: -32px;" :disabled="state.info.step == 4" type="primary" @click="random">随机抽取</el-button>
             </el-form-item>
           </el-col>
         </el-row>
@@ -88,7 +88,7 @@
         <el-table-column label="专业领域" prop="domain" align="center" />
         <el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="180">
           <template #default="scope">
-            <el-button link type="primary" @click="delR(scope.row)" >删除</el-button>
+            <el-button link type="primary" @click="delR(scope.row)" :disabled="state.info.step == 4">删除</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -125,6 +125,7 @@
     saveData: [],
     delData: []
   },
+  info: {},
   levelList: [
     {
       id: 1,
@@ -234,6 +235,7 @@
     if(res.code == 200){
       fixedDataList.value = res.data.projectExpertCheckResp.filter(item => item.selectionMode === 1)
       randomDataList.value = res.data.projectExpertCheckResp.filter(item => item.selectionMode === 2)
+      state.info = res.data
       console.log('res',fixedDataList.value)
     }else{
       ElMessage.warning(res.message)
diff --git a/src/views/safetyReview/projectManage/components/expertsList.vue b/src/views/safetyReview/projectManage/components/expertsList.vue
index 2595871..84be597 100644
--- a/src/views/safetyReview/projectManage/components/expertsList.vue
+++ b/src/views/safetyReview/projectManage/components/expertsList.vue
@@ -10,6 +10,7 @@
               <el-input
                   v-model.trim="queryParams.name"
                   placeholder="姓名"
+                  clearable
                   style="width: 250px"
               />
             </el-form-item>
@@ -17,25 +18,27 @@
               <el-input
                   v-model.trim="queryParams.phone"
                   placeholder="手机号"
+                  clearable
                   style="width: 250px"
               />
             </el-form-item>
             <el-form-item label="等级">
-              <el-select v-model="queryParams.ratingLevel" style="width: 250px" placeholder="等级" >
+              <el-select v-model="queryParams.ratingLevel"   clearable style="width: 250px" placeholder="等级" >
                 <el-option
                     v-for="item in levelList"
                     :key="item.id"
                     :label="item.name"
-                    :value="item.name"
+                    :value="item.id"
                 />
               </el-select>
             </el-form-item>
             <el-form-item label="专业领域">
               <el-cascader
+                  clearable
                   style="width: 100%"
                   v-model="expertType"
                   :options="domainList"
-                  :props="{ expandTrigger: 'hover',value: 'id',label: 'classifyName' }"
+                  :props="{ expandTrigger: 'hover',value: 'classifyName',label: 'classifyName' }"
                   @change="professionChange"
                   >
               </el-cascader>
@@ -258,8 +261,7 @@
 
 const professionChange=(value)=> {
   console.log(value,'val')
-  data.queryParams.bigClassify = value[0]
-  data.queryParams.smallClassify = value[1]
+  data.queryParams.domain = value[1]
 }
 
 defineExpose({
diff --git a/src/views/safetyReview/projectManage/components/projectApproval.vue b/src/views/safetyReview/projectManage/components/projectApproval.vue
index 8836e82..48674bf 100644
--- a/src/views/safetyReview/projectManage/components/projectApproval.vue
+++ b/src/views/safetyReview/projectManage/components/projectApproval.vue
@@ -60,8 +60,8 @@
       </el-table-column>
       <el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" width="180">
         <template #default="scope">
-          <el-button link type="primary" :disabled="state.dataForm.state == 2" v-if="scope.row.teamLeader === 1" @click="scope.row.teamLeader = 0">取消组长</el-button>
-          <el-button link type="primary" :disabled="state.dataForm.state == 2" v-else @click="scope.row.teamLeader = 1">设为组长</el-button>
+          <el-button link type="primary" :disabled="state.dataForm.state >= 2  " v-if="scope.row.teamLeader === 1" @click="scope.row.teamLeader = 0">取消组长</el-button>
+          <el-button link type="primary" :disabled="state.dataForm.state >= 2" v-else @click="scope.row.teamLeader = 1">设为组长</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -157,17 +157,28 @@
     if(state.dataForm.state == 2){
       dialogVisible.value = true
     }else {
-      const data = {
-        id: state.projectId,
-        step: 3,
-        saveData: state.dataList
-      }
-      const res = await choose(data);
-      if(res.code == 200){
-        dialogVisible.value = true
-      }else{
-        ElMessage.warning(res.message)
-      }
+      ElMessageBox.confirm(
+        '生成后不可更改,确定生成审批单?',
+        '提示',
+        {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning',
+        })
+        .then( async() => {
+          const data = {
+            id: state.projectId,
+            step: 3,
+            saveData: state.dataList
+          }
+          const res = await choose(data);
+          if(res.code == 200){
+            await getList()
+            dialogVisible.value = true
+          }else{
+            ElMessage.warning(res.message)
+          }
+        })
     }
   }else if(type === 'viewWord'){
     //查看审批单
@@ -258,6 +269,7 @@
     state.fileList = state.fileList.map(item => {
       return {
         name: item.name,
+        originalFileName: item.name,
         filePath: item.response.url,
         fileName:item.response.fileName,
         projectId: state.projectId,
diff --git a/src/views/safetyReview/projectManage/components/projectArchive.vue b/src/views/safetyReview/projectManage/components/projectArchive.vue
index 85e7cbb..18af4ec 100644
--- a/src/views/safetyReview/projectManage/components/projectArchive.vue
+++ b/src/views/safetyReview/projectManage/components/projectArchive.vue
@@ -148,6 +148,7 @@
     state.fileList = state.fileList.map(item => {
       return {
         name: item.name,
+        originalFileName: item.name,
         filePath: item.response.url,
         fileName:item.response.fileName,
         projectId: state.projectId,
diff --git a/src/views/safetyReview/projectManage/process.vue b/src/views/safetyReview/projectManage/process.vue
index 255e7b0..855cead 100644
--- a/src/views/safetyReview/projectManage/process.vue
+++ b/src/views/safetyReview/projectManage/process.vue
@@ -35,7 +35,7 @@
             <el-button type="primary" v-if="selectedObj.id !== 1" style="width: 80px" @click="back">上一步</el-button>
             <el-button type="warning" style="width: 80px"  v-if="(projectStatus === 'add' || projectStatus === 'edit') && selectedObj.status ===1 && selectedObj.id !==4 && selectedObj.id !==3 && newProgress !== 4" @click="save">保存</el-button>
             <el-button type="warning" style="width: 110px"  v-if="(projectStatus === 'add' || projectStatus === 'edit')  && selectedObj.id !==4 && (selectedObj.id ===3 && selectedObj.status !==2) && newProgress !== 4" @click="confirmApproval">确认生成审批单</el-button>
-            <el-button type="warning" style="width: 80px" v-if="projectStatus === 'view' || selectedObj.id ===3 && selectedObj.status === 2"  @click="viewWord">查看审批单</el-button>
+            <el-button type="warning" style="width: 80px" v-if="(projectStatus === 'view' &&  selectedObj.id ===3) || selectedObj.id ===3 && selectedObj.status === 2"  @click="viewWord">查看审批单</el-button>
             <el-button type="warning" style="width: 80px"  v-if="(projectStatus === 'add' || projectStatus === 'edit') && selectedObj.status !==1 && selectedObj.id !==3 && newProgress !== 4 " @click="clickEdit">变更</el-button>
             <el-button type="warning" style="width: 80px"   v-if="selectedObj.id === 4 && selectedObj.status === 1 && newProgress !== 4" @click="confirm">确认完结</el-button>
             <el-button type="primary" style="width: 80px" v-if="selectedObj.id !== 4"  @click="next">下一步</el-button>
@@ -58,9 +58,9 @@
 import expert from './components/chooseExpert.vue'
 import approval from './components/projectApproval.vue'
 import archive from  './components/projectArchive.vue'
-import {ElMessage} from "element-plus";
+import {ElMessage, ElMessageBox} from "element-plus";
 import {get} from "@vueuse/core";
-import {getProjectInfo} from "@/api/projectManage";
+import {delProject, getProjectInfo} from "@/api/projectManage";
 
 const selectedObj = ref({})
 const nextObj = ref({})
@@ -130,6 +130,7 @@
   goRouter(selectedObj.value.id,'add')
 }
 const confirmApproval = () => {
+
   goRouter(selectedObj.value.id,'confirmApproval')
 }
 

--
Gitblit v1.9.2