From e642f80b8718f9315ff75edb1db773da239bf926 Mon Sep 17 00:00:00 2001
From: deslrey <deslre0381@gmail.com>
Date: 星期六, 10 一月 2026 11:30:59 +0800
Subject: [PATCH] 【物料属性】的回显和下拉列表

---
 src/views/business/outsourcingFinishProduct/index.vue |  227 ++++++++++++++-----
 src/views/business/inspectionReview/index.vue         |   45 +++
 src/views/business/reportPreparation/index.vue        |   56 +++-
 src/views/business/inspectionTask/index.vue           |  141 +++++++-----
 src/views/business/materialOrder/index.vue            |  161 +++++++++++--
 5 files changed, 452 insertions(+), 178 deletions(-)

diff --git a/src/views/business/inspectionReview/index.vue b/src/views/business/inspectionReview/index.vue
index 2bce1d0..8935f72 100644
--- a/src/views/business/inspectionReview/index.vue
+++ b/src/views/business/inspectionReview/index.vue
@@ -4,7 +4,7 @@
       <el-form :model="entity" ref="entity" size="small" :inline="true">
         <el-form-item label="鎵瑰彿" prop="updateBatchNo">
           <el-input v-model="entity.updateBatchNo" clearable placeholder="璇疯緭鍏�" size="small"
-                    @keyup.enter.native="refreshTable()">
+            @keyup.enter.native="refreshTable()">
           </el-input>
         </el-form-item>
         <el-form-item label="濮旀墭缂栧彿" prop="entrustCode">
@@ -16,9 +16,18 @@
             <el-option v-for="(a, i) in typeSourceList" :key="i" :label="a.label" :value="a.value"></el-option>
           </el-select>
         </el-form-item>
+
+        <el-form-item label="鐗╂枡灞炴��" prop="materialProp">
+          <el-select clearable size="small" v-model="entity.materialProp" style="width: 100%">
+            <el-option v-for="dict in dict.type.material_prop_type" :key="dict.value" :label="dict.label"
+              :value="dict.value"">
+              </el-option>
+            </el-select>
+          </el-form-item>
+
         <el-form-item>
-          <el-button type="primary" size="mini" @click="refreshTable">鏌ヨ</el-button>
-          <el-button size="mini" @click="refresh">閲嶇疆</el-button>
+          <el-button type=" primary" size="mini" @click="refreshTable">鏌ヨ</el-button>
+              <el-button size="mini" @click="refresh">閲嶇疆</el-button>
         </el-form-item>
       </el-form>
       <div class="page_total">
@@ -28,8 +37,8 @@
     </div>
     <div>
       <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading"
-                  :rowClassName="rowClassName" :height="'calc(100vh - 270px)'" @pagination="pagination"
-                  key="tableData0"></lims-table>
+        :rowClassName="rowClassName" :height="'calc(100vh - 270px)'" @pagination="pagination"
+        key="tableData0"></lims-table>
     </div>
     <!--鎶ュ憡鏌ョ湅-->
     <el-dialog title="鎶ュ憡鏌ョ湅" :visible.sync="issuedVisible" width="80vw" :modal-append-to-body="false"
@@ -66,7 +75,7 @@
     onlyoffice,
     limsTable,
   },
-  dicts: ["urgency_level", "inspection_task_state"],
+  dicts: ["urgency_level", "inspection_task_state", 'material_prop_type'],
   computed: {
     ...mapGetters(["nickName", "userId"]),
   },
@@ -100,6 +109,21 @@
         },
         { label: "鏍峰搧鍚嶇О", prop: "sample", width: "160px" },
         {
+          label: '鐗╂枡灞炴��',
+          prop: 'materialProp',
+          formatData: (params) => {
+            if (!params) return null
+
+            for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+              const item = this.dict.type.material_prop_type[i]
+              if (item.value == params) {
+                return item.label
+              }
+            }
+            return null
+          }
+        },
+        {
           label: "涓嬪崟绫诲埆",
           prop: "typeSource",
           width: "100px",
@@ -107,9 +131,9 @@
           formatData: (params) => {
             if (params == 0) {
               return "澶栬喘涓嬪崟";
-            } else if(params==1) {
+            } else if (params == 1) {
               return "鍘熸潗鏂欎笅鍗�";
-            }else{
+            } else {
               return "濮旀墭涓嬪崟";
             }
           },
@@ -371,7 +395,7 @@
     },
     // 涓嬭浇鎶ュ憡
     download(row) {
-      let url = (row.urlS===null||row.urlS==='')?row.url:row.urlS
+      let url = (row.urlS === null || row.urlS === '') ? row.url : row.urlS
       const link = document.createElement('a');
       link.href = this.javaApi + url;
       link.target = '_blank';
@@ -404,7 +428,7 @@
         fileName = row.tempUrlPdf
         fileType = "pdf"
       }
-      fileName = fileName.replace('/word/','')
+      fileName = fileName.replace('/word/', '')
       const userName = this.nickName
       this.option = {
         url: this.javaApi + "/word/" + fileName,
@@ -439,6 +463,7 @@
   margin-bottom: 10px;
   display: flex;
 }
+
 .page_total span:last-child {
   color: #3a7bfa;
   font-size: 23px;
diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue
index 19b48a4..c09abae 100644
--- a/src/views/business/inspectionTask/index.vue
+++ b/src/views/business/inspectionTask/index.vue
@@ -3,25 +3,34 @@
     <div style="height: 100%">
       <div class="search">
         <el-form :model="queryParams" ref="queryParams" size="small" :inline="true">
-          <el-form-item label="鎵瑰彿" prop="updateBatchNo" v-if="tabIndex!==0">
+          <el-form-item label="鎵瑰彿" prop="updateBatchNo" v-if="tabIndex !== 0">
             <el-input v-model="queryParams.updateBatchNo" clearable placeholder="璇疯緭鍏�" size="small"
-                      @keyup.enter.native="refreshTable()">
+              @keyup.enter.native="refreshTable()">
             </el-input>
           </el-form-item>
           <el-form-item label="濮旀墭缂栧彿" prop="entrustCode">
             <el-input v-model="queryParams.entrustCode" clearable placeholder="璇疯緭鍏�" size="small"
-                      @keyup.enter.native="refreshTable()"></el-input>
+              @keyup.enter.native="refreshTable()"></el-input>
           </el-form-item>
           <el-form-item label="妫�楠岀姸鎬�" prop="insState">
             <el-select v-model="queryParams.insState" size="small" style="width: 100%" @change="refreshTable()">
               <el-option v-for="(a, i) in dict.type.inspection_task_state" :key="i" :label="a.label"
-                         :value="a.value"></el-option>
+                :value="a.value"></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName" v-if="tabIndex===2">
-            <el-input v-model="queryParams.supplierName" clearable placeholder="璇疯緭鍏�" size="small"
-                      @keyup.enter.native="goSearch">
-            </el-input>
+
+          <el-form-item label="鐗╂枡灞炴��" prop="materialProp">
+            <el-select clearable size="small" v-model="queryParams.materialProp" style="width: 100%">
+              <el-option v-for="dict in dict.type.material_prop_type" :key="dict.value" :label="dict.label"
+                :value="dict.value"">
+              </el-option>
+            </el-select>
+          </el-form-item>
+
+          <el-form-item label=" 渚涘簲鍟嗗悕绉�" prop="supplierName" v-if="tabIndex === 2">
+                <el-input v-model="queryParams.supplierName" clearable placeholder="璇疯緭鍏�" size="small"
+                  @keyup.enter.native="goSearch">
+                </el-input>
           </el-form-item>
           <el-form-item>
             <el-button size="mini" type="primary" @click="refreshTable()">鏌ヨ</el-button>
@@ -40,7 +49,7 @@
             </ul>
             <div>
               <el-checkbox v-model="alone" class="view-self-checkbox"
-                           @change="changeCheckBox"><span>鎴戠殑浠诲姟</span></el-checkbox>
+                @change="changeCheckBox"><span>鎴戠殑浠诲姟</span></el-checkbox>
             </div>
           </div>
           <div class="center-title">
@@ -48,53 +57,50 @@
             <span>{{ page.total }}</span>
           </div>
         </div>
-        <lims-table :tableData="tableData" :column="column" :page="page"
-          :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @pagination="pagination"
-          key="tableData0">
+        <lims-table :tableData="tableData" :column="column" :page="page" :rowClassName="rowClassName"
+          :height="'calc(100vh - 300px)'" @pagination="pagination" key="tableData0">
           <div slot="action" slot-scope="scope">
             <el-button size="small" type="text" @click="handleDataLook(scope.row)">鏁版嵁鏌ョ湅</el-button>
             <el-button type="text" size="small"
-                       :disabled="(scope.row.userName == null || scope.row.insState == 3 || scope.row.insState == 5) && checkPermi(['update:product:onPlan'])"
-                       @click="editInspection(scope.row)">淇敼妫�楠屽��</el-button>
+              :disabled="(scope.row.userName == null || scope.row.insState == 3 || scope.row.insState == 5) && checkPermi(['update:product:onPlan'])"
+              @click="editInspection(scope.row)">淇敼妫�楠屽��</el-button>
             <el-button type="text" size="small" :disabled="(
-                  scope.row.userName == null ||
-                  scope.row.insState == 3 ||
-                  scope.row.insState == 5 ||
-                  (scope.row.userName && !scope.row.userName.includes(nickName))
-                )"
-                       @click="handleInspection(scope.row)">妫�楠�</el-button>
+              scope.row.userName == null ||
+              scope.row.insState == 3 ||
+              scope.row.insState == 5 ||
+              (scope.row.userName && !scope.row.userName.includes(nickName))
+            )" @click="handleInspection(scope.row)">妫�楠�</el-button>
             <el-button type="text" size="small" :disabled="(
-                  scope.row.userName == null ||
-                  scope.row.insState == 5 ||
-                  scope.row.insState == 3 ||
-                  (scope.row.userName && !scope.row.userName.includes(nickName))
-                )"
-                       @click="handleConnect(scope.row)">浜ゆ帴</el-button>
+              scope.row.userName == null ||
+              scope.row.insState == 5 ||
+              scope.row.insState == 3 ||
+              (scope.row.userName && !scope.row.userName.includes(nickName))
+            )" @click="handleConnect(scope.row)">浜ゆ帴</el-button>
             <el-button type="text" size="small" @click="viewInspectInfo(scope.row)">鍘熷璁板綍</el-button>
-            <el-popover placement="bottom" trigger="hover" style="margin-left: 6px" :disabled="(scope.row.insState != 3 || scope.row.userName == null ||(scope.row.userName && !scope.row.userName.includes(nickName)))">
+            <el-popover placement="bottom" trigger="hover" style="margin-left: 6px"
+              :disabled="(scope.row.insState != 3 || scope.row.userName == null || (scope.row.userName && !scope.row.userName.includes(nickName)))">
               <template #reference>
                 <el-button link type="text" size="small" :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
                   (scope.row.userName && !scope.row.userName.includes(nickName)))">鏇村</el-button>
               </template>
               <div>
                 <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
-                  (scope.row.userName && !scope.row.userName.includes(nickName)))" style="margin-left: 10px" type="text" size="small" @click="download(scope.row)">涓嬭浇鎶ュ憡</el-button>
-                <el-upload ref='upload'
-                           :action="javaApi + '/insReport/inReport'"
-                           :before-upload="beforeUpload"
-                           :data="{id: scope.row.insReportId}"
-                           :headers="uploadHeader" :on-error="onError"
-                           :on-success="handleSuccessUp"
-                           :show-file-list="false"
-                           style="display: inline;margin: 0 6px"
-                           accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'>
+                  (scope.row.userName && !scope.row.userName.includes(nickName)))" style="margin-left: 10px"
+                  type="text" size="small" @click="download(scope.row)">涓嬭浇鎶ュ憡</el-button>
+                <el-upload ref='upload' :action="javaApi + '/insReport/inReport'" :before-upload="beforeUpload"
+                  :data="{ id: scope.row.insReportId }" :headers="uploadHeader" :on-error="onError"
+                  :on-success="handleSuccessUp" :show-file-list="false" style="display: inline;margin: 0 6px"
+                  accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'>
                   <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
-                  (scope.row.userName && !scope.row.userName.includes(nickName)))" size="small" type="text">涓婁紶</el-button>
+                    (scope.row.userName && !scope.row.userName.includes(nickName)))" size="small"
+                    type="text">涓婁紶</el-button>
                 </el-upload>
                 <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
-                  (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small" @click="handleRestore(scope.row)">杩樺師</el-button>
+                  (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small"
+                  @click="handleRestore(scope.row)">杩樺師</el-button>
                 <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
-                  (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small" @click="handleIssued(scope.row)">鏌ョ湅鎶ュ憡</el-button>
+                  (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small"
+                  @click="handleIssued(scope.row)">鏌ョ湅鎶ュ憡</el-button>
               </div>
             </el-popover>
           </div>
@@ -166,7 +172,7 @@
         </el-button>
       </div>
       <el-table :data="bindTableData" style="width: 100%" height="70vh" v-loading="bindTableDataLoading"
-                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border>
+        :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border>
         <el-table-column prop="inspectionItemClass" label="妫�楠岄」鍒嗙被" width="150">
         </el-table-column>
         <el-table-column prop="inspectionItem" label="妫�楠岄」" width="150">
@@ -182,7 +188,7 @@
     </el-dialog>
     <el-dialog :visible.sync="bindAddDialogVisible" title="閫夋嫨缁戝畾" width="600px">
       <el-table :data="bindAddTableData" style="width: 100%" height="60vh"
-                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
+        :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
         @selection-change="handleBindAddSelectionChange">
         <el-table-column type="selection" width="55"> </el-table-column>
         <el-table-column prop="inspectionItemClass" label="妫�楠岄」鍒嗙被" width="150">
@@ -208,13 +214,14 @@
     <!--鏌ョ湅宸ユ椂寮规-->
     <viewManHourDia ref="viewManHourDia"></viewManHourDia>
     <!--涓嶅悎鏍煎娴嬫煡鐪嬪脊妗�-->
-    <un-pass-retest-result v-if="retestVisible" :retestInfo="retestInfo" :retestVisible="retestVisible" @closeRetestLook="closeRetestLook"></un-pass-retest-result>
+    <un-pass-retest-result v-if="retestVisible" :retestInfo="retestInfo" :retestVisible="retestVisible"
+      @closeRetestLook="closeRetestLook"></un-pass-retest-result>
     <!--鎶ュ憡鏌ョ湅-->
     <el-dialog title="鎶ュ憡鏌ョ湅" :visible.sync="issuedVisible" width="80vw" :modal-append-to-body="false"
-               :fullscreen="fullscreen">
+      :fullscreen="fullscreen">
       <div class="full-screen">
         <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen = true;"
-           v-if="!fullscreen"></i>
+          v-if="!fullscreen"></i>
         <img src="@/assets/images/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen = false;">
       </div>
       <div style="height: 80vh;" v-if="issuedVisible">
@@ -223,7 +230,7 @@
     </el-dialog>
     <el-dialog title="鏌ョ湅闄勪欢" :visible.sync="lookDialogVisible" width="800px" top="5vh" fullscreen>
       <filePreview v-if="lookDialogVisible" :fileUrl="javaApi + '/word/' + currentInfo.tempUrlPdf" :currentFile="{}"
-                   style="max-height: 90vh;overflow-y: auto;" />
+        style="max-height: 90vh;overflow-y: auto;" />
     </el-dialog>
   </div>
 </template>
@@ -248,8 +255,8 @@
   selectSampleAndProductByOrderId,
 } from "@/api/business/inspectionTask.js";
 import { mapGetters } from "vuex";
-import {getRetestResult} from "@/api/business/rawMaterialOrder";
-import {upReportUrl} from "@/api/business/insReport";
+import { getRetestResult } from "@/api/business/rawMaterialOrder";
+import { upReportUrl } from "@/api/business/insReport";
 import onlyoffice from "@/components/Onlyoffice/onlyoffice.vue";
 import filePreview from "@/components/Preview/filePreview.vue";
 import tab from "../../../plugins/tab";
@@ -262,7 +269,7 @@
     viewManHourDia,
     UnPassRetestResult
   },
-  dicts: ["urgency_level", "inspection_task_state"],
+  dicts: ["urgency_level", "inspection_task_state", 'material_prop_type'],
   computed: {
     ...mapGetters(["nickName", "userId"]),
   },
@@ -369,6 +376,21 @@
         },
         { label: "鏍峰搧鍚嶇О", prop: "sample", width: "160px" },
         {
+          label: '鐗╂枡灞炴��',
+          prop: 'materialProp',
+          formatData: (params) => {
+            if (!params) return null
+
+            for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+              const item = this.dict.type.material_prop_type[i]
+              if (item.value == params) {
+                return item.label
+              }
+            }
+            return null
+          }
+        },
+        {
           label: "涓嬪崟绫诲埆",
           prop: "typeSource",
           width: "100px",
@@ -376,9 +398,9 @@
           formatData: (params) => {
             if (params == 0) {
               return "澶栬喘涓嬪崟";
-            } else if(params==1) {
+            } else if (params == 1) {
               return "鍘熸潗鏂欎笅鍗�";
-            }else{
+            } else {
               return "濮旀墭涓嬪崟";
             }
           },
@@ -532,7 +554,7 @@
                 this.getRetestResultInfo(row);
               },
               disabled: (row) => {
-                return row.insResult!=0
+                return row.insResult != 0
               },
             },
             {
@@ -665,7 +687,7 @@
     },
     // 涓嬭浇鎶ュ憡
     download(row) {
-      let url = (row.urlS===null||row.urlS==='')?row.url:row.urlS
+      let url = (row.urlS === null || row.urlS === '') ? row.url : row.urlS
       const link = document.createElement('a');
       link.href = this.javaApi + url;
       link.target = '_blank';
@@ -699,7 +721,7 @@
         fileName = row.tempUrlPdf
         fileType = "pdf"
       }
-      fileName = fileName.replace('/word/','')
+      fileName = fileName.replace('/word/', '')
       const userName = this.nickName
       this.option = {
         url: this.javaApi + "/word/" + fileName,
@@ -747,7 +769,7 @@
     },
     handleTab(m, i) {
       this.tabIndex = i;
-      this.typeSource =m.value;
+      this.typeSource = m.value;
       this.queryParams.sonLaboratory = "";
       this.refreshTable();
     },
@@ -915,13 +937,13 @@
       });
     },
     // 鏌ョ湅涓嶅悎鏍煎娴嬬粨鏋�
-    getRetestResultInfo (row) {
-      getRetestResult({insProductId: row.insProductId}).then(res => {
+    getRetestResultInfo(row) {
+      getRetestResult({ insProductId: row.insProductId }).then(res => {
         this.retestVisible = true
         this.retestInfo = res.data
       })
     },
-    closeRetestLook () {
+    closeRetestLook() {
       this.retestVisible = false
     },
     // 缁戝畾妫�楠岄」缁戝畾
@@ -990,7 +1012,7 @@
         });
       });
     },
-    beforeUpload (file) {
+    beforeUpload(file) {
       if (file.size > 1024 * 1024 * 10) {
         this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
         this.$refs.upload.clearFiles()
@@ -1061,6 +1083,7 @@
   border-color: #3a7bfa;
   color: #3a7bfa;
 }
+
 .center-options {
   display: flex;
   align-items: center;
diff --git a/src/views/business/materialOrder/index.vue b/src/views/business/materialOrder/index.vue
index 8c4152a..e84a6a3 100644
--- a/src/views/business/materialOrder/index.vue
+++ b/src/views/business/materialOrder/index.vue
@@ -3,66 +3,87 @@
     <div>
       <div class="search">
         <el-form :model="entity" ref="entity" size="small" :inline="true">
+
           <el-form-item label="鎵瑰彿" prop="updateBatchNo">
             <el-input v-model="entity.updateBatchNo" clearable placeholder="璇疯緭鍏�" size="small"
               @keyup.enter.native="goSearch">
             </el-input>
           </el-form-item>
+
           <el-form-item label="濮旀墭缂栧彿" prop="entrustCode" v-if="tabIndex !== 0">
             <el-input v-model="entity.entrustCode" clearable placeholder="璇疯緭鍏�" size="small"
               @keyup.enter.native="goSearch">
             </el-input>
           </el-form-item>
+
           <el-form-item label="闆朵欢鍙�" prop="partNo">
-            <el-input v-model="entity.partNo" clearable placeholder="璇疯緭鍏�" size="small"
-              @keyup.enter.native="goSearch">
+            <el-input v-model="entity.partNo" clearable placeholder="璇疯緭鍏�" size="small" @keyup.enter.native="goSearch">
             </el-input>
           </el-form-item>
+
           <el-form-item label="闆朵欢鎻忚堪" prop="partDesc">
-            <el-input v-model="entity.partDesc" clearable placeholder="璇疯緭鍏�" size="small"
-              @keyup.enter.native="goSearch">
+            <el-input v-model="entity.partDesc" clearable placeholder="璇疯緭鍏�" size="small" @keyup.enter.native="goSearch">
             </el-input>
           </el-form-item>
+
+          <el-form-item label="鐗╂枡灞炴��" prop="materialProp">
+            <el-select clearable size="small" v-model="entity.materialProp" style="width: 100%">
+              <el-option v-for="dict in dict.type.material_prop_type" :key="dict.value" :label="dict.label"
+                :value="dict.value"">
+              </el-option>
+            </el-select>
+          </el-form-item>
+
           <el-form-item>
             <el-button v-if="tabIndex === 2 || tabIndex === 3 || tabIndex === 4"
-              :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3A7BFA;" type="text"
-              @click="more = !more">{{ !more ? '鏇村' : '鏀惰捣' }}</el-button>
-            <el-button size="mini" type="primary" @click="goSearch">鏌ヨ</el-button>
-            <el-button size="mini" @click="refresh()">閲嶇疆</el-button>
+                :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3A7BFA;" type="text"
+                @click="more = !more">{{ !more ? '鏇村' : '鏀惰捣' }}</el-button>
+                <el-button size="mini" type="primary" @click="goSearch">鏌ヨ</el-button>
+                <el-button size="mini" @click="refresh()">閲嶇疆</el-button>
           </el-form-item>
+
           <el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName"
             v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
             <el-input v-model="entity.supplierName" clearable placeholder="璇疯緭鍏�" size="small"
               @keyup.enter.native="goSearch">
             </el-input>
           </el-form-item>
+
           <el-form-item label="鏍峰搧鍨嬪彿" prop="sampleModel"
             v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
             <el-input v-model="entity.sampleModel" clearable placeholder="璇疯緭鍏�" size="small"
               @keyup.enter.native="goSearch">
             </el-input>
           </el-form-item>
+
           <el-form-item label="妫�楠岀姸鎬�" prop="inspectStatus"
             v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
             <el-select v-model="entity.inspectStatus" clearable size="small" @change="goSearch">
               <el-option v-for="(a, i) in inspectStatusList" :key="i" :label="a.label" :value="a.value"></el-option>
             </el-select>
           </el-form-item>
+
           <el-form-item label="涓嬪彂鏃堕棿" prop="date" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
-            <el-date-picker v-model="entity.date" end-placeholder="缁撴潫鏃ユ湡" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" @change="goSearch"
-              range-separator="鑷�" size="small" start-placeholder="寮�濮嬫棩鏈�" type="daterange" value-format="yyyy-MM-dd">
+            <el-date-picker v-model="entity.date" end-placeholder="缁撴潫鏃ユ湡" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡"
+              @change="goSearch" range-separator="鑷�" size="small" start-placeholder="寮�濮嬫棩鏈�" type="daterange"
+              value-format="yyyy-MM-dd">
             </el-date-picker>
           </el-form-item>
+
         </el-form>
       </div>
       <div class="table">
         <div class="table-tab">
           <div>
             <ul class="tab">
-              <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:raw:await'])" @click="handleTab(0)">寰呬笅鍗�</li>
-              <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:raw:testing'])" @click="handleTab(1)">妫�楠屼腑</li>
-              <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:raw:check'])" @click="handleTab(2)">宸叉楠�</li>
-              <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:raw:quarterCheck'])" @click="handleTab(4)">瀛e害妫�楠�</li>
+              <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:raw:await'])" @click="handleTab(0)">寰呬笅鍗�
+              </li>
+              <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:raw:testing'])" @click="handleTab(1)">妫�楠屼腑
+              </li>
+              <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:raw:check'])" @click="handleTab(2)">宸叉楠�
+              </li>
+              <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:raw:quarterCheck'])" @click="handleTab(4)">
+                瀛e害妫�楠�</li>
               <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:Ifs:ByAll'])" @click="handleTab(3)">鍏ㄩ儴</li>
             </ul>
           </div>
@@ -76,8 +97,8 @@
         <!--寰呬笅鍗�-->
         <div class="table">
           <lims-table :tableData="tableData" :column="column" v-if="tabIndex === 0" @pagination="pagination"
-                      ref="tableData" :rowClassName="changeRowClass" :height="'calc(100vh - 290px)'"
-                      key="tableData" :page="page" :tableLoading="tableLoading"></lims-table>
+            ref="tableData" :rowClassName="changeRowClass" :height="'calc(100vh - 290px)'" key="tableData" :page="page"
+            :tableLoading="tableLoading"></lims-table>
         </div>
         <!--妫�楠屼腑-->
         <div class="table">
@@ -121,7 +142,7 @@
     <!-- 鎾ら攢鎶ユ -->
     <el-dialog :visible.sync="declareDialogVisible" title="鎶ユ鎾ら攢" width="30%">
       <p style="font-size:16px;color:#333333">鎵瑰彿<span style="color:#34BD66">{{ this.insOrderRow.updateBatchNo
-          }}</span>鐨勪俊鎭槸鍚�<span style="color: #FF4902">鎾ら攢鎶ユ</span>
+      }}</span>鐨勪俊鎭槸鍚�<span style="color: #FF4902">鎾ら攢鎶ユ</span>
       </p>
       <span slot="footer" class="dialog-footer">
         <el-row>
@@ -205,22 +226,39 @@
   getOrderCountByIfsId
 } from "@/api/business/rawMaterialOrder";
 import { getWarehouseSubmit } from "@/api/business/materialInspection";
-import {mapGetters} from "vuex";
+import { mapGetters } from "vuex";
 // import Inspection from "../do/b1-inspect-order-plan/Inspection.vue";
 
 export default {
   name: "MaterialOrder",
   // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
   components: { limsTable, DownFileDialog, FilesLookVisible, DataLookVisible, ShowInfo, PrintDialog },
+  dicts: ['material_prop_type'],
   data() {
     // 杩欓噷瀛樻斁鏁版嵁
     return {
+      materialProps: [],
       tableData: [],
       tableLoading: false,
       column: [
         { label: '鎵瑰彿', prop: 'updateBatchNo' },
         { label: '闆朵欢鍙�', prop: 'partNo' },
         { label: '闆朵欢鎻忚堪', prop: 'partDesc' },
+        {
+          label: '鐗╂枡灞炴��',
+          prop: 'materialProp',
+          formatData: (params) => {
+            if (!params) return null
+
+            for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+              const item = this.dict.type.material_prop_type[i]
+              if (item.value == params) {
+                return item.label
+              }
+            }
+            return null
+          }
+        },
         {
           dataType: 'tag',
           label: '鐗╂枡绫诲瀷',
@@ -301,6 +339,21 @@
         { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
         { label: '妫�楠屼汉', prop: 'userName' },
         { label: '涓嬪彂鏃堕棿', prop: 'sendTime' },
+        {
+          label: '鐗╂枡灞炴��',
+          prop: 'materialProp',
+          formatData: (params) => {
+            if (!params) return null
+
+            for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+              const item = this.dict.type.material_prop_type[i]
+              if (item.value == params) {
+                return item.label
+              }
+            }
+            return null
+          }
+        },
         {
           dataType: 'tag',
           label: '鐗╂枡绫诲瀷',
@@ -441,6 +494,21 @@
         { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
         { label: '妫�楠屼汉', prop: 'userName' },
         {
+          label: '鐗╂枡灞炴��',
+          prop: 'materialProp',
+          formatData: (params) => {
+            if (!params) return null
+
+            for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+              const item = this.dict.type.material_prop_type[i]
+              if (item.value == params) {
+                return item.label
+              }
+            }
+            return null
+          }
+        },
+        {
           dataType: 'tag',
           label: '鐗╂枡绫诲瀷',
           prop: 'isExpire',
@@ -554,7 +622,7 @@
       tableData3: [],
       tableLoading3: false,
       column3: [
-        { label: '濮旀墭缂栧彿', prop: 'entrustCode',width: "160px", },
+        { label: '濮旀墭缂栧彿', prop: 'entrustCode', width: "160px", },
         {
           dataType: 'tag',
           label: '妫�楠岀姸鎬�',
@@ -626,6 +694,21 @@
         },
         { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
         { label: '妫�楠屼汉', prop: 'userName' },
+        {
+          label: '鐗╂枡灞炴��',
+          prop: 'materialProp',
+          formatData: (params) => {
+            if (!params) return null
+
+            for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+              const item = this.dict.type.material_prop_type[i]
+              if (item.value == params) {
+                return item.label
+              }
+            }
+            return null
+          }
+        },
         {
           dataType: 'tag',
           label: '鐗╂枡绫诲瀷',
@@ -678,7 +761,7 @@
       tableData4: [],
       tableLoading4: false,
       column4: [
-        { label: '濮旀墭缂栧彿', prop: 'entrustCode',width: "160px", },
+        { label: '濮旀墭缂栧彿', prop: 'entrustCode', width: "160px", },
         {
           dataType: 'tag',
           label: '妫�楠岀姸鎬�',
@@ -750,6 +833,21 @@
         },
         { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
         { label: '妫�楠屼汉', prop: 'userName' },
+        {
+          label: '鐗╂枡灞炴��',
+          prop: 'materialProp',
+          formatData: (params) => {
+            if (!params) return null
+
+            for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+              const item = this.dict.type.material_prop_type[i]
+              if (item.value == params) {
+                return item.label
+              }
+            }
+            return null
+          }
+        },
         {
           dataType: 'tag',
           label: '鐗╂枡绫诲瀷',
@@ -827,6 +925,7 @@
         date: null,
         beginDeclareDate: null,
         endDeclareDate: null,
+        materialProp: null,
       },
       tabList: [
         {
@@ -903,7 +1002,7 @@
     }
     this.refreshTable()
   },
-  activated () {
+  activated() {
     this.refreshTable()
   },
   // 鏂规硶闆嗗悎
@@ -945,6 +1044,8 @@
         if (res.code === 200) {
           this.tableData = res.data.records
           this.page.total = res.data.total
+
+          console.log('data ======> ', this.tableData)
         }
       }).catch(err => {
         this.tableLoading = false
@@ -967,7 +1068,7 @@
     // 宸叉楠屾煡璇�
     getIfsByOverList() {
       this.tableLoading2 = true
-      if(null != this.entity.date){
+      if (null != this.entity.date) {
         this.entity.beginDeclareDate = this.entity.date[0]
         this.entity.endDeclareDate = this.entity.date[1]
       } else {
@@ -988,7 +1089,7 @@
     // 鏌ヨ瀛e害妫�楠�
     getIfsByQuarterList() {
       this.tableLoading4 = true
-      if(null != this.entity.date){
+      if (null != this.entity.date) {
         this.entity.beginDeclareDate = this.entity.date[0]
         this.entity.endDeclareDate = this.entity.date[1]
       } else {
@@ -1009,7 +1110,7 @@
     // 鍏ㄩ儴
     getIfsByAllList() {
       this.tableLoading3 = true
-      if(null != this.entity.date){
+      if (null != this.entity.date) {
         this.entity.beginDeclareDate = this.entity.date[0]
         this.entity.endDeclareDate = this.entity.date[1]
       } else {
@@ -1192,20 +1293,20 @@
     // 涓嬪崟
     playOrder(row) {
       //鏌ヨ褰撳墠鎵规鏄惁宸茬粡涓嬪崟
-      getOrderCountByIfsId(row.id).then(res=>{
-        if(res.code===200 && res.data>0){
+      getOrderCountByIfsId(row.id).then(res => {
+        if (res.code === 200 && res.data > 0) {
           this.$message.warning('璇ユ壒娆″凡涓嬪崟锛岃鍕块噸澶嶄笅鍗�')
           this.refreshTable('page')
           return
         }
-        this.$router.push({ path: "/materialOrder/customsInspectionOrder", query: {isOutsourcing:'f', orderType: 0, customsInspection: row, active: 1 } });
-      }).catch(error=>{
+        this.$router.push({ path: "/materialOrder/customsInspectionOrder", query: { isOutsourcing: 'f', orderType: 0, customsInspection: row, active: 1 } });
+      }).catch(error => {
         console.error(error)
       })
     },
     // 瀛e害妫�楠屼笅鍗�
     playOrderSec(row) {
-      this.$router.push({ path: "/materialOrder/customsInspectionOrder", query: {isOutsourcing:'f', orderType: 1, customsInspection: row, active: 1 } });
+      this.$router.push({ path: "/materialOrder/customsInspectionOrder", query: { isOutsourcing: 'f', orderType: 1, customsInspection: row, active: 1 } });
     },
     // 鐐瑰嚮鏍峰搧鍚嶇О鏌ョ湅璇︽儏
     selectAllByOne(row) {
@@ -1366,7 +1467,7 @@
       if (this.multipleSelection.length > 0) {
         params.ids = this.multipleSelection.map(item => item.id).join(',');
       } else {
-        params = {...this.entity}
+        params = { ...this.entity }
       }
       params.orderType = "01raw";
       rawAllExport(params).then(res => {
diff --git a/src/views/business/outsourcingFinishProduct/index.vue b/src/views/business/outsourcingFinishProduct/index.vue
index 89be8bc..1acea36 100644
--- a/src/views/business/outsourcingFinishProduct/index.vue
+++ b/src/views/business/outsourcingFinishProduct/index.vue
@@ -5,52 +5,60 @@
         <el-form :model="entity" ref="entity" size="small" :inline="true">
           <el-form-item label="鎵瑰彿" prop="updateBatchNo">
             <el-input v-model="entity.updateBatchNo" clearable placeholder="璇疯緭鍏�" size="small"
-                      @keyup.enter.native="goSearch">
+              @keyup.enter.native="goSearch">
             </el-input>
           </el-form-item>
           <el-form-item label="濮旀墭缂栧彿" prop="entrustCode" v-if="tabIndex !== 0">
             <el-input v-model="entity.entrustCode" clearable placeholder="璇疯緭鍏�" size="small"
-                      @keyup.enter.native="goSearch">
+              @keyup.enter.native="goSearch">
             </el-input>
           </el-form-item>
           <el-form-item label="闆朵欢鍙�" prop="partNo">
-            <el-input v-model="entity.partNo" clearable placeholder="璇疯緭鍏�" size="small"
-                      @keyup.enter.native="goSearch">
+            <el-input v-model="entity.partNo" clearable placeholder="璇疯緭鍏�" size="small" @keyup.enter.native="goSearch">
             </el-input>
           </el-form-item>
           <el-form-item label="闆朵欢鎻忚堪" prop="partDesc">
-            <el-input v-model="entity.partDesc" clearable placeholder="璇疯緭鍏�" size="small"
-                      @keyup.enter.native="goSearch">
+            <el-input v-model="entity.partDesc" clearable placeholder="璇疯緭鍏�" size="small" @keyup.enter.native="goSearch">
             </el-input>
           </el-form-item>
-          <el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName" >
-            <el-input v-model="entity.supplierName" clearable placeholder="璇疯緭鍏�" size="small"
-                      @keyup.enter.native="goSearch">
-            </el-input>
+
+          <el-form-item label="鐗╂枡灞炴��" prop="materialProp">
+            <el-select clearable size="small" v-model="entity.materialProp" style="width: 100%">
+              <el-option v-for="dict in dict.type.material_prop_type" :key="dict.value" :label="dict.label"
+                :value="dict.value"">
+              </el-option>
+            </el-select>
+          </el-form-item>
+
+          <el-form-item label=" 渚涘簲鍟嗗悕绉�" prop="supplierName">
+                <el-input v-model="entity.supplierName" clearable placeholder="璇疯緭鍏�" size="small"
+                  @keyup.enter.native="goSearch">
+                </el-input>
           </el-form-item>
           <el-form-item>
             <el-button v-if="tabIndex === 2 || tabIndex === 3 || tabIndex === 4"
-                       :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3A7BFA;" type="text"
-                       @click="more = !more">{{ !more ? '鏇村' : '鏀惰捣' }}</el-button>
+              :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3A7BFA;" type="text"
+              @click="more = !more">{{ !more ? '鏇村' : '鏀惰捣' }}</el-button>
             <el-button size="mini" type="primary" @click="goSearch">鏌ヨ</el-button>
             <el-button size="mini" @click="refresh()">閲嶇疆</el-button>
           </el-form-item>
 
           <el-form-item label="鏍峰搧鍨嬪彿" prop="sampleModel"
-                        v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
+            v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
             <el-input v-model="entity.sampleModel" clearable placeholder="璇疯緭鍏�" size="small"
-                      @keyup.enter.native="goSearch">
+              @keyup.enter.native="goSearch">
             </el-input>
           </el-form-item>
           <el-form-item label="妫�楠岀姸鎬�" prop="inspectStatus"
-                        v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
+            v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
             <el-select v-model="entity.inspectStatus" clearable size="small" @change="goSearch">
               <el-option v-for="(a, i) in inspectStatusList" :key="i" :label="a.label" :value="a.value"></el-option>
             </el-select>
           </el-form-item>
           <el-form-item label="涓嬪彂鏃堕棿" prop="date" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
-            <el-date-picker v-model="entity.date" end-placeholder="缁撴潫鏃ユ湡" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" @change="goSearch"
-                            range-separator="鑷�" size="small" start-placeholder="寮�濮嬫棩鏈�" type="daterange" value-format="yyyy-MM-dd">
+            <el-date-picker v-model="entity.date" end-placeholder="缁撴潫鏃ユ湡" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡"
+              @change="goSearch" range-separator="鑷�" size="small" start-placeholder="寮�濮嬫棩鏈�" type="daterange"
+              value-format="yyyy-MM-dd">
             </el-date-picker>
           </el-form-item>
         </el-form>
@@ -59,41 +67,44 @@
         <div class="table-tab">
           <div>
             <ul class="tab">
-              <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:raw:await'])" @click="handleTab(0)">寰呬笅鍗�</li>
-              <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:raw:testing'])" @click="handleTab(1)">妫�楠屼腑</li>
-              <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:raw:check'])" @click="handleTab(2)">宸叉楠�</li>
+              <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:raw:await'])" @click="handleTab(0)">寰呬笅鍗�
+              </li>
+              <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:raw:testing'])" @click="handleTab(1)">妫�楠屼腑
+              </li>
+              <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:raw:check'])" @click="handleTab(2)">宸叉楠�
+              </li>
               <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:Ifs:ByAll'])" @click="handleTab(3)">鍏ㄩ儴</li>
             </ul>
           </div>
           <div>
             <el-button v-show="tabIndex === 3" :loading="outLoading" size="small" type="primary"
-                       @click="handleOut">瀵煎嚭</el-button>
+              @click="handleOut">瀵煎嚭</el-button>
             <el-button v-if="tabIndex !== 0" size="small" type="primary" @click="openPrint">鏍囩鎵撳嵃</el-button>
           </div>
         </div>
         <!--寰呬笅鍗�-->
         <div class="table">
           <lims-table :tableData="tableData" :column="column" v-if="tabIndex === 0" @pagination="pagination"
-                      ref="tableData" :rowClassName="changeRowClass" :height="'calc(100vh - 290px)'"
-                      key="tableData" :page="page" :tableLoading="tableLoading"></lims-table>
+            ref="tableData" :rowClassName="changeRowClass" :height="'calc(100vh - 290px)'" key="tableData" :page="page"
+            :tableLoading="tableLoading"></lims-table>
         </div>
         <!--妫�楠屼腑-->
         <div class="table">
           <lims-table :tableData="tableData1" :column="column1" v-if="tabIndex === 1" :isSelection="true"
-                      :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination1"
-                      :height="'calc(100vh - 290px)'" key="tableData1" :page="page1" :tableLoading="tableLoading1"></lims-table>
+            :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination1"
+            :height="'calc(100vh - 290px)'" key="tableData1" :page="page1" :tableLoading="tableLoading1"></lims-table>
         </div>
         <!--宸叉楠�-->
         <div class="table">
           <lims-table :tableData="tableData2" :column="column2" v-if="tabIndex === 2" :isSelection="true"
-                      :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination2"
-                      :height="'calc(100vh - 290px)'" key="tableData2" :page="page2" :tableLoading="tableLoading2"></lims-table>
+            :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination2"
+            :height="'calc(100vh - 290px)'" key="tableData2" :page="page2" :tableLoading="tableLoading2"></lims-table>
         </div>
         <!--鍏ㄩ儴-->
         <div class="table">
           <lims-table :tableData="tableData3" :column="column3" v-if="tabIndex === 3" :isSelection="true"
-                      :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination3"
-                      :height="'calc(100vh - 290px)'" key="tableData3" :page="page3" :tableLoading="tableLoading3"></lims-table>
+            :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination3"
+            :height="'calc(100vh - 290px)'" key="tableData3" :page="page3" :tableLoading="tableLoading3"></lims-table>
         </div>
       </div>
     </div>
@@ -113,7 +124,7 @@
     <!-- 鎾ら攢鎶ユ -->
     <el-dialog :visible.sync="declareDialogVisible" title="鎶ユ鎾ら攢" width="30%">
       <p style="font-size:16px;color:#333333">鎵瑰彿<span style="color:#34BD66">{{ this.insOrderRow.updateBatchNo
-        }}</span>鐨勪俊鎭槸鍚�<span style="color: #FF4902">鎾ら攢鎶ユ</span>
+      }}</span>鐨勪俊鎭槸鍚�<span style="color: #FF4902">鎾ら攢鎶ユ</span>
       </p>
       <span slot="footer" class="dialog-footer">
         <el-row>
@@ -142,17 +153,17 @@
     </el-dialog>
     <!--鏍囩鎵撳嵃寮规-->
     <print-dialog v-if="printDialog" ref="printDialog" :printDialog="printDialog"
-                  @closePrintDialog="closePrintDialog"></print-dialog>
+      @closePrintDialog="closePrintDialog"></print-dialog>
     <!--鏁版嵁鏌ョ湅寮规-->
     <data-look-visible v-if="dataDialogVisible" ref="dataDialogVisible" :dataDialogVisible="dataDialogVisible"
-                       :dataLookInfo="dataLookInfo" @closeDataLook="closeDataLook"></data-look-visible>
+      :dataLookInfo="dataLookInfo" @closeDataLook="closeDataLook"></data-look-visible>
     <!--闄勪欢鏌ョ湅寮规-->
     <files-look-visible v-if="filesDialogVisible" ref="filesDialogVisible" :filesDialogVisible="filesDialogVisible"
-                        :filesLookInfo="filesLookInfo" @closeFilesLook="closeFilesLook"></files-look-visible>
+      :filesLookInfo="filesLookInfo" @closeFilesLook="closeFilesLook"></files-look-visible>
     <!--鎶ュ憡涓嬭浇寮规-->
     <down-file-dialog v-if="downFileDialogVisible" ref="downFileDialogVisible"
-                      :downFileDialogVisible="downFileDialogVisible" :downLoadInfo="downLoadInfo"
-                      @closeDownFileDialog="closeDownFileDialog"></down-file-dialog>
+      :downFileDialogVisible="downFileDialogVisible" :downLoadInfo="downLoadInfo"
+      @closeDownFileDialog="closeDownFileDialog"></down-file-dialog>
     <!--浜т笟閾句俊鎭煡鐪�-->
     <ShowInfo v-if="showInfoDialog" ref="showInfoDialog" :showInfoDialog="showInfoDialog"></ShowInfo>
     <!--妫�楠屼换鍔′俊鎭煡鐪�-->
@@ -160,12 +171,12 @@
       <div style="margin-bottom: 8px">
         <span style="font-size: 16px;">杩涘巶妫�楠屽師濮嬫暟鎹�</span>
         <el-link :disabled="!insInfo.enterOrderId" :underline="false" style="vertical-align: bottom;margin-left: 6px"
-                 type="primary" @click="viewInsInfo0">鏌ョ湅</el-link>
+          type="primary" @click="viewInsInfo0">鏌ョ湅</el-link>
       </div>
       <div>
         <span style="font-size: 16px;">瀛e害妫�楠屽師濮嬫暟鎹�</span>
         <el-link :disabled="!insInfo.quarterOrderId" :underline="false" style="vertical-align: bottom;margin-left: 6px"
-                 type="primary" @click="viewInsInfo1">鏌ョ湅</el-link>
+          type="primary" @click="viewInsInfo1">鏌ョ湅</el-link>
       </div>
     </el-dialog>
     <!--    <Inspection v-if="state>0" :key="InspectionKey" :inspectorList="inspectorList" :orderId="orderId"-->
@@ -192,13 +203,14 @@
   revokeInspectionReport,
   updateEntrustCode
 } from "@/api/business/rawMaterialOrder";
-import {getWarehouseSubmit,getIfsByStateOne,getIfsByOver,getIfsByAll} from "@/api/business/outsourcingFinishProductInspection";
-import {mapGetters} from "vuex";
+import { getWarehouseSubmit, getIfsByStateOne, getIfsByOver, getIfsByAll } from "@/api/business/outsourcingFinishProductInspection";
+import { mapGetters } from "vuex";
 
 export default {
   name: "MaterialOrder",
   // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
   components: { limsTable, DownFileDialog, FilesLookVisible, DataLookVisible, ShowInfo, PrintDialog },
+  dicts: ['material_prop_type'],
   data() {
     // 杩欓噷瀛樻斁鏁版嵁
     return {
@@ -208,6 +220,21 @@
         { label: '鎵瑰彿', prop: 'updateBatchNo' },
         { label: '闆朵欢鍙�', prop: 'partNo' },
         { label: '闆朵欢鎻忚堪', prop: 'partDesc' },
+        {
+          label: '鐗╂枡灞炴��',
+          prop: 'materialProp',
+          formatData: (params) => {
+            if (!params) return null
+
+            for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+              const item = this.dict.type.material_prop_type[i]
+              if (item.value == params) {
+                return item.label
+              }
+            }
+            return null
+          }
+        },
         {
           dataType: 'tag',
           label: '鐗╂枡绫诲瀷',
@@ -227,7 +254,7 @@
             }
           }
         },
-        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore',width: '130px' },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore', width: '130px' },
         { label: '鍗曚綅', prop: 'buyUnitMeas' },
         { label: '璁㈠崟鍙�', prop: 'orderNo' },
         { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
@@ -289,6 +316,51 @@
         { label: '妫�楠屼汉', prop: 'userName' },
         { label: '涓嬪彂鏃堕棿', prop: 'sendTime' },
         {
+          label: '鐗╂枡灞炴��',
+          prop: 'materialProp',
+          formatData: (params) => {
+            if (!params) return null
+
+            for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+              const item = this.dict.type.material_prop_type[i]
+              if (item.value == params) {
+                return item.label
+              }
+            }
+            return null
+          }
+        },
+        {
+          label: '鐗╂枡灞炴��',
+          prop: 'materialProp',
+          formatData: (params) => {
+            if (!params) return null
+
+            for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+              const item = this.dict.type.material_prop_type[i]
+              if (item.value == params) {
+                return item.label
+              }
+            }
+            return null
+          }
+        },
+        {
+          label: '鐗╂枡灞炴��',
+          prop: 'materialProp',
+          formatData: (params) => {
+            if (!params) return null
+
+            for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+              const item = this.dict.type.material_prop_type[i]
+              if (item.value == params) {
+                return item.label
+              }
+            }
+            return null
+          }
+        },
+        {
           dataType: 'tag',
           label: '鐗╂枡绫诲瀷',
           prop: 'isExpire',
@@ -307,7 +379,7 @@
             }
           }
         },
-        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore',width: '130px' },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore', width: '130px' },
         { label: '鍗曚綅', prop: 'buyUnitMeas' },
         { label: '璁㈠崟鍙�', prop: 'orderNo' },
         { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
@@ -392,7 +464,7 @@
           }
         },
         { label: '璁㈠崟鍙�', prop: 'orderNo' },
-        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore',width: '130px' },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore', width: '130px' },
         { label: '涓嬪彂鏃堕棿', prop: 'sendTime' },
         { label: '鎵瑰彿', prop: 'updateBatchNo' },
         { label: '闆朵欢鍙�', prop: 'partNo' },
@@ -428,22 +500,18 @@
         { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
         { label: '妫�楠屼汉', prop: 'userName' },
         {
-          dataType: 'tag',
-          label: '鐗╂枡绫诲瀷',
-          prop: 'isExpire',
+          label: '鐗╂枡灞炴��',
+          prop: 'materialProp',
           formatData: (params) => {
-            if (params == 1) {
-              return '杩囨湡鐗╂枡'
-            } else {
-              return null
+            if (!params) return null
+
+            for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+              const item = this.dict.type.material_prop_type[i]
+              if (item.value == params) {
+                return item.label
+              }
             }
-          },
-          formatType: (params) => {
-            if (params == 1) {
-              return 'info'
-            } else {
-              return null
-            }
+            return null
           }
         },
         { label: '鍗曚綅', prop: 'buyUnitMeas' },
@@ -526,7 +594,7 @@
       tableData3: [],
       tableLoading3: false,
       column3: [
-        { label: '濮旀墭缂栧彿', prop: 'entrustCode',width: "160px", },
+        { label: '濮旀墭缂栧彿', prop: 'entrustCode', width: "160px", },
         {
           dataType: 'tag',
           label: '妫�楠岀姸鎬�',
@@ -563,7 +631,7 @@
           }
         },
         { label: '璁㈠崟鍙�', prop: 'orderNo' },
-        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore',width: '130px' },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore', width: '130px' },
         { label: '涓嬪彂鏃堕棿', prop: 'sendTime' },
         { label: '鎵瑰彿', prop: 'updateBatchNo' },
         { label: '闆朵欢鍙�', prop: 'partNo' },
@@ -598,6 +666,36 @@
         },
         { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
         { label: '妫�楠屼汉', prop: 'userName' },
+        {
+          label: '鐗╂枡灞炴��',
+          prop: 'materialProp',
+          formatData: (params) => {
+            if (!params) return null
+
+            for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+              const item = this.dict.type.material_prop_type[i]
+              if (item.value == params) {
+                return item.label
+              }
+            }
+            return null
+          }
+        },
+        {
+          label: '鐗╂枡灞炴��',
+          prop: 'materialProp',
+          formatData: (params) => {
+            if (!params) return null
+
+            for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+              const item = this.dict.type.material_prop_type[i]
+              if (item.value == params) {
+                return item.label
+              }
+            }
+            return null
+          }
+        },
         {
           dataType: 'tag',
           label: '鐗╂枡绫诲瀷',
@@ -658,6 +756,7 @@
         date: null,
         beginDeclareDate: null,
         endDeclareDate: null,
+        materialProp: null
       },
       tabList: [
         {
@@ -734,7 +833,7 @@
     }
     this.refreshTable()
   },
-  activated () {
+  activated() {
     this.refreshTable()
   },
   // 鏂规硶闆嗗悎
@@ -797,7 +896,7 @@
     // 宸叉楠屾煡璇�
     getIfsByOverList() {
       this.tableLoading2 = true
-      if(null != this.entity.date){
+      if (null != this.entity.date) {
         this.entity.beginDeclareDate = this.entity.date[0]
         this.entity.endDeclareDate = this.entity.date[1]
       } else {
@@ -818,7 +917,7 @@
     // 鏌ヨ瀛e害妫�楠�
     getIfsByQuarterList() {
       this.tableLoading4 = true
-      if(null != this.entity.date){
+      if (null != this.entity.date) {
         this.entity.beginDeclareDate = this.entity.date[0]
         this.entity.endDeclareDate = this.entity.date[1]
       } else {
@@ -839,7 +938,7 @@
     // 鍏ㄩ儴
     getIfsByAllList() {
       this.tableLoading3 = true
-      if(null != this.entity.date){
+      if (null != this.entity.date) {
         this.entity.beginDeclareDate = this.entity.date[0]
         this.entity.endDeclareDate = this.entity.date[1]
       } else {
@@ -1021,7 +1120,7 @@
     },
     // 涓嬪崟
     playOrder(row) {
-      this.$router.push({ path: "/outsourcingFinishProduct/customsInspectionOrder", query: {isOutsourcing:'t', orderType: 0, customsInspection: row, active: 1 } });
+      this.$router.push({ path: "/outsourcingFinishProduct/customsInspectionOrder", query: { isOutsourcing: 't', orderType: 0, customsInspection: row, active: 1 } });
     },
     // 鐐瑰嚮鏍峰搧鍚嶇О鏌ョ湅璇︽儏
     selectAllByOne(row) {
@@ -1182,7 +1281,7 @@
       if (this.multipleSelection.length > 0) {
         params.ids = this.multipleSelection.map(item => item.id).join(',');
       } else {
-        params = {...this.entity}
+        params = { ...this.entity }
       }
       params.orderType = "02wg";
       rawAllExport(params).then(res => {
diff --git a/src/views/business/reportPreparation/index.vue b/src/views/business/reportPreparation/index.vue
index ad48bbb..a468a76 100644
--- a/src/views/business/reportPreparation/index.vue
+++ b/src/views/business/reportPreparation/index.vue
@@ -4,7 +4,7 @@
       <el-form :model="entity" ref="entity" size="small" :inline="true">
         <el-form-item label="鎵瑰彿" prop="updateBatchNo">
           <el-input v-model="entity.updateBatchNo" clearable placeholder="璇疯緭鍏�" size="small"
-                    @keyup.enter.native="refreshTable()">
+            @keyup.enter.native="refreshTable()">
           </el-input>
         </el-form-item>
         <el-form-item label="鎶ュ憡缂栧彿" prop="code">
@@ -21,19 +21,28 @@
             <el-option v-for="(a, i) in typeSourceList" :key="i" :label="a.label" :value="a.value"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="妫�楠岀被鍒�" prop="orderType">
-          <el-select v-model="entity.orderType" clearable size="small" @change="refreshTable()">
-            <el-option v-for="(a, i) in orderTypeList" :key="i" :label="a.label" :value="a.value"></el-option>
-          </el-select>
+
+        <el-form-item label="鐗╂枡灞炴��" prop="materialProp">
+          <el-select clearable size="small" v-model="entity.materialProp" style="width: 100%">
+            <el-option v-for="dict in dict.type.material_prop_type" :key="dict.value" :label="dict.label"
+              :value="dict.value"">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          
+        <el-form-item label=" 妫�楠岀被鍒�" prop="orderType">
+              <el-select v-model="entity.orderType" clearable size="small" @change="refreshTable()">
+                <el-option v-for="(a, i) in orderTypeList" :key="i" :label="a.label" :value="a.value"></el-option>
+              </el-select>
         </el-form-item>
-        <el-form-item label="闆朵欢鎻忚堪" prop="partDesc" >
+        <el-form-item label="闆朵欢鎻忚堪" prop="partDesc">
           <el-input v-model="entity.partDesc" clearable placeholder="璇疯緭鍏�" size="small"
-                    @keyup.enter.native="refreshTable">
+            @keyup.enter.native="refreshTable">
           </el-input>
         </el-form-item>
-        <el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName" >
+        <el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName">
           <el-input v-model="entity.supplierName" clearable placeholder="璇疯緭鍏�" size="small"
-                    @keyup.enter.native="refreshTable">
+            @keyup.enter.native="refreshTable">
           </el-input>
         </el-form-item>
         <el-form-item>
@@ -202,8 +211,8 @@
           <el-button size="small" style="height: 38px" type="primary">闄勪欢涓婁紶</el-button>
         </el-upload>
       </div>
-      <lims-table :tableData="tableDataFile" :column="columnFile" height="600px"
-        key="tableDataFile" :tableLoading="tableLoadingFile"></lims-table>
+      <lims-table :tableData="tableDataFile" :column="columnFile" height="600px" key="tableDataFile"
+        :tableLoading="tableLoadingFile"></lims-table>
     </el-dialog>
   </div>
 </template>
@@ -224,10 +233,11 @@
 import { mapGetters } from "vuex";
 import { selectUserCondition } from "@/api/business/inspectionTask";
 import limsTable from "@/components/Table/lims-table.vue";
-import {delFile, downFile, getFileList} from "@/api/business/rawMaterialOrder";
+import { delFile, downFile, getFileList } from "@/api/business/rawMaterialOrder";
 export default {
   name: 'ReportPreparation',
   components: { limsTable, onlyoffice },
+  dicts: ['material_prop_type'],
   data() {
     return {
       entity: {
@@ -235,6 +245,7 @@
         code: null,
         typeSource: null,
         orderType: null,
+        materialProp: null
       },
       page: {
         current: 1,
@@ -385,12 +396,27 @@
           formatData: (params) => {
             if (params == 0) {
               return "澶栬喘涓嬪崟";
-            } else if(params==1) {
+            } else if (params == 1) {
               return "鍘熸潗鏂欎笅鍗�";
-            }else{
+            } else {
               return "濮旀墭涓嬪崟";
             }
           },
+        },
+        {
+          label: '鐗╂枡灞炴��',
+          prop: 'materialProp',
+          formatData: (params) => {
+            if (!params) return null
+
+            for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+              const item = this.dict.type.material_prop_type[i]
+              if (item.value == params) {
+                return item.label
+              }
+            }
+            return null
+          }
         },
         {
           label: "妫�楠岀被鍨�",
@@ -558,7 +584,7 @@
     // 鏌ヨ闄勪欢鏌ョ湅鍒楄〃鍥炶皟
     getFileList() {
       this.tableLoadingFile = true
-      getFileList({ insOrderId: this.filesLookInfo.insOrderId,current: -1, size: -1 }).then(res => {
+      getFileList({ insOrderId: this.filesLookInfo.insOrderId, current: -1, size: -1 }).then(res => {
         this.tableLoadingFile = false
         if (res.code === 200) {
           this.tableDataFile = res.data.records

--
Gitblit v1.9.3