From 21469f46acbe423d70ffe7072712c3e0f0d7560a Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 20 六月 2024 12:18:49 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue |   92 ++++++++++++++++++------------
 north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue |   19 ++++--
 north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml      |    4 
 north-glass-erp/northglass-erp/src/stores/sd/companyInfo.js       |    7 ++
 4 files changed, 77 insertions(+), 45 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/stores/sd/companyInfo.js b/north-glass-erp/northglass-erp/src/stores/sd/companyInfo.js
index eb66e15..090382c 100644
--- a/north-glass-erp/northglass-erp/src/stores/sd/companyInfo.js
+++ b/north-glass-erp/northglass-erp/src/stores/sd/companyInfo.js
@@ -7,6 +7,13 @@
         address:'澶╂触瀹濆澔鍖鸿妭鑳界幆淇濆伐涓氬尯澶╁叴璺タ渚у疂涓亾鍗椾晶',
         telephone:'022-59280088',
         fax:'022-59280066',
+        widHeiLength:{//璁㈠崟瀹介珮闀垮害
+            regexp:/^(0|[1-9][0-9]{0,4}([.][0-9]{1,2})?)$/,//姝e垯0.00-99999.99
+            //regexp:/^(0|[1-9][0-9]{0,3}([.][0-9]{1,2})?)$/,//姝e垯0.00-9999.99
+            msg:'basicData.msg.range99999Dec2'
+        },
+        selectOrderReviewShow:true //璁㈠崟棣栭〉鍔犲伐鍗曞鏍告寜閽槸鍚︽樉绀�
+
     }),
     actions: {
         //
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
index c8a4de5..b89508c 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -6,6 +6,7 @@
 import request from "@/utils/request"
 import deepClone from "@/utils/deepClone"
 import  useUserInfoStore from '@/stores/userInfo'
+import companyInfo from "@/stores/sd/companyInfo"
 import SelectProduct from "@/views/sd/product/SelectProduct.vue"
 import OrderOtherMoney from "@/components/sd/order/OrderOtherMoney.vue"
 import OrderSizeCheck from "@/components/sd/order/OrderSizeCheck.vue"
@@ -24,6 +25,7 @@
 const maxTableLen =ref(150)
 let errorArea = ref(0.4)
 const userStore = useUserInfoStore()
+const company = companyInfo()
 const router = useRouter()
 const route = useRoute()
 const xGrid = ref()
@@ -219,9 +221,9 @@
       {
         validator ({ cellValue }) {
           //const regex = /^(0(\.\d{1,2})?|([1-9]\d{0,4})(\.\d{1,2})?|99999(\.9{1,2})?)$/
-          const regex = /^(0|[1-9][0-9]{0,4}([.][0-9]{1,2})?)$/
+          const regex = company.widHeiLength.regexp
           if (!regex.test(cellValue)) {
-            return new Error(t('basicData.msg.range99999Dec2'))
+            return new Error(t(company.widHeiLength.msg))
           }
         }
       }
@@ -229,9 +231,9 @@
     height:[
       {
         validator ({ cellValue }) {
-          const regex = /^(0|[1-9][0-9]{0,4}([.][0-9]{1,2})?)$/
+          const regex = company.widHeiLength.regexp
           if ( !regex.test(cellValue)) {
-            return new Error(t('basicData.msg.range99999Dec2'))
+            return new Error(t(t(company.widHeiLength.msg)))
           }
         }
       }
@@ -652,9 +654,15 @@
         titleUploadData.value.delivery=null
         titleUploadData.value.createTime=null
 
+        const orderDetails = res.data.orderDetails
+        orderDetails.forEach(item => {
+          item.otherColumns = JSON.parse(item.otherColumns)
+        })
+
         if(history.state.type=='copy'){
-          xGrid.value.reloadData(res.data.orderDetails)
+          xGrid.value.reloadData(orderDetails)
         }
+
         gridOptions.loading = false
         return
       }
@@ -786,7 +794,6 @@
 
 //鏌ヨ閲嶅璁㈠崟鏂规硶
 const selectOrder = (order) => {
-  console.log(order)
   request.post(`/order/selectOrder`,order).then((res) => {
     if(res.code==200){
       if(res.data.data>0){
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
index 666cb0e..039fec8 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -1,26 +1,29 @@
 <script setup>
-  import {Search} from "@element-plus/icons-vue"
-  import {useRouter} from "vue-router"
-  import {computed, reactive, ref} from "vue"
-  import request from "@/utils/request"
-  import deepClone from "@/utils/deepClone"
-  import {ElMessage} from "element-plus"
-  import {Edit, VXETable} from "vxe-table"
-  import  useUserInfoStore from '@/stores/userInfo'
-  import footSum from "@/hook/footSum"
-  import OrderDetail from "@/components/sd/order/OrderDetail.vue"
-  import OrderCraftDetail from "@/components/sd/order/OrderCraftDetail.vue"
-  import OrderProcess from "@/components/sd/order/OrderProcess.vue"
-  import PrintSheet1 from "@/components/sd/order/PrintSheet1.vue"
-  import PrintSheet2 from "@/components/sd/order/PrintSheet2.vue"
-  import {useI18n} from "vue-i18n"
-  import {Download, Printer} from "@element-plus/icons-vue/global"
-  import { saveAs } from "file-saver"
+import {Check, Search} from "@element-plus/icons-vue"
+import {useRouter} from "vue-router"
+import {computed, onMounted, reactive, ref} from "vue"
+import request from "@/utils/request"
+import deepClone from "@/utils/deepClone"
+import {ElMessage} from "element-plus"
+import {Edit, VXETable} from "vxe-table"
+import  useUserInfoStore from '@/stores/userInfo'
+import companyInfo from "@/stores/sd/companyInfo"
+import footSum from "@/hook/footSum"
+import OrderDetail from "@/components/sd/order/OrderDetail.vue"
+import OrderCraftDetail from "@/components/sd/order/OrderCraftDetail.vue"
+import OrderProcess from "@/components/sd/order/OrderProcess.vue"
+import PrintSheet1 from "@/components/sd/order/PrintSheet1.vue"
+import PrintSheet2 from "@/components/sd/order/PrintSheet2.vue"
+import {useI18n} from "vue-i18n"
+import {CircleCheck, Download, Printer} from "@element-plus/icons-vue/global"
+import { saveAs } from "file-saver"
   const { t } = useI18n()
   const userStore = useUserInfoStore()
+  const company = companyInfo()
   const tabsValue=ref('1')
   const router = useRouter()
   let rowClickIndex = ref(null)
+  let reviewDisabled = ref(true)
   const dialogTableVisible = ref(false)
   let sheetIndex = ref(-1)
   let orderType = ref("2")
@@ -177,6 +180,9 @@
             }
             dialogTableVisible.value = true
             sheetIndex.value=1
+            if(rowClickIndex.value.processReview===2 && rowClickIndex.value.orderReview===0){
+              reviewDisabled.value=false
+            }
             break
           }
           case 'sheet2': {
@@ -186,17 +192,12 @@
             }
             dialogTableVisible.value = true
             sheetIndex.value=2
-            break
-          }
-          case 'sheet3': {
-            if(rowClickIndex.value===null){
-              ElMessage.warning(t('searchOrder.msgList.checkOrder'))
-              return
+            if(rowClickIndex.value.processReview===2 && rowClickIndex.value.orderReview===0){
+              reviewDisabled.value=false
             }
-            dialogTableVisible.value = true
-            sheetIndex.value=3
             break
           }
+
           case 'copy': {
             if(rowClickIndex.value===null){
               ElMessage.warning(t('searchOrder.msgList.checkOrder'))
@@ -234,17 +235,22 @@
     }
   }
 
-  //鍔犺浇璇锋眰
-  request.post(`/order/getOrderList/1/${total.pageSize}/${orderType.value}/${selectDate.value}`,filterData).then((res) => {
-    if(res.code==200){
-      total.dataTotal = res.data.total.total*1
-      total.pageTotal= res.data.total.pageTotal
-      selectDate.value = res.data.selectDate
-      orderList.value = deepClone(res.data.data)
-      xGrid.value.loadData(orderList.value)
-    }else{
-      ElMessage.warning(res.msg)
-    }
+  const getOrderList = () => {
+    //鍔犺浇璇锋眰
+    request.post(`/order/getOrderList/1/${total.pageSize}/${orderType.value}/${selectDate.value}`,filterData).then((res) => {
+      if(res.code==200){
+        total.dataTotal = res.data.total.total*1
+        total.pageTotal= res.data.total.pageTotal
+        selectDate.value = res.data.selectDate
+        orderList.value = deepClone(res.data.data)
+        xGrid.value.loadData(orderList.value)
+      }else{
+        ElMessage.warning(res.msg)
+      }
+    })
+  }
+  onMounted(() => {
+    getOrderList()
   })
 
   const changeFilterEvent = (event, option, $panel) => {
@@ -354,8 +360,19 @@
   const html = document.getElementById("child").innerHTML // 鑾峰彇闇�瑕佸鍑虹殑HTML鍐呭
   const blob = new Blob([html], { type: 'application/vnd.ms-excel' }) // 鍒涘缓Blob瀵硅薄
   saveAs(blob, rowClickIndex.value.orderId+".xlsx");
+}
 
-
+const reviewOrder = ()=>{
+  reviewDisabled.value=true
+  request.post(`/order/reviewOrderById/${rowClickIndex.value.orderId}/${2}/${userStore.user.userId}/${userStore.user.userName}`).then(res =>{
+    if(res.code==200){
+      ElMessage.success(t('basicData.msg.ReviewSuccess') )
+      selectOrderList()
+    }else{
+      ElMessage.error(res.msg)
+      reviewDisabled.value=false
+    }
+  })
 }
 
 </script>
@@ -496,6 +513,7 @@
       <template #header="{ close, titleId, titleClass }">
         <el-button v-print="printContent"  :icon="Printer" circle />
         <el-button @click="exportFile" :icon="Download" circle />
+        <el-button v-if="company.selectOrderReviewShow" :disabled="reviewDisabled" @click="reviewOrder" :icon="CircleCheck" type="primary">{{$t('basicData.review')}}</el-button>
       </template>
 
       <print-sheet1 id="child"  v-if="sheetIndex===1" :orderId="rowClickIndex.orderId" />
diff --git a/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
index 03b6a91..3423e03 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
@@ -198,8 +198,8 @@
     </update>
     <update id="reviewOrderByIds">
         update `order` set order_review = #{status},process_review = #{status},
-                           verifier_id = #{userId},
-                           verifier = #{userName}
+                           verifier_id = null,
+                           verifier = null
         where order_id = #{id}
     </update>
 

--
Gitblit v1.8.0