Browse Source

2222

master
guoxing 2 years ago
parent
commit
bd0cb053a4
  1. 2
      .env.development
  2. 30
      src/api/marketingCard/marketingCard.js
  3. 162
      src/views/marketingCard/pickupCardSet - 副本.vue
  4. 301
      src/views/marketingCard/pickupCardSet.vue

2
.env.development

@ -8,5 +8,5 @@ VUE_APP_BASE_API = '/api'
# VUE_APP_URL = "http://jianguan.yyundong.com/shgfapi" # VUE_APP_URL = "http://jianguan.yyundong.com/shgfapi"
VUE_APP_URL = "http://192.168.2.109:7201" VUE_APP_URL = "http://192.168.2.104:7201"
##VUE_APP_URL = "http://8.130.39.13:8112" ##VUE_APP_URL = "http://8.130.39.13:8112"

30
src/api/marketingCard/marketingCard.js

@ -45,6 +45,27 @@ export default {
// 提货卡设置 // 提货卡设置
// 提货卡发行记录
recordListPage: function(data) {
return request({
url: '/lpkcardbuildrecord/recordListPage',
method: 'post',
data: data
});
},
// 发行记录详细
recordDetails: function(data) {
return request({
url: '/lpkgiftcard/recordDetails',
method: 'post',
data: data
});
},
// 获取提货卡页面 礼包列表 // 获取提货卡页面 礼包列表
giftBagList: function(data) { giftBagList: function(data) {
return request({ return request({
@ -54,5 +75,14 @@ export default {
}); });
}, },
// 发行提货卡
generateCard: function(data) {
return request({
url: '/lpkgiftcard/generateCard',
method: 'post',
data: data
});
},
} }

162
src/views/marketingCard/pickupCardSet - 副本.vue

@ -0,0 +1,162 @@
<template>
<div>
<div class="tab-header webtop">
<!-- 标题 -->
<div>提货卡管理</div>
<!-- start 添加修改按钮 -->
<div>
<el-button type="primary" size="small" @click="saveOrUpdate">发行</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
<!-- end 添加修改按钮 -->
<!-- end 详情按钮 -->
</div>
<div class="listconadd">
<el-card class="box-card">
<div class="item">
<span class="item_text">券卡数量</span>
<el-input v-model="formobj.num" placeholder="" class="item_input"
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" clearable />
</div>
<div class="item">
<span class="item_text">选择礼包</span>
<el-select v-model="formobj.bagSid" filterable class="item_input" clearable placeholder="请选择"
style="width:100%" @change="giftPackSelect">
<el-option v-for="item in giftPackList" :key="item.sid" :label="item.name" :value="item.sid">
</el-option>
</el-select>
</div>
</el-card>
</div>
</div>
</template>
<script>
import req from '@/api/marketingCard/marketingCard.js'
export default {
data() {
return {
formobj: {
num: '',
bagSid: ""
},
giftPackList: []
}
},
created() {
this.giftBagList()
},
methods: {
giftBagList(){
req.giftBagList()
.then(resp => {
console.log('>>>>>>>>>giftBagList', resp.data)
this.giftPackList = resp.data
})
.catch(() => {})
},
giftPackSelect(val) {
console.log('>>>>>>>>>giftPackSelect', val)
this.formobj.bagSid = val
},
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
req.generateCard(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
} else {
// resp.code
}
})
.catch(() => {})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.imgList = []
this.formobj = {
num: '',
bagSid: ""
}
this.$emit('doback')
},
}
}
</script>
<style lang="scss">
.box-card {
margin-left: 60px;
margin-right: 60px;
min-width: 70%;
margin-top: 20px;
.item {
display: flex;
flex-direction: row;
align-items: center;
margin-top: 15px;
height: 40px;
line-height: 40px;
.item_text {
flex: 0.8;
font-size: 18px;
text-align: right;
}
.item_input {
flex: 4;
font-size: 16px;
margin-left: 10px;
margin-right: 80px;
}
.item_left_input {
width: 20%;
}
.item_left_text {
height: 30px;
margin-left: 20px;
line-height: 30px;
color: #018AD2;
padding: 0px 15px;
border: 1.5px solid #018AD2;
border-radius: 5px;
}
.item_right {
flex: 1;
justify-items: center;
.item_right_list_text {
font-size: 16px;
}
.item_right_list_delect {
color: #5E94FF;
margin-left: 20px;
font-size: 16px;
text-decoration: underline;
}
}
}
}
</style>

301
src/views/marketingCard/pickupCardSet.vue

@ -1,39 +1,141 @@
<template> <template>
<div> <div>
<el-tabs v-model="activeName" class="my-tabs" type="card" @tab-click="handleClick" style="margin-top: 20px;">
<div class="tab-header webtop"> <el-tab-pane label="提货卡记录" name="roleList">
<!-- 标题 -->
<div>提货卡管理</div> <div class="container" v-show="viewState == 1">
<!-- start 添加修改按钮 --> <div class="tab-header">
<div> <el-form :inline="true" :model="page.params" class="demo-form-inline">
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">发行</el-button> <el-row :gutter="20">
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> <el-col :span="21">
</div> <el-form-item label="发行开始日期">
<!-- end 添加修改按钮 --> <el-date-picker v-model="page.params.startDate" @change="selectTime1"
<!-- end 详情按钮 --> type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
</div> style="width: 200px;">
</el-date-picker>
<div class="listconadd">
</el-form-item>
<el-card class="box-card"> <el-form-item label="发行结束日期">
<div class="item"> <el-date-picker v-model="page.params.endDate" @change="selectTime2" type="date"
<span class="item_text">券卡数量</span> placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
<el-input v-model="formobj.num" placeholder="" class="item_input" style="width: 200px;">
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" clearable /> </el-date-picker>
</el-form-item>
<el-button type="primary" @click="getPageList()"> </el-button>
</el-col>
</el-row>
</el-form>
</div>
<el-table :data="tableData" border style="width: 100%; margin-top: 20px;">
<el-table-column label="序号" width="70px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" width="150px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="showRow()">
明细
</el-button>
</template>
</el-table-column>
<el-table-column prop="startNumber" label="序列起始号" align="center">
</el-table-column>
<el-table-column prop="endNumber" label="序列结束号" align="center">
</el-table-column>
<el-table-column prop="buildDate" label="发行时间" align="center">
</el-table-column>
<el-table-column prop="countNumber" label="发行总数" align="center">
</el-table-column>
<el-table-column prop="bagName" label="绑定礼包" align="center">
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size"
@pagination="pagination" />
</div> </div>
<div class="item">
<span class="item_text">选择礼包</span> <div class="container" v-show="viewState == 2">
<el-select v-model="formobj.giftPackSid" filterable class="item_input" clearable placeholder="请选择" <div class="tab-header">
style="width:100%" @change="giftPackSelect"> <el-form :inline="true" :model="listQuery.params" class="demo-form-inline">
<el-option v-for="item in giftPackList" :key="item.sid" :label="item.name" :value="item.sid"> <el-row :gutter="20">
</el-option> <el-col :span="21">
</el-select> <el-form-item label="卡片序列号">
<el-input v-model="listQuery.params.seriaNumber" placeholder="" clearable />
</el-form-item>
<el-form-item label="卡片状态">
<el-select v-model="listQuery.params.state" placeholder="请选择" >
<el-option
v-for="(item,i) in stateList"
:key="i"
:label="item.name"
:value="item.sid">
</el-option>
</el-select>
</el-form-item>
<el-button type="primary" @click="getPageList()"> </el-button>
<el-button type="primary" @click="returnView()"> </el-button>
</el-col>
</el-row>
</el-form>
</div>
<el-table :data="tableData2" border style="width: 100%; margin-top: 20px;">
<el-table-column label="序号" width="70px" type="index" align="center">
</el-table-column>
<!-- <el-table-column label="操作" width="150px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="editRow(scope.row)">
明细
</el-button>
</template>
</el-table-column> -->
<el-table-column prop="serialNumber" label="序列号" align="center">
</el-table-column>
<el-table-column prop="code" label="提货码" align="center">
</el-table-column>
<el-table-column prop="codeKey" label="提货密码" align="center">
</el-table-column>
<el-table-column prop="state" label="卡片状态" align="center">
</el-table-column>
<el-table-column prop="customerMobile" label="客户手机号" align="center">
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size"
@pagination="pagination" />
</div> </div>
</el-tab-pane>
<el-tab-pane label="发行提货卡" name="addrole">
<div class="listconadd">
<el-card class="box-card">
<div class="item">
<span class="item_text">券卡数量</span>
<el-input v-model="formobj.num" placeholder="" class="item_input"
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" clearable />
</div>
<div class="item">
<span class="item_text">选择礼包</span>
<el-select v-model="formobj.bagSid" filterable class="item_input" clearable
placeholder="请选择" style="width:100%" @change="giftPackSelect">
<el-option v-for="item in giftPackList" :key="item.sid" :label="item.name"
:value="item.sid">
</el-option>
</el-select>
</div>
</el-card>
</div> </el-card>
</div>
</el-tab-pane>
</el-tabs>
</div> </div>
</template> </template>
@ -44,32 +146,131 @@
export default { export default {
data() { data() {
return { return {
submitdisabled: false, viewState: 1,
page: {
total: 0, //
current: 1, //
size: 10, //
params: {
startDate: '',
endDate: '',
},
},
tableData: [],
tableData2: [],
listQuery: {
total: 0, //
current: 1, //
size: 10, //
params: {
sid:"",
seriaNumber: '',
state: '',
},
},
activeName: 'roleList',
formobj: { formobj: {
num: '', num: '',
giftPack: "" bagSid: ""
}, },
giftPackList: [] giftPackList: [],
stateList:[
{
name:"未绑定用户",
sid:"2"
},
{
name:"未提货",
sid:"3"
},
{
name:"部分提货",
sid:"4"
},
{
name:"提货完成",
sid:"5"
}
]
} }
}, },
created() { created() {
this.giftBagList() this.getPageList()
}, },
methods: { methods: {
giftBagList(){
handleClick(tab, event) {
this.viewState=1
if (tab.name == 'addrole') {
this.giftBagList()
} else {
this.getPageList()
}
},
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getPageList(this.page)
},
selectTime1(val) {
console.log('selectTime1:', val)
this.page.params.startDate = val
},
selectTime2(val) {
console.log('selectTime2:', val)
this.page.params.endDate = val
},
getPageList() {
req.recordListPage(this.page)
.then(resp => {
console.log('>>>>>>>>>getPageList', resp.data)
this.tableData = resp.data.records
this.page.total = res.data.total
})
.catch(() => {})
},
showRow(){
this.viewState=2
req.recordDetails(this.listQuery)
.then(resp => {
console.log('>>>>>>>>>recordDetails', resp.data)
this.tableData2 = resp.data.records
this.listQuery.total = res.data.total
this.viewState=2
})
.catch(() => {
})
},
returnView(){
this.viewState=1
},
giftBagList() {
req.giftBagList() req.giftBagList()
.then(resp => { .then(resp => {
console.log('>>>>>>>>>giftBagList', resp.data) console.log('>>>>>>>>>giftBagList', resp.data)
this.giftPackList = resp.data this.giftPackList = resp.data
}) })
.catch(() => {}) .catch(() => {})
}, },
giftPackSelect(val) { giftPackSelect(val) {
console.log('>>>>>>>>>giftPackSelect', val) console.log('>>>>>>>>>giftPackSelect', val)
this.formobj.bagSid = val
}, },
saveOrUpdate() { saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj) console.log('>>>>>>>>>saveOrUpdate', this.formobj)
req.saveGoods(this.formobj) req.generateCard(this.formobj)
.then(resp => { .then(resp => {
if (resp.success) { if (resp.success) {
this.$message({ this.$message({
@ -88,40 +289,12 @@
if (isreload === 'true') this.$emit('reloadlist') if (isreload === 'true') this.$emit('reloadlist')
this.imgList = [] this.imgList = []
this.formobj = { this.formobj = {
sid: "", num: '',
name: '', bagSid: ""
code: '',
barcode: '',
price: "",
unitName: "",
picUrl: ""
} }
this.$emit('doback') this.$emit('doback')
}, },
showAdd() {
console.log(this.imgList, 88888888)
},
showEdit(row) {
req.goodsInit(row.sid)
.then(resp => {
if (resp.success) {
this.formobj = resp.data
this.imgList = []
this.imgList.push({
url: resp.data.picUrl
})
}
})
.catch(e => {
this.formobj = row
this.imgList = []
this.imgList.push({
url: formobj.picUrl
})
})
}
} }
} }
</script> </script>

Loading…
Cancel
Save