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> |
<template> |
||||||
<div> |
<div class="cash_deposit_page"> |
||||||
<h1>保证金</h1> |
<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> |
</div> |
||||||
</template> |
</template> |
||||||
|
|
||||||
<script> |
<script> |
||||||
|
import Finance from '@/api/Finance' |
||||||
|
import Pagination from '@/components/Pagination' |
||||||
export default { |
export default { |
||||||
|
components: { |
||||||
|
Pagination |
||||||
|
}, |
||||||
data() { |
data() { |
||||||
return { |
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> |
</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