src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/eam/maintenance/modules/EamSecondMaintenanceBatchOrderModal.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/eam/maintenance/modules/EamSecondMaintenanceOrderModal.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue
@@ -39,6 +39,7 @@ <!-- æä½æé®åºå --> <div class="table-operator" v-if="isDisplayOperation"> <a-button @click="handleAdd" type="primary" icon="plus">æ°å¢</a-button> <a-button @click="handleBatchAdd" type="primary" icon="plus">æ¹éæ°å¢</a-button> <a-dropdown v-if="selectedRowKeys.length > 0"> <a-menu slot="overlay"> <a-menu-item key="1" @click="handlerBatchAbolish"> @@ -57,35 +58,17 @@ </div> <!-- tableåºå-begin --> <div> <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;" v-if="isDisplayOperation" > <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 class="ant-alert ant-alert-info" style="margin-bottom: 16px;" v-if="isDisplayOperation"> <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" :scroll="{x:'max-content'}" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" @change="handleTableChange" > <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource" :pagination="ipagination" :loading="loading" class="j-table-force-nowrap" :scroll="{x:'max-content'}" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" @change="handleTableChange"> <span slot="action" slot-scope="text, record"> <template v-if="record.maintenanceStatus === 'WAIT_MAINTENANCE'"> <a @click="handleEdit(record)">ç¼è¾</a> @@ -121,6 +104,8 @@ <!-- 表ååºå --> <eamSecondMaintenanceOrder-modal ref="modalForm" @ok="modalFormOk"/> <eam-second-maintenance-batch-order-modal ref="batchModalForm" @ok="modalFormOk"/> <second-maintenance-approval-modal ref="secondMaintenanceApprovalModal" :selectShenpiData="selectSecondMaintenanceData"/> </a-card> @@ -133,11 +118,13 @@ import SecondMaintenanceApprovalModal from '@views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue' import LxSearchEquipmentSelect from '../equipment/modules/LxSearchEquipmentSelect' import EamSecondMaintenanceBatchOrderModal from './modules/EamSecondMaintenanceBatchOrderModal' export default { name: 'EamSecondMaintenanceOrderList', mixins: [JeecgListMixin], components: { EamSecondMaintenanceBatchOrderModal, LxSearchEquipmentSelect, EamSecondMaintenanceOrderModal, SecondMaintenanceApprovalModal @@ -280,10 +267,11 @@ this.loadData(1) }, methods: { onMaintenanceDateChange: function(dataArray) { this.queryParam.maintenanceDateBegin = dataArray[0] this.queryParam.maintenanceDateEnd = dataArray[1] handleBatchAdd() { this.$refs.batchModalForm.title = 'æ¹éæ°å¢' this.$refs.batchModalForm.visible = true }, /** * ç¹å»é¢åæ¶è§¦å * @param id è¡è®°å½id @@ -315,9 +303,10 @@ */ handleDetail(record) { this.selectSecondMaintenanceData = Object.assign({}, record) this.$refs.secondMaintenanceApprovalModal.recordDetail(record) this.$refs.secondMaintenanceApprovalModal.title = '详æ ' this.$refs.secondMaintenanceApprovalModal.visible = true this.$refs.secondMaintenanceApprovalModal.disableSubmit = true this.$refs.secondMaintenanceApprovalModal.recordDetail(record) }, /** @@ -329,23 +318,16 @@ window.open(href, '_blank') }, handlerAbolish(id) { if (!this.url.abolish) { this.$message.error('请设置url.abolish屿§!') return } var that = this deleteAction(that.url.abolish, { id: id }).then((res) => { deleteAction(that.url.abolish, { id }) .then((res) => { if (res.success) { //éæ°è®¡ç®å页é®é¢ that.reCalculatePage(1) // that.$message.success(res.message); that.$notification.success({ message: 'æ¶æ¯', description: res.message }) that.loadData() } else { // that.$message.warning(res.message); that.$notification.warning({ message: 'æ¶æ¯', description: res.message @@ -354,18 +336,6 @@ }) }, handlerBatchAbolish() { if (!this.url.abolishBatch) { this.$message.error('请设置url.abolishBatch屿§!') return } if (this.selectedRowKeys.length <= 0) { // this.$message.warning('è¯·éæ©ä¸æ¡è®°å½ï¼'); this.$notification.warning({ message: 'æ¶æ¯', description: 'è¯·éæ©ä¸æ¡è®°å½' }) return } else { var ids = '' for (var a = 0; a < this.selectedRowKeys.length; a++) { ids += this.selectedRowKeys[a] + ',' @@ -376,11 +346,9 @@ content: 'æ¯å¦ä½åºé䏿°æ®ï¼åªæå¾ ä¿å »ç¶æçæ°æ®æå¯ä½åºæå?', onOk: function () { that.loading = true deleteAction(that.url.abolishBatch, { ids: ids }).then((res) => { deleteAction(that.url.abolishBatch, { ids }) .then((res) => { if (res.success) { //éæ°è®¡ç®å页é®é¢ that.reCalculatePage(that.selectedRowKeys.length) // that.$message.success(res.message); that.$notification.success({ message: 'æ¶æ¯', description: res.message @@ -388,18 +356,17 @@ that.loadData() that.onClearSelected() } else { // that.$message.warning(res.message); that.$notification.warning({ message: 'æ¶æ¯', description: res.message }) } }).finally(() => { }) .finally(() => { that.loading = false }) } }) } }, //æ¹éé¢å handlerBatchCollect() { @@ -450,6 +417,11 @@ }) } }, onMaintenanceDateChange: function(dataArray) { this.queryParam.maintenanceDateBegin = dataArray[0] this.queryParam.maintenanceDateEnd = dataArray[1] } } } </script> src/views/eam/maintenance/modules/EamSecondMaintenanceBatchOrderModal.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,156 @@ <template> <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen centered :mask-closable="false" @ok="handleOk" @cancel="handleCancel" cancelText="å ³é"> <a-spin :spinning="spinning"> <j-vxe-table ref="editableDetailTable" rowNumber rowSelection bordered alwaysEdit toolbar @added="addNewRow" :toolbarConfig="detail.toolbarConfig" keep-source :height="500" :dataSource="detail.dataSource" :columns="detail.columns"/> </a-spin> </j-modal> </template> <script> import { getAction, httpAction } from '@/api/manage' import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect.vue' import { JVXETypes } from '@comp/jeecg/JVxeTable' export default { name: 'EamSecondMaintenanceBatchOrderModal', components: { MaintenanceEquipmentSelect }, data() { return { title: 'æä½', visible: false, confirmLoading: false, spinning: false, url: { batchAdd: '/eam/secondMaintenanceOrder/batchAdd' }, detail: { dataSource: [], columns: [ { title: 'ID', key: 'id', type: JVXETypes.hidden }, { title: 'å·¥åå·', dataIndex: 'orderNum', align: 'center', type: JVXETypes.inputNumber, disabled: true, placeholder: 'å·¥åå·ç³»ç»èªå¨çæ' }, { title: 'ç»ä¸ç¼ç ', dataIndex: 'equipmentId', align: 'center', type: JVXETypes.slot, slotName: 'equipmentId' }, { title: 'è§èåç§°', dataIndex: 'standardName', align: 'center', type: JVXETypes.input, disabled: true, placeholder: 'éæ©è®¾å¤åèªå¨å¸¦åº' }, { title: 'ä¿å »æ¥æ', dataIndex: 'maintenanceDate', align: 'center', type: JVXETypes.date }, { title: 'ä¿å »å¨æ', dataIndex: 'maintenancePeriod', align: 'center', type: JVXETypes.inputNumber, defaultValue: '6' } ], toolbarConfig: { // prefix åç¼ï¼suffix åç¼ slot: ['prefix', 'suffix'], // add æ°å¢æé®ï¼remove å 餿é®ï¼clearSelection æ¸ ç©ºéæ©æé® btn: ['add', 'remove', 'clearSelection'] } } } }, methods: { add() { //åå§åé»è®¤å¼ this.model = { maintenancePeriod: 6 } this.visible = true this.editable = true this.detail.operatorMaintenanceList = this.detail.repairerMaintenanceList = [] }, addNewRow({ row }) { console.log('row', row) row.maintenancePeriod = 6 this.$refs.editableDetailTable.updateData() }, autocompleteForm(selectObj) { this.$set(this.model, 'standardName', selectObj.standardName) this.$set(this.model, 'standardId', selectObj.id) this.$set(this.model, 'equipmentId', selectObj.equipmentId) if (!this.model.id) this.loadStandardDetail(selectObj.id) }, async handleOk() { const that = this // 触å表åéªè¯ this.$refs.form.validate(valid => { if (valid) { 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.$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() { this.close() }, close() { this.$emit('close') this.visible = false } } } </script> src/views/eam/maintenance/modules/EamSecondMaintenanceOrderModal.vue
@@ -1,5 +1,5 @@ <template> <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen centered :mask-closable="false" @ok="handleOk" @cancel="handleCancel" cancelText="å ³é"> <a-spin :spinning="spinning"> <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue
@@ -13,8 +13,7 @@ <a-col :span="8"> <a-form-model-item prop="equipmentId" label="ç»ä¸ç¼ç "> <maintenance-equipment-select placeholder="请è¾å ¥ç»ä¸ç¼ç æåç§°æç´¢" v-model="model.equipmentId" maintenanceCategory="THIRD_MAINTENANCE" @autocompleteForm="autocompleteForm" :disabled="editable"/> maintenanceCategory="THIRD_MAINTENANCE" @autocompleteForm="autocompleteForm"/> </a-form-model-item> </a-col> <a-col :span="8">