From 6f80a7836b663a6d7970555d0851186cf9bfdf4f Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Fri, 27 Sep 2024 17:13:33 +0800
Subject: [PATCH] bug修改
---
src/views/safetyReview/projectManage/components/evaluatePlan.vue | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 104 insertions(+), 13 deletions(-)
diff --git a/src/views/safetyReview/projectManage/components/evaluatePlan.vue b/src/views/safetyReview/projectManage/components/evaluatePlan.vue
index 3c5427f..ee15ec0 100644
--- a/src/views/safetyReview/projectManage/components/evaluatePlan.vue
+++ b/src/views/safetyReview/projectManage/components/evaluatePlan.vue
@@ -43,7 +43,7 @@
</el-row>
<el-row>
<el-col :span="18">
- <div style="display: flex;align-items: center">评价日程安排</div>
+ <div style="display: flex;align-items: center">评价日程安排<el-icon style="margin-left: 10px;margin-right: 4px"><InfoFilled /></el-icon><span style="font-size: 13px">不涉及的日程安排日期可不填</span></div>
</el-col>
</el-row>
<el-table :data="state.formData.estimateSchedules" :border="true" style="margin: 20px 0">
@@ -80,13 +80,18 @@
</el-col>
<el-col :span="6">
<div style="width: 100%;display: flex;justify-content: right">
- <el-button type="primary" icon="Plus" @click="openWorksDialog('add',{})">添加成员</el-button>
+ <el-button type="primary" icon="Plus" @click="openWorksDialog('add',{})" :disabled="projectType==='view' || isEnd">添加成员</el-button>
</div>
</el-col>
</el-row>
<el-table :data="state.planPersons" :border="true" style="margin: 20px 0">
<el-table-column label="序号" width="60" align="center" type="index"></el-table-column>
- <el-table-column label="评价组成员" prop="person.name" align="center" :show-overflow-tooltip="true"/>
+ <el-table-column label="评价组成员" prop="person.name" align="center" :show-overflow-tooltip="true">
+ <template #default="scope">
+ <span v-if="scope.row.jobType === 2">{{ scope.row.person.name }} (组长)</span>
+ <span v-else>{{scope.row.person.name}}</span>
+ </template>
+ </el-table-column>
<el-table-column label="专业能力/资格证书" prop="person.certificateNo" align="center" :show-overflow-tooltip="true">
<template #default="scope">
{{ getCertNo(scope.row) }}
@@ -102,8 +107,8 @@
<el-table-column label="未到现场勘验原因" prop="reason" align="center" class-name="small-padding fixed-width"></el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
- <el-button link @click="openWorksDialog('edit',scope.row)">修改</el-button>
- <el-button link type="danger" @click="delMember(scope.row)">删除</el-button>
+ <el-button link @click="openWorksDialog('edit',scope.row)" :disabled="projectType==='view' || isEnd">修改</el-button>
+ <el-button link type="danger" @click="delMember(scope.row)" :disabled="projectType==='view' || isEnd">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -113,7 +118,7 @@
</el-col>
<el-col :span="6">
<div style="width: 100%;display: flex;justify-content: right">
- <el-button type="primary" icon="Plus" @click="openDeviceDialog('add',{})">添加设备</el-button>
+ <el-button type="primary" icon="Plus" @click="openDeviceDialog('add',{})" :disabled="projectType==='view' || isEnd">添加设备</el-button>
</div>
</el-col>
</el-row>
@@ -132,8 +137,8 @@
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
- <el-button link @click="openDeviceDialog('edit',scope.row)">修改</el-button>
- <el-button link type="danger" @click="delDeviceItem(scope.row)">删除</el-button>
+ <el-button link @click="openDeviceDialog('edit',scope.row)" :disabled="projectType==='view' || isEnd">修改</el-button>
+ <el-button link type="danger" @click="delDeviceItem(scope.row)" :disabled="projectType==='view' || isEnd">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -155,7 +160,8 @@
import DeviceDialog from './deviceDialog'
const props = defineProps(['projectId'])
const emit = defineEmits(["getNextStatus"])
-
+import { useRoute } from 'vue-router'
+const route = useRoute()
const state = reactive({
formData: {
id: null,
@@ -248,8 +254,8 @@
devices: [],
rules: {
"auser.name": [{required: true, message: '请填写机构评价负责人', trigger: 'change'}],
- startDate: [{required: true, message: '请选择评价开始时间', trigger: 'blur'}],
- endDate: [{required: true, message: '请选择评价结束时间', trigger: 'blur'}]
+ startDate: [{required: true, message: '请选择评价开始时间', trigger: 'change'}],
+ endDate: [{required: true, message: '请选择评价结束时间', trigger: 'change'}]
},
workList: [
{value: '报告编制',label: '报告编制'},
@@ -277,12 +283,17 @@
await getWorksList(props.projectId)
await getDeviceList(props.projectId)
}
+ isEnd.value = Cookies.get('end')
+ projectType.value = route.query.type;
})
-
+const projectType = ref('');
+const isEnd = ref('')
const riskOpen = async (type,val) => {
state.formData.projectId = val
+ isEnd.value = Cookies.get('end')
state.projectId = val
+ projectType.value = route.query.type;
for(let i of state.formData.estimateSchedules){
i.projectId = val
}
@@ -305,7 +316,49 @@
}
if(type === 'add'){
const {id, ...data} = JSON.parse(JSON.stringify(state.formData))
- console.log(data)
+
+ const params = Object.assign({}, state.formData.estimateSchedules);
+ let i = 0
+
+ for (const key in params) {
+ if ((params[key].startDate == '' || params[key].startDate == null ) && (params[key].endDate == '' || params[key].endDate == null)) {
+ delete params[key].startDate;
+ delete params[key].endDate;
+ i++
+ }
+
+ }
+ console.log('data',params)
+ const finData = Object.entries(params).map(([key, value]) => ({
+ ...value,
+ }));
+ if(i == finData.length){
+ ElMessage.warning("请选择至少一个的日程安排日期");
+ return;
+ }
+ try {
+ finData.forEach(item =>{
+ // debugger
+ console.log(item.endDate,'item.endDate')
+ if(item.startDate && (item.startDate !='' || item.startDate !=null)){
+ if(item.endDate =='' || item.endDate ==null){
+ ElMessage.warning("请完善涉及的日程安排结束日期");
+ throw new Error('Loop stopped')
+ }
+ }
+ if(item.endDate && (item.endDate !='' || item.endDate !=null)){
+ if(item.startDate =='' || item.startDate ==null){
+ ElMessage.warning("请完善涉及的日程安排开始日期");
+ throw new Error('Loop stopped')
+ }
+ }
+ })
+ }catch (e) {
+ throw new Error(e)
+ }
+
+ data.estimateSchedules = finData
+
const res = await addRecord(data);
if (res.code == 200) {
ElMessage.success('保存成功')
@@ -317,6 +370,44 @@
}
}else if(type === 'clickEdit'){
const { ...data} = JSON.parse(JSON.stringify(state.formData))
+ const params = Object.assign({}, state.formData.estimateSchedules);
+ let i = 0
+ for (const key in params) {
+ if (params[key].startDate == '' && params[key].endDate == '') {
+ delete params[key].startDate;
+ delete params[key].endDate;
+ i++;
+ }
+ }
+ const finData = Object.entries(params).map(([key, value]) => ({
+ ...value,
+ }));
+ if(i == finData.length){
+ ElMessage.warning("请选择至少一个的日程安排日期");
+ return;
+ }
+ try {
+ finData.forEach(item =>{
+ // debugger
+ console.log(item.endDate,'item.endDate')
+ if(item.startDate && (item.startDate !='' || item.startDate !=null)){
+ if(item.endDate =='' || item.endDate ==null){
+ ElMessage.warning("请完善涉及的日程安排结束日期");
+ throw new Error('Loop stopped')
+ }
+ }
+ if(item.endDate && (item.endDate !='' || item.endDate !=null)){
+ if(item.startDate =='' || item.startDate ==null){
+ ElMessage.warning("请完善涉及的日程安排开始日期");
+
+ throw new Error('Loop stopped')
+ }
+ }
+ })
+ }catch (e) {
+ throw new Error(e)
+ }
+ data.estimateSchedules = finData
const res = await editRecord(data);
if (res.code == 200) {
ElMessage.success('变更成功')
--
Gitblit v1.9.2