From dbe4d740a7b0b5696c89f4df14b6804a71364432 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 08 五月 2024 14:56:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/technology/document/document-form.vue |  206 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 145 insertions(+), 61 deletions(-)

diff --git a/src/views/technology/document/document-form.vue b/src/views/technology/document/document-form.vue
index 81ffb96..e101abb 100644
--- a/src/views/technology/document/document-form.vue
+++ b/src/views/technology/document/document-form.vue
@@ -7,11 +7,11 @@
         <h2 v-if="!editable">鏌ョ湅-宸ヨ壓鏂囦欢</h2>
       </div>
       <div class="btn-group header-right" v-if="editable">
-        <el-button @click="save()">淇濆瓨</el-button>
+        <el-button type="primary" @click="save()">淇濆瓨</el-button>
       </div>
     </div>
     <div class="page-main">
-      <div class="document-basic">
+      <div class="document-basic" style="height: 28%;">
         <el-form
           :model="dataForm"
           :rules="dataRule"
@@ -22,21 +22,23 @@
           label-width="110px"
         >
           <el-row>
-            <el-col :span="5">
+            <el-col :span="6">
               <el-form-item prop="name" label="鏂囦欢鍚嶇О">
+                <el-tooltip class="item" effect="dark" :content="dataForm.name" >
                 <el-input
                   v-model="dataForm.name"
                   placeholder="鏂囦欢鍚嶇О"
                 ></el-input>
+                </el-tooltip>
               </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 +54,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 +70,7 @@
                   placeholder="缁濈紭棰滆壊"
                 ></el-input>
               </el-form-item>
-            </el-col>
+            </el-col> -->
             <!-- <el-col :span="4">
               <el-form-item label="椤圭洰鍙�" prop="projectNo">
                 <el-input
@@ -108,11 +102,9 @@
                 <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-input disabled v-model="dataForm.partNo" placeholder="璇烽�夋嫨闆朵欢">
                   <el-button
                     slot="append"
                     icon="el-icon-search"
@@ -121,21 +113,76 @@
                 </el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="7">
+            <el-col :span="6">
               <el-form-item label="浜у搧闆朵欢鎻忚堪" prop="partName">
+                <el-tooltip class="item" effect="dark" :content="dataForm.partName" >
                 <el-input v-model="dataForm.partName" disabled> </el-input>
+                </el-tooltip>
               </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 :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 +190,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"
           >
@@ -198,6 +245,8 @@
                   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>
                 <el-table-column label="鏁伴噺" prop="quantity" align="center">
@@ -214,7 +263,8 @@
           >
             <TeststandardDialog
               :editable="editable"
-              :documentId="Number(dataForm.id)"
+              :key="dataForm.id"
+              :documentId="dataForm.id"
             >
             </TeststandardDialog>
           </el-tab-pane>
@@ -307,8 +357,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 +389,7 @@
                     >娣诲姞
                   </el-button>
                 </el-tooltip>
-              </div>
+              </div> -->
               <el-collapse
                 v-model="currTechnologyBomPartName"
                 accordion
@@ -367,7 +417,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 +427,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 +473,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;"
                     >
@@ -483,15 +529,15 @@
                                 ></el-table-column>
                               </el-table>
                             </el-tab-pane>
-                            <el-tab-pane label="澶囨敞" style="height: 100%">
+                            <!-- <el-tab-pane label="澶囨敞" style="height: 100%">
                               <rich-text
                                 :editorId="
                                   'fwb' + item.id + '-' + ele.id + '-' + j
                                 "
                                 :richContent="ele.remark"
                               ></rich-text>
-                            </el-tab-pane>
-                            <el-tab-pane label="妫�娴嬫爣鍑�">
+                            </el-tab-pane> -->
+                            <!-- <el-tab-pane label="妫�娴嬫爣鍑�">
                               <checkStandardTable
                                 ref="documentTestStandardTable"
                                 :dataFormId="dataForm.id"
@@ -510,8 +556,8 @@
                                   refreshTestStandardInfo
                                 "
                               ></checkStandardTable>
-                            </el-tab-pane>
-                            <el-tab-pane label="鎶芥瑙勫垯">
+                            </el-tab-pane> -->
+                            <!-- <el-tab-pane label="鎶芥瑙勫垯">
                               <div>
                                 <div style="padding: 0px 20px;">
                                   <el-button
@@ -594,7 +640,7 @@
                                   </el-table>
                                 </div>
                               </div>
-                            </el-tab-pane>
+                            </el-tab-pane> -->
                           </el-tabs>
                         </el-collapse-item>
                       </el-collapse>
@@ -604,7 +650,7 @@
               </el-collapse>
             </el-card>
           </el-tab-pane>
-          <el-tab-pane label="鍥剧墖涓婁紶" style="height: 100%">
+          <!-- <el-tab-pane label="鍥剧墖涓婁紶" style="height: 100%">
             <el-card class="document-structure">
               <div slot="header">
                 <span>缁撴瀯鍥�</span>
@@ -666,7 +712,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,12 +732,12 @@
                               <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>
             </el-card>
-          </el-tab-pane>
+          </el-tab-pane> -->
         </el-tabs>
       </div>
     </div>
@@ -741,12 +787,15 @@
   saveLctJson,
   getLctJson,
   routingChildCheck,
-  qryDocSamplingRule
+  qryDocSamplingRule,
+  getTestStandardParams
 } from '@/api/technology/document'
 import { delDocumentSamplingRule } from '@/api/quality/documentsamplingrule'
 import { getObj as getTechnologyDetail } from '@/api/technology/routing'
 import { getObj as getStructureDetail } from '@/api/technology/completeproductstructure'
-import { getTestStandardParams } from '@/api/quality/teststandard'
+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'
 import { getStore } from '@/util/store.js'
@@ -764,6 +813,8 @@
 export default {
   data() {
     return {
+      bomList: [],
+      routingList: [],
       operationPart: {},
       showCompleteproductstructure: false,
       showTechnology: false,
@@ -790,6 +841,8 @@
       ],
       dataForm: {
         id: null,
+        bomId: null,
+        routingId: null,
         number: null,
         name: null,
         version: null,
@@ -816,7 +869,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 +959,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 +1220,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 +1916,6 @@
       if (this.dataForm.id) {
         this.getDocumentInfo(this.dataForm.id)
       }
-      console.log('涓婁紶鎴愬姛')
     },
     handleStructureExceed(files, fileList) {
       // this.$message.warning(
@@ -1870,7 +1957,6 @@
       this.dialogFlowVisible = true
     },
     handleFlowSuccess(response, file, fileList) {
-      console.log('涓婁紶鎴愬姛')
     },
     handleFlowExceed(files, fileList) {
       this.$message.warning(
@@ -1914,8 +2000,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