From bc5cab0770963c2ae0f54cbceadb5cc42780879a Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 24 三月 2026 14:20:52 +0800
Subject: [PATCH] fix: 仓储物流日期筛选有问题,耗材物料没有日期筛选框

---
 src/pages/qualityManagement/nonconformingManagement/index.vue |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/src/pages/qualityManagement/nonconformingManagement/index.vue b/src/pages/qualityManagement/nonconformingManagement/index.vue
index a7e49be..ca100c8 100644
--- a/src/pages/qualityManagement/nonconformingManagement/index.vue
+++ b/src/pages/qualityManagement/nonconformingManagement/index.vue
@@ -54,8 +54,8 @@
           </view>
           <view class="card-actions">
             <view class="btn-link btn-link-primary" v-if="item.inspectState == 0" @click.stop="openDealDialog(item)">澶勭悊</view>
-            <view class="btn-link btn-link-plain" v-if="item.inspectState == 0" @click.stop="openForm('edit', item)">缂栬緫</view>
-            <view class="btn-link btn-link-warn" v-if="item.inspectState == 0" @click.stop="handleDelete(item)">鍒犻櫎</view>
+            <view class="btn-link btn-link-plain" v-if="hasNonconformingEdit" @click.stop="openForm('edit', item)">缂栬緫</view>
+            <view class="btn-link btn-link-warn" v-if="hasNonconformingCancel" @click.stop="handleDelete(item)">鍒犻櫎</view>
           </view>
         </view>
         <view class="load-more-wrap">
@@ -136,7 +136,7 @@
     <up-datetime-picker
       :show="showEntryStartPicker"
       v-model="entryStartValue"
-      mode="date"
+      mode="year-month"
       @confirm="confirmEntryStart"
       @cancel="showEntryStartPicker = false"
     />
@@ -144,7 +144,7 @@
     <up-datetime-picker
       :show="showEntryEndPicker"
       v-model="entryEndValue"
-      mode="date"
+      mode="year-month"
       @confirm="confirmEntryEnd"
       @cancel="showEntryEndPicker = false"
     />
@@ -168,6 +168,10 @@
 import dayjs from 'dayjs';
 import PageHeader from '@/components/PageHeader.vue'
 import { onReachBottom, onShow } from '@dcloudio/uni-app'
+import { checkPermi } from '@/utils/permission'
+
+const hasNonconformingEdit = computed(() => checkPermi(['nonconforming_edit']))
+const hasNonconformingCancel = computed(() => checkPermi(['nonconforming_cancel']))
 
 const searchForm = reactive({
   productName: '',
@@ -302,19 +306,19 @@
 };
 
 const openDateRange = () => {
-  entryStartValue.value = searchForm.entryDateStart ? dayjs(searchForm.entryDateStart, 'YYYY-MM-DD').valueOf() : Date.now()
+  entryStartValue.value = searchForm.entryDateStart ? dayjs(searchForm.entryDateStart).valueOf() : Date.now()
   showEntryStartPicker.value = true
 }
 const confirmEntryStart = (e) => {
   const ts = e?.value ?? entryStartValue.value
-  searchForm.entryDateStart = dayjs(ts).format('YYYY-MM-DD')
+  searchForm.entryDateStart = `${dayjs(ts).format('YYYY-MM')}-01`
   showEntryStartPicker.value = false
-  entryEndValue.value = searchForm.entryDateEnd ? dayjs(searchForm.entryDateEnd, 'YYYY-MM-DD').valueOf() : Date.now()
+  entryEndValue.value = searchForm.entryDateEnd ? dayjs(searchForm.entryDateEnd).valueOf() : Date.now()
   showEntryEndPicker.value = true
 }
 const confirmEntryEnd = (e) => {
   const ts = e?.value ?? entryEndValue.value
-  searchForm.entryDateEnd = dayjs(ts).format('YYYY-MM-DD')
+  searchForm.entryDateEnd = `${dayjs(ts).format('YYYY-MM')}-01`
   showEntryEndPicker.value = false
   handleQuery()
 }
@@ -358,6 +362,7 @@
 };
 
 const handleDelete = (row) => {
+  if (!hasNonconformingCancel.value) return
   showConfirm('纭鍒犻櫎璇ヤ笉鍚堟牸璁板綍鍚楋紵').then(async res => {
     if (!res.confirm) return
     await qualityUnqualifiedDel([row.id])
@@ -372,6 +377,7 @@
 };
 
 const openForm = (type, row) => {
+  if (type === 'edit' && !hasNonconformingEdit.value) return
   if (type !== 'add' && row?.inspectState == 1) {
     toast('宸插鐞嗙殑鏁版嵁涓嶈兘鍐嶇紪杈�')
     return

--
Gitblit v1.9.3