入驻申请修改

This commit is contained in:
DESKTOP-GMUNQ1B\k 2024-02-29 14:16:48 +08:00
parent 54745ffd77
commit 0e67b078d4
6 changed files with 406 additions and 114 deletions

View File

@ -26,6 +26,7 @@ export default {
isRouterAlive: true isRouterAlive: true
} }
}, },
methods: { methods: {
reload() { reload() {
this.isRouterAlive = false this.isRouterAlive = false
@ -36,3 +37,20 @@ export default {
} }
} }
</script> </script>
<style lang="scss">
.el-notification__title {
position: relative;
&::before {
content: "";
display: inline-block;
width: 3px;
height: 15px;
background: #116BFF;
position: absolute;
left: -10px;
border-radius: 2px;
}
}
</style>

View File

@ -165,6 +165,12 @@ export function intentionDelte(mer_id) {
export function intentionStatusApi(mer_id) { export function intentionStatusApi(mer_id) {
return request.get(`merchant/intention/status/${mer_id}/form`) return request.get(`merchant/intention/status/${mer_id}/form`)
} }
// 新增修改状态
export function updateStatus(mer_id, data) {
return request.post(`merchant/intention/status/${mer_id}`, data)
}
/** /**
* @description 申请管理 -- 编辑复制次数 * @description 申请管理 -- 编辑复制次数
*/ */

View File

@ -54,7 +54,6 @@ export default function modalForm(formRequestPromise, config = {}) {
}) })
]), ]),
beforeClose: (action, instance, done) => { beforeClose: (action, instance, done) => {
const fn = () => { const fn = () => {
setTimeout(() => { setTimeout(() => {
instance.confirmButtonLoading = false instance.confirmButtonLoading = false

View File

@ -5,39 +5,18 @@
<div class="container"> <div class="container">
<el-form size="small" label-width="100px"> <el-form size="small" label-width="100px">
<el-form-item label="时间选择:" class="width100"> <el-form-item label="时间选择:" class="width100">
<el-radio-group <el-radio-group v-model="tableFrom.date" type="button" class="mr20" size="small"
v-model="tableFrom.date" @change="selectChange(tableFrom.date)">
type="button" <el-radio-button v-for="(item, i) in fromList.fromTxt" :key="i" :label="item.val">{{ item.text
class="mr20" }}</el-radio-button>
size="small"
@change="selectChange(tableFrom.date)"
>
<el-radio-button
v-for="(item,i) in fromList.fromTxt"
:key="i"
:label="item.val"
>{{ item.text }}</el-radio-button>
</el-radio-group> </el-radio-group>
<el-date-picker <el-date-picker v-model="timeVal" value-format="yyyy/MM/dd" format="yyyy/MM/dd" size="small"
v-model="timeVal" type="daterange" placement="bottom-end" placeholder="自定义时间" style="width: 250px;"
value-format="yyyy/MM/dd" @change="onchangeTime" />
format="yyyy/MM/dd"
size="small"
type="daterange"
placement="bottom-end"
placeholder="自定义时间"
style="width: 250px;"
@change="onchangeTime"
/>
</el-form-item> </el-form-item>
<el-form-item label="关键字:" class="width100"> <el-form-item label="关键字:" class="width100">
<el-input <el-input v-model="tableFrom.keyword" @keyup.enter.native="getList(1)" placeholder="请输入订单号/用户昵称"
v-model="tableFrom.keyword" class="selWidth" size="small">
@keyup.enter.native="getList(1)"
placeholder="请输入订单号/用户昵称"
class="selWidth"
size="small"
>
<el-button slot="append" icon="el-icon-search" size="small" class="el-button-solt" @click="getList(1)" /> <el-button slot="append" icon="el-icon-search" size="small" class="el-button-solt" @click="getList(1)" />
</el-input> </el-input>
<el-button size="small" type="primary" icon="el-icon-top" @click="exports">列表导出</el-button> <el-button size="small" type="primary" icon="el-icon-top" @click="exports">列表导出</el-button>
@ -47,14 +26,8 @@
</div> </div>
<cards-data :card-lists="cardLists" /> <cards-data :card-lists="cardLists" />
</div> </div>
<el-table <el-table v-loading="listLoading" :data="tableData.data" style="width: 100%" size="mini" class="table"
v-loading="listLoading" highlight-current-row>
:data="tableData.data"
style="width: 100%"
size="mini"
class="table"
highlight-current-row
>
<el-table-column label="订单号" min-width="100"> <el-table-column label="订单号" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.financial_type != 'sys_accoubts'">{{ scope.row.order_sn }}</span> <span v-if="scope.row.financial_type != 'sys_accoubts'">{{ scope.row.order_sn }}</span>
@ -64,11 +37,7 @@
<el-table-column prop="financial_record_sn" label="交易流水号" min-width="100" /> <el-table-column prop="financial_record_sn" label="交易流水号" min-width="100" />
<el-table-column prop="create_time" label="交易时间" min-width="100" sortable /> <el-table-column prop="create_time" label="交易时间" min-width="100" sortable />
<el-table-column prop="user_info" label="对方信息" min-width="80" /> <el-table-column prop="user_info" label="对方信息" min-width="80" />
<el-table-column label="交易类型" min-width="100"> <el-table-column prop="financial_type_cn" label="交易类型" min-width="100" />
<template slot-scope="scope">
<span>{{ scope.row.financial_type | transactionTypeFilter }}</span>
</template>
</el-table-column>
<el-table-column label="收支金额(元)" min-width="100"> <el-table-column label="收支金额(元)" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.financial_pm === 1 ? scope.row.number : -scope.row.number }}</span> <span>{{ scope.row.financial_pm === 1 ? scope.row.number : -scope.row.number }}</span>
@ -76,10 +45,13 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" min-width="150" fixed="right"> <el-table-column label="操作" min-width="150" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<router-link v-if="scope.row.financial_type == 'sys_accoubts'" :to=" { path:`${roterPre}` + '/accounts/reconciliation?reconciliation_id='+scope.row.order_id } "> <router-link v-if="scope.row.financial_type == 'sys_accoubts'"
:to="{ path: `${roterPre}` + '/accounts/reconciliation?reconciliation_id=' + scope.row.order_id }">
<el-button type="text" size="small" class="mr10">详情</el-button> <el-button type="text" size="small" class="mr10">详情</el-button>
</router-link> </router-link>
<router-link v-else-if="scope.row.financial_type == 'order' || scope.row.financial_type == 'brokerage_one' || scope.row.financial_type == 'brokerage_two'" :to=" { path:`${roterPre}` + '/order/list?order_sn='+scope.row.order_sn } "> <router-link
v-else-if="scope.row.financial_type == 'order' || scope.row.financial_type == 'brokerage_one' || scope.row.financial_type == 'brokerage_two'"
:to="{ path: `${roterPre}` + '/order/list?order_sn=' + scope.row.order_sn }">
<el-button type="text" size="small" class="mr10">详情</el-button> <el-button type="text" size="small" class="mr10">详情</el-button>
</router-link> </router-link>
<router-link v-else :to="{ path: `${roterPre}` + '/order/refund?refund_order_sn=' + scope.row.order_sn }"> <router-link v-else :to="{ path: `${roterPre}` + '/order/refund?refund_order_sn=' + scope.row.order_sn }">
@ -89,15 +61,9 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="block"> <div class="block">
<el-pagination <el-pagination :page-sizes="[20, 40, 60, 80]" :page-size="tableFrom.limit" :current-page="tableFrom.page"
:page-sizes="[20, 40, 60, 80]" layout="total, sizes, prev, pager, next, jumper" :total="tableData.total" @size-change="handleSizeChange"
:page-size="tableFrom.limit" @current-change="pageChange" />
:current-page="tableFrom.page"
layout="total, sizes, prev, pager, next, jumper"
:total="tableData.total"
@size-change="handleSizeChange"
@current-change="pageChange"
/>
</div> </div>
</el-card> </el-card>
<!--导出订单列表--> <!--导出订单列表-->

View File

@ -36,7 +36,6 @@
<el-button slot="append" icon="el-icon-search" class="el-button-solt" @click="getList(1)" /> <el-button slot="append" icon="el-icon-search" class="el-button-solt" @click="getList(1)" />
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
</div> </div>
@ -69,7 +68,7 @@
<el-table-column label="操作" min-width="280" fixed="right" align="center"> <el-table-column label="操作" min-width="280" fixed="right" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.status == 0" type="text" size="small" <el-button v-if="scope.row.status == 0" type="text" size="small"
@click="onchangeIsShow(scope.row.mer_intention_id)">审核</el-button> @click="onchangeIsShow(scope.row)">审核</el-button>
<el-button type="text" size="small" @click="onEdit(scope.row.mer_intention_id)">备注</el-button> <el-button type="text" size="small" @click="onEdit(scope.row.mer_intention_id)">备注</el-button>
<el-button type="text" size="small" @click="handleDelete(scope.row.mer_intention_id)">删除</el-button> <el-button type="text" size="small" @click="handleDelete(scope.row.mer_intention_id)">删除</el-button>
</template> </template>
@ -81,6 +80,113 @@
@current-change="pageChange" /> @current-change="pageChange" />
</div> </div>
</el-card> </el-card>
<!-- 审核状态 -->
<el-dialog title="修改审核状态" :visible.sync="statusAuditVisible" width="60%">
<el-form ref="statusAuditForm" :model="statusAuditForm" label-width="120px" @submit.native.prevent>
<el-row>
<el-col :span="12">
<el-form-item label="审核状态:">
<el-select v-model="statusAuditForm.state" placeholder="请选择审核状态" @change="statusChange">
<el-option label="同意" :value="1"> </el-option>
<el-option label="拒绝" :value="2"> </el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="自动创建商户:">
<el-radio-group v-model="statusAuditForm.create_mer" @change="createMerChange">
<el-radio :label="1">创建</el-radio>
<el-radio :label="2">不创建</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="statusAuditForm.state == 2">
<el-form-item label="拒绝原因:" prop="fail_msg">
<el-input type="textarea" :rows="2" placeholder="请输入拒绝原因" v-model="statusAuditForm.fail_msg">
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="申请类型:">
<el-input readony :value="statusAuditForm.type == 1 ? '商户入驻申请' : '商户开通交易申请'" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="商户名称:">
<el-input readony :value="statusAuditForm.mer_name" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="商户分类:">
<el-input readony :value="statusAuditForm.category_name" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="店铺类型:">
<el-input readony :value="statusAuditForm.type_name" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="商户姓名:">
<el-input readony :value="statusAuditForm.name" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系方式:">
<el-input readony :value="statusAuditForm.phone" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请时间:">
<el-input readony :value="statusAuditForm.create_time" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="法人姓名:">
<el-input readony :value="statusAuditForm.name" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="社会代码:">
<el-input readony :value="statusAuditForm.social_credit_code" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司名称:">
<el-input readony :value="statusAuditForm.company_name" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司性质:">
<el-input readony :value="statusAuditForm.is_company == 1 ? '对公户' : '个体户'" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注:">
<el-input readony :value="statusAuditForm.mark" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer">
<el-button type="primary" class="submission" size="small" @click="handleSubmit()">提交</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -100,7 +206,8 @@ import {
intentionDelte, intentionDelte,
intentionStatusApi, intentionStatusApi,
getstoreTypeApi, getstoreTypeApi,
getMerCateApi getMerCateApi,
updateStatus
} from "@/api/merchant"; } from "@/api/merchant";
import { categoryListApi } from "@/api/product"; import { categoryListApi } from "@/api/product";
import { fromList, statusList } from "@/libs/constants.js"; import { fromList, statusList } from "@/libs/constants.js";
@ -109,6 +216,8 @@ export default {
name: "MerchantApplication", name: "MerchantApplication",
data() { data() {
return { return {
statusAuditVisible: false,//
statusAuditForm: {},//
props: { props: {
emitPath: false emitPath: false
}, },
@ -162,6 +271,7 @@ export default {
this.tableFrom.page = 1; this.tableFrom.page = 1;
this.getList(""); this.getList("");
}, },
// //
onchangeTime(e) { onchangeTime(e) {
this.timeVal = e; this.timeVal = e;
@ -208,16 +318,57 @@ export default {
this.tableFrom.limit = val; this.tableFrom.limit = val;
this.getList(1); this.getList(1);
}, },
// //
onchangeIsShow(id) { onchangeIsShow(item) {
this.$modalForm(intentionStatusApi(id)).then(() => this.getList("")); this.statusAuditVisible = true;
this.statusAuditForm = item;
this.$set(this.statusAuditForm, 'state', 1);
this.$set(this.statusAuditForm, 'create_mer', 1);
},
//
statusChange() {
if (this.statusAuditForm.state == 2) {
this.statusAuditForm.create_mer = 2;
} else {
this.statusAuditForm.create_mer = 1;
}
},
//
createMerChange() {
if (this.statusAuditForm.create_mer == 2) {
this.statusAuditForm.state = 2;
} else {
this.statusAuditForm.state = 1;
}
},
//
handleSubmit() {
if (this.statusAuditForm.state == 2 && !this.statusAuditForm.fail_msg) {
return this.$message.warning("请输入拒绝原因");
}
updateStatus(this.statusAuditForm.mer_intention_id, {
status: this.statusAuditForm.state,
create_mer: this.statusAuditForm.create_mer,
fail_msg: this.statusAuditForm.fail_msg
}).then(res => {
this.statusAuditVisible = false;
this.$message.success(res.message);
this.getList("");
}).catch(({ message }) => {
this.$message.error(message);
});
}, },
//
// //
onEdit(id) { onEdit(id) {
this.$modalForm(auditApi(id)).then(() => this.getList("")); this.$modalForm(auditApi(id)).then(() => this.getList(""));
}, },
// //
handleDelete(id) { handleDelete(id) {
this.$deleteSure().then(() => { this.$deleteSure().then(() => {

View File

@ -74,7 +74,7 @@
<el-table-column label="操作" min-width="280" fixed="right" align="center"> <el-table-column label="操作" min-width="280" fixed="right" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.status == 0" type="text" size="small" <el-button v-if="scope.row.status == 0" type="text" size="small"
@click="onchangeIsShow(scope.row.mer_intention_id)">审核</el-button> @click="onchangeIsShow(scope.row)">审核</el-button>
<el-button type="text" size="small" @click="onEdit(scope.row.mer_intention_id)">备注</el-button> <el-button type="text" size="small" @click="onEdit(scope.row.mer_intention_id)">备注</el-button>
<el-button type="text" size="small" @click="handleDelete(scope.row.mer_intention_id)">删除</el-button> <el-button type="text" size="small" @click="handleDelete(scope.row.mer_intention_id)">删除</el-button>
</template> </template>
@ -86,6 +86,134 @@
@current-change="pageChange" /> @current-change="pageChange" />
</div> </div>
</el-card> </el-card>
<!-- 审核状态 -->
<el-dialog title="修改审核状态" :visible.sync="statusAuditVisible" width="60%">
<el-form ref="statusAuditForm" :model="statusAuditForm" label-width="120px" @submit.native.prevent>
<el-row>
<el-col :span="12">
<el-form-item label="审核状态:" prop="state">
<el-select v-model="statusAuditForm.state" placeholder="请选择审核状态">
<el-option label="同意" :value="1"> </el-option>
<el-option label="拒绝" :value="2"> </el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24" v-if="statusAuditForm.state == 2">
<el-form-item label="拒绝原因:" prop="fail_msg">
<el-input type="textarea" :rows="2" placeholder="请输入拒绝原因" v-model="statusAuditForm.fail_msg">
</el-input>
</el-form-item>
</el-col>
<!-- </el-row>
<el-row> -->
<el-col :span="12">
<el-form-item label="申请类型:">
<el-input readony :value="statusAuditForm.type == 1 ? '商户入驻申请' : '商户开通交易申请'" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="商户名称:">
<el-input readony :value="statusAuditForm.mer_name" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="商户分类:">
<el-input readony :value="statusAuditForm.category_name" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="店铺类型:">
<el-input readony :value="statusAuditForm.type_name" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="商户姓名:">
<el-input readony :value="statusAuditForm.name" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="联系方式:">
<el-input readony :value="statusAuditForm.phone" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请时间:">
<el-input readony :value="statusAuditForm.create_time" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="法人姓名:">
<el-input readony :value="statusAuditForm.name" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="社会代码:">
<el-input readony :value="statusAuditForm.social_credit_code" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司名称:">
<el-input readony :value="statusAuditForm.company_name" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司性质:">
<el-input readony :value="statusAuditForm.is_company == 1 ? '对公户' : '个体户'" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="对公账号:">
<el-input readony :value="statusAuditForm.bank_code" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开户银行:">
<el-input readony :value="statusAuditForm.bank_username" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开户网点:">
<el-input readony :value="statusAuditForm.bank_opening" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="开户凭证:">
<div class="demo-image__preview">
<el-image style="width: 80px;height: 60px;margin-right: 10px;"
v-for="(item, index) in statusAuditForm.images" :key="index" :src="item" class="preview"
:preview-src-list="[item]" />
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注:">
<el-input readony :value="statusAuditForm.mark" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer">
<el-button type="primary" class="submission" size="small" @click="handleSubmit()">提交</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -105,7 +233,8 @@ import {
intentionDelte, intentionDelte,
intentionStatusApi, intentionStatusApi,
getstoreTypeApi, getstoreTypeApi,
getMerCateApi getMerCateApi,
updateStatus
} from "@/api/merchant"; } from "@/api/merchant";
import { categoryListApi } from "@/api/product"; import { categoryListApi } from "@/api/product";
import { fromList, statusList } from "@/libs/constants.js"; import { fromList, statusList } from "@/libs/constants.js";
@ -114,6 +243,8 @@ export default {
name: "MerchantApplication", name: "MerchantApplication",
data() { data() {
return { return {
statusAuditVisible: false,//
statusAuditForm: {},//
props: { props: {
emitPath: false emitPath: false
}, },
@ -215,15 +346,36 @@ export default {
this.getList(1); this.getList(1);
}, },
// //
onchangeIsShow(id) { onchangeIsShow(item) {
this.$modalForm(intentionStatusApi(id)).then(() => this.getList("")); this.statusAuditVisible = true;
this.statusAuditForm = item;
this.$set(this.statusAuditForm, 'state', 1);
},
//
handleSubmit() {
if (this.statusAuditForm.state == 2 && !this.statusAuditForm.fail_msg) {
return this.$message.warning("请输入拒绝原因");
}
updateStatus(this.statusAuditForm.mer_intention_id, {
status: this.statusAuditForm.state,
fail_msg: this.statusAuditForm.fail_msg
}).then(res => {
this.statusAuditVisible = false;
this.$message.success(res.message);
this.getList("");
}).catch(({ message }) => {
this.$message.error(message);
});
}, },
//
// //
onEdit(id) { onEdit(id) {
this.$modalForm(auditApi(id)).then(() => this.getList("")); this.$modalForm(auditApi(id)).then(() => this.getList(""));
}, },
// //
handleDelete(id) { handleDelete(id) {
this.$deleteSure().then(() => { this.$deleteSure().then(() => {