开通交易申请

This commit is contained in:
DESKTOP-GMUNQ1B\k 2024-02-26 15:54:10 +08:00
parent 527481253c
commit fe8dcf8119
4 changed files with 551 additions and 702 deletions

View File

@ -67,6 +67,15 @@ const merchantRouter =
}, },
component: () => import('@/views/merchant/application') component: () => import('@/views/merchant/application')
}, },
{
path: 'open',
name: 'MerchantOpen',
meta: {
title: '商户开通申请',
noCache: true
},
component: () => import('@/views/merchant/open')
},
{ {
path: 'agree', path: 'agree',
name: 'MerchantAgreement', name: 'MerchantAgreement',

View File

@ -5,83 +5,34 @@
<div class="container"> <div class="container">
<el-form size="small" label-width="100px" :inline="true"> <el-form size="small" label-width="100px" :inline="true">
<el-form-item label="选择时间:" style="width: 100%"> <el-form-item label="选择时间:" style="width: 100%">
<el-radio-group <el-radio-group v-model="tableFrom.date" size="small" @change="selectChange(tableFrom.date)">
v-model="tableFrom.date" <el-radio-button v-for="(itemn, indexn) in fromList.fromTxt" :key="indexn" :label="itemn.val">{{
size="small" itemn.text }}</el-radio-button>
@change="selectChange(tableFrom.date)"
>
<el-radio-button
v-for="(itemn, indexn) in fromList.fromTxt"
:key="indexn"
:label="itemn.val"
>{{ itemn.text }}</el-radio-button
>
</el-radio-group> </el-radio-group>
<el-date-picker <el-date-picker v-model="timeVal" type="daterange" placeholder="选择日期" format="yyyy/MM/dd"
v-model="timeVal" value-format="yyyy/MM/dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
type="daterange" @change="onchangeTime" />
placeholder="选择日期"
format="yyyy/MM/dd"
value-format="yyyy/MM/dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="onchangeTime"
/>
</el-form-item> </el-form-item>
<el-form-item label="状态:"> <el-form-item label="状态:">
<el-radio-group <el-radio-group v-model="tableFrom.status" size="small" @change="statusChange(tableFrom.status)">
v-model="tableFrom.status" <el-radio-button v-for="(itemn, indexn) in statusList.fromTxt" :key="indexn" :label="itemn.val">{{
size="small" itemn.text }}</el-radio-button>
@change="statusChange(tableFrom.status)"
>
<el-radio-button
v-for="(itemn, indexn) in statusList.fromTxt"
:key="indexn"
:label="itemn.val"
>{{ itemn.text }}</el-radio-button
>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="商户分类:"> <el-form-item label="商户分类:">
<el-select <el-select v-model="tableFrom.category_id" clearable placeholder="请选择" class="selWidth"
v-model="tableFrom.category_id" @change="getList(1)">
clearable <el-option v-for="item in merCateList" :key="item.value" :label="item.label" :value="item.value" />
placeholder="请选择"
class="selWidth"
@change="getList(1)"
>
<el-option
v-for="item in merCateList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="店铺类型:"> <el-form-item label="店铺类型:">
<el-select <el-select v-model="tableFrom.type_id" clearable placeholder="请选择" class="selWidth" @change="getList(1)">
v-model="tableFrom.type_id" <el-option v-for="item in storeType" :key="item.value" :label="item.label" :value="item.value" />
clearable
placeholder="请选择"
class="selWidth"
@change="getList(1)"
>
<el-option
v-for="item in storeType"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="关键字:"> <el-form-item label="关键字:">
<el-input <el-input v-model="tableFrom.keyword" @keyup.enter.native="getList(1)" placeholder="请输入商户名称关键字/联系电话"
v-model="tableFrom.keyword" class="selWidth">
@keyup.enter.native="getList(1)"
placeholder="请输入商户名称关键字/联系电话"
class="selWidth"
>
<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>
@ -89,14 +40,8 @@
</el-form> </el-form>
</div> </div>
</div> </div>
<el-table <el-table v-loading="listLoading" :data="tableData.data" style="width: 100%" size="small" highlight-current-row
v-loading="listLoading" class="switchTable">
:data="tableData.data"
style="width: 100%"
size="small"
highlight-current-row
class="switchTable"
>
<el-table-column prop="mer_intention_id" label="ID" min-width="60" /> <el-table-column prop="mer_intention_id" label="ID" min-width="60" />
<el-table-column prop="mer_name" label="商户名称" min-width="150" /> <el-table-column prop="mer_name" label="商户名称" min-width="150" />
<el-table-column prop="category_name" label="商户分类" min-width="150" /> <el-table-column prop="category_name" label="商户分类" min-width="150" />
@ -107,13 +52,8 @@
<el-table-column prop="create_time" label="资质图片" min-width="150"> <el-table-column prop="create_time" label="资质图片" min-width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="demo-image__preview"> <div class="demo-image__preview">
<el-image <el-image v-for="(item, index) in scope.row.images" :key="index" :src="item" class="mr5"
v-for="(item, index) in scope.row.images" :preview-src-list="[item]" />
:key="index"
:src="item"
class="mr5"
:preview-src-list="[item]"
/>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -128,38 +68,17 @@
<el-table-column prop="mark" label="备注" min-width="150" /> <el-table-column prop="mark" label="备注" min-width="150" />
<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 <el-button v-if="scope.row.status == 0" type="text" size="small"
v-if="scope.row.status == 0" @click="onchangeIsShow(scope.row.mer_intention_id)">审核</el-button>
type="text" <el-button type="text" size="small" @click="onEdit(scope.row.mer_intention_id)">备注</el-button>
size="small" <el-button type="text" size="small" @click="handleDelete(scope.row.mer_intention_id)">删除</el-button>
@click="onchangeIsShow(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
>
</template> </template>
</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>
</div> </div>
@ -212,7 +131,8 @@ export default {
keyword: "", keyword: "",
mer_intention_id: this.$route.query.id ? this.$route.query.id : "", mer_intention_id: this.$route.query.id ? this.$route.query.id : "",
category_id: "", category_id: "",
type_id: "" type_id: "",
type: 1,//
}, },
mer_id: this.$route.query.id ? this.$route.query.id : "", mer_id: this.$route.query.id ? this.$route.query.id : "",
autoUpdate: true, autoUpdate: true,

View File

@ -5,91 +5,35 @@
<div class="container"> <div class="container">
<el-form size="small" label-width="100px" :inline="true"> <el-form size="small" label-width="100px" :inline="true">
<el-form-item label="选择时间:" style="display: inline-block"> <el-form-item label="选择时间:" style="display: inline-block">
<el-radio-group <el-radio-group v-model="tableFrom.date" size="small" @change="selectChange(tableFrom.date)">
v-model="tableFrom.date" <el-radio-button v-for="(itemn, indexn) in fromList.fromTxt" :key="indexn" :label="itemn.val">{{
size="small" itemn.text }}</el-radio-button>
@change="selectChange(tableFrom.date)"
>
<el-radio-button
v-for="(itemn, indexn) in fromList.fromTxt"
:key="indexn"
:label="itemn.val"
>{{ itemn.text }}</el-radio-button
>
</el-radio-group> </el-radio-group>
<el-date-picker <el-date-picker v-model="timeVal" type="daterange" placeholder="选择日期" format="yyyy/MM/dd"
v-model="timeVal" value-format="yyyy/MM/dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
type="daterange" @change="onchangeTime" />
placeholder="选择日期"
format="yyyy/MM/dd"
value-format="yyyy/MM/dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="onchangeTime"
/>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="关键字:" label-width="80px" style="display: inline-block">
label="关键字:" <el-input v-model="tableFrom.keyword" @keyup.enter.native="getList(1)" placeholder="请输入店铺关键字/店铺名/联系电话"
label-width="80px" class="selWidth">
style="display: inline-block" <el-button slot="append" icon="el-icon-search" class="el-button-solt" @click="getList(1)" />
>
<el-input
v-model="tableFrom.keyword"
@keyup.enter.native="getList(1)"
placeholder="请输入店铺关键字/店铺名/联系电话"
class="selWidth"
>
<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-item label="商户类别:"> <el-form-item label="商户类别:">
<el-select <el-select v-model="tableFrom.is_trader" clearable placeholder="请选择" class="selWidth" @change="getList(1)">
v-model="tableFrom.is_trader"
clearable
placeholder="请选择"
class="selWidth"
@change="getList(1)"
>
<el-option label="自营" value="1" /> <el-option label="自营" value="1" />
<el-option label="非自营" value="0" /> <el-option label="非自营" value="0" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="商户分类:"> <el-form-item label="商户分类:">
<el-select <el-select v-model="tableFrom.category_id" clearable placeholder="请选择" class="selWidth"
v-model="tableFrom.category_id" @change="getList(1)">
clearable <el-option v-for="item in merCateList" :key="item.value" :label="item.label" :value="item.value" />
placeholder="请选择"
class="selWidth"
@change="getList(1)"
>
<el-option
v-for="item in merCateList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="店铺类型:"> <el-form-item label="店铺类型:">
<el-select <el-select v-model="tableFrom.type_id" clearable placeholder="请选择" class="selWidth" @change="getList(1)">
v-model="tableFrom.type_id" <el-option v-for="item in storeType" :key="item.value" :label="item.label" :value="item.value" />
clearable
placeholder="请选择"
class="selWidth"
@change="getList(1)"
>
<el-option
v-for="item in storeType"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="店铺商圈:"> <el-form-item label="店铺商圈:">
@ -107,43 +51,19 @@
:value="item.code" :value="item.code"
/> />
</el-select> --> </el-select> -->
<el-cascader <el-cascader v-model="tableFrom.area_id" :options="form.options" @change="handleChange1"></el-cascader>
v-model="tableFrom.area_id" <el-cascader v-model="tableFrom.street_id" :options="form.options1" @change="getList(1)"></el-cascader>
:options="form.options"
@change="handleChange1"
></el-cascader>
<el-cascader
v-model="tableFrom.street_id"
:options="form.options1"
@change="getList(1)"
></el-cascader>
</el-form-item> </el-form-item>
<el-tabs <el-tabs v-if="headeNum.length > 0" v-model="tableFrom.status" @tab-click="getList(1), getHeadNum()">
v-if="headeNum.length > 0" <el-tab-pane v-for="(item, index) in headeNum" :key="index" :name="item.type.toString()"
v-model="tableFrom.status" :label="item.title + '(' + item.count + ')'" />
@tab-click="getList(1), getHeadNum()"
>
<el-tab-pane
v-for="(item, index) in headeNum"
:key="index"
:name="item.type.toString()"
:label="item.title + '(' + item.count + ')'"
/>
</el-tabs> </el-tabs>
</el-form> </el-form>
</div> </div>
<el-button size="small" type="primary" @click="onAdd" <el-button size="small" type="primary" @click="onAdd">添加商户</el-button>
>添加商户</el-button
>
</div> </div>
<el-table <el-table v-loading="listLoading" :data="tableData.data" style="width: 100%" size="small" highlight-current-row
v-loading="listLoading" class="switchTable">
:data="tableData.data"
style="width: 100%"
size="small"
highlight-current-row
class="switchTable"
>
<el-table-column prop="mer_id" label="ID" min-width="60" /> <el-table-column prop="mer_id" label="ID" min-width="60" />
<el-table-column prop="mer_name" label="商户名称" min-width="150" /> <el-table-column prop="mer_name" label="商户名称" min-width="150" />
<!--<el-table-column prop="mer_name" label="商户类别" min-width="90"> <!--<el-table-column prop="mer_name" label="商户类别" min-width="90">
@ -167,15 +87,8 @@
<el-table-column prop="mark" label="备注" min-width="200" /> <el-table-column prop="mark" label="备注" min-width="200" />
<el-table-column prop="status" label="推荐" min-width="100"> <el-table-column prop="status" label="推荐" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch <el-switch v-model="scope.row.is_best" :active-value="1" :inactive-value="0" active-text="是" inactive-text=""
v-model="scope.row.is_best" disabled @click.native="onchangeIsShow(scope.row)" />
:active-value="1"
:inactive-value="0"
active-text="是"
inactive-text="否"
disabled
@click.native="onchangeIsShow(scope.row)"
/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="create_time" label="创建时间" min-width="150" /> <el-table-column prop="create_time" label="创建时间" min-width="150" />
@ -194,23 +107,11 @@
<el-table-column prop="status" label="开启/关闭" min-width="100"> <el-table-column prop="status" label="开启/关闭" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch <el-switch v-model="scope.row.status" :active-value="1" :inactive-value="0" active-text="开启"
v-model="scope.row.status" inactive-text="关闭" disabled @click.native="onchangeIsClose(scope.row)" />
:active-value="1"
:inactive-value="0"
active-text="开启"
inactive-text="关闭"
disabled
@click.native="onchangeIsClose(scope.row)"
/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="操作" min-width="280" fixed="right" align="center">
label="操作"
min-width="280"
fixed="right"
align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <router-link <!-- <router-link
v-if="tableFrom.status === '1'" v-if="tableFrom.status === '1'"
@ -218,40 +119,15 @@
> >
<el-button type="text" size="small" class="mr10">对账</el-button> <el-button type="text" size="small" class="mr10">对账</el-button>
</router-link>--> </router-link>-->
<el-button <el-button v-if="tableFrom.status === '1'" type="text" size="small"
v-if="tableFrom.status === '1'" @click="onLogo(scope.row.mer_id)">登录</el-button>
type="text" <el-button type="text" size="small" @click="onEdit(scope.row.mer_id)">编辑</el-button>
size="small" <el-button v-if="tableFrom.status === '1'" type="text" size="small"
@click="onLogo(scope.row.mer_id)" @click="onPassword(scope.row.mer_id)">修改管理员密码</el-button>
>登录</el-button <el-button v-if="tableFrom.status === '0'" type="text" size="small"
> @click="handleDelete(scope.row.mer_id, scope.$index)">删除</el-button>
<el-button <el-button v-if="tableFrom.status === '1'" type="text" size="small"
type="text" @click="handleTimes(scope.row.mer_id)">设置第三方平台商品复制次数</el-button>
size="small"
@click="onEdit(scope.row.mer_id)"
>编辑</el-button
>
<el-button
v-if="tableFrom.status === '1'"
type="text"
size="small"
@click="onPassword(scope.row.mer_id)"
>修改管理员密码</el-button
>
<el-button
v-if="tableFrom.status === '0'"
type="text"
size="small"
@click="handleDelete(scope.row.mer_id, scope.$index)"
>删除</el-button
>
<el-button
v-if="tableFrom.status === '1'"
type="text"
size="small"
@click="handleTimes(scope.row.mer_id)"
>设置第三方平台商品复制次数</el-button
>
<!-- <el-button <!-- <el-button
v-if="tableFrom.status === '1'" v-if="tableFrom.status === '1'"
type="text" type="text"
@ -262,312 +138,104 @@
</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>
<!-- 添加商户弹出层 --> <!-- 添加商户弹出层 -->
<el-dialog <el-dialog :title="edit == 0 ? '新增商户信息' : '编辑商户信息'" :visible.sync="popFormVisible" @close="close('form')">
:title="edit == 0 ? '新增商户信息' : '编辑商户信息'"
:visible.sync="popFormVisible"
@close="close('form')"
>
<el-form :model="form" :rules="rules" ref="form"> <el-form :model="form" :rules="rules" ref="form">
<el-form-item <el-form-item label="商户名称" :label-width="formLabelWidth" prop="mer_name">
label="商户名称" <el-input v-model="form.mer_name" autocomplete="off" placeholder="请输入商户名称"></el-input>
:label-width="formLabelWidth"
prop="mer_name"
>
<el-input
v-model="form.mer_name"
autocomplete="off"
placeholder="请输入商户名称"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="商户分类" :label-width="formLabelWidth"> <el-form-item label="商户分类" :label-width="formLabelWidth">
<el-select v-model="form.category_id" placeholder="请选择商户分类"> <el-select v-model="form.category_id" placeholder="请选择商户分类">
<el-option <el-option :label="item.label" :value="item.value" v-for="item in merCateList" :key="item.value"></el-option>
:label="item.label"
:value="item.value"
v-for="item in merCateList"
:key="item.value"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="店铺类型" :label-width="formLabelWidth" prop="type_id">
label="店铺类型"
:label-width="formLabelWidth"
prop="type_id"
>
<el-select v-model="form.type_id" placeholder="请选择店铺类型"> <el-select v-model="form.type_id" placeholder="请选择店铺类型">
<el-option <el-option :label="item.label" :value="item.value" v-for="item in storeType" :key="item.value"></el-option>
:label="item.label"
:value="item.value"
v-for="item in storeType"
:key="item.value"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="商圈" :label-width="formLabelWidth"> <el-form-item label="商圈" :label-width="formLabelWidth">
<el-cascader <el-cascader v-model="form.info" :options="form.options" @change="handleChange1"></el-cascader>
v-model="form.info" <el-cascader v-model="form.info1" :options="form.options1" @change="handleChange2"></el-cascader>
:options="form.options" <el-cascader v-model="form.info2" :options="form.options2"
@change="handleChange1" @change="handleChange3($event, form.options2)"></el-cascader>
></el-cascader>
<el-cascader
v-model="form.info1"
:options="form.options1"
@change="handleChange2"
></el-cascader>
<el-cascader
v-model="form.info2"
:options="form.options2"
@change="handleChange3($event, form.options2)"
></el-cascader>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="商户账号" :label-width="formLabelWidth" prop="mer_account">
label="商户账号" <el-input v-model="form.mer_account" autocomplete="off" placeholder="请输入商户账号" :disabled="!add"></el-input>
:label-width="formLabelWidth"
prop="mer_account"
>
<el-input
v-model="form.mer_account"
autocomplete="off"
placeholder="请输入商户账号"
:disabled="!add"
></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="登陆密码" :label-width="formLabelWidth" prop="mer_password">
label="登陆密码" <el-input v-model="form.mer_password" autocomplete="off" placeholder="请输入登陆密码" :disabled="!add"></el-input>
:label-width="formLabelWidth"
prop="mer_password"
>
<el-input
v-model="form.mer_password"
autocomplete="off"
placeholder="请输入登陆密码"
:disabled="!add"
></el-input>
</el-form-item> </el-form-item>
<div class="dis"> <div class="dis">
<el-form-item <el-form-item label="保证金额度" :label-width="formLabelWidth" class="mer_phone">
label="保证金额度" <el-input v-model="form.ot_margin" style="width: 200px" autocomplete="off" disabled
:label-width="formLabelWidth" placeholder="保证金额度"></el-input>
class="mer_phone"
>
<el-input
v-model="form.ot_margin"
style="width: 200px"
autocomplete="off"
disabled
placeholder="保证金额度"
></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="已缴纳的保证金" :label-width="formLabelWidth" class="mer_phone">
label="已缴纳的保证金" <el-input v-model="form.paid_margin" style="width: 200px" autocomplete="off" disabled
:label-width="formLabelWidth" placeholder="已缴纳的保证金"></el-input>
class="mer_phone"
>
<el-input
v-model="form.paid_margin"
style="width: 200px"
autocomplete="off"
disabled
placeholder="已缴纳的保证金"
></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="dis"> <div class="dis">
<el-form-item <el-form-item label="需缴纳的保证金" :label-width="formLabelWidth" class="mer_phone">
label="需缴纳的保证金" <el-input v-model="form.margin" style="width: 200px" autocomplete="off" placeholder="请输入需缴纳的保证金"></el-input>
:label-width="formLabelWidth"
class="mer_phone"
>
<el-input
v-model="form.margin"
style="width: 200px"
autocomplete="off"
placeholder="请输入需缴纳的保证金"
></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="自动扣除保证金比例" :label-width="formLabelWidth" prop="commission_rate">
label="自动扣除保证金比例" <el-input v-model="form.auto_margin_rate" style="width: 200px" autocomplete="off"></el-input>
:label-width="formLabelWidth"
prop="commission_rate"
>
<el-input
v-model="form.auto_margin_rate"
style="width: 200px"
autocomplete="off"
></el-input>
</el-form-item> </el-form-item>
</div> </div>
<el-form-item <el-form-item label="商户姓名" :label-width="formLabelWidth" prop="real_name">
label="商户姓名" <el-input v-model="form.real_name" autocomplete="off" placeholder="请输入商户姓名"></el-input>
:label-width="formLabelWidth"
prop="real_name"
>
<el-input
v-model="form.real_name"
autocomplete="off"
placeholder="请输入商户姓名"
></el-input>
</el-form-item> </el-form-item>
<div class="dis"> <div class="dis">
<el-form-item <el-form-item label="商户手机号" :label-width="formLabelWidth" prop="mer_phone" class="mer_phone">
label="商户手机号" <el-input v-model="form.mer_phone" autocomplete="off" placeholder="请输入商户手机号"></el-input>
:label-width="formLabelWidth"
prop="mer_phone"
class="mer_phone"
>
<el-input
v-model="form.mer_phone"
autocomplete="off"
placeholder="请输入商户手机号"
></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="手续费(%)" :label-width="formLabelWidth" prop="commission_rate">
label="手续费(%)" <el-input-number v-model="form.commission_rate" @change="handleChange" :min="0" :max="10" label="描述文字"
:label-width="formLabelWidth" aria-placeholder="请输入手续费"></el-input-number>
prop="commission_rate"
>
<el-input-number
v-model="form.commission_rate"
@change="handleChange"
:min="0"
:max="10"
label="描述文字"
aria-placeholder="请输入手续费"
></el-input-number>
</el-form-item> </el-form-item>
</div> </div>
<el-form-item <el-form-item label="商户关键字" :label-width="formLabelWidth" prop="mer_keyword">
label="商户关键字" <el-input v-model="form.mer_keyword" autocomplete="off" placeholder="请输入商户关键字"></el-input>
:label-width="formLabelWidth"
prop="mer_keyword"
>
<el-input
v-model="form.mer_keyword"
autocomplete="off"
placeholder="请输入商户关键字"
></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="商户地址" :label-width="formLabelWidth" prop="mer_address">
label="商户地址" <el-input v-model="form.mer_address" autocomplete="off" placeholder="请输入商户地址"></el-input>
:label-width="formLabelWidth"
prop="mer_address"
>
<el-input
v-model="form.mer_address"
autocomplete="off"
placeholder="请输入商户地址"
></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="微信分账商户号" :label-width="formLabelWidth" prop="sub_mchid">
label="微信分账商户号" <el-input v-model="form.sub_mchid" autocomplete="off" placeholder="请输入微信分账商户号"></el-input>
:label-width="formLabelWidth"
prop="sub_mchid"
>
<el-input
v-model="form.sub_mchid"
autocomplete="off"
placeholder="请输入微信分账商户号"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="备注" :label-width="formLabelWidth" prop="mark"> <el-form-item label="备注" :label-width="formLabelWidth" prop="mark">
<el-input <el-input type="textarea" placeholder="请输入备注" maxlength="130" v-model="form.mark" autocomplete="off"></el-input>
type="textarea"
placeholder="请输入备注"
maxlength="130"
v-model="form.mark"
autocomplete="off"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="排序" :label-width="formLabelWidth" prop="sort"> <el-form-item label="排序" :label-width="formLabelWidth" prop="sort">
<el-input-number <el-input-number v-model="form.sort" @change="handleChange" :min="0" :max="10"></el-input-number>
v-model="form.sort"
@change="handleChange"
:min="0"
:max="10"
></el-input-number>
</el-form-item> </el-form-item>
<div class="switch_btn"> <div class="switch_btn">
<el-form-item <el-form-item class="mini_btn" label="直播间审核" prop="value1" :label-width="formLabelWidth">
class="mini_btn" <el-switch v-model="form.value1" active-color="#3390ff" active-text="开" inactive-text=""
label="直播间审核" inactive-color="#DCDFE6"></el-switch>
prop="value1"
:label-width="formLabelWidth"
>
<el-switch
v-model="form.value1"
active-color="#3390ff"
active-text="开"
inactive-text="关"
inactive-color="#DCDFE6"
></el-switch>
</el-form-item> </el-form-item>
<el-form-item <el-form-item class="mini_btn" label="产品审核" prop="value2" :label-width="formLabelWidth">
class="mini_btn" <el-switch v-model="form.value2" active-color="#3390ff" active-text="开" inactive-text=""
label="产品审核" inactive-color="#DCDFE6"></el-switch>
prop="value2"
:label-width="formLabelWidth"
>
<el-switch
v-model="form.value2"
active-color="#3390ff"
active-text="开"
inactive-text="关"
inactive-color="#DCDFE6"
></el-switch>
</el-form-item> </el-form-item>
<el-form-item <el-form-item class="mini_btn" label="直播间商品审核" prop="value3" :label-width="formLabelWidth">
class="mini_btn" <el-switch v-model="form.value3" active-color="#3390ff" active-text="开" inactive-text=""
label="直播间商品审核" inactive-color="#DCDFE6"></el-switch>
prop="value3"
:label-width="formLabelWidth"
>
<el-switch
v-model="form.value3"
active-color="#3390ff"
active-text="开"
inactive-text="关"
inactive-color="#DCDFE6"
></el-switch>
</el-form-item> </el-form-item>
<el-form-item <el-form-item class="mini_btn" label="是否推荐" prop="value4" :label-width="formLabelWidth">
class="mini_btn" <el-switch v-model="form.value4" active-color="#3390ff" active-text="开" inactive-text=""
label="是否推荐" inactive-color="#DCDFE6"></el-switch>
prop="value4"
:label-width="formLabelWidth"
>
<el-switch
v-model="form.value4"
active-color="#3390ff"
active-text="开"
inactive-text="关"
inactive-color="#DCDFE6"
></el-switch>
</el-form-item> </el-form-item>
<el-form-item <el-form-item class="mini_btn" label="是否自营" prop="value5" :label-width="formLabelWidth">
class="mini_btn" <el-switch v-model="form.value5" active-color="#3390ff" active-text="开" inactive-text=""
label="是否自营" inactive-color="#DCDFE6"></el-switch>
prop="value5"
:label-width="formLabelWidth"
>
<el-switch
v-model="form.value5"
active-color="#3390ff"
active-text="开"
inactive-text="关"
inactive-color="#DCDFE6"
></el-switch>
</el-form-item> </el-form-item>
</div> </div>
</el-form> </el-form>
@ -1050,7 +718,7 @@ export default {
let val = []; let val = [];
val.push(res.geo_address.area_id); val.push(res.geo_address.area_id);
this.handleChange1(val); this.handleChange1(val);
this.form.info1 = res.geo_address.street_id; //code this.form.info1 = res.geo_address.street_id ? Number(res.geo_address.street_id) : ''; //code
this.form.info2 = res.geo_address.village_id; //id this.form.info2 = res.geo_address.village_id; //id
let vala = []; let vala = [];
let ID = res.geo_address.street_id; let ID = res.geo_address.street_id;
@ -1128,16 +796,20 @@ export default {
margin-top: 0 !important; margin-top: 0 !important;
width: 840px; width: 840px;
} }
.mer_phone { .mer_phone {
width: 400px; width: 400px;
// float: left; // float: left;
} }
.dis { .dis {
display: flex; display: flex;
} }
.switch_btn { .switch_btn {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
.mini_btn { .mini_btn {
width: 390px !important; width: 390px !important;
} }

View File

@ -0,0 +1,248 @@
<template>
<div class="divBox">
<el-card class="box-card">
<div slot="header" class="clearfix">
<div class="container">
<el-form size="small" label-width="100px" :inline="true">
<el-form-item label="选择时间:" style="width: 100%">
<el-radio-group v-model="tableFrom.date" size="small" @change="selectChange(tableFrom.date)">
<el-radio-button v-for="(itemn, indexn) in fromList.fromTxt" :key="indexn" :label="itemn.val">{{
itemn.text }}</el-radio-button>
</el-radio-group>
<el-date-picker v-model="timeVal" type="daterange" placeholder="选择日期" format="yyyy/MM/dd"
value-format="yyyy/MM/dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
@change="onchangeTime" />
</el-form-item>
<el-form-item label="状态:">
<el-radio-group v-model="tableFrom.status" size="small" @change="statusChange(tableFrom.status)">
<el-radio-button v-for="(itemn, indexn) in statusList.fromTxt" :key="indexn" :label="itemn.val">{{
itemn.text }}</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="商户分类:">
<el-select v-model="tableFrom.category_id" clearable placeholder="请选择" class="selWidth"
@change="getList(1)">
<el-option v-for="item in merCateList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="店铺类型:">
<el-select v-model="tableFrom.type_id" clearable placeholder="请选择" class="selWidth" @change="getList(1)">
<el-option v-for="item in storeType" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="关键字:">
<el-input v-model="tableFrom.keyword" @keyup.enter.native="getList(1)" placeholder="请输入商户名称关键字/联系电话"
class="selWidth">
<el-button slot="append" icon="el-icon-search" class="el-button-solt" @click="getList(1)" />
</el-input>
</el-form-item>
</el-form>
</div>
</div>
<el-table v-loading="listLoading" :data="tableData.data" style="width: 100%" size="small" highlight-current-row
class="switchTable">
<el-table-column prop="mer_intention_id" label="ID" min-width="60" />
<el-table-column prop="company_name" label="公司名称" min-width="150" />
<el-table-column prop="mer_name" label="商户/店铺名称" min-width="150" />
<el-table-column prop="category_name" label="商户分类" min-width="150" />
<el-table-column prop="type_name" label="店铺类型" min-width="150" />
<el-table-column prop="address" label="详细地址" min-width="150" />
<el-table-column prop="name" label="商户姓名" min-width="100" />
<el-table-column prop="phone" label="联系方式" min-width="100" />
<el-table-column prop="create_time" label="申请时间" min-width="150" />
<el-table-column prop="social_credit_code" label="社会代码" min-width="150" />
<el-table-column prop="bank_code" label="银行账号" min-width="150" />
<el-table-column prop="bank_username" label="开户银行" min-width="150" />
<el-table-column prop="bank_opening" label="开户银行网点" min-width="150" />
<el-table-column label="开户凭证" min-width="150">
<template slot-scope="scope">
<div class="demo-image__preview">
<el-image v-for="(item, index) in scope.row.images" :key="index" :src="item" class="mr5"
:preview-src-list="[item]" />
</div>
</template>
</el-table-column>
<el-table-column label="状态" min-width="150">
<template slot-scope="scope">
<el-tag v-if="scope.row.status == 1" type="success">通过</el-tag>
<el-tag v-if="scope.row.status == 0" type="info">未处理</el-tag>
<el-tag v-if="scope.row.status == 2" type="warning">未通过</el-tag>
<div v-if="scope.row.status == 2">原因{{ scope.row.fail_msg }}</div>
</template>
</el-table-column>
<el-table-column prop="mark" label="备注" min-width="150" />
<el-table-column label="操作" min-width="280" fixed="right" align="center">
<template slot-scope="scope">
<el-button v-if="scope.row.status == 0" type="text" size="small"
@click="onchangeIsShow(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>
</template>
</el-table-column>
</el-table>
<div class="block">
<el-pagination :page-sizes="[20, 40, 60, 80]" :page-size="tableFrom.limit" :current-page="tableFrom.page"
layout="total, sizes, prev, pager, next, jumper" :total="tableData.total" @size-change="handleSizeChange"
@current-change="pageChange" />
</div>
</el-card>
</div>
</template>
<script>
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEBCRMEB
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import {
intentionLstApi,
auditApi,
intentionDelte,
intentionStatusApi,
getstoreTypeApi,
getMerCateApi
} from "@/api/merchant";
import { categoryListApi } from "@/api/product";
import { fromList, statusList } from "@/libs/constants.js";
import { roterPre } from "@/settings";
export default {
name: "MerchantApplication",
data() {
return {
props: {
emitPath: false
},
fromList: fromList,
statusList: statusList, //
roterPre: roterPre,
isChecked: false,
listLoading: true,
merCateList: [],
storeType: [],
tableData: {
data: [],
total: 0,
},
tableFrom: {
page: 1,
limit: 20,
date: "",
status: this.$route.query.status ? this.$route.query.status : "",
keyword: "",
mer_intention_id: this.$route.query.id ? this.$route.query.id : "",
category_id: "",
type_id: "",
mer_type_id: '',
type: 2,//
},
mer_id: this.$route.query.id ? this.$route.query.id : "",
autoUpdate: true,
timeVal: [],
};
},
watch: {
mer_id(newName, oldName) {
this.getList("");
}
},
mounted() {
this.getMerCategory();
this.getStoreType();
this.getList("");
},
methods: {
//
selectChange(tab) {
this.tableFrom.date = tab;
this.timeVal = [];
this.tableFrom.page = 1;
this.getList("");
},
statusChange(tab) {
this.tableFrom.status = tab;
this.tableFrom.page = 1;
this.getList("");
},
//
onchangeTime(e) {
this.timeVal = e;
this.tableFrom.date = this.timeVal ? this.timeVal.join("-") : "";
this.tableFrom.page = 1;
this.getList("");
},
//
getMerCategory() {
getMerCateApi().then(res => {
this.merCateList = res.data
}).catch(res => {
this.$message.error(res.message)
})
},
/**获取店铺类型 */
getStoreType() {
getstoreTypeApi().then(res => {
this.storeType = res.data
}).catch(res => {
this.$message.error(res.message)
})
},
//
getList(num) {
this.listLoading = true;
this.tableFrom.page = num ? num : this.tableFrom.page;
intentionLstApi(this.tableFrom)
.then((res) => {
this.tableData.data = res.data.list;
this.tableData.total = res.data.count;
this.listLoading = false;
})
.catch((res) => {
this.listLoading = false;
this.$message.error(res.message);
});
},
pageChange(page) {
this.tableFrom.page = page;
this.getList("");
},
handleSizeChange(val) {
this.tableFrom.limit = val;
this.getList(1);
},
//
onchangeIsShow(id) {
this.$modalForm(intentionStatusApi(id)).then(() => this.getList(""));
},
//
//
onEdit(id) {
this.$modalForm(auditApi(id)).then(() => this.getList(""));
},
//
handleDelete(id) {
this.$deleteSure().then(() => {
intentionDelte(id)
.then(({ message }) => {
this.$message.success(message);
this.getList("");
})
.catch(({ message }) => {
this.$message.error(message);
});
});
},
},
};
</script>
<style lang="scss" scoped>
/deep/ table .el-image {
display: inline-block !important;
}
</style>