This commit is contained in:
2023-10-11 09:34:39 +08:00
parent b541e8ae61
commit 79ca98a12b
10 changed files with 102 additions and 32 deletions

34
package-lock.json generated
View File

@@ -1,19 +1,19 @@
{ {
"name": "vue-admin", "name": "vue-admin",
"version": "1.2.16", "version": "1.2.26",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "vue-admin", "name": "vue-admin",
"version": "1.2.16", "version": "1.2.26",
"dependencies": { "dependencies": {
"@element-plus/icons-vue": "^2.1.0", "@element-plus/icons-vue": "^2.1.0",
"@wangeditor/editor": "^5.1.23", "@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.12", "@wangeditor/editor-for-vue": "^5.1.12",
"axios": "^1.3.4", "axios": "^1.3.4",
"echarts": "^5.4.2", "echarts": "^5.4.2",
"element-china-area-data": "^6.0.2", "element-china-area-data": "^6.1.0",
"element-plus": "^2.3.0", "element-plus": "^2.3.0",
"fs": "^0.0.1-security", "fs": "^0.0.1-security",
"js-cookie": "^3.0.1", "js-cookie": "^3.0.1",
@@ -981,9 +981,9 @@
} }
}, },
"node_modules/china-division": { "node_modules/china-division": {
"version": "2.6.1", "version": "2.7.0",
"resolved": "https://registry.npmjs.org/china-division/-/china-division-2.6.1.tgz", "resolved": "https://registry.npmjs.org/china-division/-/china-division-2.7.0.tgz",
"integrity": "sha512-Iq9YCEWqPcSrD7/7McKpN9QHNbn2iibLmg1NEAxLacijqJzLbytr0sLuKJNY4Exd0LA77N18Pwr9JGgU1p5S6w==" "integrity": "sha512-4uUPAT+1WfqDh5jytq7omdCmHNk3j+k76zEG/2IqaGcYB90c2SwcixttcypdsZ3T/9tN1TTpBDoeZn+Yw/qBEA=="
}, },
"node_modules/chokidar": { "node_modules/chokidar": {
"version": "3.5.3", "version": "3.5.3",
@@ -1098,11 +1098,11 @@
} }
}, },
"node_modules/element-china-area-data": { "node_modules/element-china-area-data": {
"version": "6.0.2", "version": "6.1.0",
"resolved": "https://registry.npmjs.org/element-china-area-data/-/element-china-area-data-6.0.2.tgz", "resolved": "https://registry.npmjs.org/element-china-area-data/-/element-china-area-data-6.1.0.tgz",
"integrity": "sha512-LGVp0crOnXrcQqNc5RHwPiR8AV2qUrDl4UgZ/Qn2n/izLqMcn924gcJ/pTRPnuT74AFin2SUyMtmmcoe5PDfQQ==", "integrity": "sha512-IkpcjwQv2A/2AxFiSoaISZ+oMw1rZCPUSOg5sOCwT5jKc96TaawmKZeY81xfxXsO0QbKxU5LLc6AirhG52hUmg==",
"dependencies": { "dependencies": {
"china-division": "^2.6.1" "china-division": "^2.7.0"
} }
}, },
"node_modules/element-plus": { "node_modules/element-plus": {
@@ -2853,9 +2853,9 @@
} }
}, },
"china-division": { "china-division": {
"version": "2.6.1", "version": "2.7.0",
"resolved": "https://registry.npmjs.org/china-division/-/china-division-2.6.1.tgz", "resolved": "https://registry.npmjs.org/china-division/-/china-division-2.7.0.tgz",
"integrity": "sha512-Iq9YCEWqPcSrD7/7McKpN9QHNbn2iibLmg1NEAxLacijqJzLbytr0sLuKJNY4Exd0LA77N18Pwr9JGgU1p5S6w==" "integrity": "sha512-4uUPAT+1WfqDh5jytq7omdCmHNk3j+k76zEG/2IqaGcYB90c2SwcixttcypdsZ3T/9tN1TTpBDoeZn+Yw/qBEA=="
}, },
"chokidar": { "chokidar": {
"version": "3.5.3", "version": "3.5.3",
@@ -2948,11 +2948,11 @@
} }
}, },
"element-china-area-data": { "element-china-area-data": {
"version": "6.0.2", "version": "6.1.0",
"resolved": "https://registry.npmjs.org/element-china-area-data/-/element-china-area-data-6.0.2.tgz", "resolved": "https://registry.npmjs.org/element-china-area-data/-/element-china-area-data-6.1.0.tgz",
"integrity": "sha512-LGVp0crOnXrcQqNc5RHwPiR8AV2qUrDl4UgZ/Qn2n/izLqMcn924gcJ/pTRPnuT74AFin2SUyMtmmcoe5PDfQQ==", "integrity": "sha512-IkpcjwQv2A/2AxFiSoaISZ+oMw1rZCPUSOg5sOCwT5jKc96TaawmKZeY81xfxXsO0QbKxU5LLc6AirhG52hUmg==",
"requires": { "requires": {
"china-division": "^2.6.1" "china-division": "^2.7.0"
} }
}, },
"element-plus": { "element-plus": {

View File

@@ -1,7 +1,7 @@
{ {
"name": "vue-admin", "name": "vue-admin",
"private": true, "private": true,
"version": "1.2.26", "version": "1.2.27",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
@@ -14,7 +14,7 @@
"@wangeditor/editor-for-vue": "^5.1.12", "@wangeditor/editor-for-vue": "^5.1.12",
"axios": "^1.3.4", "axios": "^1.3.4",
"echarts": "^5.4.2", "echarts": "^5.4.2",
"element-china-area-data": "^6.0.2", "element-china-area-data": "^6.1.0",
"element-plus": "^2.3.0", "element-plus": "^2.3.0",
"fs": "^0.0.1-security", "fs": "^0.0.1-security",
"js-cookie": "^3.0.1", "js-cookie": "^3.0.1",

View File

@@ -76,6 +76,6 @@ onMounted(() => {
.card { .card {
background-color: #fff; background-color: #fff;
padding: 15px; padding: 15px;
border-radius: 4px; border-radius: 12px;
} }
</style> </style>

View File

@@ -4,6 +4,7 @@
<script setup> <script setup>
import { regionData, codeToText } from 'element-china-area-data' import { regionData, codeToText } from 'element-china-area-data'
import { onMounted } from 'vue';
const emit = defineEmits(['change']) const emit = defineEmits(['change'])
const placeholder = ref('') const placeholder = ref('')
@@ -28,8 +29,36 @@ function setValue(arr) {
selectedOptions.value = arr selectedOptions.value = arr
} }
// 使用文字设置地区
function textSetValue(arr) {
console.log(arr)
selectedOptions.value = TextToCode(arr)
}
// 文字转省市区code
function TextToCode(arr) {
const n = []
for (let item of regionData) {
if (item.label == arr[0]) {
n[0] = item.value
for (let l of item.children) {
if (l.label == arr[1]) {
n[1] = l.value
for (let i of l.children) {
if (i.label == arr[2]) {
n[2] = i.value
}
}
}
}
}
}
return n
}
defineExpose({ defineExpose({
placeholder, placeholder,
setValue setValue,
textSetValue
}) })
</script> </script>

View File

@@ -191,7 +191,6 @@ function logOut() {
position: absolute; position: absolute;
top: -8px; top: -8px;
left: 40%; left: 40%;
z-index: 1;
} }
.bell { .bell {

View File

@@ -10,7 +10,7 @@
<div class="layout-case" style="flex-direction: column"> <div class="layout-case" style="flex-direction: column">
<header class="header"> <header class="header">
<page-header @operation="operation"></page-header> <page-header @operation="operation"></page-header>
<navbar></navbar> <!-- <navbar></navbar> -->
</header> </header>
<main class="main"> <main class="main">
<!-- <router-view v-slot="{ Component }" v-if="isRefreshRoute"> <!-- <router-view v-slot="{ Component }" v-if="isRefreshRoute">
@@ -195,8 +195,10 @@ function reload() {
box-sizing: border-box; box-sizing: border-box;
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
padding: 0 15px 15px; padding: 15px;
background: var(--el-color-info-light-9); background: var(--el-color-info-light-9);
border-radius: 20px;
margin-right: 15px;
@extend .scrollbar-y; @extend .scrollbar-y;
} }
</style> </style>

View File

@@ -1,6 +1,6 @@
<!-- 实名认证信息 --> <!-- 实名认证信息 -->
<template> <template>
<el-form ref="formRef" :model="form" :rules="rules" label-width="120" label-position="left"> <el-form ref="formRef" :model="form" label-width="120" label-position="left">
<el-row :gutter="gutter"> <el-row :gutter="gutter">
<el-col :span="span"> <el-col :span="span">
<el-form-item prop="username" label="推广员名称"> <el-form-item prop="username" label="推广员名称">
@@ -343,7 +343,11 @@ async function merchantInfoDetailAjax() {
idCardRef1.value.pselectFile({ url: res.idCard.imgpositive }) idCardRef1.value.pselectFile({ url: res.idCard.imgpositive })
idCardRef2.value.pselectFile({ url: res.idCard.imgnegative }) idCardRef2.value.pselectFile({ url: res.idCard.imgnegative })
uploadBank.value.pselectFile({ url: res.bankCard.imgurl }) uploadBank.value.pselectFile({ url: res.bankCard.imgurl })
addressRef.value.setValue([res.bankCard.branchProvinceCode, res.bankCard.branchCityCode, res.bankCard.branchAreaCode]) if (res.bankCard.branchProvinceCode) {
addressRef.value.setValue([res.bankCard.branchProvinceCode, res.bankCard.branchCityCode, res.bankCard.branchAreaCode])
} else {
addressRef.value.textSetValue([res.bankCard.branchprovince, res.bankCard.branchcity, res.bankCard.brancharea])
}
} catch (error) { } catch (error) {
console.log('获取实名认证信息:', error) console.log('获取实名认证信息:', error)
} }

View File

@@ -353,12 +353,20 @@ async function merchBaseAccountAjax() {
d1idcardRef1.value.pselectFile({ url: res.D1.idCard.imgpositive }) d1idcardRef1.value.pselectFile({ url: res.D1.idCard.imgpositive })
d1idcardRef2.value.pselectFile({ url: res.D1.idCard.imgnegative }) d1idcardRef2.value.pselectFile({ url: res.D1.idCard.imgnegative })
d1BankRef3.value.pselectFile({ url: res.D1.bankCard.imgurl }) d1BankRef3.value.pselectFile({ url: res.D1.bankCard.imgurl })
d1AddressRef.value.setValue([res.D1.bankCard.branchProvinceCode, res.D1.bankCard.branchCityCode, res.D1.bankCard.branchAreaCode]) if (res.D1.bankCard.branchProvinceCode) {
d1AddressRef.value.setValue([res.D1.bankCard.branchProvinceCode, res.D1.bankCard.branchCityCode, res.D1.bankCard.branchAreaCode])
} else {
d1AddressRef.value.textSetValue([res.D1.bankCard.branchprovince, res.D1.bankCard.branchcity, res.D1.bankCard.brancharea])
}
d0idcardRef1.value.pselectFile({ url: res.D0.idCard.imgpositive }) d0idcardRef1.value.pselectFile({ url: res.D0.idCard.imgpositive })
d0idcardRef2.value.pselectFile({ url: res.D0.idCard.imgnegative }) d0idcardRef2.value.pselectFile({ url: res.D0.idCard.imgnegative })
d0BankRef3.value.pselectFile({ url: res.D0.bankCard.imgurl }) d0BankRef3.value.pselectFile({ url: res.D0.bankCard.imgurl })
d0AddressRef.value.setValue([res.D0.bankCard.branchProvinceCode, res.D0.bankCard.branchCityCode, res.D0.bankCard.branchAreaCode]) if (res.D0.bankCard.branchProvinceCode) {
d0AddressRef.value.setValue([res.D0.bankCard.branchProvinceCode, res.D0.bankCard.branchCityCode, res.D0.bankCard.branchAreaCode])
} else {
d0AddressRef.value.textSetValue([res.D0.bankCard.branchprovince, res.D0.bankCard.branchcity, res.D0.bankCard.brancharea])
}
} catch (error) { } catch (error) {
console.log('结算信息error:', error) console.log('结算信息error:', error)
} }

View File

@@ -255,7 +255,11 @@ async function merchBaseInfoAjax() {
form.city = res.merchantBaseInfo.city form.city = res.merchantBaseInfo.city
form.district = res.merchantBaseInfo.district form.district = res.merchantBaseInfo.district
form.address = res.merchantBaseInfo.address form.address = res.merchantBaseInfo.address
addressRef.value.setValue([res.merchantBaseInfo.provinceCode, res.merchantBaseInfo.cityCode, res.merchantBaseInfo.districtCode]) if (res.merchantBaseInfo.provinceCode) {
addressRef.value.setValue([res.merchantBaseInfo.provinceCode, res.merchantBaseInfo.cityCode, res.merchantBaseInfo.districtCode])
} else {
addressRef.value.textSetValue([res.merchantBaseInfo.province, res.merchantBaseInfo.city, res.merchantBaseInfo.district])
}
form.picUrl6 = res.merchantImagesList.find(item => item.photoType == '06').picurl form.picUrl6 = res.merchantImagesList.find(item => item.photoType == '06').picurl
uploadRef1.value.pselectFile({ url: form.picUrl6 }) uploadRef1.value.pselectFile({ url: form.picUrl6 })

View File

@@ -101,6 +101,7 @@
<el-text>{{ scope.row.agencyName || scope.row.agencyCode }}</el-text> <el-text>{{ scope.row.agencyName || scope.row.agencyCode }}</el-text>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="agencyCode" label="手机号"></el-table-column>
<!-- <el-table-column prop="current_fee" label="推广费率"> <!-- <el-table-column prop="current_fee" label="推广费率">
<template #default="scope"> <template #default="scope">
<el-text type="info" v-if="scope.row.is_extend == 0"></el-text> <el-text type="info" v-if="scope.row.is_extend == 0"></el-text>
@@ -112,6 +113,15 @@
<el-text>{{ scope.row.sumConsumeFee.toFixed(2) }}</el-text> <el-text>{{ scope.row.sumConsumeFee.toFixed(2) }}</el-text>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column prop="inviteNum" label="邀请码"></el-table-column>
<el-table-column prop="agencyName" label="实名状态">
<template #default="scope">
<el-tag type="info" disable-transitions v-if="scope.row.status == 0">未实名</el-tag>
<el-tag type="warning" disable-transitions v-if="scope.row.status == 1">审核中</el-tag>
<el-tag type="danger" disable-transitions v-if="scope.row.status == 2">审核失败</el-tag>
<el-tag type="success" disable-transitions v-if="scope.row.status == 3">已审核</el-tag>
</template>
</el-table-column>
<el-table-column prop="sumfansShareMoney" label="累计收款"> <el-table-column prop="sumfansShareMoney" label="累计收款">
<template #default="scope"> <template #default="scope">
<el-link type="primary" icon="search" @click="showTotalEarnings(scope.row.id)"> <el-link type="primary" icon="search" @click="showTotalEarnings(scope.row.id)">
@@ -121,6 +131,15 @@
</el-table-column> </el-table-column>
<el-table-column prop="yestedayConsumeFee" label="昨日收款"></el-table-column> <el-table-column prop="yestedayConsumeFee" label="昨日收款"></el-table-column>
<el-table-column prop="sumfansShareMoney" label="累计收益"></el-table-column> <el-table-column prop="sumfansShareMoney" label="累计收益"></el-table-column>
<el-table-column label="上级信息">
<template #default="scope">
<div class="column">
<el-text size="small">{{ scope.row.parent_user_id }}</el-text>
<el-text type="primary" size="small">{{ scope.row.parentTrueName }}</el-text>
<el-text size="small">{{ scope.row.parentLoginName }}</el-text>
</div>
</template>
</el-table-column>
<el-table-column label="商户基本信息"> <el-table-column label="商户基本信息">
<template #default="scope"> <template #default="scope">
<div class="column"> <div class="column">
@@ -219,7 +238,12 @@
<el-tag type="warning" disable-transitions v-if="scope.row.is_extend == 2">高级创客</el-tag> <el-tag type="warning" disable-transitions v-if="scope.row.is_extend == 2">高级创客</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right"> <el-table-column label="创建时间" width="200">
<template #default="scope">
{{ dayjs(scope.row.createDt).format('YYYY-MM-DD HH:mm:ss') }}
</template>
</el-table-column>
<el-table-column label="操作" width="150" fixed="right">
<template #default="scope"> <template #default="scope">
<el-button type="primary" size="small" disabled icon="Search" v-permission="['MG']" <el-button type="primary" size="small" disabled icon="Search" v-permission="['MG']"
v-if="!scope.row.merchantBaseInfo.alias"> v-if="!scope.row.merchantBaseInfo.alias">
@@ -229,7 +253,7 @@
:to="{ name: 'shop_detail', query: { id: scope.row.id, name: scope.row.agencyName, account: scope.row.agencyCode, merchantcode: scope.row.merchantBaseInfo.merchantCode } }" :to="{ name: 'shop_detail', query: { id: scope.row.id, name: scope.row.agencyName, account: scope.row.agencyCode, merchantcode: scope.row.merchantBaseInfo.merchantCode } }"
v-else> v-else>
<el-button type="primary" size="small" icon="Search" v-permission="['MG']"> <el-button type="primary" size="small" icon="Search" v-permission="['MG']">
详情 商户详情
</el-button> </el-button>
</RouterLink> </RouterLink>
</template> </template>
@@ -473,7 +497,7 @@ onMounted(() => {
} }
.table { .table {
height: calc(100vh - 435px); height: calc(100vh - 389px);
} }
.data_row { .data_row {