From f6427b5dea54bbb8761fade351e9f86404b2fb61 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期一, 30 三月 2026 10:22:59 +0800
Subject: [PATCH] fix: 规格型号搜索

---
 src/pages/qualityManagement/rawMaterial/index.vue |   58 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 49 insertions(+), 9 deletions(-)

diff --git a/src/pages/qualityManagement/rawMaterial/index.vue b/src/pages/qualityManagement/rawMaterial/index.vue
index 99abfeb..eb8c374 100644
--- a/src/pages/qualityManagement/rawMaterial/index.vue
+++ b/src/pages/qualityManagement/rawMaterial/index.vue
@@ -1,6 +1,6 @@
 <template>
   <view class="raw-material-page">
-    <PageHeader title="鍘熸潗鏂�" @back="goBack" />
+    <PageHeader title="妫�娴嬪寲楠�" @back="goBack" />
     
     <!-- 鎼滅储涓庣瓫閫� -->
     <view class="search-section">
@@ -31,11 +31,17 @@
       <view v-for="(item, index) in tableData" :key="index" class="list-item">
         <view class="item-header">
           <text class="product-name">{{ item.productName }}</text>
-          <up-tag
-            :text="item.inspectState == 1 ? '宸叉彁浜�' : '鏈彁浜�'"
-            :type="item.inspectState == 1 ? 'success' : 'warning'"
-            size="mini"
-          ></up-tag>
+          <view class="item-header-right">
+            <up-tag
+              :text="item.inspectState == 1 ? '宸叉彁浜�' : '鏈彁浜�'"
+              :type="item.inspectState == 1 ? 'success' : 'warning'"
+              size="mini"
+            ></up-tag>
+            <view class="file-entry" @click.stop="openFiles(item)">
+              <up-icon name="file-text" size="16" color="#606266"></up-icon>
+              <text class="file-entry-text">闄勪欢</text>
+            </view>
+          </view>
         </view>
         <view class="item-content">
           <view class="item-row">
@@ -60,10 +66,10 @@
           </view>
         </view>
         <view class="item-actions">
-          <up-button v-if="item.inspectState != 1" type="primary" size="mini" @click.stop="openForm('edit', item)">缂栬緫</up-button>
-          <up-button type="info" size="mini" @click.stop="openFiles(item)">闄勪欢</up-button>
+          <up-button v-if="item.inspectState != 1||hasRawCancel" type="primary" size="mini" @click.stop="openForm('edit', item)">缂栬緫</up-button>
+          <up-button type="warning" size="mini" @click.stop="openDetail(item)">璇︽儏</up-button>
           <up-button v-if="item.inspectState != 1" type="success" size="mini" @click.stop="handleConfirmSubmit(item)">鎻愪氦</up-button>
-          <up-button type="error" size="mini" @click.stop="handleDelete(item)">鍒犻櫎</up-button>
+          <up-button v-if="hasRawCancel" type="error" size="mini" @click.stop="handleDelete(item)">鍒犻櫎</up-button>
         </view>
       </view>
       <view class="pagination-container">
@@ -110,8 +116,10 @@
 } from '@/api/qualityManagement/rawMaterial.js';
 import { toast, showConfirm } from '@/utils/common';
 import useUserStore from '@/store/modules/user';
+import { checkPermi } from '@/utils/permission';
 
 const userStore = useUserStore();
+const hasRawCancel = computed(() => checkPermi(['raw_cancel']));
 
 const searchForm = reactive({
   batchNo: '',
@@ -201,11 +209,20 @@
 };
 
 const openForm = (type, item) => {
+  // if (type === 'edit' && !hasRawEdit.value) return
   const id = item?.id
   uni.navigateTo({
     url: `/pages/qualityManagement/rawMaterial/form?type=${type}${id ? `&id=${id}` : ''}`
   })
 };
+
+const openDetail = (item) => {
+  const id = item?.id
+  if (!id) return
+  uni.navigateTo({
+    url: `/pages/qualityManagement/rawMaterial/form?type=detail&id=${id}`
+  })
+}
 
 const handleConfirmSubmit = (row) => {
   showConfirm('纭鎻愪氦璇ユ楠岃褰曞悧锛�').then(res => {
@@ -219,6 +236,7 @@
 };
 
 const handleDelete = (row) => {
+  if (!hasRawCancel.value) return
   showConfirm('纭鍒犻櫎璇ヨ褰曞悧锛�').then(res => {
     if (res.confirm) {
       // 瀵归綈 PC 绔細鍒犻櫎鎺ュ彛鎺ユ敹 id 鏁扮粍
@@ -300,6 +318,28 @@
   margin-bottom: 20rpx;
 }
 
+.item-header-right {
+  display: flex;
+  align-items: center;
+  gap: 16rpx;
+}
+
+.file-entry {
+  display: inline-flex;
+  align-items: center;
+  gap: 8rpx;
+  padding: 8rpx 16rpx;
+  border-radius: 999rpx;
+  background: #f2f6fc;
+  border: 1rpx solid #ebeef5;
+}
+
+.file-entry-text {
+  font-size: 24rpx;
+  color: #606266;
+  line-height: 1;
+}
+
 .product-name {
   font-size: 30rpx;
   font-weight: bold;

--
Gitblit v1.9.3