From 494c2790188d22b1100c72af0164d29fe4090571 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A3=B7=E5=8F=B6?=
<14103883+leaf-phos@user.noreply.gitee.com>
Date: Wed, 23 Apr 2025 09:57:09 +0800
Subject: [PATCH] =?UTF-8?q?=E8=BD=A6=E5=9E=8B=E5=A5=97=E9=A4=90=E5=85=B3?=
=?UTF-8?q?=E8=81=94?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/BaseRemoteSelect/index.vue | 7 +++++-
src/components/ImagePreview/index.vue | 10 ++++++++
.../bst/model/components/ModelEditDialog.vue | 11 --------
src/views/bst/model/index.vue | 8 ++++--
src/views/bst/realName/index.vue | 2 +-
.../bst/suit/components/SuitEditDialog.vue | 25 ++++++++++++++++++-
src/views/bst/suit/index.vue | 8 ++++--
7 files changed, 53 insertions(+), 18 deletions(-)
diff --git a/src/components/BaseRemoteSelect/index.vue b/src/components/BaseRemoteSelect/index.vue
index 1608bb5..43e1111 100644
--- a/src/components/BaseRemoteSelect/index.vue
+++ b/src/components/BaseRemoteSelect/index.vue
@@ -48,6 +48,7 @@ export default {
pageNum: 1,
pageSize: 999
},
+ opened: false,
}
},
computed: {
@@ -67,7 +68,7 @@ export default {
watch: {
value: {
handler(nv, ov) {
- if (isEmpty(ov) && !isEmpty(nv) && this.loadApi) {
+ if (isEmpty(ov) && !isEmpty(nv) && !this.opened && this.loadApi) {
this.loadData(nv);
}
},
@@ -102,7 +103,10 @@ export default {
// 下拉框可见性变化
handleVisibleChange(visible) {
if (visible) {
+ this.opened = true;
this.getOptions();
+ } else {
+ this.opened = false;
}
},
// 全选
@@ -123,6 +127,7 @@ export default {
let item = this.options.find(item => value.includes(item[this.prop]));
this.$emit('change', item);
}
+ this.selectedValue = value;
},
// 获取选项
getOptions() {
diff --git a/src/components/ImagePreview/index.vue b/src/components/ImagePreview/index.vue
index 688d71d..c946af4 100644
--- a/src/components/ImagePreview/index.vue
+++ b/src/components/ImagePreview/index.vue
@@ -4,6 +4,7 @@
fit="cover"
:style="`width:${realWidth};height:${realHeight};`"
:preview-src-list="realSrcList"
+ :class="{ 'blur-effect': blur }"
>
@@ -28,6 +29,10 @@ export default {
height: {
type: [Number, String],
default: ""
+ },
+ blur: {
+ type: Boolean,
+ default: false
}
},
computed: {
@@ -86,5 +91,10 @@ export default {
color: #909399;
font-size: 30px;
}
+ &.blur-effect {
+ ::v-deep .el-image__inner {
+ filter: blur(5px);
+ }
+ }
}
diff --git a/src/views/bst/model/components/ModelEditDialog.vue b/src/views/bst/model/components/ModelEditDialog.vue
index 553412f..ef5a298 100644
--- a/src/views/bst/model/components/ModelEditDialog.vue
+++ b/src/views/bst/model/components/ModelEditDialog.vue
@@ -51,7 +51,6 @@
v-model="form.suitIds"
:query="suitQuery"
multiple
- :init-options="initSuitOptions"
:before-get-options="beforeOpenSuit"
/>
@@ -148,16 +147,6 @@ export default {
userId: this.form.userId
}
},
- // 套餐初始化选项
- initSuitOptions() {
- if (this.form.suitList == null || this.form.suitList.length === 0) {
- return [];
- }
- return this.form.suitList.map(item => ({
- id: item.id,
- name: item.name
- }));
- }
},
methods: {
handleChangeUser() {
diff --git a/src/views/bst/model/index.vue b/src/views/bst/model/index.vue
index 01ec456..3154697 100644
--- a/src/views/bst/model/index.vue
+++ b/src/views/bst/model/index.vue
@@ -77,7 +77,7 @@
{{d.row[column.key]}}
-
+
{{d.row.lowBatteryReminder | dv}} %
@@ -91,6 +91,9 @@
+
+ {{suitName | dv}}
+
{{d.row[column.key]}}
@@ -169,8 +172,9 @@ export default {
{key: 'fullVoltage', visible: true, label: '满电电压', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'lowVoltage', visible: true, label: '亏电电压', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'fullEndurance', visible: true, label: '满电续航', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
- {key: 'remark', visible: true, label: '备注', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'lowBatteryReminderSwitch', visible: true, label: '低电量提醒', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
+ {key: 'suitNames', visible: true, label: '应用套餐', minWidth: "200", sortable: false, overflow: false, align: 'center', width: null},
+ {key: 'remark', visible: true, label: '备注', minWidth: null, sortable: true, overflow: true, align: 'center', width: null},
{key: 'createTime', visible: true, label: '创建时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
],
// 排序方式
diff --git a/src/views/bst/realName/index.vue b/src/views/bst/realName/index.vue
index e4000aa..fc8961a 100644
--- a/src/views/bst/realName/index.vue
+++ b/src/views/bst/realName/index.vue
@@ -64,7 +64,7 @@
{{d.row[column.key]}}
-
+
diff --git a/src/views/bst/suit/components/SuitEditDialog.vue b/src/views/bst/suit/components/SuitEditDialog.vue
index 8408c4d..0ff24c0 100644
--- a/src/views/bst/suit/components/SuitEditDialog.vue
+++ b/src/views/bst/suit/components/SuitEditDialog.vue
@@ -15,6 +15,15 @@
+
+
+
{
return dictLabel(this.dict.type.suit_rental_unit, value);
}
+ },
+ modelQuery() {
+ return {
+ userId: this.form.userId,
+ }
}
},
methods: {
+ beforeGetModelOptions() {
+ if (this.form.userId == null) {
+ this.$message.warning("请先选择用户");
+ return false;
+ }
+ return true;
+ },
// 添加计费规则
addRidingRule(index) {
let current = this.form.intervalRule[index];
@@ -354,6 +376,7 @@ export default {
freeRideTime: null,
rentalUnit: SuitRentalUnit.MINUTE,
ridingRule: SuitRidingRule.START,
+ modelIds: [],
startRule: {
startingTime: 60,
startingPrice: 5,
diff --git a/src/views/bst/suit/index.vue b/src/views/bst/suit/index.vue
index 3f6d60d..78bebaf 100644
--- a/src/views/bst/suit/index.vue
+++ b/src/views/bst/suit/index.vue
@@ -133,6 +133,9 @@
+
+ {{modelName | dv}}
+
{{d.row[column.key]}}
@@ -210,8 +213,9 @@ export default {
{key: 'instructions', visible: true, label: '说明', minWidth: null, sortable: true, overflow: true, align: 'center', width: null},
{key: 'freeRideTime', visible: true, label: '免费时长', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'orderNum', visible: true, label: '排序', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
- {key: 'seconds', visible: true, label: '可用时长', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
- {key: 'createTime', visible: true, label: '创建时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
+ {key: 'seconds', visible: true, label: '可用时长', minWidth: null, sortable: true, overflow: false, align: 'center', width: "180"},
+ {key: 'modelNames', visible: true, label: '适用车型', minWidth: "200", sortable: false, overflow: false, align: 'center', width: null},
+ {key: 'createTime', visible: true, label: '创建时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: "180"},
],
// 排序方式
orderSorts: ['ascending', 'descending', null],