3
0
Fork 0

feat(business): 办理业务添加分公司是所属省份

This commit is contained in:
woody 2025-06-23 13:27:35 +08:00
parent c83cb955d2
commit a1ea001b62
4 changed files with 357 additions and 351 deletions

View File

@ -248,3 +248,9 @@ export function approvalStatus(params) {
}) })
} }
export function getCompanyAreaList() {
return request({
url: '/system/api/area/get-area-by-parentId?parentId=0',
method: 'get'
})
}

View File

@ -2,51 +2,51 @@
<div class="page1"> <div class="page1">
<topBar <topBar
v-if="topList.length > 0" v-if="topList.length > 0"
:topList="topList" :top-list="topList"
:moren="moren" :moren="moren"
></topBar> />
<div class="thetopbox"> <div class="thetopbox">
<el-form ref="form" :model="queryParams" label-width="100px"> <el-form ref="form" :model="queryParams" label-width="100px">
<el-row> <el-row>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'会员编号'" prop="memberCode"> <el-form-item :label="'会员编号'" prop="memberCode">
<el-input clearable v-model="queryParams.memberCode"></el-input> <el-input v-model="queryParams.memberCode" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'会员姓名'" prop="name"> <el-form-item :label="'会员姓名'" prop="name">
<el-input clearable v-model="queryParams.memberName"></el-input> <el-input v-model="queryParams.memberName" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'结算等级'" prop="pkRegisterGrade"> <el-form-item :label="'结算等级'" prop="pkRegisterGrade">
<el-select <el-select
v-model="queryParams.pkRegisterGrade"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="queryParams.pkRegisterGrade"
> >
<el-option <el-option
v-for="item in gradeRangList" v-for="item in gradeRangList"
:key="item.pkId" :key="item.pkId"
:label="item.gradeName" :label="item.gradeName"
:value="item.pkId" :value="item.pkId"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'真实奖衔'" prop="pkAwards"> <el-form-item :label="'真实奖衔'" prop="pkAwards">
<el-select <el-select
v-model="queryParams.pkAwards"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="queryParams.pkAwards"
> >
<el-option <el-option
v-for="item in awardsList" v-for="item in awardsList"
:key="item.pkId" :key="item.pkId"
:label="item.awardsName" :label="item.awardsName"
:value="item.pkId" :value="item.pkId"
></el-option> />
</el-select> </el-select>
<!-- <el-input clearable v-model="queryParams.pkAwards"></el-input> --> <!-- <el-input clearable v-model="queryParams.pkAwards"></el-input> -->
</el-form-item> </el-form-item>
@ -54,32 +54,32 @@
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'隶属体系'" prop="vertexId"> <el-form-item :label="'隶属体系'" prop="vertexId">
<el-select <el-select
v-model="queryParams.vertexId"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="queryParams.vertexId"
> >
<el-option <el-option
v-for="item in vertexList" v-for="item in vertexList"
:key="item.pkId" :key="item.pkId"
:label="item.vertexName" :label="item.vertexName"
:value="item.pkId" :value="item.pkId"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'隶属团队'" prop="teamId"> <el-form-item :label="'隶属团队'" prop="teamId">
<el-select <el-select
v-model="queryParams.teamId"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="queryParams.teamId"
> >
<el-option <el-option
v-for="item in memberTeamList" v-for="item in memberTeamList"
:key="item.pkId" :key="item.pkId"
:label="item.teamName" :label="item.teamName"
:value="item.pkId" :value="item.pkId"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -87,43 +87,42 @@
<el-row> <el-row>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'变更次数'" prop="code"> <el-form-item :label="'变更次数'" prop="code">
<el-input clearable v-model="queryParams.editNumber"></el-input> <el-input v-model="queryParams.editNumber" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'联系方式'" prop="code"> <el-form-item :label="'联系方式'" prop="code">
<el-input clearable v-model="queryParams.phone"></el-input> <el-input v-model="queryParams.phone" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'服务中心编号'" prop="centerMemberCode"> <el-form-item :label="'服务中心编号'" prop="centerMemberCode">
<el-input <el-input
clearable
v-model="queryParams.centerMemberCode" v-model="queryParams.centerMemberCode"
></el-input> clearable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'服务中心姓名'" prop="centerMemberName"> <el-form-item :label="'服务中心姓名'" prop="centerMemberName">
<el-input <el-input
clearable
v-model="queryParams.centerMemberName" v-model="queryParams.centerMemberName"
></el-input> clearable
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="'创建日期'" prop="code"> <el-form-item :label="'创建日期'" prop="code">
<el-date-picker <el-date-picker
v-model="queryParams.time1" v-model="queryParams.time1"
@change="changeTime1"
type="datetimerange" type="datetimerange"
range-separator="——" range-separator="——"
:start-placeholder="'开始日期'" :start-placeholder="'开始日期'"
:end-placeholder="'结束日期'" :end-placeholder="'结束日期'"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
:unlink-panels="true" :unlink-panels="true"
> @change="changeTime1"
</el-date-picker> />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -133,7 +132,6 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="'支付日期'" prop="code"> <el-form-item :label="'支付日期'" prop="code">
<el-date-picker <el-date-picker
@change="changeTime2"
v-model="queryParams.time2" v-model="queryParams.time2"
type="datetimerange" type="datetimerange"
range-separator="——" range-separator="——"
@ -141,8 +139,8 @@
:end-placeholder="'结束日期'" :end-placeholder="'结束日期'"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
:unlink-panels="true" :unlink-panels="true"
> @change="changeTime2"
</el-date-picker> />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -152,15 +150,14 @@
<el-col :span="4"> <el-col :span="4">
<div class="searchbox"> <div class="searchbox">
<el-button class="searchbtn" @click="getBusinessList"> <el-button class="searchbtn" @click="getBusinessList">
{{ '搜索' }}</el-button {{ '搜索' }}</el-button>
>
<el-button @click="reChongzhi"> {{ '重置' }}</el-button> <el-button @click="reChongzhi"> {{ '重置' }}</el-button>
</div> </div>
</el-col> </el-col>
<div class="openClose" @click="changeActive"> <div class="openClose" @click="changeActive">
<i <i
:class="isActive ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" :class="isActive ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"
></i> />
<div>{{ isActive ? '点击收起' : '点击展开' }}</div> <div>{{ isActive ? '点击收起' : '点击展开' }}</div>
</div> </div>
</el-row> </el-row>
@ -169,16 +166,14 @@
<div class="maintop"> <div class="maintop">
<div class="mainbtn"> <div class="mainbtn">
<el-button <el-button
size="small"
@click="handleImport"
class="thebtn1"
v-hasButtons="['BasicBusinessImport']" v-hasButtons="['BasicBusinessImport']"
size="small"
class="thebtn1"
@click="handleImport"
> >
{{ '导入' }}</el-button {{ '导入' }}</el-button>
>
<el-button size="small" class="thebtn2" @click="importTemplate"> <el-button size="small" class="thebtn2" @click="importTemplate">
{{ '下载模板' }}</el-button {{ '下载模板' }}</el-button>
>
</div> </div>
</div> </div>
<div class="main"> <div class="main">
@ -191,20 +186,19 @@
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55"> </el-table-column> <el-table-column type="selection" width="55" />
<el-table-column <el-table-column
align="center" align="center"
prop="memberCode" prop="memberCode"
:label="'会员编号'" :label="'会员编号'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="newMemberName" prop="newMemberName"
:label="'变更会员姓名'" :label="'变更会员姓名'"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.newMemberName"></el-input> <el-input v-model="scope.row.newMemberName" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -214,115 +208,107 @@
:label="'变更联系方式'" :label="'变更联系方式'"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-input clearable v-model="scope.row.newPhone"></el-input> <el-input v-model="scope.row.newPhone" clearable />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
min-width="130px" min-width="210px"
align="center" align="center"
prop="endValidityDate" prop="areaId"
:label="$t('奖衔有效期')" label="分公司所属省份"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-date-picker <!-- 155 -->
v-model="scope.row.endValidityDate" <el-select
value-format="yyyy-MM-dd HH:mm:ss" v-model="scope.row.areaId"
type="datetime" placeholder="请选择分公司所属省份"
clearable style="width: 200px;"
:disabled="!areaIdCanSelect"
> >
</el-date-picker> <el-option
v-for="area in areaList"
:key="area.pkId"
:label="area.name"
:value="area.pkId"
/>
</el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="memberName" prop="memberName"
:label="'会员姓名'" :label="'会员姓名'"
> />
</el-table-column> <el-table-column align="center" prop="phone" :label="'联系方式'" />
<el-table-column align="center" prop="phone" :label="'联系方式'">
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="pkRegisterGradeVal" prop="pkRegisterGradeVal"
:label="'结算等级'" :label="'结算等级'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="pkAwardsVal" prop="pkAwardsVal"
:label="'真实奖衔'" :label="'真实奖衔'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="vertexName" prop="vertexName"
:label="'隶属体系'" :label="'隶属体系'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="teamName" prop="teamName"
:label="'隶属团队'" :label="'隶属团队'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="centerMemberCode" prop="centerMemberCode"
:label="'服务中心编号'" :label="'服务中心编号'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="centerMemberName" prop="centerMemberName"
:label="'服务中心姓名'" :label="'服务中心姓名'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="creationTime" prop="creationTime"
:label="'创建日期'" :label="'创建日期'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="payTime" prop="payTime"
:label="'支付日期'" :label="'支付日期'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="editNumber" prop="editNumber"
:label="'变更次数'" :label="'变更次数'"
> />
</el-table-column>
</el-table> </el-table>
</div> </div>
</div> </div>
<div class="main"> <div class="main">
<div <div
class="main_content"
v-for="(item, index) in handleBusinessList" v-for="(item, index) in handleBusinessList"
:key="index" :key="index"
class="main_content"
> >
<el-form ref="form" :model="form" label-width="130px">
<!-- <el-checkbox-group v-model="item.wowList">
<el-checkbox> -->
<el-form-item :label="item.editTypeName">
<!-- 单选 -->
<el-form ref="form" style="width: 100%;" :model="form" label-width="130px">
<el-form-item :label="item.editTypeName">
<el-checkbox-group <el-checkbox-group
v-if="item.buttonType == 1" v-if="item.buttonType == 1"
:max="1"
v-model="item.businessValueList" v-model="item.businessValueList"
:max="1"
> >
<el-checkbox <el-checkbox
v-for="aitem in item.enumEntityList" v-for="aitem in item.enumEntityList"
:key="aitem.value" :key="aitem.value"
:label="aitem.value" :label="aitem.value"
>{{ aitem.label }}</el-checkbox >{{ aitem.label }}</el-checkbox>
>
</el-checkbox-group> </el-checkbox-group>
<!-- 多选 --> <!-- 多选 -->
@ -334,23 +320,20 @@
v-for="aitem in item.enumEntityList" v-for="aitem in item.enumEntityList"
:key="aitem.value" :key="aitem.value"
:label="aitem.value" :label="aitem.value"
>{{ aitem.label }}</el-checkbox >{{ aitem.label }}</el-checkbox>
>
</el-checkbox-group> </el-checkbox-group>
<!-- 输入框 --> <!-- 输入框 -->
<el-input <el-input
v-if="item.buttonType == 3" v-if="item.buttonType == 3"
v-model="item.businessValueList[0]"
type="number" type="number"
style="width: 150px" style="width: 150px"
v-model="item.businessValueList[0]"
> >
<i slot="suffix">%</i> <i slot="suffix">%</i>
</el-input> </el-input>
</el-form-item> </el-form-item>
<!-- </el-checkbox>
</el-checkbox-group> -->
</el-form> </el-form>
</div> </div>
</div> </div>
@ -358,13 +341,12 @@
<div style="margin: 0 auto"> <div style="margin: 0 auto">
<el-button class="thebtn"> {{ '取消' }}</el-button> <el-button class="thebtn"> {{ '取消' }}</el-button>
<el-button <el-button
v-hasButtons="['BasicBusinessConfirm']"
type="primary" type="primary"
class="thebtn" class="thebtn"
@click="saveDate" @click="saveDate"
v-hasButtons="['BasicBusinessConfirm']"
>
{{ '确认' }}</el-button
> >
{{ '确认' }}</el-button>
</div> </div>
</div> </div>
<el-dialog <el-dialog
@ -386,24 +368,20 @@
align="center" align="center"
prop="memberCode" prop="memberCode"
:label="'会员编号'" :label="'会员编号'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="errorMsg" prop="errorMsg"
:label="'报错信息'" :label="'报错信息'"
> />
</el-table-column>
</el-table> </el-table>
</div> </div>
<div class="footer" style="text-align: center"> <div class="footer" style="text-align: center">
<div style="margin: 0 auto"> <div style="margin: 0 auto">
<el-button class="thebtn" @click="errorShow = false"> <el-button class="thebtn" @click="errorShow = false">
{{ '取消' }}</el-button {{ '取消' }}</el-button>
>
<el-button type="primary" class="thebtn" @click="errorShow = false"> <el-button type="primary" class="thebtn" @click="errorShow = false">
{{ '确认' }}</el-button {{ '确认' }}</el-button>
>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
@ -428,17 +406,16 @@
:auto-upload="false" :auto-upload="false"
drag drag
> >
<i class="el-icon-upload"></i> <i class="el-icon-upload" />
<div class="el-upload__text"> <div class="el-upload__text">
{{ '将文件拖到此处,或' }} {{ '将文件拖到此处,或' }}
<em>{{ '点击上传' }}</em> <em>{{ '点击上传' }}</em>
</div> </div>
<div class="el-upload__tip" slot="tip"> <div slot="tip" class="el-upload__tip">
<el-link type="info" style="font-size: 12px" @click="importTemplate"> <el-link type="info" style="font-size: 12px" @click="importTemplate">
{{ '下载模板' }}</el-link {{ '下载模板' }}</el-link>
>
</div> </div>
<div class="el-upload__tip" style="color: red" slot="tip"> <div slot="tip" class="el-upload__tip" style="color: red">
{{ '提示仅允许导入“xls”或“xlsx”格式文件' }} {{ '提示仅允许导入“xls”或“xlsx”格式文件' }}
</div> </div>
</el-upload> </el-upload>
@ -455,35 +432,36 @@
</template> </template>
<script> <script>
import topBar from "@/components/topBar/checked"; import topBar from '@/components/topBar/checked'
import { getToken } from "@/utils/auth"; import { getToken } from '@/utils/auth'
import { getRouters } from "@/api/settle"; import { getRouters } from '@/api/settle'
import { import {
getHandleBusinessEnum, getHandleBusinessEnum,
getBusinessList, getBusinessList,
businessCheck, businessCheck,
} from "@/api/business"; getCompanyAreaList
import { getAwardsListChiose, getgradeRanglist } from "@/api/level"; } from '@/api/business'
import { getvertexValue, getmemberTeamList } from "@/api/financialCase"; import { getAwardsListChiose, getgradeRanglist } from '@/api/level'
import { getvertexValue, getmemberTeamList } from '@/api/financialCase'
export default { export default {
name: "Jcyw", name: 'Jcyw',
components: { components: {
topBar, topBar
}, },
data() { data() {
return { return {
moren: "jcyw", moren: 'jcyw',
topList: [ topList: [
{ {
name: '基础业务', name: '基础业务',
path: "jcyw", path: 'jcyw',
url: "BasicBusiness", url: 'BasicBusiness'
}, },
{ {
name: '订单业务', name: '订单业务',
path: "ddyw", path: 'ddyw',
url: "OrderBusiness", url: 'OrderBusiness'
}, }
// { // {
// name: "", // name: "",
// path: "shyw", // path: "shyw",
@ -496,26 +474,28 @@ export default {
multipleSelection: [], multipleSelection: [],
wowList: [], wowList: [],
queryParams: { queryParams: {
memberCode: "", memberCode: '',
memberName: "", memberName: '',
pkAwards: "", pkAwards: '',
vertexId: "", vertexId: '',
teamId: "", teamId: '',
editNumber: "", editNumber: '',
phone: "", phone: '',
centerMemberCode: "", centerMemberCode: '',
centerMemberName: "", centerMemberName: '',
startDate: "", startDate: '',
endDate: "", endDate: '',
startDatePay: "", startDatePay: '',
endDatePay: "", endDatePay: '',
time1: [], time1: [],
time2: [], time2: []
}, },
tableData: [], tableData: [],
// //
isActive: false, isActive: false,
form: {}, form: {
areaId: ''
},
handleBusinessList: [], handleBusinessList: [],
errorShow: false, errorShow: false,
errorData: [], errorData: [],
@ -527,24 +507,31 @@ export default {
// //
open: false, open: false,
// //
title: "", title: '',
// //
isUploading: false, isUploading: false,
// //
updateSupport: 0, updateSupport: 0,
// //
headers: { Authorization: "Bearer " + getToken() }, headers: { Authorization: 'Bearer ' + getToken() },
// //
url: url:
process.env.VUE_APP_BASE_API + process.env.VUE_APP_BASE_API +
"/member/manage/handle-business/importData", '/member/manage/handle-business/importData'
}, },
}; areaList: []
}
},
computed: {
areaIdCanSelect() {
return this.handleBusinessList.find(item => item.editTypeKey == 'change_settlement_grade')?.businessValueList?.[0] == 155
}
}, },
created() { created() {
this.getBusinessList(); this.getBusinessList()
this.getHandleBusinessEnum(); this.getHandleBusinessEnum()
this.getUserRoute(); this.getUserRoute()
this.getCompanyAreaList()
}, },
methods: { methods: {
// //
@ -553,168 +540,190 @@ export default {
res.data.forEach((item) => { res.data.forEach((item) => {
this.topList.forEach((items) => { this.topList.forEach((items) => {
if (item.routeName == items.url) { if (item.routeName == items.url) {
this.$set(items, "changed", true); this.$set(items, 'changed', true)
} }
}); })
}); })
}); })
},
getCompanyAreaList() {
getCompanyAreaList().then((res) => {
this.areaList = res.data || []
console.log(this.areaList, 'this.areaList')
})
}, },
checkRadio(value) {}, checkRadio(value) {},
// //
importTemplate() { importTemplate() {
this.download( this.download(
"/member/manage/handle-business/download-template", '/member/manage/handle-business/download-template',
{}, {},
`${'基础业务办理'}-${new Date().getTime()}.xlsx` `${'基础业务办理'}-${new Date().getTime()}.xlsx`
); )
}, },
/** 导入按钮操作 */ /** 导入按钮操作 */
handleImport() { handleImport() {
this.upload.title = '基础业务'; this.upload.title = '基础业务'
this.upload.open = true; this.upload.open = true
}, },
// //
handleFileUploadProgress(event, file, fileList) { handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true; this.upload.isUploading = true
}, },
// //
handleFileSuccess(response, file, fileList) { handleFileSuccess(response, file, fileList) {
var fileName = response.fileName; var fileName = response.fileName
if (fileName != undefined && fileName != "") { if (fileName != undefined && fileName != '') {
} }
if (response.code == 200) { if (response.code == 200) {
this.tableData = response.data; this.tableData = response.data
this.upload.open = false; this.upload.open = false
this.upload.isUploading = false; this.upload.isUploading = false
this.$refs.upload.clearFiles(); this.$refs.upload.clearFiles()
this.$alert(response.msg, '导入结果', { this.$alert(response.msg, '导入结果', {
dangerouslyUseHTMLString: true, dangerouslyUseHTMLString: true
}); })
} else if (response.code == 504) { } else if (response.code == 504) {
this.upload.open = false; this.upload.open = false
this.upload.isUploading = false; this.upload.isUploading = false
this.$refs.upload.clearFiles(); this.$refs.upload.clearFiles()
var errorMsg = response.data.map((item) => item.memberCode).join(","); var errorMsg = response.data.map((item) => item.memberCode).join(',')
this.$alert(errorMsg + response.msg, '导入结果', { this.$alert(errorMsg + response.msg, '导入结果', {
dangerouslyUseHTMLString: true, dangerouslyUseHTMLString: true
}); })
} else { } else {
this.upload.open = false; this.upload.open = false
this.upload.isUploading = false; this.upload.isUploading = false
this.$refs.upload.clearFiles(); this.$refs.upload.clearFiles()
this.$alert(response.msg, '导入结果', { this.$alert(response.msg, '导入结果', {
dangerouslyUseHTMLString: true, dangerouslyUseHTMLString: true
}); })
} }
}, },
// //
handleExceed() { handleExceed() {
this.upload.isUploading = false; this.upload.isUploading = false
this.msgInfo('仅可上传一个文件哦'); this.msgInfo('仅可上传一个文件哦')
}, },
// //
submitFileForm() { submitFileForm() {
this.$refs.upload.submit(); this.$refs.upload.submit()
}, },
// //
saveDate() { saveDate() {
// console.log("🌈", this.handleBusinessList); // console.log("🌈", this.handleBusinessList);
if (this.multipleSelection.length > 0) { if (this.multipleSelection.length > 0) {
const settlementGrade = this.handleBusinessList.find(item => item.editTypeKey == 'change_settlement_grade')
if (settlementGrade.businessValueList?.[0] == 155) {
const needSelection = this.multipleSelection.filter(item => !item.areaId)
if (needSelection.length > 0) {
this.$message({
message: '请选择分公司所属省份',
type: 'warning'
})
return
}
} else {
this.multipleSelection.forEach(item => {
item.areaId = ''
})
}
businessCheck({ businessCheck({
businessMemberList: this.multipleSelection, businessMemberList: this.multipleSelection,
handleBusinessList: this.handleBusinessList, handleBusinessList: this.handleBusinessList
}).then((res) => { }).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.$message({ this.$message({
message: res.msg, message: res.msg,
type: "success", type: 'success'
}); })
this.$router.push({ this.$router.push({
path: "/information/business/shyw", path: '/information/business/shyw',
query: { query: {
data: JSON.stringify(res.data), data: JSON.stringify(res.data),
handleBusinessList: JSON.stringify(this.handleBusinessList), handleBusinessList: JSON.stringify(this.handleBusinessList)
},
});
} else if (res.code == 504 && res.data) {
this.errorShow = true;
this.errorData = res.data;
} }
}); })
} else if (res.code == 504 && res.data) {
this.errorShow = true
this.errorData = res.data
}
})
} else { } else {
this.$message({ this.$message({
message: '至少选择一条数据', message: '至少选择一条数据',
type: "warning", type: 'warning'
}); })
} }
}, },
changeTime1(val) { changeTime1(val) {
this.queryParams.startDate = val[0]; this.queryParams.startDate = val[0]
this.queryParams.endDate = val[1]; this.queryParams.endDate = val[1]
}, },
changeTime2(val) { changeTime2(val) {
this.queryParams.startDatePay = val[0]; this.queryParams.startDatePay = val[0]
this.queryParams.endDatePay = val[1]; this.queryParams.endDatePay = val[1]
}, },
getBusinessList() { getBusinessList() {
getBusinessList(this.queryParams).then((res) => { getBusinessList(this.queryParams).then((res) => {
this.tableData = res.rows; this.tableData = res.rows
}); })
}, },
getHandleBusinessEnum() { getHandleBusinessEnum() {
// //
getHandleBusinessEnum().then((res) => { getHandleBusinessEnum().then((res) => {
res.data.forEach((ele) => { res.data.forEach((ele) => {
ele.businessValueList = []; ele.businessValueList = []
ele.wowList = []; ele.wowList = []
}); })
this.handleBusinessList = res.data; this.handleBusinessList = res.data
}); })
getgradeRanglist().then((res) => { getgradeRanglist().then((res) => {
this.gradeRangList = res.data; this.gradeRangList = res.data
}); })
getAwardsListChiose().then((res) => { getAwardsListChiose().then((res) => {
this.awardsList = res.rows; this.awardsList = res.rows
}); })
getmemberTeamList().then((res) => { getmemberTeamList().then((res) => {
this.memberTeamList = res.rows; this.memberTeamList = res.rows
}); })
getvertexValue().then((res) => { getvertexValue().then((res) => {
this.vertexList = res.data; this.vertexList = res.data
}); })
}, },
// //
changeActive() { changeActive() {
this.isActive = !this.isActive; this.isActive = !this.isActive
}, },
// //
reChongzhi() { reChongzhi() {
this.queryParams = { this.queryParams = {
memberCode: "", memberCode: '',
memberName: "", memberName: '',
time1: [], time1: [],
time2: [], time2: []
}; }
this.getBusinessList(); this.getBusinessList()
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val
}, },
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
return "warning-row"; return 'warning-row'
} else if (rowIndex % 2 == 0) { } else if (rowIndex % 2 == 0) {
return "success-row"; return 'success-row'
} }
return ""; return ''
}, }
}, }
}; }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -2,9 +2,9 @@
<div class="page"> <div class="page">
<topBar <topBar
v-if="topList.length > 0" v-if="topList.length > 0"
:topList="topList" :top-list="topList"
:moren="moren" :moren="moren"
></topBar> />
<div class="main"> <div class="main">
<el-table <el-table
@ -20,19 +20,19 @@
prop="memberCode" prop="memberCode"
:label="'会员编号'" :label="'会员编号'"
width="200px" width="200px"
></el-table-column> />
<el-table-column <el-table-column
align="center" align="center"
prop="memberName" prop="memberName"
width="200px" width="200px"
:label="'会员姓名'" :label="'会员姓名'"
></el-table-column> />
<el-table-column <el-table-column
align="center" align="center"
prop="phone" prop="phone"
width="200px" width="200px"
:label="'联系方式'" :label="'联系方式'"
></el-table-column> />
<el-table-column <el-table-column
align="center" align="center"
prop="endValidityDate" prop="endValidityDate"
@ -50,7 +50,7 @@
:label="'变更会员姓名'" :label="'变更会员姓名'"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-input disabled v-model="scope.row.newMemberName"></el-input> <el-input v-model="scope.row.newMemberName" disabled />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -60,7 +60,7 @@
width="200px" width="200px"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-input disabled v-model="scope.row.newPhone"></el-input> <el-input v-model="scope.row.newPhone" disabled />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -70,7 +70,7 @@
:label="'扣款币种'" :label="'扣款币种'"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-input disabled v-model="scope.row.pkAccountKeyVal"></el-input> <el-input v-model="scope.row.pkAccountKeyVal" disabled />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -78,7 +78,7 @@
prop="singleAmount100" prop="singleAmount100"
label="单笔扣款金额(¥)" label="单笔扣款金额(¥)"
width="200px" width="200px"
></el-table-column> />
<el-table-column <el-table-column
fixed="right" fixed="right"
align="center" align="center"
@ -87,10 +87,10 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@click="handleDelete(scope.row, scope.$index, tableData)"
type="text" type="text"
size="small" size="small"
style="color: #c73030" style="color: #c73030"
@click="handleDelete(scope.row, scope.$index, tableData)"
> >
{{ '删除' }} {{ '删除' }}
</el-button> </el-button>
@ -108,19 +108,19 @@
prop="memberCode" prop="memberCode"
label="会员编号" label="会员编号"
width="200px" width="200px"
></el-table-column> />
<el-table-column <el-table-column
align="center" align="center"
prop="businessTypeVal" prop="businessTypeVal"
label="办理业务" label="办理业务"
width="200px" width="200px"
></el-table-column> />
<el-table-column <el-table-column
align="center" align="center"
prop="newValue" prop="newValue"
label="变更业务" label="变更业务"
width="200px" width="200px"
></el-table-column> />
<el-table-column <el-table-column
align="center" align="center"
width="200px" width="200px"
@ -128,7 +128,7 @@
:label="'扣款币种'" :label="'扣款币种'"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-input disabled v-model="scope.row.pkAccountKeyVal"></el-input> <el-input v-model="scope.row.pkAccountKeyVal" disabled />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -138,7 +138,7 @@
label="单笔扣款金额(¥)" label="单笔扣款金额(¥)"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-input disabled v-model="scope.row.cost"></el-input> <el-input v-model="scope.row.cost" disabled />
</template> </template>
</el-table-column> </el-table-column>
@ -147,13 +147,13 @@
prop="" prop=""
label="" label=""
width="200px" width="200px"
></el-table-column> />
<el-table-column <el-table-column
align="center" align="center"
prop="" prop=""
label="" label=""
width="200px" width="200px"
></el-table-column> />
<el-table-column <el-table-column
fixed="right" fixed="right"
align="center" align="center"
@ -162,12 +162,12 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@click="
handleDelete2(scope.row, scope.$index, handleBusinessList)
"
type="text" type="text"
size="small" size="small"
style="color: #c73030" style="color: #c73030"
@click="
handleDelete2(scope.row, scope.$index, handleBusinessList)
"
> >
{{ '删除' }} {{ '删除' }}
</el-button> </el-button>
@ -215,33 +215,28 @@
>{{ item.label }}</el-button> --> >{{ item.label }}</el-button> -->
<el-button class="thebtn0" @click="saveDate(0)"> <el-button class="thebtn0" @click="saveDate(0)">
{{ '取消' }}</el-button {{ '取消' }}</el-button>
>
<el-button <el-button
v-hasButtons="['ReviewBusinessExemptSign']" v-hasButtons="['ReviewBusinessExemptSign']"
class="thebtn1" class="thebtn1"
@click="saveDate(1)" @click="saveDate(1)"
>{{ '免签' }}</el-button >{{ '免签' }}</el-button>
>
<el-button <el-button
v-hasButtons="['ReviewBusinessExemptPay']" v-hasButtons="['ReviewBusinessExemptPay']"
class="thebtn2" class="thebtn2"
@click="saveDate(2)" @click="saveDate(2)"
>{{ '免付' }}</el-button >{{ '免付' }}</el-button>
>
<el-button <el-button
v-hasButtons="['ReviewBusinessExemptAll']" v-hasButtons="['ReviewBusinessExemptAll']"
class="thebtn3" class="thebtn3"
@click="saveDate(3)" @click="saveDate(3)"
>{{ '全免' }}</el-button >{{ '全免' }}</el-button>
>
<el-button <el-button
v-hasButtons="['ReviewBusinessConfirm']" v-hasButtons="['ReviewBusinessConfirm']"
class="thebtn4" class="thebtn4"
@click="saveDate(4)" @click="saveDate(4)"
> >
{{ '确认' }}</el-button {{ '确认' }}</el-button>
>
</div> </div>
</div> </div>
<el-dialog <el-dialog
@ -263,24 +258,20 @@
align="center" align="center"
prop="memberCode" prop="memberCode"
:label="'会员编号'" :label="'会员编号'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="errorMsg" prop="errorMsg"
:label="'报错信息'" :label="'报错信息'"
> />
</el-table-column>
</el-table> </el-table>
</div> </div>
<div class="footer" style="text-align: center"> <div class="footer" style="text-align: center">
<div style="margin: 0 auto"> <div style="margin: 0 auto">
<el-button class="thebtn" @click="errorShow = false"> <el-button class="thebtn" @click="errorShow = false">
{{ '取消' }}</el-button {{ '取消' }}</el-button>
>
<el-button type="primary" class="thebtn" @click="errorShow = false"> <el-button type="primary" class="thebtn" @click="errorShow = false">
{{ '确认' }}</el-button {{ '确认' }}</el-button>
>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
@ -288,37 +279,37 @@
</template> </template>
<script> <script>
import topBar from "@/components/topBar"; import topBar from '@/components/topBar'
import { import {
saveHandelBusiness, saveHandelBusiness,
getPubEnumsProcessTyepe, getPubEnumsProcessTyepe,
balanceCheck, balanceCheck
} from "@/api/business.js"; } from '@/api/business.js'
export default { export default {
name: "Shyw", name: 'Shyw',
components: { components: {
topBar, topBar
}, },
data() { data() {
return { return {
moren: "shyw", moren: 'shyw',
topList: [ topList: [
{ {
name: '基础业务', name: '基础业务',
path: "jcyw", path: 'jcyw'
}, },
{ {
name: '订单业务', name: '订单业务',
path: "ddyw", path: 'ddyw'
}, },
{ {
name: "确认业务", name: '确认业务',
path: "shyw", path: 'shyw'
}, },
{ {
name: "在线签呈", name: '在线签呈',
path: "zxqc", path: 'zxqc'
}, }
], ],
tableData: [], tableData: [],
processTypeList: [], processTypeList: [],
@ -326,177 +317,177 @@ export default {
btvo: {}, btvo: {},
errorData: [], errorData: [],
errorShow: false, errorShow: false,
thedata: {}, thedata: {}
}; }
}, },
created() { created() {
this.thedata = JSON.parse(this.$route.query.data); this.thedata = JSON.parse(this.$route.query.data)
console.log("🌈先1", this.thedata); console.log('🌈先1', this.thedata)
this.tableData = this.thedata.businessOldMemberList; this.tableData = this.thedata.businessOldMemberList
this.handleBusinessList = this.thedata.handleBusinessList; this.handleBusinessList = this.thedata.handleBusinessList
this.getPubEnumsProcessTyepe(); this.getPubEnumsProcessTyepe()
this.btvo = this.thedata.btvo; this.btvo = this.thedata.btvo
}, },
methods: { methods: {
formatDate(date) { formatDate(date) {
if (!date) return ""; if (!date) return ''
const d = new Date(date); const d = new Date(date)
if (isNaN(d.getTime())) return "Invalid Date"; // if (isNaN(d.getTime())) return 'Invalid Date' //
const year = d.getFullYear(); const year = d.getFullYear()
const month = String(d.getMonth() + 1).padStart(2, "0"); const month = String(d.getMonth() + 1).padStart(2, '0')
const day = String(d.getDate()).padStart(2, "0"); const day = String(d.getDate()).padStart(2, '0')
const hours = String(d.getHours()).padStart(2, "0"); const hours = String(d.getHours()).padStart(2, '0')
const minutes = String(d.getMinutes()).padStart(2, "0"); const minutes = String(d.getMinutes()).padStart(2, '0')
const seconds = String(d.getSeconds()).padStart(2, "0"); const seconds = String(d.getSeconds()).padStart(2, '0')
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
}, },
// //
handleDelete(row, index, rows) { handleDelete(row, index, rows) {
this.$confirm('是否删除').then((_) => { this.$confirm('是否删除').then((_) => {
const delList = []; const delList = []
this.tableData.forEach((ele, eindex) => { this.tableData.forEach((ele, eindex) => {
if (row.memberCode == ele.memberCode) { if (row.memberCode == ele.memberCode) {
delList.push(eindex); delList.push(eindex)
} }
}); })
rows.splice(index, delList.length); rows.splice(index, delList.length)
this.handleBusinessList = this.handleBusinessList.filter( this.handleBusinessList = this.handleBusinessList.filter(
(ele) => ele.memberCode !== row.memberCode (ele) => ele.memberCode !== row.memberCode
); )
this.thedata.businessMemberList = this.thedata.businessMemberList =
this.thedata.businessMemberList.filter( this.thedata.businessMemberList.filter(
(ele) => ele.memberCode !== row.memberCode (ele) => ele.memberCode !== row.memberCode
); )
}); })
}, },
handleDelete2(row, index, rows) { handleDelete2(row, index, rows) {
this.$confirm('是否删除').then((_) => { this.$confirm('是否删除').then((_) => {
const delList2 = []; const delList2 = []
const delList3 = []; const delList3 = []
this.handleBusinessList.forEach((ele, eindex) => { this.handleBusinessList.forEach((ele, eindex) => {
if (row.pkId == ele.pkId) { if (row.pkId == ele.pkId) {
delList2.push(eindex); delList2.push(eindex)
} }
}); })
this.thedata.businessMemberList.forEach((ele, eindex) => { this.thedata.businessMemberList.forEach((ele, eindex) => {
if (row.pkId == ele.pkId) { if (row.pkId == ele.pkId) {
delList3.push(eindex); delList3.push(eindex)
} }
}); })
rows.splice(index, delList2.length); rows.splice(index, delList2.length)
this.thedata.businessMemberList.splice(index, delList3.length); this.thedata.businessMemberList.splice(index, delList3.length)
}); })
}, },
getPubEnumsProcessTyepe() { getPubEnumsProcessTyepe() {
getPubEnumsProcessTyepe().then((res) => { getPubEnumsProcessTyepe().then((res) => {
this.processTypeList = res.data; this.processTypeList = res.data
}); })
}, },
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
return "warning-row"; return 'warning-row'
} else if (rowIndex % 2 == 0) { } else if (rowIndex % 2 == 0) {
return "success-row"; return 'success-row'
} }
return ""; return ''
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val
}, },
saveDate(index) { saveDate(index) {
this.thedata.businessOldMemberList = this.tableData; this.thedata.businessOldMemberList = this.tableData
this.thedata.handleBusinessList = this.handleBusinessList; this.thedata.handleBusinessList = this.handleBusinessList
// console.log('🌈thedata',this.thedata) // console.log('🌈thedata',this.thedata)
if (this.tableData.length > 0 && this.handleBusinessList.length > 0) { if (this.tableData.length > 0 && this.handleBusinessList.length > 0) {
if (index == 0) { if (index == 0) {
this.$router.go(-1); this.$router.go(-1)
} else if (index == 2 || index == 4) { } else if (index == 2 || index == 4) {
// //
if (index == 2) { if (index == 2) {
this.$router.push({ this.$router.push({
path: "/information/business/zxqc", path: '/information/business/zxqc',
query: { query: {
data: JSON.stringify(this.thedata), data: JSON.stringify(this.thedata),
index: index, index: index
}, }
}); })
} else if (index == 4) { } else if (index == 4) {
// //
const thebusinessCostVOList = this.thedata.businessCostVOList; const thebusinessCostVOList = this.thedata.businessCostVOList
balanceCheck({ businessCostVOList: thebusinessCostVOList }).then( balanceCheck({ businessCostVOList: thebusinessCostVOList }).then(
(res) => { (res) => {
if (res.code == 200) { if (res.code == 200) {
this.$router.push({ this.$router.push({
path: "/information/business/zxqc", path: '/information/business/zxqc',
query: { query: {
data: JSON.stringify(this.thedata), data: JSON.stringify(this.thedata),
index: index, index: index
}, }
}); })
} else if (res.code == 504 && res.data) { } else if (res.code == 504 && res.data) {
this.errorShow = true; this.errorShow = true
this.errorData = res.data; this.errorData = res.data
} }
} }
); )
} }
} else if (index == 1 || index == 3) { } else if (index == 1 || index == 3) {
// //
const thehandleBusinessList = this.thedata.handleBusinessList; const thehandleBusinessList = this.thedata.handleBusinessList
const thebusinessMemberList = this.thedata.businessMemberList; const thebusinessMemberList = this.thedata.businessMemberList
const thebusinessCostVOList = this.thedata.businessCostVOList; const thebusinessCostVOList = this.thedata.businessCostVOList
if (index == 1) { if (index == 1) {
// //
balanceCheck({ businessCostVOList: thebusinessCostVOList }).then( balanceCheck({ businessCostVOList: thebusinessCostVOList }).then(
(res) => { (res) => {
if (res.code == 200) { if (res.code == 200) {
saveHandelBusiness({ saveHandelBusiness({
processType: index, processType: index,
handleBusinessList: thehandleBusinessList, handleBusinessList: thehandleBusinessList,
businessMemberList: thebusinessMemberList, businessMemberList: thebusinessMemberList
}).then((res) => { }).then((res) => {
this.$message({ this.$message({
message: res.msg, message: res.msg,
type: "success", type: 'success'
}); })
this.$router.go(-1); this.$router.go(-1)
}); })
} else if (res.code == 504 && res.data) { } else if (res.code == 504 && res.data) {
this.errorShow = true; this.errorShow = true
this.errorData = res.data; this.errorData = res.data
} }
} }
); )
} else if (index == 3) { } else if (index == 3) {
saveHandelBusiness({ saveHandelBusiness({
processType: index, processType: index,
handleBusinessList: thehandleBusinessList, handleBusinessList: thehandleBusinessList,
businessMemberList: thebusinessMemberList, businessMemberList: thebusinessMemberList
}).then((res) => { }).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.$message({ this.$message({
message: res.msg, message: res.msg,
type: "success", type: 'success'
}); })
this.$router.go(-1); this.$router.go(-1)
} else if (res.code == 504 && res.data) { } else if (res.code == 504 && res.data) {
this.errorShow = true; this.errorShow = true
this.errorData = res.data; this.errorData = res.data
} }
}); })
} }
} }
} else { } else {
this.$message({ this.$message({
message: "业务不能为空", message: '业务不能为空',
type: "warning", type: 'warning'
}); })
} }
}, }
}, }
}; }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -44,7 +44,7 @@ module.exports = {
}, },
proxy: { proxy: {
'/prod-api': { '/prod-api': {
target: 'http://localhost:8080', target: 'http://192.168.0.104:8080',
changeOrigin: true, changeOrigin: true,
pathRewrite: { '^/prod-api': '' } pathRewrite: { '^/prod-api': '' }
} }