From 5c357cd927e74cc57531bd0a95338635e39be9af Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期一, 29 一月 2024 09:45:06 +0800 Subject: [PATCH] 修改强密码 --- src/views/safetyReview/projectManage/components/employNoticeRecord.vue | 110 +++++++++++++++++++++++++++++-------------------------- 1 files changed, 58 insertions(+), 52 deletions(-) diff --git a/src/views/safetyReview/projectManage/components/employNoticeRecord.vue b/src/views/safetyReview/projectManage/components/employNoticeRecord.vue index 7fa0b69..e3a816d 100644 --- a/src/views/safetyReview/projectManage/components/employNoticeRecord.vue +++ b/src/views/safetyReview/projectManage/components/employNoticeRecord.vue @@ -29,29 +29,6 @@ </el-form-item> </el-col> </el-row> -<!-- <el-row :gutter="30">--> -<!-- <el-col :span="6">--> -<!-- <el-form-item label="附件上传">--> -<!-- <el-upload--> -<!-- accept="image/*"--> -<!-- :action="state.uploadUrl"--> -<!-- :headers="state.header"--> -<!-- method="post"--> -<!-- :on-success="(response, file, fileList) => handleAvatarSuccess(response, file, fileList, 1)"--> -<!-- :on-preview="handlePictureCardPreview"--> -<!-- v-model:file-list="state.socialList"--> -<!-- list-type="picture-card"--> -<!-- :before-upload="picSize"--> -<!-- :on-remove="(file, file_list)=>{handleRemove(file, file_list, 1)}"--> -<!-- >--> -<!-- <el-icon><Plus /></el-icon>--> -<!-- <template #tip>--> -<!-- <div class="el-upload__tip">上传jpg/png图片尺寸小于5M</div>--> -<!-- </template>--> -<!-- </el-upload>--> -<!-- </el-form-item>--> -<!-- </el-col>--> -<!-- </el-row>--> <el-row> <el-col :span="18"> <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> @@ -60,31 +37,21 @@ <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" header-align="center" :show-overflow-tooltip="true"/> - <el-table-column label="资格证书" prop="person.certificateNo" header-align="center" :show-overflow-tooltip="true"/> - <el-table-column label="专业能力" prop="person.major" header-align="center" :show-overflow-tooltip="true"/> - <el-table-column label="承担工作" header-align="center" class-name="small-padding fixed-width"> + <el-table-column label="专业能力/资格证书" prop="person.certificateNo" header-align="center" :show-overflow-tooltip="true"> <template #default="scope"> - <el-select v-model="scope.row.work" multiple placeholder="承担工作" style="width: 100%" size="large" disabled> - <el-option v-for="item in state.workList" :key="item.value" :label="item.label" :value="item.value"/> - </el-select> + {{ getCertNo(scope.row) }} </template> </el-table-column> - <el-table-column label="承诺后期前往现场勘验" header-align="center" class-name="small-padding fixed-width"> + <el-table-column label="承担工作" prop="work" header-align="center" class-name="small-padding fixed-width"></el-table-column> + <el-table-column label="承诺后期前往现场勘验" prop="laterPromise" header-align="center" class-name="small-padding fixed-width"> <template #default="scope"> - <el-radio-group v-model="scope.row.laterPromise" size="large" disabled> - <el-radio :label="1" size="large">是</el-radio> - <el-radio :label="0" size="large">否</el-radio> - </el-radio-group> + {{(scope.row.laterPromise==1 || scope.row.laterPromise==true)?'是':'否'}} </template> </el-table-column> - <el-table-column label="未到现场勘验原因" header-align="center" class-name="small-padding fixed-width"> - <template #default="scope"> - <el-input v-model="scope.row.reason" maxlength="30" show-word-limit type="text" size="large" readonly/> - </template> - </el-table-column> + <el-table-column label="未到现场勘验原因" prop="reason" header-align="center" class-name="small-padding fixed-width"></el-table-column> <el-table-column label="是否已告知" header-align="center" class-name="small-padding fixed-width"> <template #default="scope"> - <el-radio-group v-model="scope.row.informed" size="large"> + <el-radio-group v-model="scope.row.informed" size="large" @change="(value)=>changePerson(value,scope.row)"> <el-radio :label="1" size="large">是</el-radio> <el-radio :label="0" size="large">否</el-radio> </el-radio-group> @@ -96,25 +63,29 @@ </template> <script setup> -import {defineEmits, onMounted, reactive, ref} from "vue" +import {defineEmits, defineProps, onMounted, reactive, ref, watchEffect} from "vue" import {ElMessage} from "element-plus" import {Search} from '@element-plus/icons-vue' -import {addRisk, editRisk, getRiskDetail} from "@/api/projectManage/riskAnalysis" +import {addWorkRecord, editWorkRecord, getWorkDetail} from "@/api/projectManage/employNoticeRcd" +import {getWorks, editWorks} from "@/api/projectManage/evaPlan" import Cookies from "js-cookie" +const props = defineProps(['projectId']) const emit = defineEmits(["getNextStatus"]) const state = reactive({ formData: { + id: null, projectId: null, timeRange: [], serviceStartDate: '', serviceEndDate: '', investigationPlanDate: '' }, + projectId: null, planPersons: [], rules: { timeRange: [{required: true, message: '请选择技术服务期限', trigger: 'blur'}], - investigationPlanDate: [{required: true, message: '请选择计划现场勘验时间', trigger: 'blur'}], + investigationPlanDate: [{required: true, message: '请选择计划现场勘验时间', trigger: 'blur'}] } }) @@ -125,16 +96,19 @@ if(userInfo.identity === 0){ isAmin.value = true; } + // getWorksList(props.projectId) }); + const riskOpen = async (type,val) => { - console.log("type",type,val) + state.formData.projectId = val + state.projectId = val + await getWorksList(val) if(type === 'detail' || type === 'edit' ){ - const res = await getRiskDetail({projectId: val}); + const res = await getWorkDetail({projectId: val}) if(res.code == 200){ - state.formData = res.data; - state.formData.project.business = parseInt(res.data.project.business); - state.formData.project.area = [res.data.project.province,res.data.project.city]; + state.formData = JSON.parse(JSON.stringify(res.data)) + state.formData.timeRange = [state.formData.serviceStartDate,state.formData.serviceEndDate] }else { ElMessage.warning(res.message) } @@ -149,19 +123,19 @@ state.formData.serviceStartDate = state.formData.timeRange[0] state.formData.serviceEndDate = state.formData.timeRange[1] if(type === 'add'){ - const {projectId,timeRange, ...data} = JSON.parse(JSON.stringify(state.formData)) - const res = await addRisk(data); + const {timeRange,id,...data} = JSON.parse(JSON.stringify(state.formData)) + const res = await addWorkRecord(data) if (res.code == 200) { ElMessage.success('保存成功') formRef.value.clearValidate(); emit('getNextStatus', res.data); - } else { ElMessage.warning(res.message) } + }else if(type === 'clickEdit'){ const {timeRange, ...data} = JSON.parse(JSON.stringify(state.formData)) - const res = await editRisk(data); + const res = await editWorkRecord(data); if (res.code == 200) { ElMessage.success('变更成功') formRef.value.clearValidate(); @@ -174,6 +148,38 @@ } } +const getWorksList = async (id) =>{ + const works = await getWorks({projectId: id ? id : props.projectId}) + if(works.code == 200){ + state.planPersons = works.data + }else { + ElMessage.warning(works.message) + } +} + +const getCertNo = (row)=>{ + const obj = JSON.parse(row.person.certificateNo) + const noArr = Object.values(obj) + return row.person.majorNames.map((item,index)=>{ + return item + '(' + noArr[index] + ')' + }).join(',') +} + +const changePerson = async (value,row)=>{ + const params = { + id: row.id, + projectId: row.projectId, + informed: value + } + const res = await editWorks(params) + if(res.code === 200){ + console.log(res.message) + }else{ + ElMessage.warning(res.message) + } + await getWorksList(props.projectId) +} + defineExpose({ riskOpen }); -- Gitblit v1.9.2