| | |
| | | type:Boolean, |
| | | default:()=>true, |
| | | required:false |
| | | }, |
| | | factoryOrgCode:{ |
| | | type:String, |
| | | default:'', |
| | | required:false |
| | | } |
| | | }, |
| | | data() { |
| | |
| | | this.initSelectValue() |
| | | } |
| | | } |
| | | }, |
| | | factoryOrgCode:{ |
| | | handler(val){ |
| | | if(val){ |
| | | this.loadData() |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | initSelectValue() { |
| | | if(!this.selectedAsyncValue || !this.selectedAsyncValue.key || this.selectedAsyncValue.key!=this.value){ |
| | | console.log("è¿æè¯·æ±åå°") |
| | | getAction(`/eam/equipment/asyncLoadEquipment`, { id: this.value }).then(res=>{ |
| | | getAction(`/eam/equipment/asyncLoadEquipment`, { id: this.value,factoryOrgCode:this.factoryOrgCode }).then(res=>{ |
| | | if(res.success){ |
| | | if(res.result && res.result.length > 0){ |
| | | let obj = { |
| | |
| | | this.options = [] |
| | | this.loading = true |
| | | // åå
¸codeæ ¼å¼ï¼table,text,code |
| | | getAction(`/eam/equipment/asyncLoadEquipment`, { keyword: value, pageSize: this.pageSize }).then(res => { |
| | | getAction(`/eam/equipment/asyncLoadEquipment`, { keyword: value, pageSize: this.pageSize,factoryOrgCode:this.factoryOrgCode }).then(res => { |
| | | this.loading = false |
| | | if (res.success) { |
| | | if (currentLoad != this.lastLoad) { |
| | |
| | | initDictData() { |
| | | //弿¥ä¸å¼å§ä¹å è½½ä¸ç¹æ°æ® |
| | | this.loading = true |
| | | getAction(`/eam/equipment/asyncLoadEquipment`, { pageSize: this.pageSize, keyword: '' }).then(res => { |
| | | getAction(`/eam/equipment/asyncLoadEquipment`, { pageSize: this.pageSize, keyword: '' ,factoryOrgCode:this.factoryOrgCode}).then(res => { |
| | | this.loading = false |
| | | if (res.success) { |
| | | this.options = [...res.result] |
| | |
| | | this.selectedAsyncValue = selectedObj |
| | | //update-begin---author:wangshuai ---date:20221115 forï¼[issues/4213]JSearchSelectTagæ¹é æ¯æå¤é------------ |
| | | this.selectedValue = selectedObj.key |
| | | this.$emit('autocompleteForm', this.options.find(item => item.equipmentId === selectedObj.value)) |
| | | //update-end---author:wangshuai ---date:20221115 forï¼[issues/4213]JSearchSelectTagæ¹é æ¯æå¤é------------ |
| | | } else { |
| | | this.selectedAsyncValue = undefined |
| | | this.selectedValue = undefined |
| | | this.options = [] |
| | | this.loadData('') |
| | | this.$emit('autocompleteForm', {}) |
| | | } |
| | | this.callback() |
| | | //update-end-author:scott date:20201222 for:ãæç´¢ãæç´¢æ¥è¯¢ç»ä»¶ï¼å 餿¡ä»¶ï¼é»è®¤ä¸æè¿æ¯ä¸æ¬¡çç¼åæ°æ®ï¼ä¸å¥½ JT-191 |
| | |
| | | <!-- æä½æé®åºå --> |
| | | <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-menu-item> |
| | | <a-menu-item key="3" @click="handlerBatchRestore"> |
| | | <a-icon type="form"/> |
| | | <a-icon type="reload"/> |
| | | è¿å |
| | | </a-menu-item> |
| | | </a-menu> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-card :bordered="false"> |
| | | <!-- æ¥è¯¢åºå --> |
| | | <div class="table-page-search-wrapper" v-if="isDisplayOperation"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-row :gutter="24"> |
| | | <a-col :xl="5" :lg="6" :md="8" :sm="24"> |
| | | <a-form-item label="ç»ä¸ç¼ç "> |
| | | <lx-search-equipment-select placeholder="请è¾å
¥ç»ä¸ç¼ç æåç§°æç´¢" v-model="queryParam.equipmentId"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="4" :lg="7" :md="8" :sm="24"> |
| | | <a-form-item label="åæ´åå·"> |
| | | <a-input placeholder="请è¾å
¥åæ´åå·" v-model="queryParam.changeOrderNum"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="5" :lg="6" :md="8" :sm="12"> |
| | | <a-form-item label="ç³è¯·æ¶é´"> |
| | | <a-range-picker v-model="queryParam.dates" @change="handleDateRangeChange" value-format="YYYY-MM-DD"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="4" :lg="6" :md="8" :sm="12"> |
| | | <a-form-item label="åæ´ç¶æ"> |
| | | <j-dict-select-tag dict-code="third_maintenance_change_status" placeholder="è¯·éæ©åæ´ç¶æ" |
| | | v-model="queryParam.changeStatus"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :xl="4" :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> |
| | | </span> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | |
| | | <!-- tableåºå-begin --> |
| | | <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource" |
| | | :pagination="ipagination" :loading="loading" :scroll="{x:'max-content'}" |
| | | @change="handleTableChange"> |
| | | <span slot="action" slot-scope="text, record"> |
| | | <tamplate v-if="record.changeStatus=='WAIT_SUBMIT'"> |
| | | <a @click="handleEdit(record)">ç¼è¾</a> |
| | | |
| | | <a-divider type="vertical"/> |
| | | |
| | | <a-popconfirm title="ç¡®å®æäº¤åï¼" @confirm="handleSubmit(record.id)"> |
| | | <a>æäº¤</a> |
| | | </a-popconfirm> |
| | | |
| | | <a-divider type="vertical"/> |
| | | |
| | | <a-popconfirm title="ç¡®å®ä½åºåï¼" @confirm="handleAbolish(record.id)"> |
| | | <a>ä½åº</a> |
| | | </a-popconfirm> |
| | | </tamplate> |
| | | |
| | | <a @click="handleDetail(record)" v-if="record.changeStatus!='WAIT_SUBMIT'&&record.changeStatus!='ABOLISH'">详æ
</a> |
| | | </span> |
| | | </a-table> |
| | | <!-- tableåºå-end --> |
| | | |
| | | <!-- 表ååºå --> |
| | | <eam-third-maintenance-change-modal ref="orderChangeModal" @ok="modalFormOk"/> |
| | | |
| | | <!--åæ´æµç¨è¡¨å--> |
| | | <!-- <third-maintenance-approval-modal ref="thirdMaintenanceApprovalModal"--> |
| | | <!-- :selectShenpiData="selectThirdMaintenanceData"/>--> |
| | | |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | // import EamThirdMaintenanceOrderModal from './modules/EamThirdMaintenanceOrderModal' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' |
| | | import { deleteAction, getAction } from '@api/manage' |
| | | // import ThirdMaintenanceApprovalModal |
| | | // from '@views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue' |
| | | import EamThirdMaintenanceChangeModal |
| | | from '@views/eam/technical/modules/EamThirdMaintenanceChangeModal.vue' |
| | | |
| | | export default { |
| | | name: 'EamThirdMaintenanceChangeList', |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | EamThirdMaintenanceChangeModal, |
| | | LxSearchEquipmentSelect, |
| | | // EamThirdMaintenanceOrderModal, |
| | | // ThirdMaintenanceApprovalModal |
| | | }, |
| | | props: { |
| | | isDisplayOperation: { |
| | | type: Boolean, |
| | | default: true |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | description: '设å¤ä¸çº§ä¿å
»åæ´é¡µé¢', |
| | | disableMixinCreated: true, |
| | | selectThirdMaintenanceData: {}, |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: 'center', |
| | | fixed: 'left', |
| | | customRender: function(t, r, index) { |
| | | return parseInt(index) + 1 |
| | | } |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: 'center', |
| | | dataIndex: 'equipmentCode', |
| | | fixed: 'left' |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: 'center', |
| | | dataIndex: 'equipmentName', |
| | | fixed: 'left' |
| | | }, |
| | | { |
| | | title: '设å¤åå·', |
| | | align: 'center', |
| | | dataIndex: 'equipmentModel', |
| | | fixed: 'left' |
| | | }, |
| | | { |
| | | title: 'å·¥åå·', |
| | | align: 'center', |
| | | dataIndex: 'orderNum_dictText' |
| | | }, |
| | | { |
| | | title: 'åæ´åå·', |
| | | align: 'center', |
| | | dataIndex: 'changeOrderNum' |
| | | }, |
| | | { |
| | | title: 'ç³è¯·äºº', |
| | | align: 'center', |
| | | dataIndex: 'applicant_dictText' |
| | | }, |
| | | { |
| | | title: 'ç³è¯·é¨é¨', |
| | | align: 'center', |
| | | dataIndex: 'factoryOrgCode_dictText' |
| | | }, |
| | | { |
| | | title: 'ç³è¯·æ¥æ', |
| | | align: 'center', |
| | | dataIndex: 'applyDate' |
| | | }, |
| | | { |
| | | title: 'ç³è¯·ç±»å', |
| | | align: 'center', |
| | | dataIndex: 'applyCategory_dictText' |
| | | }, |
| | | { |
| | | title: 'åæ´ç¶æ', |
| | | align: 'center', |
| | | dataIndex: 'changeStatus_dictText' |
| | | }, |
| | | { |
| | | title: 'åæ´åå ç±»å', |
| | | align: 'center', |
| | | dataIndex: 'applyReasonType_dictText' |
| | | }, |
| | | { |
| | | title: 'å»¶ä¿(åæ´)åå ', |
| | | align: 'center', |
| | | dataIndex: 'applyReason' |
| | | }, |
| | | { |
| | | title: 'å»¶è¿ä¿å
»æ¥æ', |
| | | align: 'center', |
| | | dataIndex: 'deferredMaintenanceDate' |
| | | }, |
| | | { |
| | | title: '主管é¢å¯¼ç¾å', |
| | | align: 'center', |
| | | dataIndex: 'equipmentManagerSignature_dictText' |
| | | }, |
| | | { |
| | | title: '主管é¢å¯¼ç¾åæ¶é´', |
| | | align: 'center', |
| | | dataIndex: 'equipmentManagerSignatureTime' |
| | | }, |
| | | { |
| | | title: 'é¨é¨é¢å¯¼ç¾å', |
| | | align: 'center', |
| | | dataIndex: 'departManagerSignature_dictText' |
| | | }, |
| | | { |
| | | title: 'é¨é¨é¢å¯¼ç¾åæ¶é´', |
| | | align: 'center', |
| | | dataIndex: 'departManagerSignatureTime' |
| | | }, |
| | | { |
| | | title: 'ç产ä¿éé¨é¢å¯¼ç¾å', |
| | | align: 'center', |
| | | dataIndex: 'productionSupportSignature_dictText' |
| | | }, |
| | | { |
| | | title: 'ç产ä¿éé¨é¢å¯¼ç¾åæ¶é´', |
| | | align: 'center', |
| | | dataIndex: 'productionSupportSignatureTime' |
| | | }, |
| | | { |
| | | title: 'HFç¼ç ', |
| | | align: 'center', |
| | | dataIndex: 'hfCode' |
| | | } |
| | | ], |
| | | url: { |
| | | list: '/eam/eamThirdMaintenanceChange/list', |
| | | abolish: '/eam/eamThirdMaintenanceChange/abolish', |
| | | collect: '/eam/eamThirdMaintenanceChange/collect' |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | if (!this.isDisplayOperation) { |
| | | return |
| | | } |
| | | const operationColumn = { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align: 'center', |
| | | fixed: 'right', |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | this.columns = [...this.columns, operationColumn] |
| | | this.loadData(1) |
| | | }, |
| | | computed: {}, |
| | | methods: { |
| | | /** |
| | | * æäº¤æ¶è§¦å |
| | | * @param id |
| | | */ |
| | | handleSubmit(id) { |
| | | const that = this |
| | | that.loading = true |
| | | getAction(this.url.submit, { id }) |
| | | .then(res => { |
| | | if (res.success) { |
| | | that.$notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.loadData() |
| | | that.loading = false |
| | | } else { |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * ä½åºæ¶è§¦å |
| | | * @param id |
| | | */ |
| | | handleAbolish(id) { |
| | | const that = this |
| | | that.loading = true |
| | | getAction(this.url.abolish, { id }) |
| | | .then(res => { |
| | | if (res.success) { |
| | | that.$notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.loadData() |
| | | } else { |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.loading = false |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | // /** |
| | | // * ç¹å»è¯¦æ
æ¶è§¦å |
| | | // * @param record |
| | | // */ |
| | | // handleDetail(record) { |
| | | // this.selectThirdMaintenanceData = Object.assign({}, record) |
| | | // this.$refs.thirdMaintenanceApprovalModal.title = '详æ
' |
| | | // this.$refs.thirdMaintenanceApprovalModal.visible = true |
| | | // this.$refs.thirdMaintenanceApprovalModal.disableSubmit = true |
| | | // this.$refs.thirdMaintenanceApprovalModal.recordDetail(record) |
| | | // }, |
| | | |
| | | /** |
| | | * ç³è¯·æ¶é´åçæ¹åæ¶è§¦å |
| | | * @param dateStringArray |
| | | */ |
| | | handleDateRangeChange(dateStringArray) { |
| | | this.queryParam.dateBegin = dateStringArray[0] |
| | | this.queryParam.dateEnd = dateStringArray[1] |
| | | }, |
| | | |
| | | handlePrint(record) { |
| | | let href = `${window._CONFIG['domianURL']}/jmreport/view/1094880052100399104?id=` + record.id |
| | | // + `&orderId=` + record.id; //ç½ç«é¾æ¥ |
| | | window.open(href, '_blank') |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <a-divider type="vertical"/> |
| | | </template> |
| | | |
| | | <template v-if="record.maintenanceStatus == 'WAIT_MAINTENANCE'||record.maintenanceStatus=='FREEZE'"> |
| | | <a @click="handleOrderChange(record)">åæ´</a> |
| | | |
| | | <a-divider type="vertical"/> |
| | | </template> |
| | | |
| | | <a @click="handleDetail(record)">详æ
</a> |
| | | |
| | | <template v-if="record.maintenanceStatus === 'COMPLETE'"> |
| | |
| | | |
| | | <third-maintenance-approval-modal ref="thirdMaintenanceApprovalModal" |
| | | :selectShenpiData="selectThirdMaintenanceData"/> |
| | | |
| | | <!--å·¥ååæ´å¼¹çª--> |
| | | <eam-third-maintenance-change-modal ref="orderChangeModal" @ok="modalFormOk"/> |
| | | </a-card> |
| | | </template> |
| | | |
| | |
| | | import { deleteAction, getAction } from '@api/manage' |
| | | import ThirdMaintenanceApprovalModal |
| | | from '@views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue' |
| | | import EamThirdMaintenanceChangeModal |
| | | from '@views/eam/technical/modules/EamThirdMaintenanceChangeModal.vue' |
| | | |
| | | export default { |
| | | name: 'EamThirdMaintenanceOrderList', |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | EamThirdMaintenanceChangeModal, |
| | | LxSearchEquipmentSelect, |
| | | EamThirdMaintenanceOrderModal, |
| | | ThirdMaintenanceApprovalModal |
| | |
| | | }, |
| | | |
| | | /** |
| | | * ç¹å»åæ´æ¶è§¦å |
| | | * @param record |
| | | */ |
| | | handleOrderChange(record) { |
| | | this.$refs.orderChangeModal.title = 'åæ´' |
| | | this.$refs.orderChangeModal.add(record) |
| | | }, |
| | | |
| | | /** |
| | | * ç¹å»é¢åæ¶è§¦å |
| | | * @param id |
| | | */ |
| | |
| | | <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 è¡¨æ ¼è¡ä¿¡æ¯ |
| | |
| | | <template> |
| | | <a-card :bordered="false"> |
| | | |
| | | <!-- æ¥è¯¢åºå --> |
| | | <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="å 餿 è®°"> |
| | | <a-input placeholder="请è¾å
¥å 餿 è®°" v-model="queryParam.delFlag"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-col :xl="4" :lg="6" :md="8" :sm="12"> |
| | | <a-form-item label="åæ´åå·"> |
| | | <a-input placeholder="请è¾å
¥åæ´åå·" v-model="queryParam.changeOrderNum"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <template v-if="toggleSearchStatus"> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-col :xl="5" :lg="6" :md="8" :sm="12"> |
| | | <a-form-item label="åæ´åç¶æ"> |
| | | <a-input placeholder="请è¾å
¥åæ´åç¶æ" v-model="queryParam.changeStatus"></a-input> |
| | | <j-dict-select-tag dict-code="technical_status_change_order_status" placeholder="è¯·éæ©åæ´åç¶æ" |
| | | v-model="queryParam.changeStatus"/> |
| | | </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.designer"></a-input> |
| | | <a-col :xl="5" :lg="6" :md="8" :sm="12"> |
| | | <a-form-item label="ç³è¯·åä½"> |
| | | <a-tree-select v-model="queryParam.factoryOrgCode" style="width: 100%" :tree-data="productionTreeData" |
| | | show-search :replaceFields="{key:'orgCode',value:'orgCode'}" |
| | | treeNodeFilterProp="title" searchPlaceholder="请è¾å
¥å
³é®åæç´¢" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" placeholder="è¯·éæ©ç³è¯·åä½" |
| | | allow-clear tree-default-expand-all> |
| | | </a-tree-select> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-col :xl="5" :lg="6" :md="8" :sm="12"> |
| | | <a-form-item label="ç¼å¶æ¶é´"> |
| | | <a-input placeholder="请è¾å
¥ç¼å¶æ¶é´" v-model="queryParam.designerTime"></a-input> |
| | | <a-range-picker v-model="queryParam.dates" value-format="YYYY-MM-DD" @change="handleDateRangeChange"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | </template> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-col :xl="4" :lg="6" :md="8" :sm="12"> |
| | | <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> |
| | | |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | |
| | | <!-- æä½æé®åºå --> |
| | | <div class="table-operator"> |
| | | <a-button @click="handleAdd" type="primary" icon="plus">æ°å¢</a-button> |
| | | <a-button type="primary" icon="download" @click="handleExportXls('ææ¯ç¶æåæ´ç³è¯·')">导åº</a-button> |
| | | <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> |
| | | <a-button type="primary" icon="import">导å
¥</a-button> |
| | | </a-upload> |
| | | <a-dropdown v-if="selectedRowKeys.length > 0"> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>å é¤</a-menu-item> |
| | | </a-menu> |
| | | <a-button style="margin-left: 8px"> æ¹éæä½ <a-icon type="down" /></a-button> |
| | | </a-dropdown> |
| | | </div> |
| | | |
| | | <!-- tableåºå-begin --> |
| | | <div> |
| | | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
| | | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已鿩 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 |
| | | <a style="margin-left: 24px" @click="onClearSelected">æ¸
空</a> |
| | | </div> |
| | | |
| | | <a-table |
| | | ref="table" |
| | | size="middle" |
| | | bordered |
| | | rowKey="id" |
| | | :columns="columns" |
| | | :dataSource="dataSource" |
| | | :pagination="ipagination" |
| | | :loading="loading" |
| | | class="j-table-force-nowrap" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" |
| | | @change="handleTableChange"> |
| | | |
| | | <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource" |
| | | :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"> |
| | | <a @click="handleEdit(record)">ç¼è¾</a> |
| | | <template v-if="record.changeStatus=='WAIT_SUBMIT'"> |
| | | <a @click.stop="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> |
| | | </a-menu-item> |
| | | </a-menu> |
| | | </a-dropdown> |
| | | <a-divider type="vertical"/> |
| | | |
| | | <a-popconfirm title="ç¡®å®æäº¤åï¼" @confirm="handleSubmit(record.id)"> |
| | | <a @click="e=>e.stopPropagation()">æäº¤</a> |
| | | </a-popconfirm> |
| | | |
| | | <a-divider type="vertical"/> |
| | | |
| | | <a-popconfirm title="ç¡®å®ä½åºåï¼" @confirm="handleAbolish(record.id)"> |
| | | <a @click="e=>e.stopPropagation()">ä½åº</a> |
| | | </a-popconfirm> |
| | | </template> |
| | | |
| | | <a @click.stop="handleDetail(record)" |
| | | v-if="record.changeStatus!='WAIT_SUBMIT'&&record.changeStatus!='ABOLISH'">详æ
</a> |
| | | </span> |
| | | |
| | | </a-table> |
| | | </div> |
| | | </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"></eamTechnicalStatusChange-modal> |
| | | <eamTechnicalStatusChange-modal ref="modalForm" @ok="modalFormOk" :productionTreeData="productionTreeData"/> |
| | | |
| | | <!--ç¶æåæ´å®¡æ¹å¼¹çª--> |
| | | <technical-status-change-approval-modal ref="technicalStatusChangeApprovalModal" |
| | | :selectShenpiData="selectedRowData"/> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | import '@/assets/less/TableExpand.less' |
| | | import EamTechnicalStatusChangeModal from './modules/EamTechnicalStatusChangeModal' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import { getAction } from '@/api/manage' |
| | | import TechnicalStatusChangeApprovalModal |
| | | from '../../flowable/workflow/TechnicalStatus/TechnicalStatusChangeApprovalModal' |
| | | import EamTechnicalStatusChangeEquipmentDetail from './modules/EamTechnicalStatusChangeEquipmentDetail' |
| | | |
| | | export default { |
| | | name: "EamTechnicalStatusChangeList", |
| | | mixins:[JeecgListMixin], |
| | | name: 'EamTechnicalStatusChangeList', |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | EamTechnicalStatusChangeEquipmentDetail, |
| | | TechnicalStatusChangeApprovalModal, |
| | | EamTechnicalStatusChangeModal |
| | | }, |
| | | data () { |
| | | data() { |
| | | return { |
| | | description: 'ææ¯ç¶æåæ´ç³è¯·ç®¡ç页é¢', |
| | | // 表头 |
| | |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key:'rowIndex', |
| | | width:60, |
| | | align:"center", |
| | | customRender:function (t,r,index) { |
| | | return parseInt(index)+1; |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: 'center', |
| | | customRender: function(t, r, index) { |
| | | return parseInt(index) + 1 |
| | | } |
| | | }, |
| | | { |
| | | title: 'å 餿 è®°', |
| | | align:"center", |
| | | dataIndex: 'delFlag' |
| | | }, |
| | | { |
| | | }, |
| | | { |
| | | title: 'åæ´åå·', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'changeOrderNum' |
| | | }, |
| | | { |
| | | }, |
| | | { |
| | | title: 'åæ´åç¶æ', |
| | | align:"center", |
| | | dataIndex: 'changeStatus' |
| | | }, |
| | | { |
| | | align: 'center', |
| | | dataIndex: 'changeStatus_dictText' |
| | | }, |
| | | { |
| | | title: 'ç¼å¶äºº', |
| | | align:"center", |
| | | dataIndex: 'designer' |
| | | }, |
| | | { |
| | | align: 'center', |
| | | dataIndex: 'designer_dictText' |
| | | }, |
| | | { |
| | | title: 'ç¼å¶æ¶é´', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'designerTime' |
| | | }, |
| | | { |
| | | title: '使ç¨åä½å®¤ä¸»ç®¡ç¾å', |
| | | align:"center", |
| | | dataIndex: 'departHeaderSignature' |
| | | }, |
| | | { |
| | | title: '使ç¨åä½å®¤ä¸»ç®¡ç¾åæ¶é´', |
| | | align:"center", |
| | | }, |
| | | { |
| | | title: '使ç¨åä½å®¤çº§ä¸»ç®¡ç¾å', |
| | | align: 'center', |
| | | dataIndex: 'departHeaderSignature_dictText' |
| | | }, |
| | | { |
| | | title: '使ç¨åä½å®¤çº§ä¸»ç®¡ç¾åæ¶é´', |
| | | align: 'center', |
| | | dataIndex: 'departHeaderSignatureTime' |
| | | }, |
| | | { |
| | | title: '使ç¨åä½å®¤ä¸»ç®¡æè§', |
| | | align:"center", |
| | | dataIndex: 'departHeaderSignatureComment' |
| | | }, |
| | | { |
| | | title: '使ç¨åä½é¨ä¸»ç®¡ç¾å', |
| | | align:"center", |
| | | dataIndex: 'departLeaderSignature' |
| | | }, |
| | | { |
| | | title: '使ç¨åä½é¨ä¸»ç®¡ç¾åæ¶é´', |
| | | align:"center", |
| | | }, |
| | | { |
| | | title: '使ç¨åä½é¨çº§ä¸»ç®¡ç¾å', |
| | | align: 'center', |
| | | dataIndex: 'departLeaderSignature_dictText' |
| | | }, |
| | | { |
| | | title: '使ç¨åä½é¨çº§ä¸»ç®¡ç¾åæ¶é´', |
| | | align: 'center', |
| | | dataIndex: 'departLeaderSignatureTime' |
| | | }, |
| | | { |
| | | title: '使ç¨åä½é¨ä¸»ç®¡ç¾å', |
| | | align:"center", |
| | | dataIndex: 'departLeaderSignatureComment' |
| | | }, |
| | | { |
| | | }, |
| | | { |
| | | title: 'HFç¼ç ', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'hfCode' |
| | | }, |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align:"center", |
| | | scopedSlots: { customRender: 'action' }, |
| | | align: 'center', |
| | | width: 200, |
| | | fixed: 'right', |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/eam/eamTechnicalStatusChange/list", |
| | | delete: "/eam/eamTechnicalStatusChange/delete", |
| | | deleteBatch: "/eam/eamTechnicalStatusChange/deleteBatch", |
| | | exportXlsUrl: "eam/eamTechnicalStatusChange/exportXls", |
| | | importExcelUrl: "eam/eamTechnicalStatusChange/importExcel", |
| | | }, |
| | | } |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function(){ |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | } |
| | | }, |
| | | productionTreeData: [], |
| | | selectedRowData: {}, |
| | | url: { |
| | | list: '/eam/eamTechnicalStatusChange/list', |
| | | submit: '/eam/eamTechnicalStatusChange/submit', |
| | | abolish: '/eam/eamTechnicalStatusChange/abolish', |
| | | getProductionTreeList: '/eam/BaseFactory/queryTreeList' |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | this.getProductionTreeDataByApi() |
| | | }, |
| | | methods: { |
| | | |
| | | // è·åç³è¯·å使 |
| | | getProductionTreeDataByApi() { |
| | | getAction(this.url.getProductionTreeList) |
| | | .then(res => { |
| | | if (res.success) { |
| | | this.productionTreeData = res.result |
| | | } else { |
| | | this.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * æäº¤æ¶è§¦å |
| | | * @param id |
| | | */ |
| | | handleSubmit(id) { |
| | | const that = this |
| | | that.loading = true |
| | | getAction(this.url.submit, { id }) |
| | | .then(res => { |
| | | if (res.success) { |
| | | that.$notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.loadData() |
| | | } else { |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.loading = false |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * ä½åºæ¶è§¦å |
| | | * @param id |
| | | */ |
| | | handleAbolish(id) { |
| | | const that = this |
| | | that.loading = true |
| | | getAction(this.url.abolish, { id }) |
| | | .then(res => { |
| | | if (res.success) { |
| | | that.$notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.loadData() |
| | | } else { |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.loading = false |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * ç¹å»è¯¦æ
æ¶è§¦åæ¶è§¦å |
| | | * @param record |
| | | */ |
| | | handleDetail(record) { |
| | | this.selectedRowData = Object.assign({}, record) |
| | | this.$refs.technicalStatusChangeApprovalModal.title = '详æ
' |
| | | this.$refs.technicalStatusChangeApprovalModal.disableSubmit = true |
| | | this.$refs.technicalStatusChangeApprovalModal.visible = true |
| | | this.$refs.technicalStatusChangeApprovalModal.handleDetail(record) |
| | | }, |
| | | |
| | | customRow(record) { |
| | | return { |
| | | style: { |
| | | cursor: 'pointer' |
| | | }, |
| | | on: { |
| | | click: event => { |
| | | this.onSelectChange([record.id], [record]) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | |
| | | /** |
| | | * ç³è¯·æ¶é´åçæ¹åæ¶è§¦å |
| | | * @param dateStringArray |
| | | */ |
| | | handleDateRangeChange(dateStringArray) { |
| | | this.queryParam.dateBegin = dateStringArray[0] |
| | | this.queryParam.dateEnd = dateStringArray[1] |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
| | | </script> |
| | |
| | | <template> |
| | | <a-card :bordered="false"> |
| | | |
| | | <!-- æ¥è¯¢åºå --> |
| | | <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="å 餿 è®°"> |
| | | <a-input placeholder="请è¾å
¥å 餿 è®°" v-model="queryParam.delFlag"></a-input> |
| | | <a-col :xl="5" :lg="6" :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="24"> |
| | | <a-col :xl="4" :lg="6" :md="8" :sm="12"> |
| | | <a-form-item label="ç³è¯·åå·"> |
| | | <a-input placeholder="请è¾å
¥ç³è¯·åå·" v-model="queryParam.applicationOrderNum"></a-input> |
| | | <a-input placeholder="请è¾å
¥ç³è¯·åå·" v-model="queryParam.applicationOrderNum"/> |
| | | </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.applicant"></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-col :xl="5" :lg="6" :md="8" :sm="12"> |
| | | <a-form-item label="ç³è¯·é¨é¨"> |
| | | <a-input placeholder="请è¾å
¥ç³è¯·é¨é¨" v-model="queryParam.factoryOrgCode"></a-input> |
| | | <a-tree-select v-model="queryParam.factoryOrgCode" style="width: 100%" :tree-data="productionTreeData" |
| | | show-search :replaceFields="{key:'orgCode',value:'orgCode'}" |
| | | treeNodeFilterProp="title" searchPlaceholder="请è¾å
¥å
³é®åæç´¢" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" placeholder="è¯·éæ©ç³è¯·é¨é¨" |
| | | allow-clear tree-default-expand-all> |
| | | </a-tree-select> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-col :xl="5" :lg="6" :md="8" :sm="12"> |
| | | <a-form-item label="ç³è¯·æ¥æ"> |
| | | <a-input placeholder="请è¾å
¥ç³è¯·æ¥æ" v-model="queryParam.applyDate"></a-input> |
| | | <a-range-picker v-model="queryParam.applyDate" value-format="YYYY-MM-DD" @change="handleDateRangeChange"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | </template> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-col :xl="5" :lg="6" :md="8" :sm="12"> |
| | | <a-form-item label="ç³è¯·åç¶æ"> |
| | | <j-dict-select-tag v-model="queryParam.applicationStatus" placeholder="è¯·éæ©ç³è¯·åç¶æ" |
| | | dict-code="technical_status_evaluation_application_status"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="4" :lg="6" :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> |
| | | |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | |
| | | <!-- æä½æé®åºå --> |
| | | <div class="table-operator"> |
| | | <a-button @click="handleAdd" type="primary" icon="plus">æ°å¢</a-button> |
| | | <a-button type="primary" icon="download" @click="handleExportXls('å å·¥è®¾å¤ææ¯é´å®ç³è¯·')">导åº</a-button> |
| | | <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> |
| | | <a-button type="primary" icon="import">导å
¥</a-button> |
| | | </a-upload> |
| | | <a-dropdown v-if="selectedRowKeys.length > 0"> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>å é¤</a-menu-item> |
| | | </a-menu> |
| | | <a-button style="margin-left: 8px"> æ¹éæä½ <a-icon type="down" /></a-button> |
| | | </a-dropdown> |
| | | </div> |
| | | |
| | | <!-- tableåºå-begin --> |
| | | <div> |
| | | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
| | | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已鿩 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 |
| | | <a style="margin-left: 24px" @click="onClearSelected">æ¸
空</a> |
| | | </div> |
| | | |
| | | <a-table |
| | | ref="table" |
| | | size="middle" |
| | | bordered |
| | | rowKey="id" |
| | | :columns="columns" |
| | | :dataSource="dataSource" |
| | | :pagination="ipagination" |
| | | :loading="loading" |
| | | class="j-table-force-nowrap" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" |
| | | @change="handleTableChange"> |
| | | <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource" |
| | | :pagination="ipagination" :loading="loading" :scroll="{x:'max-content'}" @change="handleTableChange"> |
| | | |
| | | <span slot="action" slot-scope="text, record"> |
| | | <a @click="handleEdit(record)">ç¼è¾</a> |
| | | <template v-if="record.applicationStatus=='WAIT_SUBMIT'"> |
| | | <a @click.stop="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> |
| | | </a-menu-item> |
| | | </a-menu> |
| | | </a-dropdown> |
| | | <a-divider type="vertical"/> |
| | | |
| | | <a-popconfirm title="ç¡®å®æäº¤åï¼" @confirm="handleSubmit(record.id)"> |
| | | <a @click="e=>e.stopPropagation()">æäº¤</a> |
| | | </a-popconfirm> |
| | | |
| | | <a-divider type="vertical"/> |
| | | |
| | | <a-popconfirm title="ç¡®å®ä½åºåï¼" @confirm="handleAbolish(record.id)"> |
| | | <a @click="e=>e.stopPropagation()">ä½åº</a> |
| | | </a-popconfirm> |
| | | </template> |
| | | |
| | | <a @click.stop="handleDetail(record)" |
| | | v-if="record.applicationStatus!='WAIT_SUBMIT'&&record.applicationStatus!='ABOLISH'">详æ
</a> |
| | | </span> |
| | | |
| | | </a-table> |
| | | </div> |
| | | </a-table> |
| | | <!-- tableåºå-end --> |
| | | |
| | | <!-- 表ååºå --> |
| | | <eamTechnicalStatusEvaluationApplication-modal ref="modalForm" @ok="modalFormOk"></eamTechnicalStatusEvaluationApplication-modal> |
| | | <eamTechnicalStatusEvaluationApplication-modal ref="modalForm" @ok="modalFormOk" |
| | | :productionTreeData="productionTreeData"/> |
| | | |
| | | <technical-status-evaluation-application-approval-modal ref="technicalStatusEvaluationApplicationApprovalModal" |
| | | :selectShenpiData="selectedRowData"/> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | import '@/assets/less/TableExpand.less' |
| | | import EamTechnicalStatusEvaluationApplicationModal from './modules/EamTechnicalStatusEvaluationApplicationModal' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import LxSearchEquipmentSelect from '../equipment/modules/LxSearchEquipmentSelect' |
| | | import { getAction } from '@/api/manage' |
| | | import TechnicalStatusEvaluationApplicationApprovalModal |
| | | from '../../flowable/workflow/TechnicalStatusEvaluation/TechnicalStatusEvaluationApplicationApprovalModal' |
| | | |
| | | export default { |
| | | name: "EamTechnicalStatusEvaluationApplicationList", |
| | | mixins:[JeecgListMixin], |
| | | name: 'EamTechnicalStatusEvaluationApplicationList', |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | TechnicalStatusEvaluationApplicationApprovalModal, |
| | | LxSearchEquipmentSelect, |
| | | EamTechnicalStatusEvaluationApplicationModal |
| | | }, |
| | | data () { |
| | | data() { |
| | | return { |
| | | description: 'å å·¥è®¾å¤ææ¯é´å®ç³è¯·ç®¡ç页é¢', |
| | | productionTreeData: [], |
| | | selectedRowData: {}, |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key:'rowIndex', |
| | | width:60, |
| | | align:"center", |
| | | customRender:function (t,r,index) { |
| | | return parseInt(index)+1; |
| | | } |
| | | }, |
| | | { |
| | | title: 'å 餿 è®°', |
| | | align:"center", |
| | | dataIndex: 'delFlag' |
| | | }, |
| | | { |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: 'center', |
| | | customRender: function(t, r, index) { |
| | | return parseInt(index) + 1 |
| | | }, |
| | | fixed: 'left' |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: 'center', |
| | | dataIndex: 'equipmentCode', |
| | | fixed: 'left' |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: 'center', |
| | | dataIndex: 'equipmentName', |
| | | fixed: 'left' |
| | | }, |
| | | { |
| | | title: '设å¤åå·', |
| | | align: 'center', |
| | | dataIndex: 'equipmentModel', |
| | | fixed: 'left' |
| | | }, |
| | | { |
| | | title: 'ç³è¯·åç¶æ', |
| | | align: 'center', |
| | | dataIndex: 'applicationStatus_dictText', |
| | | fixed: 'left' |
| | | }, |
| | | { |
| | | title: 'ç³è¯·åå·', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'applicationOrderNum' |
| | | }, |
| | | { |
| | | }, |
| | | { |
| | | title: 'ç³è¯·äºº', |
| | | align:"center", |
| | | dataIndex: 'applicant' |
| | | }, |
| | | { |
| | | align: 'center', |
| | | dataIndex: 'applicant_dictText' |
| | | }, |
| | | { |
| | | title: 'ç³è¯·é¨é¨', |
| | | align:"center", |
| | | dataIndex: 'factoryOrgCode' |
| | | }, |
| | | { |
| | | align: 'center', |
| | | dataIndex: 'factoryOrgCode_dictText' |
| | | }, |
| | | { |
| | | title: 'ç³è¯·æ¥æ', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'applyDate' |
| | | }, |
| | | { |
| | | title: 'ç³è¯·åç¶æ;å¾
æäº¤ãå¾
åä½å®¤çº§é¢å¯¼å®¡æ ¸ãç产设å¤ç®¡çä¸»ç®¡å®¡æ ¸ãå¾
ä¿éé¨é¢å¯¼å®¡æ ¸ãå·²ä½åºã已宿', |
| | | align:"center", |
| | | dataIndex: 'applicationStatus' |
| | | }, |
| | | { |
| | | }, |
| | | { |
| | | title: 'ææ¯ç¶æé´å®æ¥æ', |
| | | align: 'center', |
| | | dataIndex: 'evaluationDate' |
| | | }, |
| | | { |
| | | title: 'ç³è¯·åä½å®¤çº§é¢å¯¼ç¾å', |
| | | align:"center", |
| | | dataIndex: 'departHeaderSignature' |
| | | }, |
| | | { |
| | | align: 'center', |
| | | dataIndex: 'departHeaderSignature_dictText' |
| | | }, |
| | | { |
| | | title: 'ç³è¯·åä½å®¤çº§é¢å¯¼ç¾åæ¶é´', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'departHeaderSignatureTime' |
| | | }, |
| | | { |
| | | title: 'ç³è¯·åä½å®¤çº§é¢å¯¼æè§', |
| | | align:"center", |
| | | dataIndex: 'departHeaderComment' |
| | | }, |
| | | { |
| | | }, |
| | | { |
| | | title: 'ç产设å¤ç®¡ç主管ç¾å', |
| | | align:"center", |
| | | dataIndex: 'productionHeaderSignature' |
| | | }, |
| | | { |
| | | title: 'ç产设å¤ç®¡ç主管ç¾ååä»¶', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'productionHeaderSignature_dictText' |
| | | }, |
| | | { |
| | | title: 'ç产设å¤ç®¡ç主管ç¾åæ¶é´', |
| | | align: 'center', |
| | | dataIndex: 'productionHeaderSignatureTime' |
| | | }, |
| | | { |
| | | title: 'ç产设å¤ç®¡ç主管æè§', |
| | | align:"center", |
| | | dataIndex: 'productionHeaderComment' |
| | | }, |
| | | { |
| | | }, |
| | | { |
| | | title: 'ç产ä¿éé¨é¢å¯¼ç¾å', |
| | | align:"center", |
| | | dataIndex: 'productionSupportSignature' |
| | | }, |
| | | { |
| | | align: 'center', |
| | | dataIndex: 'productionSupportSignature_dictText' |
| | | }, |
| | | { |
| | | title: 'ç产ä¿éé¨é¢å¯¼ç¾åæ¶é´', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'productionSupportSignatureTime' |
| | | }, |
| | | { |
| | | title: 'ç产ä¿éé¨é¢å¯¼æè§', |
| | | align:"center", |
| | | dataIndex: 'productionSupportComment' |
| | | }, |
| | | { |
| | | }, |
| | | { |
| | | title: 'HFç¼ç ', |
| | | align:"center", |
| | | align: 'center', |
| | | dataIndex: 'hfCode' |
| | | }, |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align:"center", |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'action' }, |
| | | fixed: 'right', |
| | | width: 200 |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/eam/eamTechnicalStatusEvaluationApplication/list", |
| | | delete: "/eam/eamTechnicalStatusEvaluationApplication/delete", |
| | | deleteBatch: "/eam/eamTechnicalStatusEvaluationApplication/deleteBatch", |
| | | exportXlsUrl: "eam/eamTechnicalStatusEvaluationApplication/exportXls", |
| | | importExcelUrl: "eam/eamTechnicalStatusEvaluationApplication/importExcel", |
| | | }, |
| | | } |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function(){ |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | } |
| | | }, |
| | | url: { |
| | | list: '/eam/eamTechnicalStatusEvaluationApplication/list', |
| | | submit: '/eam/eamTechnicalStatusEvaluationApplication/submit', |
| | | abolish: '/eam/eamTechnicalStatusEvaluationApplication/abolish', |
| | | getProductionTreeList: '/eam/BaseFactory/queryTreeList' |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | this.getProductionTreeDataByApi() |
| | | }, |
| | | methods: { |
| | | |
| | | // è·åç³è¯·é¨é¨æ |
| | | getProductionTreeDataByApi() { |
| | | getAction(this.url.getProductionTreeList) |
| | | .then(res => { |
| | | if (res.success) { |
| | | this.productionTreeData = res.result |
| | | } else { |
| | | this.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * æäº¤æ¶è§¦å |
| | | * @param id |
| | | */ |
| | | handleSubmit(id) { |
| | | const that = this |
| | | that.loading = true |
| | | getAction(this.url.submit, { id }) |
| | | .then(res => { |
| | | if (res.success) { |
| | | that.$notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.loadData() |
| | | } else { |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.loading = false |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * ä½åºæ¶è§¦å |
| | | * @param id |
| | | */ |
| | | handleAbolish(id) { |
| | | const that = this |
| | | that.loading = true |
| | | getAction(this.url.abolish, { id }) |
| | | .then(res => { |
| | | if (res.success) { |
| | | that.$notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.loadData() |
| | | } else { |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.loading = false |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * ç¹å»è¯¦æ
æ¶è§¦åæ¶è§¦å |
| | | * @param record |
| | | */ |
| | | handleDetail(record) { |
| | | this.selectedRowData = Object.assign({}, record) |
| | | this.$refs.technicalStatusEvaluationApplicationApprovalModal.title = '详æ
' |
| | | this.$refs.technicalStatusEvaluationApplicationApprovalModal.disableSubmit = true |
| | | this.$refs.technicalStatusEvaluationApplicationApprovalModal.visible = true |
| | | this.$refs.technicalStatusEvaluationApplicationApprovalModal.handleDetail(record) |
| | | }, |
| | | |
| | | /** |
| | | * ç³è¯·æ¥æå¼åçæ¹åæ¶è§¦å |
| | | * @param dateStringArray |
| | | */ |
| | | handleDateRangeChange(dateStringArray) { |
| | | this.queryParam.dateBegin = dateStringArray[0] |
| | | this.queryParam.dateEnd = dateStringArray[1] |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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="800" |
| | | :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="delFlag" label="å 餿 è®°"> |
| | | <a-input-number v-model="model.delFlag"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="changeOrderNum" label="åæ´åå·"> |
| | | <a-input placeholder="请è¾å
¥åæ´åå·" v-model="model.changeOrderNum" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="changeStatus" label="åæ´åç¶æ"> |
| | | <a-input placeholder="请è¾å
¥åæ´åç¶æ" v-model="model.changeStatus" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="designer" label="ç¼å¶äºº"> |
| | | <a-input placeholder="请è¾å
¥ç¼å¶äºº" v-model="model.designer" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="designerTime" label="ç¼å¶æ¶é´"> |
| | | <a-input placeholder="请è¾å
¥ç¼å¶æ¶é´" v-model="model.designerTime" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departHeaderSignature" label="使ç¨åä½å®¤ä¸»ç®¡ç¾å"> |
| | | <a-input placeholder="请è¾å
¥ä½¿ç¨åä½å®¤ä¸»ç®¡ç¾å" v-model="model.departHeaderSignature" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departHeaderSignatureTime" label="使ç¨åä½å®¤ä¸»ç®¡ç¾åæ¶é´"> |
| | | <a-input placeholder="请è¾å
¥ä½¿ç¨åä½å®¤ä¸»ç®¡ç¾åæ¶é´" v-model="model.departHeaderSignatureTime" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departHeaderSignatureComment" label="使ç¨åä½å®¤ä¸»ç®¡æè§"> |
| | | <a-input placeholder="请è¾å
¥ä½¿ç¨åä½å®¤ä¸»ç®¡æè§" v-model="model.departHeaderSignatureComment" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departLeaderSignature" label="使ç¨åä½é¨ä¸»ç®¡ç¾å"> |
| | | <a-input placeholder="请è¾å
¥ä½¿ç¨åä½é¨ä¸»ç®¡ç¾å" v-model="model.departLeaderSignature" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departLeaderSignatureTime" label="使ç¨åä½é¨ä¸»ç®¡ç¾åæ¶é´"> |
| | | <a-input placeholder="请è¾å
¥ä½¿ç¨åä½é¨ä¸»ç®¡ç¾åæ¶é´" v-model="model.departLeaderSignatureTime" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departLeaderSignatureComment" label="使ç¨åä½é¨ä¸»ç®¡ç¾å"> |
| | | <a-input placeholder="请è¾å
¥ä½¿ç¨åä½é¨ä¸»ç®¡ç¾å" v-model="model.departLeaderSignatureComment" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hfCode" label="HFç¼ç "> |
| | | <a-input placeholder="请è¾å
¥HFç¼ç " v-model="model.hfCode" /> |
| | | </a-form-model-item> |
| | | |
| | | </a-form-model> |
| | | <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen |
| | | @ok="handleOk" @cancel="handleCancel" cancelText="å
³é"> |
| | | <a-spin :spinning="spinning"> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-row> |
| | | <a-col :span="8"> |
| | | <a-form-model-item label="åæ´åå·"> |
| | | <a-input placeholder="ç³»ç»èªå¨çæ" v-model="model.changeOrderNum" disabled/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="8"> |
| | | <a-form-model-item label="ç³è¯·åä½" prop="factoryOrgCode"> |
| | | <a-tree-select v-model="model.factoryOrgCode" :tree-data="productionTreeData" |
| | | @change="detail.dataSource=[]" |
| | | show-search :replaceFields="{key:'orgCode',value:'orgCode'}" |
| | | treeNodeFilterProp="title" searchPlaceholder="请è¾å
¥å
³é®åæç´¢" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" placeholder="è¯·éæ©ç³è¯·åä½" |
| | | allow-clear tree-default-expand-all :allow-clear="false"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="夿³¨" :labelCol="{span:2}" :wrapperCol="{span:20}"> |
| | | <a-textarea placeholder="请è¾å
¥å¤æ³¨" v-model="model.remark"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form-model> |
| | | </div> |
| | | |
| | | <j-vxe-table ref="editableDetailTable" rowNumber rowSelection bordered alwaysEdit toolbar |
| | | v-if="model.factoryOrgCode" |
| | | :toolbarConfig="detail.toolbarConfig" keep-source :height="300" |
| | | :dataSource="detail.dataSource" :columns="detail.columns"> |
| | | <!--ç»ä¸ç¼ç --> |
| | | <template v-slot:equipmentId="props"> |
| | | <lx-search-equipment-select v-model="props.row.equipmentId" placeholder="请è¾å
¥ç»ä¸ç¼ç æåç§°æç´¢" |
| | | :factoryOrgCode="model.factoryOrgCode" |
| | | @autocompleteForm="autocompleteForm($event,props.row)" :allowClear="false"/> |
| | | </template> |
| | | |
| | | <!-- ä¿å
»æ¥æ--> |
| | | <template v-slot:changeDate="props"> |
| | | <a-date-picker v-model="props.row.changeDate" value-format="YYYY-MM-DD" :allow-clear="false"/> |
| | | </template> |
| | | |
| | | <!-- æä½--> |
| | | <template v-slot:action="props"> |
| | | <a :disabled="!props.row.equipmentId" @click="handlePreviewDetail(props.row.standardId)">é¢è§æç»</a> |
| | | </template> |
| | | </j-vxe-table> |
| | | </a-spin> |
| | | </j-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import { httpAction } from '@/api/manage' |
| | | import moment from "moment" |
| | | import { httpAction, getAction } from '@/api/manage' |
| | | import { JVXETypes } from '@comp/jeecg/JVxeTable' |
| | | import LxSearchEquipmentSelect from '../../equipment/modules/LxSearchEquipmentSelect' |
| | | |
| | | export default { |
| | | name: "EamTechnicalStatusChangeModal", |
| | | data () { |
| | | name: 'EamTechnicalStatusChangeModal', |
| | | components: { LxSearchEquipmentSelect }, |
| | | props: { |
| | | productionTreeData: { |
| | | type: Array |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | title:"æä½", |
| | | title: 'æä½', |
| | | visible: false, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | sm: { span: 6 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | sm: { span: 18 } |
| | | }, |
| | | |
| | | confirmLoading: false, |
| | | validatorRules:{ |
| | | spinning: false, |
| | | validatorRules: { |
| | | factoryOrgCode: [{ required: true, message: 'è¯·éæ©ç³è¯·åä½', trigger: 'change' }] |
| | | }, |
| | | detail: { |
| | | dataSource: [], |
| | | columns: [ |
| | | { |
| | | title: 'ID', |
| | | key: 'id', |
| | | type: JVXETypes.hidden |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | key: 'equipmentId', |
| | | align: 'center', |
| | | type: JVXETypes.slot, |
| | | slotName: 'equipmentId', |
| | | width: 250, |
| | | validateRules: [ |
| | | { required: true, message: '请è¾å
¥${title}æåç§°æç´¢' }, |
| | | { unique: true, message: '${title}ä¸è½éå¤' } |
| | | ] |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | key: 'equipmentName', |
| | | align: 'center', |
| | | type: JVXETypes.normal, |
| | | width: 200 |
| | | }, |
| | | { |
| | | title: '设å¤åå·', |
| | | key: 'equipmentModel', |
| | | align: 'center', |
| | | type: JVXETypes.normal, |
| | | width: 200 |
| | | }, |
| | | { |
| | | title: '使ç¨åä½', |
| | | key: 'factoryName', |
| | | align: 'center', |
| | | type: JVXETypes.normal, |
| | | width: 200 |
| | | }, |
| | | { |
| | | title: 'åæ´åå ', |
| | | key: 'changeCategory', |
| | | align: 'center', |
| | | dictCode: 'technical_status_change_reason', |
| | | type: JVXETypes.select, |
| | | width: 200, |
| | | placeholder: 'è¯·éæ©${title}', |
| | | validateRules: [{ required: true, message: 'è¯·éæ©${title}' }] |
| | | }, |
| | | { |
| | | title: 'åæ´æ¥æ', |
| | | key: 'changeDate', |
| | | align: 'center', |
| | | type: JVXETypes.slot, |
| | | width: 200, |
| | | slotName: 'changeDate', |
| | | validateRules: [{ required: true, message: 'è¯·éæ©${title}' }] |
| | | }, |
| | | { |
| | | title: 'åæ´åææ¯ç¶æ', |
| | | key: 'changeTechnicalStatus', |
| | | align: 'center', |
| | | dictCode: 'equipment_technology_status', |
| | | type: JVXETypes.select, |
| | | width: 220, |
| | | placeholder: 'è¯·éæ©${title}', |
| | | validateRules: [{ required: true, message: 'è¯·éæ©${title}' }] |
| | | } |
| | | ], |
| | | toolbarConfig: { |
| | | // prefix åç¼ï¼suffix åç¼ |
| | | slot: ['prefix', 'suffix'], |
| | | // add æ°å¢æé®ï¼remove å 餿é®ï¼clearSelection æ¸
ç©ºéæ©æé® |
| | | btn: ['add', 'remove', 'clearSelection'] |
| | | } |
| | | }, |
| | | url: { |
| | | add: "/eam/eamTechnicalStatusChange/add", |
| | | edit: "/eam/eamTechnicalStatusChange/edit", |
| | | }, |
| | | add: '/eam/eamTechnicalStatusChange/add', |
| | | edit: '/eam/eamTechnicalStatusChange/edit', |
| | | detail: '/eam/eamTechnicalStatusChangeDetail/queryList' |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | }, |
| | | methods: { |
| | | add () { |
| | | add() { |
| | | //åå§åé»è®¤å¼ |
| | | this.edit({}); |
| | | this.edit({}) |
| | | }, |
| | | edit (record) { |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | |
| | | edit(record) { |
| | | this.model = Object.assign({}, record) |
| | | this.visible = true |
| | | if (record.id) this.loadDetail(record.id) |
| | | }, |
| | | close () { |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | this.$refs.form.clearValidate(); |
| | | |
| | | /** |
| | | * è·åè®¾å¤æç» |
| | | * @param orderId |
| | | */ |
| | | loadDetail(orderId) { |
| | | this.spinning = true |
| | | this.detail.dataSource = [] |
| | | getAction(this.url.detail, { orderId }) |
| | | .then(res => { |
| | | console.log('res', res) |
| | | if (res.success) this.detail.dataSource = res.result |
| | | }) |
| | | .finally(() => { |
| | | this.spinning = false |
| | | }) |
| | | }, |
| | | handleOk () { |
| | | const that = this; |
| | | |
| | | autocompleteForm(selectObj, record) { |
| | | record.factoryName = selectObj.factoryOrgCode_dictText |
| | | record.equipmentName = selectObj.equipmentName |
| | | record.equipmentModel = selectObj.equipmentModel |
| | | record.changeTechnicalStatus = 'PROHIBITED' |
| | | }, |
| | | |
| | | async handleOk() { |
| | | const tableData = this.$refs.editableDetailTable.getTableData() |
| | | if (tableData.length == 0) { |
| | | this.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: '请è³å°æ°å¢ä¸æ¡è®°å½' |
| | | }) |
| | | return |
| | | } |
| | | |
| | | const errMap = await this.$refs.editableDetailTable.validateTable() |
| | | if (errMap) return |
| | | |
| | | const that = this |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | | let httpurl = ''; |
| | | let method = ''; |
| | | if(!this.model.id){ |
| | | httpurl+=this.url.add; |
| | | method = 'post'; |
| | | }else{ |
| | | httpurl+=this.url.edit; |
| | | method = 'put'; |
| | | that.confirmLoading = that.spinning = true |
| | | let httpUrl = '' |
| | | let method = '' |
| | | if (!this.model.id) { |
| | | httpUrl += this.url.add |
| | | method = 'post' |
| | | } else { |
| | | httpUrl += this.url.edit |
| | | method = 'put' |
| | | } |
| | | httpAction(httpurl,this.model,method).then((res)=>{ |
| | | if(res.success){ |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | }else{ |
| | | that.$message.warning(res.message); |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.close(); |
| | | }) |
| | | }else{ |
| | | return false; |
| | | that.model.tableDetailList = this.$refs.editableDetailTable.getTableData() |
| | | httpAction(httpUrl, this.model, method) |
| | | .then((res) => { |
| | | if (res.success) { |
| | | that.$notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.$emit('ok') |
| | | that.close() |
| | | } else { |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | that.confirmLoading = that.spinning = false |
| | | }) |
| | | } else { |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | | handleCancel () { |
| | | |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | |
| | | close() { |
| | | this.$emit('close') |
| | | this.visible = false |
| | | this.$refs.form.clearValidate() |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | |
| | | /deep/ .ant-select-dropdown-menu { |
| | | text-align: left; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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> |
| | |
| | | <template> |
| | | <j-modal |
| | | :title="title" |
| | | :width="800" |
| | | :visible="visible" |
| | | :confirmLoading="confirmLoading" |
| | | switchFullscreen |
| | | @ok="handleOk" |
| | | @cancel="handleCancel" |
| | | cancelText="å
³é"> |
| | | |
| | | <j-modal :title="title" :width="800" :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="delFlag" label="å 餿 è®°"> |
| | | <a-input-number v-model="model.delFlag"/> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-form-model-item prop="factoryOrgCode" label="ç³è¯·é¨é¨"> |
| | | <a-tree-select v-model="model.factoryOrgCode" style="width: 100%" :tree-data="productionTreeData" |
| | | :disabled="!editable" |
| | | show-search :replaceFields="{key:'orgCode',value:'orgCode'}" |
| | | @change="()=>delete model.equipmentId" |
| | | treeNodeFilterProp="title" searchPlaceholder="请è¾å
¥å
³é®åæç´¢" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" placeholder="è¯·éæ©ç³è¯·é¨é¨" |
| | | :allow-clear="false" tree-default-expand-all/> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="applicationOrderNum" label="ç³è¯·åå·"> |
| | | <a-input placeholder="请è¾å
¥ç³è¯·åå·" v-model="model.applicationOrderNum" /> |
| | | <a-form-model-item prop="equipmentId" label="ç»ä¸ç¼ç "> |
| | | <lx-search-equipment-select :disabled="!editable||!model.factoryOrgCode" |
| | | :placeholder="!model.factoryOrgCode?'è¯·éæ©ç³è¯·é¨é¨':'请è¾å
¥ç»ä¸ç¼ç æåç§°æç´¢'" |
| | | v-model="model.equipmentId" :allow-clear="false" |
| | | :factoryOrgCode="model.factoryOrgCode"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="applicant" label="ç³è¯·äºº"> |
| | | <a-input placeholder="请è¾å
¥ç³è¯·äºº" v-model="model.applicant" /> |
| | | <a-form-model-item prop="evaluationDate" label="ææ¯ç¶æé´å®æ¥æ"> |
| | | <a-date-picker value-format="YYYY-MM-DD" v-model="model.evaluationDate" :allow-clear="false" |
| | | style="width: 100%"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryOrgCode" label="ç³è¯·é¨é¨"> |
| | | <a-input placeholder="请è¾å
¥ç³è¯·é¨é¨" v-model="model.factoryOrgCode" /> |
| | | <a-form-model-item label="夿³¨"> |
| | | <a-textarea placeholder="请è¾å
¥å¤æ³¨" v-model="model.remark"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="applyDate" label="ç³è¯·æ¥æ"> |
| | | <a-input placeholder="请è¾å
¥ç³è¯·æ¥æ" v-model="model.applyDate" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="applicationStatus" label="ç³è¯·åç¶æ;å¾
æäº¤ãå¾
åä½å®¤çº§é¢å¯¼å®¡æ ¸ãç产设å¤ç®¡çä¸»ç®¡å®¡æ ¸ãå¾
ä¿éé¨é¢å¯¼å®¡æ ¸ãå·²ä½åºã已宿"> |
| | | <a-input placeholder="请è¾å
¥ç³è¯·åç¶æ;å¾
æäº¤ãå¾
åä½å®¤çº§é¢å¯¼å®¡æ ¸ãç产设å¤ç®¡çä¸»ç®¡å®¡æ ¸ãå¾
ä¿éé¨é¢å¯¼å®¡æ ¸ãå·²ä½åºã已宿" v-model="model.applicationStatus" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departHeaderSignature" label="ç³è¯·åä½å®¤çº§é¢å¯¼ç¾å"> |
| | | <a-input placeholder="请è¾å
¥ç³è¯·åä½å®¤çº§é¢å¯¼ç¾å" v-model="model.departHeaderSignature" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departHeaderSignatureTime" label="ç³è¯·åä½å®¤çº§é¢å¯¼ç¾åæ¶é´"> |
| | | <a-input placeholder="请è¾å
¥ç³è¯·åä½å®¤çº§é¢å¯¼ç¾åæ¶é´" v-model="model.departHeaderSignatureTime" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departHeaderComment" label="ç³è¯·åä½å®¤çº§é¢å¯¼æè§"> |
| | | <a-input placeholder="请è¾å
¥ç³è¯·åä½å®¤çº§é¢å¯¼æè§" v-model="model.departHeaderComment" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionHeaderSignature" label="ç产设å¤ç®¡ç主管ç¾å"> |
| | | <a-input placeholder="请è¾å
¥ç产设å¤ç®¡ç主管ç¾å" v-model="model.productionHeaderSignature" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionHeaderSignatureTime" label="ç产设å¤ç®¡ç主管ç¾ååä»¶"> |
| | | <a-input placeholder="请è¾å
¥ç产设å¤ç®¡ç主管ç¾ååä»¶" v-model="model.productionHeaderSignatureTime" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionHeaderComment" label="ç产设å¤ç®¡ç主管æè§"> |
| | | <a-input placeholder="请è¾å
¥ç产设å¤ç®¡ç主管æè§" v-model="model.productionHeaderComment" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionSupportSignature" label="ç产ä¿éé¨é¢å¯¼ç¾å"> |
| | | <a-input placeholder="请è¾å
¥ç产ä¿éé¨é¢å¯¼ç¾å" v-model="model.productionSupportSignature" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionSupportSignatureTime" label="ç产ä¿éé¨é¢å¯¼ç¾åæ¶é´"> |
| | | <a-input placeholder="请è¾å
¥ç产ä¿éé¨é¢å¯¼ç¾åæ¶é´" v-model="model.productionSupportSignatureTime" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionSupportComment" label="ç产ä¿éé¨é¢å¯¼æè§"> |
| | | <a-input placeholder="请è¾å
¥ç产ä¿éé¨é¢å¯¼æè§" v-model="model.productionSupportComment" /> |
| | | </a-form-model-item> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hfCode" label="HFç¼ç "> |
| | | <a-input placeholder="请è¾å
¥HFç¼ç " v-model="model.hfCode" /> |
| | | </a-form-model-item> |
| | | |
| | | </a-form-model> |
| | | </a-spin> |
| | | </j-modal> |
| | |
| | | |
| | | <script> |
| | | import { httpAction } from '@/api/manage' |
| | | import moment from "moment" |
| | | import LxSearchEquipmentSelect from '../../equipment/modules/LxSearchEquipmentSelect' |
| | | |
| | | export default { |
| | | name: "EamTechnicalStatusEvaluationApplicationModal", |
| | | data () { |
| | | name: 'EamTechnicalStatusEvaluationApplicationModal', |
| | | components: { LxSearchEquipmentSelect }, |
| | | props: { |
| | | productionTreeData: { |
| | | type: Array |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | title:"æä½", |
| | | title: 'æä½', |
| | | editable: true, |
| | | visible: false, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 }, |
| | | sm: { span: 5 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 }, |
| | | sm: { span: 16 } |
| | | }, |
| | | |
| | | confirmLoading: false, |
| | | validatorRules:{ |
| | | validatorRules: { |
| | | factoryOrgCode: [{ required: true, message: 'è¯·éæ©ç³è¯·é¨é¨', trigger: 'change' }], |
| | | equipmentId: [{ required: true, message: '请è¾å
¥ç»ä¸ç¼ç æåç§°æç´¢', trigger: 'change' }], |
| | | evaluationDate: [{ required: true, message: 'è¯·éæ©ææ¯ç¶æé´å®æ¥æ', trigger: 'change' }] |
| | | }, |
| | | url: { |
| | | add: "/eam/eamTechnicalStatusEvaluationApplication/add", |
| | | edit: "/eam/eamTechnicalStatusEvaluationApplication/edit", |
| | | }, |
| | | add: '/eam/eamTechnicalStatusEvaluationApplication/add', |
| | | edit: '/eam/eamTechnicalStatusEvaluationApplication/edit' |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | }, |
| | | methods: { |
| | | add () { |
| | | //åå§åé»è®¤å¼ |
| | | this.edit({}); |
| | | add() { |
| | | this.model = {} |
| | | this.editable = true |
| | | this.visible = true |
| | | }, |
| | | edit (record) { |
| | | this.model = Object.assign({}, record); |
| | | this.visible = true; |
| | | |
| | | edit(record) { |
| | | this.model = Object.assign({}, record) |
| | | this.editable = false |
| | | this.visible = true |
| | | }, |
| | | close () { |
| | | this.$emit('close'); |
| | | this.visible = false; |
| | | this.$refs.form.clearValidate(); |
| | | }, |
| | | handleOk () { |
| | | const that = this; |
| | | |
| | | handleOk() { |
| | | const that = this |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true; |
| | | let httpurl = ''; |
| | | let method = ''; |
| | | if(!this.model.id){ |
| | | httpurl+=this.url.add; |
| | | method = 'post'; |
| | | }else{ |
| | | httpurl+=this.url.edit; |
| | | method = 'put'; |
| | | that.confirmLoading = true |
| | | let httpurl = '' |
| | | let method = '' |
| | | if (!this.model.id) { |
| | | httpurl += this.url.add |
| | | method = 'post' |
| | | } else { |
| | | httpurl += this.url.edit |
| | | method = 'put' |
| | | } |
| | | httpAction(httpurl,this.model,method).then((res)=>{ |
| | | if(res.success){ |
| | | that.$message.success(res.message); |
| | | that.$emit('ok'); |
| | | }else{ |
| | | that.$message.warning(res.message); |
| | | httpAction(httpurl, this.model, method).then((res) => { |
| | | if (res.success) { |
| | | that.$notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | that.close() |
| | | that.$emit('ok') |
| | | } else { |
| | | that.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false; |
| | | that.close(); |
| | | that.confirmLoading = false |
| | | }) |
| | | }else{ |
| | | return false; |
| | | } else { |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | | handleCancel () { |
| | | |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | |
| | | |
| | | close() { |
| | | this.$emit('close') |
| | | this.visible = false |
| | | this.$refs.form.clearValidate() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | |
| | | </style> |
| | | </script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <j-modal :title="title" :width="1300" :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="8"> |
| | | <a-form-model-item label="å·¥åå·"> |
| | | <a-input placeholder="éæ©è®¾å¤åèªå¨å¸¦åº" disabled v-model="model.orderId"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="8"> |
| | | <a-form-model-item label="åæ´åå·"> |
| | | <a-input placeholder="ç³»ç»èªå¨çæ" disabled v-model="model.changeOrderNum"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="8"> |
| | | <a-form-model-item prop="equipmentId" label="ç»ä¸ç¼ç "> |
| | | <maintenance-equipment-select placeholder="请è¾å
¥ç»ä¸ç¼ç æåç§°æç´¢" v-model="model.equipmentId" |
| | | maintenanceCategory="THIRD_MAINTENANCE" @autocompleteForm="autocompleteForm"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="8"> |
| | | <a-form-model-item prop="deferredMaintenanceDate" label="å»¶è¿ä¿å
»æ¥æ"> |
| | | <a-date-picker v-model="model.deferredMaintenanceDate" value-format="YYYY-MM-DD" style="width: 100%"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="8"> |
| | | <a-form-model-item prop="applyCategory" label="ç³è¯·ç±»å"> |
| | | <j-dict-select-tag v-model="model.applyCategory" placeholder="è¯·éæ©ç³è¯·ç±»å" |
| | | dict-code="third_maintenance_change_category"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="8"> |
| | | <a-form-model-item prop="applyReasonType" label="åæ´åå ç±»å"> |
| | | <j-dict-select-tag v-model="model.applyReasonType" placeholder="è¯·éæ©åæ´åå ç±»å" |
| | | dict-code="third_maintenance_change_reason"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="åæ´åå " :labelCol="{span:2}" :wrapperCol="{span:21}"> |
| | | <a-textarea v-model="model.applyReason" placeholder="请è¾å
¥åæ´åå "/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="夿³¨" :labelCol="{span:2}" :wrapperCol="{span:21}"> |
| | | <a-textarea v-model="model.remark" placeholder="请è¾å
¥å¤æ³¨"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form-model> |
| | | </a-spin> |
| | | </j-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import { postAction } from '@/api/manage' |
| | | import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect.vue' |
| | | |
| | | export default { |
| | | name: 'EamThirdMaintenanceChangeModal', |
| | | components: { |
| | | MaintenanceEquipmentSelect |
| | | |
| | | }, |
| | | data() { |
| | | return { |
| | | title: 'æä½', |
| | | visible: false, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 6 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 15 } |
| | | }, |
| | | confirmLoading: false, |
| | | validatorRules: { |
| | | deferredMaintenanceDate: [{ required: true, message: 'è¯·éæ©æ¥æ', trigger: 'change' }], |
| | | applyCategory: [{ required: true, message: 'è¯·éæ©ç³è¯·ç±»å', trigger: 'change' }], |
| | | applyReasonType: [{ required: true, message: 'è¯·éæ©åæ´åå ', trigger: 'change' }], |
| | | }, |
| | | url: { |
| | | add: '/eam/eamThirdMaintenanceChange/add', |
| | | edit: '/eam/eamThirdMaintenanceChange/edit' |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | add({ id, equipmentId }) { |
| | | this.model = Object.assign({ orderId: id, equipmentId }) |
| | | this.visible = true |
| | | }, |
| | | |
| | | edit(record) { |
| | | this.model = Object.assign({}, record) |
| | | this.visible = true |
| | | }, |
| | | |
| | | handleOk() { |
| | | const that = this |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true |
| | | |
| | | let httpUrl |
| | | if (!that.model.id) { |
| | | httpUrl = that.url.add |
| | | } else { |
| | | httpUrl = that.url.edit |
| | | } |
| | | |
| | | postAction(httpUrl, that.model) |
| | | .then((res) => { |
| | | if (res.success) { |
| | | that.$notification.success({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | if (!that.model.id) { |
| | | that.$router.push('/eam/maintenance/EamThirdMaintenanceChangeList') |
| | | return |
| | | } |
| | | that.close() |
| | | that.$emit('ok') |
| | | } 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> |
| | |
| | | <!--维修工å--> |
| | | <repair-order-approval-modal ref="repairOrderApprovalModal" :selectShenpiData="selectedRowData" |
| | | @modalFormOk="modalFormOk"/> |
| | | |
| | | <!--ææ¯ç¶æåæ´--> |
| | | <technical-status-change-approval-modal ref="technicalStatusChangeApprovalModal" :selectShenpiData="selectedRowData" |
| | | @modalFormOk="modalFormOk"/> |
| | | |
| | | <!--ææ¯ç¶æé´å®ç³è¯·--> |
| | | <technical-status-evaluation-application-approval-modal ref="technicalStatusEvaluationApplicationApprovalModal" |
| | | :selectShenpiData="selectedRowData" |
| | | @modalFormOk="modalFormOk"/> |
| | | </a-card> |
| | | </template> |
| | | |
| | |
| | | import TechnicalStatusEvaluationOrderChangeApprovalModal |
| | | from './TechnicalStatusEvaluation/TechnicalStatusEvaluationOrderChangeApprovalModal' |
| | | import RepairOrderApprovalModal from './repairOrder/RepairOrderApprovalModal' |
| | | import TechnicalStatusChangeApprovalModal from './TechnicalStatus/TechnicalStatusChangeApprovalModal' |
| | | import TechnicalStatusEvaluationApplicationApprovalModal |
| | | from './TechnicalStatusEvaluation/TechnicalStatusEvaluationApplicationApprovalModal' |
| | | |
| | | export default { |
| | | name: 'FlowTodo', |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | TechnicalStatusEvaluationApplicationApprovalModal, |
| | | TechnicalStatusChangeApprovalModal, |
| | | RepairOrderApprovalModal, |
| | | TechnicalStatusEvaluationOrderChangeApprovalModal, |
| | | ThirdMaintenanceApprovalModal, |
| | |
| | | case 'eam_repair_order': |
| | | this.handleRepairOrder(record) |
| | | break |
| | | case 'TECHNICAL_STATUS_CHANGE_PROCESS': |
| | | this.handleTechnicalStatusChange(record) |
| | | break |
| | | case 'TECHNICAL_STATUS_EVALUATION_APPLY_PROCESS': |
| | | this.handleTechnicalStatusEvaluationApply(record) |
| | | break |
| | | default: |
| | | alert('没æ¾å°è¯¥æµç¨') |
| | | } |
| | |
| | | this.$refs.repairOrderApprovalModal.handleDetail(record) |
| | | }, |
| | | |
| | | /** |
| | | * ç¹å»ææ¯ç¶æåæ´åç±»æµç¨å®¡æ¹æ¶è§¦å |
| | | * @param record |
| | | */ |
| | | handleTechnicalStatusChange(record) { |
| | | this.selectedRowData = Object.assign({}, record) |
| | | this.$refs.technicalStatusChangeApprovalModal.visible = true |
| | | this.$refs.technicalStatusChangeApprovalModal.title = record.name |
| | | this.$refs.technicalStatusChangeApprovalModal.handleApprove(record) |
| | | }, |
| | | |
| | | /** |
| | | * ç¹å»ææ¯ç¶æé´å®ç³è¯·åç±»æµç¨å®¡æ¹æ¶è§¦å |
| | | * @param record |
| | | */ |
| | | handleTechnicalStatusEvaluationApply(record) { |
| | | this.selectedRowData = Object.assign({}, record) |
| | | this.$refs.technicalStatusEvaluationApplicationApprovalModal.visible = true |
| | | this.$refs.technicalStatusEvaluationApplicationApprovalModal.title = record.name |
| | | this.$refs.technicalStatusEvaluationApplicationApprovalModal.handleApprove(record) |
| | | }, |
| | | |
| | | batchHandle() { |
| | | const categorySet = new Set(this.selectionRows.map(item => item.category)) |
| | | const nameSet = new Set(this.selectionRows.map(item => item.name)) |
| | |
| | | * @param callback ç»æåè°å½æ° |
| | | */ |
| | | customValidator({ cellValue, row }, callback) { |
| | | if (this.activeTabKey == '1' && row.inspectionResult != 'NORMAL') { |
| | | if (this.activeTabKey == '1' && row.inspectionResult == 'ANOMALY') { |
| | | if (!cellValue) { |
| | | callback(false, '请è¾å
¥${title}') // false = æªéè¿ï¼å¯ä»¥è·èªå®ä¹æç¤º |
| | | } else { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <j-modal :title="title" fullscreen :visible="visible" :confirmLoading="confirmLoading" |
| | | :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" @ok="handleOk" |
| | | @cancel="handleCancel" 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="8" class="scroll-col"> |
| | | <a-tabs> |
| | | <a-tab-pane tab="åºç¡ä¿¡æ¯"> |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="åæ´åå·"> |
| | | <a-input v-model="model.changeOrderNum" readOnly/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="ç³è¯·åä½"> |
| | | <a-input v-model="model.factoryOrgCode_dictText" 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.designer_dictText" readOnly/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="ç¼å¶æ¶é´"> |
| | | <a-input v-model="model.designerTime" readOnly/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" label="夿³¨"> |
| | | <a-textarea v-model="model.remark" readOnly/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | </a-col> |
| | | |
| | | <!-- ä¸é´æç»é¡¹å--> |
| | | <a-col :span="10" class="scroll-col"> |
| | | <a-tabs> |
| | | <a-tab-pane key="1" tab="è®¾å¤æç»"> |
| | | <j-vxe-table ref="editableDetailTable" rowNumber bordered keep-source :dataSource="detail.dataSource" |
| | | :columns="detail.columns"/> |
| | | </a-tab-pane> |
| | | <a-tab-pane key='2' tab='æµç¨å¾' v-if="selectShenpiData.procInstId"> |
| | | <img :src="imageSrc" alt="Fetched Image" style="width: 100%" v-if="imageSrc"/> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | </a-col> |
| | | |
| | | <!--å³ä¾§å®¡æ¹å--> |
| | | <a-col :span="6" class="scroll-col"> |
| | | <a-tabs v-if="displayDepartHeaderFlag"> |
| | | <a-tab-pane tab="使ç¨åä½å®¤çº§é¢å¯¼ç¡®è®¤"> |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item prop="departHeaderSignatureResult" label="确认类å" :labelCol="rightColLabelCol" |
| | | :wrapperCol="rightColWrapperCol"> |
| | | <j-dict-select-tag type='radio' v-model='model.departHeaderSignatureResult' |
| | | dictCode='approve_reject' |
| | | :disabled="disableSubmit||(model.changeStatus&&model.changeStatus!='DEPART_HEADER_SIGNING')"/> |
| | | </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.departHeaderComment" |
| | | :disabled="disableSubmit||(model.changeStatus&&model.changeStatus!='DEPART_HEADER_SIGNING')"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | |
| | | <a-tabs v-if="displayDepartLeaderFlag"> |
| | | <a-tab-pane tab="使ç¨åä½é¨çº§é¢å¯¼ç¡®è®¤"> |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item prop="departLeaderSignatureResult" label="确认类å" :labelCol="rightColLabelCol" |
| | | :wrapperCol="rightColWrapperCol"> |
| | | <j-dict-select-tag type='radio' v-model='model.departLeaderSignatureResult' |
| | | dictCode='approve_reject' |
| | | :disabled="disableSubmit||(model.changeStatus&&model.changeStatus!='DEPART_LEADER_SIGNING')"/> |
| | | </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.departLeaderComment" |
| | | :disabled="disableSubmit||(model.changeStatus&&model.changeStatus!='DEPART_LEADER_SIGNING')"/> |
| | | </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, postAction } from '@/api/manage' |
| | | import TechnicalStatusEquipmentSelect from '../../../eam/equipment/modules/TechnicalStatusEquipmentSelect' |
| | | import { JVXETypes } from '@comp/jeecg/JVxeTable' |
| | | |
| | | export default { |
| | | name: 'TechnicalStatusChangeApprovalModal', |
| | | components: { |
| | | TechnicalStatusEquipmentSelect |
| | | }, |
| | | props: { |
| | | selectShenpiData: { |
| | | type: Object |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | title: 'æä½', |
| | | visible: false, |
| | | model: {}, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 8 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 } |
| | | }, |
| | | labelColLong: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 4 } |
| | | }, |
| | | wrapperColLong: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 20 } |
| | | }, |
| | | rightColLabelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 6 } |
| | | }, |
| | | rightColWrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 } |
| | | }, |
| | | confirmLoading: false, |
| | | spinning: false, |
| | | imageSrc: null, |
| | | validatorRules: { |
| | | departHeaderSignatureResult: [{ required: true, message: 'è¯·éæ©ç¡®è®¤ç±»å' }], |
| | | departLeaderSignatureResult: [{ required: true, message: 'è¯·éæ©ç¡®è®¤ç±»å' }] |
| | | }, |
| | | url: { |
| | | queryById: '/eam/eamTechnicalStatusChange/queryById', |
| | | approval: '/eam/eamTechnicalStatusChange/approval', |
| | | detail: '/eam/eamTechnicalStatusChangeDetail/queryList', |
| | | diagramView: '/assign/flow/diagramView' |
| | | }, |
| | | disableSubmit: false, |
| | | selectedRowKeys: [], |
| | | detail: { |
| | | dataSource: [], |
| | | columns: [ |
| | | { |
| | | title: 'ID', |
| | | key: 'id', |
| | | type: JVXETypes.hidden |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | key: 'equipmentCode', |
| | | align: 'center', |
| | | type: JVXETypes.normal, |
| | | width: 200 |
| | | }, |
| | | { |
| | | title: '设å¤åç§°', |
| | | key: 'equipmentName', |
| | | align: 'center', |
| | | type: JVXETypes.normal, |
| | | width: 200 |
| | | }, |
| | | { |
| | | title: '设å¤åå·', |
| | | key: 'equipmentModel', |
| | | align: 'center', |
| | | type: JVXETypes.normal, |
| | | width: 200 |
| | | }, |
| | | { |
| | | title: '使ç¨åä½', |
| | | key: 'factoryName', |
| | | align: 'center', |
| | | type: JVXETypes.normal, |
| | | width: 200 |
| | | }, |
| | | { |
| | | title: 'åæ´åå ', |
| | | key: 'changeCategory_dictText', |
| | | align: 'center', |
| | | type: JVXETypes.normal, |
| | | width: 200 |
| | | }, |
| | | { |
| | | title: 'åæ´æ¥æ', |
| | | key: 'changeDate', |
| | | align: 'center', |
| | | type: JVXETypes.normal, |
| | | width: 200 |
| | | }, |
| | | { |
| | | title: 'åæ´åææ¯ç¶æ', |
| | | key: 'changeTechnicalStatus_dictText', |
| | | align: 'center', |
| | | type: JVXETypes.normal, |
| | | width: 200 |
| | | } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | displayDepartHeaderFlag() { |
| | | return this.model.changeStatus && ['DEPART_HEADER_SIGNING', 'DEPART_LEADER_SIGNING', 'COMPLETED'].includes(this.model.changeStatus) |
| | | }, |
| | | displayDepartLeaderFlag() { |
| | | return this.model.changeStatus && ['DEPART_LEADER_SIGNING', 'COMPLETED'].includes(this.model.changeStatus) |
| | | } |
| | | }, |
| | | methods: { |
| | | /** |
| | | * 主页é¢ç¹å»æ§è¡å®¡æ¹æ¶è§¦å |
| | | * @param record 主页é¢å表è¡è®°å½ |
| | | */ |
| | | handleApprove(record) { |
| | | this.model = {} |
| | | this.getBasicInformationByApi(record) |
| | | this.getFlowChartImageByApi(record) |
| | | }, |
| | | |
| | | /** |
| | | * 主页é¢ç¹å»è¯¦æ
æ¶è§¦å |
| | | * @param record 主页é¢å表è¡è®°å½ |
| | | */ |
| | | handleDetail(record) { |
| | | this.model = Object.assign({}, record) |
| | | this.loadDetail(record.id) |
| | | }, |
| | | |
| | | /** |
| | | * è·ååºç¡ä¿¡æ¯ |
| | | * @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) |
| | | 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(() => { |
| | | this.loadDetail(record.dataId) |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * è·åæµç¨å¾ |
| | | * @param record 主页é¢å表è¡è®°å½ |
| | | */ |
| | | getFlowChartImageByApi(record) { |
| | | const { processDefinitionId, processInstanceId, processDefinitionKey } = record |
| | | this.imageSrc = null |
| | | 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 |
| | | }) |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * è·åè®¾å¤æç» |
| | | * @param orderId |
| | | */ |
| | | loadDetail(orderId) { |
| | | this.detail.dataSource = [] |
| | | getAction(this.url.detail, { orderId }) |
| | | .then(res => { |
| | | console.log('res', res) |
| | | if (res.success) this.detail.dataSource = res.result |
| | | }) |
| | | .finally(() => { |
| | | this.spinning = false |
| | | }) |
| | | }, |
| | | |
| | | async handleOk() { |
| | | const that = this |
| | | |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = that.spinning = true |
| | | |
| | | postAction(that.url.approval, that.model) |
| | | .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 |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | |
| | | close() { |
| | | this.$emit('close') |
| | | this.visible = false |
| | | 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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <j-modal :title="title" :width="1300" :fullscreen="fullScreen" :visible="visible" :confirmLoading="confirmLoading" |
| | | :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" @ok="handleOk" |
| | | @cancel="handleCancel" 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="!disableSubmit?8:14" class="scroll-col"> |
| | | <a-tabs> |
| | | <a-tab-pane tab="åºç¡ä¿¡æ¯"> |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="ç³è¯·åå·"> |
| | | <a-input v-model="model.applicationOrderNum" readOnly/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="ç»ä¸ç¼ç "> |
| | | <technical-status-equipment-select v-model="model.equipmentId" |
| | | @autocompleteForm="autocompleteForm" disabled/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row> |
| | | |
| | | |
| | | </a-row> |
| | | |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="ç³è¯·é¨é¨"> |
| | | <a-input v-model="model.factoryOrgCode_dictText" readOnly/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="ç³è¯·äºº"> |
| | | <a-input v-model="model.applicant_dictText" 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.evaluationDate" readOnly/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-row> |
| | | <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" label="夿³¨"> |
| | | <a-textarea v-model="model.remark" readOnly/> |
| | | </a-form-model-item> |
| | | </a-row> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | </a-col> |
| | | |
| | | <!-- ä¸é´æç»é¡¹å--> |
| | | <a-col v-if="selectShenpiData.procInstId" :span="10" class="scroll-col"> |
| | | <a-tabs> |
| | | <a-tab-pane key='1' tab='æµç¨å¾'> |
| | | <img :src="imageSrc" alt="Fetched Image" style="width: 100%" v-if="imageSrc"/> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | </a-col> |
| | | |
| | | <!--å³ä¾§å®¡æ¹å--> |
| | | <a-col :span="!disableSubmit?6:10" class="scroll-col"> |
| | | <a-tabs v-if="displayDepartHeaderFlag"> |
| | | <a-tab-pane tab="使ç¨åä½å®¤çº§é¢å¯¼ç¡®è®¤"> |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item prop="departHeaderSignatureResult" label="确认类å" :labelCol="rightColLabelCol" |
| | | :wrapperCol="rightColWrapperCol"> |
| | | <j-dict-select-tag type='radio' v-model='model.departHeaderSignatureResult' |
| | | dictCode='approve_reject' |
| | | :disabled="disableSubmit||(model.applicationStatus&&model.applicationStatus!='DEPART_HEADER_SIGNING')"/> |
| | | </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.departHeaderComment" |
| | | :disabled="disableSubmit||(model.applicationStatus&&model.applicationStatus!='DEPART_HEADER_SIGNING')"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | |
| | | <a-tabs v-if="displayProductionHeaderFlag"> |
| | | <a-tab-pane tab="ç产设å¤ç®¡ç主管确认"> |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item prop="productionHeaderSignatureResult" label="确认类å" :labelCol="rightColLabelCol" |
| | | :wrapperCol="rightColWrapperCol"> |
| | | <j-dict-select-tag type='radio' v-model='model.productionHeaderSignatureResult' |
| | | dictCode='approve_reject' |
| | | :disabled="disableSubmit||(model.applicationStatus&&model.applicationStatus!='PRODUCTION_HEADER_SIGNING')"/> |
| | | </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.productionHeaderComment" |
| | | :disabled="disableSubmit||(model.applicationStatus&&model.applicationStatus!='PRODUCTION_HEADER_SIGNING')"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | |
| | | <a-tabs v-if="displayProductionSupportFlag"> |
| | | <a-tab-pane tab="ç产ä¿éé¨é¢å¯¼ç¡®è®¤"> |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-form-model-item prop="productionSupportSignatureResult" label="确认类å" |
| | | :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"> |
| | | <j-dict-select-tag type='radio' v-model='model.productionSupportSignatureResult' |
| | | dictCode='approve_reject' |
| | | :disabled="disableSubmit||(model.applicationStatus&&model.applicationStatus!='PRODUCTION_SUPPORT_SIGNING')"/> |
| | | </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.productionSupportComment" |
| | | :disabled="disableSubmit||(model.applicationStatus&&model.applicationStatus!='PRODUCTION_SUPPORT_SIGNING')"/> |
| | | </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, postAction } from '@/api/manage' |
| | | import TechnicalStatusEquipmentSelect from '../../../eam/equipment/modules/TechnicalStatusEquipmentSelect' |
| | | |
| | | export default { |
| | | name: 'TechnicalStatusEvaluationApplicationApprovalModal', |
| | | components: { |
| | | 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: 6 } |
| | | }, |
| | | rightColWrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 } |
| | | }, |
| | | confirmLoading: false, |
| | | spinning: false, |
| | | imageSrc: null, |
| | | fullScreen: true, |
| | | validatorRules: { |
| | | departHeaderSignatureResult: [{ required: true, message: 'è¯·éæ©ç¡®è®¤ç±»å' }], |
| | | productionHeaderSignatureResult: [{ required: true, message: 'è¯·éæ©ç¡®è®¤ç±»å' }], |
| | | productionSupportSignatureResult: [{ required: true, message: 'è¯·éæ©ç¡®è®¤ç±»å' }] |
| | | }, |
| | | url: { |
| | | queryById: '/eam/eamTechnicalStatusEvaluationApplication/queryById', |
| | | approval: '/eam/eamTechnicalStatusEvaluationApplication/approval', |
| | | diagramView: '/assign/flow/diagramView' |
| | | }, |
| | | disableSubmit: false, |
| | | selectedRowKeys: [] |
| | | } |
| | | }, |
| | | computed: { |
| | | displayDepartHeaderFlag() { |
| | | return this.model.applicationStatus && ['DEPART_HEADER_SIGNING', 'PRODUCTION_HEADER_SIGNING', 'PRODUCTION_SUPPORT_SIGNING', 'COMPLETED'].includes(this.model.applicationStatus) |
| | | }, |
| | | displayProductionHeaderFlag() { |
| | | return this.model.applicationStatus && ['PRODUCTION_HEADER_SIGNING', 'PRODUCTION_SUPPORT_SIGNING', 'COMPLETED'].includes(this.model.applicationStatus) |
| | | }, |
| | | displayProductionSupportFlag() { |
| | | return this.model.applicationStatus && ['PRODUCTION_SUPPORT_SIGNING', 'COMPLETED'].includes(this.model.applicationStatus) |
| | | } |
| | | }, |
| | | methods: { |
| | | /** |
| | | * 主页é¢ç¹å»æ§è¡å®¡æ¹æ¶è§¦å |
| | | * @param record 主页é¢å表è¡è®°å½ |
| | | */ |
| | | handleApprove(record) { |
| | | this.fullScreen = true |
| | | this.model = {} |
| | | this.getBasicInformationByApi(record) |
| | | this.getFlowChartImageByApi(record) |
| | | }, |
| | | |
| | | /** |
| | | * 主页é¢ç¹å»è¯¦æ
æ¶è§¦å |
| | | * @param record 主页é¢å表è¡è®°å½ |
| | | */ |
| | | handleDetail(record) { |
| | | this.fullScreen = false |
| | | 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) |
| | | 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 |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * è·åæµç¨å¾ |
| | | * @param record 主页é¢å表è¡è®°å½ |
| | | */ |
| | | getFlowChartImageByApi(record) { |
| | | const { processDefinitionId, processInstanceId, processDefinitionKey } = record |
| | | this.imageSrc = null |
| | | 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 |
| | | |
| | | postAction(this.url.approval, this.model) |
| | | .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 |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | autocompleteForm(selectObj) { |
| | | this.$set(this.model, 'equipmentId', selectObj.equipmentId) |
| | | this.spinning = false |
| | | }, |
| | | |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | |
| | | close() { |
| | | this.$emit('close') |
| | | this.visible = false |
| | | 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> |
| | |
| | | |
| | | <a-tabs :active-key="activeTabKey" @change="handleTabChange"> |
| | | <a-tab-pane :key="1" tab="å®å
¨è£
ç½®æ£æ¥" forceRender |
| | | 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" |
| | | v-if="(disableSubmit&&detail.safetyEquipmentCheckList.length>0)|| |
| | | (selectShenpiData.taskDefKey&&(selectShenpiData.taskDefKey=='safety_equipment_check'||selectShenpiData.taskDefKey=='safety_equipment_check_confirm'))|| |
| | | (model.evaluationStatus&&model.evaluationStatus!='UNDER_EVALUATION'&&model.evaluationStatus!='WAIT_EVALUATION')"> |
| | | <j-vxe-table ref="editableDetailTable1" rowNumber bordered alwaysEdit keep-source |
| | | :dataSource="detail.safetyEquipmentCheckList" |
| | | :columns="detail.safetyEquipmentCheckColumns"> |
| | | <template v-slot:safetyEquipmentCheckResult="props"> |
| | |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane :key="2" tab="设å¤ç²¾åº¦æ£æ¥" forceRender |
| | | v-if="disableSubmit|| |
| | | selectShenpiData.taskDefKey&&(selectShenpiData.taskDefKey=='equipment_precision_check'||selectShenpiData.taskDefKey=='equipment_precision_check_confirm')|| |
| | | model.evaluationStatus&&model.evaluationStatus!='UNDER_EVALUATION'&&detail.precisionCheckList.length>0"> |
| | | v-if="(disableSubmit&&detail.precisionCheckList.length>0)|| |
| | | (selectShenpiData.taskDefKey&&(selectShenpiData.taskDefKey=='equipment_precision_check'||selectShenpiData.taskDefKey=='equipment_precision_check_confirm'))|| |
| | | (model.evaluationStatus&&model.evaluationStatus!='UNDER_EVALUATION'&&model.evaluationStatus!='WAIT_EVALUATION')"> |
| | | <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" |
| | |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane :key="3" tab="å
¶ä»æ£æ¥" forceRender |
| | | v-if="disableSubmit|| |
| | | selectShenpiData.taskDefKey&&(selectShenpiData.taskDefKey=='other_check'||selectShenpiData.taskDefKey=='other_check_confirm')|| |
| | | model.evaluationStatus&&model.evaluationStatus!='UNDER_EVALUATION'&&detail.otherCheckList.length>0"> |
| | | v-if="(disableSubmit&&detail.otherCheckList.length>0)|| |
| | | (selectShenpiData.taskDefKey&&(selectShenpiData.taskDefKey=='other_check'||selectShenpiData.taskDefKey=='other_check_confirm'))|| |
| | | (model.evaluationStatus&&model.evaluationStatus!='UNDER_EVALUATION'&&model.evaluationStatus!='WAIT_EVALUATION')"> |
| | | <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" |
| | |
| | | name: 'TechnicalStatusEvaluationApprovalModal', |
| | | mixins: [JVxeTableModelMixin], |
| | | components: { |
| | | TechnicalStatusEquipmentSelect, |
| | | TechnicalStatusEquipmentSelect |
| | | }, |
| | | props: { |
| | | selectShenpiData: { |