Commit 58e4e95b authored by 郝聪敏's avatar 郝聪敏

feature: 优化

parent ba42d8e6
...@@ -47,147 +47,155 @@ export default { ...@@ -47,147 +47,155 @@ export default {
// todo: 对外接口需提供x-auth-token // todo: 对外接口需提供x-auth-token
// 购物车-添加商品 // 购物车-添加商品
addShopCart(params) { addShopCart(params) {
return http.post(`${config.kdspHost}/api/kdsp/shop-cart/add-update`, params); return http.post(`${config.kdspHost}/api/kdsp/shop-cart/add-update`, params, {
hideToken: true,
headers: {
'x-auth-token': '7386386a-3a78-41f9-8584-14933823bf20'
}
});
}, },
// 商品组或专题查询 // 商品组或专题查询
getGoods(params) { getGoods(params) {
// return http.post(`${config.kdspHost}/api/kdsp/activity/activity-goods-special/skus`, params); return http.post(`${config.kdspHost}/api/kdsp/activity/activity-goods-special/skus`, params);
return { // return {
skus: [ // skus: [
{ // {
skuNo: '100014565800', // skuNo: '100014565800',
skuName: '【自营】【自营】小米手机 陶瓷黑 8GB+128GB 官方标配', // skuName: '【自营】【自营】小米手机 陶瓷黑 8GB+128GB 官方标配',
skuUrl: 'https://img14.360buyimg.com/n0/jfs/t1/141986/32/5318/98164/5f3236baE713fd239/5f2746db41f3e9c0.jpg', // skuUrl: 'https://img14.360buyimg.com/n0/jfs/t1/141986/32/5318/98164/5f3236baE713fd239/5f2746db41f3e9c0.jpg',
salePrice: 2.85, // salePrice: 2.85,
marketPrice: 293 // marketPrice: 293
}, // },
{ // {
skuNo: '100014565820', // skuNo: '100014565820',
skuName: '【自营】[自营][自营]0', // skuName: '【自营】[自营][自营]0',
skuUrl: 'https://img14.360buyimg.com/n0/jfs/t1/141986/32/5318/98164/5f3236baE713fd239/5f2746db41f3e9c0.jpg', // skuUrl: 'https://img14.360buyimg.com/n0/jfs/t1/141986/32/5318/98164/5f3236baE713fd239/5f2746db41f3e9c0.jpg',
salePrice: 264, // salePrice: 264,
marketPrice: 300 // marketPrice: 300
}, // },
{ // {
skuNo: '100014565820', // skuNo: '100014565820',
skuName: '【自营】[自营][自营]0', // skuName: '【自营】[自营][自营]0',
skuUrl: 'https://img14.360buyimg.com/n0/jfs/t1/141986/32/5318/98164/5f3236baE713fd239/5f2746db41f3e9c0.jpg', // skuUrl: 'https://img14.360buyimg.com/n0/jfs/t1/141986/32/5318/98164/5f3236baE713fd239/5f2746db41f3e9c0.jpg',
salePrice: 264, // salePrice: 264,
marketPrice: 300 // marketPrice: 300
}, // },
{ // {
skuNo: '100014565800', // skuNo: '100014565800',
skuName: '【自营】【自营】小米手机 陶瓷黑 8GB+128GB 官方标配', // skuName: '【自营】【自营】小米手机 陶瓷黑 8GB+128GB 官方标配',
skuUrl: 'https://img14.360buyimg.com/n0/jfs/t1/141986/32/5318/98164/5f3236baE713fd239/5f2746db41f3e9c0.jpg', // skuUrl: 'https://img14.360buyimg.com/n0/jfs/t1/141986/32/5318/98164/5f3236baE713fd239/5f2746db41f3e9c0.jpg',
salePrice: 2.85, // salePrice: 2.85,
marketPrice: 293 // marketPrice: 293
}, // },
{ // {
skuNo: '100014565820', // skuNo: '100014565820',
skuName: '【自营】[自营][自营]0', // skuName: '【自营】[自营][自营]0',
skuUrl: 'https://img14.360buyimg.com/n0/jfs/t1/141986/32/5318/98164/5f3236baE713fd239/5f2746db41f3e9c0.jpg', // skuUrl: 'https://img14.360buyimg.com/n0/jfs/t1/141986/32/5318/98164/5f3236baE713fd239/5f2746db41f3e9c0.jpg',
salePrice: 264, // salePrice: 264,
marketPrice: 300 // marketPrice: 300
}, // },
{ // {
skuNo: '100014565820', // skuNo: '100014565820',
skuName: '【自营】[自营][自营]0', // skuName: '【自营】[自营][自营]0',
skuUrl: 'https://img14.360buyimg.com/n0/jfs/t1/141986/32/5318/98164/5f3236baE713fd239/5f2746db41f3e9c0.jpg', // skuUrl: 'https://img14.360buyimg.com/n0/jfs/t1/141986/32/5318/98164/5f3236baE713fd239/5f2746db41f3e9c0.jpg',
salePrice: 264, // salePrice: 264,
marketPrice: 300 // marketPrice: 300
} // }
] // ]
}; // };
}, },
// 根据id查询优惠券列表 // 根据id查询优惠券列表
getCoupons(params) { getCoupons(params) {
// return http.post(`${config.kdspHost}/api/kdsp/coupon/list`, params, { return http.get(`${config.kdspHost}/api/kdsp/coupon/list`, {
// hideToken: true, params,
// headers: { hideToken: true,
// 'x-auth-token': '97466ed6-ec03-452e-be8f-763a8ffafefe' headers: {
// } 'x-auth-token': '7386386a-3a78-41f9-8584-14933823bf20'
// });
return {
coupons: [
{
id: 1,
pickupId: 1,
name: '3C数码会场',
startDate: '2021-02-22',
endDate: '2021-02-22',
faceValue: 100,
limitAmount: 300,
limitDesc: '满300减100',
couponCategory: 1,
iconUrl: 'in esse',
description: 'officia do',
status: 19667180,
navUrl: 'exercitation est',
pickupAble: false,
publishCountFinished: false
},
{
id: 2,
pickupId: 1,
name: '3C数码会场',
startDate: '2021-02-22',
endDate: '2021-02-22',
faceValue: 100,
limitAmount: 300,
limitDesc: '满300减100',
couponCategory: 1,
iconUrl: 'oc',
description: 'minim dolore tempor',
status: 63205995,
navUrl: 'cupidat',
pickupAble: true,
publishCountFinished: false
},
{
id: 3,
pickupId: 1,
name: '3C数码会场',
startDate: '2021-02-22',
endDate: '2021-02-22',
faceValue: 100,
limitAmount: 300,
limitDesc: '满300减100',
couponCategory: 1,
iconUrl: 'eu fugiat commodo voluptate exercitation',
description: 'nisi',
status: 43999314,
navUrl: 'commodo in reprehenderit',
pickupAble: false,
publishCountFinished: true
},
{
id: 4,
pickupId: 1,
name: '3C数码会场',
startDate: '2021-02-22',
endDate: '2021-02-22',
faceValue: 100,
limitAmount: 300,
limitDesc: '满300减100',
couponCategory: 1,
iconUrl: 'eu fugiat commodo voluptate exercitation',
description: 'nisi',
status: 43999314,
navUrl: 'commodo in reprehenderit',
pickupAble: false,
publishCountFinished: true
} }
] });
}; // return {
// coupons: [
// {
// id: 1,
// pickupId: 1,
// name: '3C数码会场',
// startDate: '2021-02-22',
// endDate: '2021-02-22',
// faceValue: 100,
// limitAmount: 300,
// limitDesc: '满300减100',
// couponCategory: 1,
// iconUrl: 'in esse',
// description: 'officia do',
// status: 19667180,
// navUrl: 'exercitation est',
// pickupAble: false,
// publishCountFinished: false
// },
// {
// id: 2,
// pickupId: 1,
// name: '3C数码会场',
// startDate: '2021-02-22',
// endDate: '2021-02-22',
// faceValue: 100,
// limitAmount: 300,
// limitDesc: '满300减100',
// couponCategory: 1,
// iconUrl: 'oc',
// description: 'minim dolore tempor',
// status: 63205995,
// navUrl: 'cupidat',
// pickupAble: true,
// publishCountFinished: false
// },
// {
// id: 3,
// pickupId: 1,
// name: '3C数码会场',
// startDate: '2021-02-22',
// endDate: '2021-02-22',
// faceValue: 100,
// limitAmount: 300,
// limitDesc: '满300减100',
// couponCategory: 1,
// iconUrl: 'eu fugiat commodo voluptate exercitation',
// description: 'nisi',
// status: 43999314,
// navUrl: 'commodo in reprehenderit',
// pickupAble: false,
// publishCountFinished: true
// },
// {
// id: 4,
// pickupId: 1,
// name: '3C数码会场',
// startDate: '2021-02-22',
// endDate: '2021-02-22',
// faceValue: 100,
// limitAmount: 300,
// limitDesc: '满300减100',
// couponCategory: 1,
// iconUrl: 'eu fugiat commodo voluptate exercitation',
// description: 'nisi',
// status: 43999314,
// navUrl: 'commodo in reprehenderit',
// pickupAble: false,
// publishCountFinished: true
// }
// ]
// };
}, },
// 领取优惠券 // 领取优惠券
pickupCoupon(params) { pickupCoupon(params) {
return http.post(`${config.kdspHost}/api/kdsp/coupon/pickup`, params, { return http.post(`${config.kdspHost}/api/kdsp/coupon/pickup`, params, {
hideToken: true,
// todo: header里二者参数需特殊处理 // todo: header里二者参数需特殊处理
headers: { headers: {
'x-user-terminal': 'H5', 'x-user-terminal': 'H5',
'vccChannel': '', 'vccChannel': '',
} 'x-auth-token': ''
},
}); });
}, },
}; };
\ No newline at end of file
...@@ -9,5 +9,6 @@ export default { ...@@ -9,5 +9,6 @@ export default {
shenceUrl: `${protocol}//bn.xyqb.com/sa?project=default`, shenceUrl: `${protocol}//bn.xyqb.com/sa?project=default`,
opapiHost: `https://opapi-vcc2.liangkebang.net`, opapiHost: `https://opapi-vcc2.liangkebang.net`,
qiniuUpHost: `${protocol}//up-z0.qiniup.com`, qiniuUpHost: `${protocol}//up-z0.qiniup.com`,
kdspHost: 'https://kdsp-api-vcc2.liangkebang.net', // kdspHost: 'https://kdsp-api-vcc2.liangkebang.net',
kdspHost: 'https://talos-vcc2.liangkebang.net'
}; };
<template> <template>
<div class="coupon" v-if="column === 1"> <div class="coupon" v-if="column === 1">
<div class="coupon-item_one" :style="style" :key="coupon.id" v-for="coupon in couponList"> <div class="coupon-item_one" :style="style" :key="index" v-for="(coupon, index) in couponList">
<div class="Gi_one-left"> <div class="Gi_one-left">
<p>¥<span>{{ coupon.faceValue || '-' }}</span></p> <p>¥<span>{{ coupon.faceValue || '-' }}</span></p>
<p>{{coupon.limitDesc}}</p> <p>{{coupon.limitDesc}}</p>
</div> </div>
<div class="Gi_one-middle"> <div class="Gi_one-middle">
<p>{{ coupon.name }}</p> <p>{{ coupon.name }}</p>
<p>{{`${coupon.startDate} - ${coupon.endDate}`}}</p> <p>{{ coupon.couponValidTime }}</p>
</div> </div>
<cr-button class="Gi_one-right" type="primary" @click="getCoupon(coupon)">{{btnText(coupon.pickupAble)}}</cr-button> <cr-button class="Gi_one-right" type="primary" @click="pickupCoupon(coupon)">{{btnText(coupon.pickupAble)}}</cr-button>
<div class="coupon-item-mask" v-if="!coupon.pickupAble && coupon.publishCountFinished"> <div class="coupon-item-mask" v-if="!coupon.pickupAble && coupon.publishCountFinished">
<p>已抢空</p> <p>已抢空</p>
</div> </div>
</div> </div>
</div> </div>
<div v-else :class="['coupon', {'coupon_two': column === 2, 'coupon_multiple': column === 3}]"> <div v-else :class="['coupon', {'coupon_two': column === 2, 'coupon_multiple': column === 3}]">
<div class="coupon-item" :style="style" :key="coupon.id" v-for="coupon in couponList"> <div class="coupon-item" :style="style" :key="index" v-for="(coupon, index) in couponList">
<p class="coupon-item-title">{{ coupon.name }}</p> <p class="coupon-item-title">{{ coupon.name }}</p>
<p class="coupon-item-amount">¥<span>{{ coupon.faceValue || '-' }}</span></p> <p class="coupon-item-amount">¥<span>{{ coupon.faceValue || '-' }}</span></p>
<p class="coupon-item-amount">{{coupon.limitDesc}}</p> <p class="coupon-item-amount">{{coupon.limitDesc}}</p>
<cr-button shape="circle" type="primary" @click="getCoupon(coupon)"> <cr-button shape="circle" type="primary" @click="pickupCoupon(coupon)">
{{btnText(coupon.pickupAble)}} {{btnText(coupon.pickupAble)}}
</cr-button> </cr-button>
<div class="coupon-item-mask" v-if="!coupon.pickupAble && coupon.publishCountFinished"> <div class="coupon-item-mask" v-if="!coupon.pickupAble && coupon.publishCountFinished">
...@@ -67,22 +67,25 @@ ...@@ -67,22 +67,25 @@
watch: { watch: {
couponsList: { couponsList: {
handler: async function (newVal) { handler: async function (newVal) {
const { coupons } = await operationApi.getCoupons({ couponIds: newVal.join(',') }); if(newVal) this.getCoupons(newVal);
if(coupons && coupons.length) this.list = coupons;
// console.log('coupons', this.list);
}, },
immediate: true immediate: true
} }
}, },
methods: { methods: {
async getCoupon(coupon) { async pickupCoupon(coupon) {
if (!coupon.pickupAble) { if (!coupon.pickupAble) {
await operationApi.pickupCoupon({ couponId: coupon.couponId }); await operationApi.pickupCoupon({ couponId: coupon.id });
this.$toast.success('领取成功'); this.$toast.success('领取成功');
await this.getCoupons([coupon.id]);
} else { } else {
window.location.href = coupon.navUrl; window.location.href = coupon.navUrl;
} }
}, },
async getCoupons(ids) {
const { coupons } = await operationApi.getCoupons({ couponIds: ids.join(',') });
if(coupons && coupons.length) this.list = coupons;
},
btnText(pickupAble) { btnText(pickupAble) {
return pickupAble ? '去使用' : '立即领取'; return pickupAble ? '去使用' : '立即领取';
} }
......
...@@ -108,9 +108,9 @@ ...@@ -108,9 +108,9 @@
} }
}, },
async addShopCart(goods) { async addShopCart(goods) {
const { skuId, skuNum, skuSource } = goods; const { skuNo, skuSource } = goods;
const params = { skuId, skuNum, skuSource, type: 1 } const params = [{ skuId: skuNo, skuNum: 1, skuSource, type: 1 }];
await operationApi.addShopCart(params); await operationApi.addShopCart({ shopCartBaseList: params });
this.$toast.success('添加成功'); this.$toast.success('添加成功');
} }
} }
......
...@@ -8,13 +8,13 @@ ...@@ -8,13 +8,13 @@
</div> </div>
</template> </template>
<script> <script>
import Goods from '../Goods/index.vue'; import CsGoods from '../Goods/index.vue';
import Coupon from '../Coupon/index.vue'; import CsCoupon from '../Coupon/index.vue';
export default { export default {
name: 'goods-tabs', name: 'goods-tabs',
components: { components: {
Goods, CsGoods,
Coupon CsCoupon
}, },
props: { props: {
list: { list: {
......
This diff is collapsed.
<template> <template>
<div class="color-selector"> <div class="color-selector">
<Input class="color-selector-input" v-model="color" placeholder="请输入" @input="change"></Input> <Input class="color-selector-input" v-model="color" placeholder="请输入" @input="change"></Input>
<ColorPicker v-model="color" @on-change="change($event)" /> <ColorPicker placement="bottom-end" v-model="color" @on-change="change($event)" />
</div> </div>
</template> </template>
<script> <script>
......
...@@ -110,8 +110,8 @@ ...@@ -110,8 +110,8 @@
} }
&-button { &-button {
margin-top: 20px; // margin-top: 20px;
text-align: center; // text-align: center;
} }
} }
</style> </style>
\ No newline at end of file
...@@ -40,7 +40,7 @@ export default class GoodsTableModal extends Vue { ...@@ -40,7 +40,7 @@ export default class GoodsTableModal extends Vue {
async query(data) { async query(data) {
const { records, total } = await operationApi.skuInfo({ type: 'list', ...data }); const { records, total } = await operationApi.skuInfo({ type: 'list', ...data });
records.forEach(record => { records?.forEach(record => {
if (this.goods.ids.some(v => v === record.skuNo)) { if (this.goods.ids.some(v => v === record.skuNo)) {
record._checked = true; record._checked = true;
} }
...@@ -64,8 +64,8 @@ export default class GoodsTableModal extends Vue { ...@@ -64,8 +64,8 @@ export default class GoodsTableModal extends Vue {
}, },
async queryGroup(data) { async queryGroup(data) {
const { records, total } = await operationApi.specialPage(data); const { records, total } = await operationApi.specialPage(data);
records.forEach(record => { records?.forEach(record => {
if (this.goods.ids.some(v => v === record.skuNo)) { if (this.goods.ids.some(v => v === record.id)) {
record._checked = true; record._checked = true;
} }
}); });
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<template v-for="(item, index) in curElement.schame"> <template v-for="(item, index) in curElement.schame">
<div v-if="item.title"> <div v-if="item.title">
<h3>{{ item.title }}</h3> <h3>{{ item.title }}</h3>
<FormItem :label="child.name" :key="child.key" v-for="child in item.children"> <FormItem :label="child.name" :key="curElement.id + child.key" v-for="child in item.children">
<component :is="getComponent(child.type)" :options="child.options" :formControl="child.formControl" v-model="form[child.key]" /> <component :is="getComponent(child.type)" :options="child.options" :formControl="child.formControl" v-model="form[child.key]" />
</FormItem> </FormItem>
</div> </div>
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<ColorSelector v-else-if="item.label === '背景颜色'" v-model="commonStyle.backgroundColor" @input="updateStyle($event, 'backgroundColor')"></ColorSelector> <ColorSelector v-else-if="item.label === '背景颜色'" v-model="commonStyle.backgroundColor" @input="updateStyle($event, 'backgroundColor')"></ColorSelector>
<template v-else> <template v-else>
<Tooltip placement="top" :content="child.content" v-for="child in item.list" :key="child.content"> <Tooltip placement="top" :content="child.content" v-for="child in item.list" :key="child.content">
<Button type="ghost" :icon="child.icon" @click="changeAlignType(...child.args)"></Button> <Button type="ghost" :icon="child.icon" @click="changeAlignType(child.args)"></Button>
</Tooltip> </Tooltip>
</template> </template>
</FormItem> </FormItem>
......
import { Component, Prop, Mixins, Watch } from 'vue-property-decorator'; import { Component, Prop, Mixins, Watch } from 'vue-property-decorator';
// import LoginForm from '@/lib/Form/index.vue';
import DownloadGuide from '@/lib/DownloadGuide/index.vue';
import CustomMarquee from '@/lib/Marquee/index.vue';
import ContextMenuMixin from '@editor/mixins/contextMenu.mixin'; import ContextMenuMixin from '@editor/mixins/contextMenu.mixin';
import TransformStyleMixin from '@/page/mixins/transformStyle.mixin'; import TransformStyleMixin from '@/page/mixins/transformStyle.mixin';
import { cloneDeep, pick, omit, throttle } from 'lodash'; import { cloneDeep, pick, omit, throttle } from 'lodash';
import { Action, Mutation, State, Getter } from 'vuex-class'; import { Action, Mutation, State, Getter } from 'vuex-class';
import { convertPointStyle, getStyle } from '@/service/utils.service'; import { convertPointStyle, getStyle } from '@/service/utils.service';
// import CsGuideCube from '@/lib/DownloadGuide/index.vue';
// import CsMarquee from '@/lib/Marquee/index.vue';
@Component({ components: { DownloadGuide, CustomMarquee }, name: 'FreedomContainer' }) @Component({ components: { }, name: 'FreedomContainer' })
export default class FreedomContainer extends Mixins(ContextMenuMixin, TransformStyleMixin) { export default class FreedomContainer extends Mixins(ContextMenuMixin, TransformStyleMixin) {
@Action('setDragable') setDragable; @Action('setDragable') setDragable;
@State(state => state.editor.curEleIndex) curEleIndex; @State(state => state.editor.curEleIndex) curEleIndex;
...@@ -76,7 +75,7 @@ export default class FreedomContainer extends Mixins(ContextMenuMixin, Transform ...@@ -76,7 +75,7 @@ export default class FreedomContainer extends Mixins(ContextMenuMixin, Transform
@Watch('commonStyle') @Watch('commonStyle')
onCommonStyleChange(newVal) { onCommonStyleChange(newVal) {
// console.log('onCommonStyleChange', newVal); console.log('onCommonStyleChange', newVal);
if (newVal) { if (newVal) {
this.setDotsStyle(); this.setDotsStyle();
} }
...@@ -96,10 +95,12 @@ export default class FreedomContainer extends Mixins(ContextMenuMixin, Transform ...@@ -96,10 +95,12 @@ export default class FreedomContainer extends Mixins(ContextMenuMixin, Transform
this.$nextTick(() => { this.$nextTick(() => {
const points = ['lt', 'rt', 'lb', 'rb', 'l', 'r', 't', 'b']; const points = ['lt', 'rt', 'lb', 'rb', 'l', 'r', 't', 'b'];
const [height, width] = this.getHW(this.curChildIndex); const [height, width] = this.getHW(this.curChildIndex);
this.dots[this.curChildIndex] = points.reduce((pre, cur) => { const dots = points.reduce((pre, cur) => {
pre[cur] = convertPointStyle(cur, {height, width}); pre[cur] = convertPointStyle(cur, {height, width});
return pre; return pre;
}, {}); }, {});
this.$set(this.dots, this.curChildIndex, dots);
console.log('setDotsStyle', this.dots[this.curChildIndex]);
}); });
} }
......
...@@ -12,7 +12,7 @@ export default class GoodsTabsMixin extends Vue { ...@@ -12,7 +12,7 @@ export default class GoodsTabsMixin extends Vue {
const goodsTabs = {}; const goodsTabs = {};
const pageData = cloneDeep(this.pageData); const pageData = cloneDeep(this.pageData);
pageData.elements.forEach((element, idx) => { pageData.elements.forEach((element, idx) => {
if (element.name === 'goods-tabs' && element?.props?.list.length) { if (element.name === 'cs-goods-tabs' && element?.props?.list.length) {
const childs = []; const childs = [];
const childIndexs = []; const childIndexs = [];
element.props.list.forEach((data, index) => { element.props.list.forEach((data, index) => {
...@@ -40,7 +40,7 @@ export default class GoodsTabsMixin extends Vue { ...@@ -40,7 +40,7 @@ export default class GoodsTabsMixin extends Vue {
parseGoodsTabs() { parseGoodsTabs() {
const goodsTabs = {}; const goodsTabs = {};
this.pageData.elements.forEach((element, idx) => { this.pageData.elements.forEach((element, idx) => {
if (element.name === 'goods-tabs' && element.child.length) { if (element.name === 'cs-goods-tabs' && element?.child?.length) {
goodsTabs[idx] = cloneDeep(element.child); goodsTabs[idx] = cloneDeep(element.child);
// 逆向循环 // 逆向循环
for (let i = element.child.length - 1; i >= 0; i--) { for (let i = element.child.length - 1; i >= 0; i--) {
......
...@@ -6,26 +6,26 @@ import VueGridLayout from 'vue-grid-layout'; ...@@ -6,26 +6,26 @@ import VueGridLayout from 'vue-grid-layout';
import FreedomContainer from '../../component/FreedomContainer/index.vue'; import FreedomContainer from '../../component/FreedomContainer/index.vue';
import DynamicForm from '../../component/DynamicForm/index.vue'; import DynamicForm from '../../component/DynamicForm/index.vue';
import DynamicPageForm from '../../component/DynamicPageForm/index.vue'; import DynamicPageForm from '../../component/DynamicPageForm/index.vue';
// import LoginForm from '@/lib/Form/index.vue'; import { basicComponents, businessComponents } from '@/lib/config';
import DownloadGuide from '@/lib/DownloadGuide/index.vue';
import GoodsTabs from '@/lib/GoodsTabs/index.vue';
import Goods from '@/lib/Goods/index.vue';
import Advertisement from '@/lib/Advertisement/index.vue';
import Coupon from '@/lib/Coupon/index.vue';
import Placeholder from '@/lib/Placeholder/index.vue';
import GuideCube from '@/lib/GuideCube/index.vue';
import Marquee from '@/lib/Marquee/index.vue';
import ContextMenuMixin from '@editor/mixins/contextMenu.mixin'; import ContextMenuMixin from '@editor/mixins/contextMenu.mixin';
import GoodsTabsMixin from '@editor/mixins/goodsTabs.mixin'; import GoodsTabsMixin from '@editor/mixins/goodsTabs.mixin';
import TransformStyleMixin from '@/page/mixins/transformStyle.mixin'; import TransformStyleMixin from '@/page/mixins/transformStyle.mixin';
import BasicPageForm from '@editor/component/BasicPageForm/index.vue'; import BasicPageForm from '@editor/component/BasicPageForm/index.vue';
import { basicComponents, businessComponents } from '@/lib/config';
import config from '@/config/index'; import config from '@/config/index';
import localStorage from '@/service/localStorage.service'; import localStorage from '@/service/localStorage.service';
import EventBus from '@/service/eventBus.service'; import EventBus from '@/service/eventBus.service';
// import CsLoginForm from '@/lib/Form/index.vue';
// import CsDownloadGuide from '@/lib/DownloadGuide/index.vue';
// import CsGoodsTabs from '@/lib/GoodsTabs/index.vue';
// import CsGoods from '@/lib/Goods/index.vue';
// import CsAdvertisement from '@/lib/Advertisement/index.vue';
// import CsCoupon from '@/lib/Coupon/index.vue';
// import CsPlaceholder from '@/lib/Placeholder/index.vue';
// import CsGuideCube from '@/lib/GuideCube/index.vue';
// import CsMarquee from '@/lib/Marquee/index.vue';
// CsLoginForm, CsDownloadGuide, CsGuideCube, CsGoodsTabs, CsCoupon, CsMarquee, CsAdvertisement, CsGoods, CsPlaceholder
@Component({components: { DynamicComponent, FreedomContainer, DynamicForm, GridLayout: VueGridLayout.GridLayout, @Component({components: { DynamicComponent, FreedomContainer, DynamicForm, GridLayout: VueGridLayout.GridLayout,
GridItem: VueGridLayout.GridItem, DownloadGuide, BasicPageForm, DynamicPageForm, GoodsTabs, Goods, Coupon, Advertisement, Placeholder, GuideCube, Marquee }, name: 'DashBoard'}) GridItem: VueGridLayout.GridItem, BasicPageForm, DynamicPageForm }, name: 'DashBoard'})
export default class DashBoard extends Mixins(ContextMenuMixin, GoodsTabsMixin, TransformStyleMixin) { export default class DashBoard extends Mixins(ContextMenuMixin, GoodsTabsMixin, TransformStyleMixin) {
@Mutation('ADD_ELEMENTS') addElements; @Mutation('ADD_ELEMENTS') addElements;
@Mutation('SET_CUR_ELE_INDEX') setCurEleIndex; @Mutation('SET_CUR_ELE_INDEX') setCurEleIndex;
......
...@@ -37,7 +37,7 @@ import Tabs from '@qg/cherry-ui/src/tabs'; ...@@ -37,7 +37,7 @@ import Tabs from '@qg/cherry-ui/src/tabs';
import BackTop from '@qg/cherry-ui/src/back-top'; import BackTop from '@qg/cherry-ui/src/back-top';
import Notify from '@qg/cherry-ui/src/notify'; import Notify from '@qg/cherry-ui/src/notify';
import Toast from '@qg/cherry-ui/src/toast'; import Toast from '@qg/cherry-ui/src/toast';
import { KaLoginForm } from '@qg/citrus-ui'; import citrusUi from '@qg/citrus-ui';
Vue.use(Button); Vue.use(Button);
Vue.use(Image); Vue.use(Image);
...@@ -66,7 +66,7 @@ Vue.use(Tabs); ...@@ -66,7 +66,7 @@ Vue.use(Tabs);
// Vue.use(Swipe); // Vue.use(Swipe);
Vue.use(BackTop); Vue.use(BackTop);
Vue.use(KaLoginForm); Vue.use(citrusUi);
Vue.prototype.$notify = Notify; Vue.prototype.$notify = Notify;
Vue.prototype.$toast = Toast; Vue.prototype.$toast = Toast;
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en" >
<head> <head>
<title>低代码平台</title> <title>低代码平台</title>
<meta name="keywords"> <meta name="keywords">
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<link href="https://cdn.bootcss.com/iview/2.9.0/styles/iview.css" rel="stylesheet"> <link href="https://cdn.bootcss.com/iview/2.9.0/styles/iview.css" rel="stylesheet">
<style> <style>
html { html {
font-size: 37.5Px; font-size: 37.5Px !important;
} }
html, body { html, body {
......
...@@ -1464,14 +1464,14 @@ ...@@ -1464,14 +1464,14 @@
"integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw=="
}, },
"@popperjs/core": { "@popperjs/core": {
"version": "2.8.4", "version": "2.9.0",
"resolved": "http://npmprivate.quantgroups.com/@popperjs%2fcore/-/core-2.8.4.tgz", "resolved": "http://npmprivate.quantgroups.com/@popperjs%2fcore/-/core-2.9.0.tgz",
"integrity": "sha512-h0lY7g36rhjNV8KVHKS3/BEOgfsxu0AiRI8+ry5IFBGEsQFkpjxtcpVc9ndN8zrKUeMZXAWMc7eQMepfgykpxQ==" "integrity": "sha512-wjtKehFAIARq2OxK8j3JrggNlEslJfNuSm2ArteIbKyRMts2g0a7KzTxfRVNUM+O0gnBJ2hNV8nWPOYBgI1sew=="
}, },
"@qg/cherry-ui": { "@qg/cherry-ui": {
"version": "2.18.66", "version": "2.18.75",
"resolved": "http://npmprivate.quantgroups.com/@qg%2fcherry-ui/-/cherry-ui-2.18.66.tgz", "resolved": "http://npmprivate.quantgroups.com/@qg%2fcherry-ui/-/cherry-ui-2.18.75.tgz",
"integrity": "sha512-JnpL3zuCeUzb11ji70KZ6fmt/XpjGwcxhHZsafQo7tiKpU9uAxZCJgUfiY0+XuyyBBqoBi/CRrWg7fvIFLewLA==", "integrity": "sha512-F5a1iySaJ70IZ9/kdY7DoijR+Wa5nzJjhaGtv4n9wrujxwrIPJPJ7k+sgAmujJXWgzGoSVYqPT6AFhg4JJ1GCQ==",
"requires": { "requires": {
"@popperjs/core": "^2.5.4", "@popperjs/core": "^2.5.4",
"vue-lazyload": "^1.3.3", "vue-lazyload": "^1.3.3",
...@@ -1479,16 +1479,17 @@ ...@@ -1479,16 +1479,17 @@
} }
}, },
"@qg/citrus-ui": { "@qg/citrus-ui": {
"version": "0.0.1-alpha.2", "version": "0.0.14",
"resolved": "http://npmprivate.quantgroups.com/@qg%2fcitrus-ui/-/citrus-ui-0.0.1-alpha.2.tgz", "resolved": "http://npmprivate.quantgroups.com/@qg%2fcitrus-ui/-/citrus-ui-0.0.14.tgz",
"integrity": "sha512-lp8JAPaAdVtVq+jEnoRx/y64Usz4GM/IvYlvtGlxt3/d9/BBgYqhjwxW8diGy0zZ9QztAJXoC+4WEDbWZk0JMw==", "integrity": "sha512-DtffXRTjxtKebZ0ZsjDR8tQUZn57eMDZ/YkmUvUgs6qlEKulxiWQCVeCmQ8wWJtYcKE/qlp55R/XaJJ+BqY20Q==",
"requires": { "requires": {
"@better-scroll/core": "^2.1.1", "@better-scroll/core": "^2.1.1",
"@qg/cherry-ui": "^2.18.66", "@qg/cherry-ui": "^2.18.72",
"@qg/js-bridge": "^1.1.9", "@qg/js-bridge": "^1.1.9",
"axios": "^0.21.1", "axios": "^0.21.1",
"js-cookie": "^2.2.1", "js-cookie": "^2.2.1",
"sa-sdk-javascript": "^1.16.1", "sa-sdk-javascript": "^1.16.1",
"swiper": "^4.5.1",
"vuex": "^3.6.0" "vuex": "^3.6.0"
} }
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment