From cbb23429b8beed72b58cbb57f9b3c56a0fb2b5d2 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期五, 09 五月 2025 13:31:26 +0800 Subject: [PATCH] 修改 --- src/views/experiment/project/components/selectEquipment.vue | 6 src/views/experiment/project/components/selectEmergency.vue | 4 src/views/experiment/project/components/selectRoom.vue | 6 src/views/experiment/developing/components/developDialog.vue | 51 ++++++++++-- src/views/analyse/evaluate/index.ts | 1 src/views/experiment/project/components/projectDialog.vue | 46 +++++++++- src/views/experiment/project/components/selectDanger.vue | 4 src/views/experiment/project/components/selectMaterial.vue | 6 src/views/experiment/project/index.vue | 1 src/views/analyse/evaluate/index.vue | 51 ++++++++++++ src/views/experiment/project/components/selectPerson.vue | 6 11 files changed, 148 insertions(+), 34 deletions(-) diff --git a/src/views/analyse/evaluate/index.ts b/src/views/analyse/evaluate/index.ts index ebf7b8d..c893d89 100644 --- a/src/views/analyse/evaluate/index.ts +++ b/src/views/analyse/evaluate/index.ts @@ -2,6 +2,7 @@ evaluateData: Array<IdentifyType> user: null| number currentEvalute:{} + allRoomList: [] evaluateDialog:boolean searchQuery: { pageIndex: number, diff --git a/src/views/analyse/evaluate/index.vue b/src/views/analyse/evaluate/index.vue index ec0c8be..5d648a3 100644 --- a/src/views/analyse/evaluate/index.vue +++ b/src/views/analyse/evaluate/index.vue @@ -109,6 +109,7 @@ </el-table-column> <el-table-column label="操作" width="250"> <template #default="scope"> + <el-button size="small" text :icon="View" type="primary" @click="openProjectDialog('查看',scope.row)">实验信息</el-button> <el-button size="small" v-if="scope.row.planExecStatus===3 && scope.row.evaluateUsers?.find(i=>i.evaluateUserId== evaluateState.user)" text type="primary" :icon="DocumentChecked" @click="accessEvaluate(scope.row)">提交</el-button> <el-button size="small" v-if="scope.row.planExecStatus===3 && scope.row.evaluateUsers?.find(i=>i.evaluateUserId== evaluateState.user)" text type="primary" :icon="Edit" @click="openEvaluate(scope.row)">评价</el-button> <el-button size="small" v-if="scope.row.planExecStatus===4" text :icon="View" type="primary" @click="openEvaluate(scope.row)">查看评价</el-button> @@ -161,7 +162,7 @@ </el-table-column> </el-table> </el-dialog> - + <develop-dialog ref="DevelopDialogRef" @refresh="getEvaluateData"></develop-dialog> <evaluate-dialog ref="evaluateDialogRef" @refresh="getDataAndClose"></evaluate-dialog> </div> </template> @@ -176,16 +177,20 @@ import {userApi} from "/@/api/systemManage/user"; import {useUserInfo} from "/@/stores/userInfo"; import {storeToRefs} from "pinia"; - +import {roomApi} from "/@/api/basic/room"; +import {projectApi} from "/@/api/experiment/project"; +const DevelopDialog = defineAsyncComponent(() => import('../../experiment/developing/components/developDialog.vue')); const EvaluateDialog = defineAsyncComponent(() => import('./components/evaluateDialog.vue')); const evaluateDialogRef = ref(); +const DevelopDialogRef = ref() const userInfo = useUserInfo(); const { userInfos } = storeToRefs(userInfo); const evaluateState = reactive<EvaluateStateType>({ evaluateData: [], user: null, currentEvalute:{}, + allRoomList: [], evaluateDialog: false, searchQuery: { pageIndex: 1, @@ -230,6 +235,47 @@ message: res.data.msg }); } +}; + +const getRoomData = async () => { + let res = await roomApi().getAllRoom(); + if(res.data.code === 100){ + evaluateState.allRoomList = JSON.parse(JSON.stringify(res.data.data)); + }else{ + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } +}; + +const openProjectDialog = async (title: string, value: {}) => { + let res = await projectApi().getProjectByList({ + pageIndex: 1, + pageSize: 10, + searchParams: { + experimentName: '', + experimentType: null, + assessLevel: null, + id: value.experimentId + } + },); + if(res.data.code === 100){ + if(Array.isArray(res.data.data) && res.data.data.length>0){ + DevelopDialogRef.value.showDevelopDialog(title, res.data.data[0], evaluateState.allRoomList); + }else{ + ElMessage({ + type: 'warning', + message: '查询不到实验信息' + }); + } + }else{ + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } + }; const getDataAndClose =()=>{ @@ -355,6 +401,7 @@ getEvaluateData(); getAllPlanList(); getPersonList(); + getRoomData() evaluateState.user = Number(userInfos.value.uid) }); diff --git a/src/views/experiment/developing/components/developDialog.vue b/src/views/experiment/developing/components/developDialog.vue index dbbe495..06ffb76 100644 --- a/src/views/experiment/developing/components/developDialog.vue +++ b/src/views/experiment/developing/components/developDialog.vue @@ -29,7 +29,7 @@ <!-- <el-radio :label="5">特种设备类</el-radio>--> <!-- <el-radio :label="6">其他类</el-radio>--> <!-- </el-radio-group>--> - <el-checkbox-group style="text-align: center" v-model="typeValue" + <el-checkbox-group class="checkTip" style="text-align: center" v-model="typeValue" :disabled="projectDialogState.disabled" @change="changeList"> <el-checkbox v-for="item in projectDialogState.experimentTypeList" :label="item.typeId" :key="item.typeId">{{ item.typeName }} @@ -45,9 +45,8 @@ <!-- <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.dep" />--> <!-- </el-form-item>--> <el-form-item prop="dep"> - <el-select style="width: 100%" v-model="projectDialogState.projectForm.dep" clearable filterable> + <el-select style="width: 100%" :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.dep" clearable filterable> <el-option - v-for="item in projectDialogState.deptList" :key="item.id" :value="item.depName" @@ -62,6 +61,7 @@ <td class="w-25 m-color"> <el-form-item prop="liabilityUserId"> <el-select style="width: 100%" v-model="projectDialogState.projectForm.liabilityUserId" clearable + :disabled="projectDialogState.disabled" filterable @change="getLiabilityUserPhone($event)"> <el-option v-for="item in projectDialogState.allPersonList" @@ -100,6 +100,7 @@ <!-- </el-form-item>--> <el-form-item prop="safeLiabilityUserId"> <el-select style="width: 100%" v-model="projectDialogState.projectForm.safeLiabilityUserId" clearable + :disabled="projectDialogState.disabled" filterable @change="getSafeLiabilityUserPhone($event)"> <el-option v-for="item in projectDialogState.systemPersonList" @@ -139,7 +140,7 @@ <td class="w-25 m-color required">是否是安全化信息系统</td> <td class="w-25 m-color"> <el-form-item prop="sisStatus"> - <el-radio-group :disabled="projectDialogState.disabled" + <el-radio-group :disabled="projectDialogState.disabled" class="checkTip" v-model="projectDialogState.projectForm.sisStatus" @change="hasSafeSystem"> <el-radio :label="1">是</el-radio> <el-radio :label="2">否</el-radio> @@ -211,7 +212,7 @@ <td class="w-25 m-color required">是否存在过夜、老化实验</td> <td class="w-25 m-color"> <el-form-item prop="timeout"> - <el-radio-group :disabled="projectDialogState.disabled" + <el-radio-group :disabled="projectDialogState.disabled" class="checkTip" v-model="projectDialogState.projectForm.timeout"> <el-radio :label="1">存在</el-radio> <el-radio :label="2">不存在</el-radio> @@ -230,7 +231,7 @@ <td class="w-25 m-color required">是否在封闭条件下</td> <td class="w-25 m-color"> <el-form-item prop="closed"> - <el-radio-group :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.closed"> + <el-radio-group class="checkTip" :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.closed"> <el-radio :label="1">存在</el-radio> <el-radio :label="2">不存在</el-radio> </el-radio-group> @@ -315,7 +316,7 @@ <td class="w-75 m-color"> <el-form-item prop="partitionCondition"> <!-- <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.partitionCondition" placeholder="请输入" />--> - <el-radio-group :disabled="projectDialogState.disabled" + <el-radio-group :disabled="projectDialogState.disabled" class="checkTip" v-model="projectDialogState.projectForm.partitionCondition"> <el-radio :label="0">是</el-radio> <el-radio :label="1">否</el-radio> @@ -789,7 +790,9 @@ .site-layout-background { background: #fff; } - +.el-checkbox__input.is-disabled+span.el-checkbox__label{ + color: red !important +} .report-table { width: 100%; border-collapse: collapse; @@ -950,3 +953,35 @@ </style> +<style> +.checkTip{ + .is-disabled{ + .el-checkbox__label{ + color: #606266 !important + } + .el-radio__label{ + color: #606266 !important + } + &.is-checked{ + .el-checkbox__label{ + color: #409eff !important + } + .el-radio__label{ + color: #409eff !important + } + .el-checkbox__inner{ + background-color: #409eff; + &::after{ + border-color: #fff !important + } + } + .el-radio__inner{ + background-color: #409eff !important; + &::after{ + background-color: #fff !important + } + } + } + } +} +</style> \ No newline at end of file diff --git a/src/views/experiment/project/components/projectDialog.vue b/src/views/experiment/project/components/projectDialog.vue index 93c7bf2..d4539eb 100644 --- a/src/views/experiment/project/components/projectDialog.vue +++ b/src/views/experiment/project/components/projectDialog.vue @@ -29,7 +29,7 @@ <!-- <el-radio :label="5">特种设备类</el-radio>--> <!-- <el-radio :label="6">其他类</el-radio>--> <!-- </el-radio-group>--> - <el-checkbox-group style="text-align: center" v-model="typeValue" + <el-checkbox-group style="text-align: center" v-model="typeValue" class="checkTip" :disabled="projectDialogState.disabled" @change="changeList"> <el-checkbox v-for="item in projectDialogState.experimentTypeList" :label="item.typeId" :key="item.typeId">{{ item.typeName }} @@ -45,7 +45,7 @@ <!-- <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.dep" />--> <!-- </el-form-item>--> <el-form-item prop="dep"> - <el-select style="width: 100%" v-model="projectDialogState.projectForm.dep" clearable filterable> + <el-select style="width: 100%" :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.dep" clearable filterable> <el-option v-for="item in projectDialogState.deptList" :key="item.id" @@ -68,7 +68,7 @@ <td class="w-25 m-color required">负责人</td> <td class="w-25 m-color"> <el-form-item prop="liabilityUserId"> - <el-select style="width: 100%" v-model="projectDialogState.projectForm.liabilityUserId" clearable + <el-select style="width: 100%" :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.liabilityUserId" clearable filterable @change="getLiabilityUserPhone($event)"> <el-option v-for="item in projectDialogState.allPersonList" @@ -103,7 +103,7 @@ <!-- ></el-option>--> <!-- </el-select>--> <el-form-item prop="safeLiabilityUserId"> - <el-select style="width: 100%" v-model="projectDialogState.projectForm.safeLiabilityUserId" clearable + <el-select style="width: 100%" :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.safeLiabilityUserId" clearable filterable @change="getSafeLiabilityUserPhone($event)"> <el-option v-for="item in projectDialogState.systemPersonList" @@ -180,7 +180,7 @@ <td class="w-25 m-color required">是否存在过夜、老化实验</td> <td class="w-25 m-color"> <el-form-item prop="timeout"> - <el-radio-group :disabled="projectDialogState.disabled" + <el-radio-group :disabled="projectDialogState.disabled" class="checkTip" v-model="projectDialogState.projectForm.timeout"> <el-radio :label="1">存在</el-radio> <el-radio :label="2">不存在</el-radio> @@ -199,7 +199,7 @@ <td class="w-25 m-color required">是否在封闭条件下</td> <td class="w-25 m-color"> <el-form-item prop="closed"> - <el-radio-group :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.closed"> + <el-radio-group :disabled="projectDialogState.disabled" class="checkTip" v-model="projectDialogState.projectForm.closed"> <el-radio :label="1">存在</el-radio> <el-radio :label="2">不存在</el-radio> </el-radio-group> @@ -307,7 +307,7 @@ <td class="w-75 m-color"> <el-form-item prop="partitionCondition"> <!-- <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.partitionCondition" placeholder="请输入" />--> - <el-radio-group :disabled="projectDialogState.disabled" + <el-radio-group :disabled="projectDialogState.disabled" class="checkTip" v-model="projectDialogState.projectForm.partitionCondition"> <el-radio :label="0">是</el-radio> <el-radio :label="1">否</el-radio> @@ -933,3 +933,35 @@ </style> +<style> +.checkTip{ + .is-disabled{ + .el-checkbox__label{ + color: #606266 !important + } + .el-radio__label{ + color: #606266 !important + } + &.is-checked{ + .el-checkbox__label{ + color: #409eff !important + } + .el-radio__label{ + color: #409eff !important + } + .el-checkbox__inner{ + background-color: #409eff; + &::after{ + border-color: #fff !important + } + } + .el-radio__inner{ + background-color: #409eff !important; + &::after{ + background-color: #fff !important + } + } + } + } +} +</style> \ No newline at end of file diff --git a/src/views/experiment/project/components/selectDanger.vue b/src/views/experiment/project/components/selectDanger.vue index 26ade11..4035786 100644 --- a/src/views/experiment/project/components/selectDanger.vue +++ b/src/views/experiment/project/components/selectDanger.vue @@ -28,8 +28,8 @@ <el-button :disabled="selectDangerState.disabled" type="danger" @click="deleteDangerItem(index)">删除</el-button> </td> </tr> - <tr style="text-align: center"> - <el-button :disabled="selectDangerState.disabled" type="primary" shape="round" @click="addDangerItem()"> + <tr style="text-align: center" v-if="!selectDangerState.disabled"> + <el-button type="primary" shape="round" @click="addDangerItem()"> 添加行 </el-button> </tr> diff --git a/src/views/experiment/project/components/selectEmergency.vue b/src/views/experiment/project/components/selectEmergency.vue index 50a3993..e925392 100644 --- a/src/views/experiment/project/components/selectEmergency.vue +++ b/src/views/experiment/project/components/selectEmergency.vue @@ -30,8 +30,8 @@ <el-button :disabled="selectEmergencyState.disabled" type="danger" @click="deleteEmergencyItem(index)">删除</el-button> </td> </tr> - <tr style="text-align: center"> - <el-button :disabled="selectEmergencyState.disabled" type="primary" shape="round" @click="addEmergencyItem()"> + <tr style="text-align: center" v-if="!selectEmergencyState.disabled"> + <el-button type="primary" shape="round" @click="addEmergencyItem()"> 添加一条 </el-button> </tr> diff --git a/src/views/experiment/project/components/selectEquipment.vue b/src/views/experiment/project/components/selectEquipment.vue index 7ddf0b9..9b8321f 100644 --- a/src/views/experiment/project/components/selectEquipment.vue +++ b/src/views/experiment/project/components/selectEquipment.vue @@ -40,11 +40,11 @@ <el-button :disabled="selectEquipmentState.disabled" type="danger" @click="deleteEquipmentItem(index)">删除</el-button> </td> </tr> - <tr style="text-align: center"> - <el-button :disabled="selectEquipmentState.disabled" type="primary" shape="round" @click="addEquipmentItem()"> + <tr style="text-align: center" v-if="!selectEquipmentState.disabled"> + <el-button type="primary" shape="round" @click="addEquipmentItem()"> 添加现有实验仪器/设备 </el-button> - <el-button :disabled="selectEquipmentState.disabled" shape="round" @click="addNewEquipment('新增', {})"> + <el-button shape="round" @click="addNewEquipment('新增', {})"> 新增实验仪器/设备配置 </el-button> </tr> diff --git a/src/views/experiment/project/components/selectMaterial.vue b/src/views/experiment/project/components/selectMaterial.vue index 8017fb3..bce7bb4 100644 --- a/src/views/experiment/project/components/selectMaterial.vue +++ b/src/views/experiment/project/components/selectMaterial.vue @@ -43,11 +43,11 @@ <el-button type="danger" :disabled="selectMaterialState.disabled" @click="deleteMaterialItem(index)">删除</el-button> </td> </tr> - <tr style="text-align: center"> - <el-button :disabled="selectMaterialState.disabled" type="primary" shape="round" @click="addMaterialItem()"> + <tr style="text-align: center" v-if="!selectMaterialState.disabled"> + <el-button type="primary" shape="round" @click="addMaterialItem()"> 添加现有实验材料 </el-button> - <el-button :disabled="selectMaterialState.disabled" shape="round" @click="addNewMaterial('新增', {})"> + <el-button shape="round" @click="addNewMaterial('新增', {})"> 新增实验材料配置 </el-button> </tr> diff --git a/src/views/experiment/project/components/selectPerson.vue b/src/views/experiment/project/components/selectPerson.vue index 6677595..268b8c7 100644 --- a/src/views/experiment/project/components/selectPerson.vue +++ b/src/views/experiment/project/components/selectPerson.vue @@ -41,11 +41,11 @@ <el-button type="danger" :disabled="selectPersonState.disabled" @click="deletePersonItem(index)">删除</el-button> </td> </tr> - <tr style="text-align: center"> - <el-button :disabled="selectPersonState.disabled" type="primary" shape="round" @click="addPersonItem()"> + <tr style="text-align: center" v-if="!selectPersonState.disabled"> + <el-button type="primary" shape="round" @click="addPersonItem()"> 添加现有实验人员 </el-button> - <el-button :disabled="selectPersonState.disabled" shape="round" @click="addNewPerson('新增', {})"> + <el-button shape="round" @click="addNewPerson('新增', {})"> 新增实验人员配置 </el-button> </tr> diff --git a/src/views/experiment/project/components/selectRoom.vue b/src/views/experiment/project/components/selectRoom.vue index f2a9cc3..f8c36d7 100644 --- a/src/views/experiment/project/components/selectRoom.vue +++ b/src/views/experiment/project/components/selectRoom.vue @@ -43,11 +43,11 @@ <el-button type="danger" :disabled="selectRoomState.disabled" @click="deleteRoomItem(index)">删除</el-button> </td> </tr> - <tr style="text-align: center"> - <el-button :disabled="selectRoomState.disabled" type="primary" shape="round" @click="addMaterialItem()"> + <tr style="text-align: center" v-if="!selectRoomState.disabled"> + <el-button type="primary" shape="round" @click="addMaterialItem()"> 添加现有实验场所 </el-button> - <el-button :disabled="selectRoomState.disabled" shape="round" @click="addNewRoom('新增', {})"> + <el-button shape="round" @click="addNewRoom('新增', {})"> 新增实验场所配置 </el-button> </tr> diff --git a/src/views/experiment/project/index.vue b/src/views/experiment/project/index.vue index c8b0239..009a91b 100644 --- a/src/views/experiment/project/index.vue +++ b/src/views/experiment/project/index.vue @@ -165,7 +165,6 @@ }) const getProjectData = async () => { -console.log(projectState.searchQuery,'11') let res = await projectApi().getProjectByList(projectState.searchQuery); if(res.data.code === 100){ projectState.projectData = res.data.data; -- Gitblit v1.9.2