market_api_928_2
This commit is contained in:
@@ -64,6 +64,18 @@ export async function updateActivity(data) {
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改活动商品
|
||||
* @param data 活动信息
|
||||
*/
|
||||
export async function updateActivityItem(data) {
|
||||
const res = await request.put('/sylive/activity/item', data);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除活动
|
||||
* @param id 活动id
|
||||
|
||||
@@ -18,13 +18,21 @@
|
||||
placeholder="请输入商品标题"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="商品图片:" prop="shareImg">
|
||||
<el-form-item label="商品价格:" prop="price">
|
||||
<el-input
|
||||
clearable
|
||||
:maxlength="60"
|
||||
v-model="form.price"
|
||||
placeholder="请输入商品价格"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="商品图片:" prop="itemImg">
|
||||
<ele-image-upload
|
||||
v-model="form.shareImg"
|
||||
v-model="form.itemImg"
|
||||
:limit="10"
|
||||
:drag="true"
|
||||
:multiple="true"
|
||||
:upload-handler="shareImgHandler"
|
||||
:upload-handler="itemImgHandler"
|
||||
@upload="onUpload"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -44,7 +52,7 @@
|
||||
<el-input
|
||||
v-model="form.introduction"
|
||||
placeholder="请输入商品简介"
|
||||
:rows="3"
|
||||
:rows="5"
|
||||
type="textarea"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -61,28 +69,23 @@
|
||||
<script>
|
||||
import EleImageUpload from 'ele-admin/es/ele-image-upload';
|
||||
import request from '@/utils/request';
|
||||
import { addActivity, updateActivity } from '@/api/sylive/activity';
|
||||
import { updateActivityItem } from '@/api/sylive/activity';
|
||||
export default {
|
||||
components: { EleImageUpload },
|
||||
props: {
|
||||
// 弹窗是否打开
|
||||
visible: Boolean,
|
||||
// 修改回显的数据
|
||||
data: Object,
|
||||
// 全部机构
|
||||
organizationList: Array
|
||||
data: Object
|
||||
},
|
||||
data() {
|
||||
const defaultForm = {
|
||||
activityId: null,
|
||||
bizIds: [],
|
||||
title: '',
|
||||
channelId: '',
|
||||
price: '',
|
||||
itemImg: [],
|
||||
dateRange: '',
|
||||
introduction: '',
|
||||
shareTitle: [''],
|
||||
shareImg: [],
|
||||
bgImg: []
|
||||
introduction: ''
|
||||
};
|
||||
return {
|
||||
defaultForm,
|
||||
@@ -97,38 +100,24 @@
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
bizIds: [
|
||||
price: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择所属门店',
|
||||
message: '请输入商品价格',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
bgImg: [
|
||||
itemImg: [
|
||||
{
|
||||
required: true,
|
||||
message: '请上传背景图',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
channelId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入直播频道',
|
||||
message: '请上传商品图',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
dateRange: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择直播时间',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
introduction: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入商品简介',
|
||||
message: '请选择抢购时间',
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
@@ -146,26 +135,17 @@
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/* 添加分享描述 */
|
||||
addShareTitle() {
|
||||
this.form.shareTitle.push('');
|
||||
},
|
||||
/* 保存编辑 */
|
||||
save() {
|
||||
this.$refs.form.validate((valid) => {
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
this.form.shareTitle.forEach((item, i) => {
|
||||
if (item == '') {
|
||||
this.form.shareTitle.splice(i, 1);
|
||||
}
|
||||
});
|
||||
this.loading = true;
|
||||
const data = {
|
||||
...this.form
|
||||
};
|
||||
const saveOrUpdate = this.isUpdate ? updateActivity : addActivity;
|
||||
const saveOrUpdate = updateActivityItem;
|
||||
saveOrUpdate(data)
|
||||
.then((msg) => {
|
||||
this.loading = false;
|
||||
@@ -184,7 +164,7 @@
|
||||
this.$emit('update:visible', value);
|
||||
},
|
||||
/* 上传事件 */
|
||||
shareImgHandler(file) {
|
||||
itemImgHandler(file) {
|
||||
const item = {
|
||||
file,
|
||||
uid: file.uid,
|
||||
@@ -202,7 +182,7 @@
|
||||
}
|
||||
item.url = window.URL.createObjectURL(file);
|
||||
// 关键就是这里要自己 push 添加数据而不是靠 v-modal 自动更新
|
||||
this.form.shareImg.push(item);
|
||||
this.form.itemImg.push(item);
|
||||
this.onUpload(item);
|
||||
},
|
||||
/* 上传 item */
|
||||
@@ -240,13 +220,8 @@
|
||||
...this.data
|
||||
});
|
||||
this.isUpdate = true;
|
||||
if (this.form.shareTitle.length == 0) {
|
||||
this.form.shareTitle.push('');
|
||||
}
|
||||
} else {
|
||||
this.form.organizationId = this.organizationId;
|
||||
this.form.bgImg = [];
|
||||
this.form.shareImg = [];
|
||||
this.form.itemImg = [];
|
||||
this.isUpdate = false;
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -59,6 +59,14 @@
|
||||
>
|
||||
二维码
|
||||
</el-link>
|
||||
<el-link
|
||||
type="primary"
|
||||
:underline="false"
|
||||
icon="el-icon-edit"
|
||||
@click="openEditItem(row)"
|
||||
>
|
||||
商品
|
||||
</el-link>
|
||||
<el-link
|
||||
type="primary"
|
||||
:underline="false"
|
||||
@@ -88,6 +96,12 @@
|
||||
:organization-list="organizationList"
|
||||
@done="reload"
|
||||
/>
|
||||
<!-- 编辑商品弹窗 -->
|
||||
<activity-item
|
||||
:data="current"
|
||||
:visible.sync="showEditItem"
|
||||
@done="reload"
|
||||
/>
|
||||
<!-- 二维码 -->
|
||||
<qr-code :visible.sync="showCode" :data="current" />
|
||||
</div>
|
||||
@@ -97,6 +111,7 @@
|
||||
import QrCode from './components/qr-code.vue';
|
||||
import ActivitySearch from './components/activity-search.vue';
|
||||
import ActivityEdit from './components/activity-edit.vue';
|
||||
import ActivityItem from './components/activity-item.vue';
|
||||
import {
|
||||
pageActivity,
|
||||
removeActivity,
|
||||
@@ -110,7 +125,8 @@
|
||||
components: {
|
||||
QrCode,
|
||||
ActivitySearch,
|
||||
ActivityEdit
|
||||
ActivityEdit,
|
||||
ActivityItem
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -140,14 +156,14 @@
|
||||
label: '标题',
|
||||
sortable: 'custom',
|
||||
showOverflowTooltip: true,
|
||||
minWidth: 110
|
||||
minWidth: 150
|
||||
},
|
||||
{
|
||||
prop: 'channelId',
|
||||
label: '直播频道',
|
||||
sortable: 'custom',
|
||||
showOverflowTooltip: true,
|
||||
minWidth: 110,
|
||||
minWidth: 70,
|
||||
slot: 'nickname'
|
||||
},
|
||||
{
|
||||
@@ -155,21 +171,21 @@
|
||||
label: '直播开始时间',
|
||||
sortable: 'custom',
|
||||
showOverflowTooltip: true,
|
||||
minWidth: 110
|
||||
minWidth: 100
|
||||
},
|
||||
{
|
||||
prop: 'e_time',
|
||||
label: '直播结束时间',
|
||||
sortable: 'custom',
|
||||
showOverflowTooltip: true,
|
||||
minWidth: 110
|
||||
minWidth: 100
|
||||
},
|
||||
{
|
||||
prop: 'createTime',
|
||||
label: '创建时间',
|
||||
sortable: 'custom',
|
||||
showOverflowTooltip: true,
|
||||
minWidth: 110,
|
||||
minWidth: 100,
|
||||
formatter: (_row, _column, cellValue) => {
|
||||
return this.$util.toDateString(cellValue);
|
||||
}
|
||||
@@ -187,7 +203,7 @@
|
||||
{
|
||||
columnKey: 'action',
|
||||
label: '操作',
|
||||
width: 270,
|
||||
width: 330,
|
||||
align: 'center',
|
||||
resizable: false,
|
||||
slot: 'action'
|
||||
@@ -199,6 +215,8 @@
|
||||
current: null,
|
||||
// 是否显示编辑弹窗
|
||||
showEdit: false,
|
||||
// 是否显示编辑商品弹窗
|
||||
showEditItem: false,
|
||||
// 是否显示二维码弹窗
|
||||
showCode: false
|
||||
};
|
||||
@@ -237,6 +255,11 @@
|
||||
this.current = row;
|
||||
this.showEdit = true;
|
||||
},
|
||||
/* 打开编辑弹窗 */
|
||||
openEditItem(row) {
|
||||
this.current = row.item;
|
||||
this.showEditItem = true;
|
||||
},
|
||||
/* 打开二维码弹窗 */
|
||||
openCode(row) {
|
||||
this.current = row;
|
||||
|
||||
Reference in New Issue
Block a user