From c02a3ebf5b4338710c4f9ae231d72cf591dfb97f Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期一, 02 十二月 2024 11:28:04 +0800
Subject: [PATCH] 1.修改 批量派发 没绑定工艺路线的单子,显示在最前面
---
src/views/produceManager/produceOrder.vue | 229 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 186 insertions(+), 43 deletions(-)
diff --git a/src/views/produceManager/produceOrder.vue b/src/views/produceManager/produceOrder.vue
index fd06019..c4c1b5e 100644
--- a/src/views/produceManager/produceOrder.vue
+++ b/src/views/produceManager/produceOrder.vue
@@ -9,12 +9,28 @@
@click="syncERP"
>鍚屾ERP
</el-button>
- <el-button
- v-waves
- icon="el-icon-switch-button"
- @click="orderClose"
- >鍏抽棴璁㈠崟
- </el-button>
+ <div style="display: flex">
+ <el-button
+ v-waves
+ type="primary"
+ icon="el-icon-bottom"
+ @click="batchHandle"
+ >鎵归噺涓嬭揪
+ </el-button>
+ <!-- <el-button-->
+ <!-- v-waves-->
+ <!-- icon="el-icon-switch-button"-->
+ <!-- @click="orderClose"-->
+ <!-- >鍏抽棴璁㈠崟-->
+ <!-- </el-button>-->
+ <!-- <el-button-->
+ <!-- v-waves-->
+ <!-- icon="el-icon-delete"-->
+ <!-- @click="orderDel"-->
+ <!-- >鍒犻櫎璁㈠崟-->
+ <!-- </el-button>-->
+ </div>
+
</div>
<div class="bodyTopFormGroup">
@@ -45,18 +61,24 @@
<el-form-item label="璁㈠崟缂栧彿" style=" display: flex;">
<el-input v-model="form.erpordercode" placeholder="璇疯緭鍏�" style="width: 200px" />
</el-form-item>
+
+ <el-form-item label="閿�鍞鍗�" style=" display: flex;">
+ <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�" />
+ </el-form-item>
+
<el-form-item label="浜у搧缂栫爜" style=" display: flex;">
<el-input v-model="form.partcode" style="width: 200px" placeholder="璇疯緭鍏�" />
</el-form-item>
- <el-form-item label="浜у搧鍚嶇О" style=" display: flex;">
+
+ <el-form-item v-show="isExpandForm" label="浜у搧鍚嶇О" style=" display: flex;">
<el-input v-model="form.partname" style="width: 200px" placeholder="璇疯緭鍏�" />
</el-form-item>
<el-form-item v-show="isExpandForm" label="浜у搧瑙勬牸" style=" display: flex;">
<el-input v-model="form.partspec" style="width: 200px" placeholder="璇疯緭鍏�" />
</el-form-item>
- <el-form-item v-show="isExpandForm" label="鍒涘缓浜哄憳" style=" display: flex;">
- <el-input v-model="form.creatuser" style="width: 200px" placeholder="璇疯緭鍏�" />
- </el-form-item>
+ <!-- <el-form-item v-show="isExpandForm" label="鍒涘缓浜哄憳" style=" display: flex;">-->
+ <!-- <el-input v-model="form.creatuser" style="width: 200px" placeholder="璇疯緭鍏�" />-->
+ <!-- </el-form-item>-->
<el-form-item
v-show="isExpandForm"
label="棰勮寮�宸ユ椂闂�"
@@ -150,25 +172,27 @@
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
@sort-change="sortChange"
- @row-click="rowClick"
+ @selection-change="handleSelectionChange"
>
- <!-- <el-table-column-->
- <!-- type="selection"-->
- <!-- width="50"-->
- <!-- />-->
+ <!-- @row-click="rowClick"-->
<el-table-column
+ type="selection"
width="50"
- fixed
- >
- <template slot-scope="{row}">
- <el-radio
- v-model="radioSelectedId"
- :label="row.id"
- style="color: transparent;padding-left: 10px;"
- />
- <!-- @change.native="getCurrentRow(row.id)"-->
- </template>
- </el-table-column>
+ :selectable="selected"
+ />
+ <!-- <el-table-column-->
+ <!-- width="50"-->
+ <!-- fixed-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- <el-radio-->
+ <!-- v-model="radioSelectedId"-->
+ <!-- :label="row.id"-->
+ <!-- style="color: transparent;padding-left: 10px;"-->
+ <!-- />-->
+ <!-- <!– @change.native="getCurrentRow(row.id)"–>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
<el-table-column
prop="RowNum"
width="50"
@@ -196,6 +220,18 @@
sortable="custom"
min-width="150"
/>
+ <el-table-column
+ show-tooltip-when-overflow
+ prop="saleOrderCode"
+ label="閿�鍞鍗�"
+ sortable="custom"
+ width="150"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.saleOrderCode">{{ row.saleOrderCode }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
<el-table-column
prop="partcode"
label="浜у搧缂栫爜"
@@ -311,17 +347,35 @@
<el-table-column
label="鎿嶄綔"
fixed="right"
- width="80"
+ width="120"
>
<template slot-scope="{row}">
<div class="operationClass">
- <el-tooltip class="item" effect="dark" content="涓嬭揪" placement="top">
+ <el-tooltip v-del-tab-index class="item" effect="dark" content="璁㈠崟涓嬭揪" placement="top">
<!-- <el-button v-waves type="text" @click="edit('edit',row)">涓嬭揪</el-button>-->
<i
class="el-icon-bottom"
:style="{color:$store.state.settings.theme}"
style="cursor: pointer;margin-left: 5px"
@click="edit('edit',row)"
+ />
+ </el-tooltip>
+
+ <el-tooltip v-del-tab-index class="item" effect="dark" content="璁㈠崟鍏抽棴" placement="top">
+ <i
+ class="el-icon-switch-button"
+ :style="{color:$store.state.settings.theme}"
+ style="cursor: pointer;margin-left: 15px"
+ @click="orderClose(row.id)"
+ />
+ </el-tooltip>
+
+ <el-tooltip v-del-tab-index class="item" effect="dark" content="璁㈠崟鍒犻櫎" placement="top">
+ <i
+ class="el-icon-delete"
+ :style="{color:$store.state.settings.theme}"
+ style="cursor: pointer;margin-left: 15px"
+ @click="orderDel(row.id)"
/>
</el-tooltip>
</div>
@@ -445,7 +499,13 @@
<script>
import Pagination from '@/components/Pagination'
-import { ClosedErpOrder, ErpOrderSearch, MarkSaveErpOrder } from '@/api/produceManager'
+import {
+ ClosedErpOrder,
+ DeleteErpOrder,
+ ErpOrderSearch,
+ MarkBatchSaveErpOrder,
+ MarkSaveErpOrder
+} from '@/api/produceManager'
import { handleDatetime } from '@/utils/global'
import { SeaveSearchErpOrder } from '@/api/ErpSyncMes'
import elDragDialog from '@/directive/el-drag-dialog'
@@ -453,7 +513,7 @@
const SER_HZ = /^[\u4e00-\u9fa5]+$/
export default {
- name: 'SCDD',
+ name: 'ProduceOrder',
components: {
Pagination
},
@@ -482,6 +542,7 @@
partname: '', // 浜у搧鍚嶇О
partspec: '', // 浜у搧瑙勬牸
creatuser: '', // 鍒涘缓浜哄憳
+ saleordercode: '', // 閿�鍞鍗�
// paystartdate: '', // 浜や粯鏃堕棿
paystartdate: '', // 棰勮寮�宸ユ椂闂�
payenddate: '', // 棰勮瀹屽伐鏃堕棿
@@ -521,6 +582,8 @@
relse_qty: '', // 宸蹭笅鍗曟暟閲�
saleOrderDeliveryDate: '', // 棰勮浜や粯鏃ユ湡
+ saleordercode: '', // 閿�鍞鍗�
+
saleOrderDeliveryDateIsDisabled: false// 棰勮浜や粯鏃ユ湡瀛楁鏄惁鍙慨鏀�
},
operation: '',
@@ -546,7 +609,8 @@
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7
}
- }
+ },
+ multipleSelection: []
// expireTimeOption: {
// disabledDate(time) {
@@ -585,6 +649,7 @@
partspec: this.form.partspec, // 浜у搧瑙勬牸
paystartdate: tempDate2, // 浜や粯鏃堕棿
payenddate: tempDate, // 浜や粯鏃堕棿
+ saleordercode: this.form.saleordercode,
creatuser: this.form.creatuser, // 鍒涘缓浜哄憳
// createdate: this.form.createdate.toString().length > 0 ? handleDatetime(this.form.createdate) : '', // 鍒涘缓鏃堕棿
@@ -637,6 +702,8 @@
// this.$message.error('鍚屾澶辫触锛�')
// }, 10000)
// }
+ }).catch(e => {
+ loading.close()
})
},
// 鏌ヨ
@@ -653,23 +720,47 @@
this.form.paystartdate = ''
this.form.payenddate = ''
this.form.creatuser = ''
+ this.form.erpordercode = ''
this.form.createdate = ''
this.getErpOrderSearch()
},
// 鍗曢�夋閫変腑鑾峰彇褰撳墠琛屼俊鎭�
- getCurrentRow(id) {
- this.radioSelectedId = id
- },
- rowClick(row) {
- this.radioSelectedId = row.id
+ // getCurrentRow(id) {
+ // this.radioSelectedId = id
+ // },
+ // rowClick(row) {
+ // this.radioSelectedId = row.id
+ // },
+
+ // 璁㈠崟鍒犻櫎
+ orderDel(id) {
+ this.tableData.forEach(item => {
+ if (item.id === id) {
+ if (item.status === 'CLOSED') {
+ return this.$message.info('姝よ鍗曞凡鍏抽棴锛屾棤娉曞垹闄わ紒')
+ } else {
+ this.$confirm('鏄惁纭鍏抽棴璁㈠崟?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ DeleteErpOrder({ erpordercode: item.wo, erporderid: id }).then(res => {
+ if (res.code === '200') {
+ this.$message.success('璁㈠崟鍒犻櫎鎴愬姛!')
+ this.getErpOrderSearch()
+ }
+ })
+ }).catch(() => {
+ this.$message.info('宸插彇娑堝垹闄わ紒')
+ })
+ }
+ }
+ })
},
// 璁㈠崟鍏抽棴
- async orderClose() {
- if (this.radioSelectedId.length < 1) {
- return this.$message.info('璇峰厛閫夋嫨璁㈠崟锛�')
- }
+ async orderClose(id) {
this.tableData.forEach(item => {
- if (item.id === this.radioSelectedId) {
+ if (item.id === id) {
if (item.status !== 'NEW') {
return this.$message.info('姝よ鍗曢潪鏂拌鍗曪紝鏃犳硶鍏抽棴锛�')
} else {
@@ -678,7 +769,7 @@
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- ClosedErpOrder({ erpordercode: item.wo, erporderid: this.radioSelectedId }).then(res => {
+ ClosedErpOrder({ erpordercode: item.wo, erporderid: id }).then(res => {
if (res.code === '200') {
this.$message.success('璁㈠崟鍏抽棴鎴愬姛!')
this.getErpOrderSearch()
@@ -698,7 +789,7 @@
},
// 淇敼鎸夐挳
edit(operation, row) {
- if (parseFloat(row.qty) === parseFloat(row.relse_qty)) {
+ if (parseFloat(row.qty) === parseFloat(row.relse_qty) || row.status === 'CLOSED') {
return this.$message.info('姝ゅ伐鍗曞凡鍏ㄩ儴涓嬭揪锛�')
}
@@ -716,6 +807,8 @@
this.dialogForm.wkshopname = row.wkshp_name
this.dialogForm.warehousecode = row.stck_code
this.dialogForm.warehousename = row.stck_name
+
+ this.dialogForm.saleordercode = row.saleOrderCode
this.dialogForm.saleOrderDeliveryDate = row.saleOrderDeliveryDate
@@ -740,6 +833,8 @@
this.dialogForm.warehousename = ''
this.dialogForm.saleOrderDeliveryDate = ''
+
+ this.dialogForm.saleordercode = ''
this.dialogForm.erpqty = ''
this.dialogForm.markqty = ''
@@ -782,6 +877,7 @@
'markqty': this.dialogForm.markqty,
'ordernum': this.dialogForm.ordernum,
'relse_qty': this.dialogForm.relse_qty,
+ 'saleordercode': this.dialogForm.saleordercode,
'saleOrderDeliveryDate': handleDatetime(this.dialogForm.saleOrderDeliveryDate) + ' 00:00:00'
}
@@ -798,6 +894,53 @@
}
})
},
+ handleSelectionChange(val) {
+ this.multipleSelection = val
+ },
+ batchHandle() {
+ this.$confirm('鏄惁鎵归噺涓嬭揪?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ if (this.multipleSelection.length === 0) {
+ return this.$message.info('璇峰厛閫夋嫨璁㈠崟锛�')
+ }
+ // console.log(JSON.parse(JSON.stringify(this.multipleSelection)))
+ const data = []
+ this.multipleSelection.forEach(i => {
+ data.push({
+ 'erporderid': i.id,
+ 'erpordercode': i.wo,
+ 'partcode': i.partcode,
+ 'wkshopcode': i.wkshp_code,
+ 'warehousecode': i.stck_code,
+ 'erpqty': i.qty,
+ 'markqty': i.qty,
+ 'ordernum': 1,
+ 'relse_qty': i.qty,
+ 'saleordercode': i.saleOrderCode,
+ // 'saleOrderDeliveryDate': i.saleOrderDeliveryDate
+ 'saleOrderDeliveryDate': handleDatetime(new Date()) + ' 00:00:00'
+ })
+ })
+ // console.log(data)
+ MarkBatchSaveErpOrder(data).then(res => {
+ if (res.code === '200') {
+ this.multipleSelection = []
+ this.$message.success('鎵归噺涓嬭揪鎴愬姛锛�')
+ this.getErpOrderSearch()
+ } else {
+ this.$message.error('鎵归噺涓嬭揪澶辫触锛�')
+ }
+ })
+ }).catch(() => {
+ this.$message.info('宸插彇娑堜笅杈撅紒')
+ })
+ },
+ selected(row, index) {
+ return row.status === 'NEW'
+ },
// 鑾峰彇椤甸潰楂樺害
getHeight() {
this.$nextTick(() => {
--
Gitblit v1.9.3