¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <a-card |
| | | :bordered="false" |
| | | title="" |
| | | > |
| | | <!-- 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" |
| | | :scroll="{ x: 'calc(2800px + 50%)', y: 900 }" |
| | | bordered |
| | | rowKey="id" |
| | | :columns="columns" |
| | | :dataSource="dataSource" |
| | | :pagination="ipagination" |
| | | :loading="loading" |
| | | class="j-table-force-nowrap" |
| | | @change="handleTableChange" |
| | | :rowSelection="rowSelection" |
| | | :rowClassName="tableRowClass" |
| | | > |
| | | |
| | | <span |
| | | slot="action" |
| | | slot-scope="text, record" |
| | | > |
| | | <a-popconfirm |
| | | title="ç¡®å®æ¥æ¶å·¥åå?" |
| | | @confirm="() => handleOrderIssue(record)" |
| | | v-has="'dailyMaintenanceOrder:issue'" |
| | | > |
| | | <a v-show="record.status == '1'">æ¥æ¶</a> |
| | | </a-popconfirm> |
| | | <a-divider |
| | | v-show="record.status == '1'" |
| | | type="vertical" |
| | | /> |
| | | <a-popconfirm |
| | | title="ç¡®å®æ¤åå·¥åå?" |
| | | @confirm="() => handleOrderReset(record)" |
| | | v-has="'dailyMaintenanceOrder:issue'" |
| | | > |
| | | <a v-show="record.status == '2'">æ¤å</a> |
| | | </a-popconfirm> |
| | | <a-divider |
| | | v-show="record.status == '2'" |
| | | type="vertical" |
| | | /> |
| | | <a-divider |
| | | v-show="record.status == '2'" |
| | | type="vertical" |
| | | /> |
| | | <a-popconfirm |
| | | title="ç¡®å®é¢åå·¥åå?" |
| | | @confirm="() => handleOrderGet(record)" |
| | | v-has="'dailyMaintenanceOrder:get'" |
| | | > |
| | | <a v-show="record.status == '2' && record.assignMode == '1'">é¢å</a> |
| | | </a-popconfirm> |
| | | <!-- <a |
| | | v-show="record.status == '2' && record.assignMode == '2' " |
| | | @click="handleAssignOrder(record)" |
| | | v-has="'dailyMaintenanceOrder:assign'" |
| | | >派工</a> |
| | | |
| | | <a-divider |
| | | v-show="record.status == '2'" |
| | | type="vertical" |
| | | /> --> |
| | | <a-divider |
| | | v-show="record.status === '3'&& record.assignMode == '2' && record.maintenanceUserName != null " |
| | | type="vertical" |
| | | /> |
| | | <a |
| | | v-show="record.status === '3' || record.status === '4' " |
| | | @click="handleOrderExe(record)" |
| | | v-has="'dailyMaintenanceOrder:exe'" |
| | | >æ§è¡</a> |
| | | <a-divider |
| | | v-show="record.status === '3' || record.status === '4' " |
| | | type="vertical" |
| | | /> |
| | | <a |
| | | v-show="record.status === '1'" |
| | | @click="handleEdit(record)" |
| | | v-has="'dailyMaintenanceOrder:edit'" |
| | | >ç¼è¾</a> |
| | | <a-divider |
| | | v-show="record.status === '1'" |
| | | type="vertical" |
| | | /> |
| | | <a |
| | | v-show="(record.status === '5' || record.status === '8') && (record.confirmStatus === '0' || record.confirmStatus === '2')" |
| | | @click="handleFinish(record)" |
| | | v-has="'dailyMaintenanceOrder:operateUser'" |
| | | >å®å·¥ç§»äº¤å</a> |
| | | <a |
| | | v-show="(record.status === '5' || record.status === '8') && (record.confirmStatus === '1' || record.confirmStatus === '4')" |
| | | @click="handleFinish(record)" |
| | | v-has="'dailyMaintenanceOrder:repairUser'" |
| | | >å®å·¥ç§»äº¤å</a> |
| | | <a |
| | | v-show="(record.status === '5' || record.status === '8') && (record.confirmStatus === '3' || record.confirmStatus === '6')" |
| | | @click="handleFinish(record)" |
| | | v-has="'dailyMaintenanceOrder:repairDirectorUser'" |
| | | >å®å·¥ç§»äº¤å</a> |
| | | <a |
| | | v-show="(record.status === '5' || record.status === '8') && (record.confirmStatus === '5')" |
| | | @click="handleFinish(record)" |
| | | v-has="'dailyMaintenanceOrder:equipmentInspectorUser'" |
| | | >å®å·¥ç§»äº¤å</a> |
| | | <a |
| | | v-show="(record.status === '5' || record.status === '8') && (record.confirmStatus === '7')" |
| | | @click="handleFinish(record)" |
| | | >å®å·¥ç§»äº¤å</a> |
| | | <a-divider |
| | | v-show="record.status === '5' || record.status === '8'" |
| | | type="vertical" |
| | | /> |
| | | <a-dropdown> |
| | | <a class="ant-dropdown-link">æ´å¤ <a-icon type="down" /></a> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item> |
| | | <a @click="handleDetail(record)">详æ
</a> |
| | | </a-menu-item> |
| | | <a-menu-item> |
| | | <a-popconfirm |
| | | title="ç¡®å®å é¤å?" |
| | | @confirm="() => handleDelete(record.id)" |
| | | v-has="'dailyMaintenanceOrder:delete'" |
| | | > |
| | | <a v-show="record.status === '1'">å é¤</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | </a-menu> |
| | | </a-dropdown> |
| | | </span> |
| | | |
| | | <span |
| | | slot="num" |
| | | slot-scope="text, record" |
| | | > |
| | | <a |
| | | v-if="record.status === '3' || record.status === '4' ||record.status === '5' ||record.status === '7' ||record.status === '8'" |
| | | class="lot" |
| | | @click="handleOrderExe(record)" |
| | | >{{record.num}}</a> |
| | | <span v-else>{{record.num}}</span> |
| | | </span> |
| | | |
| | | </a-table> |
| | | </div> |
| | | |
| | | <maintenance-order-modal |
| | | ref="modalForm" |
| | | @ok="modalFormOk" |
| | | ></maintenance-order-modal> |
| | | <finish-devolution-modal |
| | | ref="FinishDevolutionModal" |
| | | @ok="modalFormOk" |
| | | ></finish-devolution-modal> |
| | | <maintenance-order-assign-modal |
| | | ref="MaintenanceOrderAssignModal" |
| | | @ok="modalFormOk" |
| | | ></maintenance-order-assign-modal> |
| | | <daily-maintenance-order-exe-drawer |
| | | ref="DailyMaintenanceOrderExeDrawer" |
| | | @ok="modalFormOk" |
| | | ></daily-maintenance-order-exe-drawer> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import '@/assets/less/TableExpand.less' |
| | | import { mixinDevice } from '@/utils/mixin' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import MaintenanceOrderModal from '@/views/eam/modules/dailyMaintenanceOrder/MaintenanceOrderModal' |
| | | import FinishDevolutionModal from '@/views/eam/modules/dailyMaintenanceOrder/FinishDevolutionModal' |
| | | import MaintenanceOrderAssignModal from '@/views/eam/modules/dailyMaintenanceOrder/MaintenanceOrderAssignModal' |
| | | import DailyMaintenanceOrderExeDrawer from '@/views/eam/modules/dailyMaintenanceOrder/DailyMaintenanceOrderExeDrawer' |
| | | import { getAction, postAction, requestPut } from '@/api/manage' |
| | | |
| | | export default { |
| | | name: 'DailyMaintenanceOrderList', |
| | | mixins: [JeecgListMixin, mixinDevice], |
| | | components: { |
| | | MaintenanceOrderModal, |
| | | FinishDevolutionModal, |
| | | MaintenanceOrderAssignModal, |
| | | DailyMaintenanceOrderExeDrawer |
| | | }, |
| | | props:{ |
| | | mainId:{ |
| | | type:String, |
| | | default:'', |
| | | required:false |
| | | } |
| | | }, |
| | | watch:{ |
| | | mainId:{ |
| | | immediate: true, |
| | | handler(val) { |
| | | if(!this.mainId){ |
| | | this.queryParam['equipmentId'] = 'NAN' |
| | | this.loadData(1); |
| | | }else{ |
| | | this.queryParam['equipmentId'] = val |
| | | this.queryParam['statusEnums'] = '6,7,8,9' |
| | | this.loadData(1); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | description: 'äºçº§ä¿å
Ȍᴌ', |
| | | queryParam: { maintenanceType: '2' }, |
| | | finishTime: [], |
| | | // 表头 |
| | | columns: [ |
| | | { |
| | | title: '#', |
| | | dataIndex: '', |
| | | key: 'rowIndex', |
| | | width: 60, |
| | | align: "center", |
| | | customRender: function (t, r, index) { |
| | | return parseInt(index) + 1; |
| | | } |
| | | }, |
| | | { |
| | | title: 'ä¿å
»å·¥åå·', |
| | | align: "center", |
| | | dataIndex: 'num', |
| | | scopedSlots: { customRender: 'num' } |
| | | }, |
| | | { |
| | | title: 'ç»ä¸ç¼ç ', |
| | | align: "center", |
| | | dataIndex: 'equipmentNum', |
| | | }, |
| | | { |
| | | title: 'ç¶æ', |
| | | align: "center", |
| | | width: 100, |
| | | dataIndex: 'statusName' |
| | | }, |
| | | // { |
| | | // title: 'ä¿å
»ç±»å', |
| | | // align: "center", |
| | | // dataIndex: 'maintenanceTypeName', |
| | | // }, |
| | | // { |
| | | // title: 'ä¿å
»å¨æ', |
| | | // align: "center", |
| | | // dataIndex: 'maintenanceCycleName', |
| | | // }, |
| | | // { |
| | | // title: '派工æ¹å¼', |
| | | // align: "center", |
| | | // dataIndex: 'assignModeName', |
| | | // width: 100, |
| | | // }, |
| | | { |
| | | title: '移交åç¡®è®¤ç¶æ', |
| | | align: "center", |
| | | dataIndex: 'confirmStatusName' |
| | | }, |
| | | |
| | | { |
| | | title: '设å¤åç§°', |
| | | align: "center", |
| | | dataIndex: 'equipmentName', |
| | | }, |
| | | { |
| | | title: 'åå·', |
| | | align: "center", |
| | | dataIndex: 'equipmentModel', |
| | | }, |
| | | // { |
| | | // title: 'ä¿å
»æ åç¼ç ', |
| | | // align: "center", |
| | | // dataIndex: 'maintenanceStandardNum', |
| | | // }, |
| | | |
| | | { |
| | | title: '使ç¨é¨é¨', |
| | | align: "center", |
| | | dataIndex: 'departName' |
| | | }, |
| | | { |
| | | title: '责任çç»', |
| | | align: "center", |
| | | dataIndex: 'teamName' |
| | | }, |
| | | // { |
| | | // title: 'å·¥æ¶å®é¢', |
| | | // align: "center", |
| | | // dataIndex: 'workingHourQuota' |
| | | // }, |
| | | // { |
| | | // title: '计åå¼å§æ¶é´', |
| | | // align: "center", |
| | | // dataIndex: 'planStartTime', |
| | | // //width: '120px', |
| | | // }, |
| | | // { |
| | | // title: '计åç»ææ¶é´', |
| | | // align: "center", |
| | | // dataIndex: 'planEndTime', |
| | | // //width: '120px', |
| | | // }, |
| | | { |
| | | title: 'æ§è¡æ¶é´', |
| | | align: "center", |
| | | dataIndex: 'actualStartTime', |
| | | //width: '120px', |
| | | }, |
| | | { |
| | | title: 'å®å·¥æ¶é´', |
| | | align: "center", |
| | | dataIndex: 'actualEndTime', |
| | | //width: '120px', |
| | | }, |
| | | // { |
| | | // title: 'å®é
ç¨æ¶', |
| | | // align: "center", |
| | | // dataIndex: 'actualWorkingHourQuota', |
| | | // }, |
| | | // { |
| | | // title: 'æ¥å·¥äºº', |
| | | // align: "center", |
| | | // dataIndex: 'maintenanceUserId' |
| | | // }, |
| | | { |
| | | title: 'é®é¢åç¸åºå¤çæªæ½æè¿°', |
| | | align: "center", |
| | | dataIndex: 'description' |
| | | }, |
| | | { |
| | | title: 'å建人', |
| | | align: "center", |
| | | dataIndex: 'createBy' |
| | | }, |
| | | { |
| | | title: 'åå»ºæ¥æ', |
| | | align: "center", |
| | | dataIndex: 'createTime', |
| | | //width: '120px', |
| | | }, |
| | | { |
| | | title: 'æä½', |
| | | dataIndex: 'action', |
| | | align: "center", |
| | | fixed: "right", |
| | | width: 300, |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ], |
| | | url: { |
| | | list: "/eam/dailyMaintenanceOrder/getDailyMaintenanceOrderList", |
| | | delete: "/eam/dailyMaintenanceOrder/delete", |
| | | deleteBatch: "/eam/dailyMaintenanceOrder/deleteBatch", |
| | | exportXlsUrl: "/eam/dailyMaintenanceOrder/exportXls", |
| | | importExcelUrl: "eam/dailyMaintenanceOrder/importExcel", |
| | | edit: "/eam/dailyMaintenanceOrder/editStatus", |
| | | orderGet: "/eam/dailyMaintenanceOrder/orderGet", |
| | | }, |
| | | } |
| | | }, |
| | | |
| | | computed: { |
| | | importExcelUrl: function () { |
| | | return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; |
| | | }, |
| | | rowSelection() { |
| | | return { |
| | | type: 'checkbox', |
| | | onChange: (selectedRowKeys, selectedRows) => { |
| | | this.selectedRowKeys = selectedRowKeys; |
| | | this.onSelectChange(selectedRows); |
| | | }, |
| | | getCheckboxProps: record => ({ |
| | | props: { |
| | | disabled: record.distable |
| | | }, |
| | | }), |
| | | selectedRowKeys: this.selectedRowKeys, |
| | | }; |
| | | }, |
| | | }, |
| | | |
| | | methods: { |
| | | |
| | | onSelectChange(selectionRows) { |
| | | this.selectionRows = selectionRows; |
| | | }, |
| | | |
| | | handleOrderExe(record) { |
| | | this.$refs.DailyMaintenanceOrderExeDrawer.visible = true |
| | | this.$refs.DailyMaintenanceOrderExeDrawer.title = 'äºçº§ä¿å
»å·¥åæ§è¡' |
| | | this.$refs.DailyMaintenanceOrderExeDrawer.handleShow(record) |
| | | if (record.status === '3') { |
| | | this.$refs.DailyMaintenanceOrderExeDrawer.buttonDistable = true//ä¿åãæåãæ¥å·¥ |
| | | this.$refs.DailyMaintenanceOrderExeDrawer.revocationDistable = true//æ¤éæé® |
| | | this.$refs.DailyMaintenanceOrderExeDrawer.SWbuttonDistable = false//å¼å·¥æé® |
| | | } else if (record.status === '4') { |
| | | this.$refs.DailyMaintenanceOrderExeDrawer.buttonDistable = false |
| | | this.$refs.DailyMaintenanceOrderExeDrawer.revocationDistable = true |
| | | this.$refs.DailyMaintenanceOrderExeDrawer.SWbuttonDistable = true |
| | | } else if (record.status === '5') { |
| | | this.$refs.DailyMaintenanceOrderExeDrawer.buttonDistable = true |
| | | this.$refs.DailyMaintenanceOrderExeDrawer.revocationDistable = false |
| | | this.$refs.DailyMaintenanceOrderExeDrawer.SWbuttonDistable = true |
| | | } else if (record.status === '7') { |
| | | this.$refs.DailyMaintenanceOrderExeDrawer.buttonDistable = true |
| | | this.$refs.DailyMaintenanceOrderExeDrawer.revocationDistable = true |
| | | this.$refs.DailyMaintenanceOrderExeDrawer.SWbuttonDistable = true |
| | | } |
| | | }, |
| | | |
| | | handleFinish: function (record) { |
| | | this.$refs.FinishDevolutionModal.edit(record); |
| | | this.$refs.FinishDevolutionModal.title = "ç产设å¤äºçº§ä¿å
»å®å·¥ç§»äº¤å"; |
| | | this.$refs.FinishDevolutionModal.disableSubmit = false; |
| | | }, |
| | | |
| | | handleOrderIssue(record) { |
| | | const that = this; |
| | | requestPut(that.url.edit, { id: record.id, status: '2' }).then((res) => { |
| | | if (res.success) { |
| | | that.$message.success("å·¥åä¸åæåï¼") |
| | | that.loadData() |
| | | } else { |
| | | that.$message.warning("å·¥åä¸å失败ï¼") |
| | | } |
| | | }) |
| | | }, |
| | | //æ¤å |
| | | handleOrderReset(record) { |
| | | const that = this; |
| | | requestPut(that.url.edit, { id: record.id, status: '1' }).then((res) => { |
| | | if (res.success) { |
| | | that.$message.success("工忤åæåï¼") |
| | | that.loadData() |
| | | } else { |
| | | that.$message.warning("工忤å失败ï¼") |
| | | } |
| | | }) |
| | | }, |
| | | handleOrderGet(record) { |
| | | const that = this; |
| | | requestPut(that.url.orderGet, { id: record.id, status: '1' }).then((res) => { |
| | | if (res.success) { |
| | | that.$message.success("å·¥åé¢åæåï¼") |
| | | that.loadData() |
| | | } else { |
| | | that.$message.warning("å·¥åé¢å失败ï¼") |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | //é¢è¦é¢è² |
| | | tableRowClass(record, index) { |
| | | if ("1" == record.status || "2" == record.status) { |
| | | if (record.yellowWarningTime < record.currentDateTime && record.currentDateTime < record.redWarningTime) { |
| | | return 'yellow' |
| | | } else if (record.redWarningTime < record.currentDateTime && record.currentDateTime < record.planStartTime) { |
| | | return 'error' |
| | | } else if (record.planStartTime < record.currentDateTime) { |
| | | return 'frozenRowClass' |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <style > |
| | | @import '~@assets/less/common.less'; |
| | | .frozenRowClass { |
| | | color: #c9c9c9; |
| | | font-weight: bold; |
| | | } |
| | | .success { |
| | | color: green; |
| | | } |
| | | .error { |
| | | color: red; |
| | | font-weight: bold; |
| | | } |
| | | .yellow { |
| | | color: rgba(255, 255, 0, 0.443); |
| | | font-weight: bold; |
| | | } |
| | | .fontweight { |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .ant-table-tbody .red { |
| | | background-color: red !important; |
| | | } |
| | | </style> |