feat: update mes management reports
This commit is contained in:
@@ -21,10 +21,13 @@
|
||||
</el-select>
|
||||
<!-- <el-input v-model="opName" placeholder="工位" size="small" clearable style="width:200px;margin-left: 0px"/> -->
|
||||
<el-button type="primary" icon="el-icon-search" size="small" style="margin-left: 20px" plain @click="pageSize = 20;pageCurrent = 1;searchTable()">查询</el-button>
|
||||
<el-button type="primary" icon="el-icon-check" size="small" style="margin-left: 10px" plain :loading="batchConfirming" :disabled="selectedConfirmRows.length === 0" @click="handleBatchConfirm">批量确认</el-button>
|
||||
<el-button type="danger" icon="el-icon-circle-close" size="small" style="margin-left: 10px" plain :loading="batchClosing" :disabled="selectedCloseRows.length === 0" @click="handleBatchClose">批量关闭</el-button>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<el-table :data="tableData" border size="small" stripe highlight-current-row height="740px">
|
||||
<el-table :data="tableData" border size="small" stripe highlight-current-row height="740px" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" align="center" width="55" :selectable="isRowSelectable" />
|
||||
<el-table-column label="订单编号" prop="订单编号" align="center" width="80px" />
|
||||
<el-table-column label="合同号" prop="合同号" align="center" width="120px" />
|
||||
<el-table-column label="产品编码" prop="产品编码" align="center" width="250px" />
|
||||
@@ -77,6 +80,9 @@ export default {
|
||||
original: '',
|
||||
|
||||
tableData: [], // 设备信息表
|
||||
multipleSelection: [],
|
||||
batchConfirming: false,
|
||||
batchClosing: false
|
||||
|
||||
}
|
||||
},
|
||||
@@ -84,7 +90,13 @@ export default {
|
||||
...mapGetters([
|
||||
'id',
|
||||
'token'
|
||||
])
|
||||
]),
|
||||
selectedConfirmRows() {
|
||||
return this.multipleSelection.filter(row => this.isRowConfirmable(row))
|
||||
},
|
||||
selectedCloseRows() {
|
||||
return this.multipleSelection.filter(row => this.isRowCloseSelectable(row))
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.searchTable()
|
||||
@@ -105,35 +117,163 @@ export default {
|
||||
})
|
||||
},
|
||||
|
||||
handleDelete(row) {
|
||||
isRowConfirmable(row) {
|
||||
return row.确认状态 != 1
|
||||
},
|
||||
isRowCloseSelectable(row) {
|
||||
return row.确认状态 == 1 && row.单据状态 !== '已关闭'
|
||||
},
|
||||
isRowSelectable(row) {
|
||||
return this.isRowConfirmable(row) || this.isRowCloseSelectable(row)
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val
|
||||
},
|
||||
async confirmOrder(row) {
|
||||
var param = []
|
||||
param[0] = ['订单号', row.订单编号]
|
||||
var Data = this.CreateData('12', '计划排产_生产订单关闭_确认订单', param)
|
||||
const response = await this.ExecDatabase(Data)
|
||||
const result = response.data && response.data[0] ? response.data[0] : {}
|
||||
if (String(result.result) === '1') {
|
||||
return { success: true }
|
||||
}
|
||||
return {
|
||||
success: false,
|
||||
message: result.提示信息 || '确认失败'
|
||||
}
|
||||
},
|
||||
async closeOrder(row) {
|
||||
var param = []
|
||||
param[0] = ['订单号', row.订单编号]
|
||||
var Data = this.CreateData('11', '计划排产_生产订单关闭_关闭订单', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data[0].result === 1) {
|
||||
const response = await this.ExecDatabase(Data)
|
||||
const result = response.data && response.data[0] ? response.data[0] : {}
|
||||
if (String(result.result) === '1') {
|
||||
await patchB1('/ProductionOrders(' + row.订单编号 + ')', {
|
||||
AbsoluteEntry: row.订单编号,
|
||||
ProductionOrderStatus: 'boposClosed'
|
||||
})
|
||||
return { success: true }
|
||||
}
|
||||
return {
|
||||
success: false,
|
||||
message: result.提示信息 || '关闭失败'
|
||||
}
|
||||
},
|
||||
async handleDelete(row) {
|
||||
try {
|
||||
const result = await this.closeOrder(row)
|
||||
if (result.success) {
|
||||
this.$message.success('关闭成功')
|
||||
this.pageCurrent = 1
|
||||
this.searchTable()
|
||||
patchB1("/ProductionOrders("+row.订单编号+")",{
|
||||
"AbsoluteEntry": row.订单编号,
|
||||
"ProductionOrderStatus": 'boposClosed',
|
||||
})
|
||||
} else {
|
||||
this.$message.error(`${response.data[0].提示信息}`)
|
||||
this.$message.error(result.message)
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
this.$message.error(error.message || '关闭失败')
|
||||
}
|
||||
},
|
||||
handledo(row){
|
||||
var param = []
|
||||
param[0] = ['订单号', row.订单编号]
|
||||
var Data = this.CreateData('12', '计划排产_生产订单关闭_确认订单', param)
|
||||
this.ExecDatabase(Data).then(response => {
|
||||
if (response.data[0].result === '1') {
|
||||
this.$message.success('确认成功')
|
||||
this.pageCurrent = 1
|
||||
this.searchTable()
|
||||
}
|
||||
})
|
||||
async handleBatchClose() {
|
||||
const rows = this.selectedCloseRows
|
||||
if (rows.length === 0) {
|
||||
this.$message.warning('请选择可关闭的订单')
|
||||
return
|
||||
}
|
||||
|
||||
const confirmResult = await this.$confirm(`确认批量关闭选中的 ${rows.length} 个订单吗?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).catch(() => false)
|
||||
|
||||
if (!confirmResult) {
|
||||
return
|
||||
}
|
||||
|
||||
this.batchClosing = true
|
||||
const failedOrders = []
|
||||
for (const row of rows) {
|
||||
try {
|
||||
const result = await this.closeOrder(row)
|
||||
if (!result.success) {
|
||||
failedOrders.push(`${row.订单编号}:${result.message}`)
|
||||
}
|
||||
} catch (error) {
|
||||
failedOrders.push(`${row.订单编号}:${error.message || '关闭失败'}`)
|
||||
}
|
||||
}
|
||||
|
||||
this.batchClosing = false
|
||||
this.multipleSelection = []
|
||||
this.pageCurrent = 1
|
||||
this.searchTable()
|
||||
|
||||
const successCount = rows.length - failedOrders.length
|
||||
if (failedOrders.length === 0) {
|
||||
this.$message.success(`批量关闭成功,共 ${successCount} 个订单`)
|
||||
return
|
||||
}
|
||||
|
||||
this.$message.warning(`批量关闭完成,成功 ${successCount} 个,失败 ${failedOrders.length} 个:${failedOrders.join(';')}`)
|
||||
},
|
||||
async handledo(row){
|
||||
try {
|
||||
const result = await this.confirmOrder(row)
|
||||
if (result.success) {
|
||||
this.$message.success('确认成功')
|
||||
this.pageCurrent = 1
|
||||
this.searchTable()
|
||||
} else {
|
||||
this.$message.error(result.message)
|
||||
}
|
||||
} catch (error) {
|
||||
this.$message.error(error.message || '确认失败')
|
||||
}
|
||||
},
|
||||
async handleBatchConfirm() {
|
||||
const rows = this.selectedConfirmRows
|
||||
if (rows.length === 0) {
|
||||
this.$message.warning('请选择可确认的订单')
|
||||
return
|
||||
}
|
||||
|
||||
const confirmResult = await this.$confirm(`确认批量确认选中的 ${rows.length} 个订单吗?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).catch(() => false)
|
||||
|
||||
if (!confirmResult) {
|
||||
return
|
||||
}
|
||||
|
||||
this.batchConfirming = true
|
||||
const failedOrders = []
|
||||
for (const row of rows) {
|
||||
try {
|
||||
const result = await this.confirmOrder(row)
|
||||
if (!result.success) {
|
||||
failedOrders.push(`${row.订单编号}:${result.message}`)
|
||||
}
|
||||
} catch (error) {
|
||||
failedOrders.push(`${row.订单编号}:${error.message || '确认失败'}`)
|
||||
}
|
||||
}
|
||||
|
||||
this.batchConfirming = false
|
||||
this.multipleSelection = []
|
||||
this.pageCurrent = 1
|
||||
this.searchTable()
|
||||
|
||||
const successCount = rows.length - failedOrders.length
|
||||
if (failedOrders.length === 0) {
|
||||
this.$message.success(`批量确认成功,共 ${successCount} 个订单`)
|
||||
return
|
||||
}
|
||||
|
||||
this.$message.warning(`批量确认完成,成功 ${successCount} 个,失败 ${failedOrders.length} 个:${failedOrders.join(';')}`)
|
||||
},
|
||||
handleSizeChanges(val) {
|
||||
this.pageCurrent = 1
|
||||
@@ -147,4 +287,8 @@ export default {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.el-button {
|
||||
width: auto !important;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user