| | |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-row :gutter="24"> |
| | | |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="æ¥ä¿®ID"> |
| | | <a-input placeholder="请è¾å
¥æ¥ä¿®ID" v-model="queryParam.reportId"></a-input> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="12"> |
| | | <a-form-item label="ç»ä¸ç¼ç "> |
| | | <lx-search-equipment-select placeholder="请è¾å
¥ç»ä¸ç¼ç æåç§°æç´¢" v-model="queryParam.equipmentId"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="12"> |
| | | <a-form-item label="ç¡®è®¤ç¶æ"> |
| | | <j-dict-select-tag placeholder="è¯·éæ©ç¡®è®¤ç¶æ" v-model="queryParam.confirmStatus" |
| | | dict-code="confirm_status"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="设å¤ID"> |
| | | <a-input placeholder="请è¾å
¥è®¾å¤ID" v-model="queryParam.equipmentId"></a-input> |
| | | <a-form-item label="产åæå¤±æ
åµ"> |
| | | <j-dict-select-tag placeholder="è¯·éæ©äº§åæå¤±æ
åµ" v-model="queryParam.productLoss" |
| | | dict-code="yn"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <template v-if="toggleSearchStatus"> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="æä½å·¥"> |
| | | <a-input placeholder="请è¾å
¥æä½å·¥" v-model="queryParam.confirmer"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="æä½å·¥ç¡®è®¤æ¶é´"> |
| | | <a-input placeholder="请è¾å
¥æä½å·¥ç¡®è®¤æ¶é´" v-model="queryParam.confirmTime"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="产åæå¤±æ
åµ;æ¯ å¦"> |
| | | <a-input placeholder="请è¾å
¥äº§åæå¤±æ
åµ;æ¯ å¦" v-model="queryParam.productLoss"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | </template> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
| | | <a-button type="primary" @click="searchQuery" icon="search">æ¥è¯¢</a-button> |
| | | <a-button type="info" @click="searchReset" icon="reload" style="margin-left: 8px">éç½®</a-button> |
| | | <a @click="handleToggleSearch" style="margin-left: 8px"> |
| | | {{ toggleSearchStatus ? 'æ¶èµ·' : 'å±å¼' }} |
| | | <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> |
| | | </a> |
| | | </span> |
| | | </a-col> |
| | | |
| | |
| | | @change="handleTableChange"> |
| | | |
| | | <span slot="action" slot-scope="text, record"> |
| | | <template v-if="record.confirmStatus==='PENDING_SUBMIT'"> |
| | | <a @click="handleEdit(record)">ç¼è¾</a> |
| | | |
| | | <a-divider type="vertical" /> |
| | | <a-dropdown> |
| | | <a class="ant-dropdown-link">æ´å¤ <a-icon type="down" /></a> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item> |
| | | <a-popconfirm title="ç¡®å®å é¤å?" @confirm="() => handleDelete(record.id)"> |
| | | <a>å é¤</a> |
| | | <a-popconfirm title="ç¡®å®æäº¤å?" @confirm="() => handleSubmit(record.id)"> |
| | | <a>æäº¤</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | </a-menu> |
| | | </a-dropdown> |
| | | </template> |
| | | |
| | | <a v-else @click="handleDetail(record)">详æ
</a> |
| | | </span> |
| | | |
| | | <!--å符串è¶
é¿æªåçç¥å·æ¾ç¤º--> |
| | | <span slot="qualityAnalysis" slot-scope="text"> |
| | | <j-ellipsis :value="text" :length="8"/> |
| | | </span> |
| | | |
| | | </a-table> |
| | |
| | | |
| | | <!-- 表ååºå --> |
| | | <eamReportProductHazards-modal ref="modalForm" @ok="modalFormOk"></eamReportProductHazards-modal> |
| | | |
| | | <!--审æ¹çªå£--> |
| | | <report-product-hazards-approval-modal ref="reportProductHazardsApprovalModal" |
| | | :selectShenpiData="selectedRowData"/> |
| | | </a-card> |
| | | </template> |
| | | |
| | |
| | | import '@/assets/less/TableExpand.less' |
| | | import EamReportProductHazardsModal from './modules/EamReportProductHazardsModal' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import {getAction} from "@api/manage"; |
| | | import ReportProductHazardsApprovalModal |
| | | from "@views/flowable/workflow/repairOrder/ReportProductHazardsApprovalModal.vue"; |
| | | import LxSearchEquipmentSelect from "@views/eam/equipment/modules/LxSearchEquipmentSelect.vue"; |
| | | |
| | | export default { |
| | | name: "EamReportProductHazardsList", |
| | | mixins:[JeecgListMixin], |
| | | components: { |
| | | LxSearchEquipmentSelect, |
| | | ReportProductHazardsApprovalModal, |
| | | EamReportProductHazardsModal |
| | | }, |
| | | props: { |
| | |
| | | fixed: 'left' |
| | | }, |
| | | { |
| | | title: 'ç¡®è®¤ç¶æ', |
| | | align: 'center', |
| | | dataIndex: 'confirmStatus_dictText', |
| | | fixed: 'left' |
| | | }, |
| | | { |
| | | title: 'æ¹æ¬¡å·', |
| | | align: 'center', |
| | | dataIndex: 'batchNumber' |
| | | }, |
| | | { |
| | | title: 'å å·¥é¶ä»¶å·', |
| | | align: 'center', |
| | | dataIndex: 'processingPart' |
| | | }, |
| | | { |
| | | title: 'ä»¶æ°', |
| | | align: 'center', |
| | | dataIndex: 'quantity' |
| | | }, |
| | | { |
| | | title: 'æä½å·¥', |
| | | align:"center", |
| | | dataIndex: 'confirmer' |
| | | dataIndex: 'confirmer_dictText' |
| | | }, |
| | | { |
| | | title: 'æä½å·¥ç¡®è®¤æ¶é´', |
| | |
| | | dataIndex: 'confirmTime' |
| | | }, |
| | | { |
| | | title: '产åæå¤±æ
åµ;æ¯ å¦', |
| | | title: '产åæå¤±æ
åµ', |
| | | align:"center", |
| | | dataIndex: 'productLoss' |
| | | dataIndex: 'productLoss_dictText' |
| | | }, |
| | | { |
| | | title: '产åæå¤±è´¨éå½±ååæ', |
| | | align:"center", |
| | | dataIndex: 'qualityAnalysis' |
| | | dataIndex: 'qualityAnalysis', |
| | | scopedSlots: { customRender: 'qualityAnalysis' } |
| | | }, |
| | | { |
| | | title: '主管工èº', |
| | | align:"center", |
| | | dataIndex: 'technologist' |
| | | dataIndex: 'technologist_dictText' |
| | | }, |
| | | { |
| | | title: '主管工èºç¡®è®¤æ¶é´', |
| | |
| | | { |
| | | title: 'é¨çº§é¢å¯¼', |
| | | align:"center", |
| | | dataIndex: 'deputyDepartment' |
| | | dataIndex: 'deputyDepartment_dictText' |
| | | }, |
| | | { |
| | | title: 'é¨çº§é¢å¯¼ç¡®è®¤æ¶é´', |
| | |
| | | dataIndex: 'deputyDepartmentComment' |
| | | }, |
| | | ], |
| | | selectRepairOrderData: {}, |
| | | selectedRowData: {}, |
| | | url: { |
| | | list: "/eam/eamReportProductHazards/list", |
| | | delete: "/eam/eamReportProductHazards/delete", |
| | | deleteBatch: "/eam/eamReportProductHazards/deleteBatch", |
| | | exportXlsUrl: "eam/eamReportProductHazards/exportXls", |
| | | importExcelUrl: "eam/eamReportProductHazards/importExcel", |
| | | submit:"/eam/eamReportProductHazards/submit", |
| | | }, |
| | | } |
| | | }, |
| | |
| | | this.loadData(1) |
| | | }, |
| | | methods: { |
| | | /** |
| | | * ç¹å»æäº¤æ¶è§¦å |
| | | * @param id |
| | | */ |
| | | handleSubmit(id) { |
| | | this.loading = true |
| | | getAction(this.url.submit, { id }) |
| | | .then(res => { |
| | | if (res.success) { |
| | | this.$notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | this.loadData() |
| | | } else { |
| | | this.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | this.loading = false |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * ç¹å»è¯¦æ
æ¶è§¦åæ¶è§¦å |
| | | * @param record |
| | | */ |
| | | handleDetail(record) { |
| | | this.selectedRowData = Object.assign({}, record) |
| | | this.$refs.reportProductHazardsApprovalModal.title = '详æ
' |
| | | this.$refs.reportProductHazardsApprovalModal.disableSubmit = true |
| | | this.$refs.reportProductHazardsApprovalModal.visible = true |
| | | this.$refs.reportProductHazardsApprovalModal.handleDetail(record) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <template> |
| | | <j-modal |
| | | :title="title" |
| | | :width="800" |
| | | :visible="visible" |
| | | :confirmLoading="confirmLoading" |
| | | switchFullscreen |
| | | @ok="handleOk" |
| | | @cancel="handleCancel" |
| | | cancelText="å
³é"> |
| | | |
| | | <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen |
| | | @ok="handleOk" @cancel="handleCancel" cancelText="å
³é"> |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules"> |
| | | |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reportId" label="æ¥ä¿®ID"> |
| | | <a-input placeholder="请è¾å
¥æ¥ä¿®ID" v-model="model.reportId" /> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-row> |
| | | <a-col :span="customSpan"> |
| | | <a-form-model-item label="æ¹æ¬¡å·" prop="batchNumber"> |
| | | <a-input placeholder="请è¾å
¥æ¹æ¬¡å·" v-model="model.batchNumber"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="设å¤ID"> |
| | | <a-input placeholder="请è¾å
¥è®¾å¤ID" v-model="model.equipmentId" /> |
| | | </a-col> |
| | | <a-col :span="customSpan"> |
| | | <a-form-model-item label="å å·¥é¶ä»¶å·" prop="processingPart"> |
| | | <a-input placeholder="请è¾å
¥å å·¥é¶ä»¶å·" |
| | | v-model="model.processingPart"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmer" label="æä½å·¥"> |
| | | <a-input placeholder="请è¾å
¥æä½å·¥" v-model="model.confirmer" /> |
| | | </a-col> |
| | | <a-col :span="customSpan"> |
| | | <a-form-model-item label="ä»¶æ°" prop="quantity"> |
| | | <a-input-number placeholder="请è¾å
¥ä»¶æ°" v-model="model.quantity" |
| | | :min="0" style="width: 100%"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmTime" label="æä½å·¥ç¡®è®¤æ¶é´"> |
| | | <a-input placeholder="请è¾å
¥æä½å·¥ç¡®è®¤æ¶é´" v-model="model.confirmTime" /> |
| | | </a-col> |
| | | <a-col :span="customSpan"> |
| | | <a-form-model-item prop="productLoss" label="产åæå¤±æ
åµ"> |
| | | <j-dict-select-tag dict-code="yn" type="radio" |
| | | placeholder="请è¾å
¥äº§åæå¤±æ
åµ" |
| | | v-model="model.productLoss"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productLoss" label="产åæå¤±æ
åµ;æ¯ å¦"> |
| | | <a-input placeholder="请è¾å
¥äº§åæå¤±æ
åµ;æ¯ å¦" v-model="model.productLoss" /> |
| | | </a-col> |
| | | <a-col :span="24"> |
| | | <a-form-model-item :labelCol="labelColLong" |
| | | :wrapperCol="wrapperColLong" prop="qualityAnalysis" label="产åæå¤±è´¨éå½±ååæ"> |
| | | <a-textarea placeholder="请è¾å
¥äº§åæå¤±è´¨éå½±ååæ" v-model="model.qualityAnalysis"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="qualityAnalysis" label="产åæå¤±è´¨éå½±ååæ"> |
| | | <a-input placeholder="请è¾å
¥äº§åæå¤±è´¨éå½±ååæ" v-model="model.qualityAnalysis" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technologist" label="主管工èº"> |
| | | <a-input placeholder="请è¾å
¥ä¸»ç®¡å·¥èº" v-model="model.technologist" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technologistTime" label="主管工èºç¡®è®¤æ¶é´"> |
| | | <a-input placeholder="请è¾å
¥ä¸»ç®¡å·¥èºç¡®è®¤æ¶é´" v-model="model.technologistTime" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technologistComment" label="主管工èºç¡®è®¤æè§"> |
| | | <a-input placeholder="请è¾å
¥ä¸»ç®¡å·¥èºç¡®è®¤æè§" v-model="model.technologistComment" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="deputyDepartment" label="é¨çº§é¢å¯¼"> |
| | | <a-input placeholder="请è¾å
¥é¨çº§é¢å¯¼" v-model="model.deputyDepartment" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="deputyDepartmentTime" label="é¨çº§é¢å¯¼ç¡®è®¤æ¶é´"> |
| | | <a-input placeholder="请è¾å
¥é¨çº§é¢å¯¼ç¡®è®¤æ¶é´" v-model="model.deputyDepartmentTime" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="deputyDepartmentComment" label="é¨çº§é¢å¯¼ç¡®è®¤æè§"> |
| | | <a-input placeholder="请è¾å
¥é¨çº§é¢å¯¼ç¡®è®¤æè§" v-model="model.deputyDepartmentComment" /> |
| | | </a-form-model-item> |
| | | |
| | | </a-col> |
| | | </a-row> |
| | | </a-form-model> |
| | | </a-spin> |
| | | </j-modal> |
| | |
| | | return { |
| | | title:"æä½", |
| | | visible: false, |
| | | customSpan: 6, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | sm: { span: 9 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | sm: { span: 12 } |
| | | }, |
| | | labelColLong: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 3 } |
| | | }, |
| | | wrapperColLong: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 20 } |
| | | }, |
| | | |
| | | confirmLoading: false, |
| | | validatorRules:{ |
| | | batchNumber: [{ required: true, message: '请è¾å
¥æ¹æ¬¡å·', trigger: 'change' }], |
| | | processingPart: [{ required: true, message: '请è¾å
¥å å·¥é¶ä»¶å·', trigger: 'change' }], |
| | | quantity: [{ required: true, message: '请è¾å
¥ä»¶æ°', trigger: 'change' }], |
| | | productLoss: [{ required: true, message: '请è¾å
¥äº§åæå¤±æ
åµ', trigger: 'change' }], |
| | | qualityAnalysis: [{ required: true, message: '请è¾å
¥äº§åæå¤±è´¨éå½±ååæ', trigger: 'change' }], |
| | | }, |
| | | url: { |
| | | add: "/eam/eamReportProductHazards/add", |
| | |
| | | <report-accidents-register-approval-modal ref="reportAccidentsRegisterApprovalModal" |
| | | :selectShenpiData="selectedRowData" |
| | | @modalFormOk="modalFormOk"/> |
| | | |
| | | <!--产åå®å
¨ç¡®è®¤--> |
| | | <eam-report-product-hazards-modal ref="reportProductHazardsApprovalModal" |
| | | :selectShenpiData="selectedRowData" |
| | | @modalFormOk="modalFormOk"/> |
| | | </a-card> |
| | | </template> |
| | | |
| | |
| | | import ThirdMaintenanceOrderChangeApprovalModal from './thirdMaintenance/ThirdMaintenanceOrderChangeApprovalModal' |
| | | import ThirdMaintenanceFurnaceApprovalModal from './thirdMaintenance/ThirdMaintenanceFurnaceApprovalModal' |
| | | import ReportAccidentsRegisterApprovalModal from './repairOrder/ReportAccidentsRegisterApprovalModal' |
| | | import EamReportProductHazardsModal from "./repairOrder/ReportProductHazardsApprovalModal.vue"; |
| | | |
| | | export default { |
| | | name: 'FlowTodo', |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | EamReportProductHazardsModal, |
| | | ReportAccidentsRegisterApprovalModal, |
| | | ThirdMaintenanceFurnaceApprovalModal, |
| | | ThirdMaintenanceOrderChangeApprovalModal, |
| | |
| | | break |
| | | case 'eam_report_accidents_register': |
| | | this.handleAccidentsRegister(record) |
| | | break |
| | | case 'eam_report_product_hazards': |
| | | this.handleProductHazard(record) |
| | | break |
| | | default: |
| | | alert('没æ¾å°è¯¥æµç¨') |
| | |
| | | this.$refs.reportAccidentsRegisterApprovalModal.handleApprove(record) |
| | | }, |
| | | |
| | | /** |
| | | * ç¹å»äº§åå®å
¨éæ£ç¡®è®¤æµç¨å®¡æ¹æ¶è§¦å |
| | | * @param record |
| | | */ |
| | | handleProductHazard(record){ |
| | | this.selectedRowData = Object.assign({}, record) |
| | | this.$refs.reportProductHazardsApprovalModal.visible = true |
| | | this.$refs.reportProductHazardsApprovalModal.title = record.name |
| | | this.$refs.reportProductHazardsApprovalModal.handleApprove(record) |
| | | }, |
| | | |
| | | batchHandle() { |
| | | const categorySet = new Set(this.selectionRows.map(item => item.category)) |
| | | const nameSet = new Set(this.selectionRows.map(item => item.name)) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <j-modal :title="title" :visible="visible" :confirmLoading="confirmLoading" :width="1300" |
| | | :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" fullscreen @ok="handleOk" |
| | | @cancel="handleCancel" centered cancelText="å
³é"> |
| | | <a-spin :spinning="spinning"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-row id="outer-row" :gutter="24"> |
| | | <!--左侧åºç¡ä¿¡æ¯å--> |
| | | <a-col :span="selectShenpiData.procInstId?8:12" class="scroll-col"> |
| | | <a-tabs> |
| | | <a-tab-pane tab="åºç¡ä¿¡æ¯"> |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="ç»ä¸ç¼ç "> |
| | | <lx-search-equipment-select v-model="model.equipmentId" disabled/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="æ¹æ¬¡å·"> |
| | | <a-input v-model="model.batchNumber" readOnly/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="å å·¥é¶ä»¶å·"> |
| | | <a-input v-model="model.processingPart" readOnly/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="ä»¶æ°"> |
| | | <a-input-number v-model="model.quantity" disabled/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="产åæå¤±æ
åµ"> |
| | | <j-dict-select-tag dict-code="yn" type="radio" v-model="model.productLoss" disabled/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="产åæå¤±è´¨éå½±ååæ" :labelCol="labelColLong" :wrapperCol="wrapperColLong"> |
| | | <a-textarea v-model="model.qualityAnalysis" readOnly/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | </a-col> |
| | | |
| | | <!-- ä¸é´æç»é¡¹å--> |
| | | <a-col v-if="selectShenpiData.procInstId" :span="10" class="scroll-col"> |
| | | <a-tabs default-active-key="1"> |
| | | <a-tab-pane key='1' tab='æµç¨å¾'> |
| | | <img :src="imageSrc" v-if="imageSrc" style="width: 100%"/> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | </a-col> |
| | | |
| | | <!--å³ä¾§å®¡æ¹å--> |
| | | <a-col :span="selectShenpiData.procInstId?6:12" class="scroll-col"> |
| | | <a-tabs v-if="displayRegionalManagerFlag"> |
| | | <a-tab-pane tab="主管工èºç¡®è®¤"> |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item prop="technologistResult" label="确认类å" |
| | | :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> |
| | | <j-dict-select-tag type='radio' v-model='model.technologistResult' |
| | | dictCode='approve_reject' |
| | | :disabled="disableSubmit||(model.confirmStatus&&model.confirmStatus!=='PENDING_SUPERIOR_TECHNICAL_CONFIRMATION')"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="确认æè§" :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> |
| | | <a-textarea placeholder="请è¾å
¥æè§" v-model="model.technologistComment" |
| | | :disabled="disableSubmit||(model.confirmStatus&&model.confirmStatus!=='PENDING_SUPERIOR_TECHNICAL_CONFIRMATION')"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | |
| | | <a-tabs v-if="displayRepairRegionalManagerFlag"> |
| | | <a-tab-pane tab="å¯é¨çº§é¢å¯¼ç¡®è®¤"> |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item prop="deputyDepartmentResult" label="确认类å" |
| | | :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> |
| | | <j-dict-select-tag type='radio' v-model='model.deputyDepartmentResult' |
| | | dictCode='approve_reject' |
| | | :disabled="disableSubmit||(model.confirmStatus&&model.confirmStatus!=='PENDING_DEPARTMENT_LEADER_CONFIRMATION')"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="确认æè§" :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> |
| | | <a-textarea placeholder="请è¾å
¥æè§" v-model="model.deputyDepartmentComment" |
| | | :disabled="disableSubmit||(model.confirmStatus&&model.confirmStatus!=='PENDING_DEPARTMENT_LEADER_CONFIRMATION')"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | |
| | | |
| | | |
| | | </a-col> |
| | | </a-row> |
| | | </a-form-model> |
| | | </a-spin> |
| | | </j-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import { downFile, getAction, httpAction } from '@/api/manage' |
| | | import TechnicalStatusEquipmentSelect from '../../../eam/equipment/modules/TechnicalStatusEquipmentSelect' |
| | | import LxSearchEquipmentSelect from '../../../eam/equipment/modules/LxSearchEquipmentSelect' |
| | | |
| | | export default { |
| | | name: 'reportProductHazardsApprovalModal', |
| | | components: { |
| | | LxSearchEquipmentSelect, |
| | | TechnicalStatusEquipmentSelect |
| | | }, |
| | | props: { |
| | | selectShenpiData: { |
| | | type: Object |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | title: 'æä½', |
| | | visible: false, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 10 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 14 } |
| | | }, |
| | | labelColLong: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 } |
| | | }, |
| | | wrapperColLong: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 19 } |
| | | }, |
| | | rightColLabelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 8 } |
| | | }, |
| | | rightColWrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 15 } |
| | | }, |
| | | confirmLoading: false, |
| | | spinning: false, |
| | | imageSrc: null, |
| | | validatorRules: { |
| | | technicalDirectorLeaderResult: [{ required: true, message: 'è¯·éæ©ç¡®è®¤ç±»å' }], |
| | | technicalDirectorPartResult: [{ required: true, message: 'è¯·éæ©ç¡®è®¤ç±»å' }] |
| | | }, |
| | | url: { |
| | | queryById: '/eam/eamReportProductHazards/queryById', |
| | | approval: '/eam/eamReportProductHazards/perform', |
| | | diagramView: '/assign/flow/diagramView' |
| | | }, |
| | | disableSubmit: false |
| | | } |
| | | }, |
| | | computed: { |
| | | displayRegionalManagerFlag() { |
| | | return this.model.confirmStatus && ['PENDING_SUPERIOR_TECHNICAL_CONFIRMATION', 'PENDING_DEPARTMENT_LEADER_CONFIRMATION','REPAIR_COMPLETED', 'REJECTED'].includes(this.model.confirmStatus) |
| | | }, |
| | | displayRepairRegionalManagerFlag() { |
| | | return this.model.confirmStatus && ['PENDING_DEPARTMENT_LEADER_CONFIRMATION','REPAIR_COMPLETED', 'REJECTED'].includes(this.model.confirmStatus) |
| | | }, |
| | | }, |
| | | methods: { |
| | | /** |
| | | * 主页é¢ç¹å»æ§è¡å®¡æ¹æ¶è§¦å |
| | | * @param record 主页é¢å表è¡è®°å½ |
| | | */ |
| | | async handleApprove(record) { |
| | | this.model = {} |
| | | this.getBasicInformationByApi(record) |
| | | this.getFlowChartImageByApi(record) |
| | | }, |
| | | |
| | | /** |
| | | * 主页é¢ç¹å»è¯¦æ
æ¶è§¦å |
| | | * @param record 主页é¢å表è¡è®°å½ |
| | | */ |
| | | handleDetail(record) { |
| | | this.model = Object.assign({}, record) |
| | | }, |
| | | |
| | | /** |
| | | * è·ååºç¡ä¿¡æ¯ |
| | | * @param record 主页é¢å表è¡è®°å½ |
| | | */ |
| | | getBasicInformationByApi(record) { |
| | | this.spinning = true |
| | | const that = this |
| | | getAction(this.url.queryById, { id: record.dataId }) |
| | | .then(res => { |
| | | if (res.success) { |
| | | that.model = Object.assign({}, res.result, { repairConfirmResult: '1' }) |
| | | that.model.dataId = record.dataId |
| | | that.model.taskId = record.id |
| | | that.model.userId = record.assignee |
| | | that.model.instanceId = record.procInstId |
| | | } |
| | | else { |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | that.spinning = false |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * è·åæµç¨å¾ |
| | | * @param record 主页é¢å表è¡è®°å½ |
| | | */ |
| | | getFlowChartImageByApi(record) { |
| | | const { processDefinitionId, processInstanceId, processDefinitionKey } = record |
| | | |
| | | downFile(this.url.diagramView, { |
| | | processDefinitionId, |
| | | processInstanceId, |
| | | TaskDefinitionKey: processDefinitionKey |
| | | }, 'get') |
| | | .then((res => { |
| | | this.imageSrc = window.URL.createObjectURL(new Blob([res])) |
| | | })) |
| | | .catch(err => { |
| | | this.$notification.error({ |
| | | message: 'æ¶æ¯', |
| | | description: err.message |
| | | }) |
| | | }) |
| | | }, |
| | | |
| | | async handleOk() { |
| | | const that = this |
| | | |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = that.spinning = true |
| | | |
| | | httpAction(that.url.approval, that.model, 'post') |
| | | .then((res) => { |
| | | if (res.success) { |
| | | that.$notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.$emit('modalFormOk') |
| | | that.close() |
| | | } else { |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | that.confirmLoading = that.spinning = false |
| | | }) |
| | | } else { |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * åå åææ ¸å¯¹å¼åçæ¹åæ¶è§¦å |
| | | * @param value |
| | | */ |
| | | handleCheckAgreeChange(value) { |
| | | if (value === '1') delete this.model.disagreeReason |
| | | }, |
| | | |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | |
| | | close() { |
| | | this.$emit('close') |
| | | this.visible = false |
| | | if (this.$refs.form) this.$refs.form.clearValidate() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="less"> |
| | | /deep/ .ant-spin-nested-loading { |
| | | height: 100%; |
| | | |
| | | .ant-spin-container { |
| | | height: 100%; |
| | | |
| | | .ant-form { |
| | | height: 100%; |
| | | |
| | | #outer-row { |
| | | height: 100%; |
| | | |
| | | .scroll-col { |
| | | height: 100%; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |