From 92ff846fb659c62037a32b1d8c15eae9df9d9b54 Mon Sep 17 00:00:00 2001 From: zenglf <18502938215@163.com> Date: 星期一, 18 九月 2023 13:24:30 +0800 Subject: [PATCH] Merge branch 'develop' of http://117.34.109.166:18448/r/vue_mdc_430 --- src/views/eam/PredictiveWorkPlanList.vue | 490 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 490 insertions(+), 0 deletions(-) diff --git a/src/views/eam/PredictiveWorkPlanList.vue b/src/views/eam/PredictiveWorkPlanList.vue new file mode 100644 index 0000000..86c48d7 --- /dev/null +++ b/src/views/eam/PredictiveWorkPlanList.vue @@ -0,0 +1,490 @@ +<template> + <a-card + title="棰勬祴鎬х淮鎶ゆ柟妗�" + :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.planNum' + ></a-input> + </a-form-item> + </a-col> + <a-col + :xl='6' + :lg='7' + :md='8' + :sm='24' + > + <a-form-item label='璁惧鍚嶇О'> + <a-input + placeholder='璇疯緭鍏ヨ澶囧悕绉�' + v-model='queryParam.deviceName' + ></a-input> + </a-form-item> + </a-col> + <a-col + :md="10" + :sm="8" + > + <a-form-item label="鐗堟湰鐘舵��"> + <a-radio-group + v-model="queryParam.status" + @change="onChange" + default-value="2" + > + <a-radio-button value="1"> + 鏈敓鏁� + </a-radio-button> + <a-radio-button value="2"> + 宸茬敓鏁� + </a-radio-button> + <a-radio-button value="3"> + 宸插け鏁� + </a-radio-button> + </a-radio-group> + </a-form-item> + </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' + @click='searchQuery' + icon='search' + >鏌ヨ + </a-button> + <a-button + type='primary' + @click='searchReset' + icon='reload' + style='margin-left: 8px' + >閲嶇疆 + </a-button> + </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' + :scroll="{ x: 'calc(1400px + 50%)', y: 900 }" + :columns='columns' + :dataSource='dataSource' + :pagination='ipagination' + :loading='loading' + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio' }" + :customRow='clickThenSelect' + @change='handleTableChange' + > + <span + slot="action" + slot-scope="text, record" + > + <a + v-if="record.status == '2'" + @click="handleRevise(record)" + >鍗囩増</a> + <a + v-if="record.status == '1'" + @click="handleTakeEffect(record)" + >鐢熸晥</a> + <a-divider type="vertical"/> + <a + v-if="record.status == '1'" + @click="handleEdit(record)" + >缂栬緫</a> + <a-divider type="vertical"/> + <a-popconfirm + v-if="record.status == '1'" + title="纭畾鍒犻櫎鍚�?" + @confirm="() => handleDelete(record.id)" + > + <a>鍒犻櫎</a> + </a-popconfirm> + </span> + + </a-table> + <a-tabs + type="card" + defaultActiveKey="1" + > + <a-tab-pane + tab='瑙﹀彂鏉′欢' + key="1" forceRender + > + <div + class="table-operator" + style="margin:-16px" + > + <predictive-spare-parts :planId='planId' :isEdit="isEdit" :isAdd="isAdd" :isDel="isDel" v-show="selectionRows.length==1&&selectionRows[0].monitor_type == 'smkz'"/> + <!-- v-if="selectionRows[0].monitorType == 'smkz'"--> + <predictive-parameters :planId='planId' :equipmentId='equipmentId' :isEdit="isEdit" :isAdd="isAdd" + v-show="selectionRows.length==1&&selectionRows[0].monitor_type == 'cskz'" + :isDel="isDel"/> + <!-- v-if="selectionRows[0].monitorType == 'cskz'" --> + <predictive-warn :planId='planId' :equipmentId='equipmentId' :isEdit="isEdit" :isAdd="isAdd" + v-show="selectionRows.length==1&&selectionRows[0].monitor_type == 'bjkz'" + :isDel="isDel"/> + <!-- v-if="selectionRows[0].monitorType == 'bjkz'"--> + </div> + </a-tab-pane> + + <a-tab-pane + tab='缁存姢鍐呭' + key="2" forceRender + > + <div + class="table-operator" + style="margin:-16px" + > + <repair-order-detail-list :mainId='planId' :isEdit="isEdit" :isAdd="isAdd" :isDel="isDel"/> + </div> + </a-tab-pane> + <a-tab-pane + tab='璁″垝鐢ㄦ枡' + key="3" forceRender + > + <div + class="table-operator" + style="margin:-16px" + > + <maintenance-standard-planning-material :maintenanceStandardId='planId' :isEdit="isEdit" :isAdd="isAdd" + :isDel="isDel"/> + </div> + </a-tab-pane> + <a-tab-pane + tab='鍗遍櫓闃叉帶' + key="4" forceRender + > + <div + class="table-operator" + style="margin:-16px" + > + <maintenance-standard-safety-requirement :maintenanceStandardId='planId' :isEdit="isEdit" :isAdd="isAdd" + :isDel="isDel"/> + </div> + </a-tab-pane> + + <a-tab-pane + tab='浣滀笟鎸囧涔�' + key="5" forceRender + > + <div + class="table-operator" + style="margin:-16px" + > + <maintenance-standard-work-instruction :maintenanceStandardId='planId' :isEdit="isEdit" :isAdd="isAdd" + :isDel="isDel"/> + </div> + </a-tab-pane> + + </a-tabs> + </div> + + <predictive-work-plan-modal + ref='modalForm' + @ok='modalFormOk' + ></predictive-work-plan-modal> + </a-card> +</template> + +<script> + + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + + import { requestPut,deleteAction } from '@/api/manage' + + import DailyMaintenanceStandardDetail from './modules/dailyMaintenanceStandard/DailyMaintenanceStandardDetail' + //璁″垝鐢ㄦ枡 + import MaintenanceStandardPlanningMaterial from '@/views/eam/common/MaintenanceStandardPlanningMaterial' + //鍗遍櫓闃叉帶 + import MaintenanceStandardSafetyRequirement from '@/views/eam/common/MaintenanceStandardSafetyRequirement' + //鏂板缂栬緫 + import PredictiveWorkPlanModal from './modules/predictiveWorkPlan/PredictiveWorkPlanModal' + //鍙傛暟 + import PredictiveParameters from './modules/predictiveWorkPlan/PredictiveParameters' + //鎶ヨ + import PredictiveWarn from './modules/predictiveWorkPlan/PredictiveWarn' + //澶囦欢 + import PredictiveSpareParts from './modules/predictiveWorkPlan/PredictiveSpareParts' + //浣滀笟鎸囧涔� + import MaintenanceStandardWorkInstruction from '@/views/eam/common/MaintenanceStandardWorkInstruction' + //缁存姢鍐呭 + import RepairOrderDetailList from '@/views/eam/common/RepairOrderDetailList' + import '@/assets/less/TableExpand.less' + + export default { + name: 'PredictiveWorkPlanList', + mixins: [JeecgListMixin], + components: { + DailyMaintenanceStandardDetail, + PredictiveWorkPlanModal, + MaintenanceStandardPlanningMaterial, + MaintenanceStandardSafetyRequirement, + MaintenanceStandardWorkInstruction, + PredictiveSpareParts, + PredictiveParameters, + PredictiveWarn, + RepairOrderDetailList + }, + data() { + return { + equipmentId: '', + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + width: 60, + align: 'center', + customRender: function(t, r, index) { + return parseInt(index) + 1 + } + }, + { + title: '鐗堟湰鐘舵��', + align: 'center', + dataIndex: 'statusName' + }, + // { + // title: '瀹℃壒鐘舵��', + // align: 'center', + // dataIndex: 'versionStatusName' + // }, + { + title: '鐗堟湰', + align: 'center', + dataIndex: 'planVersion' + }, + + { + title: '鏂规缂栫爜', + align: 'center', + dataIndex: 'num' + }, + { + title: '鏂规鍚嶇О', + align: 'center', + dataIndex: 'name' + }, + { + title: '鐩戞帶绫诲瀷', + align: 'center', + dataIndex: 'monitorTypeName' + }, + { + title: '璁惧缂栫爜', + align: 'center', + dataIndex: 'deviceNum' + }, + { + title: '璁惧鍚嶇О', + align: 'center', + dataIndex: 'deviceName' + }, + { + title: '璁惧鍨嬪彿', + align: 'center', + dataIndex: 'deviceModel' + }, + { + title: '缁翠繚鏂瑰紡', + align: 'center', + dataIndex: 'maintenanceMethodName' + }, + { + title: '娲惧伐鏂瑰紡', + align: 'center', + dataIndex: 'assignModeName' + }, + { + title: '璐d换鐝粍', + align: 'center', + dataIndex: 'teamName' + }, + { + title: '鍒涘缓浜�', + align: 'center', + dataIndex: 'createBy' + }, + { + title: '鍒涘缓鏃ユ湡', + align: 'center', + dataIndex: 'createTime' + }, + // { + // title: '鏇存柊浜�', + // align: 'center', + // dataIndex: 'updateBy', + // }, + // { + // title: '鏇存柊鏃ユ湡', + // align: 'center', + // dataIndex: 'updateTime', + // }, + { + title: '鎿嶄綔', + dataIndex: 'action', + align: 'center', + fixed: 'right', + scopedSlots: { customRender: 'action' }, + width: 200 + } + ], + monitorType: '', + planId: '', + isEdit: false, + isAdd: false, + isDel: false, + url: { + list: '/eam/predictiveworkplan/pagePredictiveWorkPlan', + delete: '/eam/predictiveworkplan/delete', + versionTakeEffect: '/eam/predictiveworkplan/versionTakeEffect' + } + } + }, + methods: { + clickThenSelect(record) { + return { + on: { + click: () => { + this.onSelectChange(record.id.split(','), [record]) + } + } + } + }, + onClearSelected() { + this.selectedRowKeys = [] + this.selectionRows = [] + this.planId = '' + this.equipmentId = '' + this.isAdd = falses + + }, + handleDelete: function(id) { + if (!this.url.delete) { + this.$message.error('璇疯缃畊rl.delete灞炴��!') + return + } + var that = this + deleteAction(that.url.delete, { id: id }).then((res) => { + if (res.success) { + //閲嶆柊璁$畻鍒嗛〉闂 + that.reCalculatePage(1) + that.$message.success(res.message) + that.loadData() + that.onClearSelected() + } else { + that.$message.warning(res.message) + } + }) + }, + onSelectChange(selectedRowKeys, selectionRows) { + this.selectedRowKeys = selectedRowKeys + this.selectionRows = selectionRows + this.planId = this.selectedRowKeys[0] + this.equipmentId = selectionRows[0].equipment_id + this.isAdd = selectionRows[0].status=='1'; + this.isDel = selectionRows[0].status=='1'; + this.isEdit = selectionRows[0].status=='1'; + + }, + + onChange(e) { + this.queryParam.status = e.target.value + this.loadData() + }, + + handleEdit: function(record) { + this.$refs.modalForm.edit(record) + this.$refs.modalForm.title = '缂栬緫' + this.$refs.modalForm.disableSubmit = false + this.$refs.modalForm.isRevise = false + }, + handleAdd: function() { + this.$refs.modalForm.add() + this.$refs.modalForm.title = '鏂板' + this.$refs.modalForm.disableSubmit = false + this.$refs.modalForm.isRevise = false + }, + + //鍗囩増 + handleRevise: function(record) { + this.$refs.modalForm.edit(record) + this.$refs.modalForm.title = '鍗囩骇' + this.$refs.modalForm.disableSubmit = false + this.$refs.modalForm.isRevise = true + }, + + //鐢熸晥 + handleTakeEffect(record) { + const that = this + that.confirmLoading = true + this.$confirm({ + title: '鐗堟湰鐢熸晥锛�', + content: '鎻愮ず锛氱増鏈敓鏁堝悗涓婁竴鐗堟湰灏嗚嚜鍔ㄥけ鏁堬紝璇疯皑鎱庢搷浣滐紒', + okText: '纭', + cancelText: '鍙栨秷', + onOk() { + requestPut(that.url.versionTakeEffect, { + id: record.id, + num: record.num, + status: '2' + }).then((res) => { + if (res.success) { + that.$message.success('鐗堟湰鐢熸晥鎴愬姛锛�') + that.loadData(1) + } else { + that.$message.warning('鐗堟湰鐢熸晥澶辫触锛�') + } + }).finally(() => { + that.confirmLoading = false + }) + } + }) + }, + } + } +</script> +<style scoped> + @import '~@assets/less/common.less'; + + .table-operator .ant-btn { + margin: 10px 8px 8px 10px; + } +</style> \ No newline at end of file -- Gitblit v1.9.3