From 7fca02745d606514a22dc2f4673e3ea1475495b6 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 30 一月 2024 16:54:52 +0800
Subject: [PATCH] 质检报告修改

---
 src/views/plan/customerorder/sample-customerorder-form.vue |  338 +++++++++++++++++++------------------------------------
 1 files changed, 117 insertions(+), 221 deletions(-)

diff --git a/src/views/plan/customerorder/sample-customerorder-form.vue b/src/views/plan/customerorder/sample-customerorder-form.vue
index 737f3ca..8b895f7 100644
--- a/src/views/plan/customerorder/sample-customerorder-form.vue
+++ b/src/views/plan/customerorder/sample-customerorder-form.vue
@@ -51,14 +51,6 @@
               <el-input v-model="dataForm.entityName" placeholder=""></el-input>
             </el-form-item>
           </el-col>
-          <!-- <el-col :span="6">
-            <el-form-item label="浜嬩笟閮�" prop="salesDepartment">
-              <el-input
-                v-model="dataForm.salesDepartment"
-                placeholder=""
-              ></el-input>
-            </el-form-item>
-          </el-col> -->
           <el-col :span="6">
             <el-form-item label="鐪佷唤" prop="province">
               <el-input v-model="dataForm.province" placeholder=""></el-input>
@@ -68,8 +60,8 @@
         <el-row>
           <el-col :span="6">
             <el-form-item label="涓氬姟鍛�" prop="salesMan">
-              <el-select @change="selsctionSales" v-model="salesSelectData" style="width:100%">
-                <el-option v-for="(item,index) in staffOptions" :key="index" :value="item" :label="item.staffName"/>
+              <el-select @change="selsctionSales" clearable filterable v-model="salesSelectData" style="width:100%">
+                <el-option v-for="(item,index) in staffOptions" :key="index" :value="item.staffNo+','+item.staffName" :label="item.staffName"/>
               </el-select>
             </el-form-item>
           </el-col>
@@ -135,6 +127,19 @@
             </el-form-item>
           </el-col>
         </el-row>
+        <el-row>
+          <el-col :span="6">
+            <el-form-item label="璁㈠崟澶囨敞" prop="comment">
+              <el-input
+                v-model="dataForm.comment"
+                style="width: 100%"
+                type="textarea"
+                :rows="1"
+              >
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
       </el-form>
     </div>
 
@@ -143,15 +148,17 @@
     </el-divider>
     <div>
       <avue-crud ref="crud"
+        class="l-mes"
+        show-hide="false"
         :option="option"
         :data="tableData">
           <template slot="partNo" slot-scope="scope">
-            <el-input v-model="scope.row.partNo" placeholder="" readonly>
+            <el-input v-model="scope.row.partNo" placeholder="鏌ヨ闆朵欢鍙�" readonly>
                 <el-button slot="append" icon="el-icon-search" @click="openPartDialog(scope.row.$index)"></el-button>
             </el-input>
           </template>
           <template slot="otcUnit" slot-scope="scope">
-            <el-select v-model="scope.row.otcUnit" placeholder="" style="width: 100%">
+            <el-select v-model="scope.row.otcUnit" placeholder="璇烽�夋嫨鍗曚綅" style="width: 100%">
               <el-option
                 v-for="item in units"
                 :key="item.value"
@@ -161,196 +168,6 @@
           </template>
       </avue-crud>
     </div>
-    <!-- <div class="l-mes normal-form">
-      <el-row :gutter="20">
-        <el-col :span="2">
-          <span>闆朵欢鍙�</span>
-        </el-col>
-        <el-col :span="6">
-          <el-input
-            v-model="dataForm.customerOrder.partNo"
-            placeholder=""
-            readonly
-          >
-            <el-button
-              slot="append"
-              icon="el-icon-search"
-              @click="openPartDialog()"
-            ></el-button>
-          </el-input>
-        </el-col>
-        <el-col :span="2">
-          <span>鍗曚綅</span>
-        </el-col>
-        <el-col :span="6">
-          <el-select
-            v-model="dataForm.customerOrder.unit"
-            placeholder=""
-            style="width: 100%"
-          >
-            <el-option
-              v-for="item in units"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            />
-          </el-select>
-        </el-col>
-        <el-col :span="2">
-          <span>鏁伴噺</span>
-        </el-col>
-        <el-col :span="6">
-          <el-input
-            v-model="dataForm.customerOrder.buyQtyDue"
-            placeholder=""
-          ></el-input>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="2">
-          <span>鐢靛帇绛夌骇</span>
-        </el-col>
-        <el-col :span="6">
-          <el-input
-            v-model="dataForm.customerOrder.voltAgeClass"
-            placeholder=""
-          ></el-input>
-        </el-col>
-        <el-col :span="2">
-          <span>浜у搧鍚嶇О</span>
-        </el-col>
-        <el-col :span="6">
-          <el-input
-            v-model="dataForm.customerOrder.productName"
-            placeholder=""
-          ></el-input>
-        </el-col>
-        <el-col :span="2">
-          <span>鍒堕�犲睘鎬�</span>
-        </el-col>
-        <el-col :span="6">
-          <el-select
-            v-model="dataForm.customerOrder.manufactureAttr"
-            placeholder=""
-            style="width: 100%"
-            disabled
-          >
-            <el-option
-              v-for="item in manufactureAttrs"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            />
-          </el-select>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="2">
-          <span>澶栨姢棰滆壊</span>
-        </el-col>
-        <el-col :span="6">
-          <el-input
-            v-model="dataForm.customerOrder.outerColor"
-            placeholder=""
-          ></el-input>
-        </el-col>
-        <el-col :span="2">
-          <span>闆朵欢瑙勬牸</span>
-        </el-col>
-        <el-col :span="6">
-          <el-input
-            v-model="dataForm.customerOrder.customerPartSpec"
-            placeholder=""
-          ></el-input>
-        </el-col>
-        <el-col :span="2">
-          <span>鍖呰瑕佹眰</span>
-        </el-col>
-        <el-col :span="6">
-          <el-input
-            v-model="dataForm.customerOrder.packageRequire"
-            placeholder=""
-          ></el-input>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="2">
-          <span>璐ㄩ噺瑕佹眰</span>
-        </el-col>
-        <el-col :span="6">
-          <el-input
-            v-model="dataForm.customerOrder.qualityRequire"
-            placeholder=""
-          ></el-input>
-        </el-col>
-        <el-col :span="2">
-          <span>鐢熶骇闇�姹傝鏄�</span>
-        </el-col>
-        <el-col :span="6">
-          <el-input
-            v-model="dataForm.customerOrder.otherProductRequire"
-            placeholder=""
-          ></el-input>
-        </el-col>
-        <el-col :span="2">
-          <span>绯荤粺</span>
-        </el-col>
-        <el-col :span="6">
-          <el-input
-            v-model="dataForm.customerOrder.divisionSystem"
-            placeholder=""
-          ></el-input>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="2">
-          <span>鏀惰揣鍦板潃</span>
-        </el-col>
-        <el-col :span="6">
-          <el-input
-            v-model="dataForm.customerOrder.shippingAddress"
-            placeholder=""
-          ></el-input>
-        </el-col>
-        <el-col :span="2">
-          <span>涓氬姟鍛�</span>
-        </el-col>
-        <el-col :span="6">
-          <el-select v-model="dataForm.customerOrder.salesmanName" style="width:100%">
-                <el-option v-for="(item,index) in staffOptions" :key="index" :value="item.staff_no" :label="item.staffName"/>
-          </el-select>
-        </el-col>
-        <el-col :span="2">
-          <span>鐩橀暱瑕佹眰</span>
-        </el-col>
-        <el-col :span="6">
-          <el-input
-            v-model="dataForm.customerOrder.lengthRequirement"
-            placeholder=""
-          ></el-input>
-        </el-col>
-      </el-row>
-      <el-row :gutter="20">
-        <el-col :span="2">
-          <span>澶囨敞</span>
-        </el-col>
-        <el-col :span="6">
-          <el-input
-            v-model="dataForm.customerOrder.remark"
-            placeholder=""
-          ></el-input>
-        </el-col>
-        <el-col :span="2">
-          <span>浜у搧绫诲瀷</span>
-        </el-col>
-        <el-col :span="6">
-          <el-input
-            v-model="dataForm.customerOrder.productType"
-            placeholder=""
-          ></el-input>
-        </el-col>
-      </el-row>
-    </div> -->
 
     <span slot="footer" class="dialog-footer">
       <el-button @click="visible = false">鍙栨秷</el-button>
@@ -387,18 +204,62 @@
   color: #c0c4cc;
   margin: -1px 0;
 }
+.l-mes .el-input-group__append,
+.l-mes .el-input-group__prepend {
+  padding: 0;
+  border-top: none;
+  border-right: none;
+  border-left: none;
+  border-radius: 0;
+  background-color: transparent;
+}
+
+.l-mes .el-input-group__append .el-button,
+.l-mes .el-input-group__prepend .el-button {
+  padding: 0;
+  width: 25px;
+  border: none !important;
+  line-height: 28px;
+  color: #c0c4cc;
+  margin: -1px 0;
+}
+
+.l-mes .el-input-group__append .el-button i,
+.l-mes .el-input-group__prepend .el-button i {
+  vertical-align: middle;
+}
 </style>
 <script>
 import { addObj } from '@/api/plan/customer'
 import { remote } from '@/api/admin/dict'
 import PartDialog from '@/views/common/part.vue'
-import { validateSixDecimal } from '@/util/validate'
+import {dateFormat} from '@/util/date'
 import { chooseStaff } from '@/api/admin/productType'
 import { tableOption } from '@/const/crud/customerOrder/customerOrderForm'
 
 export default {
   components: {
     PartDialog
+  },
+  watch:{
+    visible(newVal){
+      if(!newVal){
+        this.tableData = [{
+          "$cellEdit": true,
+          "$index": 0,
+          "partNo": "",
+          "customerPartSpec": "",
+          "manufactureAttr": "",
+          "productName": "",
+          "productType": "",
+          "otcUnit": "",
+          "buyQtyDue": "",
+          "shippingAddress": "",
+          "remark": "",
+          "isTrusted": true
+        }]
+      }
+    }
   },
   data() {
     return {
@@ -441,6 +302,7 @@
         returnStatus: null,
         salesMan: null,
         salerWorkCode: null,
+        comment: null
       },
       dataRule: {},
       units: [],
@@ -454,8 +316,11 @@
   },
   methods: {
     selsctionSales(data){
-        this.dataForm.salesMan =  data.staffName
-        this.dataForm.salerWorkCode = data.staffNo
+      if(data){
+        let arr = data.split(",")
+        this.dataForm.salesMan =  arr[1]
+        this.dataForm.salerWorkCode = arr[0]
+      }
     },
     getStaffOptions(){
       chooseStaff().then((response)=>{
@@ -479,28 +344,60 @@
       this.dataForm.isCp = null
       this.dataForm.customerNo = null
       this.dataForm.returnStatus = null
-      this.dataForm.placeOrderDate = null
-      this.dataForm.factoryPlaceOrderDate = null
+      this.dataForm.placeOrderDate = dateFormat(new Date(),'yyyy-MM-dd hh:mm:ss')
+      this.dataForm.factoryPlaceOrderDate = dateFormat(new Date(),'yyyy-MM-dd hh:mm:ss')
       this.dataForm.deliveryDate = null
+      this.dataForm.comment = null
+      this.dataForm.customerOrderVOList = [{
+          "$cellEdit": true,
+          "$index": 0,
+          "partNo": "",
+          "customerPartSpec": "",
+          "manufactureAttr": "",
+          "productName": "",
+          "productType": "",
+          "otcUnit": "",
+          "buyQtyDue": "",
+          "shippingAddress": "",
+          "remark": "",
+          "isTrusted": true
+      }]
     },
     // 琛ㄥ崟鎻愪氦
     dataFormSubmit() {
-      this.buttonDisable = true
-      this.$refs.dataForm.validate((valid) => {
-        this.dataForm.customerOrderVOList = this.tableData
+      const _than = this
+      let isError = false
+      _than.buttonDisable = true
+      _than.tableData.forEach(ele=>{
+        if(ele.buyQtyDue==null || ele.buyQtyDue=='' || ele.buyQtyDue==undefined){
+          _than.$message.error("闆朵欢鏁伴噺涓嶈兘涓虹┖!")
+          isError = true
+        }else{
+          var reg = /^\d+$/
+          if(!reg.test(ele.buyQtyDue)){
+            _than.$message.error("闆朵欢鏁伴噺绫诲瀷蹇呴』鏄暟瀛�!")
+            isError = true
+          }
+        }
+      })
+      if(isError){
+        _than.buttonDisable = false
+        return
+      }
+      _than.$refs.dataForm.validate((valid) => {
         if (valid) {
-          addObj(this.dataForm)
-            .then((data) => {
-              this.$message.success('娣诲姞鎴愬姛')
-              this.visible = false
-              this.buttonDisable = false
-              this.$emit('refreshDataList', 1)
-            })
-            .catch((error) => {
-              this.buttonDisable = false
+          _than.dataForm.customerOrderVOList = _than.tableData
+          addObj(_than.dataForm).then((data) => {
+              _than.$message.success('娣诲姞鎴愬姛')
+              _than.initDataForm();
+              _than.visible = false
+              _than.buttonDisable = false
+              _than.$emit('refreshDataList', 1)
+            }).catch((error) => {
+              _than.buttonDisable = false
             })
         } else {
-          this.buttonDisable = false
+          _than.buttonDisable = false
         }
       })
     },
@@ -510,7 +407,6 @@
       this.showPart = true
     },
     selectPart(part) {
-      console.log(part);
       const index = this.currentSelectRow
       if (part) {
         this.tableData[index].partNo = part.partNo

--
Gitblit v1.9.3