dev2 #1

Open
panjunjie wants to merge 174 commits from dev2 into main
8 changed files with 965 additions and 737 deletions
Showing only changes of commit 8a358f4121 - Show all commits

File diff suppressed because it is too large Load Diff

View File

@ -4,8 +4,8 @@ import { URL } from '@/config'
/**
* @name 商家申请入驻信息分页列表
* @api api_url + '/admin/shop/merch/list'
* @param { id }
* @returns
* @param { id }
* @returns
*/
export function getPrinterList(params) {
@ -15,15 +15,15 @@ export function getPrinterList(params) {
headers: {
'Content-Type': 'application/json',
},
data:params,
data: params,
})
}
/**
* @name 商家申请入驻信息详情
* @api api_url + '/admin/shop/merch/detail'
* @param { id }
* @returns
* @param { id }
* @returns
*/
export function getMerchDetail(params) {
@ -33,15 +33,15 @@ export function getMerchDetail(params) {
headers: {
'Content-Type': 'application/json',
},
data:params,
data: params,
})
}
/**
* @name 审批商家申请入驻
* @api api_url + '/admin/shop/merch/approval'
* @param { id , approvalStatus , approvalRemark}
* @returns
* @param { id , approvalStatus , approvalRemark}
* @returns
*/
export function getMerchApproval(params) {
@ -51,16 +51,15 @@ export function getMerchApproval(params) {
headers: {
'Content-Type': 'application/json',
},
data:params,
data: params,
})
}
/**
* @name 发起合同签署
* @api api_url + '/admin/shop/esign/sign-flow/create-by-file'
* @param { id , approvalStatus , approvalRemark}
* @returns
* @param { id , approvalStatus , approvalRemark}
* @returns
*/
export function getCreateByFile(params) {
@ -70,15 +69,15 @@ export function getCreateByFile(params) {
headers: {
'Content-Type': 'application/json',
},
data:params,
data: params,
})
}
/**
* @name 查看商家签署合同
* @api api_url + '/admin/shop/esign/signed/contract/file'
* @param { mchMobile }
* @returns
* @param { mchMobile }
* @returns
*/
export function getCheckContractFile(params) {
@ -88,8 +87,42 @@ export function getCheckContractFile(params) {
headers: {
'Content-Type': 'application/json',
},
data:params,
data: params,
})
}
/**
* @name 创建店铺(补偿机制)
* @api api_url + '/admin/shop/esign/signed/contract/file'
* @param { mchMobile }
* @returns
*/
export function createShop(params) {
return request({
url: URL.shop.merch.createShop,
method: 'post',
headers: {
'Content-Type': 'application/json',
},
data: params,
})
}
/**
* @name 创建分账(补偿机制)
* @api api_url + '/admin/shop/esign/signed/contract/file'
* @param { mchMobile }
* @returns
*/
export function createSubAccount(params) {
return request({
url: URL.shop.merch.createSubAccount,
method: 'post',
headers: {
'Content-Type': 'application/json',
},
data: params,
})
}

View File

@ -12,8 +12,7 @@ import BaiduMap from './../components/baidu_Map_xiufu'
Vue.use(BaiduMap, {
// ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */
ak: 'chsSzRvFcU1uXYoDHAHlsF98NkTVbzvE',
ak: 'it9e3OBa5JLwTT4V0YGyLUP02w3o1mml',
})
export default BaiduMap

View File

@ -438,6 +438,10 @@ let url = {
createByFile: api_url + '/admin/shop/esign/sign-flow/create-by-file',
//查看商家签署合同
checkContractFile: api_url + '/admin/shop/esign/signed/contract/file',
//创建店铺(补偿机制)
createShop: api_url + '/admin/shop/shop-store-base/mchinfo/to/storeinfo',
//创建分账(补偿机制)
createSubAccount: api_url + '/mobile/pay/lakala/ledger/applyLedgerMer',
},
activity: {
lottery: {

View File

@ -183,12 +183,12 @@
</div>
</el-form-item>
<el-form-item label="发布版本详细说明" prop="description">
<vab-quill
ref="vab-quill"
<el-input
type="textarea"
:autosize="{ minRows: 10, maxRows: 20 }"
placeholder="请输入内容"
v-model="formDialog.description"
:min-height="300"
:options="vbOptions"
/>
></el-input>
</el-form-item>
<el-form-item label="升级包开启状态" prop="is_force_update">
<el-switch
@ -630,9 +630,6 @@ export default {
align-items: center;
box-shadow: inset 0 -1px 0 #efefef;
.head-add-btn {
}
.head-content {
display: flex;
align-items: center;

View File

@ -1,304 +1,303 @@
const baseInfo = [
{
key:'store_name',
label:'店铺名称',
key: 'store_name',
label: '店铺名称',
},
{
key:'biz_category',
label:'经营品类',
key: 'biz_category',
label: '经营品类',
},
{
key:'contact_name',
label:'联系人',
key: 'contact_name',
label: '联系人',
},
]
const addressInfo = [
{
key:'mapAddress',
label:'地图地址',
key: 'mapAddress',
label: '地图地址',
},
{
key:'store_address',
label:'详细地址',
key: 'store_address',
label: '详细地址',
},
{
key:'storefrontImg',
label:'门脸图',
key: 'front_facade_image',
label: '门脸图',
},
{
key:'surroundingsImg',
label:'环境图',
key: 'environment_image',
label: '环境图',
},
]
const certificate = [
// {
// key: 'biz_license_company',
// label: '公司名',
// },
// {
// key:'biz_license_number',
// label:'营业执照编号',
// },
{
key:'biz_license_company',
label:'公司名',
key: 'businessLicenseOCR',
label: '营业执照OCR识别',
},
{
key:'biz_license_number',
label:'营业执照编号',
key: 'license_type',
label: '许可证类型',
},
{
key:'biz_license_image',
label:'营业执照图片',
key: 'license_number',
label: '许可证编号',
},
{
key:'license_type',
label:'许可证类型',
key: 'license_image',
label: '许可证图片',
},
// {
// key: 'legal_person_mobile',
// label: '法人手机号',
// },
{
key:'license_number',
label:'许可证编号',
},
{
key:'license_image',
label:'许可证图片',
},
{
key:'legal_person_name',
label:'法人姓名',
},
{
key:'legal_person_mobile',
label:'法人手机号',
},
{
key:'legal_person_id_number',
label:'法人身份证号码',
},
{
key:'legal_person_id_images',
label:'法人身份证正面图片',
},
{
key:'legal_person_id_images2',
label:'法人身份证反面图片',
key: 'legalPersonOCR',
label: '法人身份证OCR识别',
},
// {
// key: 'legal_person_id_number',
// label: '法人身份证号码',
// },
// {
// key: 'legal_person_id_images',
// label: '法人身份证正面图片',
// },
// {
// key: 'legal_person_id_images2',
// label: '法人身份证反面图片',
// },
]
const certificate2 = [
const certificate2 = [
{
key:'individual_id_number',
label:'身份证号码',
placeholder:'地图地址',
},
{
key:'individual_id_images',
label:'身份证正面图片',
placeholder:'地图地址',
},
{
key:'individual_id_images2',
label:'身份证反面图片',
placeholder:'地图地址',
key: 'personOCR',
label: '身份证OCR',
placeholder: '地图地址',
},
// {
// key: 'individual_id_images',
// label: '身份证正面图片',
// placeholder: '地图地址',
// },
// {
// key: 'individual_id_images2',
// label: '身份证反面图片',
// placeholder: '地图地址',
// },
]
const bankInfo = [
{
key:'bank_name',
label:'开户银行',
key: 'bankOCR',
label: '银行OCR',
},
// {
// key: 'bank_branch_name',
// label: '开户银行的支行名称',
// },
// {
// key: 'account_number',
// label: '收款账户号码',
// },
// {
// key: 'account_holder_name',
// label: '收款账户姓名',
// },
]
const formConfig = [
{
key: 'contact_name',
label: '联系人',
},
{
key:'bank_branch_name',
label:'开户银行的支行名称',
key: 'biz_category',
label: '经营品类',
},
{
key:'account_number',
label:'收款账户号码',
key: 'store_name',
label: '店铺名称',
},
{
key:'account_holder_name',
label:'收款账户姓名',
key: 'mapAddress',
label: '地图地址',
},
{
key: 'store_address',
label: '详细地址',
},
{
key: 'storefrontImg',
label: '门脸图',
},
{
key: 'surroundingsImg',
label: '环境图',
},
{
key: 'entity_type',
label: '许可证类型',
},
{
key: 'license_number',
label: '许可证编号',
},
{
key: 'biz_license_number',
label: '营业执照编号',
},
{
key: 'biz_license_company',
label: '营业执照公司名或真实的公司名',
},
{
key: 'legal_person_name',
label: '法人姓名',
},
{
key: 'legal_person_mobile',
label: '法人手机号',
},
{
key: 'legal_person_id_number',
label: '法人身份证号码',
},
{
key: 'biz_license_image',
label: '营业执照图片',
},
{
key: 'license_type',
label: '许可证类型',
},
{
key: 'license_number',
label: '许可证编号',
},
{
key: 'license_image',
label: '许可证图片',
},
{
key: 'legal_person_id_images',
label: '法人身份证正面图片',
},
{
key: 'legal_person_id_images2',
label: '法人身份证反面图片',
},
{
key: 'bank_name',
label: '开户银行',
},
{
key: 'bank_branch_name',
label: '开户银行的支行名称',
},
{
key: 'account_number',
label: '收款账户号码',
},
{
key: 'account_holder_name',
label: '收款账户姓名',
},
{
key: 'account_holder_name',
label: '收款账户姓名',
},
]
const formConfig = [
const formConfig2 = [
{
key:'contact_name',
label:'联系人',
key: 'contact_name',
label: '联系人',
placeholder: '请输入联系人',
},
{
key:'biz_category',
label:'经营品类',
key: 'biz_category',
label: '经营品类',
placeholder: '请选择经营品类',
},
{
key:'store_name',
label:'店铺名称',
key: 'store_name',
label: '门店名称',
placeholder: '请输入门店名称',
},
{
key:'mapAddress',
label:'地图地址',
key: 'mapAddress',
label: '地图地址',
placeholder: '请在地图上选择门店地址',
},
{
key:'store_address',
label:'详细地址',
key: 'store_address',
label: '详细地址',
placeholder: '详细地址:如:人民大道205号2楼213',
},
{
key:'storefrontImg',
label:'门脸图',
key: 'storefrontImg',
label: '门脸图',
placeholder: '',
},
{
key:'surroundingsImg',
label:'环境图',
key: 'surroundingsImg',
label: '环境图',
placeholder: '',
},
{
key:'entity_type',
label:'许可证类型',
key: 'individual_id_number',
label: '身份证号码',
placeholder: '地图地址',
},
{
key:'license_number',
label:'许可证编号',
key: 'individual_id_images',
label: '身份证正面图片',
placeholder: '地图地址',
},
{
key:'biz_license_number',
label:'营业执照编号',
key: 'individual_id_images2',
label: '身份证反面图片',
placeholder: '地图地址',
},
{
key:'biz_license_company',
label:'营业执照公司名或真实的公司名',
key: 'bank_name',
label: '开户银行',
},
{
key:'legal_person_name',
label:'法人姓名',
key: 'bank_branch_name',
label: '开户银行的支行名称',
},
{
key:'legal_person_mobile',
label:'法人手机号',
key: 'account_number',
label: '收款账户号码',
},
{
key:'legal_person_id_number',
label:'法人身份证号码',
key: 'account_holder_name',
label: '收款账户姓名',
},
{
key:'biz_license_image',
label:'营业执照图片',
},
{
key:'license_type',
label:'许可证类型',
},
{
key:'license_number',
label:'许可证编号',
},
{
key:'license_image',
label:'许可证图片',
},
{
key:'legal_person_id_images',
label:'法人身份证正面图片',
},
{
key:'legal_person_id_images2',
label:'法人身份证反面图片',
},
{
key:'bank_name',
label:'开户银行',
},
{
key:'bank_branch_name',
label:'开户银行的支行名称',
},
{
key:'account_number',
label:'收款账户号码',
},
{
key:'account_holder_name',
label:'收款账户姓名',
},
{
key:'account_holder_name',
label:'收款账户姓名',
},
]
const formConfig2=[
{
key:'contact_name',
label:'联系人',
placeholder:'请输入联系人',
},
{
key:'biz_category',
label:'经营品类',
placeholder:'请选择经营品类',
},
{
key:'store_name',
label:'门店名称',
placeholder:'请输入门店名称',
},
{
key:'mapAddress',
label:'地图地址',
placeholder:'请在地图上选择门店地址',
},
{
key:'store_address',
label:'详细地址',
placeholder:'详细地址:如:人民大道205号2楼213',
},
{
key:'storefrontImg',
label:'门脸图',
placeholder:''
},
{
key:'surroundingsImg',
label:'环境图',
placeholder:'',
},
{
key:'individual_id_number',
label:'身份证号码',
placeholder:'地图地址',
},
{
key:'individual_id_images',
label:'身份证正面图片',
placeholder:'地图地址',
},
{
key:'individual_id_images2',
label:'身份证反面图片',
placeholder:'地图地址',
},
{
key:'bank_name',
label:'开户银行',
},
{
key:'bank_branch_name',
label:'开户银行的支行名称',
},
{
key:'account_number',
label:'收款账户号码',
},
{
key:'account_holder_name',
label:'收款账户姓名',
},
{
key:'account_holder_name',
label:'收款账户姓名',
key: 'account_holder_name',
label: '收款账户姓名',
},
]
export default {
formConfig,
formConfig2,
baseInfo,
addressInfo,
certificate,
certificate2,
bankInfo,
formConfig,
formConfig2,
baseInfo,
addressInfo,
certificate,
certificate2,
bankInfo,
}

View File

@ -27,7 +27,7 @@
:prop="item.prop"
:label="item.label"
>
<template #default="{ row, $index }" v-if="item.label == '操作'">
<template #default="{ row, $index }" v-if="item.label == '操作'">
<el-button
type="text"
size="small"
@ -36,6 +36,7 @@
详情
</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@ -77,7 +78,32 @@ export default {
height: window.innerHeight - 220 - 150,
},
shopId: 0,
approvalStatus: ['已通过', '未通过', '待审核'],
approvalStatus:[
{
key:1,
value:'已通过',
},
{
key:2,
value:'未通过',
},
{
key:3,
value:'待审核',
},
{
key:4,
value:'未申请过',
},
{
key:5,
value:'已提交拉卡拉审核',
},
{
key:21,
value:'拉卡拉审核未通过',
},
],
signedStatus: [
{
index: -1,
@ -109,6 +135,7 @@ export default {
},
],
entityType: ['企业', '个人'],
storeStatus : ['已创建','未创建'],
tabColumn: [
{
prop: 'operation',
@ -131,7 +158,7 @@ export default {
label: '联系人',
},
{
prop: '',
prop: 'account_holder_name',
label: '公司名称',
},
{
@ -155,9 +182,17 @@ export default {
label: '审批状态',
},
{
prop: 'signed_status',
label: '合同签署状态',
prop: 'store_status',
label: '店铺创建状态',
},
{
prop: 'has_apply_split',
label: '是否分账',
},
// {
// prop: 'signed_status',
// label: '',
// },
],
tableData: [
{
@ -179,9 +214,18 @@ export default {
if (res.data.items.length > 0) {
res.data.items.forEach((item) => {
if (item.approval_status) {
item.approval_status =
this.approvalStatus[item.approval_status - 1]
const found = this.approvalStatus.find(group => group.key == item.approval_status);
item.approval_status = found ? found.value : 'Unknown Status';
}
if(item.store_status){
item.store_status = this.storeStatus[item.store_status - 1]
}
if(item.has_apply_split){
item.has_apply_split = item.has_apply_split == 1 ? '是' : '否'
}
if (item.signed_status != null) {
this.signedStatus.forEach((group) => {
if (group.index == item.signed_status) {
@ -217,21 +261,26 @@ export default {
if (row.approval_status == '已通过' && columnIndex == 10) {
return 'status-pass'
}
if (row.approval_status == '未通过' && columnIndex == 10) {
if (['拉卡拉审核未通过','未通过'].includes(row.approval_status) && columnIndex == 10) {
return 'status-not-pass'
}
if (row.approval_status == '待审核' && columnIndex == 10) {
if (['待审核','未申请过','已提交拉卡拉审核'].includes(row.approval_status) && columnIndex == 10) {
return 'status-check-pass'
}
if (row.signed_status == '' && columnIndex == 11) {
if (row.store_status == '已创建' && columnIndex == 11) {
return 'status-pass'
}
if (row.signed_status == '没签署' && columnIndex == 11) {
if (row.store_status == '未创建' && columnIndex == 11) {
return 'status-not-pass'
}
if (row.signed_status == '待审核' && columnIndex == 11) {
return 'status-check-pass'
if (row.has_apply_split == '是' && columnIndex == 12) {
return 'status-pass'
}
if (row.has_apply_split == '否' && columnIndex == 12) {
return 'status-not-pass'
}
}
},

View File

@ -435,18 +435,18 @@
:class="['item-input', 'approval-status']"
:style="approvalStatusClass"
>
{{ approvalStatus[form.approval_status - 1] }}
{{ formatApprovalStatus(form.approval_status) }}
</span>
</div>
</div>
<div class="item-info">
<div class="item-block">
<div class="item-lable">合同签署状态</div>
<div class="item-lable">店铺创建状态</div>
<span
:class="['item-input', 'approval-status']"
:style="signedStatusClass"
>
{{ form.signedStatusName }}
{{ storeStatus[form.store_status - 1] }}
</span>
</div>
</div>
@ -540,7 +540,7 @@
:key="index + item.key"
:label="item.key"
>
{{ item.label }}
{{ form.entity_type == 1 ? '银行' : item.label }}
</el-checkbox>
</el-checkbox-group>
</div>
@ -550,20 +550,12 @@
<div class="btn-content" v-if="!showLoading">
<el-button
class="btn"
style="width: 150px;"
type="success"
@click="getMerchApproval(1)"
v-if="![1].includes(form.approval_status)"
>
通过审核
</el-button>
<el-button
class="btn btn-hetong"
type="success"
@click="getCreateByFile()"
v-if="![2].includes(form.signed_status)"
:disabled="!form.signed_status <= 0 || form.approval_status != 1"
>
合同签署
提交拉卡拉审核
</el-button>
<el-button
class="btn"
@ -576,6 +568,22 @@
<!-- <el-button class="btn" type="danger" @click="getCheckContractFile()">
查看商家签署合同
</el-button> -->
<el-button
class="btn btn-hetong"
type="success"
@click="createShop()"
v-if="form.store_status!=1 && form.approval_status == 1"
>
创建店铺
</el-button>
<el-button
class="btn btn-hetong"
type="success"
@click="createSubAccount()"
v-if=" form.has_apply_mer ==1 && form.has_apply_split != 1"
>
创建分账
</el-button>
<el-button class="btn" @click="close()">取消</el-button>
</div>
</el-dialog>
@ -587,6 +595,8 @@ import {
getMerchApproval,
getCreateByFile,
getCheckContractFile,
createShop,
createSubAccount
} from '@/api/shopAudit/shopAudit'
import city from './cityData.js'
import config from './formConfig'
@ -614,6 +624,7 @@ export default {
contact_name: '',
biz_category: 0,
settlement_method: '',
store_area:'',
store_longitude: '',
store_latitude: '',
province_id: '',
@ -647,11 +658,45 @@ export default {
city_name: '',
county_name: '',
signed_status: 0,
lkl_mer_cup_no:'', //
lkl_term_no:'',//
has_ec_signed:'' , // 1-2-
has_apply_mer:'' ,// 1-2-
has_apply_split:'',// 1-2-
has_apply_receiver:'',// 1-2-,
has_bind_receiver:''// 1-2-
},
bizCategoryList: ['医疗用品', '生活用品'],
entityType: ['企业', '个人'],
approvalStatus: ['已通过', '未通过', '待审核'],
// approvalStatus: ['', '', '','','',''],
approvalStatus:[
{
key:1,
value:'已通过',
},
{
key:2,
value:'未通过',
},
{
key:3,
value:'待审核',
},
{
key:4,
value:'未申请过',
},
{
key:5,
value:'已提交拉卡拉审核',
},
{
key:21,
value:'拉卡拉审核未通过',
},
],
licenseType: ['许可证', '特许证件', '其他证件'],
storeStatus : ['已创建','未创建'],
signedStatus: [
{
index: -1,
@ -705,21 +750,12 @@ export default {
return colorList[this.form.approval_status - 1]
},
signedStatusClass() {
let colorList = [
'color:#ffba00',
'color:#ffba00',
'color:#48c978',
'color:red',
'color:red',
'color:red',
'',
'color:red',
]
if (this.form.signed_status == -1) {
return 'color:#ffba00'
if (this.form.store_status == 1) {
return 'color:#48c978'
} else {
return colorList[this.form.signed_status]
return 'color:red'
}
},
},
@ -751,29 +787,44 @@ export default {
}
}
this.cityData.provinceData.forEach((item) => {
if (item.value == res.data.province_id) {
this.form.province_nmae = item.label
if(this.form.store_area){
let areaArr = this.form.store_area.split('/');
if(areaArr[0]){
this.form.province_nmae = areaArr[0]
}
})
this.cityData.cityData.forEach((item) => {
item.forEach((group) => {
if (group.value == res.data.city_id) {
this.form.city_name = group.label
}
})
})
if(areaArr[1]){
this.form.city_name = areaArr[1]
}
this.cityData.areaData.forEach((item) => {
item.forEach((group) => {
group.forEach((group2) => {
if (group2.value == res.data.county_id) {
this.form.county_name = group2.label
}
})
})
})
if(areaArr[2]){
this.form.county_name = areaArr[2]
}
}
// this.cityData.provinceData.forEach((item) => {
// if (item.value == res.data.province_id) {
// this.form.province_nmae = item.label
// }
// })
// this.cityData.cityData.forEach((item) => {
// item.forEach((group) => {
// if (group.value == res.data.city_id) {
// this.form.city_name = group.label
// }
// })
// })
// this.cityData.areaData.forEach((item) => {
// item.forEach((group) => {
// group.forEach((group2) => {
// if (group2.value == res.data.county_id) {
// this.form.county_name = group2.label
// }
// })
// })
// })
this.srcList1.push(res.data.front_facade_image)
this.srcList2.push(res.data.environment_image)
@ -818,7 +869,7 @@ export default {
id: this.id,
approvalStatus: status,
approvalRemark: this.form.approvalRemark,
approvalInvalidCol: this.checkboxList,
approvalInvalidCol: this.checkboxList.filter(item => !['businessLicenseOCR', 'legalPersonOCR','personOCR','bankOCR'].includes(item)),
}
let res = await getMerchApproval(parems)
@ -882,7 +933,26 @@ export default {
close() {
this.$emit('close')
},
handlecheckbox() {},
handlecheckbox(e) {
// <!-- --!>
if(e.includes('legalPersonOCR')){
this.checkboxList = ['legal_person_id_number','legal_person_id_images','legal_person_id_images2',...this.checkboxList ]
}
// <!-- --!>
if(e.includes('personOCR')){
this.checkboxList = ['individual_id_number','individual_id_images','individual_id_images2',...this.checkboxList]
}
// <!-- , --!>
if(e.includes('bankOCR')){
this.checkboxList = ['bankcard_item','account_holder_name','account_number','branch_name',...this.checkboxList]
}
//
if(e.includes('businessLicenseOCR')){
this.checkboxList = ['biz_license_image','biz_license_company','legal_person_name','biz_license_number',...this.checkboxList]
}
},
handleCheckAllChange(val) {
if (this.form.entity_type == 1) {
this.checkboxList = val
@ -909,6 +979,29 @@ export default {
this.isIndeterminate = false
},
formatApprovalStatus(status){
const found = this.approvalStatus.find(item => item.key == status);
return found ? found.value : 'Unknown Status';
},
async createSubAccount(){
let res = await createSubAccount({merCupNo:this.form.lkl_mer_cup_no})
if(res && res.status == 200){
this.$message({
type: 'success',
message: '分账成功',
})
}
},
async createShop(){
let res = await createShop({mchMobile:this.form.login_mobile})
if(res && res.status == 200){
this.$message({
type: 'success',
message: '店铺创建成功',
})
}
}
},
}
</script>