拼团列表,拼团添加
parent
a7640afbc0
commit
1540764027
|
@ -72,6 +72,7 @@
|
||||||
"eslint": "7.15.0",
|
"eslint": "7.15.0",
|
||||||
"eslint-plugin-vue": "7.2.0",
|
"eslint-plugin-vue": "7.2.0",
|
||||||
"lint-staged": "10.5.3",
|
"lint-staged": "10.5.3",
|
||||||
|
"moment": "^2.30.1",
|
||||||
"runjs": "4.4.2",
|
"runjs": "4.4.2",
|
||||||
"sass": "1.32.13",
|
"sass": "1.32.13",
|
||||||
"sass-loader": "10.1.1",
|
"sass-loader": "10.1.1",
|
||||||
|
|
|
@ -0,0 +1,95 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询定时任务调度列表
|
||||||
|
export function teamInfoList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/marketing/team/list',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function skuInfoList(params) {
|
||||||
|
return request({
|
||||||
|
url: '/product/sku/list',
|
||||||
|
method: 'get',
|
||||||
|
params:params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function addActivityTeamInfo(data) {
|
||||||
|
return request({
|
||||||
|
url: '/marketing/team/add',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// // 查询商品拼团信息列表
|
||||||
|
// export function listTeam(query) {
|
||||||
|
// return request({
|
||||||
|
// url: '/marketing/team/list',
|
||||||
|
// method: 'post',
|
||||||
|
// params: query
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 查询商品拼团信息详细
|
||||||
|
// export function getTeam(id) {
|
||||||
|
// return request({
|
||||||
|
// url: '/marketing/team/' + id,
|
||||||
|
// method: 'get'
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 新增商品拼团信息
|
||||||
|
// export function addTeam(data) {
|
||||||
|
// return request({
|
||||||
|
// url: '/marketing/team/add',
|
||||||
|
// method: 'post',
|
||||||
|
// data: data
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 修改商品拼团信息
|
||||||
|
// export function updateTeam(data) {
|
||||||
|
// return request({
|
||||||
|
// url: '/marketing/team/'+data.id,
|
||||||
|
// method: 'put',
|
||||||
|
// data: data
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 删除商品拼团信息
|
||||||
|
// export function delTeam(id) {
|
||||||
|
// return request({
|
||||||
|
// url: '/marketing/team/' + id,
|
||||||
|
// method: 'delete'
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 查询商品信息列表
|
||||||
|
// export function listInfo(query) {
|
||||||
|
// return request({
|
||||||
|
// url: '/product/info/list',
|
||||||
|
// method: 'get',
|
||||||
|
// params: query
|
||||||
|
// })
|
||||||
|
// }
|
|
@ -0,0 +1,202 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-form ref="form" :model="form" label-width="80px">
|
||||||
|
<el-form-item label="活动名称" prop="name" >
|
||||||
|
<el-input v-model="form.name" style="width: 180px"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
icon="el-icon-plus"
|
||||||
|
size="mini"
|
||||||
|
@click="toAdd"
|
||||||
|
v-hasPermi="['product:info:add']"
|
||||||
|
>新增</el-button>
|
||||||
|
<el-table :data="tableData" style="width: 100%">
|
||||||
|
<el-table-column prop="id" label="编号id" width="180" />
|
||||||
|
<el-table-column prop="name" label="拼团名称" width="180" />
|
||||||
|
<el-table-column prop="addTeamBumber" label="加团人数" width="180" />
|
||||||
|
<el-table-column prop="openTeamNumber" label="开团人数" width="180" />
|
||||||
|
<el-table-column prop="attendNumber" label="参团人数" width="180" />
|
||||||
|
<el-table-column prop="productPrice" label="商品售价" width="180" />
|
||||||
|
<el-table-column prop="teamPrice" label="拼团价格" width="180" />
|
||||||
|
<el-table-column prop="teamStock" label="库拼库存" width="180" />
|
||||||
|
<el-table-column prop="remainStock" label="剩余库存" width="180" />
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
|
||||||
|
<el-dialog title="拼团活动添加" :visible.sync="dialogTableVisible" width="1200">
|
||||||
|
<el-form>
|
||||||
|
<el-form-item label="拼团活动名称" prop="name">
|
||||||
|
<el-input v-model="activityTeamForm.name" style="width: 180px"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="活动活动简介" prop="introduction">
|
||||||
|
<el-input v-model="activityTeamForm.introduction" style="width: 180px"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="商品单位" prop="unit">
|
||||||
|
<el-input v-model="activityTeamForm.unit" style="width: 180px"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="商品轮播图" prop="imageList">
|
||||||
|
<image-upload v-model="activityTeamForm.imageList"/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
|
<el-table-column label="主键" align="center" prop="id" />
|
||||||
|
<el-table-column label="商品名称" align="center" prop="name" />
|
||||||
|
<el-table-column label="商品描述" align="center" prop="introduction" />
|
||||||
|
<el-table-column label="商品图片" align="center" prop="image" width="100">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<image-preview :src="scope.row.image" :width="50" :height="50"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-form-item label="活动时间" prop="endTime">
|
||||||
|
<div class="block">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="activityTeamForm.endTime"
|
||||||
|
type="datetime"
|
||||||
|
placeholder="选择日期时间">
|
||||||
|
</el-date-picker>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="skuInfoList" @selection-change="handleSelection">
|
||||||
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
|
<el-table-column label="主键" align="center" prop="id" />
|
||||||
|
<el-table-column label="商品sku" align="center" prop="sku" />
|
||||||
|
<el-table-column label="商品价格" align="center" prop="price" />
|
||||||
|
<el-table-column label="商品库存" align="center" prop="stock" />
|
||||||
|
<el-table-column label="商品图片" align="center" prop="image" width="100">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<image-preview :src="scope.row.image" :width="50" :height="50"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<el-form-item label="商品描述" prop="content">
|
||||||
|
<editor v-model="activityTeamForm.content" :min-height="192"/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="add()">提交</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
import {addActivityTeamInfo, skuInfoList, teamInfoList} from "@/api/marketing/team";
|
||||||
|
import {listInfo} from "@/api/product/info";
|
||||||
|
import moment from "moment";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "拼团活动",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dialogTableVisible:false,
|
||||||
|
loading:true,
|
||||||
|
tableData:[],
|
||||||
|
infoList:[],
|
||||||
|
// 弹出层标题
|
||||||
|
// 表单参数
|
||||||
|
form: {
|
||||||
|
pageNum:1,
|
||||||
|
pageSize:1,
|
||||||
|
},
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 6,
|
||||||
|
},
|
||||||
|
activityTeamForm:{
|
||||||
|
ruleInfo:null,
|
||||||
|
imageList:null
|
||||||
|
},
|
||||||
|
projectSkuList:[],
|
||||||
|
skuInfoList:[],
|
||||||
|
skuForm:{},
|
||||||
|
// 表单校验
|
||||||
|
rules: {
|
||||||
|
nam: [
|
||||||
|
{ required: true, message: "品牌名称不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
logo: [
|
||||||
|
{ required: true, message: "LOGO不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
start: [
|
||||||
|
{ required: true, message: "是否启用不能为空", trigger: "change" }
|
||||||
|
],
|
||||||
|
createBy: [
|
||||||
|
{ required: true, message: "创建人不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
createTime: [
|
||||||
|
{ required: true, message: "创建时间不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 查询品牌信息列表 */
|
||||||
|
getList() {
|
||||||
|
teamInfoList(this.form).then(
|
||||||
|
res=>{
|
||||||
|
this.tableData=res.data.rows;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
},
|
||||||
|
search(){
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
for (let productId of selection) {
|
||||||
|
this.activityTeamForm.productId=productId.id
|
||||||
|
this.activityTeamForm.productImage=productId.image
|
||||||
|
}
|
||||||
|
console.log(selection)
|
||||||
|
},
|
||||||
|
toAdd(){
|
||||||
|
this.dialogTableVisible=true;
|
||||||
|
listInfo(this.queryParams).then(response => {
|
||||||
|
this.infoList = response.data.rows;
|
||||||
|
this.total = response.data.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
skuInfoList(this.queryParams).then(res=>{
|
||||||
|
this.skuInfoList=res.data.rows;
|
||||||
|
this.loading = false;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleSelection(select){
|
||||||
|
for (let skuForm of select) {
|
||||||
|
this.skuForm.sku=skuForm.sku
|
||||||
|
this.skuForm.price=skuForm.price
|
||||||
|
this.skuForm.stock=skuForm.stock
|
||||||
|
}
|
||||||
|
this.projectSkuList.push(this.skuForm);
|
||||||
|
console.log(this.projectSkuList)
|
||||||
|
},
|
||||||
|
add(){
|
||||||
|
console.log(this.activityTeamForm)
|
||||||
|
this.activityTeamForm.endTime=moment(this.activityTeamForm.endTime).format("YYYY-MM-DD HH:mm:ss")
|
||||||
|
this.activityTeamForm.ruleInfo=this.projectSkuList
|
||||||
|
addActivityTeamInfo(this.activityTeamForm).then(res=>{
|
||||||
|
this.$modal.msgSuccess("添加成功");
|
||||||
|
this.dialogTableVisible=false;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
Loading…
Reference in New Issue