From ea7c19b7bfd7a5260fa321579e6941f28ef2eb46 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 27 八月 2026 11:36:30 +0800
Subject: [PATCH] fix(order): 解决实验室字段必填验证和数据源问题

---
 src/views/business/outsourcingFinishProduct/index.vue |   91 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 80 insertions(+), 11 deletions(-)

diff --git a/src/views/business/outsourcingFinishProduct/index.vue b/src/views/business/outsourcingFinishProduct/index.vue
index 89be8bc..bf25bd4 100644
--- a/src/views/business/outsourcingFinishProduct/index.vue
+++ b/src/views/business/outsourcingFinishProduct/index.vue
@@ -23,19 +23,18 @@
                       @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 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>
-            <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">
             <el-input v-model="entity.sampleModel" clearable placeholder="璇疯緭鍏�" size="small"
@@ -49,9 +48,17 @@
             </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 HH:mm:ss" placeholder="閫夋嫨鏃ユ湡" @change="goSearch"
+                            :default-time="['00:00:00','23:59:59']"
+                            range-separator="鑷�" size="small" start-placeholder="寮�濮嬫棩鏈�" type="daterange" value-format="yyyy-MM-dd HH:mm:ss">
             </el-date-picker>
+          </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>
           </el-form-item>
         </el-form>
       </div>
@@ -176,7 +183,7 @@
 </template>
 
 <script>
-import PrintDialog from "@/views/business/materialOrderComponents/materialOrder/printDialog.vue";
+import PrintDialog from "@/views/business/outsourcingFinishProduct/components/printDialog.vue";
 import ShowInfo from "@/views/business/materialOrderComponents/materialOrder/showInfo.vue";
 import DataLookVisible from "@/views/business/materialOrderComponents/materialOrder/dataLookVisible.vue";
 import FilesLookVisible from "@/views/business/materialOrderComponents/materialOrder/filesLookVisible.vue";
@@ -197,6 +204,7 @@
 
 export default {
   name: "MaterialOrder",
+  dicts: ['material_prop_type'],
   // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
   components: { limsTable, DownFileDialog, FilesLookVisible, DataLookVisible, ShowInfo, PrintDialog },
   data() {
@@ -208,6 +216,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: '鐗╂枡绫诲瀷',
@@ -288,6 +311,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: '鐗╂枡绫诲瀷',
@@ -427,6 +465,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: '鐗╂枡绫诲瀷',
@@ -599,6 +652,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',
@@ -658,6 +726,7 @@
         date: null,
         beginDeclareDate: null,
         endDeclareDate: null,
+        materialProp: null
       },
       tabList: [
         {

--
Gitblit v1.9.3