From 67da82f0b0c24df5f19bbfcfec63801d9ae902d8 Mon Sep 17 00:00:00 2001
From: 王震 <10952869+daywangzhen@user.noreply.gitee.com>
Date: 星期三, 13 十二月 2023 16:22:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/technology/document/document-form.vue |  178 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 128 insertions(+), 50 deletions(-)

diff --git a/src/views/technology/document/document-form.vue b/src/views/technology/document/document-form.vue
index b39ec6f..19348cf 100644
--- a/src/views/technology/document/document-form.vue
+++ b/src/views/technology/document/document-form.vue
@@ -11,7 +11,7 @@
       </div>
     </div>
     <div class="page-main">
-      <div class="document-basic">
+      <div class="document-basic" style="height: 28%;">
         <el-form
           :model="dataForm"
           :rules="dataRule"
@@ -22,7 +22,7 @@
           label-width="110px"
         >
           <el-row>
-            <el-col :span="5">
+            <el-col :span="6">
               <el-form-item prop="name" label="鏂囦欢鍚嶇О">
                 <el-input
                   v-model="dataForm.name"
@@ -30,13 +30,13 @@
                 ></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="4">
+            <el-col :span="6">
               <el-form-item prop="number" label="鏂囦欢缂栧彿">
                 <el-input v-model="dataForm.number" placeholder="鏂囦欢缂栧彿">
                 </el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="4">
+            <!-- <el-col :span="4">
               <el-form-item prop="docType" label="绫诲瀷">
                 <el-select
                   v-model="dataForm.docType"
@@ -52,16 +52,8 @@
                   </el-option>
                 </el-select>
               </el-form-item>
-            </el-col>
-            <el-col :span="3">
-              <el-form-item prop="version" label="鐗堟湰鍙�">
-                <el-input
-                  v-model="dataForm.version"
-                  placeholder="鐗堟湰鍙�"
-                ></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="3">
+            </el-col> -->
+            <!-- <el-col :span="3">
               <el-form-item prop="sheathColor" label="鎶ゅ棰滆壊">
                 <el-input
                   v-model="dataForm.sheathColor"
@@ -76,7 +68,7 @@
                   placeholder="缁濈紭棰滆壊"
                 ></el-input>
               </el-form-item>
-            </el-col>
+            </el-col> -->
             <!-- <el-col :span="4">
               <el-form-item label="椤圭洰鍙�" prop="projectNo">
                 <el-input
@@ -108,9 +100,7 @@
                 <countrySelector v-model="dataForm.country"></countrySelector>
               </el-form-item>
             </el-col> -->
-          </el-row>
-          <el-row>
-            <el-col :span="5">
+            <el-col :span="6">
               <el-form-item label="浜у搧闆朵欢鍙�" prop="partNo">
                 <el-input v-model="dataForm.partNo" placeholder="璇烽�夋嫨闆朵欢">
                   <el-button
@@ -121,21 +111,74 @@
                 </el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="7">
+            <el-col :span="6">
               <el-form-item label="浜у搧闆朵欢鎻忚堪" prop="partName">
                 <el-input v-model="dataForm.partName" disabled> </el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="5">
-              <el-form-item label="澶囨敞" prop="remark">
+          </el-row>
+          <el-row>
+              <el-col :span="6">
+                <el-form-item prop="version" label="鐗堟湰鍙�">
+                  <el-input
+                    v-model="dataForm.version"
+                    placeholder="鐗堟湰鍙�"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="BOM" prop="bomId">
+                  <el-select 
+                    :disabled="dataForm.id != null" 
+                    v-model="dataForm.bomId" 
+                    placeholder="" 
+                    style="width: 100%;"
+                    filterable>
+                    <el-option
+                      v-for="item in bomList"
+                      :key="item.id"
+                      :label="item.number"
+                      :value="item.id"
+                    />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="宸ヨ壓璺嚎缂栧彿" prop="routingList">
+                  <el-select 
+                    :disabled="dataForm.id != null" 
+                    v-model="dataForm.routingId" 
+                    placeholder="" 
+                    style="width: 100%;"
+                    filterable>
+                    <el-option
+                      v-for="item in routingList"
+                      :key="item.id"
+                      :label="item.routing_no"
+                      :value="item.id"
+                    />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+              <el-form-item label="椤圭洰鍙�" prop="projectNo">
                 <el-input
-                  type="textarea"
-                  v-model="dataForm.remark"
-                  placeholder="澶囨敞"
-                  style="width:360px"
+                  v-model="dataForm.projectNo"
+                  placeholder="椤圭洰鍙�"
+                  style="width:100%"
                 ></el-input>
               </el-form-item>
-            </el-col>
+            </el-col> 
+              <el-col :span="6">
+                <el-form-item label="澶囨敞" prop="remark">
+                  <el-input
+                    type="textarea"
+                    v-model="dataForm.remark"
+                    placeholder="澶囨敞"
+                    style="width:100%"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
           </el-row>
         </el-form>
       </div>
@@ -143,7 +186,7 @@
       <div class="document-detail">
         <el-tabs type="card" style="width: 100%;height: 100%">
           <el-tab-pane
-            label="鍘熸潗鐢ㄩ噺"
+            label="鍘熸潗鏂欑敤閲�"
             style="height: 100%"
             class="orimaterial-quantity"
           >
@@ -197,6 +240,8 @@
                   prop="operationName"
                   align="center"
                 >
+                </el-table-column>
+                <el-table-column label="鐗╂枡缂栧彿" prop="partNo" align="center">
                 </el-table-column>
                 <el-table-column label="鐗╂枡" prop="partName" align="center">
                 </el-table-column>
@@ -307,8 +352,8 @@
                 </el-table-column>
               </el-table>
             </div>
-            <el-card class="document-bom" header="BOM-宸ュ簭鍙傛暟">
-              <div slot="header">
+            <el-card class="document-bom" header="">
+              <!-- <div slot="header">
                 <span>BOM-宸ュ簭鍙傛暟</span>
                 <el-tooltip
                   class="item"
@@ -339,7 +384,7 @@
                     >娣诲姞
                   </el-button>
                 </el-tooltip>
-              </div>
+              </div> -->
               <el-collapse
                 v-model="currTechnologyBomPartName"
                 accordion
@@ -367,7 +412,7 @@
                     </el-checkbox>
                   </template>
                   <div style="display:flex;">
-                    <div
+                    <!-- <div
                       style="font-size:13px;font-weight:bold;cursor: pointer;border-radius:2px 2px 0px 0px;width:80px;text-align:center;"
                       :class="[
                         item.showBom
@@ -377,21 +422,16 @@
                       @click="item.showBom = true"
                     >
                       BOM缁撴瀯
-                    </div>
+                    </div> -->
                     <div
                       style="font-size:13px;font-weight:bold;cursor: pointer;margin-left: 10px;border-radius:2px 2px 0px 0px;width:80px;text-align:center;"
-                      :class="[
-                        !item.showBom
-                          ? 'highlight-tab-class'
-                          : 'unhighlight-tab-class'
-                      ]"
-                      @click="item.showBom = false"
+                      :class="['highlight-tab-class']"
                     >
                       宸ュ簭鍙傛暟
                     </div>
                   </div>
-
-                  <div class="document-bom-div" v-show="item.showBom">
+ 
+                 <!-- <div class="document-bom-div" v-show="item.showBom">
                     <el-tooltip
                       class="item"
                       effect="dark"
@@ -428,8 +468,9 @@
                       <el-table-column prop="unit" label="鍗曚綅">
                       </el-table-column>
                     </el-table>
-                  </div>
-                  <div class="document-technology-div" v-show="!item.showBom">
+                  </div> -->
+
+                  <div class="document-technology-div" v-show="item.showBom">
                     <div
                       style="border: 1px solid #ebeef5;height: 440px;overflow: auto;"
                     >
@@ -666,7 +707,7 @@
                 </el-select>
                 <div id="demo" style="margin:5px auto;"></div>
               </div>
-              <!--<el-upload
+              <el-upload
                               class="upload-demo"
                               action="/mes/document/uploadLct"
                               :headers="headers"
@@ -686,7 +727,7 @@
                               <div slot="tip" class="el-upload__tip">
                                 鍙兘涓婁紶jpg鍥剧墖锛屼笖涓嶈秴杩�2MB
                               </div>
-                            </el-upload>-->
+                            </el-upload>
               <el-dialog :visible.sync="dialogFlowVisible">
                 <img width="100%" :src="dialogFlowImageUrl" alt="" />
               </el-dialog>
@@ -746,6 +787,8 @@
 import { delDocumentSamplingRule } from '@/api/quality/documentsamplingrule'
 import { getObj as getTechnologyDetail } from '@/api/technology/routing'
 import { getObj as getStructureDetail } from '@/api/technology/completeproductstructure'
+import { fetchList as getBomList } from '@/api/technology/completeproductstructure'
+import { getRouting } from '@/api/technology/document'
 import { getTestStandardParams } from '@/api/quality/teststandard'
 import { remote } from '@/api/admin/dict'
 import { fetchList as getStandard } from '@/api/quality/standardbind'
@@ -764,6 +807,8 @@
 export default {
   data() {
     return {
+      bomList: [],
+      routingList: [],
       operationPart: {},
       showCompleteproductstructure: false,
       showTechnology: false,
@@ -790,6 +835,8 @@
       ],
       dataForm: {
         id: null,
+        bomId: null,
+        routingId: null,
         number: null,
         name: null,
         version: null,
@@ -816,7 +863,7 @@
           { required: true, message: '鐗堟湰鍙蜂笉鑳戒负绌�', trigger: 'blur' }
         ],
         projectNo: [
-          { required: true, message: '椤圭洰鍙蜂笉鑳戒负绌�', trigger: 'blur' }
+          // { required: true, message: '椤圭洰鍙蜂笉鑳戒负绌�', trigger: 'blur' }
         ],
         projectType: [
           { required: true, message: '椤圭洰绫诲埆涓嶈兘涓虹┖', trigger: 'change' }
@@ -906,6 +953,42 @@
     window.winDbClick = this.getDbClick
     // 鍒濆鍖栨祦绋嬪浘瀹炰緥
     this.initFlowDesign()
+  },
+  watch: {
+    'dataForm.partId'(newValue, oldValue) {
+      if (oldValue) {
+        this.dataForm.bomId = null
+      }
+      if (newValue) {
+        getBomList(
+          Object.assign({
+            current: 1,
+            size: 999,
+            partId: this.dataForm.partId,
+          })
+        ).then((response) => {
+          this.bomList = response.data.data.records
+        })
+      } else {
+        this.bomList = []
+      }
+    },
+    'dataForm.bomId'(newValue, oldValue) {
+      if (oldValue) {
+        this.dataForm.routingId = null
+      }
+      if (newValue) {
+        getRouting(
+          Object.assign({
+            bomId: this.dataForm.bomId,
+          })
+        ).then((response) => {
+          this.routingList = response.data.data
+        })
+      } else {
+        this.routingList = []
+      }
+    },
   },
   methods: {
     // 鏌ヨ绫诲瀷瀛楀吀
@@ -1131,7 +1214,6 @@
         if (this.currTechnologyName != null && this.currTechnologyName !== '') {
           // 褰撶敤鎴峰垹闄ゅ伐鑹烘枃浠朵腑鍏宠仈鐨勫伐鑹鸿矾绾挎椂锛岃嫢璇ユ枃浠跺搴擝OM涓墍闇�鍗婃垚鍝佺殑宸ヨ壓璺嚎涔熷凡涓庡綋鍓嶅伐鑹烘枃浠跺叧鑱�
           routingChildCheck(this.currTechnologyBomPartName).then((res) => {
-            console.log('res', res.data)
             const resData = res.data
             let num = 0
             if (resData.code === 0) {
@@ -1828,7 +1910,6 @@
       if (this.dataForm.id) {
         this.getDocumentInfo(this.dataForm.id)
       }
-      console.log('涓婁紶鎴愬姛')
     },
     handleStructureExceed(files, fileList) {
       // this.$message.warning(
@@ -1870,7 +1951,6 @@
       this.dialogFlowVisible = true
     },
     handleFlowSuccess(response, file, fileList) {
-      console.log('涓婁紶鎴愬姛')
     },
     handleFlowExceed(files, fileList) {
       this.$message.warning(
@@ -1914,8 +1994,6 @@
     },
     getSummaries(param) {
       const { columns, data } = param
-      console.log(columns, 'A')
-      console.log(data, 'B')
       const sums = []
       columns.forEach((column, index) => {
         if (index === 0) {

--
Gitblit v1.9.3