From a660db06773007b1be690e0674829c00a57aeb7b Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 24 十二月 2025 16:21:23 +0800
Subject: [PATCH] 订单首页流程卡新增楼层编号显示

---
 north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue |   99 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 87 insertions(+), 12 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue b/north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue
index 92cb34b..df97c1d 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue
@@ -16,12 +16,18 @@
 const username = userStore.user.userName
 const userid = userStore.user.userId
 let router=useRouter()
+let rowClickIndex = ref(null)
 let produceList = ref([])
 const getTableRow = (row,type) =>{
   switch (type) {
     case 'edit' :{
       //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
       router.push({path: '/main/customer/CreateCustomer', query: { id: row.id }})
+      break
+    }
+    case 'customerOrder' :{
+      //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
+      router.push({path: '/main/customer/selectCustomerOrder', query: { id: row.id }})
       break
     }
     case 'delete':{
@@ -37,17 +43,21 @@
       })
       ruleForm.value.id=row.id
       let flowData = ref({
-        customer: ruleForm.value
+        customer: ruleForm.value,
+        userName:userStore.user.userName,
+        userId:userStore.user.userId
       })
 
       request.post("/customer/deleteCustomer", flowData.value).then((res) => {
-        if(res.code==200){
-          ElMessage.success("鍒犻櫎鎴愬姛")
-          location.reload();
+        if(res.code==200 && res.data===true){
+          ElMessage.success(t('basicData.msg.deleteSuccess'))
+          router.push({path:'/main/customer/selectCustomer',query:{random:Math.random()}})
         }else{
-          ElMessage.warning(res.msg)
-          router.push("/login")
+          ElMessage.warning(t('basicData.msg.deleteFail'))
         }
+      }).catch((err)=>{
+        ElMessage.error(t('basicData.msg.ServerConnectionError'))
+        router.push("/login")
       })
       break
     }
@@ -76,7 +86,7 @@
 let total = reactive({
   pageTotal : 0,
   dataTotal : 0,
-  pageSize : 10
+  pageSize : 100
 })
 
 //绗竴娆¤皟鐢�
@@ -154,6 +164,15 @@
   selectOrderList()
 }
 
+const handleSortChange=({ sortList, sortOrder })=> {
+  // 鏍规嵁鎺掑簭鍙傛暟鏋勫缓璇锋眰鏁版嵁
+  filterData.value.sortList=sortList.map(item => item.property)
+  filterData.value.sortOrder=sortList.map(item => item.order)
+  console.log(filterData.value)
+
+
+}
+
 
 
 //瀛愮粍浠舵帴鏀跺弬鏁�
@@ -164,7 +183,7 @@
   align: 'center',//鏂囧瓧灞呬腑
   stripe:true,//鏂戦┈绾�
   rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
-  id: 'CustomerList',
+  id: 'SelectCustomer',
   showFooter: true,//鏄剧ず鑴�
   printConfig: {},
   importConfig: {},
@@ -178,6 +197,16 @@
   filterConfig: {   //绛涢�夐厤缃」
     remote: true
   },
+  menuConfig: {
+    body: {
+      options: [
+        [
+          { code: 'sheet1', name: t('orderBasicData.order'), prefixIcon: 'vxe-icon-file-txt', visible: true},
+          { code: 'sheet2', name: t('searchOrder.delivery'), prefixIcon: 'vxe-icon-file-txt', visible: true},
+        ]
+      ]
+    }
+  },
   customConfig: {
     storage: true
   },
@@ -189,9 +218,10 @@
   columns:[
           {type:'expand',fixed:"left",slots: { content:'content' },width: 60},
           {type: 'seq',fixed:"left", title: t('basicData.Number'), width: 80 },
-          {title: t('basicData.operate'), width: 110, slots: { default: 'button_slot' },fixed:"left"},
+          {title: t('basicData.operate'), width: 180, slots: { default: 'button_slot' },fixed:"left"},
           {field: 'id', title: t('customer.customerNumber'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
           {field: 'customerName', title: t('customer.customerName'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
+          {field: 'customerAbbreviation', title: t('customer.customerAbbreviation'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
           {field: 'grade', title: t('customer.customerGrade'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
           {field: 'moneyLimit', title: t('customer.moneyLimit'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
           {field: 'address', title: t('customer.address'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
@@ -222,6 +252,38 @@
 
 })
 
+const gridEvents = {
+
+  menuClick ({ menu, row, column }) {
+    const $grid = xGrid.value
+    if ($grid) {
+      switch (menu.code) {
+        case 'sheet1': {
+          if(rowClickIndex.value===null){
+            ElMessage.warning(t('customer.msgList.notCustomerInfo'))//"鏈煡璇㈠埌瀹㈡埛淇℃伅"
+            return
+          }
+          router.push({path: '/main/customer/selectCustomerOrder', query: { id: row.id,type:1 }})
+          break
+
+        }
+        case 'sheet2': {
+          if(rowClickIndex.value===null){
+            ElMessage.warning(t('customer.msgList.notCustomerInfo'))
+            return
+          }
+          router.push({path: '/main/customer/selectCustomerOrder', query: { id: row.id,type:2 }})
+          break
+        }
+
+      }
+    }
+  },
+  cellClick({ row }){
+    rowClickIndex.value = row
+  }
+}
+
 
 
 </script>
@@ -234,6 +296,8 @@
         class="mytable-scrollbar"
         ref="xGrid"
         v-bind="gridOptions"
+        v-on="gridEvents"
+        @sort-change="handleSortChange"
 
     >
       <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
@@ -249,14 +313,25 @@
 
       <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
       <template #button_slot="{ row }">
-        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
-        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
+        <el-button @click="getTableRow(row,'edit')"
+                   v-if="userStore.user.permissions.indexOf('selectCustomer.edit') > -1"
+                   link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
+<!--        <el-button @click="getTableRow(row,'customerOrder')"
+                   link type="primary" size="small">{{$t('customer.customerOrders')}}</el-button>-->
+        <el-popconfirm @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
+          <template #reference>
+            <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
+          </template>
+        </el-popconfirm>
       </template>
 
       <template #num1_filter="{ column, $panel }">
         <div>
           <div v-for="(option, index) in column.filters" :key="index">
-            <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/>
+            <input type="type"
+                   v-model="option.data"
+                   @keyup.enter.native="$panel.confirmFilter()"
+                   @input="changeFilterEvent($event, option, $panel)"/>
           </div>
         </div>
       </template>

--
Gitblit v1.8.0