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