| | |
| | | <!-- æä½æé®åºå --> |
| | | <div class="table-operator" v-if="isDisplayOperation"> |
| | | <a-button v-has="'eam:inspection:add'" @click="handleAdd" type="primary" icon="plus">æ°å¢</a-button> |
| | | <a-button v-if="selectedRowKeys.length == 1" @click="handlePrint" type="primary">æ¥ç</a-button> |
| | | <a-dropdown v-if="selectedRowKeys.length > 0"> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item key="1" @click="batchZf('ABOLISH')" v-has="'eam:inspection:abolish'"> |
| | |
| | | <a-button @click="searchReset" icon="reload" style="margin-left: 8px">éç½®</a-button> |
| | | </span> |
| | | </a-col> |
| | | |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | |
| | | <!-- æä½æé®åºå --> |
| | | <div class="table-operator" v-if="isDisplayOperation"> |
| | | <a-dropdown v-if="selectedRowKeys.length > 0"> |
| | | <a-dropdown :disabled="selectedRowKeys.length == 0"> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item key="1" @click="batchDel"> |
| | | <a-icon type="delete"/> |
| | | å é¤ |
| | | <a-menu-item key="1" @click="handleBatchSubmit"> |
| | | <a-icon type="form"/> |
| | | æäº¤ |
| | | </a-menu-item> |
| | | </a-menu> |
| | | <a-button style="margin-left: 8px"> æ¹éæä½ |
| | |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" @change="handleTableChange" |
| | | :scroll="{x:'max-content'}"> |
| | | <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleFillIn(record)">å¡«æ¥</a> |
| | | <a-divider type="vertical"/> |
| | | <a-popconfirm title="ç¡®å®æäº¤å?" @confirm="() => handleSubmit(record.id)"> |
| | | <a>æäº¤</a> |
| | | </a-popconfirm> |
| | | <a-divider type="vertical"/> |
| | | <a @click="handleDetail(record)">详æ
</a> |
| | | <template v-if="record.repairStatus=='PENDING_REPAIR'||record.repairStatus=='UNDER_MAINTENANCE'"> |
| | | <a @click="handleFillIn(record)">å¡«æ¥</a> |
| | | <a-divider type="vertical"/> |
| | | <a-popconfirm title="ç¡®å®æäº¤å?" @confirm="() => handleSubmit(record.id)"> |
| | | <a>æäº¤</a> |
| | | </a-popconfirm> |
| | | </template> |
| | | |
| | | <a v-else @click="handleDetail(record)">详æ
</a> |
| | | </span> |
| | | </a-table> |
| | | </div> |
| | |
| | | }) |
| | | }, |
| | | |
| | | // æ¹éæäº¤æ¶è§¦å |
| | | handleBatchSubmit() { |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * ç¹å»è¯¦æ
触å |
| | | * @param record è¡¨æ ¼è¡ä¿¡æ¯ |
| | |
| | | |
| | | <!-- tableåºå-begin --> |
| | | <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource" |
| | | :pagination="ipagination" :loading="loading" :scroll="{x:'max-content'}"> |
| | | :pagination="ipagination" :loading="loading" :scroll="{x:'max-content'}" @change="handleTableChange" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:'radio'}" |
| | | :customRow="customRow"> |
| | | <span slot="action" slot-scope="text, record"> |
| | | <template v-if="record.changeStatus=='WAIT_SUBMIT'"> |
| | | <a @click="handleEdit(record)">ç¼è¾</a> |
| | | <a @click.stop="handleEdit(record)">ç¼è¾</a> |
| | | |
| | | <a-divider type="vertical"/> |
| | | |
| | | <a-popconfirm title="ç¡®å®æäº¤åï¼" @confirm="handleSubmit(record.id)"> |
| | | <a>æäº¤</a> |
| | | <a @click="e=>e.stopPropagation()">æäº¤</a> |
| | | </a-popconfirm> |
| | | |
| | | <a-divider type="vertical"/> |
| | | |
| | | <a-popconfirm title="ç¡®å®ä½åºåï¼" @confirm="handleAbolish(record.id)"> |
| | | <a>ä½åº</a> |
| | | <a @click="e=>e.stopPropagation()">ä½åº</a> |
| | | </a-popconfirm> |
| | | </template> |
| | | |
| | | <a @click="handleDetail(record)" |
| | | <a @click.stop="handleDetail(record)" |
| | | v-if="record.changeStatus!='WAIT_SUBMIT'&&record.changeStatus!='ABOLISH'">详æ
</a> |
| | | </span> |
| | | </a-table> |
| | | |
| | | <!-- tableåºå-end --> |
| | | |
| | | <a-tabs v-if="selectedRowKeys.length>0"> |
| | | <a-tab-pane tab="è®¾å¤æç»"> |
| | | <eam-technical-status-change-equipment-detail :selectedRow="selectionRows[0]"/> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | |
| | | <!-- 表ååºå --> |
| | | <eamTechnicalStatusChange-modal ref="modalForm" @ok="modalFormOk" :productionTreeData="productionTreeData"/> |
| | |
| | | import { getAction } from '@/api/manage' |
| | | import TechnicalStatusChangeApprovalModal |
| | | from '../../flowable/workflow/TechnicalStatus/TechnicalStatusChangeApprovalModal' |
| | | import EamTechnicalStatusChangeEquipmentDetail from './modules/EamTechnicalStatusChangeEquipmentDetail' |
| | | |
| | | export default { |
| | | name: 'EamTechnicalStatusChangeList', |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | EamTechnicalStatusChangeEquipmentDetail, |
| | | TechnicalStatusChangeApprovalModal, |
| | | EamTechnicalStatusChangeModal |
| | | }, |
| | |
| | | { |
| | | title: '使ç¨åä½å®¤çº§ä¸»ç®¡ç¾å', |
| | | align: 'center', |
| | | dataIndex: 'departHeaderSignature' |
| | | dataIndex: 'departHeaderSignature_dictText' |
| | | }, |
| | | { |
| | | title: '使ç¨åä½å®¤çº§ä¸»ç®¡ç¾åæ¶é´', |
| | |
| | | { |
| | | title: '使ç¨åä½é¨çº§ä¸»ç®¡ç¾å', |
| | | align: 'center', |
| | | dataIndex: 'departLeaderSignature' |
| | | dataIndex: 'departLeaderSignature_dictText' |
| | | }, |
| | | { |
| | | title: '使ç¨åä½é¨çº§ä¸»ç®¡ç¾åæ¶é´', |
| | |
| | | this.$refs.technicalStatusChangeApprovalModal.handleDetail(record) |
| | | }, |
| | | |
| | | customRow(record) { |
| | | return { |
| | | style: { |
| | | cursor: 'pointer' |
| | | }, |
| | | on: { |
| | | click: event => { |
| | | this.onSelectChange([record.id], [record]) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | |
| | | /** |
| | | * ç³è¯·æ¶é´åçæ¹åæ¶è§¦å |
| | | * @param dateStringArray |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource" |
| | | :pagination="false" :loading="loading" :scroll="{x:'max-content'}"> |
| | | <span slot="action" slot-scope="text, record"> |
| | | <!--鿬è¿--> |
| | | <a v-if="record.changeCategory!='EQUIPMENT_RELOCATION'" |
| | | :disabled="selectedRow.changeStatus!='COMPLETED'||(selectedRow.changeStatus=='COMPLETED'&&record.acceptanceChecker)" |
| | | @click="handleAcceptance(record)">éªæ¶</a> |
| | | |
| | | <!--æ¬è¿--> |
| | | <a-popconfirm v-else title="æ¯å¦çæææ¯ç¶æé´å®å·¥åï¼" @confirm="handleAcceptance(record)"> |
| | | <a |
| | | :disabled="selectedRow.changeStatus!='COMPLETED'||(selectedRow.changeStatus=='COMPLETED'&&record.acceptanceChecker)">éªæ¶</a> |
| | | </a-popconfirm> |
| | | </span> |
| | | </a-table> |
| | | |
| | | <!--设å¤éªæ¶å¼¹çª--> |
| | | <eam-technical-status-equipment-acceptance-modal ref="modalForm" @ok="modalFormOk"/> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getAction, postAction } from '@/api/manage' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import EamTechnicalStatusEquipmentAcceptanceModal from './EamTechnicalStatusEquipmentAcceptanceModal' |
| | | |
| | | export default { |
| | | name: 'EamTechnicalStatusChangeEquipmentDetail', |
| | | components: { EamTechnicalStatusEquipmentAcceptanceModal }, |
| | | mixins: [JeecgListMixin], |
| | | props: { |
| | | selectedRow: { |
| | | type: Object |
| | | } |
| | | }, |
| | | watch: { |
| | | selectedRow: { |
| | | handler(val) { |
| | | if (val) { |
| | | this.loadData() |
| | | } |
| | | }, |
| | | immediate: true |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | disableMixinCreated: true, |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: 'center', |
| | | customRender: function(t, r, index) { |
| | | return parseInt(index) + 1 |
| | | } |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | dataIndex: 'equipmentCode', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | dataIndex: 'equipmentName', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: '设å¤åå·', |
| | | dataIndex: 'equipmentModel', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: '使ç¨åä½', |
| | | dataIndex: 'factoryName', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: 'åæ´åå ', |
| | | dataIndex: 'changeCategory_dictText', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: 'åæ´æ¥æ', |
| | | dataIndex: 'changeDate', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: 'åæ´åææ¯ç¶æ', |
| | | dataIndex: 'changeTechnicalStatus_dictText', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: 'éªæ¶äºº', |
| | | dataIndex: 'acceptanceChecker_dictText', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: 'éªæ¶æ¶é´', |
| | | dataIndex: 'acceptanceCheckTime', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: 'éªæ¶æ£æ¥ç»æ', |
| | | dataIndex: 'acceptanceCheckResult_dictText', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: 'éªæ¶æè§', |
| | | dataIndex: 'acceptanceCheckComment', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align: 'center', |
| | | width: 200, |
| | | fixed: 'right', |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ], |
| | | url: { |
| | | list: '/eam/eamTechnicalStatusChangeDetail/queryList', |
| | | acceptance: '/eam/eamTechnicalStatusChange/acceptance' |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | loadData() { |
| | | this.loading = true |
| | | getAction(this.url.list, { orderId: this.selectedRow.id }) |
| | | .then((res) => { |
| | | if (res.success) this.dataSource = res.result |
| | | }) |
| | | .finally(() => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | |
| | | handleAcceptance(record) { |
| | | if (record.changeCategory != 'EQUIPMENT_RELOCATION') { |
| | | this.$refs.modalForm.handleAcceptance(record) |
| | | this.$refs.modalForm.title = 'éªæ¶' |
| | | } else { |
| | | this.loading = true |
| | | postAction(this.url.acceptance, record) |
| | | .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 |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <j-modal :title="title" :width="500" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen |
| | | @ok="handleOk" @cancel="handleCancel" cancelText="å
³é"> |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="éªæ¶æ£æ¥ç»æ" prop="acceptanceCheckResult"> |
| | | <j-dict-select-tag dict-code="equipment_technology_status" type="radio" |
| | | v-model="model.acceptanceCheckResult"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="éªæ¶æè§" prop="acceptanceCheckComment"> |
| | | <a-textarea placeholder="请è¾å
¥éªæ¶æè§" v-model="model.acceptanceCheckComment"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form-model> |
| | | </a-spin> |
| | | </j-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import { postAction } from '@/api/manage' |
| | | |
| | | export default { |
| | | name: 'EamTechnicalStatusEquipmentAcceptanceModal', |
| | | data() { |
| | | return { |
| | | title: 'æä½', |
| | | visible: false, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 7 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 15 } |
| | | }, |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | | acceptanceCheckResult: [{ required: true, message: 'è¯·éæ©éªæ¶æ£æ¥ç»æ', trigger: 'change' }], |
| | | acceptanceCheckComment: [{ required: true, message: '请è¾å
¥éªæ¶æè§', trigger: 'change' }] |
| | | }, |
| | | url: { |
| | | acceptance: '/eam/eamTechnicalStatusChange/acceptance' |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | handleAcceptance(record) { |
| | | this.model = Object.assign({}, record) |
| | | this.visible = true |
| | | }, |
| | | |
| | | handleOk() { |
| | | const that = this |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true |
| | | postAction(this.url.acceptance, this.model) |
| | | .then(res => { |
| | | if (res.success) { |
| | | that.$notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.$emit('ok') |
| | | that.handleCancel() |
| | | } else { |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | that.confirmLoading = false |
| | | }) |
| | | } else { |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | |
| | | close() { |
| | | this.$emit('close') |
| | | this.visible = false |
| | | this.$refs.form.clearValidate() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | v-if="disableSubmit|| |
| | | selectShenpiData.taskDefKey&&(selectShenpiData.taskDefKey=='safety_equipment_check'||selectShenpiData.taskDefKey=='safety_equipment_check_confirm')|| |
| | | model.evaluationStatus&&model.evaluationStatus!='UNDER_EVALUATION'&&detail.safetyEquipmentCheckList.length>0"> |
| | | <j-vxe-table ref="editableDetailTable1" rowNumber bordered alwaysEdit keep-source :height="300" |
| | | <j-vxe-table ref="editableDetailTable1" rowNumber bordered alwaysEdit keep-source |
| | | :dataSource="detail.safetyEquipmentCheckList" |
| | | :columns="detail.safetyEquipmentCheckColumns"> |
| | | <template v-slot:safetyEquipmentCheckResult="props"> |
| | |
| | | selectShenpiData.taskDefKey&&(selectShenpiData.taskDefKey=='equipment_precision_check'||selectShenpiData.taskDefKey=='equipment_precision_check_confirm')|| |
| | | model.evaluationStatus&&model.evaluationStatus!='UNDER_EVALUATION'&&detail.precisionCheckList.length>0"> |
| | | <j-vxe-table ref="editableDetailTable2" rowNumber bordered |
| | | alwaysEdit keep-source :height="300" |
| | | alwaysEdit keep-source |
| | | :dataSource="detail.precisionCheckList" :columns="detail.precisionCheckColumns"> |
| | | <template v-slot:precisionCheckResult="props"> |
| | | <a-input-number v-model="props.row.precisionCheckResult" |
| | |
| | | selectShenpiData.taskDefKey&&(selectShenpiData.taskDefKey=='other_check'||selectShenpiData.taskDefKey=='other_check_confirm')|| |
| | | model.evaluationStatus&&model.evaluationStatus!='UNDER_EVALUATION'&&detail.otherCheckList.length>0"> |
| | | <j-vxe-table ref="editableDetailTable3" rowNumber bordered |
| | | alwaysEdit keep-source :height="300" |
| | | alwaysEdit keep-source |
| | | :dataSource="detail.otherCheckList" :columns="detail.otherCheckColumns"> |
| | | <template v-slot:otherCheckResult="props"> |
| | | <a-textarea v-model="props.row.otherCheckResult" :rows="1" |