修改商品文章筛选内容改为后台获取
parent
0611526d9e
commit
529ec678f2
|
|
@ -17,12 +17,12 @@
|
|||
</el-form-item>
|
||||
<el-form-item label="商品分类">
|
||||
<el-select v-model="form.category_ids" multiple collapse-tags placeholder="请选择商品分类">
|
||||
<el-option v-for="item in baseList.product_category_list" :key="item.id" :label="item.name" :value="item.id" />
|
||||
<el-option v-for="item in common_store.common.goods_category" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="指定品牌">
|
||||
<el-select v-model="form.brand_ids" multiple collapse-tags placeholder="请选择品牌">
|
||||
<el-option v-for="item in baseList.product_brand_list" :key="item.id" :label="item.name" :value="item.id" />
|
||||
<el-option v-for="item in common_store.common.brand_list" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="显示数量">
|
||||
|
|
@ -30,12 +30,12 @@
|
|||
</el-form-item>
|
||||
<el-form-item label="排序类型">
|
||||
<el-radio-group v-model="form.order_by_type">
|
||||
<el-radio v-for="item in baseList.sort_list" :key="item.value" :value="item.value">{{ item.name }}</el-radio>
|
||||
<el-radio v-for="item in common_store.common.goods_order_by_type_list" :key="item.index" :value="item.index">{{ item.name }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="排序规则">
|
||||
<el-radio-group v-model="form.order_by_rule">
|
||||
<el-radio v-for="item in baseList.order_by_rule_list" :key="item.value" :value="item.value">{{ item.name }}</el-radio>
|
||||
<el-radio v-for="item in common_store.common.data_order_by_rule_list" :key="item.index" :value="item.index">{{ item.name }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
</el-form-item>
|
||||
<el-form-item label="文章分类">
|
||||
<el-select v-model="form.category_ids" multiple collapse-tags placeholder="请选择文章分类">
|
||||
<el-option v-for="item in baseList.article_category_list" :key="item.id" :label="item.name" :value="item.id" />
|
||||
<el-option v-for="item in common_store.common.article_category" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="显示数量">
|
||||
|
|
@ -66,17 +66,12 @@
|
|||
</el-form-item>
|
||||
<el-form-item label="排序类型">
|
||||
<el-radio-group v-model="form.order_by_type">
|
||||
<template v-if="!isEmpty(baseList.new_sort_list)">
|
||||
<el-radio v-for="item in baseList.new_sort_list" :key="item.value" :value="item.value">{{ item.name }}</el-radio>
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-radio v-for="item in baseList.sort_list" :key="item.value" :value="item.value">{{ item.name }}</el-radio>
|
||||
</template>
|
||||
<el-radio v-for="item in common_store.common.article_order_by_type_list" :key="item.index" :value="item.index">{{ item.name }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="排序规则">
|
||||
<el-radio-group v-model="form.order_by_rule">
|
||||
<el-radio v-for="item in baseList.order_by_rule_list" :key="item.value" :value="item.value">{{ item.name }}</el-radio>
|
||||
<el-radio v-for="item in common_store.common.data_order_by_rule_list" :key="item.index" :value="item.index">{{ item.name }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="封面图片">
|
||||
|
|
@ -102,7 +97,7 @@
|
|||
</el-form-item>
|
||||
<el-form-item label="品牌分类">
|
||||
<el-select v-model="form.category_ids" multiple collapse-tags placeholder="请选择品牌分类">
|
||||
<el-option v-for="item in baseList.brand_category_list" :key="item.id" :label="item.name" :value="item.id" />
|
||||
<el-option v-for="item in common_store.common.brand_list" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="显示数量">
|
||||
|
|
@ -110,12 +105,12 @@
|
|||
</el-form-item>
|
||||
<el-form-item label="排序类型">
|
||||
<el-radio-group v-model="form.order_by_type">
|
||||
<el-radio v-for="item in baseList.brand_sort_list" :key="item.value" :value="item.value">{{ item.name }}</el-radio>
|
||||
<el-radio v-for="item in common_store.common.brand_order_by_type_list" :key="item.index" :value="item.index">{{ item.name }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="排序规则">
|
||||
<el-radio-group v-model="form.order_by_rule">
|
||||
<el-radio v-for="item in baseList.order_by_rule_list" :key="item.value" :value="item.value">{{ item.name }}</el-radio>
|
||||
<el-radio v-for="item in common_store.common.data_order_by_rule_list" :key="item.index" :value="item.index">{{ item.name }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
|
@ -123,10 +118,12 @@
|
|||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { isEmpty, cloneDeep } from 'lodash';
|
||||
import { commonStore } from '@/store';
|
||||
const common_store = commonStore();
|
||||
// 定义组件的属性和事件
|
||||
const props = defineProps({
|
||||
value: {
|
||||
type: Object,
|
||||
type: Object as PropType<any>,
|
||||
default: () => {},
|
||||
},
|
||||
list: {
|
||||
|
|
@ -149,9 +146,11 @@
|
|||
watchEffect(() => {
|
||||
keyword.value = props.value.keyword;
|
||||
form.value = props.value;
|
||||
// 历史数据转成数字类型
|
||||
form.value.order_by_type = Number(props.value?.order_by_type || 0);
|
||||
form.value.order_by_rule = Number(props.value?.order_by_rule || 0);
|
||||
drag_list.value = props.list;
|
||||
});
|
||||
|
||||
const keyword_blur = () => {
|
||||
form.value.keyword = keyword.value;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
</template>
|
||||
</template>
|
||||
<template v-else-if="item.type == 'switch'">
|
||||
<el-switch v-model="new_dataInterface[item.form_name]" active-value="1" inactive-value="0" />
|
||||
<el-switch v-model="new_dataInterface[item.form_name]" :active-value="1" :inactive-value="0" />
|
||||
</template>
|
||||
<template v-else-if="item.type =='radio'">
|
||||
<el-radio-group v-model="new_dataInterface[item.form_name]">
|
||||
|
|
|
|||
|
|
@ -97,16 +97,16 @@ const base_list = reactive({
|
|||
{ name: '选择文章', value: '0' },
|
||||
{ name: '筛选文章', value: '1' },
|
||||
],
|
||||
article_category_list: [] as select_1[],
|
||||
sort_list: [
|
||||
{ name: '综合', value: '0' },
|
||||
{ name: '时间', value: '1' },
|
||||
{ name: '浏览量', value: '2' },
|
||||
],
|
||||
order_by_rule_list: [
|
||||
{ name: '降序(desc)', value: '0' },
|
||||
{ name: '升序(asc)', value: '1' },
|
||||
],
|
||||
// article_category_list: [] as select_1[],
|
||||
// sort_list: [
|
||||
// { name: '综合', value: '0' },
|
||||
// { name: '时间', value: '1' },
|
||||
// { name: '浏览量', value: '2' },
|
||||
// ],
|
||||
// order_by_rule_list: [
|
||||
// { name: '降序(desc)', value: '0' },
|
||||
// { name: '升序(asc)', value: '1' },
|
||||
// ],
|
||||
field_show_list: [
|
||||
{ name: '文章标题', value: '3' },
|
||||
{ name: '日期时间', value: '0' },
|
||||
|
|
@ -117,12 +117,12 @@ const base_list = reactive({
|
|||
|
||||
const emits = defineEmits(['theme_change']);
|
||||
onMounted(() => {
|
||||
nextTick(() => {
|
||||
// 定时获取common_store.common.article_category的数据,直到拿到值或者关闭页面为止
|
||||
if (common_store.common.article_category.length > 0) {
|
||||
base_list.article_category_list = common_store.common.article_category;
|
||||
}
|
||||
});
|
||||
// nextTick(() => {
|
||||
// // 定时获取common_store.common.article_category的数据,直到拿到值或者关闭页面为止
|
||||
// if (common_store.common.article_category.length > 0) {
|
||||
// base_list.article_category_list = common_store.common.article_category;
|
||||
// }
|
||||
// });
|
||||
// 如果历史数据没有操作,则修改默认值
|
||||
const { content_img_width = '', content_img_height = '' } = data.value;
|
||||
// 宽度和高度为空的时候,并且不是无图模式和左右滑动模式的时候,修改默认值
|
||||
|
|
|
|||
|
|
@ -127,16 +127,16 @@ const base_list = reactive({
|
|||
{ name: '选择文章', value: '0' },
|
||||
{ name: '筛选文章', value: '1' },
|
||||
],
|
||||
article_category_list: [] as select_1[],
|
||||
sort_list: [
|
||||
{ name: '综合', value: '0' },
|
||||
{ name: '时间', value: '1' },
|
||||
{ name: '浏览量', value: '2' },
|
||||
],
|
||||
order_by_rule_list: [
|
||||
{ name: '降序(desc)', value: '0' },
|
||||
{ name: '升序(asc)', value: '1' },
|
||||
],
|
||||
// article_category_list: [] as select_1[],
|
||||
// sort_list: [
|
||||
// { name: '综合', value: '0' },
|
||||
// { name: '时间', value: '1' },
|
||||
// { name: '浏览量', value: '2' },
|
||||
// ],
|
||||
// order_by_rule_list: [
|
||||
// { name: '降序(desc)', value: '0' },
|
||||
// { name: '升序(asc)', value: '1' },
|
||||
// ],
|
||||
field_show_list: [
|
||||
{ name: '文章标题', value: '3' },
|
||||
{ name: '日期时间', value: '0' },
|
||||
|
|
@ -146,12 +146,12 @@ const base_list = reactive({
|
|||
});
|
||||
const emits = defineEmits(['theme_change']);
|
||||
onMounted(() => {
|
||||
nextTick(() => {
|
||||
// 定时获取common_store.common.article_category的数据,直到拿到值或者关闭页面为止
|
||||
if (common_store.common.article_category.length > 0) {
|
||||
base_list.article_category_list = common_store.common.article_category;
|
||||
}
|
||||
});
|
||||
// nextTick(() => {
|
||||
// // 定时获取common_store.common.article_category的数据,直到拿到值或者关闭页面为止
|
||||
// if (common_store.common.article_category.length > 0) {
|
||||
// base_list.article_category_list = common_store.common.article_category;
|
||||
// }
|
||||
// });
|
||||
// 如果历史数据没有操作,则修改默认值
|
||||
const { content_img_width = '', content_img_height = '' } = styles;
|
||||
// 宽度和高度为空的时候,并且不是无图模式和左右滑动模式的时候,修改默认值
|
||||
|
|
|
|||
|
|
@ -132,10 +132,8 @@ watchEffect(() => {
|
|||
let value : number | string | Array<any> = '';
|
||||
if (item.type == 'checkbox' || item.type == 'select' && +item?.config?.is_multiple == 1) { // 多选
|
||||
value = item?.config?.default || [];
|
||||
} else if (item.type == 'input' && item?.config?.type == 'number') { // 数字
|
||||
value = item?.config?.default || 0;
|
||||
} else if (item.type == 'switch') { // 开关
|
||||
value = item?.config?.default || "0";
|
||||
} else if ((item.type == 'input' && item?.config?.type == 'number') || item.type == 'switch') { // 数字/开关
|
||||
value = Number(item?.config?.default || 0);
|
||||
} else { // 其他
|
||||
value = item?.config?.default || '';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@
|
|||
<model-icon-style :key="key" v-model:height="center_height" :options="model_data_source" :value="diy_data"></model-icon-style>
|
||||
</template>
|
||||
<template v-else-if="diy_data.key == 'panel'">
|
||||
<model-panel-style :key="key" v-model:height="center_height" :value="diy_data"></model-panel-style>
|
||||
<model-panel-style :key="key" v-model:height="center_height" :options="model_data_source" :value="diy_data"></model-panel-style>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div class="w h flex align-c bg-f">
|
||||
|
|
@ -326,10 +326,8 @@ const changeDataSource = (key: string) => {
|
|||
let value : number | string | Array<any> = '';
|
||||
if (item.type == 'checkbox' || (item.type == 'select' && +item?.config?.is_multiple == 1)) { // 多选
|
||||
value = item?.config?.default || [];
|
||||
} else if (item.type == 'input' && item?.config?.type == 'number') { // 数字
|
||||
value = item?.config?.default || 0;
|
||||
} else if (item.type == 'switch') {
|
||||
value = item?.config?.default || "0";
|
||||
} else if ((item.type == 'input' && item?.config?.type == 'number') || item.type == 'switch') { // 数字/开关
|
||||
value = Number(item?.config?.default || 0);
|
||||
} else {
|
||||
value = item?.config?.default || '';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,32 +81,32 @@ const base_list = reactive({
|
|||
{ name: '指定商品', value: '0' },
|
||||
{ name: '筛选商品', value: '1' },
|
||||
],
|
||||
product_category_list: [] as select_1[],
|
||||
product_brand_list: [] as select_1[],
|
||||
sort_list: [
|
||||
{ name: '综合', value: '0' },
|
||||
{ name: '销量', value: '1' },
|
||||
{ name: '热度', value: '2' },
|
||||
{ name: '价格', value: '3' },
|
||||
{ name: '最新', value: '4' },
|
||||
],
|
||||
order_by_rule_list: [
|
||||
{ name: '降序(desc)', value: '0' },
|
||||
{ name: '升序(asc)', value: '1' },
|
||||
],
|
||||
// product_category_list: [] as select_1[],
|
||||
// product_brand_list: [] as select_1[],
|
||||
// sort_list: [
|
||||
// { name: '综合', value: '0' },
|
||||
// { name: '销量', value: '1' },
|
||||
// { name: '热度', value: '2' },
|
||||
// { name: '价格', value: '3' },
|
||||
// { name: '最新', value: '4' },
|
||||
// ],
|
||||
// order_by_rule_list: [
|
||||
// { name: '降序(desc)', value: '0' },
|
||||
// { name: '升序(asc)', value: '1' },
|
||||
// ],
|
||||
});
|
||||
const emits = defineEmits(['theme_change']);
|
||||
onBeforeMount(() => {
|
||||
nextTick(() => {
|
||||
// 定时获取common_store.common.article_category的数据,直到拿到值或者关闭页面为止
|
||||
const interval = setInterval(() => {
|
||||
if (common_store.common.goods_category.length > 0 || common_store.common.brand_list.length > 0) {
|
||||
base_list.product_category_list = common_store.common.goods_category;
|
||||
base_list.product_brand_list = common_store.common.brand_list;
|
||||
clearInterval(interval);
|
||||
}
|
||||
}, 1000);
|
||||
});
|
||||
// nextTick(() => {
|
||||
// // 定时获取common_store.common.article_category的数据,直到拿到值或者关闭页面为止
|
||||
// const interval = setInterval(() => {
|
||||
// if (common_store.common.goods_category.length > 0 || common_store.common.brand_list.length > 0) {
|
||||
// base_list.product_category_list = common_store.common.goods_category;
|
||||
// base_list.product_brand_list = common_store.common.brand_list;
|
||||
// clearInterval(interval);
|
||||
// }
|
||||
// }, 1000);
|
||||
// });
|
||||
// 如果历史数据没有操作,则修改默认值
|
||||
const { content_img_width = '', content_img_height = '' } = data.value;
|
||||
// 宽度和高度为空的时候,并且不是无图模式和左右滑动模式的时候,修改默认值
|
||||
|
|
|
|||
|
|
@ -120,36 +120,36 @@ const base_list = reactive({
|
|||
{ name: '指定商品', value: '0' },
|
||||
{ name: '筛选商品', value: '1' },
|
||||
],
|
||||
product_category_list: [] as select_1[],
|
||||
product_brand_list: [] as select_1[],
|
||||
sort_list: [
|
||||
{ name: '综合', value: '0' },
|
||||
{ name: '销量', value: '1' },
|
||||
{ name: '热度', value: '2' },
|
||||
{ name: '价格', value: '3' },
|
||||
{ name: '最新', value: '4' },
|
||||
],
|
||||
order_by_rule_list: [
|
||||
{ name: '降序(desc)', value: '0' },
|
||||
{ name: '升序(asc)', value: '1' },
|
||||
],
|
||||
list_show_list: [
|
||||
{ name: '日期时间', value: '0' },
|
||||
{ name: '浏览量', value: '1' },
|
||||
],
|
||||
// product_category_list: [] as select_1[],
|
||||
// product_brand_list: [] as select_1[],
|
||||
// sort_list: [
|
||||
// { name: '综合', value: '0' },
|
||||
// { name: '销量', value: '1' },
|
||||
// { name: '热度', value: '2' },
|
||||
// { name: '价格', value: '3' },
|
||||
// { name: '最新', value: '4' },
|
||||
// ],
|
||||
// order_by_rule_list: [
|
||||
// { name: '降序(desc)', value: '0' },
|
||||
// { name: '升序(asc)', value: '1' },
|
||||
// ],
|
||||
// list_show_list: [
|
||||
// { name: '日期时间', value: '0' },
|
||||
// { name: '浏览量', value: '1' },
|
||||
// ],
|
||||
});
|
||||
const emits = defineEmits(['theme_change']);
|
||||
onBeforeMount(() => {
|
||||
nextTick(() => {
|
||||
// 定时获取common_store.common.article_category的数据,直到拿到值或者关闭页面为止
|
||||
const interval = setInterval(() => {
|
||||
if (common_store.common.goods_category.length > 0 || common_store.common.brand_list.length > 0) {
|
||||
base_list.product_category_list = common_store.common.goods_category;
|
||||
base_list.product_brand_list = common_store.common.brand_list;
|
||||
clearInterval(interval);
|
||||
}
|
||||
}, 1000);
|
||||
});
|
||||
// nextTick(() => {
|
||||
// // 定时获取common_store.common.article_category的数据,直到拿到值或者关闭页面为止
|
||||
// const interval = setInterval(() => {
|
||||
// if (common_store.common.goods_category.length > 0 || common_store.common.brand_list.length > 0) {
|
||||
// base_list.product_category_list = common_store.common.goods_category;
|
||||
// base_list.product_brand_list = common_store.common.brand_list;
|
||||
// clearInterval(interval);
|
||||
// }
|
||||
// }, 1000);
|
||||
// });
|
||||
// 如果历史数据没有操作,则修改默认值
|
||||
const { content_img_width = '', content_img_height = '' } = styles.value;
|
||||
// 宽度和高度为空的时候,并且不是无图模式和左右滑动模式的时候,修改默认值
|
||||
|
|
|
|||
|
|
@ -20,8 +20,8 @@ interface DefaultArticleList {
|
|||
data_ids: string;
|
||||
data_auto_list: ArticleList[];
|
||||
number: number;
|
||||
order_by_type: string;
|
||||
order_by_rule: string;
|
||||
order_by_type: number;
|
||||
order_by_rule: number;
|
||||
field_show: string[];
|
||||
is_cover: string;
|
||||
seckill_subscript_show: string;
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ interface articleTabsList {
|
|||
keyword: string;
|
||||
category_ids: string[];
|
||||
number: number;
|
||||
order_by_type: string;
|
||||
order_by_rule: string;
|
||||
order_by_type: number;
|
||||
order_by_rule: number;
|
||||
is_cover: string;
|
||||
data_ids: string;
|
||||
data_list: ArticleList[];
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@ interface DefaultProductList {
|
|||
data_auto_list: string[];
|
||||
is_price_solo: string;
|
||||
number: number;
|
||||
order_by_type: string;
|
||||
order_by_rule: string;
|
||||
order_by_type: number;
|
||||
order_by_rule: number;
|
||||
is_show: string[];
|
||||
static_img: uploadList[];
|
||||
is_shop_show: string;
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ interface articleTabsList {
|
|||
brand_ids: string[];
|
||||
data_ids: string[];
|
||||
number: number;
|
||||
order_by_type: string;
|
||||
order_by_rule: string;
|
||||
order_by_type: number;
|
||||
order_by_rule: number;
|
||||
data_list: [];
|
||||
data_auto_list: [];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
interface DefaultSetting {
|
||||
page_size: number;
|
||||
order_by_type: string;
|
||||
order_by_rule: string;
|
||||
order_by_type: number;
|
||||
order_by_rule: number;
|
||||
is_cover: string;
|
||||
category_ids: string[];
|
||||
brand_ids: string[];
|
||||
|
|
@ -10,8 +10,8 @@ interface DefaultSetting {
|
|||
|
||||
const defaultSetting: DefaultSetting = {
|
||||
page_size: 4,
|
||||
order_by_type: '0',
|
||||
order_by_rule: '0',
|
||||
order_by_type: 0,
|
||||
order_by_rule: 0,
|
||||
// 文章封面
|
||||
is_cover: '0',
|
||||
// 分类id
|
||||
|
|
|
|||
|
|
@ -15,6 +15,10 @@ export const commonStore = defineStore('common', () => {
|
|||
module_list: [] as any[], //---- 模块列表
|
||||
page_link_list: [] as any[], //---- 页面链接
|
||||
plugins: {} as any, //---- 插件
|
||||
article_order_by_type_list: [] as any[], //---- 文章排序
|
||||
goods_order_by_type_list: [] as any[], //---- 商品排序
|
||||
data_order_by_rule_list: [] as any[], //---- 数据排序
|
||||
brand_order_by_type_list: [] as any[], //---- 品牌排序
|
||||
config: {
|
||||
common_amap_map_ak: '',
|
||||
common_amap_map_safety_ak: '',
|
||||
|
|
|
|||
Loading…
Reference in New Issue