Merge branch 'dev-sws' into dev-yxl

v1.0.0
于肖磊 2024-10-10 10:10:56 +08:00
commit 0bad6922b5
9 changed files with 91 additions and 34 deletions

View File

@ -184,9 +184,9 @@ const theme_bg_img = ref<themeBgImg>({
url_3: ``,
});
onMounted(() => {
if (!isEmpty(form.value.data_list) && form.value.data_type == '0') {
if (!isEmpty(form.value.data_list) && form.value.data_type == '1') {
data_list.value = form.value.data_list;
} else if (form.value.data_type == '1') {
} else if (form.value.data_type == '0') {
if (!isEmpty(form.value.data_auto_list)) {
data_list.value = form.value.data_auto_list;
} else {
@ -224,7 +224,7 @@ const data_list_computer = computed(() => {
watch(
() => data_list_computer.value,
(new_value) => {
if (new_value.data_type == '1') {
if (new_value.data_type == '0') {
get_coupon();
} else {
if (!isEmpty(form.value.data_list)) {

View File

@ -15,7 +15,7 @@
<el-radio v-for="item in base_list.data_type_list" :key="item.value" :value="item.value">{{ item.name }}</el-radio>
</el-radio-group>
</el-form-item>
<template v-if="form.data_type === '0'">
<template v-if="form.data_type === '1'">
<el-form-item label="手动选择">
<div class="flex-col gap-20 w">
<drag v-if="form.data_list.length > 0" :data="form.data_list" :space-col="20" @remove="remove" @on-sort="on_sort">
@ -73,8 +73,8 @@ const url_value_dialog_visible = ref(false);
const new_url = ref('');
const base_list = reactive({
data_type_list: [
{ name: '自动', value: '1' },
{ name: '手动', value: '0' },
{ name: '自动', value: '0' },
{ name: '手动', value: '1' },
],
themeList: Array.from({ length: 7 }, (_, index) => ({
id: String(index + 1),

View File

@ -1,4 +1,5 @@
import defaultCommon from './index';
import defaultSetting from '../setting/index';
interface ArticleList {
id: number | string;
@ -48,15 +49,15 @@ const defaultArticleList: DefaultArticleList = {
theme: '0',
carousel_col: '2',
data_type: '0',
category_ids: [],
category_ids: defaultSetting.category_ids,
data_list: [],
data_ids: '',
data_auto_list: [],
number: 4,
order_by_type: '0',
order_by_rule: '0',
number: defaultSetting.page_size,
order_by_type: defaultSetting.order_by_type,
order_by_rule: defaultSetting.order_by_rule,
field_show: ['0', '1'],
is_cover: '1',
is_cover: defaultSetting.is_cover,
},
style: {
name_weight: '500',

View File

@ -1,4 +1,5 @@
import defaultCommon from './index';
import defaultSetting from '../setting/index';
interface ArticleList {
id: number | string;
data: object;
@ -66,12 +67,12 @@ const defaultArticleTabs: DefaultArticleTabs = {
article_theme: '0',
article_carousel_col: '2',
tabs_list: [
{ id: '1', title: '热门推荐', desc: '简介', data_type: '0', category_ids: [], data_ids: '', number: 4, order_by_type: '0', order_by_rule: '0', is_cover: '1', data_list: [], data_auto_list: [] },
{ id: '2', title: '测试一', desc: '简介', data_type: '0', category_ids: [], data_ids: '', number: 4, order_by_type: '0', order_by_rule: '0', is_cover: '1', data_list: [], data_auto_list: [] },
{ id: '3', title: '测试二', desc: '简介', data_type: '0', category_ids: [], data_ids: '', number: 4, order_by_type: '0', order_by_rule: '0', is_cover: '1', data_list: [], data_auto_list: [] },
{ id: '4', title: '测试三', desc: '简介', data_type: '0', category_ids: [], data_ids: '', number: 4, order_by_type: '0', order_by_rule: '0', is_cover: '1', data_list: [], data_auto_list: [] },
{ id: '5', title: '测试四', desc: '简介', data_type: '0', category_ids: [], data_ids: '', number: 4, order_by_type: '0', order_by_rule: '0', is_cover: '1', data_list: [], data_auto_list: [] },
{ id: '6', title: '测试五', desc: '简介', data_type: '0', category_ids: [], data_ids: '', number: 4, order_by_type: '0', order_by_rule: '0', is_cover: '1', data_list: [], data_auto_list: [] },
{ id: '1', title: '热门推荐', desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '2', title: '测试一', desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '3', title: '测试二', desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '4', title: '测试三', desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '5', title: '测试四', desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '6', title: '测试五', desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
],
tabs_active_index: 0,
field_show: ['0', '1'],

View File

@ -1,4 +1,5 @@
import defaultCommon from './index';
import defaultSetting from '../setting/index';
import { online_url } from '@/utils';
const new_url = await online_url('/static/plugins/coupon/images/diy/').then((res) => res);
interface DefaultCoupon {
@ -40,9 +41,9 @@ interface DefaultCoupon {
const defaultCoupoin: DefaultCoupon = {
content: {
theme: '1',
data_type: '1',
type: [],
number: 4,
data_type: '0',
type: defaultSetting.coupon_ids,
number: defaultSetting.page_size,
// 只有主题4用到
title: '先领券 再购物',
// 只有主题4用到

View File

@ -1,4 +1,5 @@
import defaultCommon from './index';
import defaultSetting from '../setting/index';
import { online_url } from '@/utils';
const new_url = await online_url('/static/app/common/').then((res) => res);
interface DefaultProductList {
@ -63,13 +64,13 @@ const defaultProductList: DefaultProductList = {
product_show_list: [],
data_list: [],
data_auto_list: [],
category_ids: [],
brand_ids: [],
category_ids: defaultSetting.category_ids,
brand_ids: defaultSetting.brand_ids,
data_ids: [],
is_price_solo: '1',
number: 4,
order_by_type: '0',
order_by_rule: '0',
number: defaultSetting.page_size,
order_by_type: defaultSetting.order_by_type,
order_by_rule: defaultSetting.order_by_rule,
is_show: ['title', 'plugins_view_icon', 'price', 'sales_count', 'original_price'],
static_img: [{ id: 2, url: new_url + 'price.png', original: '角标', title: '角标', ext: '.png', type: 'img' }],
is_shop_show: '1',

View File

@ -1,4 +1,5 @@
import defaultCommon from './index';
import defaultSetting from '../setting/index';
import { online_url } from '@/utils';
const new_url = await online_url('/static/app/common/').then((res) => res);
interface articleTabsList {
@ -80,10 +81,10 @@ const defaultProductList: DefaultProductList = {
theme: '0',
carousel_col: 3,
tabs_list: [
{ id: '1', title: '热门推荐', img: [], desc: '简介', data_type: '0', category_ids: [], brand_ids: [], data_ids: [], number: 4, order_by_type: '0', order_by_rule: '0', data_list: [], data_auto_list: [] },
{ id: '2', title: '测试一', img: [], desc: '简介', data_type: '0', category_ids: [], brand_ids: [], data_ids: [], number: 4, order_by_type: '0', order_by_rule: '0', data_list: [], data_auto_list: [] },
{ id: '3', title: '测试二', img: [], desc: '简介', data_type: '0', category_ids: [], brand_ids: [], data_ids: [], number: 4, order_by_type: '0', order_by_rule: '0', data_list: [], data_auto_list: [] },
{ id: '4', title: '测试三', img: [], desc: '简介', data_type: '0', category_ids: [], brand_ids: [], data_ids: [], number: 4, order_by_type: '0', order_by_rule: '0', data_list: [], data_auto_list: [] },
{ id: '1', title: '热门推荐', img: [], desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, brand_ids: defaultSetting.brand_ids, data_ids: [], number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_type, data_list: [], data_auto_list: [] },
{ id: '2', title: '测试一', img: [], desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, brand_ids: defaultSetting.brand_ids, data_ids: [], number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_type, data_list: [], data_auto_list: [] },
{ id: '3', title: '测试二', img: [], desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, brand_ids: defaultSetting.brand_ids, data_ids: [], number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_type, data_list: [], data_auto_list: [] },
{ id: '4', title: '测试三', img: [], desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, brand_ids: defaultSetting.brand_ids, data_ids: [], number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_type, data_list: [], data_auto_list: [] },
],
tabs_active_index: 0,
static_img: [{ id: 2, url: new_url + 'price.png', original: '角标', title: '角标', ext: '.png', type: 'img' }],

View File

@ -0,0 +1,25 @@
interface DefaultSetting {
page_size: number;
order_by_type: string;
order_by_rule: string;
is_cover: string;
category_ids: string[];
brand_ids: string[];
coupon_ids: string[];
}
const defaultSetting: DefaultSetting = {
page_size: 4,
order_by_type: '0',
order_by_rule: '0',
// 文章封面
is_cover: '1',
// 分类id
category_ids: [],
// 品牌分类id
brand_ids: [],
// 优惠券分类id
coupon_ids: [],
};
export default defaultSetting;

View File

@ -21,6 +21,7 @@
import { is_obj } from '@/utils';
import { Settings, AppMain } from './components/index';
import defaultSettings from './components/main/index';
import defaultConfigSetting from '@/config/setting';
import { cloneDeep } from 'lodash';
import DiyAPI, { diyData, headerAndFooter, diyConfig } from '@/api/diy';
import CommonAPI from '@/api/common';
@ -205,23 +206,49 @@ const save_formmat_form_data = (data: diy_data_item, close: boolean = false, is_
};
});
item.com_data.content.data_auto_list = [];
if (item.com_data.content.data_type == '0') {
item.com_data.content.category_ids = defaultConfigSetting.category_ids;
item.com_data.content.number = defaultConfigSetting.page_size;
item.com_data.content.order_by_rule = defaultConfigSetting.order_by_rule;
item.com_data.content.order_by_type = defaultConfigSetting.order_by_type;
if (item.key == new_array_1[0]) {
item.com_data.content.brand_ids = defaultConfigSetting.brand_ids;
} else {
item.com_data.content.is_cover = defaultConfigSetting.is_cover;
}
}
} else if (new_array_2.includes(item.key)) {
item.com_data.content.tabs_active_index = 0;
item.com_data.content.tabs_list.map((item: any) => {
item.data_ids = item.data_list.map((item1: any) => item1.data.id).join(',') || '';
item.data_list = item.data_list.map((item2: any) => {
item.com_data.content.tabs_list.map((item0: any) => {
item0.data_ids = item0.data_list.map((item1: any) => item1.data.id).join(',') || '';
item0.data_list = item0.data_list.map((item2: any) => {
return {
...item2,
data: [],
data_id: item2.data.id,
};
});
item.data_auto_list = [];
item0.data_auto_list = [];
if (item0.data_type == '0') {
item0.category_ids = defaultConfigSetting.category_ids;
item0.number = defaultConfigSetting.page_size;
item0.order_by_rule = defaultConfigSetting.order_by_rule;
item0.order_by_type = defaultConfigSetting.order_by_type;
if (item.key == new_array_1[0]) {
item0.brand_ids = defaultConfigSetting.brand_ids;
} else {
item0.is_cover = defaultConfigSetting.is_cover;
}
}
});
} else if (new_array_3.includes(item.key)) {
item.com_data.content.data_ids = item.com_data.content.data_list.map((item: any) => item.data.id).join(',') || '';
item.com_data.content.data_ids = item.com_data.content.data_list.map((item: any) => item.id).join(',') || '';
item.com_data.content.data_list = [];
item.com_data.content.data_auto_list = [];
if (item.com_data.content.data_type == '1') {
item.com_data.content.type = defaultConfigSetting.coupon_ids;
item.com_data.content.number = defaultConfigSetting.page_size;
}
} else if (new_array_4.includes(item.key)) {
item.com_data.content.data_magic_list.map((item1: any) => {
item1.data_content.goods_ids = item1.data_content.goods_list.map((item2: any) => item2.data.id).join(',') || '';