取消
@@ -48,6 +39,11 @@ const props = defineProps({
default: () => '',
},
});
+interface cascaderData {
+ value: string;
+ label: string;
+ children?: cascaderData[];
+}
// 使用计算属性获取级联数据
const cascader_data = computed(() => {
return props.data.map((tree) => ({
@@ -59,6 +55,7 @@ const cascader_data = computed(() => {
})),
}));
});
+const new_cascader = ref
(cascader_data.value);
const visible_dialog = ref(false);
watch(
() => visible_dialog.value,
@@ -99,6 +96,35 @@ const get_label = (item: any, val: any) => {
}
});
};
+const handle_input = (val: any) => {
+ // 过滤符合条件的数据
+ if (val) {
+ new_cascader.value = filterData(val, cascader_data.value);
+ } else {
+ new_cascader.value = cascader_data.value;
+ }
+};
+
+const filterData = (input: string, data: cascaderData[]) => {
+ let result = [];
+ // 遍历数组
+ for (let item of data) {
+ // 检查当前项的name是否匹配
+ if (item.label && item.label.includes(input)) {
+ result.push(item);
+ } else {
+ if (item.children) {
+ // 否则,检查当前项的data属性中的子项
+ let subResult = item.children.filter((subItem) => subItem.label && subItem.label.includes(input));
+ // 如果找到匹配的子项,将当前项(父级)添加到结果中
+ result.push({ ...item, children: subResult });
+ }
+ }
+ }
+
+ return result;
+};
+
const emit = defineEmits(['call-back']);
// 确定提交事件
const confirm = () => {
@@ -134,12 +160,18 @@ const confirm = () => {
line-height: 3.2rem;
cursor: pointer;
position: relative;
- .value-input-icon {
- position: absolute;
- right: 0;
- width: 3.4rem;
- z-index: 1;
- text-align: center;
+}
+.value-input-icon {
+ position: absolute;
+ right: 0;
+ width: 3.4rem;
+ z-index: 1;
+ text-align: center;
+ .icon {
+ transition: transform 0.3s;
+ }
+ .active {
+ transform: rotate(-180deg);
}
}
:deep(.el-cascader-menu) {
diff --git a/src/components/common/upload/upload-model.vue b/src/components/common/upload/upload-model.vue
index 5c30aeda..501b07d8 100644
--- a/src/components/common/upload/upload-model.vue
+++ b/src/components/common/upload/upload-model.vue
@@ -17,7 +17,7 @@
-
+
diff --git a/src/components/model-article-list/model-article-list-content.vue b/src/components/model-article-list/model-article-list-content.vue
index 4e5355cf..10cd1391 100644
--- a/src/components/model-article-list/model-article-list-content.vue
+++ b/src/components/model-article-list/model-article-list-content.vue
@@ -30,7 +30,7 @@
-
+
diff --git a/src/components/model-article-tabs/model-article-tabs-content.vue b/src/components/model-article-tabs/model-article-tabs-content.vue
index 19fde939..0d000186 100644
--- a/src/components/model-article-tabs/model-article-tabs-content.vue
+++ b/src/components/model-article-tabs/model-article-tabs-content.vue
@@ -48,7 +48,7 @@
-
+
diff --git a/src/components/model-coupon/index.vue b/src/components/model-coupon/index.vue
index 9dba99ac..62c27354 100644
--- a/src/components/model-coupon/index.vue
+++ b/src/components/model-coupon/index.vue
@@ -1,6 +1,26 @@
diff --git a/src/layout/components/main/default/coupon.ts b/src/layout/components/main/default/coupon.ts
index a7582401..6c95b3e7 100644
--- a/src/layout/components/main/default/coupon.ts
+++ b/src/layout/components/main/default/coupon.ts
@@ -44,7 +44,7 @@ const defaultCoupoin: DefaultCoupon = {
background: [{ color: '#FFF1E1', color_percentage: '' }],
direction: '90deg',
spacing: 10,
- common_style: defaultCommon,
+ common_style: { ...defaultCommon, padding_left: 25, padding_right: 25, padding_top: 18, padding_bottom: 18 },
},
};