Explorar o código

feat(tag): 更新服务标签功能以支持服务名称和服务ID

- 将标签名称字段替换为服务名称和服务ID字段
- 更新表单和查询条件以适应新的字段结构
- 移除背景色相关字段及功能
- 调整校验规则以匹配新字段要求
- 修改类型定义文件以反映字段变更
fugui001 hai 2 semanas
pai
achega
ed6aedc502
Modificáronse 2 ficheiros con 27 adicións e 21 borrados
  1. 9 3
      src/api/system/physical/tag/types.ts
  2. 18 18
      src/views/system/physical/tag/index.vue

+ 9 - 3
src/api/system/physical/tag/types.ts

@@ -7,7 +7,9 @@ export interface TagVO {
   /**
    * 标签名称,如“美食”、“特产”
    */
-  name: string;
+  serviceName?: string;
+
+  serviceCode?: string;
 
   /**
    * 图标URL,如 /icons/food.png
@@ -64,7 +66,9 @@ export interface TagForm extends BaseEntity {
   /**
    * 标签名称,如“美食”、“特产”
    */
-  name?: string;
+  serviceName?: string;
+
+  serviceCode?: string;
 
   /**
    * 图标URL,如 /icons/food.png
@@ -116,7 +120,9 @@ export interface TagQuery extends PageQuery {
   /**
    * 标签名称,如“美食”、“特产”
    */
-  name?: string;
+  serviceName?: string;
+
+  serviceCode?: string;
 
   /**
    * 图标URL,如 /icons/food.png

+ 18 - 18
src/views/system/physical/tag/index.vue

@@ -4,8 +4,11 @@
       <div v-show="showSearch" class="mb-[10px]">
         <el-card shadow="hover">
           <el-form ref="queryFormRef" :model="queryParams" :inline="true">
-            <el-form-item label="标签名称" prop="name">
-              <el-input v-model="queryParams.name" placeholder="请输入标签名称" clearable @keyup.enter="handleQuery" />
+            <el-form-item label="服务名称" prop="name">
+              <el-input v-model="queryParams.serviceName" placeholder="请输入服务名称" clearable @keyup.enter="handleQuery" />
+            </el-form-item>
+            <el-form-item label="服务ID" prop="name">
+              <el-input v-model="queryParams.serviceCode" placeholder="请输入服务ID" clearable @keyup.enter="handleQuery" />
             </el-form-item>
             <el-form-item label="是否启用" prop="isEnabled">
               <el-select v-model="queryParams.isEnabled" placeholder="请选择是否启用" clearable>
@@ -46,15 +49,8 @@
       <el-table v-loading="loading" border :data="tagList" @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55" align="center" />
         <el-table-column label="编号" align="center" prop="id" v-if="true" />
-        <el-table-column label="标签名称" align="center" prop="name" />
-        <el-table-column label="背景色" align="center" prop="colorCode">
-          <template #default="scope">
-            <div
-              class="flex items-center justify-center w-full h-6 rounded border"
-              :style="{ backgroundColor: scope.row.colorCode, borderColor: scope.row.colorCode }"
-            ></div>
-          </template>
-        </el-table-column>
+        <el-table-column label="服务名称" align="center" prop="serviceName" />
+        <el-table-column label="服务ID" align="center" prop="serviceCode" />
         <el-table-column label="是否启用" align="center" prop="isEnabled" />
         <el-table-column label="排序权重" align="center" prop="sortOrder" />
         <el-table-column label="备注" align="center" prop="remark" />
@@ -77,16 +73,19 @@
     <!-- 添加或修改服务标签对话框 -->
     <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
       <el-form ref="tagFormRef" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="标签名称" prop="name">
-          <el-input v-model="form.name" placeholder="请输入标签名称" />
+        <el-form-item label="服务名称" prop="serviceName">
+          <el-input v-model="form.serviceName" placeholder="请输入服务名称" />
+        </el-form-item>
+        <el-form-item label="服务ID" prop="serviceCode">
+          <el-input v-model="form.serviceCode" placeholder="请输入服务ID" />
         </el-form-item>
-        <el-form-item label="背景色" prop="colorCode">
+<!--        <el-form-item label="背景色" prop="colorCode">
           <el-input v-model="form.colorCode" placeholder="请输入背景色或文字色,如 #FF6B35">
             <template #append>
               <el-color-picker v-model="form.colorCode" />
             </template>
           </el-input>
-        </el-form-item>
+        </el-form-item>-->
         <el-form-item label="是否启用" prop="isEnabled">
           <el-select v-model="form.isEnabled" placeholder="请选择是否启用">
             <el-option label="是" value="1" />
@@ -135,7 +134,7 @@ const dialog = reactive<DialogOption>({
 
 const initFormData: TagForm = {
   id: undefined,
-  name: undefined,
+  serviceName: undefined,
   iconUrl: undefined,
   colorCode: undefined,
   isEnabled: '1',
@@ -151,7 +150,7 @@ const data = reactive<PageData<TagForm, TagQuery>>({
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    name: undefined,
+    serviceName: undefined,
     iconUrl: undefined,
     colorCode: undefined,
     isEnabled: undefined,
@@ -164,7 +163,8 @@ const data = reactive<PageData<TagForm, TagQuery>>({
   },
   rules: {
     id: [{ required: true, message: '主键ID不能为空', trigger: 'blur' }],
-    name: [{ required: true, message: '标签名称,如“美食”、“特产”不能为空', trigger: 'blur' }]
+    serviceName: [{ required: true, message: '不能为空', trigger: 'blur' }],
+    serviceCode: [{ required: true, message: '不能为空', trigger: 'blur' }]
   }
 });