马宇豪
2025-05-09 cbb23429b8beed72b58cbb57f9b3c56a0fb2b5d2
修改
已修改11个文件
182 ■■■■ 文件已修改
src/views/analyse/evaluate/index.ts 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/analyse/evaluate/index.vue 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/developing/components/developDialog.vue 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/project/components/projectDialog.vue 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/project/components/selectDanger.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/project/components/selectEmergency.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/project/components/selectEquipment.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/project/components/selectMaterial.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/project/components/selectPerson.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/project/components/selectRoom.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/project/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/analyse/evaluate/index.ts
@@ -2,6 +2,7 @@
    evaluateData: Array<IdentifyType>
    user: null| number
    currentEvalute:{}
    allRoomList: []
    evaluateDialog:boolean
    searchQuery: {
        pageIndex: number,
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)
});
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>
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>
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>
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>
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>
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>
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>
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>
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;