From de5e674a5655cd5c8d5457d1be8182519625d265 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期三, 12 三月 2025 15:35:47 +0800
Subject: [PATCH] 修改
---
src/views/analyse/plan/index.vue | 37
src/views/analyse/identify/index.ts | 11
src/views/analyse/identify/components/identifyDialog.vue | 1226 ++++++++++++++++++++++++---------------
src/views/analyse/plan/index.ts | 18
src/views/analyse/record/index.vue | 1
src/views/analyse/identify/index.vue | 4
src/api/analyse/plan/index.ts | 2
src/views/analyse/evaluate/index.vue | 6
src/views/analyse/plan/components/planDialog.vue | 468 ++++++++-------
src/views/analyse/identify/components/identifyQuery.vue | 3
10 files changed, 1,052 insertions(+), 724 deletions(-)
diff --git a/src/api/analyse/plan/index.ts b/src/api/analyse/plan/index.ts
index ebfbbc2..36d8a1d 100644
--- a/src/api/analyse/plan/index.ts
+++ b/src/api/analyse/plan/index.ts
@@ -76,7 +76,7 @@
reSendJob: (params: object)=>{
return request({
- url: import.meta.env.VITE_API_URL + '/risk/update/appoint',
+ url: import.meta.env.VITE_API_URL + '/risk/update/appointNew',
method: 'post',
data: params
});
diff --git a/src/views/analyse/evaluate/index.vue b/src/views/analyse/evaluate/index.vue
index 41ec3e0..356dda1 100644
--- a/src/views/analyse/evaluate/index.vue
+++ b/src/views/analyse/evaluate/index.vue
@@ -109,8 +109,8 @@
</el-table-column>
<el-table-column label="操作" width="250">
<template #default="scope">
- <el-button size="small" v-if="scope.row.planExecStatus===3 && scope.row.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.evaluateUserId == evaluateState.user" text type="primary" :icon="Edit" @click="openEvaluate(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>
</template>
</el-table-column>
@@ -155,7 +155,7 @@
<el-table-column v-if="evaluateState.currentEvalute.identificationMethod == 5" prop="analogyResult" label="可能存在后果" show-overflow-tooltip align="center"></el-table-column>
<el-table-column label="操作">
<template #default="scope">
- <el-button size="small" v-if="evaluateState.currentEvalute.planExecStatus === 3 && evaluateState.currentEvalute.evaluateUserId == evaluateState.user" text type="primary" :icon="Plus" @click="openEvaluateDialog('评价', scope.row)">评价</el-button>
+ <el-button size="small" v-if="evaluateState.currentEvalute.planExecStatus === 3 && evaluateState.currentEvalute.evaluateUsers?.find(i=>i.evaluateUserId== evaluateState.user)" text type="primary" :icon="Plus" @click="openEvaluateDialog('评价', scope.row)">评价</el-button>
<el-button size="small" v-if="scope.row.riskValue" text type="primary" :icon="View" @click="openEvaluateDialog('查看', scope.row)">查看</el-button>
</template>
</el-table-column>
diff --git a/src/views/analyse/identify/components/identifyDialog.vue b/src/views/analyse/identify/components/identifyDialog.vue
index a764ab6..d403a07 100644
--- a/src/views/analyse/identify/components/identifyDialog.vue
+++ b/src/views/analyse/identify/components/identifyDialog.vue
@@ -1,510 +1,780 @@
<template>
- <div class="system-menu-dialog-container">
- <el-dialog :title="identifyDialogState.title" v-model="identifyDialogState.identifyDialogVisible" width="600px">
- <el-form ref="identifyFormRef" :rules="identifyDialogState.identifyFormRules" :model="identifyDialogState.identifyForm" size="default" label-width="160px">
- <el-row :gutter="35">
-<!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
-<!-- <el-form-item label="辨识方法" prop="identificationMethod">-->
-<!-- <el-select class="input-length" :disabled="true" v-model="identifyDialogState.identifyForm.identificationMethod" style="width:100%" placeholder="辨识方法" clearable>-->
-<!-- <el-option v-for="item in identifyDialogState.identificationMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
-<!-- </el-select>-->
-<!-- </el-form-item>-->
-<!-- </el-col>-->
+ <div class="system-menu-dialog-container">
+ <el-dialog :title="identifyDialogState.title" v-model="identifyDialogState.identifyDialogVisible" width="600px">
+ <el-form ref="identifyFormRef" :rules="identifyDialogState.identifyFormRules"
+ :model="identifyDialogState.identifyForm" size="default" label-width="160px">
+ <el-row :gutter="35">
+ <!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
+ <!-- <el-form-item label="辨识方法" prop="identificationMethod">-->
+ <!-- <el-select class="input-length" :disabled="true" v-model="identifyDialogState.identifyForm.identificationMethod" style="width:100%" placeholder="辨识方法" clearable>-->
+ <!-- <el-option v-for="item in identifyDialogState.identificationMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
+ <!-- </el-col>-->
- <div style="width: 100%" v-if="identifyDialogState.method === 1">
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="PHA_检查项目" prop="phaCheckItem">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.phaCheckItem" placeholder="检查项目" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="PHA_存在风险因素" prop="phaRiskFactor">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.phaRiskFactor" placeholder="存在风险因素" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="PHA_可能产生的后果" prop="phaResult">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.phaResult" placeholder="可能产生的后果" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="分配评价方法">
- <el-select disabled class="input-length" v-model="identifyDialogState.evaluateMethod" style="width:100%" placeholder="" clearable>
- <el-option v-for="item in identifyDialogState.evaluateMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
-<!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
-<!-- <el-form-item label="评价专家" prop="phaEvaluateUser">-->
-<!-- <el-select class="input-length" v-model="identifyDialogState.identifyForm.phaEvaluateUser" style="width:100%" placeholder="" clearable>-->
-<!-- <el-option v-for="item in identifyDialogState.personList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
-<!-- </el-select>-->
-<!-- </el-form-item>-->
-<!-- </el-col>-->
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="评价专家">
- <el-input class="input-length" disabled v-model="identifyDialogState.evaluateUser" placeholder="暂无评价专家" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="辨识结果" prop="result">
- <el-radio-group v-model="identifyDialogState.identifyForm.result" :disabled="identifyDialogState.disabled">
- <el-radio :label="1">有风险</el-radio>
- <el-radio :label="2">无风险</el-radio>
- </el-radio-group>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="辨识专家建议" prop="identificationDesc">
- <el-input class="input-length" type="textarea" :autosize="{ minRows: 3}" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.identificationDesc" placeholder="辨识专家建议" clearable></el-input>
- </el-form-item>
- </el-col>
- </div>
+ <div style="width: 100%" v-if="identifyDialogState.method === 1">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="PHA_检查项目" prop="phaCheckItem">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.phaCheckItem" placeholder="检查项目"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="PHA_存在风险因素" prop="phaRiskFactor">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.phaRiskFactor" placeholder="存在风险因素"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="PHA_可能产生的后果" prop="phaResult">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.phaResult" placeholder="可能产生的后果"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="分配评价方法">
+ <el-select disabled class="input-length" v-model="identifyDialogState.evaluateMethod" style="width:100%"
+ placeholder="" clearable>
+ <el-option v-for="item in identifyDialogState.evaluateMethodList" :key="item.id" :label="item.name"
+ :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
+ <!-- <el-form-item label="评价专家" prop="phaEvaluateUser">-->
+ <!-- <el-select class="input-length" v-model="identifyDialogState.identifyForm.phaEvaluateUser" style="width:100%" placeholder="" clearable>-->
+ <!-- <el-option v-for="item in identifyDialogState.personList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
+ <!-- </el-col>-->
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="评价专家">
+ <el-input class="input-length" disabled v-model="identifyDialogState.evaluateUser"
+ placeholder="暂无评价专家" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="辨识结果" prop="result">
+ <el-radio-group v-model="identifyDialogState.identifyForm.result"
+ :disabled="identifyDialogState.disabled">
+ <el-radio :label="1">有风险</el-radio>
+ <el-radio :label="2">无风险</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="辨识专家建议" prop="identificationDesc">
+ <el-input class="input-length" type="textarea" :autosize="{ minRows: 3}"
+ :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.identificationDesc" placeholder="辨识专家建议"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="附件">
+ <el-upload accept="image/*" :action="identifyDialogState.uploadUrl"
+ :disabled="identifyDialogState.disabled"
+ :headers="identifyDialogState.header" method="post" :data="{module: 'identification'}"
+ :on-success="handleAvatarSuccess" :on-exceed="showTip" :on-preview="handlePictureCardPreview"
+ :limit='identifyDialogState.imgLimit' v-model:file-list="identifyDialogState.fileList"
+ list-type="picture-card" :before-upload="picSize" :on-remove="handleRemove"
+ :before-remove="beforeRemove">
+ <el-icon>
+ <Plus/>
+ </el-icon>
+ <template #tip>
+ <div class="el-upload__tip">上传jpg/png图片尺寸小于5M,最多可上传1张</div>
+ </template>
+ </el-upload>
+ </el-form-item>
+ </el-col>
+ </div>
- <div style="width: 100%" v-if="identifyDialogState.method === 2">
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="JHA_作业步骤" prop="jhaCheckItem">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.jhaCheckItem" placeholder="作业步骤" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="JHA_危险源或潜在事件" prop="jhaRiskFactor">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.jhaRiskFactor" placeholder="危险源或潜在事件" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="JHA_可能产生的后果" prop="jhaResult">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.jhaResult" placeholder="可能产生的后果" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="分配评价方法">
- <el-select disabled class="input-length" v-model="identifyDialogState.evaluateMethod" style="width:100%" placeholder="" clearable>
- <el-option v-for="item in identifyDialogState.evaluateMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
-<!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
-<!-- <el-form-item label="评价专家" prop="jhaEvaluateUser">-->
-<!-- <el-select class="input-length" v-model="identifyDialogState.identifyForm.jhaEvaluateUser" style="width:100%" placeholder="" clearable>-->
-<!-- <el-option v-for="item in identifyDialogState.personList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
-<!-- </el-select>-->
-<!-- </el-form-item>-->
-<!-- </el-col>-->
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="评价专家">
- <el-input class="input-length" disabled v-model="identifyDialogState.evaluateUser" placeholder="暂无评价专家" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="辨识结果" prop="result">
- <el-radio-group v-model="identifyDialogState.identifyForm.result" :disabled="identifyDialogState.disabled">
- <el-radio :label="1">有风险</el-radio>
- <el-radio :label="2">无风险</el-radio>
- </el-radio-group>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="辨识专家建议" prop="identificationDesc">
- <el-input class="input-length" type="textarea" :autosize="{ minRows: 3}" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.identificationDesc" placeholder="辨识专家建议" clearable></el-input>
- </el-form-item>
- </el-col>
- </div>
+ <div style="width: 100%" v-if="identifyDialogState.method === 2">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="JHA_作业步骤" prop="jhaCheckItem">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.jhaCheckItem" placeholder="作业步骤"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="JHA_危险源或潜在事件" prop="jhaRiskFactor">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.jhaRiskFactor" placeholder="危险源或潜在事件"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="JHA_可能产生的后果" prop="jhaResult">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.jhaResult" placeholder="可能产生的后果"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="分配评价方法">
+ <el-select disabled class="input-length" v-model="identifyDialogState.evaluateMethod" style="width:100%"
+ placeholder="" clearable>
+ <el-option v-for="item in identifyDialogState.evaluateMethodList" :key="item.id" :label="item.name"
+ :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
+ <!-- <el-form-item label="评价专家" prop="jhaEvaluateUser">-->
+ <!-- <el-select class="input-length" v-model="identifyDialogState.identifyForm.jhaEvaluateUser" style="width:100%" placeholder="" clearable>-->
+ <!-- <el-option v-for="item in identifyDialogState.personList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
+ <!-- </el-col>-->
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="评价专家">
+ <el-input class="input-length" disabled v-model="identifyDialogState.evaluateUser"
+ placeholder="暂无评价专家" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="辨识结果" prop="result">
+ <el-radio-group v-model="identifyDialogState.identifyForm.result"
+ :disabled="identifyDialogState.disabled">
+ <el-radio :label="1">有风险</el-radio>
+ <el-radio :label="2">无风险</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="辨识专家建议" prop="identificationDesc">
+ <el-input class="input-length" type="textarea" :autosize="{ minRows: 3}"
+ :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.identificationDesc" placeholder="辨识专家建议"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="附件">
+ <el-upload accept="image/*" :action="identifyDialogState.uploadUrl"
+ :disabled="identifyDialogState.disabled"
+ :headers="identifyDialogState.header" method="post" :data="{module: 'identification'}"
+ :on-success="handleAvatarSuccess" :on-exceed="showTip" :on-preview="handlePictureCardPreview"
+ :limit='identifyDialogState.imgLimit' v-model:file-list="identifyDialogState.fileList"
+ list-type="picture-card" :before-upload="picSize" :on-remove="handleRemove"
+ :before-remove="beforeRemove">
+ <el-icon>
+ <Plus/>
+ </el-icon>
+ <template #tip>
+ <div class="el-upload__tip">上传jpg/png图片尺寸小于5M,最多可上传1张</div>
+ </template>
+ </el-upload>
+ </el-form-item>
+ </el-col>
+ </div>
- <div style="width: 100%" v-if="identifyDialogState.method === 3">
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="SCL_检查项目" prop="sclCheckItem">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.sclCheckItem" placeholder="检查项目" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="SCL_检查标准" prop="sclCheckStandard">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.sclCheckStandard" placeholder="检查标准" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="SCL_不符合标准情况" prop="sclCheckUnstandard">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.sclCheckUnstandard" placeholder="不符合标准情况" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="SCL_主要后果" prop="sclCheckResult">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.sclCheckResult" placeholder="主要后果" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="分配评价方法">
- <el-select disabled class="input-length" v-model="identifyDialogState.evaluateMethod" style="width:100%" placeholder="" clearable>
- <el-option v-for="item in identifyDialogState.evaluateMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
-<!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
-<!-- <el-form-item label="评价专家" prop="sclEvaluateUser">-->
-<!-- <el-select class="input-length" v-model="identifyDialogState.identifyForm.sclEvaluateUser" style="width:100%" placeholder="" clearable>-->
-<!-- <el-option v-for="item in identifyDialogState.personList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
-<!-- </el-select>-->
-<!-- </el-form-item>-->
-<!-- </el-col>-->
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="评价专家">
- <el-input class="input-length" disabled v-model="identifyDialogState.evaluateUser" placeholder="暂无评价专家" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="辨识结果" prop="result">
- <el-radio-group v-model="identifyDialogState.identifyForm.result" :disabled="identifyDialogState.disabled">
- <el-radio :label="1">有风险</el-radio>
- <el-radio :label="2">无风险</el-radio>
- </el-radio-group>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="辨识专家建议" prop="identificationDesc">
- <el-input class="input-length" type="textarea" :autosize="{ minRows: 3}" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.identificationDesc" placeholder="辨识专家建议" clearable></el-input>
- </el-form-item>
- </el-col>
- </div>
+ <div style="width: 100%" v-if="identifyDialogState.method === 3">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="SCL_检查项目" prop="sclCheckItem">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.sclCheckItem" placeholder="检查项目"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="SCL_检查标准" prop="sclCheckStandard">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.sclCheckStandard" placeholder="检查标准"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="SCL_不符合标准情况" prop="sclCheckUnstandard">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.sclCheckUnstandard" placeholder="不符合标准情况"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="SCL_主要后果" prop="sclCheckResult">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.sclCheckResult" placeholder="主要后果"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="分配评价方法">
+ <el-select disabled class="input-length" v-model="identifyDialogState.evaluateMethod" style="width:100%"
+ placeholder="" clearable>
+ <el-option v-for="item in identifyDialogState.evaluateMethodList" :key="item.id" :label="item.name"
+ :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
+ <!-- <el-form-item label="评价专家" prop="sclEvaluateUser">-->
+ <!-- <el-select class="input-length" v-model="identifyDialogState.identifyForm.sclEvaluateUser" style="width:100%" placeholder="" clearable>-->
+ <!-- <el-option v-for="item in identifyDialogState.personList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
+ <!-- </el-col>-->
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="评价专家">
+ <el-input class="input-length" disabled v-model="identifyDialogState.evaluateUser"
+ placeholder="暂无评价专家" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="辨识结果" prop="result">
+ <el-radio-group v-model="identifyDialogState.identifyForm.result"
+ :disabled="identifyDialogState.disabled">
+ <el-radio :label="1">有风险</el-radio>
+ <el-radio :label="2">无风险</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="辨识专家建议" prop="identificationDesc">
+ <el-input class="input-length" type="textarea" :autosize="{ minRows: 3}"
+ :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.identificationDesc" placeholder="辨识专家建议"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="附件">
+ <el-upload accept="image/*" :action="identifyDialogState.uploadUrl"
+ :disabled="identifyDialogState.disabled"
+ :headers="identifyDialogState.header" method="post" :data="{module: 'identification'}"
+ :on-success="handleAvatarSuccess" :on-exceed="showTip" :on-preview="handlePictureCardPreview"
+ :limit='identifyDialogState.imgLimit' v-model:file-list="identifyDialogState.fileList"
+ list-type="picture-card" :before-upload="picSize" :on-remove="handleRemove"
+ :before-remove="beforeRemove">
+ <el-icon>
+ <Plus/>
+ </el-icon>
+ <template #tip>
+ <div class="el-upload__tip">上传jpg/png图片尺寸小于5M,最多可上传1张</div>
+ </template>
+ </el-upload>
+ </el-form-item>
+ </el-col>
+ </div>
- <div style="width: 100%" v-if="identifyDialogState.method === 4">
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="HAZOP_节点" prop="hazopNode">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.hazopNode" placeholder="HAZOP_节点" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="HAZOP_参数" prop="hazopParam">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.hazopParam" placeholder="HAZOP_参数" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="HAZOP_参数描述" prop="hazopParamDesc">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.hazopParamDesc" placeholder="HAZOP_参数描述" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="HAZOP_引导词" prop="hazopGuide">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.hazopGuide" placeholder="HAZOP_引导词" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="HAZOP_偏差" prop="hazopDeviation">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.hazopDeviation" placeholder="HAZOP_偏差" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="HAZOP_可能原因" prop="hazopPossibleCauses">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.hazopPossibleCauses" placeholder="HAZOP_可能原因" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="HAZOP_主要后果" prop="hazopResult">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.hazopResult" placeholder="HAZOP_主要后果" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="分配评价方法">
- <el-select disabled class="input-length" v-model="identifyDialogState.evaluateMethod" style="width:100%" placeholder="" clearable>
- <el-option v-for="item in identifyDialogState.evaluateMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
-<!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
-<!-- <el-form-item label="评价专家" prop="hazopEvaluateUser">-->
-<!-- <el-select class="input-length" v-model="identifyDialogState.identifyForm.hazopEvaluateUser" style="width:100%" placeholder="" clearable>-->
-<!-- <el-option v-for="item in identifyDialogState.personList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
-<!-- </el-select>-->
-<!-- </el-form-item>-->
-<!-- </el-col>-->
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="评价专家">
- <el-input class="input-length" disabled v-model="identifyDialogState.evaluateUser" placeholder="暂无评价专家" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="辨识结果" prop="result">
- <el-radio-group v-model="identifyDialogState.identifyForm.result" :disabled="identifyDialogState.disabled">
- <el-radio :label="1">有风险</el-radio>
- <el-radio :label="2">无风险</el-radio>
- </el-radio-group>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="辨识专家建议" prop="identificationDesc">
- <el-input class="input-length" type="textarea" :autosize="{ minRows: 3}" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.identificationDesc" placeholder="辨识专家建议" clearable></el-input>
- </el-form-item>
- </el-col>
- </div>
+ <div style="width: 100%" v-if="identifyDialogState.method === 4">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="HAZOP_节点" prop="hazopNode">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.hazopNode" placeholder="HAZOP_节点"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="HAZOP_参数" prop="hazopParam">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.hazopParam" placeholder="HAZOP_参数"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="HAZOP_参数描述" prop="hazopParamDesc">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.hazopParamDesc" placeholder="HAZOP_参数描述"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="HAZOP_引导词" prop="hazopGuide">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.hazopGuide" placeholder="HAZOP_引导词"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="HAZOP_偏差" prop="hazopDeviation">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.hazopDeviation" placeholder="HAZOP_偏差"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="HAZOP_可能原因" prop="hazopPossibleCauses">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.hazopPossibleCauses" placeholder="HAZOP_可能原因"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="HAZOP_主要后果" prop="hazopResult">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.hazopResult" placeholder="HAZOP_主要后果"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="分配评价方法">
+ <el-select disabled class="input-length" v-model="identifyDialogState.evaluateMethod" style="width:100%"
+ placeholder="" clearable>
+ <el-option v-for="item in identifyDialogState.evaluateMethodList" :key="item.id" :label="item.name"
+ :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
+ <!-- <el-form-item label="评价专家" prop="hazopEvaluateUser">-->
+ <!-- <el-select class="input-length" v-model="identifyDialogState.identifyForm.hazopEvaluateUser" style="width:100%" placeholder="" clearable>-->
+ <!-- <el-option v-for="item in identifyDialogState.personList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
+ <!-- </el-col>-->
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="评价专家">
+ <el-input class="input-length" disabled v-model="identifyDialogState.evaluateUser"
+ placeholder="暂无评价专家" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="辨识结果" prop="result">
+ <el-radio-group v-model="identifyDialogState.identifyForm.result"
+ :disabled="identifyDialogState.disabled">
+ <el-radio :label="1">有风险</el-radio>
+ <el-radio :label="2">无风险</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="辨识专家建议" prop="identificationDesc">
+ <el-input class="input-length" type="textarea" :autosize="{ minRows: 3}"
+ :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.identificationDesc" placeholder="辨识专家建议"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="附件">
+ <el-upload accept="image/*" :action="identifyDialogState.uploadUrl"
+ :disabled="identifyDialogState.disabled"
+ :headers="identifyDialogState.header" method="post" :data="{module: 'identification'}"
+ :on-success="handleAvatarSuccess" :on-exceed="showTip" :on-preview="handlePictureCardPreview"
+ :limit='identifyDialogState.imgLimit' v-model:file-list="identifyDialogState.fileList"
+ list-type="picture-card" :before-upload="picSize" :on-remove="handleRemove"
+ :before-remove="beforeRemove">
+ <el-icon>
+ <Plus/>
+ </el-icon>
+ <template #tip>
+ <div class="el-upload__tip">上传jpg/png图片尺寸小于5M,最多可上传1张</div>
+ </template>
+ </el-upload>
+ </el-form-item>
+ </el-col>
+ </div>
- <div style="width: 100%" v-if="identifyDialogState.method === 5">
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="类比法_检查项目" prop="analogyCheckItem">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.analogyCheckItem" placeholder="检查项目" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="类比法_类比参照" prop="analogyReference">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.analogyReference" placeholder="类比参照" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="类比法_存在风险因素" prop="analogyRiskFactor">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.analogyRiskFactor" placeholder="存在风险因素" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="类比法_可能产生的后果" prop="analogyResult">
- <el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.analogyResult" placeholder="可能产生的后果" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="分配评价方法">
- <el-select disabled class="input-length" v-model="identifyDialogState.evaluateMethod" style="width:100%" placeholder="" clearable>
- <el-option v-for="item in identifyDialogState.evaluateMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
-<!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
-<!-- <el-form-item label="评价专家" prop="analogyEvaluateUser">-->
-<!-- <el-select class="input-length" v-model="identifyDialogState.identifyForm.analogyEvaluateUser" style="width:100%" placeholder="" clearable>-->
-<!-- <el-option v-for="item in identifyDialogState.personList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
-<!-- </el-select>-->
-<!-- </el-form-item>-->
-<!-- </el-col>-->
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="评价专家">
- <el-input class="input-length" disabled v-model="identifyDialogState.evaluateUser" placeholder="暂无评价专家" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="辨识结果" prop="result">
- <el-radio-group v-model="identifyDialogState.identifyForm.result" :disabled="identifyDialogState.disabled">
- <el-radio :label="1">有风险</el-radio>
- <el-radio :label="2">无风险</el-radio>
- </el-radio-group>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="辨识专家建议" prop="identificationDesc">
- <el-input class="input-length" type="textarea" :autosize="{ minRows: 3}" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.identificationDesc" placeholder="辨识专家建议" clearable></el-input>
- </el-form-item>
- </el-col>
- </div>
- </el-row>
- </el-form>
- <template #footer>
+ <div style="width: 100%" v-if="identifyDialogState.method === 5">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="类比法_检查项目" prop="analogyCheckItem">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.analogyCheckItem" placeholder="检查项目"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="类比法_类比参照" prop="analogyReference">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.analogyReference" placeholder="类比参照"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="类比法_存在风险因素" prop="analogyRiskFactor">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.analogyRiskFactor" placeholder="存在风险因素"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="类比法_可能产生的后果" prop="analogyResult">
+ <el-input class="input-length" :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.analogyResult" placeholder="可能产生的后果"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="分配评价方法">
+ <el-select disabled class="input-length" v-model="identifyDialogState.evaluateMethod" style="width:100%"
+ placeholder="" clearable>
+ <el-option v-for="item in identifyDialogState.evaluateMethodList" :key="item.id" :label="item.name"
+ :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
+ <!-- <el-form-item label="评价专家" prop="analogyEvaluateUser">-->
+ <!-- <el-select class="input-length" v-model="identifyDialogState.identifyForm.analogyEvaluateUser" style="width:100%" placeholder="" clearable>-->
+ <!-- <el-option v-for="item in identifyDialogState.personList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
+ <!-- </el-col>-->
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="评价专家">
+ <el-input class="input-length" disabled v-model="identifyDialogState.evaluateUser"
+ placeholder="暂无评价专家" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="辨识结果" prop="result">
+ <el-radio-group v-model="identifyDialogState.identifyForm.result"
+ :disabled="identifyDialogState.disabled">
+ <el-radio :label="1">有风险</el-radio>
+ <el-radio :label="2">无风险</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="辨识专家建议" prop="identificationDesc">
+ <el-input class="input-length" type="textarea" :autosize="{ minRows: 3}"
+ :disabled="identifyDialogState.disabled"
+ v-model="identifyDialogState.identifyForm.identificationDesc" placeholder="辨识专家建议"
+ clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="附件">
+ <el-upload accept="image/*" :action="identifyDialogState.uploadUrl"
+ :disabled="identifyDialogState.disabled"
+ :headers="identifyDialogState.header" method="post" :data="{module: 'identification'}"
+ :on-success="handleAvatarSuccess" :on-exceed="showTip" :on-preview="handlePictureCardPreview"
+ :limit='identifyDialogState.imgLimit' v-model:file-list="identifyDialogState.fileList"
+ list-type="picture-card" :before-upload="picSize" :on-remove="handleRemove"
+ :before-remove="beforeRemove">
+ <el-icon>
+ <Plus/>
+ </el-icon>
+ <template #tip>
+ <div class="el-upload__tip">上传jpg/png图片尺寸小于5M,最多可上传1张</div>
+ </template>
+ </el-upload>
+ </el-form-item>
+ </el-col>
+ </div>
+ </el-row>
+ </el-form>
+ <template #footer>
<span class="dialog-footer">
- <el-button @click="identifyDialogState.identifyDialogVisible = !identifyDialogState.identifyDialogVisible" size="default">取 消</el-button>
- <el-button v-if="!identifyDialogState.disabled" type="primary" @click="onSubmitIdentify" size="default">确定</el-button>
+ <el-button @click="identifyDialogState.identifyDialogVisible = !identifyDialogState.identifyDialogVisible"
+ size="default">取 消</el-button>
+ <el-button v-if="!identifyDialogState.disabled" type="primary" @click="onSubmitIdentify"
+ size="default">确定</el-button>
</span>
- </template>
- </el-dialog>
- </div>
+ </template>
+ </el-dialog>
+ <el-dialog v-model="identifyDialogState.dialogVisible">
+ <el-image style="width: 100%; height: 100%" :src="identifyDialogState.dialogImageUrl"/>
+ </el-dialog>
+ </div>
</template>
<script setup lang="ts">
-import { reactive, ref } from "vue";
-import {ElMessage} from "element-plus";
+import {reactive, ref} from "vue";
+import {ElMessage, UploadProps} from "element-plus";
import {identifyApi} from "/@/api/analyse/identify";
import {isValidKey} from "/@/utils/methods";
+import Cookies from "js-cookie";
+import {useUserInfo} from "/@/stores/userInfo";
+import {storeToRefs} from "pinia";
+import axios from "axios";
+const userInfo = useUserInfo();
+const {userInfos} = storeToRefs(userInfo);
const identifyFormRef = ref()
const identifyDialogState = reactive<IdentifyDialogType>({
- title: '',
- method: null,
- time:[],
- disabled: false,
- evaluateMethod: null,
- evaluateUser: '',
- identifyDialogVisible: false,
- identifyForm: {
- id: null,
- identificationMethod: null,
- result: null,
- identificationDesc: '',
- analogyCheckItem: '',
- analogyRiskFactor: '',
- analogyResult: '',
- analogyReference: '',
- hazopNode: '',
- hazopParam: '',
- hazopParamDesc: '',
- hazopGuide: '',
- hazopDeviation: '',
- hazopPossibleCauses: '',
- hazopResult: '',
- jhaCheckItem: '',
- jhaRiskFactor: '',
- jhaResult: '',
- phaCheckItem: '',
- phaRiskFactor: '',
- phaResult: '',
- sclCheckItem: '',
- sclCheckStandard: '',
- sclCheckUnstandard: '',
- sclCheckResult: '',
- hazopId: null,
- jhaId: null,
- phaId: null,
- sclId: null,
- analogyId: null
- },
- identifyFormRules: {
- result: [{ required: true, message: '请选择辨识结果', trigger: 'blur' }],
- identificationDesc: [{ required: true, message: '请输入辨识专家建议', trigger: 'blur' }],
- analogyCheckItem: [{ required: true, message: '请输入检查项目', trigger: 'blur' }],
- analogyRiskFactor: [{ required: true, message: '请输入存在风险因素', trigger: 'blur' }],
- analogyResult: [{ required: true, message: '请输入可能产生的后果', trigger: 'blur' }],
- analogyReference: [{ required: true, message: '请输入类比参照', trigger: 'blur' }],
- hazopNode: [{ required: true, message: '请输入节点', trigger: 'blur' }],
- hazopParam: [{ required: true, message: '请输入参数', trigger: 'blur' }],
- hazopParamDesc: [{ required: true, message: '请输入参数描述', trigger: 'blur' }],
- hazopGuide: [{ required: true, message: '请输入引导词', trigger: 'blur' }],
- hazopDeviation: [{ required: true, message: '请输入偏差', trigger: 'blur' }],
- hazopPossibleCauses: [{ required: true, message: '请输入可能原因', trigger: 'blur' }],
- hazopResult: [{ required: true, message: '请输入主要后果', trigger: 'blur' }],
- jhaCheckItem: [{ required: true, message: '请输入作业步骤', trigger: 'blur' }],
- jhaRiskFactor: [{ required: true, message: '请输入危险源或潜在事件', trigger: 'blur' }],
- jhaResult: [{ required: true, message: '请输入可能产生的后果', trigger: 'blur' }],
- phaCheckItem: [{ required: true, message: '请输入检查项目', trigger: 'blur' }],
- phaRiskFactor: [{ required: true, message: '请输入存在风险因素', trigger: 'blur' }],
- phaResult: [{ required: true, message: '请输入可能产生的后果', trigger: 'blur' }],
- sclCheckItem: [{ required: true, message: '请输入检查项目', trigger: 'blur' }],
- sclCheckStandard: [{ required: true, message: '请输入检查标准', trigger: 'blur' }],
- sclCheckUnstandard: [{ required: true, message: '请输入不符合标准情况', trigger: 'blur' }],
- sclCheckResult: [{ required: true, message: '请输入主要后果', trigger: 'blur' }]
- },
- planList: [],
- personList: [],
- identificationMethodList: [
- {id:1, name: 'PHA'},
- {id:2, name: 'JHA'},
- {id:3, name: 'SCL'},
- {id:4, name: 'HAZOP'},
- {id:5, name: '类比法'},
- ],
- evaluateMethodList: [
- {id:1, name: 'LEC'},
- {id:2, name: 'LS'},
- {id:3, name: 'MES'},
- {id:4, name: 'RS'},
- ]
+ title: '',
+ method: null,
+ time: [],
+ disabled: false,
+ evaluateMethod: null,
+ evaluateUser: '',
+ identifyDialogVisible: false,
+ identifyForm: {
+ id: null,
+ identificationMethod: null,
+ result: null,
+ identificationDesc: '',
+ analogyCheckItem: '',
+ analogyRiskFactor: '',
+ analogyResult: '',
+ analogyReference: '',
+ hazopNode: '',
+ hazopParam: '',
+ hazopParamDesc: '',
+ hazopGuide: '',
+ hazopDeviation: '',
+ hazopPossibleCauses: '',
+ hazopResult: '',
+ jhaCheckItem: '',
+ jhaRiskFactor: '',
+ jhaResult: '',
+ phaCheckItem: '',
+ phaRiskFactor: '',
+ phaResult: '',
+ sclCheckItem: '',
+ sclCheckStandard: '',
+ sclCheckUnstandard: '',
+ sclCheckResult: '',
+ hazopId: null,
+ jhaId: null,
+ phaId: null,
+ sclId: null,
+ analogyId: null,
+ fileData: ''
+ },
+ fileList: [],
+ imgLimit: 1,
+ uploadUrl: import.meta.env.VITE_API_URL + '/attachment/upload/url',
+ isOverSize: false,
+ header: {
+ uid: Number(userInfos.value.uid),
+ tk: Cookies.get('token')
+ },
+ dialogVisible: false,
+ dialogImageUrl: '',
+ identifyFormRules: {
+ result: [{required: true, message: '请选择辨识结果', trigger: 'blur'}],
+ identificationDesc: [{required: true, message: '请输入辨识专家建议', trigger: 'blur'}],
+ analogyCheckItem: [{required: true, message: '请输入检查项目', trigger: 'blur'}],
+ analogyRiskFactor: [{required: true, message: '请输入存在风险因素', trigger: 'blur'}],
+ analogyResult: [{required: true, message: '请输入可能产生的后果', trigger: 'blur'}],
+ analogyReference: [{required: true, message: '请输入类比参照', trigger: 'blur'}],
+ hazopNode: [{required: true, message: '请输入节点', trigger: 'blur'}],
+ hazopParam: [{required: true, message: '请输入参数', trigger: 'blur'}],
+ hazopParamDesc: [{required: true, message: '请输入参数描述', trigger: 'blur'}],
+ hazopGuide: [{required: true, message: '请输入引导词', trigger: 'blur'}],
+ hazopDeviation: [{required: true, message: '请输入偏差', trigger: 'blur'}],
+ hazopPossibleCauses: [{required: true, message: '请输入可能原因', trigger: 'blur'}],
+ hazopResult: [{required: true, message: '请输入主要后果', trigger: 'blur'}],
+ jhaCheckItem: [{required: true, message: '请输入作业步骤', trigger: 'blur'}],
+ jhaRiskFactor: [{required: true, message: '请输入危险源或潜在事件', trigger: 'blur'}],
+ jhaResult: [{required: true, message: '请输入可能产生的后果', trigger: 'blur'}],
+ phaCheckItem: [{required: true, message: '请输入检查项目', trigger: 'blur'}],
+ phaRiskFactor: [{required: true, message: '请输入存在风险因素', trigger: 'blur'}],
+ phaResult: [{required: true, message: '请输入可能产生的后果', trigger: 'blur'}],
+ sclCheckItem: [{required: true, message: '请输入检查项目', trigger: 'blur'}],
+ sclCheckStandard: [{required: true, message: '请输入检查标准', trigger: 'blur'}],
+ sclCheckUnstandard: [{required: true, message: '请输入不符合标准情况', trigger: 'blur'}],
+ sclCheckResult: [{required: true, message: '请输入主要后果', trigger: 'blur'}]
+ },
+ planList: [],
+ personList: [],
+ identificationMethodList: [
+ {id: 1, name: 'PHA'},
+ {id: 2, name: 'JHA'},
+ {id: 3, name: 'SCL'},
+ {id: 4, name: 'HAZOP'},
+ {id: 5, name: '类比法'},
+ ],
+ evaluateMethodList: [
+ {id: 1, name: 'LEC'},
+ {id: 2, name: 'LS'},
+ {id: 3, name: 'MES'},
+ {id: 4, name: 'RS'},
+ ]
})
-const showIdentifyDialog = (title: string, value: IdentifyType, identifyQueryForm: identifyQueryFormType,idenForm: IdentifyType,personList: Array<NewPersonListType>) => {
- identifyDialogState.method = identifyQueryForm.identificationMethod
- identifyDialogState.identifyDialogVisible = true;
- identifyDialogState.disabled = false
- identifyDialogState.evaluateMethod = idenForm.evaluateMethod
- identifyDialogState.evaluateUser = idenForm.evaluateUser
- identifyDialogState.personList = personList
- setTimeout(() => {
- identifyFormRef.value.clearValidate();
- });
- if(title === '新增'){
- identifyDialogState.title = '新增';
- identifyDialogState.identifyForm = {
- id: identifyQueryForm.id,
- identificationMethod: identifyQueryForm.identificationMethod,
- result: null,
- identificationDesc: '',
- analogyCheckItem: '',
- analogyRiskFactor: '',
- analogyResult: '',
- analogyReference: '',
- hazopNode: '',
- hazopParam: '',
- hazopParamDesc: '',
- hazopGuide: '',
- hazopDeviation: '',
- hazopPossibleCauses: '',
- hazopResult: '',
- jhaCheckItem: '',
- jhaRiskFactor: '',
- jhaResult: '',
- phaCheckItem: '',
- phaRiskFactor: '',
- phaResult: '',
- sclCheckItem: '',
- sclCheckStandard: '',
- sclCheckUnstandard: '',
- sclCheckResult: '',
- hazopId: null,
- jhaId: null,
- phaId: null,
- sclId: null,
- analogyId: null,
- };
- }else if(title === '查看'){
- identifyDialogState.title = '查看';
- identifyDialogState.disabled = true
- for(let i in identifyDialogState.identifyForm){
- if(isValidKey(i, identifyDialogState.identifyForm)){
- identifyDialogState.identifyForm[i] = value[i];
- }
- }
- }else{
- identifyDialogState.title = '编辑';
- for(let i in identifyDialogState.identifyForm){
- if(isValidKey(i, identifyDialogState.identifyForm)){
- identifyDialogState.identifyForm[i] = value[i];
- }
- }
- identifyDialogState.identifyForm.identificationMethod = identifyQueryForm.identificationMethod
- console.log(identifyDialogState.identifyForm,'identifyDialogState.identifyForm')
+const showIdentifyDialog = (title: string, value: IdentifyType, identifyQueryForm: identifyQueryFormType, idenForm: IdentifyType, personList: Array<NewPersonListType>) => {
+ identifyDialogState.fileList = []
+ identifyDialogState.method = identifyQueryForm.identificationMethod
+ identifyDialogState.identifyDialogVisible = true;
+ identifyDialogState.disabled = false
+ identifyDialogState.evaluateMethod = idenForm.evaluateMethod
+ identifyDialogState.evaluateUser = idenForm.evaluateUser
+ identifyDialogState.personList = personList
+ setTimeout(() => {
+ identifyFormRef.value.clearValidate();
+ });
+ if (title === '新增') {
+ identifyDialogState.title = '新增';
+ identifyDialogState.identifyForm = {
+ id: identifyQueryForm.id,
+ identificationMethod: identifyQueryForm.identificationMethod,
+ result: null,
+ identificationDesc: '',
+ analogyCheckItem: '',
+ analogyRiskFactor: '',
+ analogyResult: '',
+ analogyReference: '',
+ hazopNode: '',
+ hazopParam: '',
+ hazopParamDesc: '',
+ hazopGuide: '',
+ hazopDeviation: '',
+ hazopPossibleCauses: '',
+ hazopResult: '',
+ jhaCheckItem: '',
+ jhaRiskFactor: '',
+ jhaResult: '',
+ phaCheckItem: '',
+ phaRiskFactor: '',
+ phaResult: '',
+ sclCheckItem: '',
+ sclCheckStandard: '',
+ sclCheckUnstandard: '',
+ sclCheckResult: '',
+ hazopId: null,
+ jhaId: null,
+ phaId: null,
+ sclId: null,
+ analogyId: null,
+ fileData: ''
+ };
+ } else if (title === '查看') {
+ identifyDialogState.title = '查看';
+ identifyDialogState.disabled = true
+ for (let i in identifyDialogState.identifyForm) {
+ if (isValidKey(i, identifyDialogState.identifyForm)) {
+ identifyDialogState.identifyForm[i] = value[i];
+ }
}
+ if(identifyDialogState.identifyForm.fileData && identifyDialogState.identifyForm.fileData !== ''){
+ const picList = identifyDialogState.identifyForm.fileData.split(',')
+ identifyDialogState.fileList = picList.map((item,index)=>{
+ return {
+ name: index,
+ url: import.meta.env.VITE_API_URL + item
+ }
+ })
+ }
+ } else {
+ identifyDialogState.title = '编辑';
+ for (let i in identifyDialogState.identifyForm) {
+ if (isValidKey(i, identifyDialogState.identifyForm)) {
+ identifyDialogState.identifyForm[i] = value[i];
+ }
+ }
+ identifyDialogState.identifyForm.identificationMethod = identifyQueryForm.identificationMethod
+ if(identifyDialogState.identifyForm.fileData && identifyDialogState.identifyForm.fileData !== ''){
+ const picList = identifyDialogState.identifyForm.fileData.split(',')
+ identifyDialogState.fileList = picList.map((item,index)=>{
+ return {
+ name: index,
+ url: import.meta.env.VITE_API_URL + item
+ }
+ })
+ }
+ }
};
-const onSubmitIdentify = () => {
- identifyFormRef.value.validate(async(valid: boolean) => {
- if(valid){
- if(identifyDialogState.title === '新增'){
- let { hazopId, jhaId, phaId, sclId, analogyId, ...data } = identifyDialogState.identifyForm
- let res = await identifyApi().addIdentify(data);
- if(res.data.code === 100){
- emit('refresh',1,res.data.data)
- identifyDialogState.identifyDialogVisible = false;
- ElMessage({
- type: 'success',
- message: '新增成功'
- })
+// 图片上传
+const showTip = () => {
+ ElMessage({
+ type: 'warning',
+ message: '超出文件上传数量'
+ });
+}
- }else{
- ElMessage({
- type: 'warning',
- message: res.data.msg,
- });
- }
- }else{
- let res = await identifyApi().modIdentify(identifyDialogState.identifyForm)
- if(res.data.code === 100){
- emit('refresh',2,identifyDialogState.identifyForm)
- identifyDialogState.identifyDialogVisible = false;
- ElMessage({
- type: 'success',
- message: '编辑成功'
- })
- }else{
- ElMessage({
- type: 'warning',
- message: res.data.msg,
- });
- }
- }
- }else{
- ElMessage({
- type: 'warning',
- message: '请完善基本信息',
- });
- }
+const picSize = async (rawFile: any) => {
+ if (rawFile.size / 1024 / 1024 > 5) {
+ ElMessage({
+ type: 'warning',
+ message: '文件大小不能超过5M。'
+ });
+ return false
+ }
+};
+
+const handlePictureCardPreview = (uploadFile: { url: string }) => {
+ identifyDialogState.dialogImageUrl = uploadFile.url!;
+ identifyDialogState.dialogVisible = true;
+};
+
+const upload = async (params: any) => {
+ // const formData = new FormData();
+ // formData.append('file', state.fileList[0].raw);
+ let reader = new FileReader();
+ reader.readAsArrayBuffer(params.file);
+
+ reader.onload = async () => {
+ axios.post(identifyDialogState.uploadUrl, reader.result, {
+ headers: {uid: Number(userInfos.value.uid), tk: Cookies.get('token')}
+ }).then(res => {
+ if (res.data.code === 100) {
+ console.log(res.data.data)
+ }
+ });
+ };
+};
+
+const handleAvatarSuccess: UploadProps['onSuccess'] = (
+ res,
+ uploadFile
+) => {
+ if (res.code == 100) {
+ identifyDialogState.identifyForm.fileData = res.data
+ }else{
+ ElMessage({
+ type: 'warning',
+ message: res.msg
})
+ }
+}
+const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {
+ console.log(uploadFile, uploadFiles)
+}
+
+const onSubmitIdentify = () => {
+ identifyFormRef.value.validate(async (valid: boolean) => {
+ if (valid) {
+ if (identifyDialogState.title === '新增') {
+ let {hazopId, jhaId, phaId, sclId, analogyId, ...data} = identifyDialogState.identifyForm
+ let res = await identifyApi().addIdentify(data);
+ if (res.data.code === 100) {
+ emit('refresh', 1, res.data.data)
+ identifyDialogState.identifyDialogVisible = false;
+ ElMessage({
+ type: 'success',
+ message: '新增成功'
+ })
+ identifyDialogState.fileList = []
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg,
+ });
+ }
+ } else {
+ if(identifyDialogState.fileList.length == 0){
+ identifyDialogState.identifyForm.fileData = ''
+ }
+ let res = await identifyApi().modIdentify(identifyDialogState.identifyForm)
+ if (res.data.code === 100) {
+ emit('refresh', 2, identifyDialogState.identifyForm)
+ identifyDialogState.identifyDialogVisible = false;
+ ElMessage({
+ type: 'success',
+ message: '编辑成功'
+ })
+ identifyDialogState.fileList = []
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg,
+ });
+ }
+ }
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: '请完善基本信息',
+ });
+ }
+ })
}
const emit = defineEmits(['refresh'])
defineExpose({
- showIdentifyDialog
+ showIdentifyDialog
})
</script>
diff --git a/src/views/analyse/identify/components/identifyQuery.vue b/src/views/analyse/identify/components/identifyQuery.vue
index 7aed26a..c8bba20 100644
--- a/src/views/analyse/identify/components/identifyQuery.vue
+++ b/src/views/analyse/identify/components/identifyQuery.vue
@@ -152,10 +152,9 @@
const showIdentifyQuery = (title: string, value: IdentifyType, planList: PlanType [], personList: AllPersonListType []) => {
identifyQueryState.identifyQueryVisible = true;
identifyQueryState.identifyForm = value;
- identifyQueryState.list = value.factorQueryDTOList
identifyQueryState.planList = planList;
identifyQueryState.personList = personList
- identifyQueryState.list = value.factorQueryDTOList;
+ identifyQueryState.list = value.factorQueryDTOList
// getAssessInfo(identifyQueryState.identifyQueryForm.id);
for(let i in identifyQueryState.identifyQueryForm){
if(isValidKey(i, identifyQueryState.identifyQueryForm)){
diff --git a/src/views/analyse/identify/index.ts b/src/views/analyse/identify/index.ts
index 66859ae..1bc167b 100644
--- a/src/views/analyse/identify/index.ts
+++ b/src/views/analyse/identify/index.ts
@@ -85,8 +85,18 @@
id: number,
name: string,
}
+declare interface file {
+ url: string;
+}
declare interface IdentifyDialogType {
+ fileList: Array<file>,
+ imgLimit: number,
+ uploadUrl: string,
+ isOverSize: boolean,
+ header:{}
+ dialogVisible: Boolean,
+ dialogImageUrl: string | null,
title: string,
method: null | number,
evaluateMethod: null | number,
@@ -125,6 +135,7 @@
sclCheckStandard: string,
sclCheckUnstandard: string,
sclCheckResult: string,
+ fileData: string
},
identifyFormRules: {
diff --git a/src/views/analyse/identify/index.vue b/src/views/analyse/identify/index.vue
index 62b0508..bd98c0c 100644
--- a/src/views/analyse/identify/index.vue
+++ b/src/views/analyse/identify/index.vue
@@ -69,9 +69,9 @@
</el-table-column>
<el-table-column label="操作" width="250">
<template #default="scope">
- <el-button size="small" text type="primary" v-if="scope.row.planExecStatus === 2 && scope.row.identificationUserId == identifyState.user" @click="accessIdentify(scope.row)">提交</el-button>
+ <el-button size="small" text type="primary" v-if="scope.row.planExecStatus === 2 && scope.row.identityUsers?.find(i=>i.identificationUserId== identifyState.user)" @click="accessIdentify(scope.row)">提交</el-button>
<el-button size="small" text type="primary" v-if="scope.row.planExecStatus === 3 || scope.row.planExecStatus === 4" :icon="View" @click="openIdentifyQuery('查看', scope.row)">查看</el-button>
- <el-button size="small" text type="primary" v-if="scope.row.planExecStatus === 2 && scope.row.identificationUserId == identifyState.user" :icon="Edit" @click="openIdentifyQuery('辨识', scope.row)">辨识</el-button>
+ <el-button size="small" text type="primary" v-if="scope.row.planExecStatus === 2 && scope.row.identityUsers?.find(i=>i.identificationUserId== identifyState.user)" :icon="Edit" @click="openIdentifyQuery('辨识', scope.row)">辨识</el-button>
<!-- <el-button size="small" text type="primary" v-if="scope.row.planExecStatus === 2" :icon="Edit" @click="openIdentifyQuery('编辑', scope.row)">编辑</el-button>-->
</template>
</el-table-column>
diff --git a/src/views/analyse/plan/components/planDialog.vue b/src/views/analyse/plan/components/planDialog.vue
index aab3fce..1934288 100644
--- a/src/views/analyse/plan/components/planDialog.vue
+++ b/src/views/analyse/plan/components/planDialog.vue
@@ -1,80 +1,109 @@
<template>
- <div class="system-menu-dialog-container">
- <el-dialog :title="planDialogState.title" v-model="planDialogState.planDialogVisible" width="600px">
- <el-form ref="planFormRef" :rules="planDialogState.planFormRules" :model="planDialogState.planForm" size="default" label-width="120px">
- <el-row :gutter="35">
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="风险分析单元" prop="riskUnitId">
- <el-select :disabled="planDialogState.disabled" v-model="planDialogState.planForm.riskUnitId" style="width:100%" placeholder="风险分析单元" clearable>
- <el-option v-for="item in planDialogState.riskUnitList" :key="item.id" :label="item.riskName" :value="item.id"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="评估计划名称" prop="assessPlanName">
- <el-input :disabled="planDialogState.disabled" v-model="planDialogState.planForm.assessPlanName" placeholder="评估计划名称" clearable></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="评估时间" prop="assessTime">
- <el-date-picker
- :disabled="planDialogState.disabled"
- type="datetimerange"
- v-model="planDialogState.planForm.assessTime"
- start-placeholder="开始时间"
- end-placeholder="结束时间"
- format="YYYY-MM-DD HH:mm:ss"
- value-format="YYYY-MM-DD HH:mm:ss"
- popper-class="pickTime"
- @change="formatTime">
- </el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="计划制定人" prop="planUserId">
- <el-select :disabled="planDialogState.disabled" v-model="planDialogState.planForm.planUserId" style="width:100%" placeholder="计划制定人" clearable>
- <el-option v-for="item in planDialogState.personList" :key="item.id" :label="item.realName" :value="item.id"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20 valueSelect">
- <el-form-item label="辨识专家" prop="identificationUserId">
- <el-select :disabled="planDialogState.disabled" v-model="planDialogState.planForm.identificationUserId" style="width:100%" :teleported="false" placeholder="辨识专家" clearable>
- <el-option v-for="item in planDialogState.bsExperts" :key="item.id" :label="item.realName" :value="item.id">
- <div class="valueTable">
- <div><div>姓名:</div><span>{{item.realName}}</span></div>
- <div><div>专业:</div><span>{{item.userIdentities?.map(i=>i.userIdentity).join(',')}}</span></div>
- </div>
- </el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20 valueSelect">
- <el-form-item label="评价专家" prop="evaluateUserId">
- <el-select :disabled="planDialogState.disabled" v-model="planDialogState.planForm.evaluateUserId" style="width:100%" :teleported="false" placeholder="评价专家" clearable>
- <el-option v-for="item in planDialogState.pjExperts" :key="item.id" :label="item.realName" :value="item.id">
- <div class="valueTable">
- <div><div>姓名:</div><span>{{item.realName}}</span></div>
- <div><div>专业:</div><span>{{item.userIdentities?.map(i=>i.userIdentity).join(',')}}</span></div>
- </div>
- </el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <template #footer>
+ <div class="system-menu-dialog-container">
+ <el-dialog :title="planDialogState.title" v-model="planDialogState.planDialogVisible" width="600px">
+ <el-form ref="planFormRef" :rules="planDialogState.planFormRules" :model="planDialogState.planForm" size="default"
+ label-width="120px">
+ <el-row :gutter="35">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="风险分析单元" prop="riskUnitId">
+ <el-select :disabled="planDialogState.disabled" v-model="planDialogState.planForm.riskUnitId"
+ style="width:100%" placeholder="风险分析单元" clearable>
+ <el-option v-for="item in planDialogState.riskUnitList" :key="item.id" :label="item.riskName"
+ :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="评估计划名称" prop="assessPlanName">
+ <el-input :disabled="planDialogState.disabled" v-model="planDialogState.planForm.assessPlanName"
+ placeholder="评估计划名称" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="评估时间" prop="assessTime">
+ <el-date-picker
+ :disabled="planDialogState.disabled"
+ type="datetimerange"
+ v-model="planDialogState.planForm.assessTime"
+ start-placeholder="开始时间"
+ end-placeholder="结束时间"
+ format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ popper-class="pickTime"
+ @change="formatTime">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="计划制定人" prop="planUserId">
+ <el-select :disabled="planDialogState.disabled" v-model="planDialogState.planForm.planUserId"
+ style="width:100%" placeholder="计划制定人" clearable>
+ <el-option v-for="item in planDialogState.personList" :key="item.id" :label="item.realName"
+ :value="item.id"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="辨识类型" prop="identificationType">
+ <el-select :disabled="planDialogState.disabled" v-model="planDialogState.planForm.identificationType"
+ style="width:100%" placeholder="辨识类型" clearable>
+ <el-option v-for="item in planDialogState.typeList" :key="item.value" :label="item.name"
+ :value="item.value"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20 valueSelect">
+ <el-form-item label="辨识专家" prop="identificationUserInsert">
+ <el-select :disabled="planDialogState.disabled" multiple v-model="planDialogState.planForm.identificationUserInsert"
+ style="width:100%" :teleported="false" placeholder="辨识专家" clearable>
+ <el-option v-for="item in planDialogState.bsExperts" :key="item.id" :label="item.realName"
+ :value="item.id">
+ <div class="valueTable">
+ <div>
+ <div>姓名:</div>
+ <span>{{ item.realName }}</span></div>
+ <div>
+ <div>专业:</div>
+ <span>{{ item.userIdentities?.map(i => i.userIdentity).join(',') }}</span></div>
+ </div>
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20 valueSelect">
+ <el-form-item label="评价专家" prop="evaluateUserInsert">
+ <el-select :disabled="planDialogState.disabled" multiple v-model="planDialogState.planForm.evaluateUserInsert"
+ style="width:100%" :teleported="false" placeholder="评价专家" clearable>
+ <el-option v-for="item in planDialogState.pjExperts" :key="item.id" :label="item.realName"
+ :value="item.id">
+ <div class="valueTable">
+ <div>
+ <div>姓名:</div>
+ <span>{{ item.realName }}</span></div>
+ <div>
+ <div>专业:</div>
+ <span>{{ item.userIdentities?.map(i => i.userIdentity).join(',') }}</span></div>
+ </div>
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <template #footer>
<span class="dialog-footer">
- <el-button @click="planDialogState.planDialogVisible = !planDialogState.planDialogVisible" size="default">取 消</el-button>
- <el-button v-if="!planDialogState.disabled" type="primary" @click="onSubmitPlan" size="default">确定</el-button>
+ <el-button @click="planDialogState.planDialogVisible = !planDialogState.planDialogVisible"
+ size="default">取 消</el-button>
+ <el-button v-if="!planDialogState.disabled" type="primary" @click="onSubmitPlan"
+ size="default">确定</el-button>
</span>
- </template>
- </el-dialog>
- </div>
+ </template>
+ </el-dialog>
+ </div>
</template>
<script setup lang="ts">
-import { reactive, ref, getCurrentInstance } from "vue";
+import {reactive, ref, getCurrentInstance} from "vue";
import {ElMessage} from "element-plus";
import {planApi} from "/@/api/analyse/plan";
import {isValidKey} from "/@/utils/methods";
@@ -82,174 +111,189 @@
const planFormRef = ref()
const planDialogState = reactive<PlanDialogType>({
- title: '',
- disabled: false,
- planDialogVisible: false,
- planForm: {
- riskUnitId: null,
- planUserId: null,
- assessPlanName: '',
- assessTime: [],
- assessStartTime: '',
- assessEndTime: '',
- identificationUserId: null,
- evaluateUserId: null,
- riskType: 2
+ title: '',
+ disabled: false,
+ planDialogVisible: false,
+ planForm: {
+ riskUnitId: null,
+ planUserId: null,
+ assessPlanName: '',
+ assessTime: [],
+ identificationType: null,
+ assessStartTime: '',
+ assessEndTime: '',
+ identificationUserInsert: [],
+ evaluateUserInsert: [],
+ riskType: 2
+ },
+ planFormRules: {
+ riskUnitId: [{required: true, message: '请选择风险分析单元', trigger: 'change'}],
+ assessPlanName: [{required: true, message: '请填写评估计划名称', trigger: 'blur'}],
+ assessTime: [{required: true, message: '请选择评估时间', trigger: 'blur'}],
+ planUserId: [{required: true, message: '请选择计划制定人', trigger: 'change'}],
+ identificationType: [{required: true, message: '请选择辨识类型', trigger: 'change'}],
+ identificationUserInsert: [{required: true, message: '请选择辨识专家', trigger: 'change'}],
+ evaluateUserInsert: [{required: true, message: '请选择评价专家', trigger: 'change'}],
+ },
+ riskUnitList: [],
+ personList: [],
+ typeList: [
+ {
+ name: '线上专家',
+ value: 1
},
- planFormRules: {
- riskUnitId: [{ required: true, message: '请选择风险分析单元', trigger: 'change' }],
- assessPlanName: [{ required: true, message: '请填写评估计划名称', trigger: 'blur' }],
- assessTime: [{ required: true, message: '请选择评估时间', trigger: 'blur' }],
- planUserId: [{ required: true, message: '请选择计划制定人', trigger: 'change' }],
- identificationUserId: [{ required: true, message: '请选择辨识专家', trigger: 'change' }],
- evaluateUserId: [{ required: true, message: '请选择评价专家', trigger: 'change' }],
+ {
+ name: '现场专家',
+ value: 2
},
- riskUnitList: [],
- personList: [],
- bsExperts: [],
- pjExperts: []
+ {
+ name: '线上+现场',
+ value: 3
+ }
+ ],
+ bsExperts: [],
+ pjExperts: []
})
-const showPlanDialog = (title: string, value: PlanType, riskUnitList: RiskUnitType [], personList: SystemPersonType [],bsExperts:[],pjExperts:[]) => {
- planDialogState.planDialogVisible = true;
- planDialogState.riskUnitList = riskUnitList;
- planDialogState.personList = personList;
- planDialogState.bsExperts = bsExperts;
- planDialogState.pjExperts = pjExperts;
- planDialogState.disabled = false
- setTimeout(() => {
- planFormRef.value.clearValidate();
- });
- if(title === '新增'){
- planDialogState.title = '新增';
- planDialogState.planForm = {
- riskUnitId: null,
- planUserId: null,
- assessPlanName: '',
- assessTime: [],
- assessStartTime: '',
- assessEndTime: '',
- identificationUserId: null,
- evaluateUserId: null,
- riskType: 2
- };
- }else if(title === '查看'){
- planDialogState.title = '查看';
- planDialogState.disabled = true
- for(let i in planDialogState.planForm){
- if(isValidKey(i, planDialogState.planForm)){
- planDialogState.planForm[i] = value[i]
- }
- }
- planDialogState.planForm.assessTime=[value.assessStartTime, value.assessEndTime]
- console.log(value,planDialogState.planForm.assessTime,'time')
- }else{
- planDialogState.title = '编辑';
- planDialogState.planForm.id = value.id
- for(let i in planDialogState.planForm){
- if(isValidKey(i, planDialogState.planForm)){
- planDialogState.planForm[i] = value[i]
- }
- }
- planDialogState.planForm.assessTime=[value.assessStartTime, value.assessEndTime]
+const showPlanDialog = (title: string, value: PlanType, riskUnitList: RiskUnitType [], personList: SystemPersonType [], bsExperts: [], pjExperts: []) => {
+ planDialogState.planDialogVisible = true;
+ planDialogState.riskUnitList = riskUnitList;
+ planDialogState.personList = personList;
+ planDialogState.bsExperts = bsExperts;
+ planDialogState.pjExperts = pjExperts;
+ planDialogState.disabled = false
+ setTimeout(() => {
+ planFormRef.value.clearValidate();
+ });
+ if (title === '新增') {
+ planDialogState.title = '新增';
+ planDialogState.planForm = {
+ riskUnitId: null,
+ planUserId: null,
+ assessPlanName: '',
+ assessTime: [],
+ identificationType: null,
+ assessStartTime: '',
+ assessEndTime: '',
+ identificationUserInsert: [],
+ evaluateUserInsert: [],
+ riskType: 2
}
+ } else {
+ if(title === '查看'){
+ planDialogState.title = '查看'
+ planDialogState.disabled = true
+ }else{
+ planDialogState.title = '编辑'
+ planDialogState.planForm.id = value.id
+ }
+ for (let i in planDialogState.planForm) {
+ if (isValidKey(i, planDialogState.planForm)) {
+ planDialogState.planForm[i] = value[i]
+ }
+ }
+ planDialogState.planForm.identificationUserInsert = value.identityUsers?.map(i=>i.identificationUserId)
+ planDialogState.planForm.evaluateUserInsert = value.evaluateUsers?.map(i=>i.evaluateUserId)
+ planDialogState.planForm.assessTime = [value.assessStartTime, value.assessEndTime]
+ }
};
const formatTime = () => {
- planDialogState.planForm.assessStartTime = planDialogState.planForm.assessTime == [] ? '' : planDialogState.planForm.assessTime[0]
- planDialogState.planForm.assessEndTime = planDialogState.planForm.assessTime == [] ? '' : planDialogState.planForm.assessTime[1]
+ planDialogState.planForm.assessStartTime = planDialogState.planForm.assessTime == [] ? '' : planDialogState.planForm.assessTime[0]
+ planDialogState.planForm.assessEndTime = planDialogState.planForm.assessTime == [] ? '' : planDialogState.planForm.assessTime[1]
};
const onSubmitPlan = () => {
- planFormRef.value.validate(async(valid: boolean) => {
- if(valid){
- formatTime()
- delete planDialogState.planForm.assessTime
- if(planDialogState.title === '新增'){
- let res = await planApi().addPlan(planDialogState.planForm);
- if(res.data.code === 100){
- emit('refresh')
- planDialogState.planDialogVisible = false;
- ElMessage({
- type: 'success',
- message: '新增成功'
- })
- }else{
- ElMessage({
- type: 'warning',
- message: res.data.msg,
- });
- }
- }else{
- let res = await planApi().modPlan(planDialogState.planForm)
- if(res.data.code === 100){
- emit('refresh')
- planDialogState.planDialogVisible = false;
- ElMessage({
- type: 'success',
- message: '编辑成功'
- })
- }else{
- ElMessage({
- type: 'warning',
- message: res.data.msg,
- });
- }
- }
- }else{
- ElMessage({
- type: 'warning',
- message: '请完善基本信息',
- });
+ planFormRef.value.validate(async (valid: boolean) => {
+ if (valid) {
+ formatTime()
+ delete planDialogState.planForm.assessTime
+ if (planDialogState.title === '新增') {
+ let res = await planApi().addPlan(planDialogState.planForm);
+ if (res.data.code === 100) {
+ emit('refresh')
+ planDialogState.planDialogVisible = false;
+ ElMessage({
+ type: 'success',
+ message: '新增成功'
+ })
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg,
+ });
}
- })
+ } else {
+ let res = await planApi().modPlan(planDialogState.planForm)
+ if (res.data.code === 100) {
+ emit('refresh')
+ planDialogState.planDialogVisible = false;
+ ElMessage({
+ type: 'success',
+ message: '编辑成功'
+ })
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg,
+ });
+ }
+ }
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: '请完善基本信息',
+ });
+ }
+ })
}
const emit = defineEmits(['refresh'])
defineExpose({
- showPlanDialog
+ showPlanDialog
})
</script>
<style lang="scss" scoped>
- ::v-deep(.pickTime){
- position: absolute !important;
- top: 0 !important;
- }
- .valueSelect{
- ::v-deep(.el-popper){
- .el-select-dropdown__item{
- width: 100%;
- height: auto;
- white-space: normal;
- word-break: break-all;
- word-wrap: break-word;
- overflow: auto;
- padding: 10px 25px;
- border-bottom: 1px solid #ccc;
+::v-deep(.pickTime) {
+ position: absolute !important;
+ top: 0 !important;
+}
- .valueTable{
- &>div{
- line-height: 1.5;
- margin-bottom: 6px;
- display: flex;
- align-items: center;
+.valueSelect {
+ ::v-deep(.el-popper) {
+ .el-select-dropdown__item {
+ width: 100%;
+ height: auto;
+ white-space: normal;
+ word-break: break-all;
+ word-wrap: break-word;
+ overflow: auto;
+ padding: 10px 25px;
+ border-bottom: 1px solid #ccc;
- div{
- color: #999;
- }
+ .valueTable {
+ & > div {
+ line-height: 1.5;
+ margin-bottom: 6px;
+ display: flex;
+ align-items: center;
- span{
- font-weight: bolder;
- }
+ div {
+ color: #999;
+ }
- &:last-of-type{
- margin-bottom: 0;
- }
- }
+ span {
+ font-weight: bolder;
+ }
+
+ &:last-of-type {
+ margin-bottom: 0;
}
}
}
}
+ }
+}
</style>
diff --git a/src/views/analyse/plan/index.ts b/src/views/analyse/plan/index.ts
index 405aac0..827d022 100644
--- a/src/views/analyse/plan/index.ts
+++ b/src/views/analyse/plan/index.ts
@@ -17,16 +17,20 @@
reSendTitle:string
reSendDialogVisible: boolean
reSendForm: {
- id: null | number,
- identificationUserId: null | number,
- evaluateUserId: null | number,
+ riskAssessPlanId: null | number,
+ userIds: [],
+ userType: null | number
},
rules: object
}
-declare interface SystemPersonType {
+declare interface SystemPersonType {
id: number,
realName: string,
+}
+declare interface TypeListType {
+ value: number | null
+ name: string
}
declare interface PlanType {
@@ -57,10 +61,11 @@
planUserId: number | null,
assessPlanName: string,
assessTime: string[],
+ identificationType: number | null,
assessStartTime: string,
assessEndTime: string,
- identificationUserId: number | null,
- evaluateUserId: number | null,
+ identificationUserInsert: []
+ evaluateUserInsert: []
riskType: number | null
},
planFormRules: {
@@ -68,6 +73,7 @@
},
riskUnitList: Array<RiskUnitType>
personList: Array<SystemPersonType>
+ typeList: Array<TypeListType>
bsExperts: []
pjExperts: []
}
diff --git a/src/views/analyse/plan/index.vue b/src/views/analyse/plan/index.vue
index 8b4814d..dce8efe 100644
--- a/src/views/analyse/plan/index.vue
+++ b/src/views/analyse/plan/index.vue
@@ -68,11 +68,11 @@
<el-button size="small" text type="primary" v-if="scope.row.planSellStatus === 1" @click="accessPlan(scope.row)">派发</el-button>
<el-button size="small" text type="primary" :icon="View" @click="openPlanDialog('查看', scope.row)">查看</el-button>
<el-button v-if="scope.row.planSellStatus === 1" size="small" text type="primary" :icon="Edit" @click="openPlanDialog('修改', scope.row)">编辑</el-button>
- <el-button v-if="scope.row.identificationUserId == planState.user" size="small" text type="primary" :icon="Edit" @click="refuseIdentify(scope.row)">拒绝辨识</el-button>
- <el-button v-if="scope.row.evaluateUserId == planState.user" size="small" text type="primary" :icon="Edit" @click="refuseEvaluate(scope.row)">拒绝评价</el-button>
+ <el-button v-if="scope.row.identityUsers?.find(i=>i.identificationUserId == planState.user)" size="small" text type="primary" :icon="Edit" @click="refuseIdentify(scope.row)">拒绝辨识</el-button>
+ <el-button v-if="scope.row.evaluateUsers?.find(i=>i.evaluateUserId== planState.user)" size="small" text type="primary" :icon="Edit" @click="refuseEvaluate(scope.row)">拒绝评价</el-button>
<!-- <el-button v-if="scope.row.sceneUserId == planState.user" size="small" text type="primary" :icon="Edit" @click="refuseScene(scope.row)">拒绝现场</el-button>-->
- <el-button v-if="scope.row.identificationUserId == null" size="small" text type="primary" :icon="Edit" @click="reSendJob(scope.row,'identification')">重新指派辨识</el-button>
- <el-button v-if="scope.row.evaluateUserId == null" size="small" text type="primary" :icon="Edit" @click="reSendJob(scope.row,'evaluate')">重新指派评价</el-button>
+ <el-button v-if="!scope.row.identityUsers" size="small" text type="primary" :icon="Edit" @click="reSendJob(scope.row,1)">重新指派辨识</el-button>
+ <el-button v-if="!scope.row.evaluateUsers" size="small" text type="primary" :icon="Edit" @click="reSendJob(scope.row,2)">重新指派评价</el-button>
<el-button v-if="scope.row.planSellStatus === 1" size="small" text type="danger" :icon="Delete" @click="onDelPlan(scope.row)">删除</el-button>
</template>
</el-table-column>
@@ -88,7 +88,7 @@
<el-dialog class="chooseExpert" :title="planState.reSendTitle" v-model="planState.reSendDialogVisible" width="50%">
<el-form ref="ruleFormRef" :rules="planState.rules" :model="planState.reSendForm" label-width="120px">
<el-form-item v-if="planState.reSendTitle == '指派辨识专家'" label="选择辨识专家" prop="identificationUserId" class="valueSelect">
- <el-select v-model="planState.reSendForm.identificationUserId" style="width:100%" :teleported="false" placeholder="辨识专家" clearable>
+ <el-select v-model="planState.reSendForm.userIds" multiple style="width:100%" :teleported="false" placeholder="辨识专家" clearable>
<el-option v-for="item in planState.bsExperts" :key="item.id" :label="item.realName" :value="item.id">
<div class="valueTable">
<div><div>姓名:</div><span>{{item.realName}}</span></div>
@@ -98,7 +98,7 @@
</el-select>
</el-form-item>
<el-form-item v-if="planState.reSendTitle == '指派评价专家'" label="选择评价专家" prop="evaluateUserId" class="valueSelect">
- <el-select v-model="planState.reSendForm.evaluateUserId" style="width:100%" :teleported="false" placeholder="评价专家" clearable>
+ <el-select v-model="planState.reSendForm.userIds" multiple style="width:100%" :teleported="false" placeholder="评价专家" clearable>
<el-option v-for="item in planState.pjExperts" :key="item.id" :label="item.realName" :value="item.id">
<div class="valueTable">
<div><div>姓名:</div><span>{{item.realName}}</span></div>
@@ -168,13 +168,12 @@
reSendTitle:'',
reSendDialogVisible: false,
reSendForm: {
- id: null,
- identificationUserId: null,
- evaluateUserId: null
+ riskAssessPlanId: null,
+ userIds: [],
+ userType: null
},
rules: {
- identificationUserId: [{ required: true, message: '请选择辨识专家', trigger: 'blur' }],
- evaluateUserId: [{ required: true, message: '请选择评价专家', trigger: 'blur' }]
+ userIds: [{ required: true, message: '请选择专家', trigger: 'blur' }]
}
// deviceUnitList: [
// {id:1, name: '台'},
@@ -284,13 +283,13 @@
});
}
-const reSendJob= async(val: PlanType,type:string)=>{
+const reSendJob= async(val: PlanType,type:number | null)=>{
planState.reSendForm = {
- id: val.id,
- identificationUserId: null,
- evaluateUserId: null
+ riskAssessPlanId: val.id,
+ userIds: [],
+ userType: type
}
- if(type=='identification'){
+ if(type==1){
planState.reSendTitle = '指派辨识专家'
}else{
planState.reSendTitle = '指派评价专家'
@@ -316,9 +315,9 @@
}
planState.reSendForm = {
- id: null,
- identificationUserId: null,
- evaluateUserId: null
+ riskAssessPlanId: null,
+ userIds: [],
+ userType: null
},
planState.reSendDialogVisible = false
getPlanData()
diff --git a/src/views/analyse/record/index.vue b/src/views/analyse/record/index.vue
index b76728c..1c00ca4 100644
--- a/src/views/analyse/record/index.vue
+++ b/src/views/analyse/record/index.vue
@@ -112,7 +112,6 @@
import Cookies from "js-cookie";
import {recordApi} from "/@/api/analyse/record";
-
const recordDialogRef = ref();
const recordState = reactive<RecordStateType>({
recordData: [],
--
Gitblit v1.9.2