From ecc5079c63e86dd6caba6753b51ed480022bf89b Mon Sep 17 00:00:00 2001
From: zuozhengqing <a13193816592@163.com>
Date: 星期一, 05 二月 2024 19:19:01 +0800
Subject: [PATCH] 添加api拦截

---
 src/views/sales/masterOrder/AddMasterOrderDialog.vue |   56 +++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 41 insertions(+), 15 deletions(-)

diff --git a/src/views/sales/masterOrder/AddMasterOrderDialog.vue b/src/views/sales/masterOrder/AddMasterOrderDialog.vue
index c1c7cb6..86d34d6 100644
--- a/src/views/sales/masterOrder/AddMasterOrderDialog.vue
+++ b/src/views/sales/masterOrder/AddMasterOrderDialog.vue
@@ -33,16 +33,14 @@
                   <el-input
                     v-if="
                       editConfig.title == '缂栬緫' ||
-                      (editConfig.title == '鏂板缓' &&
-                        codenumer &&
-                        (explain != '' || isIdDisabled))
+                      (editConfig.title == '鏂板缓' && codenumer && (explain != '' || isIdDisabled))
                     "
                     :disabled="editConfig.title == '缂栬緫'"
                     v-model="editConfig.infomation.number"
                     placeholder="璇疯緭鍏ョ紪鐮�"
                   >
                   </el-input>
-                  <span  v-else-if="editConfig.title == '鏂板缓'" style="color: #f56c6c"
+                  <span v-else-if="editConfig.title == '鏂板缓'" style="color: #f56c6c"
                     >璇蜂紭鍏堥厤缃紪鐮佽鑼� <el-button type="text" @click="numberClick"> 閰嶇疆瑙勮寖 </el-button></span
                   >
                   <!-- <WordInput
@@ -103,7 +101,9 @@
                   <el-date-picker
                     v-model="editConfig.infomation.start_time"
                     value-format="yyyy-MM-dd HH:mm:ss"
+                    :picker-options="pickerOptions"
                     style="width: 100%"
+                    @change="checkDate(editConfig.infomation.start_time,editConfig.infomation.end_time)"
                     type="datetime"
                     placeholder="閫夋嫨鏃ユ湡"
                   >
@@ -115,7 +115,9 @@
                   <el-date-picker
                     v-model="editConfig.infomation.end_time"
                     value-format="yyyy-MM-dd HH:mm:ss"
+                    :picker-options="pickerOptions"
                     type="datetime"
+                    @change="checkDate(editConfig.infomation.start_time,editConfig.infomation.end_time)"
                     style="width: 100%"
                     placeholder="閫夋嫨鏃ユ湡"
                   >
@@ -190,6 +192,8 @@
 import { getAddMasterOrder, getUpdateMasterOrder } from "@/api/sales/masterOrder"
 import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog"
 import codeMixin from "@/components/makepager/mixin/codeMixin"
+import NewDate from "@/api/date";
+const { compareTime } = NewDate;
 export default {
   name: "QuotationDialog",
   mixins: [codeMixin],
@@ -217,9 +221,9 @@
       dialogWidth: "50%",
       editConfig: this.editCommonConfig,
       rules: {
-        number: [{ required: true, validator: this.validateCheckCode, trigger: "blur" }],
+        number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }],
         client_name: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
-        member_id: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
+        member_id: [{ required: true, validator: this.validateMemberId, trigger: "change" }]
       },
       memberOptions: [],
       unflodCollapseStr: "鏀惰捣",
@@ -230,7 +234,12 @@
         infomation: {}
       },
       clientId: this.editCommonConfig.infomation.client_id,
-      objCode: { name: "", page: 0, pageSize: 0, type: "閿�鍞�诲崟缂栫爜", codeStandID: "" }
+      objCode: { name: "", page: 0, pageSize: 0, type: "閿�鍞�诲崟缂栫爜", codeStandID: "" },
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() < new Date().getTime() - 86400000;
+        },
+      },
     }
   },
   created() {
@@ -243,12 +252,16 @@
       if (val) {
         this.formInfo()
       }
-    },
-    "editCommonConfig.infomation.codeStandID"() {
-      this.formInfo()
     }
   },
   methods: {
+    checkDate(start,end){
+      if(start&&end){
+        if (compareTime(start, end) > 0) {
+          this.$message.error('鏈嶅姟鎴鏃堕棿瑕佹櫄浜庢湇鍔″紑濮嬫椂闂达紒')
+        }
+      }
+    },
     formInfo() {
       this.objCode.codeStandID = ""
       if (this.editConfig.infomation.codeStandID) {
@@ -260,6 +273,14 @@
       getAllData()
         .then((res) => {
           this.memberOptions = res.data.member
+          if (this.editConfig.title === "鏂板缓") {
+            let username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1")
+            this.memberOptions.map((item) => {
+              if (item.username == username) {
+                this.$set(this.editConfig.infomation, "member_id", item.id)
+              }
+            })
+          }
         })
         .catch((err) => {
           console.log(err)
@@ -269,9 +290,7 @@
     saveClick(formName) {
       this.$refs[formName].validate((valid) => {
         if (valid) {
-          console.log(this.editConfig.infomation)
           const params = this.saveParams()
-          console.log(params)
           if (this.editConfig.title === "鏂板缓") {
             getAddMasterOrder(params).then((res) => {
               console.log(res)
@@ -317,8 +336,7 @@
         money: data.money || 0,
         number: data.number || "",
         start_time: data.start_time || "",
-        codeStandID: data.ID,
-        codeRule: this.codeRule
+        codeStandID: data.ID
       }
       return params
     },
@@ -380,6 +398,14 @@
         this.unflodCollapseStr = "鏀惰捣"
         this.isUnflod = true
       }
+    },
+    // 璐熻矗浜鸿嚜瀹氫箟鏍¢獙瑙勫垯
+    validateMemberId(rule, value, callback) {
+      if (this.editConfig.infomation?.member_id > 0) {
+        callback()
+      } else {
+        callback(new Error("璇烽�夋嫨璐熻矗浜�"))
+      }
     }
   }
 }
@@ -390,7 +416,7 @@
 ::v-deep {
   .iframe-dialog .el-dialog__body {
     .basic-info {
-      min-height:250px;
+      min-height: 250px;
       .basic-info-title {
         background-color: #f4f8fe;
         padding-left: 10px;

--
Gitblit v1.8.0