From 9adf9cd368006f07ecc43ef75b92972cb196b4ca Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 09 四月 2025 13:10:39 +0800
Subject: [PATCH] 原辅材提交

---
 src/views/business/materialOrder/customsInspection.vue |  171 ++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 103 insertions(+), 68 deletions(-)

diff --git a/src/views/business/materialOrder/customsInspection.vue b/src/views/business/materialOrder/customsInspection.vue
index 2a70ad4..ee3cc8e 100644
--- a/src/views/business/materialOrder/customsInspection.vue
+++ b/src/views/business/materialOrder/customsInspection.vue
@@ -123,11 +123,21 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="6">
+          <!-- <el-col :span="6">
             <el-form-item class="addObj-form-item" label="绾﹀畾鏃堕棿:" prop="appointed">
               <el-date-picker v-model="addObj.appointed" :disabled="active > 1" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡"
                 size="small" style="width: 100%" type="date" value-format="yyyy-MM-dd">
               </el-date-picker>
+            </el-form-item>
+          </el-col> -->
+          <el-col :span="6">
+            <el-form-item class="addObj-form-item" label="鎶ユ绫诲瀷:">
+              <el-input v-model="addObj.inspectionType" class="addObj-info" clearable disabled size="small"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item class="addObj-form-item" label="杞﹂棿鍚嶇О:">
+              <el-input v-model="addObj.workShopName" class="addObj-info" clearable disabled size="small"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="6">
@@ -152,13 +162,26 @@
             </el-form-item>
             <el-form-item label="妫�楠屾爣鍑�:" style="margin-bottom: 6px;margin-top: 6px">
               <el-select v-model="standardMethodListId" :loading="methodLoad" :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
-                clearable size="small" @change="changeStandardMethodListId" @focus="methodFocus">
+                clearable size="small" @change="changeStandardMethodListId" @focus="methodFocus" multiple>
                 <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
                 </el-option>
               </el-select>
             </el-form-item>
+            <el-form-item label="闄勪欢鏌ョ湅:" style="margin-bottom: 6px;margin-top: 6px">
+              <el-button type="text" @click="handleFileDialog">
+                <i class="el-icon-document"></i>
+                杞﹂棿闄勪欢鏌ョ湅
+              </el-button>
+            </el-form-item>
           </el-form>
         </div>
+        <el-button type="text" @click="handleFileDialog" v-show="active != 1">
+          <i class="el-icon-document"></i>
+          杞﹂棿闄勪欢鏌ョ湅
+        </el-button>
+        <el-dialog :visible.sync="fileDialogVisible" title="闄勪欢鏌ョ湅" width="80%">
+          <fileList :currentNo="addObj.workShopId" v-if="fileDialogVisible" :isLook="true" />
+        </el-dialog>
         <div style="margin-bottom: 6px;margin-top: 6px">
           <el-button v-show="active == 1" :disabled="sampleList.length === 2" size="small" type="primary"
             @click="handleSplitCountNum">鎷嗗垎</el-button>
@@ -194,8 +217,9 @@
         </el-table-column>
         <el-table-column v-if="!(active > 1)" align="center" label="鍨嬪彿鍙傛暟" prop="modelNum" width="130">
           <template slot-scope="scope">
-            <el-input v-model="scope.row.modelNum" :disabled="active > 1 || scope.$index !== 0" clearable placeholder="闈炲繀濉�"
-              size="small" @input="methodChange(scope.row.standardMethodListId, scope.row)"></el-input>
+            <el-input v-model="scope.row.modelNum" :disabled="active > 1 || scope.$index !== 0" clearable
+              placeholder="闈炲繀濉�" size="small"
+              @input="methodChange(scope.row.standardMethodListId, scope.row)"></el-input>
           </template>
         </el-table-column>
         <el-table-column align="center" label="妫�楠屾爣鍑�" min-width="100" prop="standardMethodListId">
@@ -203,7 +227,7 @@
             <el-select v-model="scope.row.standardMethodListId"
               :disabled="scope.row.model == null || active > 1 || scope.$index !== 0" :loading="methodLoad" clearable
               placeholder="妫�楠屾爣鍑�" size="small" style="width: 100%;" @change="(value) => methodChange(value, scope.row)"
-              @clear="productList = []" @focus="methodFocus">
+              @clear="productList = []" @focus="methodFocus" multiple>
               <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
               </el-option>
             </el-select>
@@ -238,9 +262,8 @@
       </el-table>
       <el-table ref="productTable" v-loading="getProductLoad" :data="productList" :row-class-name="tableRowClassName"
         class="el-table" max-height="400px" style="margin-bottom: 10px;"
-        :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border tooltip-effect="dark"
-        @select="selectOne" @selection-change="selectProduct" @select-all="handleAll">
-        <el-table-column v-if="active == 1" :selectable="selectable" type="selection" width="65"></el-table-column>
+        :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border tooltip-effect="dark">
+        <!-- <el-table-column v-if="active == 1" :selectable="selectable" type="selection" width="65"></el-table-column> -->
         <el-table-column label="妫�楠岄」" min-width="140" prop="inspectionItem" show-overflow-tooltip>
           <template slot="header" slot-scope="scope">
             <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
@@ -271,8 +294,8 @@
         </el-table-column>
         <el-table-column label="瑕佹眰鎻忚堪" min-width="220px" prop="tell">
           <template slot-scope="scope">
-            <el-input v-if="active == 1 && isAskOnlyRead" v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 3 }"
-              clearable placeholder="瑕佹眰鎻忚堪" size="small" type="textarea"
+            <el-input v-if="active == 1 && isAskOnlyRead" v-model="scope.row.tell"
+              :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="瑕佹眰鎻忚堪" size="small" type="textarea"
               @change="e => requestChange(e, scope.row, 'tell')"></el-input>
             <span v-else>
               <template>{{ scope.row.tell }}</template>
@@ -314,8 +337,8 @@
             <div class="search_label" style="width: 80px;">瑕佹眰鍊硷細</div>
             <div class="search_input">
               <el-radio-group v-model="item.bsm1Val" v-removeAriaHidden @input="upBsmAll(item)">
-                <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai"
-                  :label="a">{{ JSON.parse(item.bsmRow.askCopy)[ai] }}</el-radio>
+                <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" :label="a">{{
+                  JSON.parse(item.bsmRow.askCopy)[ai] }}</el-radio>
               </el-radio-group>
             </div>
           </el-col>
@@ -405,16 +428,19 @@
   selectStandardProductList,
   selectStandardTreeListByPartNo
 } from "@/api/business/rawMaterialOrder";
+import fileList from "../../structural/capabilityAndLaboratory/workshop/components/fileList.vue"
+import limsTable from "@/components/Table/lims-table.vue";
 
 export default {
   name: "CustomsInspection",
   dicts: ['check_type', 'urgency_level'],
-  components: {},
+  components: { limsTable, fileList },
   props: {
   },
   data() {
     return {
       customsInspection: {},
+      fileDialogVisible: false,
       orderType: '',
       active: 0,
       currentId: 0,
@@ -460,6 +486,8 @@
         typeSource: 1,
         ifsInventoryId: '',
         sampleStatus: 'In good condition',
+        workShopName: '',//杞﹂棿鍚嶇О
+        workShopId: '',//杞﹂棿ID
       },
       addObjRules: { // 琛ㄥ崟鏍¢獙瑙勫垯
         testQuantity: [
@@ -511,7 +539,7 @@
       totalArr: [],
       addObj1: {},
       model: null,
-      standardMethodListId: null,
+      standardMethodListId: [],
       inspectionItem: null,
       inspectionItemSubclass: null,
       methodS: null,
@@ -543,7 +571,7 @@
           value: 0
         },
         {
-          label: '瀛e害妫�楠�',
+          label: '鍙潬鎬ф楠�',
           value: 1
         },
       ],
@@ -586,11 +614,11 @@
     },
     'addObj.sample'(val) {
       this.model = null
-      this.standardMethodListId = null
+      this.standardMethodListId = []
     },
     'addObj.qtyArrived'(val) {
       this.model = null
-      this.standardMethodListId = null
+      this.standardMethodListId = []
     }
   },
   created() {
@@ -609,12 +637,13 @@
     this.customsInspection = this.$route.query.customsInspection
     this.getInfo();
   },
-  getInfo() {
-    this.getUserNowList() // 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
-    this.selectStandardMethods() // 鑾峰彇妫�楠屾爣鍑嗕笅鎷夋鏁版嵁
-    this.getInfo() // 鑾峰彇鏁版嵁
-  },
+  // getInfo() {
+  //   this.getInfo() // 鑾峰彇鏁版嵁
+  // },
   methods: {
+    handleFileDialog() {
+      this.fileDialogVisible = true
+    },
     save1() {
       if (this.bsm1DiaList.length > 0) {
         this.bsm1DiaList.forEach(item => {
@@ -654,6 +683,8 @@
     },
     // 鑾峰彇鏁版嵁
     getInfo() {
+      this.getUserNowList() // 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
+      this.selectStandardMethods() // 鑾峰彇妫�楠屾爣鍑嗕笅鎷夋鏁版嵁
       if (this.active == 2) {
         let orderId = ''
         if (!this.customsInspection.enterOrderId && this.customsInspection.quarterOrderId) {
@@ -689,6 +720,11 @@
             this.addObj.updateBatchNo = res.data.insOrderTemplate.updateBatchNo
             this.addObj.type = String(this.addObj.type)
             this.sampleList = this.HaveJson(res.data.sampleProduct)
+            this.sampleList.forEach(m => {
+              if (m.standardMethodListId) {
+                m.standardMethodListId = JSON.parse(m.standardMethodListId)
+              }
+            })
             this.getProNum()
             this.$nextTick(() => {
               this.$refs.sampleTable.doLayout()
@@ -728,14 +764,18 @@
             this.$set(this.addObj, 'buyUnitMeas', this.customsInspection.buyUnitMeas)
             this.$set(this.addObj, 'updateBatchNo', this.customsInspection.updateBatchNo)
             this.$set(this.addObj, 'partDetail', this.customsInspection.partDesc)
+            this.$set(this.addObj, 'workShopName', res.data.workShopName)
+            this.$set(this.addObj, 'workShopId', res.data.workShopId)
+            this.$set(this.addObj, 'inspectionType', this.customsInspection.inspectionType)
+            console.log(111111, this.addObj)
             if (this.orderType == 1) {
               this.$set(this.addObj, 'orderType', 'Quarterly inspection')
             }
             const str = res.data.treeName.split('-')
             this.selectTreeTem = str.join(' - ')
             this.selectTree = str.join(' - ')
-            this.addListInfo(this.codeLevel, res.data) // 鍘熻緟鏂欐牱鍝佹槸鍥哄畾鐨勶紝灏遍粯璁よ祴鍊间竴鏉℃暟鎹紝鍙媶鍒�
-            this.selectInsOrderTemplate() // 鍘熻緟鏂欐ā鏉垮垪琛ㄦ煡璇�
+            this.addListInfo(this.codeLevel, res.data) // 鍘熻緟鏉愭牱鍝佹槸鍥哄畾鐨勶紝灏遍粯璁よ祴鍊间竴鏉℃暟鎹紝鍙媶鍒�
+            this.selectInsOrderTemplate() // 鍘熻緟鏉愭ā鏉垮垪琛ㄦ煡璇�
           } else {
             this.dialogVisible = true
             this.dialogMessage = res.message
@@ -866,7 +906,7 @@
     save() {
       this.$refs['addObj'].validate((valid) => {
         if (valid) {
-          if (!this.sampleList.every(m => m.standardMethodListId)) {
+          if (!this.sampleList.every(m => m.standardMethodListId && m.standardMethodListId.length > 0)) {
             this.$message.error('璇烽�夋嫨妫�楠屾爣鍑�')
             return
           }
@@ -875,7 +915,7 @@
             item.insProduct = this.productList
           })
           this.getTotal(sampleList)
-          let projectNum = this.totalArr.filter(a => a.state == 1).length
+          let projectNum = this.totalArr.length
           if (projectNum == 0) {
             this.$confirm('妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?', "鎻愮ず", {
               confirmButtonText: "纭畾",
@@ -920,7 +960,7 @@
     noNeedCheck() {
       this.$refs['addObj'].validate((valid) => {
         if (valid) {
-          if (!this.sampleList.every(m => m.standardMethodListId)) {
+          if (!this.sampleList.every(m => m.standardMethodListId && m.standardMethodListId.length > 0)) {
             this.$message.error('璇烽�夋嫨妫�楠屾爣鍑�')
             return
           }
@@ -950,19 +990,19 @@
       })
       this.getTotal(sampleList)
       let trees = this.selectTree.split(" - ")
-      if (trees.length < 3) {
+      if (trees.length < 5) {
         this.$message.error('鏈�夋嫨瀵硅薄')
         return
       }
       this.addObj.factory = trees[0]
       this.addObj.laboratory = trees[1]
-      this.addObj.sampleType = trees[2]
-      if ((trees[3] === undefined || trees[3] === '') || trees.length === 4) {
-        this.addObj.sample = trees[2]
+      this.addObj.sampleType = trees[3]
+      if ((trees[5] === undefined || trees[5] === '') || trees.length === 6) {
+        this.addObj.sample = trees[4]
       } else {
-        this.addObj.sample = trees[3]
+        this.addObj.sample = trees[5]
       }
-      this.addObj.model = (trees[4] == undefined ? null : trees[4])
+      this.addObj.model = (trees[6] == undefined ? null : trees[6])
       this.addObj.ifsInventoryId = this.customsInspection.id
       this.noNeedCheckLoad = true
       addExemptionOrder({
@@ -996,19 +1036,19 @@
     },
     saveMethod(sampleList) {
       let trees = this.selectTree.split(" - ")
-      if (trees.length < 3) {
+      if (trees.length < 5) {
         this.$message.error('鏈�夋嫨瀵硅薄')
         return
       }
       this.addObj.factory = trees[0]
       this.addObj.laboratory = trees[1]
-      this.addObj.sampleType = trees[2]
-      if ((trees[3] === undefined || trees[3] === '') || trees.length === 4) {
-        this.addObj.sample = trees[2]
+      this.addObj.sampleType = trees[4]
+      if ((trees[5] === undefined || trees[5] === '') || trees.length === 6) {
+        this.addObj.sample = trees[4]
       } else {
-        this.addObj.sample = trees[3]
+        this.addObj.sample = trees[5]
       }
-      this.addObj.model = (trees[4] == undefined ? null : trees[4])
+      this.addObj.model = (trees[6] == undefined ? null : trees[6])
       this.addObj.ifsInventoryId = this.customsInspection.id
       this.saveLoad = true
       if (this.addObj.createTime) {
@@ -1017,11 +1057,8 @@
       addInsOrder({
         insOrder: this.addObj,
         sampleList: sampleList.map(a => {
-          if (a.insProduct.length > 0) {
-            a.insProduct.forEach(c => {
-              delete c.id
-            })
-          }
+          a.standardMethodListId = JSON.stringify(a.standardMethodListId)
+           a.insProduct = this.fullProductList
           if (a.modelNum) {
             // 鏍规嵁x鍙峰垽鏂瀷鍙峰弬鏁颁笌鏍峰搧鍨嬪彿鐨勬嫾鎺ヤ綅缃�
             // 渚嬪脳4锛屽氨涓�500ML脳4锛�4脳锛屽氨涓�4脳500ML
@@ -1036,7 +1073,6 @@
           } else {
             a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? '' : ('-' + a.modelNum))
           }
-          a.insProduct = a.insProduct.filter(b => b.state === 1)
           return a
         }),
       }).then(res => {
@@ -1434,18 +1470,18 @@
       this.sample.joinNum = 1
       this.sample.sample = this.addObj.sample
       this.sample.unit = this.addObj.unit
-      this.sample.standardMethodListId = null
+      this.sample.standardMethodListId = []
       this.sample.insProduct = []
       this.sample.id = this.count
       this.sample.childSampleList = []
       this.sample.insulating = null
       this.sample.sheath = null
       this.sample.quantity = 1
-      if (codeLevel === '[5]') {
+      if (codeLevel === '[7]') {
         this.sample.model = this.addObj.sample
-      } else if (codeLevel === '[4]') {
+      } else if (codeLevel === '[6]') {
         this.models = data.children2
-      } else if (codeLevel === '[3]') {
+      } else if (codeLevel === '[5]') {
         this.models = data.children1
       }
       this.sampleList.push(this.HaveJson(this.sample))
@@ -1469,12 +1505,12 @@
     // 閫変腑琛ㄦ牸琛岀殑鍥炶皟
     rowClick(row, column, event) {
       this.currentMethod = row
-      let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
-      if (obj && obj.code == '鎶�鏈姹�') {
-        this.isAskOnlyRead = true
-      } else {
-        this.isAskOnlyRead = false
-      }
+      // let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
+      // if (obj && obj.code == '鎶�鏈姹�') {
+      //   this.isAskOnlyRead = true
+      // } else {
+      //   this.isAskOnlyRead = false
+      // }
       this.sampleId = row.id
       if (this.active !== 1) {
         this.sampleIds = []
@@ -1544,29 +1580,28 @@
         })
       }
       this.currentMethod = row
-      let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
-      if (obj && obj.code == '鎶�鏈姹�') {
-        this.isAskOnlyRead = true
-      } else {
-        this.isAskOnlyRead = false
-      }
+      // let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId)
+      // if (obj && obj.code == '鎶�鏈姹�') {
+      //   this.isAskOnlyRead = true
+      // } else {
+      //   this.isAskOnlyRead = false
+      // }
       this.getProductLoad = true
       let selectTreeList = this.selectTree.split(" - ")
       this.addObj.model && (selectTreeList[selectTreeList.length - 1] = this.addObj.model)
       selectStandardProductList({
         model: this.addObj.model ? this.addObj.model : row.model,
         modelNum: row.modelNum,
-        standardMethodListId: val,
+        standardMethodListIds: val,
         factory: selectTreeList.join(" - "),
         partNo: this.addObj.partNo,
         ifsInventoryId: this.customsInspection.id
       }).then(res => {
         this.getProductLoad = false
-        res.data.forEach(a => {
-          a.state = 0
-        })
-        this.productList = this.HaveJson(res.data)
-        this.productList0 = JSON.parse(JSON.stringify(this.productList))
+        // 鐩存帴灏嗘煡璇㈢粨鏋滆祴鍊肩粰 productList
+        this.fullProductList = res.data
+        this.productList = res.data
+        this.productList0 = res.data
         this.$refs.sampleTable.setCurrentRow(row)
         setTimeout(() => {
           this.productList.forEach(a => {
@@ -1856,7 +1891,7 @@
 
 }
 
->>>.warning-row {
+:deep(.warning-row) {
   color: #1890FF;
 }
 </style>

--
Gitblit v1.9.3