Browse Source

用户注册模块前后端功能完善,增加后端注册信息、个人信息补充、企业信息补充的数据关联,前端对应的操作关联。修改页签ICON、登录面背景图、部分标题描述。

main
TonyStark 2 months ago
parent
commit
f57256b346
  1. 2
      .env.development
  2. 2
      .env.production
  3. BIN
      public/favicon.ico
  4. 18
      src/api/business/userRegister.js
  5. BIN
      src/assets/images/login-background.jpg
  6. 15
      src/views/business/userInfo/index.vue
  7. 267
      src/views/business/userRegister/index.vue

2
.env.development

@ -1,5 +1,5 @@
# 页面标题
VUE_APP_TITLE = 老挝支付金控系统
VUE_APP_TITLE = 老挝金融支付管理系统
# 开发环境配置
ENV = 'development'

2
.env.production

@ -1,5 +1,5 @@
# 页面标题
VUE_APP_TITLE = 老挝支付金控系统
VUE_APP_TITLE = 老挝金融支付管理系统
# 生产环境配置
ENV = 'production'

BIN
public/favicon.ico

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

18
src/api/business/userRegister.js

@ -42,3 +42,21 @@ export function delUserRegister(id) {
method: 'delete'
})
}
// 新增用户信息
export function addUserInfo(data) {
return request({
url: '/business/userInfo',
method: 'post',
data: data
})
}
// 新增用户信息-商户扩展
export function addUserInfoBus(data) {
return request({
url: '/business/userInfoBus',
method: 'post',
data: data
})
}

BIN
src/assets/images/login-background.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

15
src/views/business/userInfo/index.vue

@ -8,7 +8,7 @@
<el-input v-model="queryParams.name" :placeholder="$t('business.userInfo.namePlaceholder')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('business.userInfo.gender')" prop="gender">
<el-select v-model="form.region" placeholder="请选择性别">
<el-select v-model="form.gender" placeholder="请选择性别">
<el-option label="男" value="1"></el-option>
<el-option label="女" value="0"></el-option>
</el-select>
@ -48,9 +48,13 @@
<el-table v-loading="loading" :data="userInfoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column :label="$t('business.userInfo.userCode')" align="center" prop="userCode" />
<el-table-column :label="$t('business.userInfo.name')" align="center" prop="name" />
<el-table-column :label="$t('business.userInfo.gender')" align="center" prop="gender" />
<el-table-column :label="$t('business.userInfo.gender')" align="center" prop="gender" >
<template slot-scope="scope">
<el-tag v-if="scope.row.gender == '1'"></el-tag>
<el-tag v-if="scope.row.gender == '0'"></el-tag>
</template>
</el-table-column>
<el-table-column :label="$t('business.userInfo.idCard')" align="center" prop="idCard" />
<el-table-column :label="$t('business.userInfo.phone')" align="center" prop="phone" />
<el-table-column :label="$t('business.userInfo.age')" align="center" prop="age" />
@ -78,14 +82,11 @@
<!-- 添加或修改用户信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="auto">
<!-- <el-form-item :label="$t('business.userInfo.userCode')" prop="userCode">-->
<!-- <el-input v-model="form.userCode" :placeholder="$t('business.userInfo.userCodePlaceholder')" />-->
<!-- </el-form-item>-->
<el-form-item :label="$t('business.userInfo.name')" prop="name">
<el-input v-model="form.name" :placeholder="$t('business.userInfo.namePlaceholder')" />
</el-form-item>
<el-form-item :label="$t('business.userInfo.gender')" prop="gender">
<el-select v-model="form.region" placeholder="请选择性别">
<el-select v-model="form.gender" placeholder="请选择性别">
<el-option label="男" value="1"></el-option>
<el-option label="女" value="0"></el-option>
</el-select>

267
src/views/business/userRegister/index.vue

@ -1,9 +1,9 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="登录账号" prop="name">
<el-form-item label="登录账号" prop="account">
<el-input
v-model="queryParams.name"
v-model="queryParams.account"
placeholder="请输入登录账号"
clearable
@keyup.enter.native="handleQuery"
@ -91,13 +91,38 @@
<el-table v-loading="loading" :data="userRegisterList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="登录账号" align="center" prop="name" />
<el-table-column label="登录账号" align="center" prop="account" />
<el-table-column label="电话" align="center" prop="phone" />
<el-table-column label="用户类型" align="center" prop="userType" />
<el-table-column label="用户级别" align="center" prop="userLevel" />
<el-table-column label="用户状态" align="center" prop="status" >
<template slot-scope="scope">
<el-tag type="primary" v-if="scope.row.status == '0'">发起</el-tag>
<el-tag type="warning" v-if="scope.row.status == '1'">拒绝</el-tag>
<el-tag type="success" v-if="scope.row.status == '2'">通过</el-tag>
<el-tag type="danger" v-if="scope.row.status == '3'">冻结</el-tag>
</template>
</el-table-column>
<el-table-column label="用户类型" align="center" prop="userType" >
<template slot-scope="scope">
<span v-if="scope.row.userType == '0'">普通用户</span>
<span v-if="scope.row.userType == '1'">商企用户</span>
</template>
</el-table-column>
<el-table-column label="用户级别" align="center" prop="userLevel" >
<template slot-scope="scope">
<span v-if="scope.row.userLevel == '0'">普通用户</span>
<span v-if="scope.row.userLevel == '1'">VIP用户</span>
<span v-if="scope.row.userLevel == '2'">商企用户</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
<el-button v-if="(scope.row.name == null && scope.row.userType == '0') || (scope.row.address == null && scope.row.userType == '1')"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleAddInfo(scope.row)"
>补充</el-button>
<el-button v-if="(scope.row.name != null && scope.row.userType == '0') || (scope.row.address != null && scope.row.userType == '1')"
size="mini"
type="text"
icon="el-icon-view"
@ -132,8 +157,8 @@
<!-- 添加或修改用户注册对话框 -->
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="auto">
<el-form-item label="登录账号" prop="name">
<el-input v-model="form.name" placeholder="请输入名字" />
<el-form-item label="登录账号" prop="account">
<el-input v-model="form.account" placeholder="请输入名字" />
</el-form-item>
<el-form-item label="联系电话" prop="phone">
<el-input v-model="form.phone" placeholder="请输入电话" />
@ -171,20 +196,134 @@
</div>
</el-dialog>
<!-- 用户注册详情 -->
<!--添加用户注册信息弹窗-->
<el-dialog :title="title" :visible.sync="openInfo" width="700px" append-to-body>
<el-form ref="formInfo" :model="formInfo" :rules="rules" label-width="auto">
<el-form-item :label="$t('business.userInfo.name')" prop="name">
<el-input v-model="formInfo.name" :placeholder="$t('business.userInfo.namePlaceholder')" />
</el-form-item>
<el-form-item :label="$t('business.userInfo.gender')" prop="gender">
<el-select v-model="formInfo.gender" placeholder="请选择性别">
<el-option label="男" value="1"></el-option>
<el-option label="女" value="0"></el-option>
</el-select>
<!-- <el-input v-model="form.gender" :placeholder="$t('business.userInfo.genderPlaceholder')" />-->
</el-form-item>
<el-form-item :label="$t('business.userInfo.idCard')" prop="idCard">
<el-input v-model="formInfo.idCard" :placeholder="$t('business.userInfo.idCardPlaceholder')" />
</el-form-item>
<el-form-item :label="$t('business.userInfo.phone')" prop="phone">
<el-input v-model="formInfo.phone" :placeholder="$t('business.userInfo.phonePlaceholder')" />
</el-form-item>
<el-form-item :label="$t('business.userInfo.age')" prop="age">
<el-input v-model="formInfo.age" :placeholder="$t('business.userInfo.agePlaceholder')" />
</el-form-item>
<el-form-item :label="$t('business.userInfo.addr')" prop="addr">
<el-input v-model="formInfo.addr" :placeholder="$t('business.userInfo.addrPlaceholder')" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitFormInfo">{{ $t('common.confirm') }}</el-button>
<el-button @click="cancel">{{ $t('common.cancel') }}</el-button>
</div>
</el-dialog>
<!-- 添加或修改用户信息-商户扩展对话框 -->
<el-dialog :title="title" :visible.sync="openInfoBus" width="700px" append-to-body>
<el-form ref="formInfoBus" :model="formInfoBus" :rules="rules" label-width="auto">
<el-form-item label="营业执照" prop="license">
<el-input v-model="formInfoBus.license" placeholder="请输入营业执照" />
</el-form-item>
<el-form-item label="其它证照信息" prop="licenseOther">
<el-input v-model="formInfoBus.licenseOther" placeholder="请输入其它证照信息" />
</el-form-item>
<el-form-item label="法人姓名" prop="legalPerson">
<el-input v-model="formInfoBus.legalPerson" placeholder="请输入法人姓名" />
</el-form-item>
<el-form-item label="营业状态" prop="operateStatus">
<el-select v-model="formInfoBus.operateStatus" placeholder="请选择营业状态" >
<el-option
v-for="item in options_operateStatus"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="经营地址" prop="operateAddr">
<el-input v-model="formInfoBus.operateAddr" placeholder="请输入经营地址" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitFormInfoBus"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 用户注册详情-个人 -->
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body>
<el-form ref="form" :model="form" label-width="auto">
<el-form ref="formDetail" :model="formDetail" label-width="auto">
<el-form-item label="登录账号:">
{{form.name}}
{{formDetail.account}}
</el-form-item>
<el-form-item label="用户姓名:">
{{formDetail.userInfoVo.name}}
</el-form-item>
<el-form-item label="用户性别:">
<span v-if="formDetail.userInfoVo.gender == '1'"></span>
<span v-if="formDetail.userInfoVo.gender == '0'"></span>
</el-form-item>
<el-form-item label="用户年龄:">
{{formDetail.userInfoVo.age}}
</el-form-item>
<el-form-item label="身份证号:">
{{formDetail.userInfoVo.idCard}}
</el-form-item>
<el-form-item label="用户地址:">
{{formDetail.userInfoVo.addr}}
</el-form-item>
<el-form-item label="联系电话:">
{{form.phone}}
{{formDetail.phone}}
</el-form-item>
<el-form-item label="用户类型:">
{{form.userType}}
<template slot-scope="scope">
<span v-if="formDetail.userType == '0'">普通用户</span>
<span v-if="formDetail.userType == '1'">商企用户</span>
</template>
</el-form-item>
<el-form-item label="用户级别:">
{{form.userLevel}}
<template slot-scope="scope">
<span v-if="formDetail.userLevel == '0'">普通用户</span>
<span v-if="formDetail.userLevel == '1'">VIP用户</span>
<span v-if="formDetail.userLevel == '2'">商企用户</span>
</template>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 用户注册详情-商企-->
<el-dialog :title="title" :visible.sync="detailOpenBus" width="700px" append-to-body>
<el-form ref="formDetail" :model="formDetailBus" label-width="auto">
<el-form-item label="登录账号:">
{{formDetailBus.account}}
</el-form-item>
<el-form-item label="营业执照:">
{{formDetailBus.userInfoBusVo.license}}
</el-form-item>
<el-form-item label="其它证照:">
{{formDetailBus.userInfoBusVo.licenseOther}}
</el-form-item>
<el-form-item label="法人姓名:">
{{formDetailBus.userInfoBusVo.legalPerson}}
</el-form-item>
<el-form-item label="营业状态:">
{{formDetailBus.userInfoBusVo.operateStatus}}
</el-form-item>
<el-form-item label="经营地址:">
{{formDetailBus.userInfoBusVo.operateAddr}}
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -195,7 +334,7 @@
</template>
<script>
import { listUserRegister, getUserRegister, delUserRegister, addUserRegister, updateUserRegister } from "@/api/business/userRegister";
import { listUserRegister, getUserRegister, delUserRegister, addUserRegister, updateUserRegister ,addUserInfo ,addUserInfoBus} from "@/api/business/userRegister";
export default {
name: "UserRegister",
@ -221,14 +360,27 @@ export default {
title: "",
//
open: false,
//
// -
detailOpen: false,
// -
detailOpenBus: false,
// -
openInfo: false,
// -
openInfoBus: false,
options_operateStatus: [{
value: '存续',
label: '存续'
}, {
value: '注销',
label: '注销'
}],
//
queryParams: {
pageNum: 1,
pageSize: 10,
userId: undefined,
name: undefined,
account: undefined,
phone: undefined,
passwd: undefined,
status: undefined,
@ -236,11 +388,26 @@ export default {
userLevel: undefined,
},
//
form: {},
form: {
userInfoVo:{},
userInfoBusVo:{}
},
//
formDetail: {
userInfoVo:{}
},
// -
formDetailBus: {
userInfoBusVo:{}
},
// -
formInfo: {},
// -
formInfoBus: {},
//
rules: {
name: [
{ required: true, message: "名字不能为空", trigger: "blur" }
account: [
{ required: true, message: "登录账号不能为空", trigger: "blur" }
],
userType: [
{ required: true, message: "用户类型不能为空", trigger: "change" }
@ -291,6 +458,9 @@ export default {
cancel() {
this.open = false;
this.detailOpen = false;
this.detailOpenBus = false;
this.openInfo = false;
this.openInfoBus = false;
this.reset();
},
//
@ -298,7 +468,7 @@ export default {
this.form = {
id: undefined,
userId: undefined,
name: undefined,
account: undefined,
phone: undefined,
passwd: undefined,
status: undefined,
@ -335,10 +505,21 @@ export default {
},
/** 详情按钮操作 */
handleDetail(row){
this.loading = true;
this.reset();
this.form = row;
const id = row.id || this.ids
getUserRegister(id).then(response => {
this.loading = false;
if (row.userType == "0"){
this.formDetail = response.data;
this.detailOpen = true;
this.title = "用户详情";
}
if (row.userType == "1"){
this.formDetailBus = response.data;
this.detailOpenBus = true;
}
this.title = "用户详情信息";
});
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -377,6 +558,34 @@ export default {
}
});
},
/** 用户信息-提交按钮-个人 */
submitFormInfo() {
this.$refs["formInfo"].validate(valid => {
if (valid) {
addUserInfo(this.formInfo).then(response => {
this.$modal.msgSuccess(this.$t('common.addSuccess'));
this.openInfo = false;
this.getList();
}).finally(() => {
this.buttonLoading = false;
});
}
});
},
/** 用户信息-提交按钮-商企 */
submitFormInfoBus() {
this.$refs["formInfoBus"].validate(valid => {
if (valid) {
addUserInfoBus(this.formInfoBus).then(response => {
this.$modal.msgSuccess(this.$t('common.addSuccess'));
this.openInfoBus = false;
this.getList();
}).finally(() => {
this.buttonLoading = false;
});
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
@ -397,6 +606,18 @@ export default {
this.download('business/userRegister/export', {
...this.queryParams
}, `userRegister_${new Date().getTime()}.xlsx`)
},
handleAddInfo(row) {
this.reset();
if (row.userType == "0"){
this.formInfo = row;
this.openInfo = true;
}
if (row.userType == "1"){
this.formInfoBus = row;
this.openInfoBus = true;
}
this.title = this.$t('business.userInfo.addTitle');
}
}
};

Loading…
Cancel
Save