Parcourir la source

修复设备清单页面 PA/泡沫/水筛选下拉空白且筛选不生效

前端字典编码 YesNo 与数据库 yes_no 不匹配导致 ExtDSelect 下拉为空;
后端 DeviceQueryParams 缺少 hasPa/hasFoam/hasWater 字段导致筛选条件未应用查询。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
skyline il y a 16 heures
Parent
commit
1e54c72ba5

+ 4 - 4
admin-web-new/src/views/admin/station/device.vue

@@ -281,7 +281,7 @@ const handleRemoteControl = (row: any) => {
         <el-form-item label="是否有泡沫">
           <ExtDSelect
             v-model="state.formQuery.hasFoam"
-            type="YesNo"
+            type="yes_no"
             placeholder="请选择"
             @on-change="handleSearch"
           />
@@ -289,7 +289,7 @@ const handleRemoteControl = (row: any) => {
         <el-form-item label="是否有水">
           <ExtDSelect
             v-model="state.formQuery.hasWater"
-            type="YesNo"
+            type="yes_no"
             placeholder="请选择"
             @on-change="handleSearch"
           />
@@ -297,7 +297,7 @@ const handleRemoteControl = (row: any) => {
         <el-form-item label="是否支持PA">
           <ExtDSelect
             v-model="state.formQuery.hasPa"
-            type="YesNo"
+            type="yes_no"
             placeholder="请选择"
             @on-change="handleSearch"
           />
@@ -377,7 +377,7 @@ const handleRemoteControl = (row: any) => {
               {{ formatDuration(row.uptimeMs) }}
             </template>
             <template v-else-if="col.prop === 'hasFoam' || col.prop === 'hasWater' || col.prop === 'hasPa'">
-              <ExtDLabel type="YesNo" :model-value="row[col.prop]" />
+              <ExtDLabel type="yes_no" :model-value="row[col.prop]" />
             </template>
             <template v-else>
               {{ row[col.prop] }}

+ 1 - 1
admin-web/src/views/admin/station/device/dialog.vue

@@ -67,7 +67,7 @@
         </el-form-item>
 
         <el-form-item label="是否支持PA" prop="hasPa" class="wd250">
-          <ext-d-select type="YesNo" v-model="state.ruleForm.hasPa" class="wd200"></ext-d-select>
+          <ext-d-select type="yes_no" v-model="state.ruleForm.hasPa" class="wd200"></ext-d-select>
         </el-form-item>
 
         <el-form-item label="板载温度" prop="temperatureChip" class="wd350">

+ 1 - 1
admin-web/src/views/admin/station/device/index.vue

@@ -161,7 +161,7 @@ const state = reactive({
     {label: '功能', prop: 'functions', width: 180, query: true, type: 'text', resizable: true},
     {label: '是否有泡沫', prop: 'hasFoam', width: 120, query: true, type: 'dict', conf: {dict: 'WashDevice.foam'}, resizable: true},
     {label: '是否有水', prop: 'hasWater', width: 120, query: true, type: 'dict', conf: {dict: 'WashDevice.water'}, resizable: true},
-    {label: '是否支持PA', prop: 'hasPa', width: 120, query: true, type: 'dict', conf: {dict: 'YesNo'}, resizable: true},
+    {label: '是否支持PA', prop: 'hasPa', width: 120, query: true, type: 'dict', conf: {dict: 'yes_no'}, resizable: true},
     // {label: '当前温度', prop: 'temperatureChip', width: 180, query: false, type: 'text', resizable: true},
     {label: '创建时间', prop: 'createTime', query: false, sortable: 'custom', type: 'datetime', resizable: true, conf: {format: (val: any) => u.fmt.fmtDateTime(val)}},
     {label: '更新时间', prop: 'updateTime', query: false, sortable: 'custom', type: 'datetime', resizable: true, conf: {format: (val: any) => u.fmt.fmtDateTime(val)}},

+ 3 - 0
car-wash-entity/src/main/java/com/kym/entity/queryParams/DeviceQueryParams.java

@@ -15,6 +15,9 @@ public class DeviceQueryParams extends PageParams {
     private String stationId;
     private String productKey;
     private String deviceName;
+    private Boolean hasFoam;
+    private Boolean hasWater;
+    private Boolean hasPa;
 
     public DeviceQueryParams(String shortId, String productKey, String deviceName) {
         this.shortId = shortId;

+ 3 - 0
car-wash-service/src/main/java/com/kym/service/impl/WashDeviceServiceImpl.java

@@ -208,6 +208,9 @@ public class WashDeviceServiceImpl extends MyBaseServiceImpl<WashDeviceMapper, W
         PageHelper.startPage(query.getPageNum(), query.getPageSize());
         List<WashDevice> list = lambdaQuery()
                 .eq(CommUtil.isNotEmptyAndNull(query.getStationId()), WashDevice::getStationId, query.getStationId())
+                .eq(query.getHasFoam() != null, WashDevice::getHasFoam, query.getHasFoam())
+                .eq(query.getHasWater() != null, WashDevice::getHasWater, query.getHasWater())
+                .eq(query.getHasPa() != null, WashDevice::getHasPa, query.getHasPa())
                 .orderByAsc(WashDevice::getSequence)
                 .list();