Commit 863b5f21 by 萱草

update: 活动列表

parent f1cd352b
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel=stylesheet type=text/css href=./static/css/iconfont.css><link rel=stylesheet type=text/css href=./static/css/common.css><link rel="shortcut icon" type=image/x-icon href=./static/img/favicon.ico><title>积分商城</title><link href=./static/css/app.54a36deb4ca2b497310bbd9a1d6ba9b6.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.45.js></script><script src=//web-1251519181.file.myqcloud.com/components/aside-menu.2.0.15.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-linkage.2.0.41.js></script><script src=//web-1251519181.file.myqcloud.com/components/activity-select.1.0.2.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-new.2.0.71.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.19.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.15.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.26.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.30.js></script><script src=//web-1251519181.file.myqcloud.com/components/pagination.1.0.8.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.2.28.js></script><script src=//web-1251519181.file.myqcloud.com/components/track.1.0.4.js></script><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.175ccdf2bfbfc0694b7c.js></script><script type=text/javascript src=./static/js/app.f83178ccedb8c8ebdd5a.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel=stylesheet type=text/css href=./static/css/iconfont.css><link rel=stylesheet type=text/css href=./static/css/common.css><link rel="shortcut icon" type=image/x-icon href=./static/img/favicon.ico><title>积分商城</title><link href=./static/css/app.e4c5564d35d7123aa58ad417454633cf.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.45.js></script><script src=//web-1251519181.file.myqcloud.com/components/aside-menu.2.0.15.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-linkage.2.0.41.js></script><script src=//web-1251519181.file.myqcloud.com/components/activity-select.1.0.2.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-new.2.0.71.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.19.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.15.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.26.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.30.js></script><script src=//web-1251519181.file.myqcloud.com/components/pagination.1.0.8.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.2.28.js></script><script src=//web-1251519181.file.myqcloud.com/components/track.1.0.4.js></script><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.175ccdf2bfbfc0694b7c.js></script><script type=text/javascript src=./static/js/app.00cc7032ebad0460c661.js></script></body></html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -80,7 +80,7 @@
</el-table>
<div class="pagination-conteiner" v-show="tableData.length > 0">
<div class="pagination">
<dm-pagination v-if="total != 0" background @current-change="getInfo" :current-page="query.currentPage" layout="prev, pager, next"></dm-pagination>
<el-pagination v-if="total != 0" small background @current-change="getInfo" hide-on-single-page layout="prev, pager, next"></el-pagination>
</div>
</div>
<div style="margin-top: 20px;text-align:right">
......
......@@ -63,7 +63,7 @@
</el-radio-group>
</el-form-item>
<el-form-item label="活动列表顶图">
<el-upload class="avatar-uploader" :action="uploadAction" :headers="headersUpload" :show-file-list="false" :on-success="handleSuccess" :before-upload="beforeUpload">
<el-upload class="avatar-uploader" with-credentials :action="uploadAction" :headers="headersUpload" :show-file-list="false" :on-success="handleSuccess" :before-upload="beforeUpload">
<img v-if="flashSaleForm.activityImageUrl" :src="flashSaleForm.activityImageUrl" class="avatar" />
<div v-else class="avatar-icon">
<i class="el-icon-plus avatar-uploader-icon"></i>
......@@ -113,14 +113,16 @@
</el-table-column>
<el-table-column label="活动价格" v-if="!isEdit">
<template slot-scope="{ row }">
<div v-if="!(row.giftType && row.children && row.children.length)"><el-input v-model="row.activityIntegral" placeholder="输入积分" size="small" class="w-110"></el-input></div>
<div v-if="!(row.giftType && row.children && row.children.length)" class="mt10"><el-input v-model="row.activityPrice" placeholder="输入现金" size="small" class="w-110"></el-input></div>
<!-- <div v-if="!(row.giftType && row.children && row.children.length)"><el-input v-model.trim="row.activityIntegral" placeholder="输入积分" size="small" class="w-110" @blur="limitIntergral(row.activityIntegral)"></el-input></div>
<div v-if="!(row.giftType && row.children && row.children.length)" class="mt10"><el-input v-model.trim="row.activityPrice" placeholder="输入现金" size="small" class="w-110"></el-input></div> -->
<div v-if="!(row.giftType && row.children && row.children.length)"><el-input v-model.trim="row.activityIntegral" placeholder="输入积分" size="small" class="w-110" @blur="limitIntergral(row.activityIntegral)"></el-input></div>
<div v-if="!(row.giftType && row.children && row.children.length)" class="mt10"><el-input v-model.trim="row.activityPrice" placeholder="输入现金" size="small" class="w-110"></el-input></div>
</template>
</el-table-column>
<el-table-column label="活动库存" :render-header="renderHeader" v-if="!isEdit">
<template slot-scope="{ row }">
<div v-if="!(row.giftType && row.children && row.children.length)"><el-input v-model="row.activityStock" placeholder="输入库存" size="small" class="w-110"></el-input></div>
<div v-if="!(row.giftType && row.children && row.children.length)" class="mt10"><el-input v-model="row.activityExchangeLimit" placeholder="输入限兑数量" size="small" class="w-110"></el-input></div>
<div v-if="!(row.giftType && row.children && row.children.length)"><el-input v-model.trim="row.activityStock" placeholder="输入库存" size="small" class="w-110"></el-input></div>
<div v-if="!(row.giftType && row.children && row.children.length)" class="mt10"><el-input v-model.trim="row.activityExchangeLimit" placeholder="输入限兑数量" size="small" class="w-110"></el-input></div>
</template>
</el-table-column>
<el-table-column label="参与活动">
......@@ -177,13 +179,14 @@
</div>
</div>
</el-form-item>
<div class="confim-btn" :style="{ width: fixedWidth + 'px' }">
<el-form-item class="fix-btn">
<el-button type="primary" size="small" v-if="!isEdit" @click="submitForm('flashSaleForm')">确认新建</el-button>
<el-button type="primary" size="small" v-else @click="submitForm('flashSaleForm')">保存</el-button>
<!-- <el-button size="small" @click="goBack">返回</el-button> -->
</el-form-item>
</div>
</el-form>
<div class="confim-btn" :style="{ width: fixedWidth + 'px' }">
<el-form-item class="fix-btn">
<el-button type="primary" size="small" @click="submitForm('flashSaleForm')">保存</el-button>
<el-button size="small" @click="goBack">返回</el-button>
</el-form-item>
</div>
</div>
<goods-select v-if="goodsDialog" :selectListMore="selectListMore" @closeGoodsSelect="closeGoodsSelect" @getSelectList="getSelectList"></goods-select>
<update-sku-stock v-if="skuStockDialog" :skuStockData="skuStockData" @closeSkuStock="closeSkuStock"></update-sku-stock>
......@@ -196,7 +199,7 @@
import request from '../../../service/request.js';
import getInputVal from '../../../utils/common.js';
import goodsSelect from '../../../components/goodsSelect';
// import copy from '../../../utils/clone.js';
import copy from '../../../utils/clone.js';
import updateSkuStock from '../../../components/updateSkuStock';
export default {
components: {
......@@ -220,7 +223,7 @@ export default {
endTime: '',
memberSearchType: 1, // 会员类型
limit: [], // 购买限制
ignoreLimitFlag: '',
ignoreLimitFlag: 0,
activityBackGround: 0,
activityImageUrl: '' // 活动列表顶图
},
......@@ -257,6 +260,7 @@ export default {
},
goodsDialog: false, // 选择商品弹窗
selectList: [], // 选中的商品
selectListCopy: [],
selectListMore: [],
isExpand: true, // 收起与展开的显示
skuStockDialog: false, // 开启和关闭修改实物礼品多规格sku
......@@ -274,9 +278,9 @@ export default {
// 选中活动商品
getSelectList(val) {
if (val) {
this.isExpand = true;
this.selectList = val;
this.selectList.forEach(item => {
// this.isExpand = true;
this.selectListCopy = val;
this.selectListCopy.forEach(item => {
item.isShow = false;
item.activityProStatus = 1;
item.activityExchangeLimit = ''; // 限兑
......@@ -305,6 +309,7 @@ export default {
});
}
});
this.selectList = copy(this.selectListCopy);
console.log(this.selectList);
}
},
......@@ -411,6 +416,13 @@ export default {
}
},
// 保存当前模板,对接保存接口
//校验积分
limitIntergral(value) {
console.log(value);
},
forceUpdate() {
this.$forceUpdate();
},
beforeUpload(file) {
if (file.size > 2 * 1024 * 1024) {
this.$message.error('请上传小于2MB的图片');
......@@ -474,7 +486,7 @@ export default {
giftProId: item.integralMallProId
});
if (item.children && item.children.length) {
item.forEach(it => {
item.children.forEach(it => {
item.activityProSkuList.push({
activityExchangeLimit: it.activityExchangeLimit,
activityIntegral: it.activityIntegral,
......@@ -491,7 +503,7 @@ export default {
this.$message.error('请选择参加活动的商品');
return false;
}
if (!this.activityImageUrl) {
if (!this.flashSaleForm.activityImageUrl) {
this.$message.error('请上传活动列表顶图');
return false;
}
......@@ -547,7 +559,8 @@ export default {
return [this.flashSaleForm.beginTime, this.flashSaleForm.endTime];
},
set(val) {
[this.flashSaleForm.beginTime, this.flashSaleForm.endTime] = val ? [this.getTimeAll(val[0]), this.getTimeAll(val[1])] : ['', ''];
// [this.flashSaleForm.beginTime, this.flashSaleForm.endTime] = val ? [this.getTimeAll(val[0]), this.getTimeAll(val[1])] : ['', ''];
[this.flashSaleForm.beginTime, this.flashSaleForm.endTime] = val ? val : ['', ''];
}
}
}
......
......@@ -18,14 +18,14 @@
<div class="operate-top">
<div class="fl">
<div class="search-item">
<el-select v-model="query.status" placeholder="所有活动状态" clearable class="w-140" @change="getSearchList('1')">
<el-option label="进行中" :value="0"></el-option>
<el-option label="已结束" :value="1"></el-option>
<el-option label="未开始" :value="2"></el-option>
<el-select v-model="query.activityStatus" placeholder="所有活动状态" clearable class="w-140" @change="getSearchList('1')">
<el-option label="未开始" :value="0"></el-option>
<el-option label="进行中" :value="1"></el-option>
<el-option label="已结束" :value="2"></el-option>
</el-select>
</div>
<div class="search-item">
<el-input v-model.trim="query.searchValue" placeholder="请输入关键词进行搜索" prefix-icon="el-icon-search" clearable class="w-280" @change="getSearchList('1')"></el-input>
<el-input v-model.trim="query.activityName" placeholder="请输入关键词进行搜索" prefix-icon="el-icon-search" clearable class="w-280" @change="getSearchList('1')"></el-input>
</div>
<div class="search-item">
<el-date-picker class="date-picker" @change="getSearchList('1')" v-model="dateValue" type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
......@@ -44,21 +44,25 @@
<div>{{ getTimeAll(row.endTime) }}</div>
</template>
</el-table-column>
<el-table-column label="状态" prop="status">
<el-table-column label="状态" prop="activityStatus">
<template slot-scope="{ row }">
<span :class="[row.status === 0 ? 'dm-status--primary' : row.status === 1 ? 'dm-status--warning' : 'dm-status--info']">
{{ row.status === 0 ? '进行中' : row.status === 1 ? '已过期' : '未开始' }}
<span :class="[row.activityStatus === 0 ? 'dm-status--info' : row.activityStatus === 1 ? 'dm-status--primary' : 'dm-status--warning']">
{{ row.activityStatus === 0 ? '未开始' : row.activityStatus === 1 ? '进行中' : '已结束' }}
</span>
</template>
</el-table-column>
<el-table-column label="商品数量" prop="num"></el-table-column>
<el-table-column label="适用会员" :render-header="renderHeader"></el-table-column>
<el-table-column label="适用会员" :render-header="renderHeader">
<template slot-scope="{ row }">
{{ row.memberSearchType === 1 ? '全部会员' : row.memberSearchType === 2 ? '会员分组' : row.memberSearchType === 1 ? '部分会员' : '' }}
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button type="text" @click="edit(scope.row)">编辑</el-button>
<dm-delete @confirm="deleteList(scope.row, 0, scope.$index)" tips="确定删除该商品吗?">
<el-button type="text" v-if="scope.row.canEdit">删除</el-button>
</dm-delete>
<!-- <dm-delete @confirm="deleteList(scope.row, 0, scope.$index)" tips="确定删除该商品吗?"> -->
<el-button type="text" @click="deleteList(scope.row, 0, scope.$index)">删除</el-button>
<!-- </dm-delete> -->
</template>
</el-table-column>
<template slot="empty">
......@@ -82,46 +86,24 @@
</template>
<script>
// import qs from 'qs';
// import request from '../../../service/request.js';
import qs from 'qs';
import request from '../../../service/request.js';
import getInputVal from '../../../utils/common.js';
export default {
data() {
return {
query: {
searchValue: '',
activityName: '',
beginTime: '',
endTime: '',
status: '',
activityStatus: '',
currentPage: 1,
pageSize: 20
pageSize: 20,
sort: ''
},
getTimeAll: getInputVal.formatDate,
loading: false,
// tableData: [],
tableData: [
{
activityName: '测试',
beginTime: 1615980012000,
endTime: 1615980000000,
status: 0,
num: 5
},
{
activityName: '测试',
beginTime: 1615980012000,
endTime: 1615980000000,
status: 1,
num: 5
},
{
activityName: '测试',
beginTime: 1615980012000,
endTime: 1615980000000,
status: 2,
num: 5
}
]
tableData: []
};
},
created() {
......@@ -136,13 +118,65 @@ export default {
this.query.currentPage = 1;
}
console.log(111);
let params = {
...this.query
};
this.loading = true;
request.post('/api-integral-mall/get-activity-page', params).then(res => {
if (res.data.errorCode === 0) {
if (res.data.result.result) {
this.tableData = res.data.result.result;
this.total = res.data.result.total;
} else {
this.tableData = [];
this.total = 0;
}
console.log(this.tableData);
this.loading = false;
} else {
this.$message.error(res.data.message);
this.loading = false;
}
});
},
sortChange(value) {
console.log(value);
// console.log(value);
// this.sortColumn = value.prop;
if (value.order == 'ascending') {
this.query.sort = 'asc';
} else if (value.order == 'descending') {
this.query.sort = 'desc';
}
this.getSearchList();
},
deleteList(item, index) {
deleteList(item, value, index) {
console.log(item);
console.log(value);
console.log(index);
this.$confirm('<div>删除后活动将不存在,确认删除?</div>', '提示', {
closeOnClickModal: false,
showClose: false,
type: 'warning',
customClass: 'show-title',
dangerouslyUseHTMLString: true,
confirmButtonText: '确认'
})
.then(() => {
let params = {
activityId: item.activityId
};
request.post('/api-integral-mall/delete-activity', qs.stringify(params)).then(res => {
if (res.data.errorCode === 0) {
this.$message.success('删除成功');
this.getSearchList();
} else {
this.$message.error(res.data.message);
}
});
})
.catch(() => {
return;
});
},
addActivity() {
this.$router.push({ name: 'flashSaleInfo', query: { giftId: '', edit: false, canEdit: '' } });
......@@ -159,7 +193,8 @@ export default {
return [this.query.beginTime, this.query.endTime];
},
set(val) {
[this.query.beginTime, this.query.endTime] = val ? [this.getTimeAll(val[0]), this.getTimeAll(val[1])] : ['', ''];
// [this.query.beginTime, this.query.endTime] = val ? [this.getTimeAll(val[0]), this.getTimeAll(val[1])] : ['', ''];
[this.query.beginTime, this.query.endTime] = val ? val : ['', ''];
}
}
}
......
......@@ -13,7 +13,7 @@
<span>{{ mallProId === '-1' ? '新建' : '编辑' }}优惠券</span>
</h3>
</div>
<div class="section">
<div class="section" v-loading="submitLoading">
<el-form :model="couponForm" :rules="couponRules" ref="couponForm" label-width="100px" class="demo-ruleForm" label-position="right">
<div class="section-content">
<h3>选择卡券</h3>
......@@ -301,7 +301,8 @@
</div>
<div class="confim-btn" :style="{ width: fixedWidth + 'px' }">
<el-form-item class="fix-btn">
<el-button type="primary" size="small" @click="submitForm('couponForm')" :disabled="!canEdit" :loading="submitLoading">保存</el-button>
<!-- <el-button type="primary" size="small" @click="submitForm('couponForm')" :disabled="!canEdit" :loading="submitLoading">保存</el-button> -->
<el-button type="primary" size="small" @click="submitForm('couponForm')" :disabled="!canEdit">保存</el-button>
<el-button size="small" @click="goBack">返回</el-button>
</el-form-item>
</div>
......@@ -589,6 +590,7 @@ export default {
let params = {
integralMallProId: this.mallProId
};
this.submitLoading = true;
request.post('/api-integral-mall/get-integral-mall-pro', qs.stringify(params)).then(res => {
if (res.data.errorCode === 0) {
// this.couponForm = res.data.result;
......@@ -777,7 +779,9 @@ export default {
}
// 数据对话id
this.couponForm.dataDialogueId = res.data.result.dataDialogueId;
this.submitLoading = false;
} else {
this.submitLoading = false;
this.$message.error(res.data.message);
}
});
......@@ -1188,7 +1192,7 @@ export default {
}
}
params.timeZones = timeLink.join('#');
this.submitLoading = true;
// this.submitLoading = true;
// if (this.cardCouponList.length === this.ladderSkuList.length) {
// let num2 = 0;
// this.cardCouponList.map(v1 => {
......@@ -1231,6 +1235,7 @@ export default {
dangerouslyUseHTMLString: true,
confirmButtonText: '保存'
}).then(() => {
this.submitLoading = true;
this.saveDeatail(params);
console.log('保存');
});
......
......@@ -15,7 +15,7 @@
<span>{{ giftId === '-1' ? '新建' : '编辑' }}礼品</span>
</h3>
</div>
<div class="section">
<div class="section" v-loading="submitLoading">
<el-form :model="giftForm" :rules="giftRules" ref="giftForm" label-width="150px" class="demo-ruleForm" label-position="right">
<div class="section-content">
<h3>基础信息</h3>
......@@ -357,7 +357,8 @@
</div>
<div class="confim-btn" :style="{ width: fixedWidth + 'px' }">
<el-form-item class="fix-btn">
<el-button type="primary" @click="submitGoodsForm('giftForm')" size="small" :loading="submitLoading" :disabled="!canEdit">保存</el-button>
<el-button type="primary" @click="submitGoodsForm('giftForm')" size="small" :disabled="!canEdit">保存</el-button>
<!-- <el-button type="primary" @click="submitGoodsForm('giftForm')" size="small" :loading="submitLoading" :disabled="!canEdit">保存</el-button> -->
<el-button @click="cancelGoodsForm" size="small">返回</el-button>
</el-form-item>
</div>
......@@ -904,6 +905,7 @@ export default {
let params = {
integralMallProId: this.giftId
};
this.submitLoading = true;
request.post('/api-integral-mall/get-integral-mall-pro', qs.stringify(params)).then(res => {
if (res.data.errorCode === 0) {
this.giftForm.proName = res.data.result.proName; //名称
......@@ -1202,7 +1204,9 @@ export default {
}
}
}
this.submitLoading = false;
} else {
this.submitLoading = false;
this.$message.error(res.data.message);
}
});
......@@ -2054,7 +2058,7 @@ export default {
}
}
params.timeZones = timeLink.join('#');
this.submitLoading = true;
// this.submitLoading = true;
// console.log(this.ladderMemberGradeChange);
// console.log(this.list2);
// console.log(this.combineListPre);
......@@ -2110,6 +2114,7 @@ export default {
confirmButtonText: '保存',
})
.then(() => {
this.submitLoading = true;
this.saveDeatail(params);
console.log('保存');
});
......
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