zkthink
5 years ago
25 changed files with 1905 additions and 205 deletions
@ -0,0 +1,37 @@
|
||||
import axiosApi from './AxiosApi.js' |
||||
|
||||
const apiList = { |
||||
getList: `/authority/tenantApply/page`, |
||||
auditApply: `/authority/tenantApply/audit`, |
||||
deleteApply: `/authority/tenantApply/remove`, |
||||
applyInfo: `/authority/tenantApply` |
||||
} |
||||
export default { |
||||
getList(data) { |
||||
return axiosApi({ |
||||
method: 'POST', |
||||
url: apiList.getList, |
||||
data |
||||
}) |
||||
}, |
||||
auditApply(data) { |
||||
return axiosApi({ |
||||
method: 'POST', |
||||
url: apiList.auditApply, |
||||
data |
||||
}) |
||||
}, |
||||
deleteApply(data) { |
||||
return axiosApi({ |
||||
method: 'POST', |
||||
url: apiList.deleteApply, |
||||
data |
||||
}) |
||||
}, |
||||
applyInfo(id) { |
||||
return axiosApi({ |
||||
method: 'GET', |
||||
url: `${apiList.applyInfo}/${id}` |
||||
}) |
||||
} |
||||
} |
After Width: | Height: | Size: 7.4 KiB |
@ -1,18 +1,246 @@
|
||||
<template> |
||||
<div> |
||||
<h1>保证金</h1> |
||||
<div class="cash_deposit_page"> |
||||
<div class="top_content"> |
||||
保证金总额<i class="el-icon-warning-outline icon"></i> |
||||
<span>{{ total }}</span> |
||||
</div> |
||||
<div class="product-content"> |
||||
<p class="title">交易记录</p> |
||||
<div class="toolbar"> |
||||
<el-form |
||||
:inline="true" |
||||
:model="formParams" |
||||
> |
||||
<el-form-item label="店铺名称"> |
||||
<el-input v-model="formParams.model.storeName" size="mini" /> |
||||
</el-form-item> |
||||
|
||||
<el-form-item label="保证金状态"> |
||||
<el-select |
||||
v-model="formParams.model.state" |
||||
size="mini" |
||||
> |
||||
<el-option |
||||
v-for="(item, index) in stateList" |
||||
:key="index" |
||||
:label="item.label" |
||||
:value="item.value" |
||||
/> |
||||
</el-select> |
||||
</el-form-item> |
||||
|
||||
<el-form-item label="缴纳时间"> |
||||
<el-date-picker |
||||
v-model="date" |
||||
size="mini" |
||||
type="datetimerange" |
||||
range-separator="至" |
||||
start-placeholder="开始时间" |
||||
end-placeholder="结束时间" |
||||
value-format="yyyy-MM-dd HH:mm" |
||||
/> |
||||
</el-form-item> |
||||
|
||||
<el-form-item> |
||||
<el-button |
||||
type="primary" |
||||
size="mini" |
||||
@click="fetch" |
||||
> |
||||
查询 |
||||
</el-button> |
||||
<el-button |
||||
plain |
||||
size="mini" |
||||
@click="reset" |
||||
> |
||||
重置 |
||||
</el-button> |
||||
</el-form-item> |
||||
</el-form> |
||||
</div> |
||||
<el-table |
||||
:data="tableData.records" |
||||
border |
||||
style="width: 100%" |
||||
> |
||||
<el-table-column |
||||
prop="storeName" |
||||
label="店铺名称" |
||||
/> |
||||
<el-table-column |
||||
prop="depositType" |
||||
label="保证金类型" |
||||
:formatter="getType" |
||||
/> |
||||
<el-table-column |
||||
prop="promotionName" |
||||
label="活动名称" |
||||
/> |
||||
<el-table-column |
||||
prop="orderCode" |
||||
label="交易流水号" |
||||
/> |
||||
<el-table-column |
||||
prop="amount" |
||||
label="保证金金额" |
||||
/> |
||||
<el-table-column |
||||
prop="state" |
||||
label="保证金状态" |
||||
:formatter="getState" |
||||
/> |
||||
<el-table-column |
||||
prop="createTime" |
||||
label="缴纳/退保时间" |
||||
/> |
||||
</el-table> |
||||
</div> |
||||
<pagination |
||||
v-show="tableData.total > 0" |
||||
:limit.sync="formParams.size" |
||||
:page.sync="formParams.current" |
||||
:total="Number(tableData.total)" |
||||
@pagination="fetch" |
||||
/> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
import Finance from '@/api/Finance' |
||||
import Pagination from '@/components/Pagination' |
||||
export default { |
||||
components: { |
||||
Pagination |
||||
}, |
||||
data() { |
||||
return { |
||||
|
||||
formParams: { |
||||
size: 10, |
||||
current: 1, |
||||
model: { |
||||
depositType: 1, |
||||
promotionId: '', |
||||
state: '', |
||||
orderCode: '', |
||||
amount: '', |
||||
storeName: '', |
||||
startTime: '', |
||||
endTime: '' |
||||
} |
||||
}, |
||||
date: [], |
||||
stateList: [ |
||||
{ label: '全部', value: '' }, |
||||
{ label: '冻结中', value: 0 }, |
||||
{ label: '已退回', value: 1 } |
||||
], |
||||
total: '', |
||||
tableData: {} |
||||
} |
||||
}, |
||||
created() { |
||||
this.getDepositList() |
||||
this.getDepositSum() |
||||
}, |
||||
methods: { |
||||
async getDepositList() { |
||||
const vm = this |
||||
vm.formParams.model.startTime = vm.date[0] || '' |
||||
vm.formParams.model.endTime = vm.date[1] || '' |
||||
const res = await Finance.getDepositList(vm.formParams) |
||||
const resData = res.data |
||||
if (resData.code === 0 ) { |
||||
vm.tableData = resData.data |
||||
} |
||||
}, |
||||
async getDepositSum() { |
||||
const vm = this |
||||
const res = await Finance.getDepositSum() |
||||
const resData = res.data |
||||
if (resData.code === 0) { |
||||
vm.total = resData.data.total || 0 |
||||
} |
||||
}, |
||||
reset() { |
||||
this.formParams = { |
||||
size: 10, |
||||
current: 1, |
||||
model: { |
||||
depositType: 1, |
||||
promotionId: '', |
||||
state: '', |
||||
orderCode: '', |
||||
amount: '', |
||||
storeName: '', |
||||
startTime: '', |
||||
endTime: '' |
||||
} |
||||
} |
||||
this.date = [] |
||||
}, |
||||
fetch() { |
||||
this.getDepositList() |
||||
}, |
||||
getType(row, item, cellValue) { |
||||
return cellValue === 1 ? '营销活动保证金' : '' |
||||
}, |
||||
getState(row, item, cellValue) { |
||||
const ob = { 0: '冻结中', 1: '已退回' } |
||||
return ob[cellValue] |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang='less' scoped></style> |
||||
<style lang='less' scoped> |
||||
.cash_deposit_page { |
||||
min-height: calc(100% - 20px); |
||||
margin-top: 20px; |
||||
background: #fff; |
||||
padding: 20px; |
||||
box-sizing: border-box; |
||||
.top_content { |
||||
height: 100px; |
||||
line-height: 100px; |
||||
font-size: 20px; |
||||
.icon { |
||||
color: red; |
||||
font-size: 20px; |
||||
} |
||||
span { |
||||
font-size: 28px; |
||||
color: #FFAE11; |
||||
margin-left: 20px; |
||||
} |
||||
} |
||||
.product-content { |
||||
p.title { |
||||
background: #D7D7D7; |
||||
margin: 0; |
||||
padding: 10px; |
||||
} |
||||
} |
||||
} |
||||
|
||||
/deep/ .el-table { |
||||
th { |
||||
background: #EEF3FF; |
||||
color:#333333; |
||||
font-size:16px; |
||||
font-weight: 400; |
||||
border-color: #E0E5EB; |
||||
text-align: center; |
||||
} |
||||
td { |
||||
font-size: 14px; |
||||
text-align: center; |
||||
color: #666666; |
||||
} |
||||
|
||||
.cell { |
||||
text-align: center; |
||||
white-space: pre-line;/*保留换行符*/ |
||||
} |
||||
} |
||||
</style> |
||||
|
@ -0,0 +1,39 @@
|
||||
<template> |
||||
<el-dialog |
||||
:title="dialogVisible.title" |
||||
:visible.sync="dialogVisible.visible" |
||||
width="30%" |
||||
> |
||||
<span>确认要删除本记录吗</span> |
||||
<span slot="footer" class="dialog-footer"> |
||||
<el-button @click="close">取 消</el-button> |
||||
<el-button type="primary" @click="confirm">确 定</el-button> |
||||
</span> |
||||
</el-dialog> |
||||
</template> |
||||
|
||||
<script> |
||||
export default { |
||||
props: { |
||||
dialogVisible: { |
||||
type: Object, |
||||
default: () => {} |
||||
} |
||||
}, |
||||
data() { |
||||
return {} |
||||
}, |
||||
methods: { |
||||
confirm() { |
||||
this.$emit('confirm') |
||||
}, |
||||
close() { |
||||
this.$emit('closed') |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang='less' scoped> |
||||
|
||||
</style> |
@ -0,0 +1,273 @@
|
||||
<template> |
||||
<div class="detail_page"> |
||||
<div class="content"> |
||||
<div class="head_box"> |
||||
{{ getTitle() }} |
||||
<div class="btn_list"> |
||||
<el-button v-if="Number(info.auditState) === 1" type="primary" @click="handle">处理</el-button> |
||||
<el-button @click="cancel">返回列表</el-button> |
||||
</div> |
||||
</div> |
||||
<div class="detail"> |
||||
<div class="shop_info"> |
||||
<p class="detail_title">店铺信息</p> |
||||
<p v-for="(item, index) in shopInfoList" :key="index" class="detail_text"> |
||||
<span> |
||||
<font>*</font> |
||||
{{ item.name + ':' }} |
||||
</span> |
||||
<span>{{ item.value }}</span> |
||||
</p> |
||||
|
||||
</div> |
||||
<div class="person_info"> |
||||
<p class="detail_title">个人信息</p> |
||||
<p v-for="(item, index) in personInfoList" :key="index" class="detail_text"> |
||||
<span> |
||||
<font>*</font> |
||||
{{ item.name + ':' }} |
||||
</span> |
||||
<span>{{ item.value }}</span> |
||||
</p> |
||||
<p class="detail_img"> |
||||
<span> |
||||
<font>*</font> |
||||
证件照片 |
||||
</span> |
||||
<img :src="info.idCardCopyFilePath" alt="" /> |
||||
<img :src="info.idCardNationalFilePath" alt="" /> |
||||
</p> |
||||
<p v-if="Number(info.organizationType) === 1" class="detail_img"> |
||||
<span> |
||||
<font>*</font> |
||||
手持证件照 |
||||
</span> |
||||
<img :src="info.handHoldCardPath" alt="" /> |
||||
</p> |
||||
</div> |
||||
|
||||
<div v-if="Number(info.auditState) === 2" class="shop_info"> |
||||
<p class="detail_title">授权信息</p> |
||||
<p v-for="(item, index) in authInfoList" :key="index" class="detail_text"> |
||||
<span> |
||||
<font>*</font> |
||||
{{ item.name + ':' }} |
||||
</span> |
||||
<span>{{ item.value }}</span> |
||||
</p> |
||||
|
||||
</div> |
||||
</div> |
||||
</div> |
||||
<dialogs :dialog-data="dialogData" @closed="closed" /> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
import dialogs from './dialog' |
||||
import Apply from '@/api/Apply' |
||||
export default { |
||||
components: { |
||||
dialogs |
||||
}, |
||||
data() { |
||||
return { |
||||
shopInfoList: [ |
||||
{ name: '店铺名称', value: '', field: 'storeName' }, |
||||
{ name: '店铺类型', value: '', field: 'organizationType' }, |
||||
{ name: '客服电话', value: '', field: 'customerPhone' }, |
||||
{ name: '店铺负责人', value: '', field: 'storeHead' }, |
||||
{ name: '负责人电话', value: '', field: 'headMobile' }, |
||||
{ name: '店铺地址', value: '', field: 'storeAddressProvince' } |
||||
], |
||||
personInfoList: [ |
||||
{ name: '名称', value: '', field: 'legalPerson' }, |
||||
{ name: '证件类型', value: '', field: 'idDocType' }, |
||||
{ name: '身份证号码', value: '', field: 'idCardNumber' }, |
||||
{ name: '身份证有效期', value: '', field: 'idCardValidTimeStart' } |
||||
], |
||||
authInfoList: [ |
||||
{ name: '生效日期', value: '', field: 'effectTime' }, |
||||
{ name: '生效时限', value: '', field: 'effectTimeLimit' } |
||||
], |
||||
dialogData: {}, |
||||
info: {} |
||||
} |
||||
}, |
||||
computed: { |
||||
query() { |
||||
return this.$route.query |
||||
} |
||||
}, |
||||
created() { |
||||
this.applyInfo() |
||||
}, |
||||
methods: { |
||||
async applyInfo() { |
||||
const vm = this |
||||
const res = await Apply.applyInfo(this.query.id) |
||||
const resData = res.data |
||||
if (resData.code === 0) { |
||||
const d = resData.data |
||||
vm.info = d |
||||
vm.getData(d) |
||||
} |
||||
}, |
||||
getTitle() { |
||||
const ob = { |
||||
1: '待审核列表/查看详情', |
||||
2: '审核通过列表/查看详情', |
||||
3: '已拒绝列表/查看详情' |
||||
} |
||||
return ob[this.query.type] |
||||
}, |
||||
getData(info) { |
||||
const vm = this |
||||
// const info = vm.$route.query.info |
||||
vm.getObjData(vm.shopInfoList, info) |
||||
vm.getObjData(vm.personInfoList, info) |
||||
vm.getObjData(vm.authInfoList, info) |
||||
}, |
||||
getObjData(arr, o) { |
||||
const t = { |
||||
1: '个人', |
||||
2: '个体工商户', |
||||
3: '企业', |
||||
4: '其他组织' |
||||
} |
||||
const ob = { |
||||
1: '中国大陆居民身份证', |
||||
2: '中国香港居民来往内地通行证', |
||||
3: '中国澳门居民来往内地通行证', |
||||
4: '中国台湾居民来往内地通行证', |
||||
5: '其他国家或地区居民护照' |
||||
} |
||||
arr.map(item => { |
||||
item.value = o[item.field] |
||||
if (item.field === 'organizationType') { |
||||
item.value = t[Number(o.organizationType || '')] |
||||
} |
||||
if (item.field === 'storeAddressProvince') { |
||||
item.value = `${o.storeAddressProvince || ''}${o.storeAddressCity || ''}${o.storeAddressDetail || ''}` |
||||
} |
||||
if (item.field === 'idCardValidTimeStart') { |
||||
item.value = `${o.idCardValidTimeStart || ''}──${o.idCardValidTimeEnd || ''}` |
||||
} |
||||
if (item.field === 'idDocType') { |
||||
item.value = ob[Number(o.idDocType || '')] |
||||
} |
||||
if (item.field === 'effectTimeLimit') { |
||||
item.value = `${o.effectTimeLimit}年` |
||||
} |
||||
if (item.field === 'effectTime') { |
||||
item.value = o.effectDateType === 1 ? o.auditTime : o.effectTime |
||||
} |
||||
}) |
||||
}, |
||||
cancel() { |
||||
this.$router.push({ path: '/apply' }) |
||||
}, |
||||
handle() { |
||||
this.dialogData = { |
||||
title: '处理审核', |
||||
visible: true, |
||||
info: this.info |
||||
} |
||||
}, |
||||
closed(v) { |
||||
this.applyInfo() |
||||
this.dialogData.visible = v |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang='less' scoped> |
||||
.detail_page { |
||||
margin-top: 10px; |
||||
background-color: #fff; |
||||
height: calc(100% - 10px); |
||||
.content { |
||||
padding: 20px; |
||||
.head_box { |
||||
overflow: hidden; |
||||
height: 80px; |
||||
line-height: 80px; |
||||
font-size: 24px; |
||||
border-bottom: 1px solid #E0E5EB; |
||||
.btn_list { |
||||
display: inline-block; |
||||
float: right; |
||||
} |
||||
} |
||||
.detail { |
||||
min-height: 500px; |
||||
background:rgba(255,255,255,1); |
||||
box-shadow:0px 0px 10px 0px rgba(51,51,51,0.15); |
||||
border-radius:4px; |
||||
padding: 1px 100px 20px; |
||||
margin-top: 15px; |
||||
|
||||
.detail_title { |
||||
font-size: 24px; |
||||
color: #333333; |
||||
position: relative; |
||||
margin:50px 20px 20px; |
||||
&:before { |
||||
content: ''; |
||||
display: block; |
||||
position: absolute; |
||||
top: 5px; |
||||
left: -20px; |
||||
width: 4px; |
||||
height: 24px; |
||||
background-color: #3A68F2; |
||||
} |
||||
} |
||||
} |
||||
.detail_text { |
||||
span { |
||||
display: inline-block; |
||||
color: #333333; |
||||
font-size: 16px; |
||||
&:nth-child(1) { |
||||
width: 150px; |
||||
text-indent: 20px; |
||||
font { |
||||
color: red; |
||||
} |
||||
} |
||||
&:nth-child(2) { |
||||
color: #666666; |
||||
} |
||||
} |
||||
|
||||
} |
||||
|
||||
.detail_img { |
||||
position: relative; |
||||
span { |
||||
position: absolute; |
||||
top: 0; |
||||
left: 0; |
||||
display: inline-block; |
||||
color: #333333; |
||||
font-size: 16px; |
||||
width: 150px; |
||||
text-indent: 20px; |
||||
font { |
||||
color: red; |
||||
} |
||||
} |
||||
img { |
||||
width: 265px; |
||||
height: 170px; |
||||
border-radius:4px; |
||||
&:nth-of-type(1) { |
||||
margin:0 30px 0 150px; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
</style> |
@ -0,0 +1,128 @@
|
||||
<template> |
||||
<el-dialog |
||||
:title="dialogData.title" |
||||
:visible.sync="dialogData.visible" |
||||
width="40%" |
||||
> |
||||
<el-form |
||||
ref="form" label-width="120px" :model="form" |
||||
:rules="rules" |
||||
required |
||||
> |
||||
<el-form-item label="入驻处理"> |
||||
<el-radio-group v-model="form.auditState"> |
||||
<el-radio :label="2">同意入驻</el-radio> |
||||
<el-radio :label="3">拒绝入驻</el-radio> |
||||
</el-radio-group> |
||||
</el-form-item> |
||||
|
||||
<div v-if="form.auditState===2"> |
||||
<el-form-item label="生效日期"> |
||||
<el-radio-group v-model="form.effectDateType"> |
||||
<el-radio :label="1">即时生效</el-radio> |
||||
<el-radio :label="2">指定日期</el-radio> |
||||
</el-radio-group> |
||||
</el-form-item> |
||||
<el-form-item v-if="form.effectDateType===2" label="" prop="effectTime"> |
||||
<el-date-picker |
||||
v-model="form.effectTime" |
||||
type="date" |
||||
placeholder="选择生效日期" |
||||
value-format="yyyy-MM-dd" |
||||
/> |
||||
</el-form-item> |
||||
<el-form-item label="生效时限" prop="effectTimeLimit"> |
||||
<el-col :span="22"> |
||||
<el-input v-model.number="form.effectTimeLimit" placeholder="请输入生效时限" /> |
||||
</el-col> |
||||
<el-col :span="2"> |
||||
年 |
||||
</el-col> |
||||
</el-form-item> |
||||
</div> |
||||
|
||||
<el-form-item v-if="form.auditState===3" label="拒绝原因" prop="rejectReason"> |
||||
<el-input v-model="form.rejectReason" type="textarea" placeholder="请输入拒绝原因" /> |
||||
</el-form-item> |
||||
</el-form> |
||||
|
||||
<span slot="footer" class="dialog-footer"> |
||||
<el-button type="primary" @click="confirm">确 定</el-button> |
||||
<el-button @click="cancel">取 消</el-button> |
||||
</span> |
||||
</el-dialog> |
||||
</template> |
||||
|
||||
<script> |
||||
import Apply from '@/api/Apply' |
||||
export default { |
||||
props: { |
||||
dialogData: { |
||||
type: Object, |
||||
default: () => {} |
||||
} |
||||
}, |
||||
data() { |
||||
return { |
||||
form: { |
||||
auditState: 2, // 审核状态 |
||||
effectDateType: 1, // 生效日期类型 |
||||
effectTime: '', // 生效日期 |
||||
effectTimeLimit: '', // 生效时限 |
||||
rejectReason: '' // 拒绝原因 |
||||
}, |
||||
rules: { |
||||
effectTime: [ |
||||
{ required: true, message: '请选择生效日期', trigger: 'change' } |
||||
], |
||||
effectTimeLimit: [ |
||||
{ required: true, message: '请输入生效时限', trigger: 'blur' }, |
||||
{ type: 'number', message: '生效时限必须为数字值' } |
||||
], |
||||
rejectReason: [ |
||||
{ required: true, message: '请输入拒绝原因', trigger: 'blur' } |
||||
] |
||||
} |
||||
} |
||||
}, |
||||
methods: { |
||||
reset() { |
||||
this.form = { |
||||
auditState: 2, |
||||
effectDateType: 1, |
||||
effectTime: '', |
||||
effectTimeLimit: '', |
||||
rejectReason: '' |
||||
} |
||||
}, |
||||
cancel() { |
||||
this.reset() |
||||
this.$emit('closed', false) |
||||
}, |
||||
confirm() { |
||||
const vm = this |
||||
vm.$refs.form.validate((valid) => { |
||||
if (valid) { |
||||
Apply.auditApply(Object.assign({}, vm.form, { id: vm.dialogData.info.id })).then(res => { |
||||
if (res.data.code === 0) { |
||||
vm.$message({ |
||||
type: 'success', |
||||
message: '审核成功' |
||||
}) |
||||
} else { |
||||
vm.$message.error(res.data.msg) |
||||
} |
||||
vm.cancel() |
||||
}) |
||||
} else { |
||||
return false |
||||
} |
||||
}) |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style scoped lang='less'> |
||||
|
||||
</style> |
@ -0,0 +1,305 @@
|
||||
<template> |
||||
<div class="apply_page"> |
||||
<div class="content"> |
||||
<el-tabs |
||||
v-model="formParams.model.auditState" |
||||
@tab-click="selectItem" |
||||
> |
||||
<el-tab-pane |
||||
v-for="(item, index) in tabList" |
||||
:key="index" |
||||
:label="item.name" |
||||
:name="item.id" |
||||
/> |
||||
</el-tabs> |
||||
<div class="toolbar"> |
||||
<el-form |
||||
:inline="true" |
||||
:model="formParams" |
||||
> |
||||
<el-form-item label="商家名称"> |
||||
<el-input v-model="formParams.model.merchantName" size="mini" /> |
||||
</el-form-item> |
||||
|
||||
<el-form-item label="注册手机号"> |
||||
<el-input v-model="formParams.model.headMobile" size="mini" /> |
||||
</el-form-item> |
||||
|
||||
<el-form-item label="店铺类型"> |
||||
<el-select |
||||
v-model="formParams.model.organizationType" |
||||
size="mini" |
||||
> |
||||
<el-option |
||||
v-for="(item, index) in typeList" |
||||
:key="index" |
||||
:label="item.label" |
||||
:value="item.value" |
||||
/> |
||||
</el-select> |
||||
</el-form-item> |
||||
|
||||
<el-form-item label="申请时间"> |
||||
<el-date-picker |
||||
v-model="date" |
||||
size="mini" |
||||
type="daterange" |
||||
range-separator="至" |
||||
start-placeholder="开始时间" |
||||
end-placeholder="结束时间" |
||||
value-format="yyyy-MM-dd" |
||||
@change="handleChange" |
||||
/> |
||||
</el-form-item> |
||||
|
||||
<el-form-item> |
||||
<el-button |
||||
type="primary" |
||||
size="mini" |
||||
@click="query" |
||||
> |
||||
查询 |
||||
</el-button> |
||||
<el-button |
||||
plain |
||||
size="mini" |
||||
@click="reset" |
||||
> |
||||
重置 |
||||
</el-button> |
||||
</el-form-item> |
||||
</el-form> |
||||
</div> |
||||
|
||||
<div class="content_table"> |
||||
<div class="table"> |
||||
<el-table |
||||
:data="tableData.records" |
||||
border |
||||
style="width: 100%" |
||||
> |
||||
<el-table-column |
||||
prop="merchantName" |
||||
label="商家名称" |
||||
/> |
||||
<el-table-column |
||||
prop="organizationType" |
||||
:formatter="getType" |
||||
label="店铺类型" |
||||
/> |
||||
<el-table-column |
||||
prop="headMobile" |
||||
label="注册手机号" |
||||
/> |
||||
<el-table-column |
||||
prop="applyTime" |
||||
label="申请时间" |
||||
/> |
||||
<el-table-column label="操作"> |
||||
<template |
||||
slot-scope="scope" |
||||
> |
||||
<el-button |
||||
v-if="scope.row.auditState===1" |
||||
type="text" |
||||
size="small" |
||||
@click.native.prevent="handle(scope.row)" |
||||
> |
||||
处理 |
||||
</el-button> |
||||
<el-button |
||||
v-if="scope.row.auditState===2 || scope.row.auditState===3" |
||||
type="text" |
||||
size="small" |
||||
@click.native.prevent="details(scope.row)" |
||||
> |
||||
详情 |
||||
</el-button> |
||||
<el-button |
||||
v-if="scope.row.auditState===3" |
||||
type="text" |
||||
size="small" |
||||
@click.native.prevent="deletes(scope.row.id)" |
||||
> |
||||
删除 |
||||
</el-button> |
||||
</template> |
||||
</el-table-column> |
||||
</el-table> |
||||
</div> |
||||
<pagination |
||||
v-show="tableData.total > 0" |
||||
:limit.sync="formParams.size" |
||||
:page.sync="formParams.current" |
||||
:total="Number(tableData.total)" |
||||
@pagination="query" |
||||
/> |
||||
</div> |
||||
</div> |
||||
<deletes :dialog-visible="dialogVisible" @confirm="confirm" @closed="closed" /> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
import Pagination from '@/components/Pagination' |
||||
import Apply from '@/api/Apply' |
||||
import deletes from './deletes' |
||||
export default { |
||||
components: { |
||||
Pagination, |
||||
deletes |
||||
}, |
||||
data() { |
||||
return { |
||||
formParams: { |
||||
current: 1, |
||||
size: 10, |
||||
map: {}, |
||||
order: 'descending', |
||||
sort: 'id', |
||||
model: { |
||||
merchantName: '', // 商家名称 |
||||
headMobile: '', |
||||
organizationType: '', |
||||
applyTimeStart: '', // 申请时间(结束) |
||||
applyTimeEnd: '', // 申请时间(结束) |
||||
auditState: '1' |
||||
} |
||||
}, |
||||
activeName: 1, |
||||
date: [], |
||||
dialogVisible: {}, |
||||
typeList: [ |
||||
{ label: '全部', value: '' }, |
||||
{ label: '个人', value: 1 }, |
||||
{ label: '个体工商户', value: 2 }, |
||||
{ label: '企业', value: 3 }, |
||||
{ label: '其他组织', value: 4 } |
||||
], |
||||
tableData: {}, |
||||
tabList: [ |
||||
{ name: '待处理', id: '1' }, |
||||
{ name: '已通过', id: '2' }, |
||||
{ name: '已拒绝', id: '3' } |
||||
] |
||||
} |
||||
}, |
||||
created() { |
||||
this.getList() |
||||
}, |
||||
methods: { |
||||
async getList() { |
||||
const res = await Apply.getList(this.formParams) |
||||
const resData = res.data |
||||
if (resData.code === 0) { |
||||
this.tableData = resData.data |
||||
} |
||||
}, |
||||
selectItem() { |
||||
this.getList() |
||||
}, |
||||
query() { |
||||
this.getList() |
||||
}, |
||||
reset() { |
||||
this.formParams = { |
||||
current: 1, |
||||
size: 10, |
||||
map: {}, |
||||
order: 'descending', |
||||
sort: 'id', |
||||
model: { |
||||
auditState: '1', |
||||
merchantName: '', // 商家名称 |
||||
headMobile: '', |
||||
organizationType: '', |
||||
applyTimeStart: '', // 申请时间(结束) |
||||
applyTimeEnd: ''// 申请时间(结束) |
||||
} |
||||
} |
||||
this.date = [] |
||||
}, |
||||
handleChange(value) { |
||||
this.formParams.model.applyTimeStart = (value && value[0]) || '' |
||||
this.formParams.model.applyTimeEnd = (value && value[1]) || '' |
||||
}, |
||||
getType(row, item, value) { |
||||
let t = '' |
||||
this.typeList.forEach(item => { |
||||
if (item.value === Number(value) ) { |
||||
t = item.label |
||||
} |
||||
}) |
||||
return t |
||||
}, |
||||
details(item) { |
||||
this.$router.push({ path: '/apply/detail', query: { |
||||
info: item, |
||||
id: item.id, |
||||
type: Number(this.formParams.model.auditState) |
||||
}}) |
||||
}, |
||||
handle(item) { |
||||
this.$router.push({ path: '/apply/detail', query: { |
||||
info: item, |
||||
id: item.id, |
||||
type: Number(this.formParams.model.auditState) |
||||
}}) |
||||
}, |
||||
deletes(id) { |
||||
this.dialogVisible = { |
||||
title: '删除', |
||||
visible: true, |
||||
id: id |
||||
} |
||||
}, |
||||
closed() { |
||||
this.dialogVisible = {} |
||||
}, |
||||
async confirm(v) { |
||||
const res = await Apply.deleteApply({ id: this.dialogVisible.id }) |
||||
const resData = res.data |
||||
if (resData.code === 0) { |
||||
this.$message({ |
||||
type: 'success', |
||||
message: '删除成功' |
||||
}) |
||||
this.getList() |
||||
} else { |
||||
this.$message.error(resData.msg) |
||||
} |
||||
this.closed() |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang='less' scoped> |
||||
.apply_page { |
||||
padding: 10px 20px; |
||||
box-sizing: border-box; |
||||
.content { |
||||
background-color: #fff; |
||||
padding: 20px; |
||||
// .toolbar { |
||||
// padding: 10px; |
||||
// } |
||||
} |
||||
} |
||||
|
||||
/deep/ .el-table { |
||||
th { |
||||
background: #EEF3FF; |
||||
color:#333333; |
||||
font-size:16px; |
||||
font-weight: 400; |
||||
border-color: #E0E5EB; |
||||
text-align: center; |
||||
} |
||||
td { |
||||
font-size: 14px; |
||||
text-align: center; |
||||
color: #666666; |
||||
} |
||||
} |
||||
</style> |
@ -0,0 +1,39 @@
|
||||
<template> |
||||
<el-dialog |
||||
:title="dialogVisible.title" |
||||
:visible.sync="dialogVisible.visible" |
||||
width="30%" |
||||
> |
||||
<span>{{ dialogVisible.text }}</span> |
||||
<span slot="footer" class="dialog-footer"> |
||||
<el-button @click="close">取 消</el-button> |
||||
<el-button type="primary" @click="confirm">确 定</el-button> |
||||
</span> |
||||
</el-dialog> |
||||
</template> |
||||
|
||||
<script> |
||||
export default { |
||||
props: { |
||||
dialogVisible: { |
||||
type: Object, |
||||
default: () => {} |
||||
} |
||||
}, |
||||
data() { |
||||
return {} |
||||
}, |
||||
methods: { |
||||
confirm() { |
||||
this.$emit('confirm', false) |
||||
}, |
||||
close() { |
||||
this.$emit('closed', false) |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang='less' scoped> |
||||
|
||||
</style> |
@ -0,0 +1,101 @@
|
||||
<template> |
||||
<el-dialog |
||||
:title="dialogData.title" |
||||
:visible.sync="dialogData.visible" |
||||
width="30%" |
||||
> |
||||
|
||||
<div v-if="dialogData.type===1" class="audit"> |
||||
<el-form label-width="80px"> |
||||
<el-form-item> |
||||
<el-radio-group v-model="formParams.status"> |
||||
<el-radio :label="2">审核通过</el-radio> |
||||
<el-radio :label="3">审核不通过</el-radio> |
||||
</el-radio-group> |
||||
</el-form-item> |
||||
<el-form-item label="备注"> |
||||
<el-input |
||||
v-model="formParams.auditRemark" |
||||
type="textarea" |
||||
/> |
||||
</el-form-item> |
||||
</el-form> |
||||
</div> |
||||
<div v-else class="clean"> |
||||
<p>确认要清退本商家吗?</p> |
||||
<p>清退后商家的所有商品将退出本次活动</p> |
||||
</div> |
||||
<span slot="footer" class="dialog-footer"> |
||||
<el-button type="primary" @click="confirm">{{ dialogData.type===1 ? '确 定': '清 退' }}</el-button> |
||||
<el-button @click="cancel">取 消</el-button> |
||||
</span> |
||||
</el-dialog> |
||||
</template> |
||||
|
||||
<script> |
||||
import Marketing from '@/api/Marketing' |
||||
export default { |
||||
props: { |
||||
dialogData: { |
||||
type: Object, |
||||
default: () => {} |
||||
} |
||||
}, |
||||
data() { |
||||
return { |
||||
formParams: { |
||||
auditRemark: '', |
||||
status: 3, |
||||
id: this.dialogData.id |
||||
} |
||||
} |
||||
}, |
||||
methods: { |
||||
cancel() { |
||||
this.$emit('closed', false) |
||||
}, |
||||
confirm() { |
||||
if (this.dialogData.type === 1) { |
||||
this.auditPromotion() |
||||
} else { |
||||
this.closeApplyInfo() |
||||
} |
||||
}, |
||||
async auditPromotion() { |
||||
const res = await Marketing.auditPromotion(Object.assign({}, this.formParams, { id: this.dialogData.id } ) ) |
||||
const resData = res.data |
||||
if (resData.code === 0) { |
||||
this.$message({ |
||||
type: 'success', |
||||
message: '审核成功' |
||||
}) |
||||
this.$emit('applyShop') |
||||
this.cancel() |
||||
} |
||||
}, |
||||
async closeApplyInfo() { |
||||
const res = await Marketing.closeApplyInfo({ id: this.dialogData.id }) |
||||
const resData = res.data |
||||
if (resData.code === 0) { |
||||
this.$message({ |
||||
type: 'success', |
||||
message: '清退成功' |
||||
}) |
||||
this.$emit('applyShop') |
||||
this.cancel() |
||||
} |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style scoped lang='less'> |
||||
.clean { |
||||
p { |
||||
text-align: center; |
||||
&:nth-child(2) { |
||||
color: #888888; |
||||
} |
||||
} |
||||
} |
||||
</style> |
Loading…
Reference in new issue