From 3c63bfcb45c622fee76934a0cfefdc1a9396fc8d Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 07 二月 2025 13:33:18 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue |  135 ++++++++++++++++++++++++++++++++------------
 1 files changed, 97 insertions(+), 38 deletions(-)

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 5d82427..839d5e1 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
@@ -8,6 +8,8 @@
 import  useUserInfoStore from '@/stores/userInfo'
 import companyInfo from "@/stores/sd/companyInfo"
 import SelectProduct from "@/views/sd/product/SelectProduct.vue"
+import CreateProduct from "@/views/sd/product/CreateProduct.vue"
+import CreateCustomer from "@/views/sd/customer/CreateCustomer.vue"
 import OrderOtherMoney from "@/components/sd/order/OrderOtherMoney.vue"
 import OrderSizeCheck from "@/components/sd/order/OrderSizeCheck.vue"
 import {changeFilterEvent,filterChanged} from "@/hook"
@@ -734,7 +736,7 @@
 //鍒濆鍖栧垽鏂槸鍚︽湁id浼犲叆
 onMounted(async ()=>{
   gridOptions.loading = true
-  await initOrder()
+  await initOrder(0)
 
   //鍚敤琛ㄦ牸鎷栧姩閫変腑
   addListener(xGrid.value,gridOptions)
@@ -884,47 +886,48 @@
 
 
 //椤甸潰绗竴娆″姞杞芥墽琛�
-const initOrder = async ()=>{
+const initOrder = async (val)=>{
 
   await request.get(`/basicData/orderBasicData`).then((res) => {
     if(res.code==200){
       titleSelectJson.value=deepClone(res.data)
-      //鍏朵粬閲戦
-      otherMoney.value = titleSelectJson.value.orderOtherMoney[0]
-      //let columns = []
-      otherMoney.value.forEach(item => {
-        let column = {
-          field: `otherColumns.${item.column}`,
-          width:100,
-          title: item.alias,
-          editRender: {
-            name: 'input',
+      if(val===0){
+        //鍏朵粬閲戦
+        otherMoney.value = titleSelectJson.value.orderOtherMoney[0]
+        //let columns = []
+        otherMoney.value.forEach(item => {
+          let column = {
+            field: `otherColumns.${item.column}`,
+            width:100,
+            title: item.alias,
+            editRender: {
+              name: 'input',
+            }
           }
-        }
-        //鍒ゆ柇  鍏朵粬鍒楁槸鍚︽槸鏁板瓧
-        if(item.column.indexOf('M')>-1){
-          gridOptions.editRules[`otherColumns.${item.column}`] = [
-            {
-              validator ({ cellValue }) {
-                const regex = /^(0(\.\d{1,3})?|([1-9]\d{0,4})(\.\d{1,3})?|99999(\.9{1,3})?)$/
-                if (cellValue && !regex.test(cellValue)) {
-                  return new Error(t('basicData.msg.range99999Dec3'))
+          //鍒ゆ柇  鍏朵粬鍒楁槸鍚︽槸鏁板瓧
+          if(item.column.indexOf('M')>-1){
+            gridOptions.editRules[`otherColumns.${item.column}`] = [
+              {
+                validator ({ cellValue }) {
+                  const regex = /^(0(\.\d{1,3})?|([1-9]\d{0,4})(\.\d{1,3})?|99999(\.9{1,3})?)$/
+                  if (cellValue && !regex.test(cellValue)) {
+                    return new Error(t('basicData.msg.range99999Dec3'))
+                  }
                 }
               }
-            }
-          ]
-        }else{
-          gridOptions.editRules[`otherColumns.${item.column}`] = [
-            { required: false},
-            { min: 0, max: 255, message: t('basicData.msg.max255') }
-          ]
-        }
+            ]
+          }else{
+            gridOptions.editRules[`otherColumns.${item.column}`] = [
+              { required: false},
+              { min: 0, max: 255, message: t('basicData.msg.max255') }
+            ]
+          }
 
-        //columns.push(column)
-        gridOptions.columns.push(column)
+          //columns.push(column)
+          gridOptions.columns.push(column)
 
-      })
-
+        })
+      }
       //杩涘叆椤甸潰涓嬫媺妗嗚缃粯璁ゅ��
       titleUploadData.value.orderType = titleSelectJson.value.orderType[0].basicName
       titleUploadData.value.orderClassify = titleSelectJson.value.orderClassify[0].basicName
@@ -1449,6 +1452,27 @@
   xGrid.value.clearSelected()
 }
 
+//鍒囨崲浜у搧鐣岄潰
+const productFlag = ref(true)
+const changeProduct = (val)=>{
+  productFlag.value = val
+}
+const closeProductDialog = ()=>{
+  productFlag.value = true
+}
+//鏀瑰彉浜у搧椤甸潰鍒囨崲
+const changePage = () => {
+  productFlag.value = true
+}
+// 鍒涘缓瀹㈡埛鏄剧ず
+let createCustomerVisible = ref(false)
+
+//鍒涘缓瀹㈡埛鎴愬姛杩斿洖鏂规硶
+const createCustomerSuccess = async () => {
+  await initOrder(1)
+  createCustomerVisible.value = false
+}
+
 </script>
 
 <template>
@@ -1469,6 +1493,11 @@
                        :label="item.id+' '+item.customerName"
                        :value="item.id"
                        />
+            <template #footer>
+              <el-button @click="createCustomerVisible=true"  text bg size="small" >
+                {{$t('basicData.create')}}
+              </el-button>
+            </template>
           </el-select>
         </el-col>
         <el-col  :span="2"><el-text>*{{$t('order.orderType')}}锛�</el-text></el-col>
@@ -1625,8 +1654,23 @@
           :autosize="{ minRows: 2, maxRows: 20 }"
       />
     </el-dialog>
-    <el-dialog id="product" v-model="productVisible"  style="width: 80%;height:75% ">
-      <select-product :rowIndex="rowIndex" @getProductRow="getProductRow" style="width: 100%;height: 100%" />
+    <el-dialog id="product"
+               class="product1"
+               v-model="productVisible"
+               @closed="closeProductDialog"
+               :destroy-on-close="true"
+               style="width: 80%;height:75%; ">
+      <template #header >
+        <div class="my-header">
+        <el-button @click="changeProduct(true)">{{$t('basicData.search')}}</el-button>
+        <el-button @click="changeProduct(false)">{{$t('basicData.create')}}</el-button>
+        </div>
+      </template>
+      <select-product v-if="productFlag" :rowIndex="rowIndex" @getProductRow="getProductRow" style="width: 100%;height: 100%" />
+      <create-product v-else
+                      :productFlag="productFlag"
+                      @changePage="changePage"
+                      style="text-align: left;background-color: #D5EAFF;"/>
     </el-dialog>
 <!--璇樊缁撶畻-->
     <el-dialog v-model="errorAreaVisible"  style="width: 300px;height:150px ">
@@ -1678,7 +1722,18 @@
           @getParent="gaveOrderSizeCheck"
           :orderId="titleUploadData.orderId"
           :OrderDetail="xGrid"/>
+<!--      <create-customer/>-->
     </el-dialog>
+    <!--    瀹㈡埛鍒涘缓绐楀彛-->
+    <el-dialog
+        id="createCustomer"
+        :title="$t('customer.page.createCustomer')"
+        v-model="createCustomerVisible"
+        style="width: 700px;height:445px;text-align: left "
+    >
+      <create-customer :getOrderPage="'order'" @getOrderFunction="createCustomerSuccess" />
+    </el-dialog>
+
 
   </div>
 </template>
@@ -1692,7 +1747,7 @@
   .el-col{
     border: #181818 1px solid;
   }
-  :deep(.el-input__wrapper) {
+  :deep(.order-primary .el-input__wrapper) {
     box-shadow: 0 0 0 0 var(--el-input-border-color, var(--el-border-color)) inset;
     cursor: default;
     border: none !important;
@@ -1718,9 +1773,13 @@
     width: 100%;
   }
 
-  :deep(#sizeCheck .el-dialog__body){
+  :deep(#sizeCheck .el-dialog__body,#createCustomer .el-dialog__body){
     height: 90%;
     width: 100%;
   }
-
+  .my-header {
+    display: flex;
+    /*flex-direction : row;
+    justify-content: space-between;*/
+  }
 </style>
\ No newline at end of file

--
Gitblit v1.8.0