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