From aa8684dfcf2ddbbadbd045770ff540e64c26bbee Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 06 三月 2024 17:53:45 +0800
Subject: [PATCH] 销售订单-下载排产单

---
 src/views/quality/rawMaterial/rawMaterial-form.vue |  105 ++++++++++++++++++-----------------
 src/views/plan/customerorder/index.vue             |   28 ++++++++-
 src/views/quality/rawMaterial/testValue-select.vue |   13 ++++
 src/api/plan/customerorder.js                      |    9 +++
 4 files changed, 101 insertions(+), 54 deletions(-)

diff --git a/src/api/plan/customerorder.js b/src/api/plan/customerorder.js
index 11cbee6..b6db926 100644
--- a/src/api/plan/customerorder.js
+++ b/src/api/plan/customerorder.js
@@ -264,6 +264,15 @@
   })
 }
 
+export function downloadProduct(data){
+    return request({
+        url: '/mes/plan/customerOrder/downloadProduct',
+        method: 'post',
+        responseType: 'blob',
+        data: data
+      })
+}
+
 export function downloadProcessConfigFile(filename, bucket, originalFileName) {
   return request({
     url: '/mes/plan/customerOrder/processConfig/' + bucket + '/' + filename,
diff --git a/src/views/plan/customerorder/index.vue b/src/views/plan/customerorder/index.vue
index 1e5ebda..6cad8e6 100644
--- a/src/views/plan/customerorder/index.vue
+++ b/src/views/plan/customerorder/index.vue
@@ -299,6 +299,7 @@
   exportCustomerOrderSplit,
   syncOrder,
   dropByContractNo,
+  downloadProduct,
   downloadWordFile
 } from '../../../api/plan/customerorder'
 import DocumentTable from '@/views/common/document.vue'
@@ -920,11 +921,18 @@
       })
     }
     this.table.toolbar.push({
-        text: '涓嬭浇Word',
+        text: '涓嬭浇宸ヨ壓鏂囦欢',
         disabled: false,
         type: 'primary',
         fun: this.downloadWord,
         permitArr: ['03plan','04planed'],
+    })
+    this.table.toolbar.push({
+        text: '涓嬭浇鎺掍骇鍗�',
+        disabled: false,
+        type: 'primary',
+        permitArr: [],
+        fun: this.downloadProductionScheduling,
     })
     this.table.toolbar.push({
         text: '鍏宠仈璁㈠崟',
@@ -993,8 +1001,22 @@
         this.interrelatedOrderId = currentOrder.id
         this.showInterrelatedOrderDialog = true
     },
-
-    //涓嬭浇word
+    //涓嬭浇鎺掍骇閫氱煡鍗�
+    downloadProductionScheduling(){
+        let ids = this.multipleSelection.map(obj => obj.id)
+        if(ids.length<1){
+            this.$message.error("璇烽�夋嫨涓�鏉℃暟鎹�")
+            return
+        }
+        downloadProduct({ids: ids}).then(res=>{
+            if(res.status===200){
+                transform(res)
+            }
+        }).catch(error=>{
+            console.error(error)
+        })
+    },
+    //涓嬭浇宸ヨ壓鏂囦欢
     downloadWord(){
         let ids = this.multipleSelection.map(ele=>ele.id)
         if(ids.length<1){
diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue
index 89e79b8..c4c60ab 100644
--- a/src/views/quality/rawMaterial/rawMaterial-form.vue
+++ b/src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -178,9 +178,21 @@
                         <template slot-scope="scope">
                           <div v-if="!scope.row.children">
                           <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start">
-                            <el-autocomplete clearable
+                            <el-dropdown>
+                            <el-input placeholder="妫�娴嬪��"/>
+                            <i style="line-height: normal;padding: 10px 7px;" class="el-icon-arrow-down el-icon--right"></i>
+                            <el-dropdown-menu slot="dropdown">
+                                <el-dropdown-item>榛勯噾绯�</el-dropdown-item>
+                                <el-dropdown-item>鐙瓙澶�</el-dropdown-item>
+                                <el-dropdown-item>铻鸿洺绮�</el-dropdown-item>
+                                <el-dropdown-item>鍙岀毊濂�</el-dropdown-item>
+                                <el-dropdown-item>铓典粩鐓�</el-dropdown-item>
+                            </el-dropdown-menu>
+                            </el-dropdown>
+                            <!-- <el-autocomplete clearable
                             :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&(resultVal!=null && resultVal!=''))"
-                            @input="changeState(scope.row,scope.$index)"
+                            @blur.stop="changeState(scope.row,scope.$index)"
+                            @select="changeState(scope.row,scope.$index)"
                             v-model="scope.row.testValueList[index]"
                             :fetch-suggestions="querySearch"
                             placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" >
@@ -188,20 +200,7 @@
                             <template slot-scope="{ item }">
                                 <div>{{ item.value }}</div>
                             </template>
-                            </el-autocomplete>
-
-                              <!-- <el-select style="width:100%" filterable
-                              :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&(resultVal!=null && resultVal!=''))"
-                              v-model="scope.row.testValueList[index]"
-                              placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��"
-                              allow-create
-                              default-first-option
-                              @change="changeState(scope.row,scope.$index)"
-                              @blur="selectBlur"
-                              >
-                                <el-option label="鏄�" value="鏄�"/>
-                                <el-option label="鍚�" value="鍚�"/>
-                              </el-select> -->
+                            </el-autocomplete> -->
                             </el-tooltip>
                           </div>
                         </template>
@@ -893,43 +892,47 @@
         console.log(e.target.value);
       },
       changeState(row, index) {
-        if(row){
-            let isTrue = true
-            for(var i=0;i<row.testValueList.length;i++){
-              let val = row.testValueList[i]
-              let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/
-              if(val.slice(-1)!='.'){
-                  if(!reg.test(val) && !['鏄�','鍚�'].includes(val)){
-                      row.testValueList[i] = null
-                      this.$message.error("璇疯緭鍏�6浣嶆暟瀛楁垨閫夋嫨鏄惁")
-                      isTrue = false
+        this.$nextTick(()=>{
+            if(row){
+                let isTrue = true
+                for(var i=0;i<row.testValueList.length;i++){
+                    let val = row.testValueList[i]
+                    if(!['鏄�','鍚�'].includes(val)){
+                        let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/
+                        if(!reg.test(val)){
+                          row.testValueList = ''
+                          this.$message.error("璇疯緭鍏�6浣嶆暟瀛楁垨閫夋嫨鏄惁")
+                          isTrue = false
+                      }
                   }
-              }
+                }
+                if(!isTrue){
+                    return
+                }
             }
-            if(!isTrue){
-              return
+            console.log(row.testValueList.join(","));
+            return
+            if (row.rpId != null && row.rpId != '') {
+                let val = row.testValueList.join(",")
+                if (val === undefined || val === '' || val === null) {
+                    return
+                }
+                let obj = {
+                    deviceId: row.deviceId,
+                    rpId: row.rpId,
+                    testValue: val,
+                    note: row.note
+                }
+              updateRawInsProduct(obj).then(res => {
+                  if (res.data.code == 0) {
+                      this.$message.success("鏇存柊鎴愬姛")
+                  } else {
+                      this.$message.error("鏇存柊澶辫触")
+                  }
+                  this.init(this.dataForm.id)
+              })
             }
-        }
-        if (row.rpId != null && row.rpId != '') {
-          let val = row.testValueList.join(",")
-          if (val === undefined || val === '' || val === null) {
-              return
-          }
-          let obj = {
-              deviceId: row.deviceId,
-              rpId: row.rpId,
-              testValue: val,
-              note: row.note
-          }
-          updateRawInsProduct(obj).then(res => {
-              if (res.data.code == 0) {
-                  this.$message.success("鏇存柊鎴愬姛")
-              } else {
-                  this.$message.error("鏇存柊澶辫触")
-              }
-              this.init(this.dataForm.id)
-          })
-        }
+        })
       },
       // 鍒犻櫎瀛愰」鐩�
       delChildren(row,index,isParent) {
@@ -961,7 +964,7 @@
           required: null,
           rpId: null,
           name: null,
-          unit: 'mm',
+          unit: '',
           userName: null,
           testValue: null,
           testValueList: [],
diff --git a/src/views/quality/rawMaterial/testValue-select.vue b/src/views/quality/rawMaterial/testValue-select.vue
new file mode 100644
index 0000000..0e814c9
--- /dev/null
+++ b/src/views/quality/rawMaterial/testValue-select.vue
@@ -0,0 +1,13 @@
+<!-- 鍘熸潗鏂欐楠�-妫�娴嬪�艰緭鍏ユ缁勪欢 -->
+<template>
+</template>
+
+<script>
+export default {
+
+}
+</script>
+
+<style>
+
+</style>

--
Gitblit v1.9.3