马宇豪
2023-04-25 0c0fa2483fd431104f6498e40fffd983d913dce2
src/views/analyse/assessApply/components/riskDialog.vue
@@ -2,7 +2,7 @@
    <div class="system-menu-dialog-container">
        <el-dialog title="管理实验现实风险" v-model="assessApplyDialogState.assessApplyDialogVisible" width="60%">
          <div>
            <el-button @click="addUnit()" type="primary" style="margin-bottom: 20px" size="default">增加风险分析单元</el-button>
            <el-button @click="openUnitDialog('新增','', assessApplyDialogState.id, assessApplyDialogState.liabilityUserId)" type="primary" style="margin-bottom: 20px" size="default">增加风险分析单元</el-button>
          </div>
          <el-table ref="multipleTableRef" :data="assessApplyDialogState.riskUnitData" style="width: 100%" :header-cell-style="{ background: '#fafafa' }">
            <el-table-column prop="riskCode" label="风险单元编号"/>
@@ -15,12 +15,19 @@
            <el-table-column prop="riskUnitType" label="风险单元类型"/>
            <el-table-column prop="riskUnitType" label="负责人">
              <template #default="scope">
                <span>{{`${assessApplyDialogState.allPersonList.find(item =>item.id === scope.row.liabilityUserId)?.personName || ''}`}}</span>
                <span>{{`${assessApplyDialogState.allPersonList.find(item =>item.id === scope.row.liabilityUserId)?.realName || ''}`}}</span>
              </template>
            </el-table-column>
            <el-table-column prop="evaluateStatus" label="是否评价">
              <template #default="scope">
                <span>{{scope.row.evaluateStatus == 1?'未评价':scope.row.evaluateStatus == 2?'已评价':'--'}}</span>
              </template>
            </el-table-column>
            <el-table-column label="操作" width="150" align="center">
              <template #default="scope">
                <el-button size="default" text  type="primary" @click="openUnitDialog('查看', scope.row, assessApplyDialogState.id, assessApplyDialogState.liabilityUserId)">查看</el-button>
                <el-button size="default" text  type="primary" @click="openUnitDialog('编辑', scope.row, assessApplyDialogState.id, assessApplyDialogState.liabilityUserId)">编辑</el-button>
                <el-button size="default" text type="danger" @click="deleteUnit(scope.$index, scope.row)">删除</el-button>
              </template>
            </el-table-column>
          </el-table>
@@ -41,6 +48,9 @@
import {personApi} from "/@/api/basic/person";
import {riskUnitApi} from "/@/api/analyse/riskUnit";
import {unitApi} from "/@/api/basic/unit";
import {userApi} from "/@/api/systemManage/user";
import {ElMessageBox} from "element-plus/es";
import {identifyApi} from "/@/api/analyse/identify";
const RiskUnitDialog = defineAsyncComponent(() => import('./riskUnitDialog.vue'));
const assessApplyDialogState = reactive<AssessApplyDialogStateType>({
@@ -67,8 +77,8 @@
    getRiskData()
};
const addUnit = (id: number, value: RiskUnitType) => {
  riskUnitDialogRef.value.showRiskUnitDialog(assessApplyDialogState.id, assessApplyDialogState.liabilityUserId, assessApplyDialogState.basicUnitList, assessApplyDialogState.allPersonList, assessApplyDialogState.allRiskTypeList);
const openUnitDialog = (title: string, val, id: number, userId: number) => {
  riskUnitDialogRef.value.showRiskUnitDialog(title, val, id, userId, assessApplyDialogState.basicUnitList, assessApplyDialogState.allPersonList, assessApplyDialogState.allRiskTypeList);
};
const getRiskData = async () => {
@@ -96,8 +106,16 @@
};
const getAllPersonList = async () => {
  let res = await personApi().getAllPerson();
  if(res.data.code === 100){
  let res = await userApi().getUserList({
    pageIndex: 1,
    pageSize: 99999,
    searchParams:{
      roleId: null,
      name: '',
      realName: ''
    }
  });
  if(res.data.code === 200){
    assessApplyDialogState.allPersonList = JSON.parse(JSON.stringify(res.data.data));
  }else{
    ElMessage({
@@ -119,6 +137,34 @@
  }
}
const deleteUnit = (index: number, val: IdentifyType) => {
  ElMessageBox.confirm(`此操作将永久删除该风险单元,是否继续?`, '提示', {
    confirmButtonText: '确认',
    cancelButtonText: '取消',
    type: 'warning'
  })
      .then(async () => {
        let data = { id: val.id }
        let res = await unitApi().deleteRiskUnitById(data);
        if (res.data.code === 100) {
          (<Array<IdentifyType>>assessApplyDialogState.riskUnitData).splice(index, 1)
          ElMessage({
            type: 'success',
            duration: 2000,
            message: '删除成功'
          });
        } else {
          ElMessage({
            type: 'warning',
            message: res.data.msg
          });
        }
      })
      .catch((error) => {
        console.log(error);
      });
};
const emit = defineEmits(['refresh'])
defineExpose({