Commit 69078b53 authored by 刘怀志's avatar 刘怀志

商家管理暂存-2

parent 922eba11
......@@ -83,6 +83,14 @@ export function listUnitAll(query) {
params: query
})
}
// 8.查询所有商家信息
export function listAllShop(query) {
return request({
url: '/sysunit/listAll',
method: 'get',
params: query
})
}
// 9.查询所有课程信息
export function listCourseAll(query) {
return request({
......
......@@ -32,6 +32,16 @@ export function addUser(data) {
headers: {}
})
}
// 1.新增代言人
export function addSysuser(data) {
data = Qs.stringify(data)
return request({
url: '/sysuser/add',
method: 'post',
data,
headers: {}
})
}
// 2.修改用户
export function updateUser(data) {
// const businessId = data.businessId
......@@ -43,6 +53,17 @@ export function updateUser(data) {
headers: {}
})
}
// 2.修改代言人
export function updateSysuser(data) {
// const businessId = data.businessId
data = Qs.stringify(data)
return request({
url: '/sysuser/update/',
method: 'put',
data: data,
headers: {}
})
}
// 3.删除用户
export function delUser(userId) {
return request({
......@@ -50,6 +71,13 @@ export function delUser(userId) {
method: 'delete'
})
}
// 3.删除代言人
export function delSysuser(userId) {
return request({
url: '/sysuser/deleteLogical/' + userId,
method: 'delete'
})
}
// 4.分页查询用户列表
export function listUser(query) {
return request({
......@@ -107,6 +135,15 @@ export function importTemplate(params) {
params
})
}
// 8.下载代言人导入模板
export function importTemplateSysuser(params) {
return request({
url: '/sysuser/exportTemplate',
method: 'get',
responseType: 'blob',
params
})
}
// 9.查询用户详细
export function getUser(userId) {
......@@ -128,6 +165,18 @@ export function resetUserPwd(businessId, password) {
params: data
})
}
// 10.代言人密码重置
export function resetSysUserPwd(businessId, password) {
const data = {
businessId,
password
}
return request({
url: '/system/user/resetPassword',
method: 'put',
params: data
})
}
// 11.用户状态修改
export function changeUserStatus(businessId, flag) {
......@@ -195,4 +244,12 @@ export function listByIdentity(query) {
params: query
})
}
// 17.分页查询用户列表
export function getUserList(query) {
return request({
url: '/sysuser/list',
method: 'get',
params: query
})
}
......@@ -11,7 +11,9 @@
<transition name="sidebarLogoFade">
<router-link key="expand" class="sidebar-logo-link" to="/">
<div class="sidebar-logoTitle">
<div class="sidebar-logoRow"><img :src="logo" class="sidebar-logo"></div>
<div class="sidebar-logoRow">
<!-- <img :src="logo" class="sidebar-logo">-->
</div>
<div class="sidebar-title title-current">{{ title }} </div>
</div>
</router-link>
......
......@@ -2,19 +2,19 @@
<div class="user-manage">
<div class="search" style="border-bottom: 14px solid #f4f4f4">
<el-form v-show="showSearch" ref="queryForm" style="padding: 0 0 0 10px" class="formClass" :model="queryParams" :inline="true" label-width="auto">
<el-form-item label="所属商家:" prop="identity">
<el-select v-model="queryParams.identity" placeholder="请选择所属商家" style="width: 100%">
<el-form-item label="所属商家:" prop="deptId">
<el-select v-model="queryParams.deptId" filterable placeholder="请选择所属商家" style="width: 100%">
<el-option
v-for="(item,index) in userTypeList"
v-for="(item,index) in deptList"
:key="index"
:label="item.label"
:value="item.value"
:label="item.unitName"
:value="item.businessId"
/>
</el-select>
</el-form-item>
<el-form-item label="姓名:" prop="username">
<el-form-item label="姓名:" prop="name">
<el-input
v-model.trim="queryParams.username"
v-model.trim="queryParams.name"
placeholder="请输入姓名"
clearable
:maxlength="30"
......@@ -75,14 +75,23 @@
@click="handleImport"
>{{ commonField.importName }}</el-button>-->
<!-- //导出-->
<el-button
<!-- <el-button
v-hasPermi="hasExportPerm"
:class="commonField.exportClass"
:type="commonField.typeSuccess"
:icon="commonField.exportIcon"
:size="commonField.smallSize"
@click="handleExport"
>{{ commonField.exportName }}</el-button>
>{{ commonField.exportName }}</el-button>-->
<!-- //导入按钮-->
<el-button
:class="commonField.importClass"
:type="commonField.typeWarning"
:icon="commonField.importIcon"
:size="commonField.smallSize"
@click="handleImport"
>{{ commonField.importName }}
</el-button>
</el-form-item>
</div>
</el-form>
......@@ -95,16 +104,10 @@
:data="userList"
>
<el-table-column type="index" label="序号" width="90" />
<el-table-column label="所属商家" prop="identity" :show-overflow-tooltip="true">
<el-table-column label="所属商家" prop="deptName" :show-overflow-tooltip="true" />
<el-table-column label="姓名" prop="name" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if="scope.row.identity === '1'">后台管理员</span>
<span v-if="scope.row.identity === '2'">单位用户</span>
<span v-if="scope.row.identity === '3'">个人用户</span>
</template>
</el-table-column>
<el-table-column label="姓名" prop="username" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.username || '-' }}
{{ scope.row.name || '-' }}
</template>
</el-table-column>
<el-table-column label="手机号" prop="phone" :show-overflow-tooltip="true">
......@@ -112,17 +115,17 @@
{{ scope.row.phone || '-' }}
</template>
</el-table-column>
<el-table-column label="身份证号" prop="deptName" :show-overflow-tooltip="true">-->
<el-table-column label="身份证号" prop="idNumber" :show-overflow-tooltip="true">-->
<template slot-scope="scope">
{{ scope.row.deptName || '-' }}
{{ scope.row.idNumber || '-' }}
</template>
</el-table-column>
<el-table-column label="银行卡号" prop="deptName" :show-overflow-tooltip="true">-->
<el-table-column label="银行卡号" prop="bankCard" :show-overflow-tooltip="true">-->
<template slot-scope="scope">
{{ scope.row.deptName || '-' }}
{{ scope.row.bankCard || '-' }}
</template>
</el-table-column>
<el-table-column label="代言时间" prop="deptName" :show-overflow-tooltip="true">-->
<el-table-column label="代言时间" prop="createDate" :show-overflow-tooltip="true">-->
<template slot-scope="scope">
<span>{{ scope.row.createDate | transformDateByFormat('YYYY-MM-DD HH:mm') }}</span>
</template>
......@@ -135,16 +138,14 @@
<template slot-scope="scope">
<!-- //修改-->
<el-button
v-if="scope.row.identity === '1' || scope.row.roleNames && scope.row.roleNames.indexOf('单位管理员') > -1"
v-hasPermi="hasUpdatePerm"
:class="commonField.updateClass"
:type="commonField.typeParent"
:size="commonField.size"
@click="handleUpdate(scope.row, scope.row.roleNames && scope.row.roleNames.indexOf('单位管理员') > -1)"
@click="handleUpdate(scope.row, true)"
>{{ commonField.updateName }}</el-button>
<!-- //重置密码-->
<el-button
v-hasPermi="hasResetPerm"
:class="commonField.resetPasClass"
:type="commonField.typeParent"
:size="commonField.size"
......@@ -173,20 +174,6 @@
<!-- 添加或修改参数配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="24">
<el-form-item label="用户类型:" prop="identity">
<el-select v-model="form.identity" disabled placeholder="请选择用户类型" style="width: 100%">
<el-option
v-for="(item,index) in userTypeList"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item v-if="form.businessId == undefined || form.identity === '1'" label="登录名:" prop="username">
......@@ -215,13 +202,33 @@
/>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-col :span="12">
<el-form-item label="身份证号:" prop="idNumber">
<el-input
v-model.trim="form.idNumber"
value="idNumber"
placeholder="请输入身份证号"
maxlength="18"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="银行卡号:" prop="bankCard">
<el-input
v-model.trim="form.bankCard"
value="bankCard"
placeholder="请输入银行卡号"
maxlength="20"
/>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="昵称:" prop="nickName">
<el-input v-model="form.nickName" maxlength="50" placeholder="请输入用户昵称" />
</el-form-item>
</el-col>-->
</el-row>
<!-- <el-row>
<!-- <el-row>
&lt;!&ndash; <el-col :span="12">
<el-form-item label="性别:">
<el-select v-model="form.sex" placeholder="请选择">
......@@ -245,7 +252,7 @@
</el-form-item>
</el-col>
</el-row>-->
<!-- <el-row>
<!-- <el-row>
<el-col :span="12">
<el-form-item label="身份证号:" prop="idNumber">
<el-input v-model.trim="form.idNumber" placeholder="请输入身份证号" maxlength="18" />
......@@ -269,8 +276,8 @@
</el-row>
<el-row v-if="form.identity !== '1'">
<el-col :span="24">
<el-form-item label="所属单位:" prop="deptId">
<el-select v-model="form.deptId" filterable placeholder="所属单位" style="width: 100%">
<el-form-item label="所属商家:" prop="deptId">
<el-select v-model="form.deptId" filterable placeholder="所属商家" style="width: 100%">
<el-option
v-for="(item,index) in deptList"
:key="index"
......@@ -281,20 +288,6 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="系统角色:" prop="roleList">
<el-select v-model="form.roleList" :disabled="form.identity === '2'" multiple placeholder="请选择" style="width: 100%" @change="roleChange">
<el-option
v-for="item in (title === '添加用户' ?options : optionsNew)"
:key="item.businessId"
:label="item.roleName"
:value="item.businessId"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注:">
......@@ -308,8 +301,16 @@
<el-button class="submitBtn" type="primary" @click="submitForm">确 定</el-button>
</div>
</el-dialog>
<!-- 用户导入对 话框 -->
<!-- 代言人导入对 话框 -->
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
<el-select v-model="upload.deptId" filterable placeholder="所属商家" style="width: 100%">
<el-option
v-for="(item,index) in deptList"
:key="index"
:label="item.unitName"
:value="item.businessId"
/>
</el-select>
<el-upload
accept=".xlsx, .xls"
:headers="upload.headers"
......@@ -399,28 +400,27 @@
</template>
<script>
import {
listUser,
getUser,
delUser,
addUser,
updateUser,
getUserList,
delSysuser,
addSysuser,
updateSysuser,
exportUser,
resetUserPwd,
resetSysUserPwd,
changeUserStatus,
importExcel,
uploadFalseFile,
importTemplate, listUserWeb
importTemplateSysuser
// userLoginManage
} from '@/api/system/user'
import { getToken } from '@/utils/auth'
import { listAllDept, treeSelect } from '@/api/system/dept'
import { treeSelect } from '@/api/system/dept'
import TreeSelect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import {getListRole, getListRoleOld} from '@/api/system/role'
import { getListRole, getListRoleOld } from '@/api/system/role'
import { getDataCache, setDataCache } from '@/assets/js/filterData'
import commonField from '@/utils/commonField'
import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
import { getSysUnit, listUnitAll, updateSysUnit } from '@/api/sysUnit'
import { listAllShop } from '@/api/sysUnit'
export default {
name: 'User',
// eslint-disable-next-line vue/no-unused-components
......@@ -535,6 +535,7 @@ export default {
phone: '',
email: '',
idNumber: '',
bankCard: '',
name: '',
flag: 1
},
......@@ -546,11 +547,12 @@ export default {
newPassword: '',
row: undefined
},
// 用户导入参数
// 代言人导入参数
upload: {
// 是否显示弹出层(用户导入)
// 是否显示弹出层(代言人导入)
open: false,
// 弹出层标题(用户导入)
deptId: '',
// 弹出层标题(代言人导入)
title: '',
// 是否禁用上传
isUploading: false,
......@@ -566,13 +568,15 @@ export default {
page: 1,
rows: 10,
username: '',
name: '',
flag: '',
identity: ''
identity: '',
deptId: ''
},
// 表单校验
rules: {
identity: [{ required: true, message: '请选择用户类型', trigger: 'blur' }],
deptId: [{ required: true, message: '请选择所属单位', trigger: 'change' }],
deptId: [{ required: true, message: '请选择所属商家', trigger: 'change' }],
roleList: [{ required: true, message: '请选择角色', trigger: 'change' }],
username: [
{ required: true, message: '请输入登录名', trigger: 'blur' },
......@@ -615,12 +619,15 @@ export default {
message: '请输入正确的手机号码',
trigger: 'blur'
}
// { validator: phone, trigger: 'blur' }
],
idNumber: [
{ require: false, message: '请输入身份证号', trigger: 'blur' },
{ required: true, message: '请输入身份证号', trigger: 'blur' },
{ min: 18, max: 18, message: '长度18字符', trigger: 'blur' }
// { validator: idNumber, trigger: 'blur' }
],
bankCard: [
{ required: true, message: '请输入银行卡号', trigger: 'blur' },
{ min: 1, max: 20, message: '不超过20位', trigger: 'blur' }
]
},
userInfoLoading: false,
......@@ -670,7 +677,7 @@ export default {
},
// 获取所有部门信息
getDeptList() {
listUnitAll().then(res => {
listAllShop().then(res => {
if (res.code === 200) {
this.deptList = res.data
}
......@@ -713,7 +720,7 @@ export default {
/** 查询用户列表 */
getList() {
this.loading = true
listUser(this.queryParams).then(response => {
getUserList(this.queryParams).then(response => {
this.userList = response.rows
this.total = response.total
this.loading = false
......@@ -745,22 +752,6 @@ export default {
// this.form.postId = response.data.checkedKeys
})
},
/** 查询角色下拉*/
getRole() {
getListRoleOld().then(
response => {
this.options = response.data
}
)
},
/** 查询角色下拉*/
getRoleNew() {
getListRole().then(
response => {
this.optionsNew = response.data
}
)
},
// 筛选节点
filterNode(value, data) {
if (!value) return true
......@@ -815,6 +806,7 @@ export default {
nickName: '',
password: '',
idNumber: '',
bankCard: '',
email: '',
sex: '',
flag: 1,
......@@ -835,8 +827,10 @@ export default {
page: 1,
rows: 10,
username: '',
name: '',
flag: '',
identity: ''
identity: '',
deptId: ''
}
this.handleQuery()
},
......@@ -866,26 +860,15 @@ export default {
})
this.isUnitAdmin = true
this.open = true
this.title = '添加用户'
this.title = '添加代言人'
},
/** 修改按钮操作 */
handleUpdate(row, flag) {
this.reset()
const userId = row.businessId || this.ids
this.isUnitAdmin = flag
getUser(userId).then(response => {
this.open = true
this.form = response.data
const data = response.data.roleIds.split(',')
this.form.roleList = []
data.forEach(item => {
const id = Number(item)
this.form.roleList.push(id)
})
// this.form.postId = response.data.deptId
this.title = '修改用户'
})
this.getChildrenDept(userId)
this.form = row
this.title = '修改代言人'
},
/** 重置密码按钮操作 */
handleResetPwd(row) {
......@@ -898,7 +881,7 @@ export default {
this.$refs.ruleForm.validate(pass => {
if (pass) {
this.userRestLoading = true
resetUserPwd(this.ruleForm.row, this.ruleForm.newPassword).then(response => {
resetSysUserPwd(this.ruleForm.row, this.ruleForm.newPassword).then(response => {
if (response.code === 200) {
this.$message({
message: '修改成功',
......@@ -918,7 +901,7 @@ export default {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.businessId !== undefined) {
updateUser(this.form).then(response => {
updateSysuser(this.form).then(response => {
this.$message({
message: '修改成功',
type: 'success'
......@@ -926,66 +909,13 @@ export default {
this.open = false
this.getList()
})
// 获取单位信息
getSysUnit(this.form.deptId).then(res => {
var u = res.data
var unit = {
remarks: u.remarks,
createBy: u.createBy,
createDate: u.createDate,
updateBy: u.updateBy,
updateDate: u.updateDate,
delFlag: u.delFlag,
flag: u.flag,
businessId: u.businessId,
unitType: u.unitType,
unitName: u.unitName,
username: this.form.username,
userId: this.form.businessId,
exitId: u.exitId,
creteName: u.creteName,
updateName: u.updateName
}
console.log('unit', unit)
updateSysUnit(unit).then(r => {
if (r.code === 200) {
console.log('chengg')
}
})
})
} else {
addUser(this.form).then(response => {
addSysuser(this.form).then(response => {
this.newId = response.data.businessId
this.$message({
message: '新增成功', type: 'success'
})
this.open = false
// 获取单位信息
getSysUnit(this.form.deptId).then(res => {
var u = res.data
var unit = {
remarks: u.remarks,
createBy: u.createBy,
createDate: u.createDate,
updateBy: u.updateBy,
updateDate: u.updateDate,
delFlag: u.delFlag,
flag: u.flag,
businessId: u.businessId,
unitType: u.unitType,
unitName: u.unitName,
unitNumber: this.form.username,
userId: this.newId,
exitId: u.exitId,
creteName: u.creteName,
updateName: u.updateName
}
updateSysUnit(unit).then(r => {
if (r.code === 200) {
console.log('chengg')
}
})
})
this.getList()
})
}
......@@ -1000,7 +930,7 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(function() {
return delUser(userId)
return delSysuser(userId)
}).then(() => {
this.getList()
this.$message({
......@@ -1034,17 +964,17 @@ export default {
},
/** 导入按钮操作 */
handleImport() {
this.upload.title = '用户导入'
this.upload.title = '代言人导入'
this.upload.open = true
},
/** 下载模板操作 */
importTemplate() {
importTemplate().then(response => {
importTemplateSysuser().then(response => {
const blob = new Blob([response])
const downloadElement = document.createElement('a')
const href = window.URL.createObjectURL(blob)// 创建下载的链接
downloadElement.href = href
downloadElement.download = '用户导入模板' + '.xls' // 下载后文件名
downloadElement.download = '代言人导入模板' + '.xls' // 下载后文件名
document.body.appendChild(downloadElement)
downloadElement.click()// 点击下载
document.body.removeChild(downloadElement)// 下载完成移除元素
......
......@@ -3,7 +3,7 @@
<el-form ref="loginForm" v-loading="vLoading" :model="loginForm" :rules="rules" class="login-form">
<!-- <img class="fy-logo" src="../../assets/image/denglu_logo.png">-->
<div class="login_logoRow">
<div class="login_form_logo" />
<!-- <div class="login_form_logo" />-->
</div>
<div class="loginTitleRow">
<div class="title">鸿泽云商城管理系统</div>
......
......@@ -657,7 +657,7 @@ export default {
// 分页参数初始化为{"page":1,"rows":10},如需自定义分页参数,自行修改
this.queryParams = JSON.parse(getDataCache(this.$route.path)) // 获取存储的筛选项
this.getList() // 列表查询
this.getDeptList()
// this.getDeptList()
this.getTreeSelect() // 查询部门下拉树结构
this.getRole() // 查询角色下拉
this.getRoleNew() // 查询角色下拉
......@@ -676,14 +676,14 @@ export default {
callback()
}
},
// 获取所有部门信息
/* // 获取所有部门信息
getDeptList() {
listUnitAll().then(res => {
if (res.code === 200) {
this.deptList = res.data
}
})
},
},*/
handlePictureCardPreview(file) {
const index = this.imagePreviewUrls.indexOf(file.url)
if (index >= 0) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment