|
|
@@ -10,6 +10,26 @@
|
|
|
<div id="apply-div">
|
|
|
<h4>申请详情</h4>
|
|
|
<el-descriptions title="" :column="3" border>
|
|
|
+ <el-descriptions-item label="SAI类型" :span="1">
|
|
|
+ <el-form-item prop="saiType">
|
|
|
+ <el-select
|
|
|
+ v-model="dataForm.saiType"
|
|
|
+ placeholder="请选择SAI类型">
|
|
|
+ <el-option key="SAI" label="SAI" value="SAI"></el-option>
|
|
|
+ <el-option key="TPM" label="TPM" value="TPM"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="TPM状态" :span="2" v-if="form.saiType == 'TPM'">
|
|
|
+ <el-form-item prop="tpmStatus">
|
|
|
+ <el-select
|
|
|
+ v-model="dataForm.tpmStatus"
|
|
|
+ placeholder="请选择TPM状态">
|
|
|
+ <el-option key="未完成" label="未完成" value="未完成"></el-option>
|
|
|
+ <el-option key="已完成" label="已完成" value="已完成"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
<el-descriptions-item label="登记人部门">
|
|
|
<el-form-item prop="applicantDept">
|
|
|
<el-select
|
|
|
@@ -60,6 +80,11 @@
|
|
|
<el-input :disabled="applyDisabled" v-model="dataForm.description" placeholder="请输入问题描述" type="textarea" :rows="3"/>
|
|
|
</el-form-item>
|
|
|
</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="采取的措施" :span="2">
|
|
|
+ <el-form-item prop="reaction">
|
|
|
+ <el-input :disabled="assessDisabled" v-model="dataForm.reaction" placeholder="请输入采取的措施" type="textarea" :rows="3"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
<el-descriptions-item label="SAI级别" :span="1">
|
|
|
<el-form-item prop="saiLevel">
|
|
|
<el-select v-model="dataForm.saiLevel" placeholder="请选择SAI级别" :disabled="applyDisabled">
|
|
|
@@ -103,6 +128,23 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="整改负责人">
|
|
|
+ <el-form-item prop="executor">
|
|
|
+ <el-select
|
|
|
+ filterable
|
|
|
+ :disabled="assessDisabled"
|
|
|
+ clearable
|
|
|
+ v-model="dataForm.executor"
|
|
|
+ placeholder="请选择整改负责人">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in applicantOptions"
|
|
|
+ :key="dict.dictValue"
|
|
|
+ :label="dict.dictLabel"
|
|
|
+ :value="dict.dictValue"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-descriptions-item>
|
|
|
<el-descriptions-item label="附件" :span="3">
|
|
|
<el-table :data="doc.commonfileListApply" border>
|
|
|
<el-table-column :label="$t('文件名')" align="center" prop="fileName" :show-overflow-tooltip="true">
|
|
|
@@ -112,9 +154,6 @@
|
|
|
</a>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <!--<el-table-column :label="$t('大小(Kb)')" align="center" prop="fileSize" :show-overflow-tooltip="true" width="80" />-->
|
|
|
- <!--<el-table-column :label="$t('上传人')" align="center" prop="creator" :show-overflow-tooltip="true" width="120"/>-->
|
|
|
- <!--<el-table-column :label="$t('上传时间')" align="center" prop="createdate" :show-overflow-tooltip="true" width="120"/>-->
|
|
|
<el-table-column :label="$t('操作')" align="center" width="120" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button
|
|
|
@@ -203,66 +242,16 @@
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-descriptions-item>
|
|
|
- <el-descriptions-item label="是否录入开项系统">
|
|
|
- <el-form-item prop="isRecorded">
|
|
|
- <el-radio :disabled="assessDisabled" v-model="dataForm.isRecorded" label="1" @change="handleIsRecordedChange">是</el-radio>
|
|
|
- <el-radio :disabled="assessDisabled" v-model="dataForm.isRecorded" label="0" @change="handleIsRecordedChange">否</el-radio>
|
|
|
- </el-form-item>
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="开项编号">
|
|
|
- <el-form-item prop="recordNo">
|
|
|
- <el-input v-model="dataForm.recordNo" placeholder="请输入开项编号" :disabled="recordNoDisabled" style="width: 200px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="采取的措施" :span="2">
|
|
|
- <el-form-item prop="reaction">
|
|
|
- <el-input :disabled="assessDisabled" v-model="dataForm.reaction" placeholder="请输入采取的措施" type="textarea" :rows="3"/>
|
|
|
- </el-form-item>
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="整改负责人">
|
|
|
- <el-form-item prop="executor">
|
|
|
- <el-select
|
|
|
- filterable
|
|
|
- :disabled="assessDisabled"
|
|
|
- clearable
|
|
|
- v-model="dataForm.executor"
|
|
|
- placeholder="请选择整改负责人">
|
|
|
- <el-option
|
|
|
- v-for="dict in executorOptions"
|
|
|
- :key="dict.dictValue"
|
|
|
- :label="dict.dictLabel"
|
|
|
- :value="dict.dictValue"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-descriptions-item>
|
|
|
<el-descriptions-item label="验证人">
|
|
|
- <el-form-item prop="inspector1" style="display: inline-block;">
|
|
|
- <el-input v-model="inspector1Name" placeholder="" disabled style="width: 180px; margin-right: 10px;"/>
|
|
|
- <!--<el-select-->
|
|
|
- <!--filterable-->
|
|
|
- <!--:disabled="assessDisabled"-->
|
|
|
- <!--clearable-->
|
|
|
- <!--v-model="inspector1"-->
|
|
|
- <!--placeholder="请选择验证人"-->
|
|
|
- <!--style="margin-right: 10px;">-->
|
|
|
- <!--<el-option-->
|
|
|
- <!--v-for="dict in applicantOptions"-->
|
|
|
- <!--:key="dict.dictValue"-->
|
|
|
- <!--:label="dict.dictLabel"-->
|
|
|
- <!--:value="dict.dictValue"-->
|
|
|
- <!--></el-option>-->
|
|
|
- <!--</el-select>-->
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="inspector2" style="display: inline-block;">
|
|
|
+ <el-form-item prop="inspector" style="display: inline-block;">
|
|
|
<el-select
|
|
|
filterable
|
|
|
:disabled="assessDisabled"
|
|
|
clearable
|
|
|
- v-model="inspector2"
|
|
|
+ v-model="inspector"
|
|
|
placeholder="请选择验证人">
|
|
|
<el-option
|
|
|
- v-for="dict in inspectorOptions"
|
|
|
+ v-for="dict in applicantOptions"
|
|
|
:key="dict.dictValue"
|
|
|
:label="dict.dictLabel"
|
|
|
:value="dict.dictValue"
|
|
|
@@ -270,27 +259,6 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-descriptions-item>
|
|
|
- <el-descriptions-item label="是否需要VE验证" :span="2">
|
|
|
- <el-form-item prop="needVe">
|
|
|
- <el-radio :disabled="assessDisabled" v-model="dataForm.needVe" label="1" @change="handleNeedVeChange">是</el-radio>
|
|
|
- <el-radio :disabled="assessDisabled" v-model="dataForm.needVe" label="0" @change="handleNeedVeChange">否</el-radio>
|
|
|
- </el-form-item>
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="VE验证条款" :span="2">
|
|
|
- <el-form-item prop="veItemsList">
|
|
|
- <el-checkbox-group v-model="veItemsList" :disabled="veItemsDisabled">
|
|
|
- <el-checkbox label="Level3、Level4的时间纠正措施"></el-checkbox>
|
|
|
- <el-checkbox label="HIRA的补充措施"></el-checkbox>
|
|
|
- <el-checkbox label="整改措施为程序的制定、更新"></el-checkbox>
|
|
|
- <el-checkbox label="整改措施有关培训"></el-checkbox>
|
|
|
- <el-checkbox label="整改措施为增加新设备、设施、部件,或对设备、设施进行改造"></el-checkbox><br/>
|
|
|
- <el-checkbox label="其它" @change="handleVeItemOtherVeChange"></el-checkbox>
|
|
|
- <el-form-item prop="veItemOther" style="display: inline-block;">
|
|
|
- <el-input v-model="dataForm.veItemOther" placeholder="请输入" :disabled="veItemOtherDisabled" style="display: inline-block; width: 200px; margin-left: 10px;"/>
|
|
|
- </el-form-item>
|
|
|
- </el-checkbox-group>
|
|
|
- </el-form-item>
|
|
|
- </el-descriptions-item>
|
|
|
<el-descriptions-item label="备注" :span="3">
|
|
|
<el-form-item prop="remarksAssess">
|
|
|
<el-input :disabled="assessDisabled" v-model="dataForm.remarksAssess" placeholder="请输入备注" type="textarea" :rows="3"/>
|
|
|
@@ -307,7 +275,7 @@
|
|
|
ref="doc"
|
|
|
:limit="50"
|
|
|
:headers="doc.headers"
|
|
|
- :action="doc.url + '?pType=saiExecute&pId=' + doc.pId"
|
|
|
+ :action="doc.url + '?pType=eoegSaiExecute&pId=' + doc.pId"
|
|
|
:disabled="doc.isUploading"
|
|
|
:on-progress="handleFileDocProgress"
|
|
|
:on-success="handleFileDocSuccess"
|
|
|
@@ -391,7 +359,7 @@
|
|
|
<div id="inspect-div" v-if="showInspect">
|
|
|
<h4>验收详情</h4>
|
|
|
<el-descriptions title="" :column="3" border>
|
|
|
- <el-descriptions-item label="VC/VE验证成果" :span="3">
|
|
|
+ <el-descriptions-item label="验证成果" :span="3">
|
|
|
<el-form-item prop="veResult">
|
|
|
<el-radio :disabled="inspectDisabled" v-model="dataForm.veResult" label="1">合格</el-radio>
|
|
|
<el-radio :disabled="inspectDisabled" v-model="dataForm.veResult" label="0">不合格</el-radio>
|
|
|
@@ -491,8 +459,8 @@
|
|
|
<!--</div>-->
|
|
|
<!-- 流程操作 -->
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <!-- 当前登录用户为处理人(之一)或张力飞 -->
|
|
|
- <span v-if="dataForm.handler.indexOf(loginStaffInfo.userId) != -1 || loginStaffInfo.userId == '20276'" style="margin-right: 10px;">
|
|
|
+ <!-- 当前登录用户为处理人(之一) -->
|
|
|
+ <span v-if="dataForm.handler.indexOf(loginStaffInfo.userId) != -1" style="margin-right: 10px;">
|
|
|
<el-button v-if="taskName != null && dataForm.applyStatus != 4 && dataForm.applyStatus != 5" @click="dataFormSave()">{{ $t('保存') }}</el-button>
|
|
|
<el-button type="success" v-if="taskName != null && dataForm.veResult != '0'" @click="dataFormSubmit(1)">{{ $t('通过') }}</el-button>
|
|
|
<el-button type="danger" v-if="taskName == '验收' && dataForm.veResult == '0'" @click="dataFormSubmit(2)">{{ $t('驳回') }}</el-button>
|
|
|
@@ -501,7 +469,7 @@
|
|
|
<el-button @click="visible = false">{{ $t('返回') }}</el-button>
|
|
|
</div>
|
|
|
<!-- 预览对话框 -->
|
|
|
- <el-dialog :close-on-click-modal="false" v-loading="loadingFlash" element-loading-background="rgba(0,0,0,0.2)" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1300px" :center="true" append-to-body>
|
|
|
+ <el-dialog :close-on-click-modal="false" v-loading="loadingFlash" element-loading-background="rgba(0,0,0,0.2)" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1300px" :center="true" append-to-body>
|
|
|
<div style="margin-top: -60px;float: right;margin-right: 40px;">
|
|
|
<el-button size="mini" type="text" @click="openPdf">{{$t('新页面打开PDF')}}</el-button></div>
|
|
|
<div style="margin-top: -30px" >
|
|
|
@@ -521,55 +489,19 @@
|
|
|
|
|
|
<script>
|
|
|
import { getToken } from "@/utils/auth";
|
|
|
-import { updateApply, getApply, handleApply } from "@/api/production/apply";
|
|
|
-import { listFile } from "@/api/production/saiApproveFile";
|
|
|
+import { updateApply, getApply, handleApply } from "@/api/production/eoegApply";
|
|
|
+import { listFile } from "@/api/production/eoegSaiApproveFile";
|
|
|
import { getHistorylist } from "@/api/ehs/approvedanger";
|
|
|
import { listUserPost } from "@/api/system/user";
|
|
|
import { treeselect, listDept } from "@/api/system/dept";
|
|
|
import { listSaiInspectors, listSaiExecutors, listStaffmgrByDeptAndTeam, getLoginStaffInfo } from "@/api/plant/staffmgr";
|
|
|
import { allFileList, delCommonfile } from "@/api/common/commonfile";
|
|
|
-import { categoryList } from "@/api/production/category";
|
|
|
+import { categoryList } from "@/api/production/eoegCategory";
|
|
|
import { selectDevice } from "@/api/invoice/device";
|
|
|
|
|
|
export default {
|
|
|
- name: "sai-apply-detail",
|
|
|
+ name: "eoeg-sai-apply-detail",
|
|
|
data() {
|
|
|
- var validateInspector1 = (rule, value, callback) => {
|
|
|
- if (this.inspector1 == null) {
|
|
|
- return callback(new Error('验证人不能为空'));
|
|
|
- } else {
|
|
|
- return callback();
|
|
|
- }
|
|
|
- };
|
|
|
- var validateInspector2 = (rule, value, callback) => {
|
|
|
- if (this.inspector2 == null) {
|
|
|
- return callback(new Error('验证人不能为空'));
|
|
|
- } else {
|
|
|
- return callback();
|
|
|
- }
|
|
|
- };
|
|
|
- var validateVeItemsList = (rule, value, callback) => {
|
|
|
- if (this.dataForm.needVe == '1') {
|
|
|
- if (this.veItemsList.length == 0) {
|
|
|
- return callback(new Error('VE验证条款不能为空'));
|
|
|
- } else {
|
|
|
- return callback();
|
|
|
- }
|
|
|
- } else {
|
|
|
- return callback();
|
|
|
- }
|
|
|
- };
|
|
|
- var validateRecordNo = (rule, value, callback) => {
|
|
|
- if (this.dataForm.isRecorded == '1') {
|
|
|
- if (this.dataForm.recordNo == null) {
|
|
|
- return callback(new Error('开项编号不能为空'));
|
|
|
- } else {
|
|
|
- return callback();
|
|
|
- }
|
|
|
- } else {
|
|
|
- return callback();
|
|
|
- }
|
|
|
- };
|
|
|
return {
|
|
|
// SAI类别列表
|
|
|
saiCategoryOptions: [],
|
|
|
@@ -628,9 +560,6 @@ export default {
|
|
|
estimateFinishDate: [
|
|
|
{ required: true, message: this.$t('预计完成时间') + this.$t('不能为空'), trigger: "change" }
|
|
|
],
|
|
|
- isRecorded: [
|
|
|
- { required: true, message: this.$t('是否录入开项系统') + this.$t('不能为空'), trigger: "change" }
|
|
|
- ],
|
|
|
reaction: [
|
|
|
{ required: true, message: this.$t('采取的措施') + this.$t('不能为空'), trigger: "change" }
|
|
|
],
|
|
|
@@ -643,23 +572,8 @@ export default {
|
|
|
inspector2: [
|
|
|
{ required: true, message: this.$t('验证人2') + this.$t('不能为空'), trigger: "change" }
|
|
|
],
|
|
|
- needVe: [
|
|
|
- { required: true, message: this.$t('是否需要VE验证') + this.$t('不能为空'), trigger: "change" }
|
|
|
- ],
|
|
|
- recordNo: [
|
|
|
- { validator: validateRecordNo, trigger: 'change' }
|
|
|
- ],
|
|
|
- veItemsList: [
|
|
|
- { validator: validateVeItemsList, trigger: 'change' }
|
|
|
- ],
|
|
|
- inspector1: [
|
|
|
- { validator: validateInspector1, trigger: 'change' }
|
|
|
- ],
|
|
|
- inspector2: [
|
|
|
- { validator: validateInspector2, trigger: 'change' }
|
|
|
- ],
|
|
|
veResult: [
|
|
|
- { required: true, message: this.$t('VC/VE验证成果') + this.$t('不能为空'), trigger: "change" }
|
|
|
+ { required: true, message: this.$t('验证成果') + this.$t('不能为空'), trigger: "change" }
|
|
|
],
|
|
|
remarks: [
|
|
|
{ required: true, message: this.$t('备注') + this.$t('不能为空'), trigger: "change" }
|
|
|
@@ -962,13 +876,13 @@ export default {
|
|
|
});
|
|
|
allFileList({
|
|
|
pId: this.doc.queryParams.pId,
|
|
|
- pType: "saiExecute"
|
|
|
+ pType: "eoegSaiExecute"
|
|
|
}).then(response => {
|
|
|
this.doc.commonfileListExecute = response;
|
|
|
});
|
|
|
allFileList({
|
|
|
pId: this.doc.queryParams.pId,
|
|
|
- pType: "saiInspect"
|
|
|
+ pType: "eoegSaiInspect"
|
|
|
}).then(response => {
|
|
|
this.doc.commonfileListInspect = response;
|
|
|
});
|
|
|
@@ -1175,7 +1089,6 @@ export default {
|
|
|
},
|
|
|
/** 加载登记人列表 */
|
|
|
listStaffmgrByDeptAndTeam(applicantDept, applicantTeam) {
|
|
|
- console.log('123');
|
|
|
listStaffmgrByDeptAndTeam({
|
|
|
deptId: applicantDept,
|
|
|
team: applicantTeam
|