From 97fba4a0e38c0b8455d43d2935aa996676407361 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期一, 08 十二月 2025 16:40:36 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
---
north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue | 123 +++++++++++++++++++++++++++++++++--------
1 files changed, 99 insertions(+), 24 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
index f4356c9..79df0df 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
@@ -1,7 +1,7 @@
<script setup>
import {Search} from "@element-plus/icons-vue"
import {useRouter} from "vue-router"
-import {reactive, ref} from "vue";
+import {onMounted, reactive, ref} from "vue";
import request from "@/utils/request"
import deepClone from "@/utils/deepClone"
import VXETable from "vxe-table";
@@ -18,6 +18,15 @@
const username = userStore.user.userName
const userid = userStore.user.userId
let produceList = ref([])
+
+
+const props = defineProps({
+ customerId: null,
+ project: null,
+ excludeOrderIds: null
+})
+
+const emit = defineEmits(['selectOrders'])
const getTableRow = (row,type) =>{
switch (type) {
@@ -52,11 +61,6 @@
//绛涢�夋潯浠讹紝鏈夊閿渶瑕佸厛瀹氫箟鏄庣粏閲岄潰鐨勬暟鎹�
let filterData = ref({
- finishedGoodsInventory:{
- quantityAvailable:'',
-
- },
-
})
let selectDate = ref(["",""])
@@ -68,23 +72,45 @@
})
-//绗竴娆¤皟鐢�
-request.post(`/delivery/getSelectOrderInventory/1/${total.pageSize}/${orderInfo.selectOrderListDate}`,filterData.value).then((res) => {
- if(res.code==200){
- total.dataTotal = res.data.total.total*1
- total.pageTotal= res.data.total.pageTotal
- orderInfo.selectOrderListDate = res.data.selectDate
- pageNum.value=1
- produceList = deepClone(res.data.data)
- xGrid.value.loadData(produceList)
- gridOptions.loading=false
- }else{
- ElMessage.warning(res.msg)
- router.push("/login")
+// 绗竴娆¤皟鐢紝淇敼涓哄甫绛涢�夋潯浠�
+const fetchOrders = async () => {
+
+ await request.post(`/delivery/getSelectOrderInventory/${pageNum.value}/${total.pageSize}/${orderInfo.selectOrderListDate}`, filterData.value).then((res) => {
+ if(res.code==200){
+ total.dataTotal = res.data.total.total*1
+ total.pageTotal= res.data.total.pageTotal
+ orderInfo.selectOrderListDate = res.data.selectDate
+ produceList = deepClone(res.data.data)
+ xGrid.value.loadData(produceList)
+ gridOptions.loading=false
+ }else{
+ ElMessage.warning(res.msg)
+ router.push("/login")
+ }
+ })
+}
+
+
+onMounted(async () => {
+ if (props.customerId !== undefined) {
+ filterData.value.customerId = props.customerId
+ filterData.value.project = props.project
+ filterData.value.excludeOrderIds = props.excludeOrderIds
+ gridOptions.toolbarConfig.buttons[0].visible = false
+
+ await fetchOrders()
+ } else {
+ gridOptions.toolbarConfig.buttons[1].visible = false
+ filterData.value = orderInfo.searchOrderFilter.data
+ await fetchOrders()
+ orderInfo.searchOrderFilter.list.forEach(item => {
+ xGrid.value.getColumnByField(item.field).filters = item.column.filters
+ })
}
-})
+
+})
const changeFilterEvent = (event, option, $panel,) => {
// 鎵嬪姩瑙﹀彂绛涢��
@@ -104,6 +130,16 @@
}else{
filterData.value[column.property] = value
}
+
+ if(props.customerId!==undefined){
+ filterData.value.customerId = props.customerId
+ filterData.value.project = props.project
+ filterData.value.excludeOrderIds = props.excludeOrderIds
+ gridOptions.toolbarConfig.buttons[0].visible = false
+ }else{
+ gridOptions.toolbarConfig.buttons[1].visible = false
+ }
+
request.post(`/delivery/getSelectOrderInventory/1/${total.pageSize}/${orderInfo.selectOrderListDate}`,filterData.value).then((res) => {
if(res.code==200){
@@ -113,6 +149,13 @@
pageNum.value=1
produceList = deepClone(res.data.data)
xGrid.value.loadData(produceList)
+
+ //涓嶆槸寮圭獥鐣岄潰
+ if(props.customerId===undefined){
+ orderInfo.searchOrderFilter.list = xGrid.value.getCheckedFilters()
+ orderInfo.searchOrderFilter.data = filterData.value
+ }
+
gridOptions.loading=false
}else{
ElMessage.warning(res.msg)
@@ -142,7 +185,7 @@
const changeDate = ()=>{
pageNum.value=1
- selectOrderList()
+ fetchOrders()
}
//椤佃剼璺宠浆
@@ -150,7 +193,7 @@
total.pageTotal = pageSize
pageNum.value=currentPage
- selectOrderList()
+ fetchOrders()
}
@@ -201,7 +244,7 @@
{field: 'customerId',width:120, title: t('customer.customerNumber'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
{field: 'customerName',width:120, title: t('customer.customerName'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
{field: 'quantity',width:120, title: t('order.quantity'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
- {field: 'finishedGoodsInventory.quantityAvailable',width:120, title: t('delivery.availableStock'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
+ {field: 'finishedGoodsInventory.quantityAvailable',width:120, title: t('delivery.availableStock'), sortable: true},
{field: 'project',width:120, title: t('order.project'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
{field: 'batch',width:120, title: t('order.batch'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
{field: 'money',width:120, title: t('order.money'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
@@ -215,7 +258,8 @@
],//琛ㄥご鎸夐挳
toolbarConfig: {
buttons: [
- {'code': 'add', 'name': t('delivery.delivery'),status: 'primary',icon: 'vxe-icon-add'}
+ {'code': 'add', 'name': t('delivery.delivery'),status: 'primary',icon: 'vxe-icon-add'},
+ {'code': 'update', 'name': t('delivery.delivery'),status: 'primary',icon: 'vxe-icon-add'}
],
/*import: false,
export: true,
@@ -282,6 +326,37 @@
router.push({path: '/main/delivery/createDelivery', query: { orderId: order_id }})
break
}
+ case 'update': {
+ const selectRecords = $grid.getCheckboxRecords()
+ if (selectRecords.length === 0) {
+ ElMessage.warning(t('productStock.unselectedData'))
+ return
+ }
+
+ // 楠岃瘉鎵�閫夎鍗曟槸鍚︾鍚堟潯浠讹紙铏界劧宸茬瓫閫夛紝浣嗕簩娆¢獙璇佹洿瀹夊叏锛�
+ const customerIdArray = selectRecords.map(item => item.customerId)
+ const projectArray = selectRecords.map(item => item.project?.trim() || '')
+
+ if(!isAllEqual(customerIdArray)){
+ ElMessage.warning(t('delivery.pleaseSelectTheSameCustomerOrder'))
+ return
+ }
+ if(!isAllEqual(projectArray)){
+ ElMessage.warning(t('delivery.pleaseSelectTheSameCustomerProject'))
+ return
+ }
+
+ const simpleOrders = selectRecords.map(order => ({
+ orderId: order.orderId,
+ customerId: order.customerId,
+ project: order.project,
+ // 鍙ˉ鍏呭叾浠栭渶瑕佺殑涓昏鍗曞瓧娈�
+ }));
+
+ // 閫氳繃浜嬩欢杩斿洖缁欑埗缁勪欢
+ emit('select-orders', simpleOrders);
+ break
+ }
}
}
}
--
Gitblit v1.8.0