From d642e92955c4e2174689b43d3bd99318f93abbc2 Mon Sep 17 00:00:00 2001
From: sen <sen@qq.com>
Date: 星期四, 11 九月 2025 13:33:33 +0800
Subject: [PATCH] 修改物品名称切换提示

---
 ui/admin-ui3/src/views/cwgl/smartLockerApplication/index.vue |   68 ++++++++++++++++++++++++++--------
 1 files changed, 52 insertions(+), 16 deletions(-)

diff --git a/ui/admin-ui3/src/views/cwgl/smartLockerApplication/index.vue b/ui/admin-ui3/src/views/cwgl/smartLockerApplication/index.vue
index d90556d..63da0e6 100644
--- a/ui/admin-ui3/src/views/cwgl/smartLockerApplication/index.vue
+++ b/ui/admin-ui3/src/views/cwgl/smartLockerApplication/index.vue
@@ -16,13 +16,25 @@
           v-hasPermi="['cwgl:smartLockerApplication:export']">瀵煎嚭
         </el-button> -->
       </template>
+
+
+      <template #itemName-form="{ row, size, }">
+        <div style="cursor: pointer;">
+          <el-input v-if="itemTypeIShow" v-model="form.itemName" placeholder="璇疯緭鍏� 鐗╁搧鍚嶇О">
+          </el-input>
+          <el-input v-if="!itemTypeIShow" v-model="form.itemName" @click="debouncedItemNameChange"
+            placeholder="璇疯緭鍏� 杞︾墝鍙�">
+          </el-input>
+        </div>
+      </template>
+
       <template #menu="{ size, row, index }">
-       <el-link class="link-btn" type="primary" :underline="false" plain :size="size"
-          @click="handleEditBtn(row, index)" v-if="row.status == 0"
-          v-hasPermi="['cwgl:smartLockerApplication:cancel']"> 缂栬緫
+        <el-link class="link-btn" type="primary" :underline="false" plain :size="size"
+          @click="handleEditBtn(row, index)" v-if="row.status == 0" v-hasPermi="['cwgl:smartLockerApplication:cancel']">
+          缂栬緫
         </el-link>
-        <el-link class="link-btn"  v-if="row.status == 0" type="primary" :underline="false" plain  @click="handleInvalid(row)"
-          v-hasPermi="['cwgl:smartLockerApplication:invalid']"> 浣滃簾
+        <el-link class="link-btn" v-if="row.status == 0" type="primary" :underline="false" plain
+          @click="handleInvalid(row)" v-hasPermi="['cwgl:smartLockerApplication:invalid']"> 浣滃簾
         </el-link>
       </template>
     </avue-crud>
@@ -30,9 +42,10 @@
 </template>
 
 <script setup name="smartLockerApplication" lang="ts">
-import { SmartLockerApplicationI, addSmartLockerApplication, delSmartLockerApplication, exportSmartLockerApplication, getSmartLockerApplication, listSmartLockerApplication, updateSmartLockerApplication, smartLockerApplicationQuery,
+import {
+  SmartLockerApplicationI, addSmartLockerApplication, delSmartLockerApplication, exportSmartLockerApplication, getSmartLockerApplication, listSmartLockerApplication, updateSmartLockerApplication, smartLockerApplicationQuery,
   smartLockerApplicationInvalid
- } from "@/api/cwgl/smartLockerApplication";
+} from "@/api/cwgl/smartLockerApplication";
 import useCurrentInstance from "@/utils/useCurrentInstance";
 import { computed, reactive, ref, toRefs } from "vue";
 import { PagesInterface, PageQueryInterface } from "@/utils/globalInterface";
@@ -60,8 +73,10 @@
     currentPage: 1,
   },
   selectionList: [],
+  itemTypeIShow: true, // 鎺у埗 itemType 鏄剧ず闅愯棌
+  itemTypeIcon: '鐗╁搧鍚嶇О涓嶈兘涓虹┖',
 })
-const { queryParams, form, page, selectionList } = toRefs(data);
+const { queryParams, form, page, selectionList, itemTypeIShow, itemTypeIcon } = toRefs(data);
 const option = ref({
   pageKey: 'SmartLockerApplication',
   rowKey: 'id',
@@ -122,6 +137,27 @@
       // editDisplay: false, // 淇敼鏃朵笉鏄剧ず
       dicUrl: '/system/dict/data/type/sys_item_type',
       change: (val: any) => {
+        if (val.value === '0') {
+          itemTypeIShow.value = false;
+          itemTypeIcon.value = '杞︾墝鍙蜂笉鑳戒负绌�'
+        } else {
+          itemTypeIShow.value = true;
+          itemTypeIcon.value = '鐗╁搧鍚嶇О涓嶈兘涓虹┖'
+
+        }
+        option.value.column.itemName.rules = [
+          {
+            required: true,
+            message: itemTypeIcon.value,
+            trigger: "blur"
+          }
+        ];
+
+        // 娓呴櫎涔嬪墠鐨勬牎楠岀姸鎬�
+        if (crudRef.value) {
+          crudRef.value.clearValidate('itemName');
+        }
+
         if (val.value === '1') {
           if (form.value.itemName !== '' && form.value.itemName !== undefined) {
 
@@ -137,7 +173,7 @@
       rules: [
         {
           required: true,
-          message: "鐗╁搧鍚嶇О涓嶈兘涓虹┖", trigger: "blur"
+          message: itemTypeIcon.value, trigger: "blur"
         }
       ],
       change: (val: any) => {
@@ -182,7 +218,7 @@
       valueFormat: 'YYYY-MM-DD HH:mm:ss',
       addDisplay: true,  // 鏂板鏃朵笉鏄剧ず
       minWidth: 200,
-        rules: [
+      rules: [
         {
           required: true,
           message: "棰嗗彇鎴鏃堕棿涓嶈兘涓虹┖", trigger: "change"
@@ -276,9 +312,9 @@
     handleBeforeOpenFunc: (done: Function, type: string) => {
       if (done == 'add') {
         option.value.column.lockerNo.value = '鎺ラ┏绔欐櫤鑳介挜鍖欐煖'
-        option.value.column.deadlineTime.value =formatDateTime(new Date(Date.now() + 24 * 60 * 60 * 1000));
-       
-        
+        option.value.column.deadlineTime.value = formatDateTime(new Date(Date.now() + 24 * 60 * 60 * 1000));
+
+
       }
     },
     handleSelectionChangeFunc: (selection: any) => {
@@ -286,7 +322,7 @@
     }
   })
 
-  const formatDateTime = (date) => {
+const formatDateTime = (date) => {
   const year = date.getFullYear();
   const month = String(date.getMonth() + 1).padStart(2, '0');
   const day = String(date.getDate()).padStart(2, '0');
@@ -328,8 +364,8 @@
   if (form.value.itemType === '0' && val) {
     // 鍦ㄨ繖閲屾坊鍔犱綘鐨勮姹傛帴鍙i�昏緫
     smartLockerApplicationQuery({ licensePlateNumber: val }).then(response => {
-      if(response.code == 200){
-         form.value.lockerPort = response.data || '';
+      if (response.code == 200) {
+        form.value.lockerPort = response.data || '';
       }
       // 澶勭悊鍝嶅簲
     })

--
Gitblit v1.8.0