From 92c8ebd688d55cdd803992061ff09ad9e92d18bc Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期一, 28 四月 2025 09:59:38 +0800
Subject: [PATCH] OEE计算新增loading等待提示以及计算OEE后刷新OEE表格功能
---
src/views/eam/maintenance/EamInspectionOrderList.vue | 406 ++++++++++++++++++++++++++++++----------------------------
1 files changed, 210 insertions(+), 196 deletions(-)
diff --git a/src/views/eam/maintenance/EamInspectionOrderList.vue b/src/views/eam/maintenance/EamInspectionOrderList.vue
index 11083ce..bc708f8 100644
--- a/src/views/eam/maintenance/EamInspectionOrderList.vue
+++ b/src/views/eam/maintenance/EamInspectionOrderList.vue
@@ -1,39 +1,33 @@
<template>
<a-card :bordered="false">
<!-- 鏌ヨ鍖哄煙 -->
- <div class="table-page-search-wrapper">
+ <div class="table-page-search-wrapper" v-if="isDisplayOperation">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
- <a-col :xl="6" :lg="7" :md="8" :sm="24">
+ <a-col :xl="4" :lg="7" :md="8" :sm="24">
<a-form-item label="宸ュ崟鍙�">
<a-input placeholder="璇疯緭鍏ュ伐鍗曞彿" v-model="queryParam.orderNum"></a-input>
</a-form-item>
</a-col>
- <a-col :xl="6" :lg="7" :md="8" :sm="24">
- <a-form-item label="璁惧ID">
- <a-input placeholder="璇疯緭鍏ヨ澶嘔D" v-model="queryParam.equipmentId"></a-input>
+ <a-col :xl="4" :lg="7" :md="8" :sm="24">
+ <a-form-item label="璁惧缂栧彿">
+ <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="queryParam.equipmentId"></lx-search-equipment-select>
</a-form-item>
</a-col>
- <template v-if="toggleSearchStatus">
- <a-col :xl="6" :lg="7" :md="8" :sm="24">
- <a-form-item label="鐐规鏃ユ湡">
- <j-date placeholder="璇烽�夋嫨鐐规鏃ユ湡" v-model="queryParam.inspectionDate"></j-date>
- </a-form-item>
- </a-col>
- <a-col :xl="6" :lg="7" :md="8" :sm="24">
- <a-form-item label="鐐规鏃堕棿">
- <j-date placeholder="璇烽�夋嫨鐐规鏃堕棿" v-model="queryParam.operateTime"></j-date>
- </a-form-item>
- </a-col>
- </template>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
+ <a-form-item label="璁″垝鐐规鏃ユ湡">
+ <a-range-picker v-model="queryParam.inspectionDateRange" @change="onInspectionDateChange" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
+ </a-form-item>
+ </a-col>
+ <a-col :xl="4" :lg="7" :md="8" :sm="24">
+ <a-form-item label="鐐规鐘舵��">
+ <j-dict-select-tag placeholder="璇烽�夋嫨鐐规鐘舵��" dict-code="inspection_status" v-model="queryParam.inspectionStatus" />
+ </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="primary" @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>
+ <a-button type="info" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
</span>
</a-col>
</a-row>
@@ -42,21 +36,30 @@
<!-- 鏌ヨ鍖哄煙-END -->
<!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
- <div class="table-operator">
- <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+ <div class="table-operator" v-if="isDisplayOperation">
+ <a-button @click="handleAdd" type="primary" icon="plus" v-if="isShowAuth('eam:inspection:add')">鏂板</a-button>
<a-dropdown v-if="selectedRowKeys.length > 0">
<a-menu slot="overlay">
- <a-menu-item key="1" @click="batchZf(5)"><a-icon type="snippets"/>浣滃簾</a-menu-item>
- <a-menu-item key="2" @click="batchLq(2)"><a-icon type="form"/>棰嗗彇</a-menu-item>
+ <a-menu-item key="1" v-if="isShowAuth('eam:inspection:abolish')" @click="batchZf('ABOLISH')">
+ <a-icon type="snippets"/>
+ 浣滃簾
+ </a-menu-item>
+ <a-menu-item key="2" v-if="isShowAuth('eam:inspection:collect')" @click="batchLq('UNDER_INSPECTION')">
+ <a-icon type="form"/>
+ 棰嗗彇
+ </a-menu-item>
</a-menu>
- <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>
+ <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>椤�
+ <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>
@@ -74,57 +77,38 @@
class="j-table-force-nowrap"
@change="handleTableChange">
- <template slot="htmlSlot" slot-scope="text">
- <div v-html="text"></div>
- </template>
- <template slot="imgSlot" slot-scope="text,record">
- <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
- <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
- </template>
- <template slot="fileSlot" slot-scope="text">
- <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
- <a-button
- v-else
- :ghost="true"
- type="primary"
- icon="download"
- size="small"
- @click="downloadFile(text)">
- 涓嬭浇
- </a-button>
- </template>
-
<span slot="action" slot-scope="text, record">
- <a v-if="record.inspectionStatus === '1'" @click="handleEdit(record)">缂栬緫</a>
+ <a @click="handleEdit(record)" v-if="isShowAuth('eam:inspection:edit') && record.inspectionStatus === 'WAIT_INSPECTION'" >缂栬緫</a>
- <a-divider v-if="record.inspectionStatus === '1'" type="vertical" />
+ <a-divider type="vertical" v-if="isShowAuth('eam:inspection:edit') && record.inspectionStatus === 'WAIT_INSPECTION'" />
- <a-popconfirm v-if="record.inspectionStatus === '1'" title="纭畾棰嗗彇鍚�?" @confirm="() => handleInspection(record.id)">
+ <a-popconfirm title="纭畾棰嗗彇鍚�?" v-if="isShowAuth('eam:inspection:collect') && record.inspectionStatus === 'WAIT_INSPECTION'"
+ @confirm="() => handleInspection(record.id)">
<a>棰嗗彇</a>
</a-popconfirm>
- <a-divider v-if="record.inspectionStatus === '1'" type="vertical" />
+ <a-divider type="vertical" v-if="isShowAuth('eam:inspection:collect') && record.inspectionStatus === 'WAIT_INSPECTION'" />
<a-dropdown>
- <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
+ <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 v-if="record.inspectionStatus === '1'" >
- <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handleDelete(record.id)">
+ <a-menu-item v-if="isShowAuth('eam:inspection:abolish') && record.inspectionStatus === 'WAIT_INSPECTION'">
+ <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handleOrReceive(record.id)">
<a>浣滃簾</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
-
</a-table>
</div>
<eam-inspection-order-modal ref="modalForm" @ok="modalFormOk"></eam-inspection-order-modal>
- <EamInspectionOrderModalXq ref="modalFormXq" @ok="modalFormOk"></EamInspectionOrderModalXq>
+
+ <inspection-order-handle ref="modalFormXq" :selectShenpiData="selectInspectionOrderXqData"/>
</a-card>
</template>
@@ -134,254 +118,284 @@
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import EamInspectionOrderModal from './modules/EamInspectionOrderModal'
- import EamInspectionOrderModalXq from './modules/EamInspectionOrderModalXq.vue'
import { deleteAction, getAction } from '@api/manage'
+ import InspectionOrderHandle from '../../flowable/workflow/InspectionOrder/InspectionOrderHandle'
+ import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
export default {
name: 'EamInspectionOrderList',
- mixins:[JeecgListMixin, mixinDevice],
+ mixins: [JeecgListMixin, mixinDevice],
components: {
+ InspectionOrderHandle,
EamInspectionOrderModal,
- EamInspectionOrderModalXq
+ LxSearchEquipmentSelect,
},
- data () {
+ props: {
+ isDisplayOperation: {
+ type: Boolean,
+ default: true
+ }
+ },
+ data() {
return {
description: 'eam_inspection_order绠$悊椤甸潰',
+ disableMixinCreated: true,
// 琛ㄥご
columns: [
{
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",
+ title: '宸ュ崟鍙�',
+ align: 'center',
dataIndex: 'orderNum'
},
{
- title:'璁惧缂栧彿',
- align:"center",
- dataIndex: 'equipmentId_dictText'
+ title: '璁惧缂栧彿',
+ align: 'center',
+ dataIndex: 'equipmentCode'
},
{
- title:'鏍囧噯缂栫爜',
- align:"center",
+ title: '璁惧鍚嶇О',
+ align: 'center',
+ dataIndex: 'equipmentName'
+ },
+ {
+ title: '鏍囧噯鍚嶇О',
+ align: 'center',
dataIndex: 'standardId_dictText'
},
{
- title:'鐐规鏃ユ湡',
- align:"center",
+ title: '鐐规鏃ユ湡',
+ align: 'center',
dataIndex: 'inspectionDate',
- customRender:function (text) {
- return !text?"":(text.length>10?text.substr(0,10):text)
+ customRender: function(text) {
+ return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text)
}
},
{
- title:'鐐规杩囨湡鏃堕棿',
- align:"center",
+ title: '鐐规杩囨湡鏃ユ湡',
+ align: 'center',
dataIndex: 'expirationTime',
- customRender:function (text) {
- return !text?"":(text.length>10?text.substr(0,10):text)
+ customRender: function(text) {
+ return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text)
}
},
{
- title:'鍒涘缓鏂瑰紡',
- align:"center",
+ title: '鍒涘缓鏂瑰紡',
+ align: 'center',
dataIndex: 'creationMethod_dictText'
},
{
- title:'鐐规鐘舵��',
- align:"center",
+ title: '鐐规鐘舵��',
+ align: 'center',
dataIndex: 'inspectionStatus_dictText'
},
{
- title:'鐐规鏃堕棿',
- align:"center",
- dataIndex: 'operateTime',
- customRender:function (text) {
- return !text?"":(text.length>10?text.substr(0,10):text)
- }
- },
- {
- title:'鐐规浜�',
- align:"center",
+ title: '鐐规浜�',
+ align: 'center',
dataIndex: 'operator_dictText'
},
{
- title:'鐝粍闀跨‘璁�',
- align:"center",
- dataIndex: 'confirmUser'
+ title: '鐐规鏃堕棿',
+ align: 'center',
+ dataIndex: 'operateTime',
},
{
- title:'纭鏃堕棿',
- align:"center",
+ title: '鐝粍闀跨‘璁�',
+ align: 'center',
+ dataIndex: 'confirmUser_dictText'
+ },
+ {
+ title: '纭鏃堕棿',
+ align: 'center',
dataIndex: 'confirmTime',
- customRender:function (text) {
- return !text?"":(text.length>10?text.substr(0,10):text)
- }
},
{
- title: '鎿嶄綔',
- dataIndex: 'action',
- align:"center",
- fixed:"right",
- width:147,
- scopedSlots: { customRender: 'action' }
+ title: '纭鎰忚',
+ align: 'center',
+ dataIndex: 'confirmComment',
}
],
url: {
- list: "/eam/eamInspectionOrder/list",
- delete: "/eam/eamInspectionOrder/cancelInspectionOrder",
- deleteBatch: "/eam/eamInspectionOrder/deleteBatch",
- exportXlsUrl: "/eam/eamInspectionOrder/exportXls",
- importExcelUrl: "eam/eamInspectionOrder/importExcel",
- receiveInspectionOrder : "eam/eamInspectionOrder/receiveInspectionOrder",
- cancelOrReceive: "eam/eamInspectionOrder/cancelOrReceive"
+ list: '/eam/eamInspectionOrder/list',
+ cancelInspectionOrder: '/eam/eamInspectionOrder/cancelInspectionOrder',
+ deleteBatch: '/eam/eamInspectionOrder/deleteBatch',
+ exportXlsUrl: '/eam/eamInspectionOrder/exportXls',
+ importExcelUrl: 'eam/eamInspectionOrder/importExcel',
+ receiveInspectionOrder: 'eam/eamInspectionOrder/receiveInspectionOrder',
+ cancelOrReceive: 'eam/eamInspectionOrder/cancelOrReceive'
},
- dictOptions:{},
- superFieldList:[],
+ dictOptions: {},
+ superFieldList: [],
+ selectInspectionOrderXqData: {}
}
},
created() {
- this.getSuperFieldList();
+ if (!this.isDisplayOperation) {
+ return
+ }
+ const operationColumn = {
+ title: '鎿嶄綔',
+ dataIndex: 'action',
+ align: 'center',
+ fixed: 'right',
+ width: 200,
+ scopedSlots: { customRender: 'action' }
+ }
+ this.columns = [...this.columns, operationColumn]
+ this.loadData(1)
},
computed: {
- importExcelUrl: function(){
- return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
- },
+ importExcelUrl: function() {
+ return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
+ }
},
methods: {
- initDictConfig(){
- },
- getSuperFieldList(){
- let fieldList=[];
- fieldList.push({type:'string',value:'orderNum',text:'宸ュ崟鍙�',dictCode:''})
- fieldList.push({type:'string',value:'equipmentId',text:'璁惧ID',dictCode:''})
- fieldList.push({type:'string',value:'standardId',text:'鏍囧噯ID',dictCode:''})
- fieldList.push({type:'date',value:'inspectionDate',text:'鐐规鏃ユ湡'})
- fieldList.push({type:'date',value:'operateTime',text:'鐐规鏃堕棿'})
- fieldList.push({type:'string',value:'operator',text:'鐐规浜�',dictCode:''})
- fieldList.push({type:'date',value:'expirationTime',text:'鐐规杩囨湡鏃堕棿'})
- fieldList.push({type:'string',value:'creationMethod',text:'鍒涘缓鏂瑰紡',dictCode:''})
- fieldList.push({type:'string',value:'inspectionStatus',text:'鐐规鐘舵��',dictCode:''})
- fieldList.push({type:'string',value:'confirmUser',text:'璁惧绠$悊鍛樼‘璁�',dictCode:''})
- fieldList.push({type:'date',value:'confirmTime',text:'纭鏃堕棿'})
- fieldList.push({type:'string',value:'remark',text:'澶囨敞',dictCode:''})
- fieldList.push({type:'string',value:'imageFiles',text:'鐓х墖鏂囦欢ids;id浠ラ�楀彿鍒嗛殧',dictCode:''})
- this.superFieldList = fieldList
+ initDictConfig() {
},
//璇︽儏
handleDetail: function(record) {
- this.$refs.modalFormXq.edit(record);
- this.$refs.modalFormXq.title = "璇︽儏";
- this.$refs.modalFormXq.disableSubmit = true;
+ this.selectInspectionOrderXqData = Object.assign({}, record)
+ this.$refs.modalFormXq.visible = true
+ this.$refs.modalFormXq.title = '璇︽儏'
+ this.$refs.modalFormXq.disableSubmit = true
+ this.$refs.modalFormXq.getAllApproveData(record)
+ this.$refs.modalFormXq.getBasicInformation({ ...record, dataId: record.id })
},
handleInspection(id) {
if (!this.url.receiveInspectionOrder) {
- this.$message.error("璇疯缃畊rl.receiveInspectionOrder!")
+ this.$message.error('璇疯缃畊rl.receiveInspectionOrder!')
return
}
- var that = this;
+ var that = this
getAction(that.url.receiveInspectionOrder, { id: id }).then((res) => {
if (res.success) {
that.$notification.success({
message: '娑堟伅',
description: res.message
- });
- that.loadData();
+ })
+ that.loadData()
} else {
// that.$message.warning(res.message);
that.$notification.warning({
message: '娑堟伅',
description: res.message
- });
+ })
}
- });
+ })
},
- batchZf(type){
+ handleOrReceive(id) {
+ if (!this.url.cancelInspectionOrder) {
+ this.$message.error('璇疯缃畊rl.cancelInspectionOrder!')
+ return
+ }
+ var that = this
+ getAction(that.url.cancelInspectionOrder, { id: id }).then((res) => {
+ if (res.success) {
+ that.$notification.success({
+ message: '娑堟伅',
+ description: res.message
+ })
+ that.loadData()
+ } else {
+ // that.$message.warning(res.message);
+ that.$notification.warning({
+ message: '娑堟伅',
+ description: res.message
+ })
+ }
+ })
+ },
+ batchZf(type) {
if (this.selectedRowKeys.length <= 0) {
this.$notification.warning({
- message:'娑堟伅',
- description:"璇烽�夋嫨涓�鏉¤褰�"
- });
+ message: '娑堟伅',
+ description: '璇烽�夋嫨涓�鏉¤褰�'
+ })
} else {
- var ids = "";
+ var ids = ''
for (var a = 0; a < this.selectedRowKeys.length; a++) {
- ids += this.selectedRowKeys[a] + ",";
+ ids += this.selectedRowKeys[a] + ','
}
- var that = this;
+ var that = this
this.$confirm({
- title: "纭浣滃簾",
- content: "鏄惁浣滃簾閫変腑鏁版嵁锛屽彧鏈夊緟鐐规鐘舵�佺殑鏁版嵁鎵嶅彲浣滃簾鎴愬姛?",
- onOk: function () {
- that.loading = true;
- getAction(that.url.cancelOrReceive, {ids: ids,type:type}).then((res) => {
+ title: '纭浣滃簾',
+ content: '鏄惁浣滃簾閫変腑鏁版嵁锛屽彧鏈夊緟鐐规鐘舵�佺殑鏁版嵁鎵嶅彲浣滃簾鎴愬姛?',
+ onOk: function() {
+ that.loading = true
+ getAction(that.url.cancelOrReceive, { ids: ids, type: type }).then((res) => {
if (res.success) {
that.$notification.success({
- message:'娑堟伅',
- description:res.message
- });
- that.loadData();
- that.onClearSelected();
+ message: '娑堟伅',
+ description: res.message
+ })
+ that.loadData()
+ that.onClearSelected()
} else {
// that.$message.warning(res.message);
that.$notification.warning({
- message:'娑堟伅',
- description:res.message
- });
+ message: '娑堟伅',
+ description: res.message
+ })
}
}).finally(() => {
- that.loading = false;
- });
+ that.loading = false
+ })
}
- });
+ })
}
},
- batchLq(type){
+ batchLq(type) {
if (this.selectedRowKeys.length <= 0) {
this.$notification.warning({
- message:'娑堟伅',
- description:"璇烽�夋嫨涓�鏉¤褰�"
- });
+ message: '娑堟伅',
+ description: '璇烽�夋嫨涓�鏉¤褰�'
+ })
} else {
- var ids = "";
+ var ids = ''
for (var a = 0; a < this.selectedRowKeys.length; a++) {
- ids += this.selectedRowKeys[a] + ",";
+ ids += this.selectedRowKeys[a] + ','
}
- var that = this;
+ var that = this
this.$confirm({
- title: "纭棰嗗彇",
- content: "鏄惁棰嗗彇閫変腑鏁版嵁锛屽彧鏈夊緟鐐规鐘舵�佺殑鏁版嵁鎵嶅彲棰嗗彇鎴愬姛?",
- onOk: function () {
- that.loading = true;
- getAction(that.url.cancelOrReceive, {ids: ids,type:type}).then((res) => {
+ title: '纭棰嗗彇',
+ content: '鏄惁棰嗗彇閫変腑鏁版嵁锛屽彧鏈夊緟鐐规鐘舵�佺殑鏁版嵁鎵嶅彲棰嗗彇鎴愬姛?',
+ onOk: function() {
+ that.loading = true
+ getAction(that.url.cancelOrReceive, { ids: ids, type: type }).then((res) => {
if (res.success) {
that.$notification.success({
- message:'娑堟伅',
- description:res.message
- });
- that.loadData();
- that.onClearSelected();
+ message: '娑堟伅',
+ description: res.message
+ })
+ that.loadData()
+ that.onClearSelected()
} else {
// that.$message.warning(res.message);
that.$notification.warning({
- message:'娑堟伅',
- description:res.message
- });
+ message: '娑堟伅',
+ description: res.message
+ })
}
}).finally(() => {
- that.loading = false;
- });
+ that.loading = false
+ })
}
- });
+ })
}
},
+ onInspectionDateChange: function(value, dateString) {
+ this.queryParam.inspectionDateBegin = dateString[0]
+ this.queryParam.inspectionDateEnd = dateString[1]
+ },
}
}
</script>
--
Gitblit v1.9.3