Browse Source

Merge remote-tracking branch 'origin/master'

master
God 2 years ago
parent
commit
95598fe094
  1. 91
      anrui-base/anrui-base-ui/src/api/jichuxinxi/basefinbank.js
  2. 42
      anrui-base/anrui-base-ui/src/api/jlcyry/staffOrg/staffOrg.js
  3. 60
      anrui-base/anrui-base-ui/src/api/orgRegist/index.js
  4. 22
      anrui-base/anrui-base-ui/src/api/orgRegist/organization.js
  5. 138
      anrui-base/anrui-base-ui/src/api/system/basefkManage/index.js
  6. 32
      anrui-base/anrui-base-ui/src/api/system/dataDict/dataDict.js
  7. 120
      anrui-base/anrui-base-ui/src/api/system/departments/departments.js
  8. 52
      anrui-base/anrui-base-ui/src/api/system/dictType/dictCommon.js
  9. 72
      anrui-base/anrui-base-ui/src/api/system/dictType/index.js
  10. 84
      anrui-base/anrui-base-ui/src/api/system/functional/functional.js
  11. 16
      anrui-base/anrui-base-ui/src/api/system/log/index.js
  12. 115
      anrui-base/anrui-base-ui/src/api/system/menu/index.js
  13. 61
      anrui-base/anrui-base-ui/src/api/system/postManage/index.js
  14. 139
      anrui-base/anrui-base-ui/src/api/system/roleAdminister/index.js
  15. 31
      anrui-base/anrui-base-ui/src/api/system/roleAdminister/rolemenus.js
  16. 21
      anrui-base/anrui-base-ui/src/api/system/roleMenus/index.js
  17. 111
      anrui-base/anrui-base-ui/src/api/system/sources/index.js
  18. 84
      anrui-base/anrui-base-ui/src/api/system/user/Auser.js
  19. 38
      anrui-base/anrui-base-ui/src/api/system/user/login.js
  20. 43
      anrui-base/anrui-base-ui/src/api/system/user/user.js
  21. 32
      anrui-base/anrui-base-ui/src/api/system/userAdminister/client.js
  22. 69
      anrui-base/anrui-base-ui/src/api/system/userAdminister/index.js
  23. 60
      anrui-base/anrui-base-ui/src/api/system/userManage/index.js
  24. 37
      anrui-base/anrui-base-ui/src/router/index.js
  25. 43
      anrui-base/anrui-base-ui/src/views/Home/Home.vue
  26. 161
      anrui-base/anrui-base-ui/src/views/PwdModify/PwdModify.vue
  27. 174
      anrui-base/anrui-base-ui/src/views/Regist/Organing/components/amap.vue
  28. 89
      anrui-base/anrui-base-ui/src/views/Regist/Organing/components/first.vue
  29. 31
      anrui-base/anrui-base-ui/src/views/Regist/Organing/components/fourth.vue
  30. 5
      anrui-base/anrui-base-ui/src/views/Regist/Organing/components/index.js
  31. 149
      anrui-base/anrui-base-ui/src/views/Regist/Organing/components/second.vue
  32. 176
      anrui-base/anrui-base-ui/src/views/Regist/Organing/components/third.vue
  33. 217
      anrui-base/anrui-base-ui/src/views/Regist/Organing/index.vue
  34. 293
      anrui-base/anrui-base-ui/src/views/Regist/User.vue
  35. 501
      anrui-base/anrui-base-ui/src/views/RoleAdminister/RoleAdminister.vue
  36. 77
      anrui-base/anrui-base-ui/src/views/basefkManage/basefkManage.vue
  37. 217
      anrui-base/anrui-base-ui/src/views/dictManage/dictCommon.vue
  38. 200
      anrui-base/anrui-base-ui/src/views/dictManage/dictManage.vue
  39. 349
      anrui-base/anrui-base-ui/src/views/functional/functional.vue
  40. 2
      anrui-base/anrui-base-ui/src/views/index.vue
  41. 212
      anrui-base/anrui-base-ui/src/views/logManage/logManage.vue
  42. 558
      anrui-base/anrui-base-ui/src/views/menuManage/menuManage.vue
  43. 446
      anrui-base/anrui-base-ui/src/views/organizationManage/organizationManage.vue
  44. 400
      anrui-base/anrui-base-ui/src/views/postManage/postManage.vue
  45. 448
      anrui-base/anrui-base-ui/src/views/sourceManage/sourceManage.vue
  46. 344
      anrui-base/anrui-base-ui/src/views/system-admin/RoleAdminister/RoleAdminister.vue
  47. 220
      anrui-base/anrui-base-ui/src/views/system-admin/UserAdminister/components/client.vue
  48. 277
      anrui-base/anrui-base-ui/src/views/system-admin/UserAdminister/components/user.vue
  49. 39
      anrui-base/anrui-base-ui/src/views/system-admin/UserAdminister/index.vue
  50. 456
      anrui-base/anrui-base-ui/src/views/system-admin/check/company.vue
  51. 307
      anrui-base/anrui-base-ui/src/views/system-admin/check/people.vue
  52. 377
      anrui-base/anrui-base-ui/src/views/system-admin/check/personnel.vue
  53. 58
      anrui-base/anrui-base-ui/src/views/system-admin/check/remarks/index.vue
  54. 151
      anrui-base/anrui-base-ui/src/views/system-admin/components/orgInfo.vue
  55. 35
      anrui-base/anrui-base-ui/src/views/system-admin/components/userInfo.vue
  56. 180
      anrui-base/anrui-base-ui/src/views/system-admin/dictCommon.vue
  57. 433
      anrui-base/anrui-base-ui/src/views/system-admin/orgsetup/index.vue
  58. 323
      anrui-base/anrui-base-ui/src/views/system-admin/role.vue
  59. 363
      anrui-base/anrui-base-ui/src/views/system-admin/user.vue
  60. 64
      anrui-base/anrui-base-ui/src/views/userManage/userManage.vue
  61. 71
      anrui-base/anrui-base-ui/src/views/userManage/userManageAdd.vue
  62. 192
      anrui-base/anrui-base-ui/src/views/userManage/userManageList.vue
  63. 3
      anrui-base/anrui-base-ui/src/views/zifang/index.vue
  64. 358
      anrui-base/anrui-base-ui/src/views/zifang/zifangguanli/zifangguanli.vue
  65. 217
      anrui-base/anrui-base-ui/src/views/zifang/zifangguanli/zifangguanliAdd.vue
  66. 93
      anrui-base/anrui-base-ui/src/views/zifang/zifangguanli/zifangguanliInfo.vue
  67. 480
      anrui-base/anrui-base-ui/src/views/zifang/zifangzhengce/zifangzhengce.vue
  68. 419
      anrui-base/anrui-base-ui/src/views/zifang/zifangzhengce/zifangzhengceAdd.vue
  69. 197
      anrui-base/anrui-base-ui/src/views/zifang/zifangzhengce/zifangzhengceInfo.vue
  70. 2
      anrui-riskcenter-ui/src/views/creditauditmanagement/creditauditmanagement.vue
  71. 8
      anrui-riskcenter-ui/src/views/workFlow/xinyongshensuFlow/creditauditappealEdit.vue

91
anrui-base/anrui-base-ui/src/api/jichuxinxi/basefinbank.js

@ -1,91 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
import {getDownLoadUrl } from '@/utils/axios'
import { removeToken, getToken } from '@/utils/auth'
// 资方信息表
// 条件查询
export function basefinbankListPage(data) {
return request({
url: '/base/v1/basefinbank/listPage',
data,
method: 'post',
headers: {
'Content-Type': 'application/json'
}
})
}
// 条件查询
// export function listPage(data) {
// return request({
// url: '/base/v1/basefinbank/listPage',
// method: 'post',
// data: data,
// headers: { 'Content-Type': 'application/json' }
// })
// }
// 添加
export function basefinbankSaveList(data) {
return request({
url: '/base/v1/basefinbank/save',
data,
method: 'post',
// data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 修改
export function basefinbankUpdate(data) {
// console.log('data44', data)
return request({
url: `/base/v1/basefinbank/update/${data.sid}`,
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 删除/base/v1/basefinbank/delete/{sid}
// export function deleteBySids(data) {
// return request({
// url: '/base/v1/basefinbank/delete/deleteBySid?sid=' + data,
// method: 'DELETE',
// data: qs.stringify(data)
// })
// }
// 批量删除/base/v1/basefinbank/deleteBySids
export function basefinbankDeleteBySids(data) {
return request({
url: '/base/v1/basefinbank/deleteBySids?sids=' + data,
method: 'DELETE',
data: qs.stringify(data)
})
}
// 详情以及修改回 获取一条记录显/base/v1/basefinbank/details/{sid}
export function basefinbankDetails(data) {
return request({
url: '/base/v1/basefinbank/details/' + data,
method: 'get'
})
}
// 根据资方名称模糊搜索资方名称下拉框
export function basefinbankDnamesDown(data) {
return request({
url: '/base/v1/basefinbank/namesDown',
method: 'get',
params: data
})
}
// 导出表格
export function basefinbankExportExcel(data) {
return request({
url: '/base/v1/basefinbank/exportExcel?sids='+data,
method: 'get',
responseType: 'blob' ,// 表明返回服务器返回的数据类型
data: qs.stringify(data),
})
}

42
anrui-base/anrui-base-ui/src/api/jlcyry/staffOrg/staffOrg.js

@ -1,42 +0,0 @@
import request from '@/utils/request'
import qs from 'qs';
class staffOrg {
staffBingingList(data) { // 人员绑定审核列表
return request({
url: '/jlcyry/staffOrg/staffBingingList',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json',
'token' : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiIxOCIsImlzcyI6IldCSyIsImV4cCI6MTYwMjg5ODM0NH0.VBtcZcQm_1eLqThHXPM6YZrIHQFy3_LJtBkEONgcoos"
}
})
}
staffOrgBingingDetails(data) { //人员绑定列表点击审核的初始化页面数据
return request({
url: '/jlcyry/staffOrg/staffOrgBingingDetails/'+ data.userName,
method: 'get',
params: data
})
}
verify(data) { //人员绑定审核
return request({
url: '/jlcyry/staffOrg/verifyStaffOrg',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
setUpDepartment(data) { //人员绑定部门
return request({
url: '/system/v1/departmentStaffs/setUpDepartment',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
}
export default new staffOrg()

60
anrui-base/anrui-base-ui/src/api/orgRegist/index.js

@ -1,60 +0,0 @@
import request from '@/utils/request'
import qs from 'qs';
// 获取机构的单位类别
export function getDwType(data) {
return request({
url: '/system/dictCommon/getDwType',
method: 'get',
params: data
})
}
//获取机构的人员类别
export function getRylb(data) {
return request({
url: '/system/dictCommon/getRylb',
method: 'get'
})
}
//获取验证码(注册)
export function getVerificationCode(data) {
return request({
url: '/system/organization/getVerificationCode',
method: 'get',
params: data
})
}
//获取机构信息列表
export function verifyList(data) {
return request({
url: '/system/organization/verifyList',
method: 'post',
data: qs.stringify(data),
headers: {'Content-Type': 'application/json'}
})
}
//机构信息保存
export function saveOrg(data) {
return request({
url: '/system/organization/save',
method: 'post',
data: qs.stringify(data),
})
}
//入职单位下拉框
export function inductionUnitList(data) {
return request({
url: '/system/organization/inductionUnitList',
method: 'post',
data: qs.stringify(data),
})
}
export function download(data) { // 下载授权证书
return request({
url: 'system/organization/download',
method: 'get',
})
}

22
anrui-base/anrui-base-ui/src/api/orgRegist/organization.js

@ -1,22 +0,0 @@
import request from '@/utils/request'
import qs from 'qs';
class organization{
inductionUnitList(data) { // 绑定单位 入职单位下拉框
return request({
url: '/system/organization/inductionUnitList',
method: 'post',
data: qs.stringify(data),
})
}
save(data) { // 人员机构关系保存
return request({
url: '/jlcyry/staffOrg/save',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
}
export default new organization()

138
anrui-base/anrui-base-ui/src/api/system/basefkManage/index.js

@ -1,138 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
// 用户列表
let tokens = window.sessionStorage.getItem('token');
export function userList(data){
return request({
url: '/base/v1/basefinbank/listPage',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 根据sid查询一条信息
export function userSingle(data){
return request({
url: '/base/v1/basefinbank/fetchSid/' +data.sid,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 新增
export function userAdd(data){
return request({
url: '/portal/v1/sysuser/save',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 更新
export function userUpdata(data){
return request({
url: '/portal/v1/sysuser/update/' +data.sid,
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 删除
export function delUser(data){
return request({
url: '/portal/v1/sysuser/delBySid/' +data.sid,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 初始化密码
export function initPwd(data){
return request({
url: '/portal/v1/sysuser/initPwd/' +data.sid,
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 单条用户的角色列表
export function setRole(data){
return request({
url: '/portal/v1/sysrole/listAllByUserSid/' +data.sid,
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 角色列表
export function saveOrgRole(data){
return request({
url: '/portal/v1/sysuserrole/update',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 查询角色列表
export function roleList(data){
return request({
url: '/base/v1/basefinpolicy/listAll',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 查询部门列表
export function orgList(data){
return request({
url: '/portal/v1/sysorganization/list',
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 查询岗位列表
export function postList(data){
return request({
url: '/portal/v1/syspost/fetchByOrgSid/'+data.sid,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 获取验证码
export function getCode(data){
return request({
url: '/portal/v1/sysuser/sendMessageCode/'+data.phone,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}

32
anrui-base/anrui-base-ui/src/api/system/dataDict/dataDict.js

@ -1,32 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
//获取单位级别
export function getDwJb(data) {
return request({
url: '/system/dictCommon/getDwJb',
method: 'GET',
})
}
// 获取机构单位类别
export function getDwType(data) {
return request({
url: '/system/dictCommon/getDwType',
method: 'get',
params: data
})
}
//获取机构人员类别
export function getRylb(data) {
return request({
url: '/system/dictCommon/getRylb',
method: 'get'
})
}
// 根据Type值获取数据对象
export function getDicts(typeCode) {
return request({
url: '/system/dictCommon/dicts/'+typeCode,
method: 'get'
})
}

120
anrui-base/anrui-base-ui/src/api/system/departments/departments.js

@ -1,120 +0,0 @@
import request from '@/utils/request'
import qs from 'qs';
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('token');
//获取菜单 分页列表
export function pageList(data) {
return request({
url: '/portal/v1/sysorganization/listPage',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 查询左侧部门列表
export function orgList(data){
return request({
url: '/portal/v1/sysorganization/list',
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 编辑部门信息
export function postOrgtree(data){
return request({
url: '/portal/v1/sysorganization/update/' +data.sid,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 获取 机构分页列表
export function putOrgtree(data) {
return request({
url: '/portal/v1/sysorganization/update/' +data.sid,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens}
})
}
// 新增部门信息
export function addOrgTree(data){
return request({
url: '/portal/v1/sysorganization/save',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 树 节点名称 删除
export function delOrgtree(data) {
return request({
url: `/portal/v1/sysorganization/delBySid/`+data.sid,
method: 'get',
data: qs.stringify(data),
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 获取 机构树形
export function getOrgTree(data) {
return request({
url: `/system/v1/departments/departmentTreeList/`+ data.organizationSid,
method: 'GET',
params: data
})
}
//// 添加 机构树形节点
//export function addOrgTree(data) {
//return request({
// url: `/system/v1/departments`,
// method: 'post',
// data: data,
// headers: {'Content-Type': 'application/json'}
//})
//}
// 获取 机构分页列表
export function getPagelist(data) {
return request({
url: `/system/v1/departments/pagelist`,
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
// 查看二维码
export function getQrCode(data) {
return request({
url: `/system/v1/departments/getQrCode/`+data.sid,
method: 'POST',
data: qs.stringify(data)
})
}

52
anrui-base/anrui-base-ui/src/api/system/dictType/dictCommon.js

@ -1,52 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
let tokens = window.sessionStorage.getItem('token');
//获取字典子集 分页列表
export function dictCommonList(data) {
return request({
url: '/portal/v1/dictcommons/pageList',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
//保存 字典子级
export function savedictCommon(data) {
return request({
url: '/portal/v1/dictcommons/save',
method: 'POST',
data: qs.stringify(data),
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
//根据sid 获取单个菜单 信息
export function getRoleInfo(data) {
return request({
url: '/system/v1/menus/' + data.sid,
method: 'GET',
data: qs.stringify(data)
})
}
//根据sid 修改 数据字典
export function putdictCommon(data) {
return request({
url: '/portal/v1/dictcommons/update/' + data.sid,
method: 'POST',
data: qs.stringify(data)
})
}
//根据sid 删除菜单 信息
export function deldictCommon(data) {
return request({
url: '/portal/v1/dictcommons/delete/' + data.sid,
method: 'DELETE',
data: qs.stringify(data)
})
}

72
anrui-base/anrui-base-ui/src/api/system/dictType/index.js

@ -1,72 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('token');
//获取菜单 分页列表
export function pageList(data) {
return request({
url: '/portal/v1/dicttypes/pageList',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
//根据sid 修改
export function putDictType(data) {
return request({
url: '/portal/v1/dicttypes/update/' + data.sid,
method: 'POST',
data: qs.stringify(data)
})
}
////获取菜单 分页列表
//export function dictTypeList(data) {
//return request({
// url: '/system/dicttype/pageList',
// method: 'post',
// data: data,
// headers: {'Content-Type': 'application/json'}
//})
//}
//保存 角色信息
export function saveDictType(data) {
return request({
url: '/system/dicttype/save',
method: 'POST',
data: qs.stringify(data)
})
}
//根据sid 获取单个菜单 信息
export function getRoleInfo(data) {
return request({
url: '/system/v1/menus/' + data.sid,
method: 'GET',
data: qs.stringify(data)
})
}
//根据sid 删除菜单 信息
export function delDictType(data) {
return request({
url: '/system/dicttype/delete/' + data.sid,
method: 'DELETE',
data: qs.stringify(data)
})
}

84
anrui-base/anrui-base-ui/src/api/system/functional/functional.js

@ -1,84 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('token');
//获取菜单 分页列表
export function pageList(data) {
return request({
url: '/portal/v1/sysfunction/listAllVoForSource',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
//新增
export function savePost(data) {
return request({
url: '/portal/v1/sysfunction/save',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
//模块名称
export function sourceList(data) {
return request({
url: '/portal/v1/syssource/listAll',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 删除
export function delOrgroles(data) {
return request({
url: '/portal/v1/sysfunction/delBySids/'+ data.sid,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 修改
export function getSingleData(data){
return request({
url: '/portal/v1/sysfunction/fetchBySid/'+data.id,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
export function putOrgroles(data){
return request({
url: '/portal/v1/sysfunction/update/' +data.sid,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 功能是否可用状态
export function IsEnable(data){
return request({
url: '/portal/v1/sysfunction/updateIsEnable/' +data.sid,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}

16
anrui-base/anrui-base-ui/src/api/system/log/index.js

@ -1,16 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('token');
//获取菜单 分页列表
export function logPageList(data) {
return request({
url: '/portal/v1/systemlog/listPage',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}

115
anrui-base/anrui-base-ui/src/api/system/menu/index.js

@ -1,115 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('token');
//获取菜单 分页列表
export function pageList(data) {
return request({
url: '/portal/v1/sysmenu/listAllVoForSource',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 新增保存 菜单信息
export function saveMenusInfo(data) {
return request({
url: '/portal/v1/sysmenu/save',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
// 修改保存 菜单信息
export function putMenusInfo(data) {
return request({
url: '/portal/v1/sysmenu/update/'+ data.sid,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
//根据sid 删除单个 资源信息
export function delMenus(data) {
return request({
url: '/portal/v1/sysmenu/delBySids/' + data.sid,
method: 'get',
data: qs.stringify(data),
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 修改状态
export function IsEnable(data) {
return request({
url: '/portal/v1/sysmenu/updateIsEnable/' + data.sid,
method: 'POST',
data: qs.stringify(data),
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 获取菜单 不分页列表
export function roleList(data) {
return request({
url: '/system/v1/menus/list',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
//获取菜单 分页列表
export function menusPageList(data) {
return request({
url: '/system/v1/menus/pagelist',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
//获取菜单 树形分页列表
export function menusTreelist(data) {
return request({
url: '/system/v1/menus/treelist',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
//根据sid 获取单个菜单 信息
export function getRoleInfo(data) {
return request({
url: '/system/v1/menus/' + data.sid,
method: 'GET',
data: qs.stringify(data)
})
}

61
anrui-base/anrui-base-ui/src/api/system/postManage/index.js

@ -1,61 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMTE1MjUwfQ.gtn_mVsbwH6ztl835rWmIY4DxeNmRe_TOt-Q0TdldIE'
let tokens = window.sessionStorage.getItem('token');
//获取菜单 分页列表
export function pageList(data) {
return request({
url: '/portal/v1/syspost/listPage',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 查询部门列表
export function orgList(data){
return request({
url: '/portal/v1/sysorganization/list',
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 新增
export function savePost(data){
return request({
url: '/portal/v1/syspost/save',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 修改
export function putOrgroles(data){
return request({
url: '/portal/v1/syspost/update/' +data.sid,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 删除
export function delOrgroles(data){
return request({
url: '/portal/v1/syspost/delBySids/' + data.sids,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}

139
anrui-base/anrui-base-ui/src/api/system/roleAdminister/index.js

@ -1,139 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjI5OTQxNjI1fQ.aOFOz0h7c8YQs-ti2GLpqeWu4AE9mifx_043hLJQf8g'
let tokens = window.sessionStorage.getItem('token');
// 业务角色 列表
export function roleOrgList(data){
return request({
url: '/portal/v1/sysrole/listPage',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 设置是否可用:isEnable:1可用,0不可用
export function setRoleEnable(data) {
return request({
url: `/system/v1/orgroles/setIsEnable/${data.sid}/${data.isEnable}`,
method: 'POST',
data: qs.stringify(data)
})
}
/**
* <新增 保存角色>
* @orgSid 机构SID
* @remarks 备注
* @roleName 角色名称
* */
export function saveOrgroles(data) {
return request({
url: '/portal/v1/sysrole/save',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
/**
* <根据SID 修改角色>
* @sid 角色SID
* @orgSid 机构SID
* @remarks 备注
* @roleName 角色名称
* */
export function putOrgroles(data) {
return request({
url: `/portal/v1/sysrole/update/${data.sid}`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
/**
* <根据SID 删除角色>
* @sid 角色SID
* */
export function delOrgroles(data) {
return request({
url: `/portal/v1/sysrole/delBySids/${data.sid}`,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 菜单授权
export function roleMenuTree(data) {
return request({
url: `/portal/v1/sysmenu/listAllByRoleSid`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 菜单授权保存
export function saveorgrolemenus(data) {
return request({
url: `/portal/v1/sysmenurole/updateRoleAndMenu`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 资源授权
export function sourceMenuTree(data) {
return request({
url: `/portal/v1/syssource/listAllByRoleSid`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 资源授权保存
export function saveSource(data) {
return request({
url: `/portal/v1/syssourcerole/updateRoleAndSource`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 功能授权
export function funMenuTree(data) {
return request({
url: `/portal/v1/sysfunction/listAllByRoleSid`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 功能授权保存
export function savefunMenu(data) {
return request({
url: `/portal/v1/sysrolefunction/updateRoleAndFunction`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}

31
anrui-base/anrui-base-ui/src/api/system/roleAdminister/rolemenus.js

@ -1,31 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
/**
* < 业务角色授权时菜单列表拥有的菜单选中>
* @orgTypeKeys 单位性质类别
* @roleSid 业务角色sid
* @userType 用户类型只能为1或2
* */
export function roleMenuTree(data){
return request({
url: '/system/v1/orgrolemenus/menutree',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
/**
* < 保存角色授权的菜单项 >
* @roleMenus[] 角色权限列表 {menuSid 菜单sid} {orgSid 单位sid} {roleSid 角色sid}
* @roleSid 业务角色sid
* */
export function saveorgrolemenus(data){
return request({
url: '/system/v1/orgrolemenus',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}

21
anrui-base/anrui-base-ui/src/api/system/roleMenus/index.js

@ -1,21 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
//角色授权时菜单列表(拥有的菜单选中)
export function getrolemenus(data) {
return request({
url: `/system/v1/rolemenus/${data.roleSid}`,
method: 'GET',
params: data
})
}
//保存 角色授权时菜单列表
export function saverolemenus(data) {
return request({
url: `/system/v1/rolemenus`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json'}
})
}

111
anrui-base/anrui-base-ui/src/api/system/sources/index.js

@ -1,111 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('token');
//获取菜单 分页列表
export function pageList(data) {
return request({
url: '/portal/v1/syssource/listPage',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
//保存 资源信息
export function saveSourcesInfo(data) {
return request({
url: '/portal/v1/syssource/save',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 修改 保存 资源信息
export function putSourcesInfo(data) {
return request({
url: '/portal/v1/syssource/update/' + data.sid,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
//根据sid 删除单个 资源信息
export function delSources(data) {
return request({
url: '/portal/v1/syssource/delBySids/' + data.sid,
method: 'get',
data: qs.stringify(data),
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 获取获取资源类别
export function getZzylb(data) {
return request({
url: '/portal/v1/syssource/listAll',
method: 'post',
headers: {'Content-Type': 'application/json'}
})
}
// 获取资源 不分页列表
export function sourcesList(data) {
return request({
url: '/system/v1/sources/list',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
// 获取资源列表 不分页下拉
export function getsourceList(data) {
return request({
url: '/system/v1/sources/sourceList',
method: 'post'
})
}
////获取资源 分页列表
//export function sourcesPageList(data) {
//return request({
// url: '/system/v1/sources/pagelist',
// method: 'POST',
// data: data,
// headers: {'Content-Type': 'application/json'}
//})
//}
//根据sid 获取单个 资源信息
export function getSourcesInfo(data) {
return request({
url: '/system/v1/sources/' + data.sid,
method: 'GET',
data: qs.stringify(data)
})
}

84
anrui-base/anrui-base-ui/src/api/system/user/Auser.js

@ -1,84 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
export function verifyList(data){ // 用户列表
return request({
url: '/system/user/verifyList',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
// admin用户列表
export function userListByAdmin(data){
return request({
url: '/system/user/userListByAdmin',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
// 设置角色
export function psotUserRole(data){
return request({
url: '/system/v1/userrole',
method: 'post',
data: qs.stringify(data)
})
}
// 用户初始化密码
export function initPwd(data){
return request({
url: 'system/user/initPwd/'+data.sid,
method: 'POST',
data: qs.stringify(data)
})
}
// 用户删除接口
export function delUser(data){
return request({
url: '/system/user/delete/'+data.sid,
method: 'DELETE',
params: data
})
}
// 初始化设置角色
export function initUserRole(data){
return request({
url: '/system/v1/userroles/initUserRole/'+ data.userSid,
method: 'get',
params: data
})
}
// 保存角色
export function saveUserRole(data){
return request({
url: '/system/v1/userroles',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
// 用户信息
export function getUserINfo(data){
return request({
url: '/system/user/userRegisterDetails',
method: 'get',
params: data
})
}
// 单位信息
export function getOrgINfo(data){
return request({
url: '/system/organization/organizationRegisterDetails/'+ data.organizationSid,
method: 'get',
params: data
})
}

38
anrui-base/anrui-base-ui/src/api/system/user/login.js

@ -1,38 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
//获取菜单 分页列表
export function login1(data) {
return request({
url: '/portal/v1/sysuser/login',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
// 'token':tokens
}
})
}
class user {
login(data) { // 登录
return request({
url: '/portal/v1/sysuser/login',
method: 'post',
data
})
}
logout() { // 退出
return request({
url: '/vue-admin-template/user/logout',
method: 'post'
})
}
updatePassword(data) { // 退出修改密码
return request({
url: '/system/user/updatePassword',
method: 'post',
data: qs.stringify(data)
})
}
}

43
anrui-base/anrui-base-ui/src/api/system/user/user.js

@ -1,43 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
class user{
verifyList(data){ // 请求审核列表
return request({
url: '/system/user/verifyList',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
userRegisterDetails(data){ // 获取审核内容
console.log(data)
return request({
url: '/system/user/userRegisterDetails',
method: 'get',
params: data
})
}
verify(data){ // 审核通过不通过
return request({
url: '/system/user/verify',
method: 'post',
data: qs.stringify(data)
})
}
userDelete(data){ // 删除
return request({
url: '/system/user/delete/{sid}',
method: 'delete',
data: qs.stringify(data)
})
}
userNameDelete(data){ // 删除个人注册审核
return request({
url: '/system/staffApply/deleteByUserName',
method: 'delete',
data: qs.stringify(data)
})
}
}
export default new user()

32
anrui-base/anrui-base-ui/src/api/system/userAdminister/client.js

@ -1,32 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
// 委托人分页列表
export function clientList(data){
return request({
url: '/jlcyry/v1/clientalterrecords/pagerList',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
// 变更选择委托人列表
export function setclientList(data){
return request({
url: '/jlcyry/v1/clientalterrecords/staffClientList',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
// 变更为被委托人
export function doClientAlter(data){
return request({
url: '/jlcyry/v1/clientalterrecords/doClientAlter',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}

69
anrui-base/anrui-base-ui/src/api/system/userAdminister/index.js

@ -1,69 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
let tokens = window.sessionStorage.getItem('token');
// 单位用户列表
export function orgUserList(data){
return request({
url: '/system/user/userListByOrg',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
// 设置角色
export function psotUserRole(data){
return request({
url: '/system/v1/userrole',
method: 'post',
data: qs.stringify(data)
})
}
/**
* 获取角色列表
* orgSid 用户SID
* roleName 角色名称
* */
export function orgrolesList(data){
return request({
url: '/system/v1/orgroles/list',
method: 'post',
headers: {'Content-Type': 'application/json'},
data
})
}
/**
* 保存 设置角色 /system/v1/orguserroles
* */
export function saveOrgRole(data){
return request({
url: '/system/v1/orguserroles',
method: 'post',
headers: {'Content-Type': 'application/json'},
data
})
}
/**
* 部门机构列表 /system/v1/departments/departmentOrgList/{organizationSid}
* */
export function getOrgList(organizationSid){
return request({
url: '/system/v1/departments/departmentOrgList/' + organizationSid,
method: 'get'
})
}
/**
* 保存 设置部门 /system/v1/orguserroles
* */
export function saveDepartment(data){
return request({
url: '/system/v1/departmentStaffs/setUpDepartment',
method: 'post',
headers: {'Content-Type': 'application/json'},
data
})
}

60
anrui-base/anrui-base-ui/src/api/system/userManage/index.js

@ -1,60 +0,0 @@
import request from '@/utils/request'
import qs from 'qs'
// 用户列表
let tokens = window.sessionStorage.getItem('token');
export function userList(data){
return request({
url: '/base/v1/basefinbank/listPage',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 根据sid查询一条信息
export function userSingle(data){
return request({
url: '/base/v1/basefinpolicy/fetchSid/' +data.sid,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 新增
export function userListAdd(data){
return request({
url: '/base/v1/basefinbank/save/',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 更新
export function userUpdata(data){
return request({
url: '/base/v1/basefinbank/update/' +data.sid,
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 删除
export function delbank(data){
return request({
url: '/base/v1/basefinbank/deleteBySids/' +data.sid,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}

37
anrui-base/anrui-base-ui/src/router/index.js

@ -24,12 +24,6 @@ export const constantRoutes = [
{
path: '/login',
component: () => import('@/views/login/login.vue')
},
{
path: '/home',
component: () => import('@/views/Home/Home.vue'),
name: 'home'
}, {
path: '/index',
component: Layout,
@ -131,37 +125,6 @@ export const constantRoutes = [
}
]
},
// 6资方管理
{
path: '/zifang',
component: Layout,
redirect: '/zifang',
meta: {
title: '资方管理'
},
children: [
{
path: '/zifang/zifangguanli',
component: () =>
import('@/views/zifang/zifangguanli/zifangguanli.vue'),
name: 'zifangguanli',
meta: {
title: '资方信息管理',
noCache: true
}
},
{
path: '/zifang/zifangzhengce',
component: () =>
import('@/views/zifang/zifangzhengce/zifangzhengce.vue'),
name: 'zifangzhengce',
meta: {
title: '资方政策管理',
noCache: true
}
}
]
},
// 7、中介人员
{
path: '/zhongjie',

43
anrui-base/anrui-base-ui/src/views/Home/Home.vue

@ -1,43 +0,0 @@
<template>
<div class="imgDemo">
<!--<el-button type="primary" @click="getToken()">token</el-button>
<div style="width: 200px;">{{token}}</div>-->
</div>
</template>
<script>
import {login1} from '@/api/system/user/login.js'
export default {
name: '',
data() {
return {
token:''
}
},
methods:{
// getToken(){
// let params = {
// password: "329653",
// roleSid: "",
// token: "",
// userName: "15097329653",
// verifyCode: ""
// }
// login1(params).then(res => {
// this.token = res.data.token
// window.sessionStorage.setItem('token', res.data.token)
// })
// }
}
}
</script>
<style lang="scss" scoped>
.imgDemo {
width: 100%;
height: 100%;
background: radial-gradient(#fff,#f5f7f4, #fff);
}
canvas {
}
</style>

161
anrui-base/anrui-base-ui/src/views/PwdModify/PwdModify.vue

@ -1,161 +0,0 @@
<template>
<div class="content">
<div class="right_cont">
<!-- table -->
<div style="padding-top: 15px;"></div>
<table class="tishi" cellspacing="0" style="margin:0 auto 30px">
<tr>
<td style="border-bottom: none; border-right: none;">原密码</td>
<td style="border-bottom: none;">
<el-input type="password" v-model="form.original" show-password/>
<span>*</span>
</td>
</tr>
<tr>
<td style="border-bottom: none; border-right: none;">新密码</td>
<td style="border-bottom: none;">
<el-input type="password" v-model="form.password" show-password/>
<span>*</span>
</td>
</tr>
<tr>
<td style="border-right: none;">确认密码</td>
<td>
<el-input type="password" v-model="form.confirmPassword" show-password/>
<span>*</span>
</td>
</tr>
</table>
<span slot="footer" class="dialog-footer" style="margin-left:40%;">
<el-button style=" margin-left: 8%; width: 100px;height: 40px;" type="primary" @click="updatePsw()">确认</el-button>
<!-- <el-button style="margin-left: 6%; width: 100px;height: 40px;" type="danger" @click="$router.go(-1)">关闭</el-button> -->
</span>
</div>
</div>
</template>
<script>
import login from '@/api/User/login.js'
import { removeStorage } from '@/utils/auth'
import User from '@/api/User/login.js'
import myviewer from '@/components/viewerjs/index.vue'
export default {
components:{myviewer},
data() {
return {
checked: '',
form:{
confirmPassword: '',
original: '',
password: '',
userSid: window.sessionStorage.getItem('userSid')
},
token:window.sessionStorage.getItem('token')
}
},
mounted(){
},
methods: {
updatePsw(){
if(this.form.password != this.form.confirmPassword){
this.$message({
type: 'warning',
message: '两次密码输入不一致!'
});
return
}
login.updatePassword(this.form).then(res => {
this.$alert('密码修改成!请重新登录点击确定后退出。', '修改成功', {
confirmButtonText: '确定',
callback: action => {
User.logout({ token: this.token}).then(res => {
// removeToken()
window.sessionStorage.removeStorage('token')
window.sessionStorage.removeStorage('userSid')
this.$router.push({path: '/login'})
})
.catch(() => {
this.$router.push({path: '/login'})
})
}
});
// this.$message({
// type: 'success',
// message: '!'
// });
})
},
guanli(){
this.$router.push({
name: 'roleAdminister'
})
}
},
}
</script>
<style scoped="scoped" lang="scss">
.content {
width: 100%;
padding-top: 10px;
font-size: 16px;
color: #fff;
box-sizing: border-box;
}
.shouye {
position: absolute;
top: -3px;
left: 100px;
font-size: 16px;
color: #0395d8;
font-weight: bold;
}
.placename {
position: absolute;
top: -3px;
left: 210px;
font-size: 16px;
color: #fff;
font-weight: bold;
}
.right_cont {
width: 100%;
height: 645px;
background-color: #fff;
margin: 0;
padding: 15px;
box-sizing: border-box;
}
.tishi {
width: 560px;
color: #000;
padding-left: 1.5%;
margin-bottom: 50px;
tr {
height: 70px;
}
td {
border: 1px solid #e6e9f0;
text-align: center;
}
td:first-child {
background-color: #f7f9fc;
}
.el-input,
input {
width: 80%;
}
span{
font-size: 26px;
color: red;
margin-left: 10px;
}
}
</style>

174
anrui-base/anrui-base-ui/src/views/Regist/Organing/components/amap.vue

@ -1,174 +0,0 @@
<template>
<el-dialog top="5vh" :append-to-body="true" title="获取地图坐标" :visible.sync="dialogVisible" :before-close="handleClose" width="1000px">
<div class="amap-page-container">
<el-amap-search-box class="search-box" :search-option="searchOption" :on-search-result="onSearchResult" />
<div class="toolbar">
<span>当前坐标: {{ lng }}, {{ lat }}</span>
<span>地址: {{ address }}</span>
<el-button type="primary" @click="select" class="btn">确定</el-button>
</div>
<el-amap
vid="amapDemo2"
:center="mapCenter"
:zoom="zoom"
class="amap-demo"
:events="events"
:plugin="plugin"
>
<!-- <el-amap-marker v-for="(marker,index) in markers" :key="index" :position="marker.position" /> -->
<el-amap-marker v-for="marker in markers" :position="marker" />
</el-amap>
</div>
</el-dialog>
</template>
<script>
import { AMapManager } from 'vue-amap'
export default {
name: 'AmapPage',
props: {
dialogVisible: {
type: Boolean,
default: false
},
address:{
type: String,
default: ''
},
makerPosition: {
type: Array,
default: () => {
return []
}
}
},
data: function() {
const self = this
return {
zoom: 12,
mapCenter: [116.384201, 39.90307],
markers: [[116.384201, 39.90307]],
searchOption: {
city: '北京',
citylimit: false
},
lng: 0,
lat: 0,
loaded: false,
plugin: [{
pName: 'Geolocation',
events: {
init(o) {
// o
o.getCurrentPosition((status, result) => {
if (result && result.position) {
if (self.makerPosition.length == 0) {
self.address = result.formattedAddress
self.lng = result.position.lng
self.lat = result.position.lat
}
self.searchOption.city = result.addressComponent.city
self.center = [self.lng, self.lat]
self.loaded = true
self.$nextTick()
}
})
}
}
}],
events: {
click(e) {
const { lng, lat } = e.lnglat
self.lng = lng
self.lat = lat
self.markers[0] = [lng, lat]
// SDK
var geocoder = new AMap.Geocoder({
radius: 1000,
extensions: 'all'
})
geocoder.getAddress([lng, lat], function(status, result) {
if (status === 'complete' && result.info === 'OK') {
if (result && result.regeocode) {
self.address = result.regeocode.formattedAddress
self.$nextTick()
}
}
})
}
}
}
},
created() {
if (this.makerPosition.length) {
this.markers[0] = this.makerPosition
this.lng = this.makerPosition[0] || 0
this.lat = this.makerPosition[1] || 0
}
},
methods: {
onSearchResult(pois) {
let latSum = 0
let lngSum = 0
if (pois.length > 0) {
pois.forEach(poi => {
const { lng, lat } = poi
lngSum += lng
latSum += lat
this.markers.push([poi.lng, poi.lat])
})
const center = {
lng: lngSum / pois.length,
lat: latSum / pois.length
}
this.mapCenter = [center.lng, center.lat]
}
},
handleClose(done) {
this.$emit('update:dialogVisible', false)
this.$nextTick(() => {
done()
})
},
select() {
this.$emit('update:dialogVisible', false)
this.$emit('update:makerPosition', this.markers[0])
this.$emit('update:address', this.address)
this.$parent.validateForm()
}
}
}
</script>
<style lang="scss" scoped>
.amap-demo {
height: 450px;
}
.search-box {
z-index: 999;
margin-bottom: 20px;
position: absolute;
top: 70px;
left: 100px;
}
.amap-page-container {
position: relative;
}
.toolbar{
padding-bottom: 10px;
height: 50px;
line-height: 50px;
position: relative;
.btn{
position: absolute;
right: 0;
}
span{
padding-left: 10px;
}
}
</style>

89
anrui-base/anrui-base-ui/src/views/Regist/Organing/components/first.vue

@ -1,89 +0,0 @@
<template>
<el-row :gutter="50">
<el-col :span="12">
<div class="color-red fs18" style="line-height: 36px;">
<p>提示:</p>
<p style="text-indent:25px">为保证系统信息安全本平台使用实名注册注册时填写的内容需与上传文件相符并经系统管理员审核通过后生效
对于单位注册注册时需提供单位法人委托书授权一名单位管理员专门管理本单位账户并对本单位信息安全负责</p>
<p class="color-grey pd-t40">
法人授权委托书制作步骤如下: <br>
1点击下载授权委托书模板<br>
2打开授权委托书文本<br>
3填写授权委托书内容<br>
4打印授权委托书<br>
5在授权委托书上签字盖章<br>
6扫描或拍照已签字盖章的授权委托书并上传至本电脑备用<br>
</p>
</div>
</el-col>
<el-col :span="12">
<div>
<el-button type="primary" class='bg-primary' @click.native.prevent="download()" style='margin: 12px 0;'>下载授权委托书</el-button>
<el-button type="primary" class='bg-primary' @click="onImport()">上传授权委托书</el-button>
</div>
<UploadImg class='first' ref="uploadImg" :FrontPhoto="Photourl" @imgUrl="attorneyPath"></UploadImg>
</el-col>
</el-row>
</template>
<script>
import UploadImg from '@/components/uploadFile/index.vue'
import axios from 'axios'
import { download } from '@/api/orgRegist/index.js'
export default {
components:{UploadImg},
name: 'frist',
props:{
Form:{
type: Object,
default: function () {
return {}
}
}
},
data() {
return {
Photourl: require('@/assets/images/org/jian.png'),
}
},
computed: {
},
methods: {
download(){
axios({
method: 'get',
url: 'api/system/organization/download',
responseType: 'blob'
}).then(response => {
console.log(response);
let blob = new Blob([response.data], {type:"application/msword"});
let link = document.createElement('a');
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blob, "授权书附件.doc");
} else {
// var objectUrl = URL.createObjectURL(blob);
// window.open(objectUrl);
link.href = window.URL.createObjectURL(blob);
link.download = "授权书附件.doc";
link.click();
}
})
},
onImport() {
this.$refs['uploadImg'].$refs['upload'].$refs['upload-inner'].handleClick()
},
attorneyPath(url){ //
this.$set(this.Form,"attorneyPath",url.filePath)
this.$set(this.Form,"attorneyPathurl",url.fullUrl)
}
}
}
</script>
<style>
.avatar-uploader.first .avatar {
width: 350px;
height: 350px;
}
</style>

31
anrui-base/anrui-base-ui/src/views/Regist/Organing/components/fourth.vue

@ -1,31 +0,0 @@
<template>
<div class="text-center pd-y40">
<img src="../../../../assets/images/org/success.png" alt=""/>
<h4 class="pd-y20 fs20">提交成功</h4>
<p>管理员审核通过后会有短信提醒<br> 系统将在{{time}}秒后返回登录页</p>
</div>
</template>
<script>
export default {
data() {
return {
time: 13,
timeInterval: null
}
},
mounted(){
this.timeInterval = setInterval(()=>{
--this.time
if(this.time == 0){
clearInterval(this.timeInterval)
window.close();
this.time = '';
}
},1000)
}
}
</script>
<style>
</style>

5
anrui-base/anrui-base-ui/src/views/Regist/Organing/components/index.js

@ -1,5 +0,0 @@
export { default as first } from './first.vue'
export { default as second } from './second.vue'
export { default as third } from './third.vue'
export { default as fourth } from './fourth.vue'

149
anrui-base/anrui-base-ui/src/views/Regist/Organing/components/second.vue

@ -1,149 +0,0 @@
<template>
<div>
<el-form :model="Form" :rules="rules" ref="ruleForm" label-width="180px">
<el-form-item label="单位类别" prop="dwType">
<el-select v-model="Form.dwType" placeholder="请选择单位类别">
<el-option v-for="item in DwTypelist"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="单位级别" prop="dwjb">
<el-select v-model="Form.dwjb" placeholder="请选择单位类别">
<el-option v-for="item in DwJblist"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="统一信用代码/登记证号" prop="orgCode">
<el-input v-model="Form.orgCode" @input="changeorgCOde" maxlength="18"></el-input>
</el-form-item>
<el-form-item label="单位名称" prop="name">
<el-input v-model="Form.name"></el-input>
</el-form-item>
<el-form-item label="登录用户名">
<el-input v-model="Form.userName" disabled></el-input>
</el-form-item>
<el-form-item label="单位注册地址" prop="orgAddress">
<el-input v-model="Form.orgAddress"></el-input>
</el-form-item>
<el-form-item label="法人代表/负责人" prop="contactMan">
<el-input v-model="Form.contactMan"></el-input>
</el-form-item>
<el-form-item label="单位所属区域" prop="regionSid" class="demo-form-inline">
<AreaPicker @areaPicker="areaPicker"></AreaPicker>
</el-form-item>
<el-form-item label="单位地理位置" prop="gisInfo">
<el-input v-model="Form.gisInfo" readonly>
<el-button slot="append" icon="el-icon-map-location" @click='mapDialog = true'></el-button>
</el-input>
</el-form-item>
<el-form-item label="单位通讯地址" prop="postAddress">
<el-input v-model="Form.postAddress"></el-input>
</el-form-item>
<el-form-item label="法人证书" prop="businessLicense">
<UploadImg class="second" :FrontPhoto="Photourl" @imgUrl="FrontPhotoUrl"></UploadImg>
</el-form-item>
</el-form>
<Position v-if="mapDialog" :address.sync="Form.postAddress" :maker-position.sync="Form.gisInfo" :dialog-visible.sync="mapDialog" />
</div>
</template>
<script>
// import AMap from 'AMap'
import UploadImg from '@/components/uploadFile/index.vue'
import AreaPicker from '@/components/AreaPicker/index.vue'
import Position from './amap.vue'
import { getDwType, getDwJb } from '@/api/system/dataDict/dataDict.js'
export default {
components:{UploadImg, AreaPicker, Position},
props:{
Form:{
type: Object,
default: function () {
return {}
}
}
},
data() {
return {
DwTypelist: [],
DwJblist: [],
mapDialog: false,
address: '',
Photourl: require('@/assets/images/org/yyzz.png'),
rules: {
orgCode: [
{ required: true, message: '请输入统一信用代码', trigger: 'blur' },
{ min: 9, max: 18, message: '统一信用代码长度在 9位 或者 18 位', trigger: 'blur' }
],
dwType: [{ required: true, message: '请选择活动区域', trigger: 'change' }],
dwjb: [{ required: true, message: '请选择活动区域', trigger: 'change' }],
name: [{required: true, message: '请输入单位名称', trigger: 'blur'}],
orgAddress: [{required: true, message: '请输入单位注册地址', trigger: 'blur'}],
contactMan: [{required: true, message: '请输入法人代表/负责人', trigger: 'blur'}],
regionSid: [{required: true, message: '请选择单位地区', trigger: ['blur', 'change']}],
gisInfo: [{required: true, message: '请选择单位地理位置', trigger: 'blur'}],
postAddress: [{required: true, message: '请输入单位通讯地址', trigger: 'blur'}],
DwType: [{required: true, message: '请选择活动区域', trigger: 'change'}],
businessLicense: [{required: true, message: '请上传应用执照', trigger: 'change'}],
},
}
},
async mounted() {
getDwType().then((res) => {
this.DwTypelist = res.data
})
getDwJb().then((res) => {
this.DwJblist = res.data
})
},
methods: {
FrontPhotoUrl(url){
this.$set(this.Form,'businessLicense',url.filePath)
this.validateForm()
},
addressInput(){
console.log('ssss')
this.validateForm()
},
areaPicker(val){
this.$set(this.Form,'regionSid',val)
},
changeorgCOde(){
this.Form.userName = this.Form.orgCode
},
validateForm () {
let flag = null
this.$refs['ruleForm'].validate(valid => {
if (valid) {
flag = true
} else {
flag = false
}
})
return flag
}
}
}
</script>
<style>
.avatar-uploader.second .avatar {
width: 350px;
height: 450px;
}
.map{
width: 600px;
height: 600px;
}
.amap-demo {
height: 300px;
}
</style>

176
anrui-base/anrui-base-ui/src/views/Regist/Organing/components/third.vue

@ -1,176 +0,0 @@
<template>
<el-form :model="Form" :rules="rules" ref="ruleForm" label-width="200px" class="demo-Form">
<el-form-item label="被委托人身份证号码" prop="idNo">
<el-input type="idNo" v-model="Form.idNo" :maxlength="18" placeholder="请输入身份证号码"></el-input>
</el-form-item>
<el-form-item label="被委托人姓名" prop="staffInfoName">
<el-input v-model="Form.staffInfoName" placeholder="请输入委托人姓名"></el-input>
</el-form-item>
<el-row>
<el-col :span='12'>
<el-form-item label="单位管理员头像" prop="staffInfoHeadUrl">
<UploadImg @imgUrl="HeadUrl" :FrontPhoto="require('@/assets/images/org/headerimg.png')" :tip="'要求图片大小不超过10M'"></UploadImg>
</el-form-item>
</el-col>
<el-col :span='12'>
<el-form-item label="授权书复印件" >
<UploadImg @imgUrl="FrontPhotoUrl" :FrontPhoto="Form1.attorneyPathurl" :tip="'要求图片大小不超过10M'"></UploadImg>
</el-form-item>
</el-col>
<el-col :span='12'>
<el-form-item label="被委托人身份证正面复印件" prop="idFrontPhoto">
<UploadImg @imgUrl="idFrontPhoto" :FrontPhoto="require('@/assets/images/org/sfz.png')" :tip="'要求图片大小不超过10M'"></UploadImg>
</el-form-item>
</el-col>
<el-col :span='12'>
<el-form-item label="被委托人身份证反面复印件" prop="idBackPhoto" class="demo-form-inline">
<UploadImg @imgUrl="idBackPhoto" :FrontPhoto="require('@/assets/images/org/sfz.png')" :tip="'要求图片大小不超过10M'"></UploadImg>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="用户名">
<el-input v-model="Form1.userName" placeholder="请输入用户名" disabled></el-input>
</el-form-item>
<el-form-item label="联系人手机号码" prop="contactMobile">
<el-input type="text" v-model="Form.contactMobile" placeholder="请输入手机号" maxlength="11"></el-input>
<el-button class="Tips" type="text" :disabled='isDisabled' @click.stop.prevent="getcode()">点击获取验证码 {{downTime ? downTime+'s':''}}</el-button>
</el-form-item>
<el-form-item label="联系人座机电话" prop="contactTelephone">
<el-input v-model="Form.contactTelephone" placeholder="请输入座机电话"></el-input>
</el-form-item>
<el-form-item label="手机短信验证码" prop="verificationCode">
<el-input v-model="Form.verificationCode" placeholder="请输入短信验证码"></el-input>
</el-form-item>
</el-form>
</template>
<script>
import UploadImg from '@/components/uploadFile/index.vue'
import {
getVerificationCode
} from '@/api/orgRegist/index.js'
export default {
components:{UploadImg},
props:{
Form:{
type: Object,
default: function () {
return {}
}
},
Form1:{
type: Object,
default: function () {
return {}
}
}
},
data() {
var validatorPhone = function (rule, value, callback) {
if (value === '') {
callback(new Error('手机号不能为空'))
} else if (!/^1\d{10}$/.test(value)) {
callback(new Error('手机号格式错误'))
} else {
callback()
}
}
return {
downTime: '',
isDisabled: false,
rule: [{ required: true, trigger: 'change' }],
rules: {
idNo: [
{ required: true, message: '请输入身份证号', trigger: 'blur' },
{ pattern: /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/,
message: '身份证号格式错误', trigger: 'blur' ,
}
],
userName: [{ required: true, message: '请输入用户名', trigger: 'change' }],
staffInfoName: [{ required: true, message: '请输入被委托人姓名', trigger: 'change' }],
staffInfoHeadUrl: [{ required: true, message: '请上传图片', trigger: 'change' }],
attorneyPath: [{ required: true, message: '请上传图片', trigger: 'change' }],
idFrontPhoto: [{ required: true, message: '请上传图片', trigger: 'change' }],
idBackPhoto: [{ required: true, message: '请上传图片', trigger: 'change' }],
contactMobile: [
{ required: true, validator: validatorPhone, trigger: 'blur' }
],
verificationCode: [{ required: true, message: '请输入验证码', trigger: 'change' }],
},
}
},
mounted() {
},
methods: {
//
getcode() {
if(!this.Form.contactMobile){
this.$message({
type: 'warning',
message: '请输入手机号码!'
});
return
}
this.downTime = 60
this.isDisabled = true
let timeInterval = setInterval(()=>{
--this.downTime
if(this.downTime == 0){
clearInterval(timeInterval)
this.downTime = '';
this.isDisabled = false
}
},1000)
getVerificationCode({
mobile: this.Form.contactMobile
}).catch(()=>{
this.isDisabled = false
})
},
FrontPhotoUrl(url){
this.Form.attorneyPath = url.filePath
},
HeadUrl(url){
this.Form.staffInfoHeadUrl = url.filePath
},
idBackPhoto(url){
this.Form.idBackPhoto = url.filePath
},
idFrontPhoto(url){
this.Form.idFrontPhoto = url.filePath
},
validateForm () {
let flag = null
this.$refs['ruleForm'].validate(valid => {
console.log(this.Form)
if (valid) {
flag = true
} else {
flag = false
}
})
return flag
}
}
}
</script>
<style>
.avatar-uploader-icon {
width: 200px;
height: 200px;
line-height: 178px;
}
.avatar-uploader .avatar {
width: 200px;
height: 200px;
}
.Tips {
padding-left: 10px;
position: absolute;
left: 100%;
top: 0;
}
</style>

217
anrui-base/anrui-base-ui/src/views/Regist/Organing/index.vue

@ -1,217 +0,0 @@
<template>
<div class="container">
<el-header>
<h3 class="title">河北省计量业务应用平台</h3>
</el-header>
<div class="org-from">
<el-steps :active="active" finish-status="success">
<el-step v-for="(item,index) of stepTitle" :key="index" :title="item" @click.native="handleStep(index)" />
</el-steps>
<!-- 内容展示区 -->
<!-- 第一步 -->
<div class="basicInfo pd-y20 pd-x20" v-if="active ===0">
<keep-alive>
<first :Form='Form1' ref="Form1"></first>
</keep-alive>
</div>
<!-- 第二步 -->
<div class="basicInfo" v-if="active ===1">
<keep-alive>
<second :Form.sync='Form2' ref="Form2"></second>
</keep-alive>
</div>
<!-- 第三 -->
<div class="basicInfo" v-if="active ===2">
<keep-alive>
<third :Form.sync='Form3' :Form1="Form" ref="Form3"></third>
</keep-alive>
</div>
<!-- 第四 -->
<div class="basicInfo" v-if="active ===3">
<keep-alive>
<fourth></fourth>
</keep-alive>
</div>
<div class="deployBtn text-center">
<el-button type="primary" class='bg-primary' style='margin-top: 12px;' @click='prev' v-show='active==1||active==2'>上一步</el-button>
<el-button type="primary" class='bg-primary' style='margin-top: 12px;' @click='next' v-show='active==1||active==0'>下一步</el-button>
<el-button type="primary" class='bg-primary' style='margin-top: 12px;' @click='save' v-show='active==2'>提交</el-button>
</div>
</div>
</div>
</template>
<script>
import {first, second, third, fourth} from './components/index.js'
import paddwordinput from '@/components/passwordSafe/index.vue'
import { saveOrg } from '@/api/orgRegist/index.js'
export default {
components: {first, second, third, fourth},
data() {
return {
active: 0, //
stepSuc: [0],//
stepTitle: ['上传授权证书', '填写单位信息', '填写被授权人信息', '注册完成'], //
Form1:{
attorneyPath: '',
attorneyPathurl: ''
},
Form2:{
businessLicense: ''
},
Form3:{
},
Form: {
}
}
},
mounted() {
},
methods: {
//
handleStep(val) {
if (this.stepSuc.includes(val) === true) {
this.active = val
}
},
prev() {
document.body.scrollTop = document.documentElement.scrollTop = 0;
if (--this.active === 0) {
this.active = 0
}
},
next() {
if( this.active == 0) {
if(!this.Form1.attorneyPathurl) {
this.$message({
type: 'error',
message: '请上传授权委托书!'
});
return
}else {
this.stepSuc.push(++this.active)
}
}
if( this.active == 1) {
let flag = this.$refs['Form2'].validateForm()
console.log(flag)
if(!this.$refs['Form2'].validateForm()) {
this.$message({
type: 'error',
message: '必填项不能为空!'
});
return
}else {
this.stepSuc.push(++this.active)
}
}
this.Form = Object.assign(this.Form1, this.Form2, this.Form3)
document.body.scrollTop = document.documentElement.scrollTop = 0;
},
save(){
if(!this.$refs['Form3'].validateForm()) {
this.$message({
type: 'error',
message: '必填项不能为空!'
});
return
}
let Form = Object.assign(this.Form1, this.Form2, this.Form3)
Form.gisInfo = Form.gisInfo.join()
saveOrg(Form).then(res=>{
console.log(res)
if(res.code == 200){
this.stepSuc.push(++this.active)
}
})
}
}
}
</script>
<style lang="scss" scoped>
@import "~@/styles/variables.scss";
h3{margin: 0;padding: 0;}
.el-header{
width: 100%;
background-color: #0294d7;
color: #fff;
line-height: 60px;
overflow: hidden;
position: fixed;
z-index: 99;
top: 0;
.title{
float: left;
font-size: 26px;
margin-left: 35px;
}
}
.content,.container{
padding: 50px 0;
background-color: #f7f9fc;
}
</style>
<style lang="scss">
.org-from {
width: 1160px;
padding: 30px 0;
margin: 0 auto;
//
.el-step__icon {
width: 40px;
height: 40px;
}
.el-step__icon.is-text {
background-color: #919192;
font-size: 26px;
color: #FFFFFF;
border: 5px solid #DEDEDE;
}
.el-step.is-horizontal .el-step__line {
top: 15px;
height: 10px;
background-color: #D9D9D9;
}
.el-step__title.is-success,
.el-step__title.is-process {
color: #018CD6;
}
.el-step__head.is-success {
border-color: transparent;
}
.el-step__head.is-process .is-text,
.el-step__head.is-success .is-text {
background-color: #018CD6;
}
.el-input__inner:focus {
border: 1px solid #549FD9;
}
.basicInfo .el-form {
width: 860px;
padding-top: 20px;
margin: 0 auto;
}
}
.deployBtn {}
.flex-com {
display: flex;
}
.active-color {
color: #018CD6;
background-color: #018CD6;
}
</style>

293
anrui-base/anrui-base-ui/src/views/Regist/User.vue

@ -1,293 +0,0 @@
<template>
<div class="content">
<el-header>
<h3 class="title">河北省计量业务应用平台</h3>
</el-header>
<div class="user-from">
<el-form :model="userForm" :rules="rules" ref="userForm" label-width="120px" class="demo-userForm">
<el-form-item label="身份证号" prop="idNo">
<el-input v-model="userForm.idNo" @blur="onInputBlur" placeholder="请输入身份证号" :maxlength="18"></el-input>
</el-form-item>
<el-form-item label="真实姓名" prop="name">
<el-input v-model="userForm.name" placeholder="请输入真实姓名"></el-input>
</el-form-item>
<el-form-item label="个人手机号" prop="mobile">
<el-input v-model="userForm.mobile" placeholder="请输入手机号" ></el-input>
<el-button class="Tips" type="text" :disabled='isDisabled' @click.stop.prevent="getcode()">点击获取验证码 {{downTime ? downTime+'s':''}}</el-button>
</el-form-item>
<el-form-item label="手机验证码" prop="verificationCode">
<el-input v-model="userForm.verificationCode" placeholder="请输入验证码"></el-input>
</el-form-item>
<el-form-item label="用户名" prop="userName">
<el-input v-model="userForm.userName" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="密码" prop="password">
<paddwordinput v-model="userForm.password" placeholder="请输入密码" :pastips='true' :maxlength="10"></paddwordinput>
<el-button class="Tips" type="text">密码必须为8至10位大小写字母和数字组合</el-button>
</el-form-item>
<el-form-item label="确认密码" prop="rePassword">
<paddwordinput v-model="userForm.rePassword" placeholder="请再次输入密码" :maxlength="10"></paddwordinput>
</el-form-item>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="身份证正面照" prop="idFrontPhoto">
<UploadImg @imgUrl="FrontPhotoUrl"></UploadImg>
<el-input v-model="userForm.idFrontPhoto" v-show="false"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证背面照" prop="idBackPhoto">
<UploadImg @imgUrl="BackPhotoUrl"></UploadImg>
<el-input v-model="userForm.idBackPhoto" v-show="false"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item style="text-align: center;">
<el-button type="primary" @click="submitForm('userForm')" :disabled="btnDisabled">注册</el-button>
<el-button @click="resetForm('userForm')">关闭</el-button>
</el-form-item>
</el-form>
</div>
</div>
</template>
<script>
import {
registUser,
getVerificationCode
} from '@/api/user1.js'
import qs from 'qs'
import UploadImg from '@/components/uploadFile/index.vue'
import paddwordinput from '@/components/passwordSafe/index.vue'
export default {
components:{ UploadImg, paddwordinput },
data() {
var validatorPhone = function (rule, value, callback) {
if (value === '') {
callback(new Error('手机号不能为空'))
} else if (!/^1\d{10}$/.test(value)) {
callback(new Error('手机号格式错误'))
} else {
callback()
}
}
var validatePass2 = (rule, value, callback) => {
if (value === '') {
callback(new Error('请再次输入密码'))
// password
} else if (value !== this.userForm.password) {
callback(new Error('两次输入密码不一致!'))
} else {
callback()
}
}
return {
downTime: '',
isDisabled: false,
userForm: {
name: '',
userName: '', //
password: '',
rePassword: '',
mobile: '', //
verificationCode: '',
idNo: '',
idBackPhoto: '', //
idFrontPhoto: ''
},
btnDisabled: false,
rule: [{required: true, message: '不能为空', trigger: 'blur'}],
rules: {
idNo: [
{ required: true, message: '请输入身份证号', trigger: 'blur' },
{ pattern: /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/,
message: '身份证号格式错误', trigger: 'blur' ,
}
],
name: [
{ required: true, message: '请输入真实姓名', trigger: 'blur' }
],
mobile: [
{ required: true, validator: validatorPhone, trigger: 'blur' }
],
verificationCode: [
{ required: true, message: '请输入手机验证码', trigger: 'blur' }
],
userName: [
{ required: true, message: '请输入身份证号', trigger: 'blur' }
],
password: [
{ required: true, message: '请输入密码', trigger: 'blur' },
{ min: 8, max: 10, message: '长度在 8 到 10 个字符大小写字母和数字组合', trigger: 'blur' }
],
rePassword: [
{ required: true, validator: validatePass2, trigger: 'blur' }
],
idFrontPhoto: [
{ required: true, message: '请输入上传身份证', trigger: 'blur' }
],
idBackPhoto: [
{ required: true, message: '请输入上传身份证', trigger: 'blur' }
],
}
};
},
methods: {
//
getcode() {
let _this = this
if (!/^1\d{10}$/.test(_this.userForm.mobile)) {
this.$message({
type: 'error',
message: '手机号格式错误!'
});
}else {
_this.downTime = 60
let timeInterval = null
_this.isDisabled = true
timeInterval = setInterval(()=>{
--_this.downTime
if(_this.downTime == 0){
clearInterval(timeInterval)
_this.downTime = '';
_this.isDisabled = false
}
},1000)
getVerificationCode({
mobile: _this.userForm.mobile
}).then(res =>{
// this.isDisabled = false
})
}
},
FrontPhotoUrl(url){
this.userForm.idFrontPhoto = url.filePath
},
BackPhotoUrl(url){
this.userForm.idBackPhoto = url.filePath
},
submitForm(formName) {
this.btnDisabled = true
this.$refs[formName].validate((valid) => {
if (valid) {
registUser(qs.stringify(this.userForm)).then((res) => {
this.btnDisabled = false
this.$confirm('注册成功, 是否关闭页面?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'success'
}).then(() => {
window.close();
})
}).catch(() => {
this.btnDisabled = false
})
} else {
return false;
}
});
},
resetForm(formName) {
window.close();
this.$refs[formName].resetFields();
},
onInputBlur() { //
this.userForm.userName = this.userForm.idNo
},
}
}
</script>
<style lang="scss" scoped>
@import "~@/styles/variables.scss";
h3{margin: 0;padding: 0;}
.el-header{
width: 100%;
background-color: #0294d7;
color: #fff;
line-height: 60px;
overflow: hidden;
position: fixed;
z-index: 99;
top: 0;
.title{
float: left;
font-size: 26px;
margin-left: 35px;
}
}
.content{
padding: 50px 0;
background-color: #f7f9fc;
}
</style>
<style lang="scss">
@import "~@/styles/variables.scss";
.opcity{
opacity: 1 !important;
}
.user-from {
width: 860px;
padding-top: 20px;
margin: 0 auto;
.el-input__inner:focus {
border: 1px solid $border-color;
}
.Tips {
padding-left: 10px;
position: absolute;
left: 100%;
top: 0;
}
.pasTips {
display: flex;
justify-content: center;
span {
display: inline-block;
margin: 15px 10px 0 10px;
padding: 0 30px;
line-height: 30px;
border-top: 3px solid red;
opacity: 0.3;
}
span:nth-child(2) {
border-color: blue;
}
span:nth-child(3) {
border-color: green;
}
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 200px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
}
</style>

501
anrui-base/anrui-base-ui/src/views/RoleAdminister/RoleAdminister.vue

@ -1,501 +0,0 @@
<template>
<div>
<el-tabs class="my-tabs" v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="角色列表" name="roleList">
<div class="container">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="search" label-width="80px">
<el-row :gutter="20">
<el-col :span="16">
<el-form-item label="角色名称">
<el-input v-model="search.name" clearable></el-input>
</el-form-item>
<el-button @click="getroleOrgList(1)">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- table -->
<el-table :data="roleTable" border style="width: 100%;">
<el-table-column label="序号" width="50px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" width="440px" align="center">
<template slot-scope="scope">
<el-button @click="sourceMenus(scope.row)" type="primary" size="mini">资源授权</el-button>
<el-button @click="funMenus(scope.row)" type="primary" size="mini">功能授权</el-button>
<el-button @click="roleMenus(scope.row)" type="primary" size="mini">菜单授权</el-button>
<el-button @click="editRow(scope.row)" type="primary" size="mini">修改</el-button>
<el-button @click="delRow(scope.row)" type="danger" size="mini">删除</el-button>
</template>
</el-table-column>
<el-table-column prop="name" label="角色名称" width="220px" align="center">
</el-table-column>
<el-table-column prop="remarks" label="备注" align="center">
</el-table-column>
<el-table-column prop="isEnableName" label="是否可用" align="center"></el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination" />
<!-- 编辑角色信息 -->
<el-dialog :title="dialogTitle + '角色信息'" :visible.sync="editDialog" width="40%">
<table class="e-table" cellspacing="0">
<tr>
<td>角色名称</td>
<td><el-input v-model="roleForm.name"></el-input></td>
</tr>
<tr>
<td>编码</td>
<td><el-input v-model="roleForm.code"></el-input></td>
</tr>
<tr>
<td>排序</td>
<td><el-input v-model="roleForm.sort"></el-input></td>
</tr>
<tr>
<td>备注</td>
<td>
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6}" v-model="roleForm.remarks"></el-input>
</td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="editDialog = false"> </el-button>
</div>
</el-dialog>
<!-- 资源授权 -->
<el-dialog title="资源授权" :visible.sync="sourceDialog" width="50%">
<table class="e-table" cellspacing="0">
<tr>
<td>角色名称</td>
<td><el-input v-model="roleForm.name" readonly></el-input></td>
</tr>
<tr>
<td>可操作资源列表</td>
<td>
<el-tree v-loading="loading" :data="treedata" ref="sourceTree" show-checkbox accordion node-key="sid"
:default-expand-all='true'
:default-checked-keys="checkedId" :props="sourcedefaultProps" @check-change="checkchange">
</el-tree>
</td>
</tr>
</table>
<div slot="footer" class="text-center">
<el-button type="primary" @click="sourceSave"> </el-button>
<el-button @click="sourceDialog = false"> </el-button>
</div>
</el-dialog>
<!-- 功能授权 -->
<el-dialog title="功能授权" :visible.sync="funDialog" width="50%">
<table class="e-table" cellspacing="0">
<tr>
<td>角色名称</td>
<td><el-input v-model="roleForm.name" readonly></el-input></td>
</tr>
<tr>
<td>可操作功能列表</td>
<td>
<el-tree v-loading="loading" :data="treedata" ref="funTree" show-checkbox accordion node-key="sid"
:default-expand-all='true'
:default-checked-keys="checkedId" :props="defaultProps" @check-change="checkchange">
</el-tree>
</td>
</tr>
</table>
<div slot="footer" class="text-center">
<el-button type="primary" @click="funSave"> </el-button>
<el-button @click="funDialog = false"> </el-button>
</div>
</el-dialog>
<!-- 菜单授权 -->
<el-dialog title="菜单授权" :visible.sync="roleDialog" width="50%">
<table class="e-table" cellspacing="0">
<tr>
<td>角色名称</td>
<td><el-input v-model="roleForm.name" readonly></el-input></td>
</tr>
<tr>
<td>可操作菜单列表</td>
<td>
<el-tree v-loading="loading" :data="treedata" ref="Tree" show-checkbox accordion node-key="sid"
:default-expand-all='true'
:default-checked-keys="checkedId" :props="defaultProps" @check-change="checkchange">
</el-tree>
</td>
</tr>
</table>
<div slot="footer" class="text-center">
<el-button type="primary" @click="getCheckedKeys"> </el-button>
<el-button @click="roleDialog = false"> </el-button>
</div>
</el-dialog>
</div>
</el-tab-pane>
<el-tab-pane label="新增角色" name="addrole">
<el-card class="box-card">
<table class="e-table" cellspacing="0">
<tr>
<td>角色名称</td>
<td>
<el-input v-model="roleForm.name"></el-input>
</td>
</tr>
<tr>
<td>编码</td>
<td>
<el-input v-model="roleForm.code"></el-input>
</td>
</tr>
<tr>
<td>排序</td>
<td>
<el-input v-model="roleForm.sort"></el-input>
</td>
</tr>
<tr>
<td>备注</td>
<td>
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6}" v-model="roleForm.remarks"></el-input>
</td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()"> </el-button>
</div>
</el-card>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import {
roleOrgList,
saveOrgroles,
putOrgroles,
delOrgroles,
setRoleEnable,
roleMenuTree,
saveorgrolemenus,
sourceMenuTree,
saveSource,
funMenuTree,
savefunMenu
} from '@/api/system/roleAdminister/index.js'
export default {
data() {
return {
dialogTitle: '',
activeName: 'roleList',
roleForm: {
name:'',
code:'',
sort:'',
type:'2',
remarks:''
},
formBackup: {},
search: {
name: ''
},
page: {
total: 0, //
current: 1, //
size: 10, //
},
roleTable: [],
editDialog: false,
//
loading: false,
defaultProps: {
children: 'children',
label: 'name'
},
checkedId: [], //
treedata: [], //
chace: [],
roleDialog: false,
Thisrow: {},
//
sourceDialog:false,
sourcetreedata:[],
sourcedefaultProps: {
children: 'children',
label: 'sourceName'
},
//
funDialog:false
};
},
mounted() {
this.formBackup = Object.assign({}, this.roleForm),
this.getroleOrgList()
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getroleOrgList()
},
//
getroleOrgList(flag) {
if(flag == '1'){
this.page.current = 1
}
let params = this.page
params.params = this.search
roleOrgList(params).then(res => {
this.page.total = res.data.total
this.roleTable = res.data.records
for(let i=0;i<this.roleTable.length;i++){
if(this.roleTable[i].isEnable == '1'){
this.roleTable[i].isEnableName = '是'
}else{
this.roleTable[i].isEnableName = '否'
}
}
})
},
handleClick(tab, event) {
if(tab.name == 'addrole'){
this.dialogTitle = '新增'
this.roleForm = Object.assign({}, this.formBackup)
}else{
this.getroleOrgList()
}
},
editRow(row) {
this.dialogTitle = '编辑'
this.editDialog = true
this.roleForm = Object.assign({}, row)
},
delRow(row) {
this.$confirm('确定要删除该角色吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delOrgroles({
sid: row.sid
}).then(res => {
this.getroleOrgList()
this.$message({
type: 'success',
message: '删除成功!'
});
})
})
},
//
save() {
if (this.roleForm.sid) {
putOrgroles(this.roleForm).then(res => {
if (res.code == '200') {
this.getroleOrgList()
this.editDialog = false
this.$message({
message: res.msg,
type: 'success'
})
}
})
} else {
saveOrgroles(this.roleForm).then(res => {
if (res.code == '200') {
this.$message({
message: res.msg,
type: 'success'
})
this.activeName = "roleList"
this.getroleOrgList()
}
})
}
},
//
enabledChange(value, row) {
setRoleEnable({
isEnable: value,
sid: row.sid
}).then(res => {
this.$message({
type: 'success',
message: res.msg
});
})
},
sourceMenus(row){
this.sourceDialog = true
this.checkedId = []
this.roleForm.name = row.name
this.Thisrow = row
this.loading = true
let params = {
roleSid: row.sid
}
sourceMenuTree(params).then(res => {
let data1 = res.data
for(let i=0;i<data1.length;i++){
if(data1[i].checked == 0){
this.checkedId.push(data1[i].sid)
}
}
this.treedata = res.data
this.loading = false
})
},
funMenus(row){
this.funDialog = true
this.checkedId = []
this.roleForm.name = row.name
this.Thisrow = row
this.loading = true
let params = {
roleSid: row.sid
}
funMenuTree(params).then(res => {
let data1 = res.data
for(let i=0;i<data1.length;i++){
if(data1[i].checked == 0){
this.checkedId.push(data1[i].sid)
}
for(let j=0;j<data1[i].children.length;j++){
let data2 = data1[i].children
if(data2[j].checked == 0){
this.checkedId.push(data2[j].sid)
}
for(let k=0;k<data2[j].children.length;k++){
let data3 = data2[j].children
if(data3[k].checked == 0){
this.checkedId.push(data3[k].sid)
}
}
}
}
this.treedata = res.data
this.loading = false
})
},
//
roleMenus(row) {
this.roleDialog = true
this.checkedId = []
this.roleForm.name = row.name
this.Thisrow = row
this.loading = true
let params = {
roleSid: row.sid
}
roleMenuTree(params).then(res => {
let data1 = res.data
for(let i=0;i<data1.length;i++){
if(data1[i].checked == 0){
this.checkedId.push(data1[i].sid)
}
for(let j=0;j<data1[i].children.length;j++){
let data2 = data1[i].children
if(data2[j].checked == 0){
this.checkedId.push(data2[j].sid)
}
for(let k=0;k<data2[j].children.length;k++){
let data3 = data2[j].children
if(data3[k].checked == 0){
this.checkedId.push(data3[k].sid)
}
}
}
}
this.treedata = res.data
this.getTreeParentNode(res.data, this.checkedId)
this.getTreeParentid(res.data)
this.loading = false
})
},
//
getTreeParentNode(menus, ids) {
for (var i = 0; i < menus.length; i++) {
if (menus[i].children && menus[i].children.length != 0) {
this.getTreeParentNode(menus[i].children, ids)
} else if (menus[i].isCheck) {
ids.push(menus[i].sid)
}
}
},
// ID
getTreeParentid(menus) {
for (var i = 0; i < menus.length; i++) {
this.chace.push(menus[i].sid)
}
},
//
sourceSave(){
let _this = this
let sourceMenus = this.$refs.sourceTree.getCheckedKeys()
let params={
sorceSid:sourceMenus.toString(),
roleSid:_this.Thisrow.sid
}
saveSource(params).then(res => {
this.sourceDialog = false
this.$message({
message: res.msg,
type: 'success'
})
})
},
//
funSave(){
let _this = this
let funMenus = this.$refs.funTree.getCheckedKeys()
let params={
functionSid:funMenus.toString(),
roleSid:_this.Thisrow.sid
}
savefunMenu(params).then(res => {
this.funDialog = false
this.$message({
message: res.msg,
type: 'success'
})
})
},
//
getCheckedKeys() {
let _this = this
let roleMenus = []
roleMenus = this.$refs.Tree.getCheckedKeys()
// let parentTrue = this.$refs.Tree.getHalfCheckedKeys()
// for (let i = 0; i < parentTrue.length; i++) {
// for (let j = 0; j < this.chace.length; j++) {
// if (parentTrue[i] == this.chace[j]) {
// parentTrue.splice(i, 1);
// }
// }
// }
let params={
menuSid:roleMenus.toString(),
roleSid:_this.Thisrow.sid
}
saveorgrolemenus(params).then(res => {
this.roleDialog = false
this.$message({
message: res.msg,
type: 'success'
})
})
},
checkchange(){
}
}
};
</script>
<style scoped="scoped">
.my-tabs{
margin-top: 10px;
}
</style>

77
anrui-base/anrui-base-ui/src/views/basefkManage/basefkManage.vue

@ -1,77 +0,0 @@
<template>
<div>
<el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column label="日期" width="120">
<template slot-scope="scope">{{ scope.row.date }}</template>
</el-table-column>
<el-table-column prop="name" label="姓名" width="120">
</el-table-column>
<el-table-column prop="address" label="地址" show-overflow-tooltip>
</el-table-column>
</el-table>
<div style="margin-top: 20px">
<el-button @click="toggleSelection([tableData[1], tableData[2]])">切换第二第三行的选中状态</el-button>
<el-button @click="toggleSelection()">取消选择</el-button>
</div>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [{
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-08',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-06',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-07',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}],
multipleSelection: []
}
},
methods: {
toggleSelection(rows) {
if (rows) {
rows.forEach(row => {
this.$refs.multipleTable.toggleRowSelection(row);
});
} else {
this.$refs.multipleTable.clearSelection();
}
},
handleSelectionChange(val) {
this.multipleSelection = val;
}
}
}
</script>

217
anrui-base/anrui-base-ui/src/views/dictManage/dictCommon.vue

@ -1,217 +0,0 @@
<template>
<div class="container">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="14">
<el-form-item label="数据value">
<el-input v-model="page.params.dictValue" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item style="float: right;">
<el-button type="primary" @click="onSearch()"> </el-button>
<el-button @click="add()"> </el-button>
<el-button @click="closeDict"> </el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-table :data="tableData" border style="width: 100%;">
<el-table-column label="序号" width="50px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" align="center" width="280px">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="add(scope.row)">
添加子级
</el-button>
<el-button type="primary" size="mini" @click="editRow(scope.row)">
修改
</el-button>
<el-button type="danger" size="mini" @click.native.prevent="deleteRow(scope.row)">
删除
</el-button>
</template>
</el-table-column>
<el-table-column prop="dictType" label="字典分类编码" align="center">
</el-table-column>
<el-table-column prop="dictKey" label="数据key" align="center">
</el-table-column>
<el-table-column prop="dictValue" label="数据value" align="center">
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
<!-- 分类编辑 -->
<el-dialog :title="dialogTitle + '字典分类'" :visible.sync="editDialog" width="50%">
<table class="e-table" cellspacing="0">
<tr>
<td>字典分类编码</td>
<td>
{{form.dictType}}
</td>
</tr>
<tr>
<td>数据key</td>
<td>
<el-input v-model="form.dictKey"></el-input>
</td>
</tr>
<tr>
<td>数据value</td>
<td>
<el-input v-model="form.dictValue"></el-input>
</td>
</tr>
</table>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="editDialog = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import axios from 'axios'
import { dictCommonList, savedictCommon, putdictCommon, deldictCommon } from '@/api/system/dictType/dictCommon.js'
export default {
data() {
return {
editDialog: false,
dialogTitle: '',
form: {
dictKey: '',
dictType: '',
dictValue: '',
parentSid: ''
},
formBackup: Object.assign({}, this.form),
page: {
total: 0, //
current: 1, //
size: 10, //
params:{
dictKey: '',
dictType: '',
dictValue: '',
parentSid: '',
sidPath: '',
}
},
tableData: []
}
},
props:['dictData'],
watch:{
dictData: {
handler(val) {
this.form.parentSid = val.sid
this.form.dictType = val.dictType
this.page.params.parentSid = val.sid
this.page.params.dictType = val.dictType
this.getPageList(this.page)
},
deep: true,
},
},
mounted() {
// if (this.$route.query.sid) {
// sessionStorage.setItem('dictType', this.$route.query.dictType);
// sessionStorage.setItem('parentSid', this.$route.query.sid);
// this.page.params.dictType = this.$route.query.dictType
// this.page.params.parentSid = this.$route.query.sid
// this.form.dictType = this.$route.query.dictType;
// this.form.parentSid = this.$route.query.sid
// } else {
// this.page.params.dictType = sessionStorage.getItem('dictType');
// this.page.params.parentSid = sessionStorage.getItem('parentSid');
// this.form.dictType = sessionStorage.getItem('dictType');
// this.form.parentSid = sessionStorage.getItem('parentSid');
// }
this.getPageList(this.page)
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getPageList(this.page)
},
onSearch() { //
this.getPageList(this.page)
},
resetSearch(){ //
this.getPageList(this.page)
},
getPageList(data){ //
dictCommonList(data).then((res)=>{
this.tableData = res.data.records
this.page.total = res.data.total
})
},
add(row){
if(row){
this.form.dictType = row.dictType
}else{
// this.form = Object.assign({}, this.formBackup)
// this.form.dictType = this.$route.query.dictType
}
this.dialogTitle = '新增'
this.editDialog = true
},
closeDict(){
this.$emit('show',false)
},
editRow(row) {
this.dialogTitle = '编辑'
this.editDialog = true
this.form = Object.assign({}, row)
},
save(){
this.form.parentSid = this.$route.query.sid
if(this.form.sid){
putdictCommon(this.form).then(res => {
this.editDialog = false
this.getPageList(this.page)
this.$message({
message: res.msg,
type: 'success'
})
})
}else{
savedictCommon(this.form).then(res => {
this.editDialog = false
this.getPageList(this.page)
this.$message({
message: res.msg,
type: 'success'
})
})
}
},
deleteRow(row) {
this.$confirm('确定要删除该数据吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deldictCommon({sid: row.sid}).then(res => {
this.getPageList(this.page)
this.$message({
type: 'success',
message: '删除成功!'
});
})
})
},
},
}
</script>
<style lang="scss">
</style>

200
anrui-base/anrui-base-ui/src/views/dictManage/dictManage.vue

@ -1,200 +0,0 @@
<template>
<div class="container">
<div v-show="!commonShow">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="14">
<el-form-item label="分类名称">
<el-input v-model="page.params.dictTypeName"></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item style="float: right;">
<el-button type="primary" @click="onSearch()">查询</el-button>
<!--<el-button @click="add()">添加</el-button>-->
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-table :data="tableData" border style="width: 100%;">
<el-table-column label="序号" width="50px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" align="center" width="220px">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="guanli(scope.row)">
管理
</el-button>
<el-button type="primary" size="mini" @click="editRow(scope.row)">
修改
</el-button>
<el-button type="danger" size="mini" @click.native.prevent="deleteRow(scope.row)">
删除
</el-button>
</template>
</el-table-column>
<el-table-column prop="dictTypeCode" label="字典分类编码" align="center">
</el-table-column>
<el-table-column prop="dictTypeName" label="字典分类名称" align="center">
</el-table-column>
<el-table-column prop="remarks" label="说明" align="center">
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
<!-- 分类编辑 -->
<el-dialog :title="dialogTitle + '字典分类'" :visible.sync="editDialog" width="50%">
<table class="e-table" cellspacing="0">
<tr>
<td>数据字典code</td>
<td>
<el-input v-model="form.dictTypeCode"></el-input>
</td>
</tr>
<tr>
<td>数据分类名称</td>
<td>
<el-input v-model="form.dictTypeName"></el-input>
</td>
</tr>
<tr>
<td>说明</td>
<td>
<el-input type="textarea" v-model="form.remarks"></el-input>
</td>
</tr>
</table>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="editDialog = false"> </el-button>
</span>
</el-dialog>
</div>
<dict-common @show = 'isShow' :dictData ='dictData' v-show="commonShow"></dict-common>
</div>
</template>
<script>
import { pageList, saveDictType, putDictType, delDictType } from '@/api/system/dictType/index.js'
import dictCommon from './dictCommon.vue'
export default {
data() {
return {
editDialog: false,
dialogTitle: '',
form: {},
formBackup: Object.assign({}, this.form),
page: {
total: 0, //
current: 1, //
size: 10, //
params:{
dictTypeName: '',
dictTypeCode: ''
}
},
tableData: [],
commonShow:false,
dictData:{}
}
},
components:{
dictCommon
},
mounted() {
this.getPageList(this.page)
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getPageList(this.page)
},
onSearch() { //
this.getPageList(this.page)
},
resetSearch(){ //
this.getPageList(this.page)
},
getPageList(data){ //
pageList(data).then((res)=>{
this.tableData = res.data.records
this.page.total = res.data.total
})
},
// add(){
// this.dialogTitle = ''
// this.editDialog = true
// this.form = Object.assign({}, this.formBackup)
// },
editRow(row) {
this.dialogTitle = '编辑'
this.editDialog = true
this.form = Object.assign({}, row)
},
save(){
if(this.form.sid){
putDictType(this.form).then(res => {
this.editDialog = false
this.getPageList(this.page)
this.$message({
message: res.msg,
type: 'success'
})
})
}else{
saveDictType(this.form).then(res => {
this.editDialog = false
this.getPageList(this.page)
this.$message({
message: res.msg,
type: 'success'
})
})
}
},
deleteRow(row) {
this.$confirm('确定要删除该条数据吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delDictType({sid: row.sid}).then(res => {
this.getPageList(this.page)
this.$message({
type: 'success',
message: '删除成功!'
});
})
})
},
guanli(row){
this.dictData={
sid: row.sid,
dictType: row.dictTypeCode
}
this.commonShow = true
// this.$router.push({
// path: '/dictCommon',
// name:'',
// query: {
// sid: row.sid,
// dictType: row.dictTypeCode
// }
// })
},
isShow(val){
this.commonShow = val
},
},
}
</script>
<style scoped="scoped">
.my-tabs{
margin-top: 10px;
}
</style>

349
anrui-base/anrui-base-ui/src/views/functional/functional.vue

@ -1,349 +0,0 @@
<template>
<div>
<el-tabs class="my-tabs" v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="功能列表" name="roleList">
<div class="container">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="search" label-width="80px">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="功能名称">
<el-input v-model="search.name" clearable></el-input>
</el-form-item>
<el-button @click="getList">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- table -->
<el-table :data="roleTable" border style="width: 100%;"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
row-key="sid"
ref="multipleTable"
header-cell-class-name="table-header"
>
<!--<el-table-column label="序号" width="50px" type="index" align="center"></el-table-column>-->
<el-table-column prop="name" label="功能名称" width="200px" align="left"></el-table-column>
<el-table-column label="操作" width="280px" align="center">
<template slot-scope="scope">
<el-button @click="addChildren(scope.row)" type="primary" size="mini"> 添加子功能 </el-button>
<el-button @click="editRow(scope.row)" v-if="scope.row.isSource == '0'" type="primary" size="mini"> 修改 </el-button>
<el-button @click="delRow(scope.row)" v-if="scope.row.isSource == '0'" type="danger" size="mini"> 删除 </el-button>
</template>
</el-table-column>
<el-table-column prop="actionUrl" label="url地址" width="200" align="center"></el-table-column>
<!--<el-table-column prop="sourceName" label="模块名称" align="center"></el-table-column>-->
<el-table-column prop="isEnable" label="是否可用" align="center">
<template slot-scope="scope">
<el-switch
v-model="scope.row.isEnable"
active-value='1'
inactive-value='0'
active-color="#13ce66"
inactive-color="#ff4949"
@change="enabledChange($event,scope.row)">
</el-switch>
</template>
</el-table-column>
</el-table>
<!--<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination" />-->
<!-- 编辑功能信息 -->
<el-dialog :title="dialogTitle + '功能信息'" :visible.sync="editDialog" width="40%">
<table class="e-table" cellspacing="0">
<tr>
<td>上级功能</td>
<td><el-input v-model="roleForm.parentName" :disabled="true"></el-input></td>
</tr>
<tr>
<td>功能名称</td>
<td><el-input v-model="roleForm.name"></el-input></td>
</tr>
<tr>
<td>url地址</td>
<td><el-input v-model="roleForm.actionUrl"></el-input></td>
</tr>
<tr>
<td>模块名称</td>
<td>
<el-select v-model="roleForm.sourceSid">
<el-option
v-for="(item, i) in sourceNameData"
:key="i"
:label="item.sourceName"
:value="item.sid">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td>终端权限</td>
<td>
<el-checkbox-group v-model="phoneFunction">
<!--<el-checkbox v-for="(item,index) in phoneFunctionData" :label="item.name"></el-checkbox>-->
<el-checkbox label="0" name="type">pc端</el-checkbox>
<el-checkbox label="1" name="type">移动端</el-checkbox>
</el-checkbox-group>
</td>
</tr>
<tr>
<td>说明</td>
<td> <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6}" v-model="roleForm.remarks"></el-input></td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="editDialog = false"> </el-button>
</div>
</el-dialog>
</div>
</el-tab-pane>
<el-tab-pane label="新增功能" name="addrole">
<el-card class="box-card">
<table class="e-table" cellspacing="0">
<tr>
<td>上级功能</td>
<td><el-input v-model="roleForm.parentName" :disabled="true"></el-input></td>
</tr>
<tr>
<td>功能名称</td>
<td><el-input v-model="roleForm.name"></el-input></td>
</tr>
<tr>
<td>url地址</td>
<td><el-input v-model="roleForm.actionUrl"></el-input></td>
</tr>
<tr>
<td>模块名称</td>
<td>
<el-select v-model="roleForm.sourceSid">
<el-option
v-for="(item, i) in sourceNameData"
:key="i"
:label="item.sourceName"
:value="item.sid">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td>终端权限</td>
<td>
<el-checkbox-group v-model="phoneFunction">
<!--<el-checkbox v-for="(item,index) in phoneFunctionData" :label="item.name"></el-checkbox>-->
<el-checkbox label="0" name="type">pc端</el-checkbox>
<el-checkbox label="1" name="type">移动端</el-checkbox>
</el-checkbox-group>
</td>
</tr>
<tr>
<td>说明</td>
<td> <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6}" v-model="roleForm.remarks"></el-input></td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()"> </el-button>
</div>
</el-card>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import {
pageList,
savePost,
sourceList,
delOrgroles,
getSingleData,
putOrgroles,
IsEnable
} from '@/api/system/functional/functional.js'
export default {
data() {
return {
dialogTitle: '',
activeName: 'roleList',
roleForm: {
sid:'',
parentName:'顶级菜单',
parentSid:'0',
name:'',
actionUrl:'',
// controllerName:'',
sourceSid:'',
phoneFunction:'',
remarks: "",
},
phoneFunction:[],
phoneFunctionData:[{
name:'PC端',
id:'0'
},{
name:'移动端',
id:'1'
}],
//
sourceNameData:[],
formBackup: {},
search: {
name: ''
},
orgName:'',
roleTable: [],
editDialog: false,
//
loading: false,
defaultProps: {
children: 'children',
label: 'name'
},
orgdata:[], //
checkedId: [],
treedata: [],
// chace: [],
// roleDialog: false,
// Thisrow: {},
// orgListAll:[]
};
},
mounted() {
this.formBackup = Object.assign({}, this.roleForm),
this.getList()
this.getsourceList()
},
methods: {
//
getList() {
// let params = this.search
let params={
name: this.search.name
}
pageList(params).then(res => {
this.roleTable = res.data
console.log(res.data)
})
},
//
getsourceList(){
let params={}
sourceList(params).then(res => {
this.sourceNameData = res.data
this.loading = false
})
},
handleClick(tab, event) {
if(tab.name == 'addrole'){
this.dialogTitle = '新增'
this.roleForm = Object.assign({}, this.formBackup)
}else{
this.getList()
}
},
editRow(row) {
this.dialogTitle = '编辑'
this.editDialog = true
this.roleForm = Object.assign({}, row)
getSingleData({id: row.sid }).then(res => {
this.roleForm.parentName= res.data.parentName
this.roleForm.sourceSid= res.data.sourceSid
this.roleForm.sourceName= ''
this.phoneFunction = res.data.phoneFunction.split(",")
})
},
addChildren(row){
this.refersh()
this.activeName= 'addrole'
this.roleForm.parentName = row.name
this.roleForm.parentSid = row.sid
if(row.isSource == '1'){
this.roleForm.parentName = '顶级菜单'
this.roleForm.parentSid = 0
}else{
this.roleForm.parentName = row.name
this.roleForm.parentSid = row.sid
}
},
delRow(row) {
this.$confirm('确定要删除该功能吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delOrgroles({
sid: row.sid
}).then(res => {
this.getList()
this.$message({
type: 'success',
message: '删除成功!'
});
})
})
},
//
save() {
this.roleForm.phoneFunction = this.phoneFunction.toString()
if (this.roleForm.sid) {
putOrgroles(this.roleForm).then(res => {
if (res.code == '200') {
this.getList()
this.editDialog = false
this.$message({
message: res.msg,
type: 'success'
})
}
})
} else {
savePost(this.roleForm).then(res => {
if (res.code == '200') {
this.getList()
this.activeName = "roleList"
this.$message({
message: res.msg,
type: 'success'
})
}
})
}
},
refersh(){
this.roleForm= {
parentName:'顶级菜单',
parentSid:'0',
name:'',
actionUrl:'',
sourceSid:'',
phoneFunction:'',
remarks: "",
}
},
//
enabledChange(value, row) {
IsEnable({
sid: row.sid
}).then(res => {
this.$message({
type: 'success',
message: res.msg
});
})
}
}
};
</script>
<style scoped="scoped">
.el-select > .el-input {
display: block;
width: 300px;
}
.my-tabs{
margin-top: 10px;
}
</style>

2
anrui-base/anrui-base-ui/src/views/index.vue

@ -6,7 +6,7 @@
</template>
<script>
import {login1} from '@/api/system/user/login.js'
// import {login1} from '@/api/system/user/login.js'
export default {
name: '',
data() {

212
anrui-base/anrui-base-ui/src/views/logManage/logManage.vue

@ -1,212 +0,0 @@
<template>
<div class="container">
<div class="tab-header">
<el-form :inline="true" :model="form" class="demo-form-inline">
<el-row :gutter="20">
<el-col :span="16">
<el-form-item label="日志类别">
<el-input v-model="page.params.eventName" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item style="float: right;">
<el-button type="primary" @click="getPageList(page)">查询</el-button>
<el-button type="primary" @click="exportExcel" >导出日志</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-table :data="tableData" border style="width: 100%;">
<el-table-column label="序号" type="index" align="center" width="70px">
</el-table-column>
<el-table-column prop="eventName" label="日志类别" align="center">
</el-table-column>
<el-table-column prop="eventContent" label="日志内容" align="center">
</el-table-column>
<el-table-column prop="userName" label="用户名" align="center">
</el-table-column>
<el-table-column prop="userIp" label="IP地址" align="center">
</el-table-column>
<el-table-column prop="timestamp" label="记录时间" align="center">
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
</div>
</template>
<script>
import { logPageList } from '@/api/system/log/index.js'
import axios from 'axios'
import { getStorage } from '@/utils/auth'
export default {
data() {
return {
radio: '1',
dialogVisible: false,
disabled: false,
form: {},
page: {
total: 0, //
current: 1, //
size: 10, //
params: {
eventName: ''
}
},
tableData: []
}
},
mounted() {
this.getPageList(this.page)
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getPageList(this.page)
},
onSearch() { //
this.getPageList(this.page)
},
resetSearch(){ //
this.page = this.pageBackup
},
getPageList(data){ //
logPageList(data).then((res)=>{
this.tableData = res.data.records
this.page.total = res.data.total
})
},
exportExcel(){ //
axios({
method: 'get',
url: 'api/system/v1/systemlogs/exportLogExcel',
params: this.page,
responseType: 'blob',
headers:{'token': getStorage()}
}).then(response => {
let blob = new Blob([response.data], {type:"application/vnd.ms-excel"});
if (!!window.ActiveXObject || "ActiveXObject" in window) {
window.navigator.msSaveOrOpenBlob(blob, '日志');
} else {
let link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = "日志";
link.click();
}
}).catch((error) => {
})
}
},
}
</script>
<style scoped="scoped" lang="scss">
.zcxx {
color: #000;
width: 98%;
margin: 0px auto 30px;
background-color: #f7f9fc;
border: 1px solid #e6e9f0;
height: 60px;
line-height: 60px;
p {
font-size: 18px;
float: left;
margin-top: 0px;
margin-left: 10px;
font-weight: bold;
width: 300px;
}
.el-button {
float: right;
margin-top: 13px;
border: none;
width: 80px;
padding: 0;
text-align: center;
padding-top: 10px;
padding-bottom: 10px;
}
}
table {
width: 98%;
margin: 0 auto;
tr {
height: 45px;
vertical-align: top;
}
td:first-child {
text-align: right;
width: 20%;
}
td:nth-child(2) {
padding-left: 30px;
width: 23%;
}
td:nth-child(3) {
text-align: right;
width: 20%;
}
td:nth-child(4) {
padding-left: 30px;
}
span {
font-size: 14px;
color: #015bff;
margin-left: 20px;
}
.sfz {
border: 1px solid #e6e9f0;
width: 45%;
}
#bei {
width: 21.4%;
}
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 148px;
height: 148px;
line-height: 148px;
text-align: center;
}
.avatar {
width: 148px;
height: 148px;
display: block;
}
</style>

558
anrui-base/anrui-base-ui/src/views/menuManage/menuManage.vue

@ -1,558 +0,0 @@
<template>
<el-tabs class="my-tabs" v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="菜单列表" name="roleList">
<div class="content">
<div class="tab-header">
<el-form :inline="true" :model="form" class="demo-form-inline">
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="菜单名称">
<el-input v-model="page.params.name" placeholder="菜单名称" clearable></el-input>
</el-form-item>
<el-form-item label="资源名称">
<!--<el-select v-model="page.sourceSid" @change="$forceUpdate()" :disabled="isadd">
<el-option
v-for="(item, i) in sourceNameData"
:key="i"
:label="item.sourceName"
:value="item.sid">
</el-option>
</el-select>-->
<el-input v-model="page.params.sourceName" placeholder="资源名称" clearable></el-input>
</el-form-item>
<el-button type="primary" @click="getPageList">查询</el-button>
</el-col>
<el-col :span="6">
<el-form-item style="float: right;">
<el-button type="primary" @click="getPageList">保存排序</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- table -->
<div class="table-describe clearfix">
<h4 style="color:#000;">菜单列表</h4>
</div>
<el-table :data="tableData" border style="width: 100%;"
row-key="sid"
ref="multipleTable"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}">
<el-table-column prop="name" label="菜单名称" width="220"></el-table-column>
<el-table-column label="操作" width="260" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="add(scope.row)">
添加子菜单
</el-button>
<el-button v-if="scope.row.isSource == '0'" type="primary" size="mini" @click="editRow(scope.row)">
修改
</el-button>
<el-button v-if="scope.row.isSource == '0'" type="danger" size="mini" @click.native.prevent="deleteRow(scope.row)">
删除
</el-button>
</template>
</el-table-column>
<!--<el-table-column prop="sourceName" label="资源名称" align="center"></el-table-column>-->
<el-table-column prop="sortNo" sortable label="排序" align="center" width="100">
<template slot-scope="scope">
<el-input v-model="scope.row.sortNo" size="mini" />
</template>
</el-table-column>
<el-table-column prop="pageUrl" label="链接地址" align="center">
</el-table-column>
<el-table-column prop="isEnable" label="可见性" align="center">
<template slot-scope="scope">
<el-switch
v-model="scope.row.isEnable"
active-color="#13ce66"
inactive-color="#ff4949"
active-value="1"
inactive-value="0"
@change="enabledChange(scope.row.isEnable,scope.row)">
</el-switch>
</template>
</el-table-column>
</el-table>
</div>
<!-- <pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/> -->
<!-- 编辑功能信息 -->
<el-dialog :title="dialogTitle + '功能信息'" :visible.sync="editDialog" width="40%">
<table class="e-table" cellspacing="0">
<tr>
<td >上级菜单</td>
<td ><el-input v-model="form.pname" :disabled="true"></el-input></td>
</tr>
<tr>
<td >资源名称</td>
<td>
<el-select v-model="form.sourceSid" @change="$forceUpdate()" :disabled="isadd">
<el-option
v-for="(item, i) in sourceNameData"
:key="i"
:label="item.sourceName"
:value="item.sid">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td >菜单名称</td>
<td >
<el-input v-model="form.name"></el-input>
</td>
</tr>
<tr>
<td >菜单路由</td>
<td >
<el-input v-model="form.menuUrl"></el-input>
</td>
</tr>
<tr>
<td >菜单图片路径</td>
<td >
<el-input v-model="form.iconUrl"></el-input>
</td>
</tr>
<tr>
<td >前端页面名称</td>
<td >
<el-input v-model="form.pageName"></el-input>
</td>
</tr>
<tr>
<td >前端页面路径</td>
<td >
<el-input v-model="form.pageUrl"></el-input>
</td>
</tr>
<tr>
<td >是否可见</td>
<td >
<el-radio-group v-model="form.isShow">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</td>
</tr>
<tr>
<td>排序号</td>
<td>
<el-input v-model="form.sortNo"></el-input>
</td>
</tr>
<tr>
<td>备注</td>
<td>
<el-input v-model="form.remarks"></el-input>
</td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="editDialog = false"> </el-button>
</div>
</el-dialog>
</el-tab-pane>
<el-tab-pane label="新增菜单" name="addrole">
<!-- 添加 -->
<!--<el-dialog :title="dialogTitle + '菜单管理'" :visible.sync="editDialog" width="40%">-->
<table class="e-table" cellspacing="0">
<tr>
<td >上级菜单</td>
<td ><el-input v-model="form.pname" :disabled="true"></el-input></td>
</tr>
<tr>
<td >资源名称</td>
<td>
<el-select v-model="form.sourceSid" @change="$forceUpdate()" :disabled="isadd">
<el-option
v-for="(item, i) in sourceNameData"
:key="i"
:label="item.sourceName"
:value="item.sid">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td >菜单名称</td>
<td >
<el-input v-model="form.name"></el-input>
</td>
</tr>
<tr>
<td >菜单路由</td>
<td >
<el-input v-model="form.menuUrl"></el-input>
</td>
</tr>
<tr>
<td >菜单图片路径</td>
<td >
<el-input v-model="form.iconUrl"></el-input>
</td>
</tr>
<tr>
<td >前端页面名称</td>
<td >
<el-input v-model="form.pageName"></el-input>
</td>
</tr>
<tr>
<td >前端页面路径</td>
<td >
<el-input v-model="form.pageUrl"></el-input>
</td>
</tr>
<tr>
<td >是否可见</td>
<td >
<el-radio-group v-model="form.isShow">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</td>
</tr>
<tr>
<td>排序号</td>
<td>
<el-input v-model="form.sortNo"></el-input>
</td>
</tr>
<tr>
<td>备注</td>
<td>
<el-input v-model="form.remarks"></el-input>
</td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()">保存</el-button>
</div>
</el-tab-pane>
</el-tabs>
</template>
<script>
import { pageList, menusTreelist, saveMenusInfo, putMenusInfo, delMenus,IsEnable } from '@/api/system/menu/index.js'
import { sourceList } from '@/api/system/functional/functional.js'
export default {
data() {
return {
activeName: 'roleList',
editDialog: false,
dialogTitle: '',
checked: '',
form:{
pname:'顶级菜单',
iconUrl: "",
isShow: 1,
menuName: "",
menuUrl: "",
pageAliasName: "",
pageName: "",
pageUrl: "",
pageUrlRedirect: "",
psid: "",
remarks: "",
sortNo: 0,
sourceSid: ''
},
formBackup: Object.assign({}, this.form),
tableData: [],
page: {
current: 1,
size: 10,
total: 0,
params:{
name: '',
psid: '',
sourceName: '',
sourceSid: ''
}
},
rank: '1',
sourceNameData: [], //
isadd: false
}
},
mounted() {
this.getPageList()
this.getsourceList()
// getsourceList().then(res => {
// this.sourceNameData = res.data
// })
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getPageList()
},
resetSearch(){ //
this.page.params = this.pageBackup
},
getPageList(){ //
pageList(this.page).then((res)=>{
let treedata = res.data
console.log('菜单列表', res)
this.tableData = treedata
this.page.total = res.data.total
})
},
//
getsourceList(){
let params={}
sourceList(params).then(res => {
this.sourceNameData = res.data
this.loading = false
})
},
handleClick(tab, event) {
if(tab.name == 'addrole'){
this.dialogTitle = '新增'
this.roleForm = Object.assign({}, this.formBackup)
}else{
this.getPageList()
}
},
add(row){
this.activeName= 'addrole'
// if(row == 0){
// this.isadd = false
// }else{
// this.isadd = true
// }
// this.dialogTitle = ''
// this.editDialog = true
this.form = Object.assign({}, this.formBackup)
this.form.isShow = 1
// this.form.psid = row.sid || 0
this.form.pname = row.name || '顶级菜单'
this.form.sourceSid = row.sourceSid || ''
if(row.isSource == '1'){
this.form.psid = 0
}else{
this.form.psid = row.sid
}
},
editRow(row){
this.dialogTitle = '编辑'
this.editDialog = true
this.form = Object.assign({}, row)
this.form.isShow = 1
this.form.pname = row.psid == "0" ? '顶级菜单' : row.pname
},
save(){
if(this.form.sid){
putMenusInfo(this.form).then(res => {
this.editDialog = false
this.getPageList(this.page)
this.$message({
message: res.msg,
type: 'success'
})
})
}else{
saveMenusInfo(this.form).then(res => {
this.activeName = "roleList"
this.getPageList()
this.$message({
message: res.msg,
type: 'success'
})
})
}
},
deleteRow(row) {
this.$confirm('确定要删除该菜单吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delMenus({sid: row.sid}).then(res => {
this.getPageList(this.page)
this.$message({
type: 'success',
message: '删除成功!'
});
})
})
},
//
enabledChange(value, row) {
IsEnable({
sid: row.sid
}).then(res => {
this.$message({
type: 'success',
message: res.msg
});
})
},
retname(sid){
obj = this.sourceNameData.find((item)=>{
return item.sid == sid;//
});
return obj.name
}
},
}
</script>
<style>
.el-input__inner{
line-height: 32px;
height: 32px;
}
</style>
<style scoped="scoped" lang="scss">
.el-pagination.is-background .btn-next,
.el-pagination.is-background .btn-prev {
padding: 0 20px;
border: 1px solid #ccc;
border-radius: 2px;
background-color: #FFFFFF;
}
.el-icon-arrow-left:before,
.el-icon-arrow-right:before {
content: '下一页';
color: #727272;
}
.el-icon-arrow-left:before {
content: '上一页';
}
.content {
width: 100%;
padding-top: 10px;
font-size: 16px;
color: #fff;
box-sizing: border-box;
}
.shouye {
position: absolute;
top: -3px;
left: 100px;
font-size: 16px;
color: #0395d8;
font-weight: bold;
}
.placename {
position: absolute;
top: -3px;
left: 210px;
font-size: 16px;
color: #fff;
font-weight: bold;
}
.right_cont {
width: 100%;
height: 645px;
background-color: #fff;
margin: 0;
padding: 15px;
box-sizing: border-box;
}
.cont_head {
height: 40px;
width: 97%;
margin-left: 1.5%;
background-color: #f7f9fc;
overflow: hidden;
}
.cont_head p {
float: left;
color: #000;
line-height: 40px;
margin-left: 50px;
}
.cont_head input {
float: left;
height: 24px;
width: 147px;
margin-top: 6px;
border: 1px solid #e6e9f0;
border-radius: 5px;
-webkit-appearance: none;
outline: none;
}
.cont_head select {
float: left;
height: 28px;
width: 147px;
margin-top: 6px;
border: 1px solid #e6e9f0;
border-radius: 5px;
outline: none;
}
.chaxun {
height: 28px;
width: 85px;
line-height: 0px;
background-color: #018ad2;
margin-top: 6px;
text-align: center;
padding: 0;
float: right;
margin-right: 6px;
}
.tishi {
width: 80%;
margin: auto;
tr {
height: 50px;
}
td {
border: 1px solid #e6e9f0;
text-align: center;
}
td:first-child {
background-color: #f7f9fc;
}
input {
width: 80%;
height: 30px;
border: 1px solid #e6e9f0;
}
textarea {
width: 80%;
height: 100px;
border: 1px solid #e6e9f0;
margin-top: 10px;
margin-bottom: 6px;
}
select {
width: 80%;
height: 30px;
border: 1px solid #e6e9f0;
}
}
.my-tabs{
margin-top: 10px;
}
</style>

446
anrui-base/anrui-base-ui/src/views/organizationManage/organizationManage.vue

@ -1,446 +0,0 @@
<template>
<div class="container" style="display: flex;">
<div class="org-tree">
<el-tree :data="treedata"
node-key="sid"
:props="props"
default-expand-all
@node-click="handleNodeClick"
:expand-on-click-node="false"
>
<span class="custom-tree-node" slot-scope="{ node, data }"
@mouseenter="mouseenter(data)"
@mouseleave="mouseleave(data)"
@click.stop.native>
<span>{{ node.label || $store.getters.userInfo.Orgname }}</span>
<span v-show="data.del" class="handle">
<el-tooltip class="item" effect="dark" content="新增" placement="top-start">
<el-button type="text" size="mini" @click.stop="() => append(data)" icon="el-icon-circle-plus-outline">
</el-button>
</el-tooltip>
<el-tooltip v-show="data.sid" class="item" effect="dark" content="修改" placement="top-start">
<el-button type="text" size="mini" @click.stop="() => deit(data)" icon="el-icon-edit">
</el-button>
</el-tooltip>
<el-tooltip v-show="data.sid" class="item" effect="dark" content="删除" placement="top-start">
<el-button type="text" size="mini" @click.stop="() => remove(data)" icon="el-icon-delete">
</el-button>
</el-tooltip>
</span>
</span>
</el-tree>
</div>
<el-dialog title="编辑节点" :visible.sync="dialogVisible" width="40%">
<el-form :model="nodeForm">
<el-form-item label="部门名称" label-width="120px">
<el-input v-model="nodeForm.name" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="排序号" label-width="120px">
<el-input v-model="nodeForm.sortNo" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="text-center">
<el-button type="primary" @click="nodeSave()"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</div>
</el-dialog>
<div class="org-table" v-show="isshow == 'table'">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="部门名称">
<el-input v-model="page.params.name" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="onSearch()">查询</el-button>
<el-button @click="resetSearch()">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- table -->
<el-table
:data="tableData"
default-expand-all
border style="width: 100%;">
<!--<el-table-column label="序号" type="index" width="40px" align="center"></el-table-column>-->
<el-table-column label="操作" align="center" width="160px">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="editRow(scope.row)" >
编辑
</el-button>
<el-button type="danger" size="mini" @click.native.prevent="remove(scope.row)">
删除
</el-button>
</template>
</el-table-column>
<el-table-column prop="name" label="部门名称" align="center"></el-table-column>
<el-table-column prop="zgNames" label="主管" align="center"></el-table-column>
<el-table-column prop="fgNames" label="分管" align="center"></el-table-column>
<!--<el-table-column prop="contactMan" label="联系人" align="center" width="100px"></el-table-column>-->
<el-table-column prop="linkPhone" label="联系人手机号" width="110" align="center">
</el-table-column>
<el-table-column prop="addrs" label="地址" align="center">
</el-table-column>
<el-table-column prop="sort" label="排序" align="center" width="50px">
</el-table-column>
<el-table-column prop="qrText" label="二维码" align="center" width="80px">
<template slot-scope="scope">
<el-button @click.native.prevent="lookRow(scope.row)" type="text" size="small">
查看
</el-button>
</template>
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
</div>
<div class="org-table" v-show="isshow == 'ewm'">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="16">
<h4 style="margin: 0;line-height: 32px;">部门二维码</h4>
</el-col>
<el-col :span="8">
<el-form-item style="float: right;">
<el-button type="primary" @click="Printewm"> </el-button>
<el-button @click="isshow = 'table'"> </el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- center -->
<div class="ewm"style="display: flex;justify-content: center; align-items: center;" ref="print">
<img style="width: 200px; height: 200px;" :src="ewmForm.qrFilePath" alt="">
<ul style="list-style:none; line-height: 32px; font-size: 16px;">
<li><label for="">部门名称: </label><span>{{ewmForm.departmentName}}</span></li>
</ul>
</div>
</div>
<!-- 新增编辑 -->
<div class="org-table" v-show="isshow == 'edit'">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="16">
<h4 style="margin: 0;line-height: 32px;"> {{ dialogTitle }}部门信息</h4>
</el-col>
<el-col :span="8">
<el-form-item style="float: right;">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="isshow = 'table'"> </el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- center -->
<div class="ediut">
<el-form ref="form" :rules="rules" :model="form" label-width="120px">
<el-form-item label="部门名称" prop="name">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="部门地理位置" prop="jwd">
<el-input v-model="form.jwd" readonly>
<el-button slot="append" icon="el-icon-map-location" @click='mapDialog = true'></el-button>
</el-input>
</el-form-item>
<el-form-item label="部门地址" prop="addrs">
<el-input v-model="form.addrs"></el-input>
</el-form-item>
<el-form-item label="主管人员" prop="zgStaffSid">
<el-input v-model="form.zgStaffSid"></el-input>
</el-form-item>
<el-form-item label="分管人员" prop="fgStaffSid">
<el-input v-model="form.fgStaffSid"></el-input>
</el-form-item>
<el-form-item label="部门联系人" prop=" linkPerson">
<el-input v-model="form.linkPerson"></el-input>
</el-form-item>
<el-form-item label="联系电话" prop="linkPhone">
<el-input v-model="form.linkPhone"></el-input>
</el-form-item>
<el-form-item label="排序号" prop="sort">
<el-input v-model="form.sort"></el-input>
</el-form-item>
</el-form>
</div>
</div>
<Position v-if="mapDialog" :address.sync="form.addrs" :maker-position.sync="form.jwd" :dialog-visible.sync="mapDialog" />
</div>
</template>
<script>
import { pageList, orgList, addOrgTree, getPagelist, putOrgtree, postOrgtree, delOrgtree, getQrCode } from '@/api/system/departments/departments.js'
import Position from '@/components/amap/amap.vue'
export default {
components:{ Position },
data() {
return {
dialogVisible: false,
mapDialog: false,
dialogTitle: '',
props:{
label:"name",
children:"children",
},
nodeForm:{
sid: '',
name: '',
sortNo:''
},
ewmForm: {
qrFilePath: '',
organizationName: '',
departmentName: '',
address: ''
},
form: {
name:'',
jwd:'',
addrs:'',
zgStaffSid:'',
fgStaffSid:'',
linkPerson:'',
linkPhone:'',
sort:''
},
formBackup: Object.assign({}, this.form),
isshow: 'table',
page: {
total: 0, //
current: 1, //
size: 10, //
params:{
name: '',
organizationSid: '',
psid: ''
}
},
tableData: [],
treedata: [],
rules:{
name:[
{ required: true, message: '请输入', trigger: 'blur' },
],
jwd:[
{ required: true, message: '请输入', trigger: 'blur' },
],
addrs:[
{ required: true, message: '请输入', trigger: 'blur' },
],
zgStaffSid:[
{ required: true, message: '请输入', trigger: 'blur' },
],
fgStaffSid:[{ required: true, message: '请输入', trigger: 'blur' },],
linkPerson:[{ required: true, message: '请输入', trigger: 'blur' },],
linkPhone:[{ required: true, message: '请输入', trigger: 'blur' },],
sort:[
{ required: true, message: '请输入', trigger: 'blur' },
]
}
}
},
mounted() {
this.getOrgTree()
// this.getPageList()
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getPageList(this.page)
},
handleNodeClick(data){
this.isshow = 'table'
this.page.params.organizationSid = this.$store.getters.userInfo.orgSid
this.page.params.psid = data.sid || 0
// let params = {
// total: 0,
// current: 1,
// size: 10,
// params:{
// name: '',
// organizationSid: this.$store.getters.userInfo.orgSid,
// psid: data.sid || 0
// }
// }
this.getPageList(this.page)
},
getPageList(data){ //
pageList(data).then(res => {
this.tableData = res.data.records
this.page.total = res.data.total
})
},
getOrgTree(){ //
orgList({}).then(res => {
this.treedata = res.data
})
},
save(){
this.form.organizationSid = this.$store.getters.userInfo.orgSid
// this.form.dlxx = typeof(this.form.dlxx) == 'string' ? this.form.dlxx : this.form.dlxx.join()
if(this.form.sid){
putOrgtree(this.form).then(res => {
this.isshow = 'table'
this.getOrgTree()
this.handleNodeClick({sid: this.form.psid})
this.$message({
message: res.msg,
type: 'success'
})
})
}else{
addOrgTree(this.form).then(res => {
this.isshow = 'table'
this.getOrgTree()
this.handleNodeClick({sid: this.form.psid})
this.$message({
message: res.msg,
type: 'success'
})
})
}
},
append(data) {
this.dialogTitle = '新增'
this.isshow = 'edit'
this.form = Object.assign({}, this.formBackup)
this.form.psid = data.sid || 0
this.form.organizationSid = this.$store.getters.userInfo.orgSid
this.form.address = data.orgAddress || data.address
this.form.dlxx = data.gisInfo || data.dlxx
},
editRow(row) {
this.dialogTitle = '编辑'
this.isshow = 'edit'
this.form = Object.assign({}, row)
// getRoleInfo({sid: row.sid}).then(res => {
// this.form = res.data
// // this.user = Object.assign({}, row
// })
},
deit(data){ //
this.dialogVisible = true
this.nodeForm.sid = data.sid
this.nodeForm.name = data.name
this.nodeForm.sortNo = data.sortNo
},
nodeSave(){ //
postOrgtree(this.nodeForm).then(res => {
this.getOrgTree()
this.dialogVisible = false
this.$message({
message: res.msg,
type: 'success'
})
})
},
remove(data) {
this.$confirm('确定要删除该部门吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delOrgtree({sid:data.sid}).then(res => {
this.getOrgTree()
this.handleNodeClick({sid: data.psid})
this.$message({
message: res.msg,
type: 'success'
})
})
})
},
lookRow(row){ //
this.isshow = 'ewm'
getQrCode({sid: row.sid}).then(res => {
this.ewmForm = res.data
})
},
Printewm(){
this.$print(this.$refs.print) // 使
},
mouseenter(data){
this.$set(data, 'del', true)
},
mouseleave(data){
this.$set(data, 'del', false)
},
onSearch(){
this.getPageList(this.page)
},
resetSearch(){
this.page.params.name = ''
this.getPageList(this.page)
}
},
}
</script>
<style>
.el-icon-arrow-right:before {
content: '\e6e0';
color: #727272;
}
</style>
<style scoped="scoped" lang="scss">
.org-tree {
width: 240px;
min-height: 100%;
box-sizing: border-box;
/*padding-right: 10px;*/
border: 1px solid #edf1f7;
}
.org-table {
flex: 1;
// padding-left: 10px;
margin:0 10px;
border: 1px solid #edf1f7;
min-height: 100%;
overflow-y:scroll;
.ewm{
margin: 30px auto 0;
width:560px;
}
.ediut{
margin: 30px auto 0;
/*width:750px;*/
}
}
.custom-tree-node {
position: relative;
overflow: hidden;
width: 100%;
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
padding-right: 8px;
}
.handle{
position: absolute;
right: 0;
.el-button--text{
font-size: 15px;
background-color: #FFFFFF;
}
}
.my-tabs{
margin-top: 10px;
}
</style>

400
anrui-base/anrui-base-ui/src/views/postManage/postManage.vue

@ -1,400 +0,0 @@
<template>
<el-tabs class="my-tabs" v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="岗位列表" name="roleList">
<div class="container">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="search" label-width="80px">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="岗位名称">
<el-input v-model="search.name" clearable></el-input>
</el-form-item>
<el-form-item label="所属部门">
<el-select v-model="search.orgSid" placeholder="请选择" clearable @clear="handleClear">
<el-option hidden :key="search.orgSid" :label="orgName" :value="search.orgSid"></el-option>
<el-tree v-loading="loading" :data="treedata" ref="Tree" show-checkbox accordion node-key="sid"
:default-checked-keys="checkedId"
:default-expand-all='true' :check-strictly ='true' :props="defaultProps" @check-change="checkchange"
>
</el-tree>
</el-select>
</el-form-item>
<el-button @click="getList(1)">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- table -->
<el-table :data="roleTable" border style="width: 100%;">
<el-table-column label="序号" width="50px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" width="220px" align="center">
<template slot-scope="scope">
<el-button @click="editRow(scope.row)" type="primary" size="mini"> 修改 </el-button>
<el-button @click="delRow(scope.row)" type="danger" size="mini"> 删除 </el-button>
</template>
</el-table-column>
<el-table-column prop="name" label="岗位名称" width="220px" align="center"></el-table-column>
<el-table-column prop="orgName" label="所属部门" align="center"></el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination" />
<!-- 编辑角色信息 -->
<el-dialog :title="dialogTitle + '角色信息'" :visible.sync="editDialog" width="40%">
<table class="e-table" cellspacing="0">
<tr>
<td>角色名称</td>
<td>
<el-input v-model="roleForm.name"></el-input>
</td>
</tr>
<!--<tr>
<td>备注</td>
<td>
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6}" v-model="roleForm.remarks"></el-input>
</td>
</tr>-->
<tr>
<td>选择部门(单选)</td>
<td>
<el-tree
:data="treedata1"
show-checkbox
node-key="sid"
ref="Tree1"
:default-expand-all='true'
:check-strictly ='true'
:default-checked-keys="checkedId1"
:props="defaultProps"
@check-change="checkchange1"
>
</el-tree>
</td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="editDialog = false"> </el-button>
</div>
</el-dialog>
</div>
</el-tab-pane>
<el-tab-pane label="新增岗位" name="addrole">
<el-card class="box-card">
<table class="e-table" cellspacing="0">
<tr>
<td>岗位名称</td>
<td><el-input v-model="roleForm.name"></el-input></td>
</tr>
<!--<tr>
<td>备注</td>
<td> <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6}" v-model="roleForm.remarks"></el-input></td>
</tr>-->
<tr>
<td>选择部门(单选)</td>
<td>
<el-tree
:data="treedata2"
show-checkbox
node-key="sid"
ref="Tree2"
:default-expand-all='true'
:check-strictly ='true'
:default-checked-keys="checkedId2"
:props="defaultProps"
@check-change="checkchange2"
>
</el-tree>
</td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()"> </el-button>
</div>
</el-card>
</el-tab-pane>
</el-tabs>
</template>
<script>
import {
pageList,
orgList,
savePost,
putOrgroles,
delOrgroles,
// setRoleEnable
} from '@/api/system/postManage/index.js'
export default {
data() {
return {
dialogTitle: '',
activeName: 'roleList',
roleForm: {
remarks: "",
roleName: "",
orgSid:''
},
formBackup: {},
search: {
name: '',
orgSid: ''
},
orgName:'',
page: {
total: 0, //
current: 1, //
size: 10, //
},
roleTable: [],
editDialog: false,
//
loading: false,
defaultProps: {
children: 'children',
label: 'name'
},
// orgdata:[], //
checkedId: [],
checkedId1: [],
checkedId2: [],
treedata: [],
treedata1: [],
treedata2: [],
// chace: [],
// roleDialog: false,
// Thisrow: {},
// orgListAll:[]
};
},
mounted() {
this.formBackup = Object.assign({}, this.roleForm),
this.getList()
this.getOrgList()
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getList()
},
//
getList(flag) {
if(flag == '1'){
this.page.current = 1
}
let params = this.page
params.params = this.search
pageList(params).then(res => {
this.page.total = res.data.total
this.roleTable = res.data.records
})
},
handleClick(tab, event) {
if(tab.name == 'addrole'){
this.dialogTitle = '新增'
this.roleForm = Object.assign({}, this.formBackup)
}else{
this.getList()
}
},
editRow(row) {
this.dialogTitle = '编辑'
this.editDialog = true
this.roleForm = Object.assign({}, row)
this.checkedId1 =[this.roleForm.orgSid]
},
delRow(row) {
this.$confirm('确定要删除该岗位吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let params={
sids: row.sid
}
delOrgroles(params).then(res => {
this.getList()
this.$message({
type: 'success',
message: '删除成功!'
});
})
})
},
//
save() {
if (this.roleForm.sid) {
let orgSid = this.$refs.Tree1.getCheckedKeys()
this.roleForm.orgSid = orgSid.toString()
putOrgroles(this.roleForm).then(res => {
if (res.code == '200') {
this.getList()
this.editDialog = false
this.$message({
message: res.msg,
type: 'success'
})
}
})
} else {
let orgSid = this.$refs.Tree2.getCheckedKeys()
this.roleForm.orgSid = orgSid.toString()
savePost(this.roleForm).then(res => {
if (res.code == '200') {
this.getList()
this.activeName = "roleList"
this.$message({
message: res.msg,
type: 'success'
})
let arr =[]
this.$refs.Tree2.setCheckedKeys(arr);
}
})
}
this.reset()
},
reset(){
this.roleForm = {
remarks: "",
roleName: "",
orgSid:''
};
this.search = {
name: '',
orgSid: ''
}
},
//
getOrgList(row) {
this.roleDialog = true
this.checkedId = []
// this.roleForm.roleName = row.roleName
this.Thisrow = row
this.loading = true
let params = {
// roleSid: row.sid,
// userType: '2'
}
orgList(params).then(res => {
this.treedata = res.data
this.treedata1 = res.data
this.treedata2 = res.data
// this.getTreeParentNode(res.data, this.checkedId)
// this.getTreeParentid(res.data)
this.loading = false
})
},
// //
// getTreeParentNode(menus, ids) {
// for (var i = 0; i < menus.length; i++) {
// if (menus[i].children && menus[i].children.length != 0) {
// this.getTreeParentNode(menus[i].children, ids)
// } else if (menus[i].isCheck) {
// ids.push(menus[i].sid)
// }
// }
// },
// // ID
// getTreeParentid(menus) {
// for (var i = 0; i < menus.length; i++) {
// this.chace.push(menus[i].sid)
// }
// },
// getCheckedKeys() {
// let _this = this
// let roleMenus = []
// this.$refs.Tree.getCheckedKeys().forEach(val => {
// roleMenus.push({
// menuSid: val,
// orgSid: _this.$store.getters.userInfo.orgSid,
// roleSid: _this.Thisrow.sid
// })
// })
// let parentTrue = this.$refs.Tree.getHalfCheckedKeys()
// for (let i = 0; i < parentTrue.length; i++) {
// for (let j = 0; j < this.chace.length; j++) {
// if (parentTrue[i] == this.chace[j]) {
// parentTrue.splice(i, 1);
// }
// }
// }
// parentTrue.forEach(val => {
// roleMenus.push({
// menuSid: val,
// orgSid: _this.$store.getters.userInfo.orgSid,
// roleSid: _this.Thisrow.sid
// })
// })
// saveorgrolemenus({
// roleSid: _this.Thisrow.sid,
// roleMenus: roleMenus
// }).then(res => {
// this.roleDialog = false
// this.$message({
// message: res.msg,
// type: 'success'
// })
// })
// },
checkchange(data,checked,indeterminate) {
if (checked){
this.search.orgSid = data.sid
this.orgName = data.name
let arr = []
arr = [data.sid];
this.$refs.Tree.setCheckedKeys(arr);
return;
}
},
checkchange1(data,checked,indeterminate) {
if (checked){
this.roleForm.orgSid = data.sid
// this.orgName = data.name
let arr = []
arr = [data.sid];
this.$refs.Tree1.setCheckedKeys(arr);
return;
}
},
checkchange2(data,checked,indeterminate) {
if (checked){
this.roleForm.orgSid = data.sid
// this.orgName = data.name
let arr = []
arr = [data.sid];
this.$refs.Tree2.setCheckedKeys(arr);
return;
}
},
handleClear() {
//
this.orgName = ''
this.search.orgSid = ''
let arr =[]
this.$refs.Tree.setCheckedKeys(arr);
}
}
};
</script>
<style scoped>
.el-select > .el-input {
display: block;
width: 300px;
}
/deep/.tab-header .el-select {
width: 180px;
}
.my-tabs{
margin-top: 10px;
}
</style>

448
anrui-base/anrui-base-ui/src/views/sourceManage/sourceManage.vue

@ -1,448 +0,0 @@
<template>
<el-tabs class="my-tabs" v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="资源列表" name="roleList">
<div class="container">
<div class="tab-header">
<el-form :inline="true" :model="page.params" class="demo-form-inline">
<el-row :gutter="20">
<el-col :span="21">
<el-form-item label="资源ID">
<el-input v-model="page.params.sourceId" placeholder="资源ID" clearable></el-input>
</el-form-item>
<el-form-item label="资源名称">
<el-input v-model="page.params.sourceName" placeholder="资源名称" clearable></el-input>
</el-form-item>
<el-button type="primary" @click="getPageList(1)"> </el-button>
</el-col>
<el-col :span="3">
<el-form-item style="float: right;">
<el-button type="primary" @click="getPageList">保存排序</el-button>
<!--<el-button type="primary" @click="add()">添加资源</el-button>-->
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-table :data="tableData" border style="width: 100%;">
<el-table-column label="序号" width="70px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" width="150px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="editRow(scope.row)">
修改
</el-button>
<el-button type="danger" size="mini" @click.native.prevent="deleteRow(scope.row)">
删除
</el-button>
</template>
</el-table-column>
<el-table-column prop="sourceName" label="资源名称" align="center">
</el-table-column>
<el-table-column prop="sortNo" label="排序" align="center" width="70px">
<template slot-scope="scope">
<el-input v-model="scope.row.sortNo" size="mini" />
</template>
</el-table-column>
<el-table-column prop="sourceId" label="资源ID(微服务的name属性)" align="center">
</el-table-column>
<el-table-column prop="remarks" label="资源描述" align="center">
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
<!-- 编辑角色信息 -->
<el-dialog :title="dialogTitle + '角色信息'" :visible.sync="editDialog" width="40%">
<table class="e-table" cellspacing="0">
<tr>
<td>父级资源</td>
<td>
<el-select v-model="form.psid" placeholder="请选择">
<!--<el-option
label="请选择"
value="0">
</el-option>-->
<el-option
v-for="item in sourceList"
:key="item.sid"
:label="item.name"
:value="item.sid">
</el-option>
</el-select>
<!-- <el-input v-model="form.psid"></el-input> -->
</td>
</tr>
<tr>
<td>资源ID</td>
<td>
<el-input v-model="form.sourceId"></el-input>
</td>
</tr>
<tr>
<td>资源名称</td>
<td >
<el-input v-model="form.sourceName"></el-input>
</td>
</tr>
<tr>
<td>资源类别</td>
<td >
<el-select v-model="form.sourceType" placeholder="请选择资源类别">
<el-option
v-for="item in zylb"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td>app下载地址</td>
<td >
<el-input v-model="form.sourceUrl"></el-input>
</td>
</tr>
<tr>
<td>web页面url</td>
<td >
<el-input v-model="form.pageUrl"></el-input>
</td>
</tr>
<!-- <tr>
<td>资源url标识</td>
<td >
<el-input v-model="form.urlSign"></el-input>
</td>
</tr> -->
<tr>
<td>包名</td>
<td>
<el-input v-model="form.sourcePackage"></el-input>
</td>
</tr>
<tr>
<td>菜单图标地址</td>
<td>
<el-input v-model="form.iconUrl"></el-input>
</td>
</tr>
<tr>
<td>资源图标背景色</td>
<td>
<el-input v-model="form.iconBgColor"></el-input>
</td>
</tr>
<tr>
<td>资源版本</td>
<td>
<el-input v-model="form.ver"></el-input>
</td>
</tr>
<tr>
<td>启动模块动作</td>
<td>
<el-input v-model="form.sourceAction"></el-input>
</td>
</tr>
<tr>
<td>资源用到的json拼接</td>
<td>
<el-input v-model="form.sourceExtra"></el-input>
</td>
</tr>
<tr>
<td>提示数量</td>
<td>
<el-input v-model="form.noticeNum"></el-input>
</td>
</tr>
<tr>
<td>RePlugin插件名称</td>
<td>
<el-input v-model="form.modulePluginName"></el-input>
</td>
</tr>
<tr>
<td>排序号</td>
<td>
<el-input type="number" v-model="form.sortNo"></el-input>
</td>
</tr>
<tr>
<td>资源描述</td>
<td>
<el-input type="textarea" v-model="form.remarks"></el-input>
</td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()">保存</el-button>
<!--<el-button @click="editDialog = false">关闭</el-button>-->
</div>
</el-dialog>
</div>
</el-tab-pane>
<el-tab-pane label="新增资源" name="addrole">
<!--<el-dialog :title="dialogTitle + '资源描述'" :visible.sync="editDialog" width="60%">-->
<table class="e-table" cellspacing="0">
<tr>
<td>父级资源</td>
<td>
<el-select v-model="form.psid" placeholder="请选择">
<!--<el-option
label="请选择"
value="0">
</el-option>-->
<el-option
v-for="item in sourceList"
:key="item.sid"
:label="item.name"
:value="item.sid">
</el-option>
</el-select>
<!-- <el-input v-model="form.psid"></el-input> -->
</td>
</tr>
<tr>
<td>资源ID</td>
<td>
<el-input v-model="form.sourceId"></el-input>
</td>
</tr>
<tr>
<td>资源名称</td>
<td >
<el-input v-model="form.sourceName"></el-input>
</td>
</tr>
<tr>
<td>资源类别</td>
<td >
<el-select v-model="form.sourceType" placeholder="请选择资源类别">
<el-option
v-for="item in zylb"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td>app下载地址</td>
<td >
<el-input v-model="form.sourceUrl"></el-input>
</td>
</tr>
<tr>
<td>web页面url</td>
<td >
<el-input v-model="form.pageUrl"></el-input>
</td>
</tr>
<!-- <tr>
<td>资源url标识</td>
<td >
<el-input v-model="form.urlSign"></el-input>
</td>
</tr> -->
<tr>
<td>包名</td>
<td>
<el-input v-model="form.sourcePackage"></el-input>
</td>
</tr>
<tr>
<td>菜单图标地址</td>
<td>
<el-input v-model="form.iconUrl"></el-input>
</td>
</tr>
<tr>
<td>资源图标背景色</td>
<td>
<el-input v-model="form.iconBgColor"></el-input>
</td>
</tr>
<tr>
<td>资源版本</td>
<td>
<el-input v-model="form.ver"></el-input>
</td>
</tr>
<tr>
<td>启动模块动作</td>
<td>
<el-input v-model="form.sourceAction"></el-input>
</td>
</tr>
<tr>
<td>资源用到的json拼接</td>
<td>
<el-input v-model="form.sourceExtra"></el-input>
</td>
</tr>
<tr>
<td>提示数量</td>
<td>
<el-input v-model="form.noticeNum"></el-input>
</td>
</tr>
<tr>
<td>RePlugin插件名称</td>
<td>
<el-input v-model="form.modulePluginName"></el-input>
</td>
</tr>
<tr>
<td>排序号</td>
<td>
<el-input type="number" v-model="form.sortNo"></el-input>
</td>
</tr>
<tr>
<td>资源描述</td>
<td>
<el-input type="textarea" v-model="form.remarks"></el-input>
</td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()">保存</el-button>
<!--<el-button @click="editDialog = false">关闭</el-button>-->
</div>
<!--</el-dialog>-->
<!--</div>-->
</el-tab-pane>
</el-tabs>
</template>
<script>
import { pageList, saveSourcesInfo, getSourcesInfo, putSourcesInfo, delSources, getZzylb, getsourceList } from '@/api/system/sources/index.js'
export default {
data() {
return {
activeName: 'roleList',
dialogTitle: '',
editDialog: false,
form: {},
formBackup: Object.assign({}, this.form),
page: {
total: 0, //
current: 1, //
size: 10, //
params: {
psid: '',
sourceId: '',
sourceName: ''
},
},
tableData: [],
zylb: [],
sourceList:[]
}
},
mounted() {
this.getPageList(this.page)
// getsourceList().then(res => {
// this.sourceList = res.data
// })
// getZzylb().then(res => {
// this.zylb = res.data
// })
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getPageList(this.page)
},
resetSearch(){ //
this.page = {
total: 0, //
current: 1, //
size: 10, //
params: {
psid: '',
sourceId: '',
sourceName: ''
},
}
this.getPageList()
},
getPageList(){ //
pageList(this.page).then((res)=>{
this.tableData = res.data.records
this.page.total = res.data.total
})
},
handleClick(tab, event) {
if(tab.name == 'addrole'){
this.dialogTitle = '新增'
this.roleForm = Object.assign({}, this.formBackup)
}else{
this.getPageList()
}
},
save(){
if(this.form.sid){
putSourcesInfo(this.form).then(res => {
this.editDialog = false
this.getPageList(this.page)
this.$message({
message: res.msg,
type: 'success'
})
})
}else{
saveSourcesInfo(this.form).then(res => {
this.getPageList()
this.activeName = "roleList"
this.$message({
message: res.msg,
type: 'success'
})
})
}
this.reset()
},
reset(){
this.form = {
}
},
editRow(row) {
this.dialogTitle = '编辑'
this.editDialog = true
this.form = Object.assign({}, row)
// getSourcesInfo({sid: row.sid}).then(res => {
// this.form = res.data
// })
},
deleteRow(row) {
this.$confirm('确定要删除该资源吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delSources({sid: row.sid}).then(res => {
this.getPageList()
this.$message({
type: 'success',
message: '删除成功!'
});
})
})
}
},
}
</script>
<style scoped="scoped" lang="scss">
.my-tabs{
margin-top: 10px;
}
</style>

344
anrui-base/anrui-base-ui/src/views/system-admin/RoleAdminister/RoleAdminister.vue

@ -1,344 +0,0 @@
<template>
<el-tabs class="my-tabs" v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="角色列表" name="roleList">
<div class="container">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="search" label-width="80px">
<el-row :gutter="20">
<el-col :span="16">
<el-form-item label="角色名称">
<el-input v-model="search.roleName" clearable></el-input>
</el-form-item>
<el-button @click="getroleOrgList()">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- table -->
<el-table :data="roleTable" border style="width: 100%;">
<el-table-column label="序号" width="50px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" width="240px" align="center">
<template slot-scope="scope">
<el-button @click="roleMenus(scope.row)" type="primary" size="mini">
菜单授权
</el-button>
<el-button @click="editRow(scope.row)" type="primary" size="mini">
修改
</el-button>
<el-button @click="delRow(scope.row)" type="danger" size="mini">
删除
</el-button>
</template>
</el-table-column>
<el-table-column prop="roleName" label="角色名称" width="220px" align="center">
</el-table-column>
<el-table-column prop="remarks" label="备注" align="center">
</el-table-column>
<el-table-column prop="isEnable" label="是否可用" width="120px" align="center">
<template slot-scope="scope">
<el-switch v-model="scope.row.isEnable" active-color="#13ce66" inactive-color="#ff4949" :active-value="1" :inactive-value="0" @change="enabledChange(scope.row.isEnable,scope.row)">
</el-switch>
</template>
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination" />
<!-- 编辑角色信息 -->
<el-dialog :title="dialogTitle + '角色信息'" :visible.sync="editDialog" width="40%">
<table class="e-table" cellspacing="0">
<tr>
<td>角色名称</td>
<td>
<el-input v-model="roleForm.roleName"></el-input>
</td>
</tr>
<tr>
<td>是否可用</td>
<td>
<el-switch v-model="roleForm.isEnable" active-color="#13ce66" inactive-color="#ff4949" :active-value="1" :inactive-value="0">
</el-switch>
</td>
</tr>
<tr>
<td>备注</td>
<td>
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6}" v-model="roleForm.remarks"></el-input>
</td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="editDialog = false"> </el-button>
</div>
</el-dialog>
<!-- 菜单授权 -->
<el-dialog title="菜单授权" :visible.sync="roleDialog" width="50%">
<table class="e-table" cellspacing="0">
<tr>
<td>角色名称</td>
<td>
<el-input v-model="roleForm.roleName" readonly></el-input>
</td>
</tr>
<tr>
<td>可操作菜单列表</td>
<td>
<el-tree v-loading="loading" :data="treedata" ref="Tree" show-checkbox accordion node-key="sid" :default-checked-keys="checkedId" :props="defaultProps" @check-change="checkchange">
</el-tree>
</td>
</tr>
</table>
<div slot="footer" class="text-center">
<el-button type="primary" @click="getCheckedKeys"> </el-button>
<el-button @click="roleDialog = false"> </el-button>
</div>
</el-dialog>
</div>
</el-tab-pane>
<el-tab-pane label="新增角色" name="addrole">
<el-card class="box-card">
<table class="e-table" cellspacing="0">
<tr>
<td>角色名称</td>
<td>
<el-input v-model="roleForm.roleName"></el-input>
</td>
</tr>
<tr>
<td>备注</td>
<td>
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6}" v-model="roleForm.remarks"></el-input>
</td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()"> </el-button>
</div>
</el-card>
</el-tab-pane>
</el-tabs>
</template>
<script>
import {
roleOrgList,
saveOrgroles,
putOrgroles,
delOrgroles,
setRoleEnable,
} from '@/api/system/roleAdminister/index.js'
import {
roleMenuTree,
saveorgrolemenus,
} from '@/api/system/roleAdminister/rolemenus.js'
import { getrolemenus, saverolemenus } from '@/api/system/roleMenus/index.js'
export default {
data() {
return {
dialogTitle: '',
activeName: 'roleList',
roleForm: {
orgSid: this.$setStorage.getters.userInfo.orgSid,
remarks: '',
roleName: '',
},
formBackup: {},
search: {
roleName: '',
orgSid: this.$store.getters.userInfo.orgSid,
},
page: {
total: 0, //
current: 1, //
size: 10, //
},
roleTable: [],
editDialog: false,
//
loading: false,
defaultProps: {
children: 'children',
label: 'menuName',
},
checkedId: [],
treedata: [],
chace: [],
roleDialog: false,
Thisrow: {},
}
},
mounted() {
;(this.formBackup = Object.assign({}, this.roleForm)), this.getroleOrgList()
},
methods: {
pagination(val) {
//
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getroleOrgList(this.page)
},
//
getroleOrgList() {
let params = this.page
params.params = this.search
roleOrgList(params).then((res) => {
this.page.total = res.data.total
this.roleTable = res.data.records
})
},
handleClick(tab, event) {
if (tab.name == 'addrole') {
this.dialogTitle = '新增'
this.roleForm = Object.assign({}, this.formBackup)
} else {
this.getroleOrgList()
}
},
add() {
this.dialogTitle = '新增'
this.editDialog = true
this.roleForm = Object.assign({}, this.formBackup)
},
editRow(row) {
this.dialogTitle = '编辑'
this.editDialog = true
this.roleForm = Object.assign({}, row)
},
delRow(row) {
this.$confirm('确定要删除该角色吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
delOrgroles({
sid: row.sid,
}).then((res) => {
this.getroleOrgList()
this.$message({
type: 'success',
message: '删除成功!',
})
})
})
},
//
save() {
if (this.roleForm.sid) {
putOrgroles(this.roleForm).then((res) => {
if (res.code == '200') {
this.getroleOrgList()
this.editDialog = false
this.$message({
message: res.msg,
type: 'success',
})
}
})
} else {
saveOrgroles(this.roleForm).then((res) => {
if (res.code == '200') {
this.getroleOrgList()
this.activeName = 'roleList'
this.$message({
message: res.msg,
type: 'success',
})
}
})
}
},
//
enabledChange(value, row) {
setRoleEnable({
isEnable: value,
sid: row.sid,
}).then((res) => {
this.$message({
type: 'success',
message: res.msg,
})
})
},
//
roleMenus(row) {
this.roleDialog = true
this.checkedId = []
this.roleForm.roleName = row.roleName
this.Thisrow = row
this.loading = true
let params = {
orgSid: this.$store.getters.userInfo.orgSid,
roleSid: row.sid,
userType: '2',
}
roleMenuTree(params).then((res) => {
this.treedata = res.data
this.getTreeParentNode(res.data, this.checkedId)
this.getTreeParentid(res.data)
this.loading = false
})
},
//
getTreeParentNode(menus, ids) {
for (var i = 0; i < menus.length; i++) {
if (menus[i].children && menus[i].children.length != 0) {
this.getTreeParentNode(menus[i].children, ids)
} else if (menus[i].isCheck) {
ids.push(menus[i].sid)
}
}
},
// ID
getTreeParentid(menus) {
for (var i = 0; i < menus.length; i++) {
this.chace.push(menus[i].sid)
}
},
getCheckedKeys() {
let _this = this
let roleMenus = []
this.$refs.Tree.getCheckedKeys().forEach((val) => {
roleMenus.push({
menuSid: val,
orgSid: _this.$store.getters.userInfo.orgSid,
roleSid: _this.Thisrow.sid,
})
})
let parentTrue = this.$refs.Tree.getHalfCheckedKeys()
for (let i = 0; i < parentTrue.length; i++) {
for (let j = 0; j < this.chace.length; j++) {
if (parentTrue[i] == this.chace[j]) {
parentTrue.splice(i, 1)
}
}
}
parentTrue.forEach((val) => {
roleMenus.push({
menuSid: val,
orgSid: _this.$store.getters.userInfo.orgSid,
roleSid: _this.Thisrow.sid,
})
})
saveorgrolemenus({
roleSid: _this.Thisrow.sid,
roleMenus: roleMenus,
}).then((res) => {
this.roleDialog = false
this.$message({
message: res.msg,
type: 'success',
})
})
},
},
}
</script>
<style scoped="scoped">
.my-tabs {
margin-top: 10px;
}
</style>

220
anrui-base/anrui-base-ui/src/views/system-admin/UserAdminister/components/client.vue

@ -1,220 +0,0 @@
<template>
<div>
<div class="cline-set"><el-button type="primary" icon="el-icon-plus" @click="set_SQR()">变更被授权人</el-button></div>
<div class="tab-header">
<el-form ref="form" :inline="true" :model="search" label-width="100px">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="被委托人姓名">
<el-input v-model="search.name" clearable></el-input>
</el-form-item>
<el-form-item label="被委托日期">
<el-date-picker
v-model="search.startDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="至" label-width="23px">
<el-date-picker
v-model="search.endDate"
:picker-options="pickerStartData(search.startDate)"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-button @click="onSearch()">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- table -->
<div class="table-describe clearfix">
<h4 style="">被委托人列表</h4>
<pagination class="pagesize" layout="sizes" :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
</div>
<el-table :data="clientTable" border style="width: 100%;">
<el-table-column label="序号" width="50px" type="index" align="center">
</el-table-column>
<el-table-column prop="name" label="姓名" align="center">
</el-table-column>
<el-table-column prop="idNo" label="身份证号码" align="center">
</el-table-column>
<el-table-column prop="mobile" label="手机号码" align="center">
</el-table-column>
<el-table-column prop="startDate" label="开始日期" align="center">
</el-table-column>
<el-table-column prop="endDate" label="结束日期" align="center">
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
<!-- 变更授权ren -->
<el-dialog title="本单位人员列表" width="70%" :visible.sync="dialogTable" append-to-body>
<div class="clearfix">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="search" label-width="60px">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="姓名:">
<el-input v-model="search1.name" clearable></el-input>
</el-form-item>
<el-button @click="set_SQR()">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
<div class="table-describe clearfix">
<h4 style="">本单位人员列表</h4>
<pagination class="pagesize" layout="sizes" :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
</div>
<el-table :data="gridData" border style="width: 100%;">
<el-table-column label="序号" width="50px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" width="160px" align="center">
<template slot-scope="scope">
<el-button @click="setRole(scope.row)" type="primary" size="mini">
变更为授权委托人
</el-button>
</template>
</el-table-column>
<el-table-column prop="name" label="姓名" align="center">
</el-table-column>
<el-table-column prop="idNO" label="身份证号码" align="center">
</el-table-column>
<el-table-column prop="mobile" label="手机号码" align="center" width="140px">
</el-table-column>
</el-table>
<pagination :total="page1.total" :page.sync="page1.current" :limit.sync="page1.size" @pagination="pagination1"/>
</div>
</el-dialog>
</div>
</template>
<script>
import { clientList, setclientList, doClientAlter } from '@/api/system/userAdminister/client.js'
export default {
data() {
return {
activeName: 'first',
search: {
endDate: "",
name: "",
startDate: "",
orgSid: this.$store.getters.userInfo.orgSid
},
page: {
total: 0, //
current: 1, //
size: 10, //
},
clientTable: [],
dialogTable: false,
search1: {
endDate: "",
name: "",
startDate: "",
orgSid: this.$store.getters.userInfo.orgSid
},
page1: {
total: 0,
current: 1,
size: 10,
},
gridData:[]
};
},
mounted() {
this.getclientList()
},
methods: {
getclientList(){
let params = this.page
params.params = this.search
clientList(params).then(res=>{
this.page.total = res.data.total
this.clientTable = res.data.records
})
},
pickerStartData(newtime){
return {
disabledDate(time) { return time.getTime() < new Date(newtime) - 1000*60*60*24 }
}
},
handleClick(tab, event) {
console.log(tab, event);
},
onSearch(){
this.getclientList()
},
//
pagination(val) {
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getclientList()
},
pagination1(){
this.page.current = val.pageNum
this.page.size = val.pageSize
this.set_SQR()
},
set_SQR(row){
this.dialogTable = true
let params = this.page1
params.params = this.search1
setclientList(params).then(res =>{
this.page1.total = res.data.total
this.gridData = res.data.records
})
},
//
setRole(row){
console.log(row)
let params = {
orgSid: this.$store.getters.userInfo.orgSid,
name: row.name,
staffSid: row.staffSid,
mobile: row.mobile,
idNo: row.idNO
}
doClientAlter(params).then(res => {
if(res.code == '200'){
this.getclientList()
this.dialogTable = false
this.$message({
message: res.msg,
type: 'success'
})
}
})
}
}
};
</script>
<style>
.clearfix{
zoom: 1;
}
.clearfix:before,
.clearfix:after{
width: 100%;
display: table;
content: "";
height: 0;
visibility: hidden;
}
.clearfix:after{
clear: both;
}
.cline-set{
padding-bottom: 10px;
margin-bottom: 10px;
border-bottom: 1px solid #018ad2;
}
</style>

277
anrui-base/anrui-base-ui/src/views/system-admin/UserAdminister/components/user.vue

@ -1,277 +0,0 @@
<template>
<div>
<div class="tab-header">
<el-form ref="form" :inline="true" :model="search" label-width="80px">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="用户姓名">
<el-input v-model="search.xm" clearable></el-input>
</el-form-item>
<el-form-item label="部门名称">
<el-input v-model="search.deptmentName" clearable></el-input>
</el-form-item>
<el-button @click="getOrgUserList()">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- table -->
<div class="table-describe clearfix">
<h4 style="">本单位用户列表</h4>
<pagination class="pagesize" layout="sizes" :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
</div>
<el-table :data="userTable" border style="width: 100%;">
<el-table-column label="序号" width="50px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" width="300px" align="center">
<template slot-scope="scope">
<el-button @click="setRole(scope.row)" type="primary" size="mini">
设置角色
</el-button>
<el-button @click="setOrg(scope.row)" type="primary" size="mini">
设置部门
</el-button>
<el-button @click="initPwd(scope.row)" type="danger" size="mini">
初始化密码
</el-button>
</template>
</el-table-column>
<el-table-column prop="userName" label="用户名" align="center">
<template slot-scope="scope">
<span class="tablerow-click" @click="userinfo(scope.row)">{{scope.row.userName}}</span>
</template>
</el-table-column>
<el-table-column prop="roleName" label="角色名称" align="center">
</el-table-column>
<el-table-column prop="idNo" label="身份证号码" align="center">
</el-table-column>
<el-table-column prop="name" label="真实姓名" width="120px" align="center">
</el-table-column>
<el-table-column prop="mobile" label="手机号码" align="center" width="140px">
</el-table-column>
<el-table-column prop="deptmentName" label="所属部门" align="center">
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
<!-- 角色设置 -->
<el-dialog title="设置角色" :visible.sync="roleDialog" width="30%">
<el-form :model="roleForm" :rules="rules" ref="roleForm">
<el-form-item label="角色名称" :label-width="formLabelWidth" prop="roleSid">
<el-select v-model="roleForm.roleSid" placeholder="请选择">
<el-option v-for="item in roleList"
:key="item.sid"
:label="item.roleName"
:value="item.sid"
></el-option>
</el-select>
<el-button type="primary" size='mini' @click="toNav('RoleAdminister')" style="margin-left: 10px;" circle icon="el-icon-plus"></el-button>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="saveRole('roleForm')"> </el-button>
<el-button @click="roleDialog = false"> </el-button>
</div>
</el-dialog>
<!-- 部门设置 -->
<el-dialog title="部门设置" :visible.sync="bm_Dialog" width="30%">
<el-form :model="bm_Form" :rules="rules" ref="bm_Form">
<el-form-item label="部门名称" :label-width="formLabelWidth" prop="departmentSid">
<!-- <el-select v-model="bm_Form.departmentSid" placeholder="请选择">
<el-option v-for="item in bm_List"
:key="item.departmentSid"
:label="item.departmentName"
:value="item.departmentSid"
></el-option>
</el-select> -->
<el-cascader
v-model="bm_Form.departmentSid"
:options="treedata"
:props="props"></el-cascader>
<el-button type="primary" size='mini' @click="toNav('deptManage')" style="margin-left: 10px;" circle icon="el-icon-plus"></el-button>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="saveOrg('bm_Form')"> </el-button>
<el-button @click="bm_Dialog = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { orgUserList } from '@/api/system/userAdminister/index.js'
import { orgrolesList, saveOrgRole, getOrgList, saveDepartment } from '@/api/system/userAdminister/index.js'
import { initPwd } from '@/api/system/user/Auser.js'
import { getOrgTree } from '@/api/system/departments/departments.js'
export default {
data() {
return {
activeName: 'first',
search: {
userName: '',
xm: '',
orgSid: this.$store.getters.userInfo.orgSid
},
props: {
value: "sid",
label: "name",
children: "orgDepartmentVoList"
},
treedata:null,
page: {
total: 0, //
current: 1, //
size: 10, //
},
userTable: [],
clientTable: [],
//
formLabelWidth: '100',
roleDialog: false,
roleList: [],
roleForm: {
orgSid: this.$store.getters.userInfo.orgSid,
roleSid: "",
userSid: ""
},
//
bm_Dialog: false,
bm_Form: {departmentSid: ''},
bm_List: [],
rules: {
roleSid: [
{ required: true, message: '请选择角色名称', trigger: 'change' }
],
departmentSid: [
{ required: true, message: '请选择部门名称', trigger: 'change' }
],
}
};
},
mounted() {
this.getOrgUserList()
orgrolesList({orgSid: this.$store.getters.userInfo.orgSid,roleName:''}).then(res => {
this.roleList = res.data
})
this.getOrgTree()
getOrgList(this.$store.getters.userInfo.orgSid).then(res => {
this.bm_List = res.data
})
},
methods: {
// +
getOrgUserList(){
let params = this.page
params.params = this.search
orgUserList(this.page).then(res=>{
this.page.total = res.data.total
this.userTable = res.data.records
})
},
//
pagination(val) {
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getOrgUserList()
},
getOrgTree(){ //
function treeArr(data){
if (data.length > 0) {
for (var i = 0; i < data.length; i++) {
if(data[i].orgDepartmentVoList.length > 0){
treeArr(data[i].orgDepartmentVoList)
} else {
delete data[i].orgDepartmentVoList
}
}
}
}
getOrgTree({organizationSid: this.$store.getters.userInfo.orgSid}).then(res => {
let tree = res.data[0].orgDepartmentVoList
treeArr(tree)
this.treedata = tree
})
},
// ID
setRole(row){
this.roleDialog = true
this.roleForm.userSid = row.sid
},
//
saveRole(formName){
this.$refs[formName].validate((valid) => {
if (valid) {
saveOrgRole(this.roleForm).then(res => {
if(res.code == "200"){
this.roleDialog = false
this.getOrgUserList()
this.$message({
message: res.msg,
type: 'success'
})
}
})
} else {
console.log('error submit!!');
return false;
}
});
},
// ID
setOrg(row){
this.bm_Dialog = true
this.bm_Form.departmentSid = ''
this.$set(this.bm_Form,'staffSid',row.staffSid)
},
//
saveOrg(formName){
this.$refs[formName].validate((valid) => {
if (valid) {
let params = { //
departmentSid: this.bm_Form.departmentSid[this.bm_Form.departmentSid.length-1],
staffSid: this.bm_Form.staffSid,
}
saveDepartment(params).then(res => {
if(res.code == "200"){
this.getOrgUserList()
this.bm_Dialog = false
this.$message({
message: res.msg,
type: 'success'
})
}
})
} else {
console.log('error submit!!');
return false;
}
});
},
initPwd(row){
this.$confirm('此操作将初始化该用户密码, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
initPwd({sid: row.sid}).then(res => {
this.$message({
type: 'success',
message: res.msg
});
})
})
},
toNav(src){
this.$router.push("/"+src);
}
}
};
</script>
<style scoped="scoped">
.el-select > .el-input {
display: block;
width: 300px;
}
</style>

39
anrui-base/anrui-base-ui/src/views/system-admin/UserAdminister/index.vue

@ -1,39 +0,0 @@
<template>
<el-tabs class="my-tabs" v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="用户列表" name="first">
<User></User>
</el-tab-pane>
<el-tab-pane label="被委托人列表" name="second">
<Client></Client>
</el-tab-pane>
</el-tabs>
</template>
<script>
import User from './components/user.vue'
import Client from './components/client.vue'
export default {
components:{Client, User},
data() {
return {
activeName: 'first'
};
},
methods: {
handleClick(tab, event) {
}
}
}
</script>
<style lang="scss">
.my-tabs{
margin-top: 10px;
.el-date-editor .el-range-separator{
line-height: 26px;
}
.tab-header .el-form-item .el-input__icon {
line-height: 26px;
}
}
</style>

456
anrui-base/anrui-base-ui/src/views/system-admin/check/company.vue

@ -1,456 +0,0 @@
<template>
<div class="container">
<!-- 查询 -->
<tab-search>
<div slot="from">
<el-form ref="form" :inline="true" :model="page.params" >
<el-form-item label="区域" label-width="50px">
<AreaPicker @areaPicker="areaPicker"
:province="page.params.province"
:city="page.params.city"
:county="page.params.county"></AreaPicker>
</el-form-item>
<el-form-item label="单位名称" label-width="80px">
<el-input v-model="page.params.name" clearable></el-input>
</el-form-item>
<!-- <el-form-item label="状态" label-width="50px">
<el-select v-model="page.params.state" placeholder="请选择状态">
<el-option label="全部" :value="0">
</el-option>
<el-option label="未审核" :value="1">
</el-option>
<el-option label="已审核" :value="2">
</el-option>
</el-select>
</el-form-item> -->
</el-form>
</div>
<div slot="btn">
<el-button @click="onSearch()">查询</el-button>
<el-button @click="resetSearch()">重置</el-button>
</div>
</tab-search>
<!-- table -->
<el-table :data="tableData" border style="width: 100%;">
<el-table-column prop="id" label="序号" width="60" align="center">
<template slot-scope="scope">
{{(scope.$index+1)+(page.current-1)*page.size}}
</template>
</el-table-column>
<el-table-column label="操作" width="180" align="center">
<template slot-scope="scope">
<el-button @click="orgRegister(scope.row)" type="primary" size="mini">
{{scope.row.state == 1 ? "审核":"查看"}}
</el-button>
<el-button @click="handledelete(scope.row)" type="danger" size="mini">
删除
</el-button>
</template>
</el-table-column>
<el-table-column prop="orgCode" label="单位代码" align="center">
</el-table-column>
<el-table-column label="单位名称" align="center">
<template slot-scope="scope">
<span class="tablerow-click" @click="orgRegister(scope.row)">{{scope.row.name}}</span>
</template>
</el-table-column>
<el-table-column label="所在区域" align="center">
<el-table-column prop="province" label="省" align="center">
</el-table-column>
<el-table-column prop="city" label="市" align="center">
</el-table-column>
<el-table-column prop="county" label="区/县" align="center">
</el-table-column>
</el-table-column>
<el-table-column prop="contactMan" label="负责人" align="center">
</el-table-column>
<el-table-column prop="contactMobile" label="手机号码" align="center">
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
<!-- 审核窗口 -->
<el-dialog :visible.sync="dialogVisible" :append-to-body="true" width="70%" class="company" style="margin-top: -10vh;">
<div class="zcxx" >
<p>审核单位注册信息</p>
<el-button v-if="showbtn == 1" type="primary" @click="dialogVisible = false" icon="el-icon-back" style="background-color: #0272c8; margin-right: 10px;">返回</el-button>
<!-- <el-button type="primary" icon="el-icon-position" style="background-color: #018ad2; margin-right: 10px;">导出</el-button> -->
<el-button v-if="showbtn == 1" type="primary" @click="handleVerify(3)" icon="el-icon-circle-close" style="background-color: #d6432b;margin-right: 10px;">不通过</el-button>
<el-button v-if="showbtn == 1" type="primary" @click="handleVerify(2)" icon="el-icon-circle-check" style="background-color: #198e08;">通过</el-button>
</div>
<table style="font-size: 16px;">
<tr>
<td >法人证书</td>
<td >{{orgInfo.orgCode}}</td>
<td >单位全称</td>
<td >{{orgInfo.name}}<span>点击验证企业</span></td>
</tr>
<tr>
<td >法定代表人姓名</td>
<td >{{orgInfo.contactMan}}</td>
<td >单位类别</td>
<td >{{orgInfo.dwType}}</td>
</tr>
<tr>
<td>电话</td>
<td>{{orgInfo.contactMobile}}</td>
<td>单位地理位置</td>
<td>{{orgInfo.gisInfo}}</td>
</tr>
<tr>
<td>所在区域</td>
<td>{{orgInfo.region}}</td>
<td>单位级别</td>
<td>{{orgInfo.dwjb}}</td>
</tr>
<tr>
<td>单位通讯地址</td>
<td colspan="3">
{{orgInfo.postAddress}}
</td>
</tr>
<tr>
<td>单位注册地址</td>
<td colspan="3">{{orgInfo.orgAddress}}</td>
</tr>
<tr>
<td>单位营业执照副本复印件</td>
<td>
<eimage :url="orgInfo.businessLicense"></eimage>
</td>
</tr>
</table>
<div class="zcxx" style="margin-top: 20px;">
<p>被委托人信息</p>
</div>
<table class="bwtr" style="font-size: 16px;">
<tr>
<td>身份证号</td>
<td>{{orgInfo.idNo}}</td>
<td>姓名</td>
<td>{{orgInfo.name}}</td>
</tr>
<tr>
<td>用户名</td>
<td>{{orgInfo.userName}}</td>
<td>手机号码</td>
<td>{{orgInfo.mobile}}</td>
</tr>
<tr>
<td>单位管理员头像</td>
<td>
<eimage :url="orgInfo.photoPath"></eimage>
</td>
<td>授权书复印件</td>
<td>
<eimage :url="orgInfo.businessLicense"></eimage>
</td>
</tr>
<tr>
<td>身份证正面复印件</td>
<td>
<eimage :url="orgInfo.idFrontPhoto"></eimage>
</td>
<td>身份证反面复印件</td>
<td>
<eimage :url="orgInfo.idBackPhoto"></eimage>
</td>
</tr>
</table>
</el-dialog>
<remarks :dialogBack.sync="dialogBack" @verifyBack="verifyBack"></remarks>
</div>
</template>
<script>
import organization from '@/api/system/organization/organization.js'
import AreaPicker from '@/components/AreaPicker/index.vue'
import remarks from './remarks/index.vue'
export default {
components:{AreaPicker, remarks},
data() {
return {
imageUrl: '',
dialogVisible: false,
disabled: false,
dialogBack: false,
showbtn: true,
organizationSid: '',// SID
page: {
total: 10, //
current: 1, //
params: {
city: '',
county: '',
name: '',
province: '',
state: 0,
},
size: 10, //
},
pageBackup: Object.assign({}, this.page),
tableData: [],
orgInfo:{
"attorney": "",
"businessLicense": "",
"contactMan": "",
"contactMobile": "",
"dwType": "",
"gisInfo": "",
"idBackPhoto": "",
"idFrontPhoto": "",
"orgCode": "",
"organizationName": "",
"photoPath": "",
"postAddress": "",
"region": "",
"idNo": "",
"mobile": "",
"name": "",
"userName": ""
},
orgBackup: Object.assign({}, this.orgInfo),
}
},
mounted() {
this.getverifyList(this.page)
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getverifyList(this.page)
},
getverifyList(data){ //
organization.verifyList(data).then(res => {
console.log(res)
this.tableData = res.data.records
this.page.total = res.data.total
})
},
onSearch() { //
this.getverifyList(this.page)
},
resetSearch(){
this.page = {
total: 20, //
current: 1, //
params: {
city: '',
county: '',
name: '',
province: '',
state: 0,
},
size: 10, //
}
this.getverifyList(this.page)
},
areaPicker(val){//
let arr = val.split('/')
this.page.params.province = arr[1] || ""
this.page.params.city = arr[2] || ""
this.page.params.county = arr[3] || ""
},
orgRegister(row){ //
this.dialogVisible = true
this.organizationSid = row.sid
this.showbtn = row.state
this.orgInfo = Object.assign({}, this.orgBackup)
let params = {
organizationSid: row.sid
}
organization.orgRegisterDetails(params).then(res => {
console.log(res)
this.orgInfo = res.data
})
},
verify(state){ //
let params ={
state: state+'',
organizationSid: this.organizationSid
}
organization.verify(params).then(res => {
console.log(res)
this.dialogVisible = false
this.$message({
type: 'success',
message: res.msg
});
this.getverifyList(this.page)
})
},
//
handleVerify(state){
if(state == 2){
let params ={ //
state: state,
remarks:'',
organizationSid: this.organizationSid
}
organization.verify(params).then(res => {
this.getverifyList(this.page)
this.$message({
type: 'success',
message: res.msg
});
this.dialogVisible = false
})
}else{
this.dialogBack = true
}
},
//
verifyBack(remarks){
let params ={ //
state: 3,
remarks:remarks,
organizationSid: this.organizationSid
}
organization.verify(params).then(res => {
this.getverifyList(this.page)
this.$message({
type: 'success',
message: res.msg
});
this.dialogBack = false
this.dialogVisible = false
})
},
handledelete(row) {
this.$confirm('确认要删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
organization.del({sid: row.sid}).then(res => {
this.getverifyList(this.page)
this.$message({
type: 'success',
message: '删除成功!'
});
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
}
}
}
</script>
<style lang="scss">
.company .el-image .el-image__inner--center{
height: 150px !important;
}
</style>
<style lang="scss" scoped="scoped">
.el-image{
width: 180px;
height: 150px;
}
.zcxx {
color: #000;
width: 98%;
margin: 0px auto 30px;
background-color: #f7f9fc;
border: 1px solid #e6e9f0;
height: 60px;
line-height: 60px;
p {
font-size: 16px;
float: left;
margin-top: 0px;
margin-left: 10px;
font-weight: bold;
width: 300px;
}
.el-button {
float: right;
margin-top: 13px;
border: none;
width: 80px;
padding: 0;
text-align: center;
padding-top: 10px;
padding-bottom: 10px;
}
}
table {
width: 98%;
margin: 0 auto;
tr {
height: 45px;
vertical-align: top;
}
td:first-child {
text-align: right;
}
td:nth-child(2) {
padding-left: 30px;
}
td:nth-child(3) {
text-align: right;
}
td:nth-child(4) {
padding-left: 30px;
}
span {
font-size: 14px;
color: #015bff;
margin-left: 20px;
}
.sfz {
border: 1px solid #e6e9f0;
width: 45%;
}
#bei {
width: 21.4%;
}
}
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 148px;
height: 148px;
line-height: 148px;
text-align: center;
}
.avatar {
width: 148px;
height: 148px;
display: block;
}
</style>

307
anrui-base/anrui-base-ui/src/views/system-admin/check/people.vue

@ -1,307 +0,0 @@
<!-- 个人注册 -->
<template>
<div class="container">
<!-- 查询 -->
<tab-search>
<div slot="from">
<el-form ref="form" :inline="true" label-width="80px">
<el-form-item label="用户名">
<el-input v-model="page.params.userName" clearable></el-input>
</el-form-item>
</el-form>
</div>
<div slot="btn">
<el-button @click="onSearch()">查询</el-button>
<el-button @click="resetSearch()">重置</el-button>
</div>
</tab-search>
<!-- table -->
<el-table :data="tableData" border style="width: 100%;">
<el-table-column prop="id" label="序号" width="60" align="center">
<template slot-scope="scope">
{{(scope.$index+1)+(page.current-1)*page.size}}
</template>
</el-table-column>
<el-table-column label="操作" width="180" align="center">
<template slot-scope="scope">
<el-button @click="userRegister(scope.row)" type="primary" size="mini">
{{scope.row.state == 1 ? "审核":"已审核"}}
</el-button>
<el-button @click.stop="Rowdelete(scope.row)" type="danger" size="mini">
删除
</el-button>
</template>
</el-table-column>
<el-table-column prop="userName" label="用户名" align="center">
</el-table-column>
<el-table-column prop="idNo" label="身份证号码" align="center">
</el-table-column>
<el-table-column prop="name" label="真实姓名" align="center">
</el-table-column>
<el-table-column prop="mobile" label="手机号码" align="center">
</el-table-column>
<el-table-column prop="createTime" label="注册日期" align="center">
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
<!-- 审核 -->
<el-dialog :visible.sync="dialogVisible" :append-to-body="true" width="70%" style="margin-top: -10vh;">
<div class="zcxx" v-if="showbtn == 1">
<p>审核注册个人信息</p>
<el-button type="primary" @click="dialogVisible=false" icon="el-icon-back" style="background-color: #0272c8;margin-right: 10px;">返回</el-button>
<el-button type="primary" @click="handleVerify(3)" icon="el-icon-circle-close" style="background-color: #d6432b; margin-right: 10px;">不通过</el-button>
<el-button type="primary" @click="handleVerify(2)" icon="el-icon-circle-check" style="background-color: #198e08;">通过</el-button>
</div>
<table style="font-size: 18px;">
<tr>
<td>真实姓名</td>
<td>{{userInfo.name }}</td>
<td>身份证号</td>
<td>{{userInfo.idNo}}</td>
</tr>
<tr>
<td>用户名</td>
<td>{{userInfo.userName}}</td>
<td>手机号</td>
<td>{{userInfo.mobile}}</td>
</tr>
<tr style="vertical-align: middle;">
<td>身份证正面照片</td>
<td>
<eimage :url="userInfo.idFrontPhoto"></eimage>
</td>
<td>身份证背面照片</td>
<td>
<eimage :url="userInfo.idBackPhoto"></eimage>
</td>
</tr>
</table>
</el-dialog>
<remarks :dialogBack.sync="dialogBack" @verifyBack="verifyBack"></remarks>
</div>
</template>
<script>
import remarks from './remarks/index.vue'
import user from '@/api/system/user/user1.js'
export default {
components:{remarks},
data() {
return {
dialogVisible: false,
showbtn: true,
dialogBack: false,
page: {
total: 20, //
current: 1, //
params: { //
state: '',
userName: '',
state: 1
},
size: 10, //
},
pageBackup: Object.assign({}, this.page),
tableData: [], // tabel
userInfo:{ //
"idBackPhoto": "",
"idFrontPhoto": "",
"idNo": "",
"mobile": "",
"name": "",
"userName": ""
},
userBackup: Object.assign({}, this.userInfo),
}
},
mounted() {
this.getverifyList(this.page)
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getverifyList(this.page)
},
getverifyList(data){ //
user.verifyList(data).then(res => {
console.log(res)
this.tableData = res.data.records
this.page.total = res.data.total
})
},
onSearch() { //
this.getverifyList(this.page)
},
resetSearch(){
this.page = {
total: 20, //
current: 1, //
params: { //
state: '',
userName: '',
state: 1
},
size: 10, //
}
this.getverifyList(this.page)
},
userRegister(row){ //
console.log(row.userName)
this.dialogVisible = true
this.showbtn = row.state
this.userInfo = Object.assign({}, this.userBackup)
let params = { //
userName: row.userName
}
user.userRegisterDetails(params).then(res => {
console.log(res)
this.userInfo = res.data
})
},
verify(state){ //
},
//
handleVerify(state){
if(state == 2){
let params ={ //
state: state,
remarks:'',
userName: this.userInfo.userName,
}
user.verify(params).then(res => {
this.getverifyList(this.page)
this.$message({
type: 'success',
message: res.msg
});
this.dialogVisible = false
})
}else{
this.dialogBack = true
}
},
//
verifyBack(remarks){
let params ={ //
state: 3,
remarks:remarks,
userName: this.userInfo.userName,
}
user.verify(params).then(res => {
this.getverifyList(this.page)
this.$message({
type: 'success',
message: res.msg
});
this.dialogBack = false
this.dialogVisible = false
})
},
Rowdelete(row) { //
this.$confirm('确认要删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
user.userNameDelete({userName: row.userName}).then(res => {
this.getverifyList(this.page)
this.$message({
type: 'success',
message: '删除成功!'
});
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
}
},
}
</script>
<style lang="scss" scoped="scoped">
.el-image{
width: 180px;
height: 150px;
}
.zcxx {
color: #000;
width: 98%;
margin: 0px auto 30px;
background-color: #f7f9fc;
border: 1px solid #e6e9f0;
height: 60px;
line-height: 60px;
p {
font-size: 18px;
float: left;
margin-top: 0px;
margin-left: 10px;
font-weight: bold;
width: 300px;
}
.el-button {
float: right;
margin-top: 13px;
border: none;
width: 80px;
padding: 0;
text-align: center;
padding-top: 10px;
padding-bottom: 10px;
}
}
table {
width: 98%;
margin: 0 auto;
tr {
height: 45px;
vertical-align: top;
}
td:first-child {
text-align: right;
width: 20%;
}
td:nth-child(2) {
padding-left: 30px;
width: 23%;
}
td:nth-child(3) {
text-align: right;
width: 20%;
}
td:nth-child(4) {
padding-left: 30px;
}
span {
font-size: 14px;
color: #015bff;
margin-left: 20px;
}
.sfz {
border: 1px solid #e6e9f0;
width: 45%;
}
#bei {
width: 21.4%;
}
}
</style>

377
anrui-base/anrui-base-ui/src/views/system-admin/check/personnel.vue

@ -1,377 +0,0 @@
<!-- 人员绑定 -->
<template>
<div class="container">
<!-- 查询 -->
<tab-search>
<div slot="from">
<el-form ref="form" :inline="true" label-width="40px">
<el-form-item label="姓名">
<el-input v-model="page.params.userName" clearable></el-input>
</el-form-item>
<el-button @click="onSearch()">查询</el-button>
<!-- <el-button @click="resetSearch()">重置</el-button> -->
</el-form>
</div>
<div slot="btn">
</div>
</tab-search>
<!-- table -->
<el-table :data="tableData" border style="width: 100%;">
<el-table-column prop="id" label="序号" width="60" align="center">
<template slot-scope="scope">
{{(scope.$index+1)+(page.current-1)*page.size}}
</template>
</el-table-column>
<el-table-column label="操作" width="190" align="center">
<template slot-scope="scope">
<el-button @click="Register(scope.row)" type="primary" size="mini">
{{scope.row.state == 1 ? "审核":"已通过"}}
</el-button>
</template>
</el-table-column>
<el-table-column prop="idNo" label="身份证号码" align="center">
</el-table-column>
<el-table-column prop="name" label="真实姓名" align="center">
</el-table-column>
<el-table-column prop="mobile" label="手机号码" align="center">
</el-table-column>
<el-table-column prop="userName" label="用户名" align="center">
</el-table-column>
</el-table>
<!-- 分页 -->
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination" />
<!-- 审核 -->
<el-dialog :visible.sync="dialogVisible" :append-to-body="true" width="70%" style="margin-top: -10vh;">
<div class="zcxx" v-if="showbtn == 1">
<p>审核单位人员信息</p>
<el-button type="primary" @click="dialogVisible=false" icon="el-icon-back" style="background-color: #0272c8;margin-right: 10px;">返回</el-button>
<el-button type="primary" @click="verify(3)" icon="el-icon-circle-close" style="background-color: #d6432b; margin-right: 10px;">
不通过
</el-button>
<el-button type="primary" @click="setinnerVisible" icon="el-icon-circle-check" style="background-color: #198e08;">
通过
</el-button>
</div>
<table style="font-size: 16px;">
<tr>
<td>真实姓名</td>
<td>{{verifyInfo.name }}</td>
<td>身份证号</td>
<td>{{verifyInfo.idNo}}</td>
</tr>
<tr>
<td>用户名</td>
<td>{{verifyInfo.userName}}</td>
<td>手机号</td>
<td>{{verifyInfo.mobile}}</td>
</tr>
<tr style="vertical-align: middle;">
<td>身份证正面照片</td>
<td>
<eimage :url="verifyInfo.idFrontPhoto"></eimage>
</td>
<td>身份证背面照片</td>
<td>
<eimage :url="verifyInfo.idBackPhoto"></eimage>
</td>
</tr>
</table>
<el-dialog
width="30%"
title="绑定部门"
:visible.sync="innerVisible"
append-to-body>
<div class="block">
<label class="demonstration">请选择部门: </label>
<el-cascader
v-model="departmentSid"
:options="treedata"
:props="props"></el-cascader>
<el-button type="primary" size='mini' @click="toNav('deptManage')" style="margin-left: 10px;" circle icon="el-icon-plus"></el-button>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="setDepartment(0)">保存</el-button>
<el-button @click="innerVisible = false">返回</el-button>
</span>
</el-dialog>
</el-dialog>
<el-dialog
width="30%"
title="绑定部门"
:visible.sync="bmdialog"
append-to-body>
<div class="block">
<label class="demonstration">请选择部门: </label>
<el-cascader
v-model="departmentSid"
:options="treedata"
:props="props"></el-cascader>
<el-button type="primary" size='mini' @click="toNav('RoleAdminister')" style="margin-left: 10px;" circle icon="el-icon-plus"></el-button>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="setDepartment(1)">保存</el-button>
<el-button @click="bmdialog = false">返回</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import staffOrg from '@/api/jlcyry/staffOrg/staffOrg.js'
import departments from '@/api/system/departments/departments.js'
import { getOrgTree } from '@/api/system/departments/departments.js'
export default {
data() {
return {
props: {
value: "sid",
label: "name",
children: "orgDepartmentVoList"
},
departmentSid: '',
dialogVisible: false,
dialogFormVisible: false,
innerVisible: false,
bmdialog: false,
showbtn: true,
departmentTree: [],
department: '',
page: {
total: 0, //
current: 1, //
params: {},
size: 10, //
},
pageBackup: Object.assign({}, this.page),
tableData: [],
treedata: null,
verifyInfo: { //
"idBackPhoto": "",
"idFrontPhoto": "",
"idNo": "",
"mobile": "",
"name": "",
"userName": ""
},
verifyBackup: Object.assign({}, this.verifyInfo),
}
},
mounted() {
this.getverifyList(this.page)
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getverifyList(this.page)
},
getverifyList(data) { // table
staffOrg.staffBingingList(data).then(res => {
this.tableData = res.data.records
this.page.total = res.data.total
})
},
onSearch() { //
this.getverifyList(this.page)
},
resetSearch() { //
this.page = {
total: 0, //
current: 1, //
params: {},
size: 10, //
},
this.getverifyList(this.page)
},
//
Register(row) {
this.dialogVisible = true
this.showbtn = row.state
this.verifyInfo = Object.assign({}, this.verifyBackup)
let params = { //
userName: row.userName
}
staffOrg.staffOrgBingingDetails(params).then(res => {
console.log(res)
this.verifyInfo = res.data
this.verifyInfo.orgSid = row.orgSid
this.verifyInfo.staffSid = row.staffSid
})
},
verify(state) { //
let params = { //
organizationSid: this.verifyInfo.orgSid,
staffSid: this.verifyInfo.staffSid,
state: state,
}
staffOrg.verify(params).then(res => {
console.log(res)
this.$message({
type: 'success',
message: res.msg
});
this.getverifyList(this.page)
this.dialogVisible = false
this.dialogFormVisible = false
})
},
setDepartment(state){
console.log(this.departmentSid)
let params = { //
departmentSid: this.departmentSid[this.departmentSid.length-1],
staffSid: this.verifyInfo.staffSid,
}
staffOrg.setUpDepartment(params).then(res => {
this.innerVisible = false
this.bmdialog = false
this.$message({
type: 'success',
message: res.msg
});
if(state == 0){
this.verify(2)
}
})
},
setinnerVisible(){
this.innerVisible = true
this.getOrgTree()
},
setbmdialog(){
this.bmdialog = true
this.getOrgTree()
},
getOrgTree(){ //
function treeArr(data){
if (data.length > 0) {
for (var i = 0; i < data.length; i++) {
if(data[i].orgDepartmentVoList.length > 0){
treeArr(data[i].orgDepartmentVoList)
} else {
delete data[i].orgDepartmentVoList
}
}
}
}
getOrgTree({organizationSid: this.$store.getters.userInfo.orgSid}).then(res => {
let tree = res.data[0].orgDepartmentVoList
treeArr(tree)
this.treedata = tree
})
},
delete(row) { //
this.$confirm('确认要删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
user.delete().then(res => {
this.$message({
type: 'success',
message: '删除成功!'
});
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
toNav(src){
this.$router.push("/"+src);
}
}
}
</script>
<style lang="scss" scoped="scoped">
.el-image {
width: 180px;
height: 150px;
}
.el-image__preview {
object-fit: none !important;
}
.demonstration{
padding-right: 10px;
}
.zcxx {
color: #000;
width: 98%;
margin: 0px auto 30px;
background-color: #f7f9fc;
border: 1px solid #e6e9f0;
height: 60px;
line-height: 60px;
p {
font-size: 18px;
float: left;
margin-top: 0px;
margin-left: 10px;
font-weight: bold;
width: 300px;
}
.el-button {
float: right;
margin-top: 13px;
border: none;
width: 80px;
padding: 0;
text-align: center;
padding-top: 10px;
padding-bottom: 10px;
}
}
table {
width: 98%;
margin: 0 auto;
tr {
height: 45px;
vertical-align: top;
}
td:first-child {
text-align: right;
width: 20%;
}
td:nth-child(2) {
padding-left: 30px;
width: 23%;
}
td:nth-child(3) {
text-align: right;
width: 20%;
}
td:nth-child(4) {
padding-left: 30px;
}
span {
font-size: 14px;
color: #015bff;
margin-left: 20px;
}
.sfz {
border: 1px solid #e6e9f0;
width: 45%;
}
#bei {
width: 21.4%;
}
}
</style>

58
anrui-base/anrui-base-ui/src/views/system-admin/check/remarks/index.vue

@ -1,58 +0,0 @@
<template>
<el-dialog title="退回原因" :visible.sync="dialogBack" :before-close="handleClose" append-to-body>
<el-form :model="formBack" :rules="rules" ref="formBack">
<el-form-item label="" prop="remarks">
<el-input type="textarea" :rows="4" v-model="formBack.remarks" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm('formBack')">退 </el-button>
<el-button @click="handleClose"> </el-button>
</div>
</el-dialog>
</template>
<script>
export default {
props: {
dialogBack: Boolean,
},
data() {
return {
formBack: {
remarks: ''
},
rules: {
name: [{
required: true,
message: '请输入',
trigger: 'blur'
}]
}
};
},
methods: {
//
handleClose(done) {
this.$emit('update:dialogBack', false)
this.$nextTick(() => {
done()
})
},
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
console.log(this.formBack.remarks)
this.$emit('verifyBack', this.formBack.remarks)
} else {
console.log('error submit!!');
return false;
}
});
}
}
}
</script>
<style>
</style>

151
anrui-base/anrui-base-ui/src/views/system-admin/components/orgInfo.vue

@ -1,151 +0,0 @@
<template>
<div class="orginfo">
<div class="zcxx">
<p>审核单位注册信息</p>
</div>
<table style="font-size: 16px;">
<tr>
<td>法人证书</td>
<td>{{orgInfo.orgCode}}</td>
<td>单位全称</td>
<td>{{orgInfo.name}}<span>点击验证企业</span></td>
</tr>
<tr>
<td>法定代表人姓名</td>
<td>{{orgInfo.contactMan}}</td>
<td>单位类别</td>
<td>{{orgInfo.dwType}}</td>
</tr>
<tr>
<td>电话</td>
<td>{{orgInfo.contactMobile}}</td>
<td>单位地理位置</td>
<td>{{orgInfo.gisInfo}}</td>
</tr>
<tr>
<td>所在区域</td>
<td>{{orgInfo.region}}</td>
<td>单位级别</td>
<td>{{orgInfo.dwjb}}</td>
</tr>
<tr>
<td>单位通讯地址</td>
<td colspan="3">
{{orgInfo.postAddress}}
</td>
</tr>
<tr>
<td>单位注册地址</td>
<td colspan="3">{{orgInfo.orgAddress}}</td>
</tr>
<tr>
<td>单位营业执照副本复印件</td>
<td>
<eimage :url="orgInfo.grantPhoto"></eimage>
</td>
</tr>
</table>
<div class="zcxx" style="margin-top: 20px;">
<p>被委托人信息</p>
</div>
<table class="bwtr" style="font-size: 16px;">
<tr>
<td>身份证号</td>
<td>{{orgInfo.idNo}}</td>
<td>姓名</td>
<td>{{orgInfo.name}}</td>
</tr>
<tr>
<td>用户名</td>
<td>{{orgInfo.userName}}</td>
<td>手机号码</td>
<td>{{orgInfo.mobile}}</td>
</tr>
<tr>
<td>单位管理员头像</td>
<td>
<eimage :url="orgInfo.photoPath"></eimage>
</td>
<td>授权书复印件</td>
<td>
<eimage :url="orgInfo.businessLicense"></eimage>
</td>
</tr>
<tr>
<td>身份证正面复印件</td>
<td>
<eimage :url="orgInfo.idBackPhoto"></eimage>
</td>
<td>身份证反面复印件</td>
<td>
<eimage :url="orgInfo.idFrontPhoto"></eimage>
</td>
</tr>
</table>
</div>
</template>
<script>
export default {
props: {
orgInfo: {
type: Object,
default () {
return {}
}
}
}
}
</script>
<style lang="scss" scoped="scoped">
.el-image{
width: 180px;
height: 150px;
}
.zcxx {
color: #000;
width: 98%;
margin: 0px auto 30px;
background-color: #f7f9fc;
border: 1px solid #e6e9f0;
height: 60px;
line-height: 60px;
p {
font-size: 16px;
float: left;
margin-top: 0px;
margin-left: 10px;
font-weight: bold;
width: 300px;
}
.el-button {
float: right;
margin-top: 13px;
border: none;
width: 80px;
padding: 0;
text-align: center;
padding-top: 10px;
padding-bottom: 10px;
}
}
table {
width: 100%;
margin: 0 20px;
td {
padding: 5px 0;
}
span {
font-size: 14px;
color: #015bff;
margin-left: 20px;
}
}
</style>

35
anrui-base/anrui-base-ui/src/views/system-admin/components/userInfo.vue

@ -1,35 +0,0 @@
<template>
<div class="zcxx">
<p>审核注册个人信息</p>
</div>
<table style="font-size: 18px;">
<tr>
<td>真实姓名</td>
<td>{{userInfo.name }}</td>
<td>身份证号</td>
<td>{{userInfo.idNo}}</td>
</tr>
<tr>
<td>用户名</td>
<td>{{userInfo.userName}}</td>
<td>手机号</td>
<td>{{userInfo.mobile}}</td>
</tr>
<tr style="vertical-align: middle;">
<td>身份证正面照片</td>
<td>
<eimage :src="userInfo.idFrontPhoto"></eimage>
</td>
<td>身份证背面照片</td>
<td>
<eimage :src="userInfo.idBackPhoto"></eimage>
</td>
</tr>
</table>
</template>
<script>
</script>
<style>
</style>

180
anrui-base/anrui-base-ui/src/views/system-admin/dictCommon.vue

@ -1,180 +0,0 @@
<template>
<div class="container">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="14">
<el-form-item label="数据value">
<el-input v-model="page.params.dictValue" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item style="float: right;">
<el-button type="primary" @click="onSearch()"> </el-button>
<el-button @click="add()"> </el-button>
<el-button @click="$router.go(-1)"> </el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-table :data="tableData" border style="width: 100%;">
<el-table-column label="序号" width="50px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="editRow(scope.row)">
修改
</el-button>
<el-button type="danger" size="mini" @click.native.prevent="deleteRow(scope.row)">
删除
</el-button>
</template>
</el-table-column>
<el-table-column prop="dictType" label="字典分类编码" align="center">
</el-table-column>
<el-table-column prop="dictKey" label="数据key" align="center">
</el-table-column>
<el-table-column prop="dictValue" label="数据value" align="center">
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
<!-- 分类编辑 -->
<el-dialog :title="dialogTitle + '字典分类'" :visible.sync="editDialog" width="50%">
<table class="e-table" cellspacing="0">
<tr>
<td>字典分类编码</td>
<td>
{{form.dictType}}
</td>
</tr>
<tr>
<td>数据key</td>
<td>
<el-input v-model="form.dictKey"></el-input>
</td>
</tr>
<tr>
<td>数据value</td>
<td>
<el-input v-model="form.dictValue"></el-input>
</td>
</tr>
</table>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="editDialog = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { dictCommonList, savedictCommon, putdictCommon, deldictCommon } from '@/api/system/dictType/dictCommon.js'
export default {
data() {
return {
editDialog: false,
dialogTitle: '',
form: {
dictKey: '',
dictType: '',
dictValue: '',
parentSid: ''
},
formBackup: Object.assign({}, this.form),
page: {
total: 0, //
current: 1, //
size: 10, //
params:{
dictKey: '',
dictType: '',
dictValue: '',
parentSid: '',
sidPath: '',
}
},
tableData: []
}
},
mounted() {
this.page.params.dictType = this.$route.params.dictType
this.getPageList(this.page)
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getPageList(this.page)
},
onSearch() { //
this.getPageList(this.page)
},
resetSearch(){ //
this.getPageList(this.page)
},
getPageList(data){ //
dictCommonList(data).then((res)=>{
this.tableData = res.data.records
this.page.total = res.data.total
})
},
add(){
this.dialogTitle = '新增'
this.editDialog = true
this.form = Object.assign({}, this.formBackup)
this.form.dictType = this.$route.params.dictType
},
editRow(row) {
this.dialogTitle = '编辑'
this.editDialog = true
this.form = Object.assign({}, row)
},
save(){
this.form.parentSid = this.$route.params.sid
if(this.form.sid){
putdictCommon(this.form).then(res => {
this.editDialog = false
this.getPageList(this.page)
this.$message({
message: res.msg,
type: 'success'
})
})
}else{
savedictCommon(this.form).then(res => {
this.editDialog = false
this.getPageList(this.page)
this.$message({
message: res.msg,
type: 'success'
})
})
}
},
deleteRow(row) {
this.$confirm('确定要删除该角色吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deldictCommon({sid: row.sid}).then(res => {
this.getPageList(this.page)
this.$message({
type: 'success',
message: '删除成功!'
});
})
})
},
},
}
</script>
<style lang="scss">
</style>

433
anrui-base/anrui-base-ui/src/views/system-admin/orgsetup/index.vue

@ -1,433 +0,0 @@
<template>
<div class="container" style="display: flex;">
<div class="org-tree">
<el-tree :data="treedata"
node-key="organizationSid"
:props="props"
default-expand-all
@node-click="handleNodeClick"
:expand-on-click-node="false">
<span class="custom-tree-node" slot-scope="{ node, data }"
@mouseenter="mouseenter(data)"
@mouseleave="mouseleave(data)"
@click.stop.native>
<span>{{ node.label || $store.getters.userInfo.Orgname }}</span>
<span v-show="data.del" class="handle">
<el-tooltip class="item" effect="dark" content="新增" placement="top-start">
<el-button type="text" size="mini" @click.stop="() => append(data)" icon="el-icon-circle-plus-outline">
</el-button>
</el-tooltip>
<el-tooltip v-show="data.sid" class="item" effect="dark" content="修改" placement="top-start">
<el-button type="text" size="mini" @click.stop="() => deit(data)" icon="el-icon-edit">
</el-button>
</el-tooltip>
<el-tooltip v-show="data.sid" class="item" effect="dark" content="删除" placement="top-start">
<el-button type="text" size="mini" @click.stop="() => remove(data)" icon="el-icon-delete">
</el-button>
</el-tooltip>
</span>
</span>
</el-tree>
</div>
<el-dialog title="编辑节点" :visible.sync="dialogVisible" width="40%">
<el-form :model="nodeForm">
<el-form-item label="部门名称" label-width="120px">
<el-input v-model="nodeForm.name" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="排序号" label-width="120px">
<el-input v-model="nodeForm.sortNo" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="text-center">
<el-button type="primary" @click="nodeSave()"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</div>
</el-dialog>
<div class="org-table" v-show="isshow == 'table'">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="部门名称">
<el-input v-model="page.params.name" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="onSearch()">查询</el-button>
<el-button @click="resetSearch()">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- table -->
<el-table
:data="tableData"
default-expand-all
border style="width: 100%;">
<el-table-column label="序号" type="index" width="70px" align="center">
</el-table-column>
<el-table-column label="操作" align="center" width="200px">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="editRow(scope.row)" >
编辑
</el-button>
<el-button type="danger" size="mini" @click.native.prevent="remove(scope.row)">
删除
</el-button>
</template>
</el-table-column>
<el-table-column prop="name" label="部门名称" align="center">
</el-table-column>
<el-table-column prop="contactMan" label="联系人" align="center" width="100px">
</el-table-column>
<el-table-column prop="mobile" label="联系人手机号码" width="160px" align="center">
</el-table-column>
<el-table-column prop="address" label="地址" align="center">
</el-table-column>
<el-table-column prop="sortNo" label="排序" align="center" width="50px">
</el-table-column>
<el-table-column prop="regdate" label="二维码" align="center" width="80px">
<template slot-scope="scope">
<el-button @click.native.prevent="lookRow(scope.row)" type="text" size="small">
查看
</el-button>
</template>
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
</div>
<div class="org-table" v-show="isshow == 'ewm'">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="16">
<h4 style="margin: 0;line-height: 32px;">部门二维码</h4>
</el-col>
<el-col :span="8">
<el-form-item style="float: right;">
<el-button type="primary" @click="Printewm"> </el-button>
<el-button @click="isshow = 'table'"> </el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- center -->
<div class="ewm"style="display: flex;justify-content: center; align-items: center;" ref="print">
<img style="width: 200px; height: 200px;" :src="ewmForm.qrFilePath" alt="">
<ul style="list-style:none; line-height: 32px; font-size: 16px;">
<li><label for="">部门名称: </label><span>{{ewmForm.departmentName}}</span></li>
</ul>
</div>
</div>
<!-- 新增编辑 -->
<div class="org-table" v-show="isshow == 'edit'">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="16">
<h4 style="margin: 0;line-height: 32px;"> {{ dialogTitle }}部门信息</h4>
</el-col>
<el-col :span="8">
<el-form-item style="float: right;">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="isshow = 'table'"> </el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- center -->
<div class="ediut">
<el-form ref="form" :rules="rules" :model="form" label-width="120px">
<el-form-item label="部门名称" prop="name">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="部门地理位置" prop="dlxx">
<el-input v-model="form.dlxx" readonly>
<el-button slot="append" icon="el-icon-map-location" @click='mapDialog = true'></el-button>
</el-input>
</el-form-item>
<el-form-item label="部门地址" prop="address">
<el-input v-model="form.address"></el-input>
</el-form-item>
<el-form-item label="部门联系人" prop="contactMan">
<el-input v-model="form.contactMan"></el-input>
</el-form-item>
<el-form-item label="联系电话" prop="mobile">
<el-input v-model="form.mobile"></el-input>
</el-form-item>
<el-form-item label="排序号" prop="sortNo">
<el-input v-model="form.sortNo"></el-input>
</el-form-item>
</el-form>
</div>
</div>
<Position v-if="mapDialog" :address.sync="form.address" :maker-position.sync="form.dlxx" :dialog-visible.sync="mapDialog" />
</div>
</template>
<script>
import { getOrgTree, addOrgTree, getPagelist, putOrgtree, postOrgtree, delOrgtree, getQrCode } from '@/api/system/departments/departments.js'
import Position from '@/components/amap/amap.vue'
export default {
components:{ Position },
data() {
return {
dialogVisible: false,
mapDialog: false,
dialogTitle: '',
props:{
label:"name",
children:"orgDepartmentVoList",
},
nodeForm:{
sid: '',
name: '',
sortNo:''
},
ewmForm: {
qrFilePath: '',
organizationName: '',
departmentName: '',
address: ''
},
form: {
organizationSid: '',
psid: '',
address: '',
dlxx: ''
},
formBackup: Object.assign({}, this.form),
isshow: 'table',
page: {
total: 0, //
current: 1, //
size: 10, //
params:{
name: '',
organizationSid: '',
psid: ''
}
},
tableData: [],
treedata: [],
rules:{
name:[
{ required: true, message: '请输入', trigger: 'blur' },
],
dlxx:[
{ required: true, message: '请输入', trigger: 'blur' },
],
address:[
{ required: true, message: '请输入', trigger: 'blur' },
],
contactMan:[
{ required: true, message: '请输入', trigger: 'blur' },
],
mobile:[
{ required: true, message: '请输入', trigger: 'blur' },
],
sortNo:[
{ required: true, message: '请输入', trigger: 'blur' },
]
}
}
},
mounted() {
this.getOrgTree()
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getPageList(this.page)
},
handleNodeClick(data){
this.isshow = 'table'
this.page.params.organizationSid = this.$store.getters.userInfo.orgSid
this.page.params.psid = data.sid || 0
// let params = {
// total: 0,
// current: 1,
// size: 10,
// params:{
// name: '',
// organizationSid: this.$store.getters.userInfo.orgSid,
// psid: data.sid || 0
// }
// }
this.getPageList(this.page)
},
getPageList(data){ //
getPagelist(data).then(res => {
this.tableData = res.data.records
this.page.total = res.data.total
})
},
getOrgTree(){ //
getOrgTree({organizationSid: this.$store.getters.userInfo.orgSid}).then(res => {
this.treedata = res.data
})
},
save(){
this.form.organizationSid = this.$store.getters.userInfo.orgSid
console.log(this.form)
this.form.dlxx = typeof(this.form.dlxx) == 'string' ? this.form.dlxx : this.form.dlxx.join()
if(this.form.sid){
putOrgtree(this.form).then(res => {
this.isshow = 'table'
this.getOrgTree()
this.handleNodeClick({sid: this.form.psid})
this.$message({
message: res.msg,
type: 'success'
})
})
}else{
addOrgTree(this.form).then(res => {
this.isshow = 'table'
this.getOrgTree()
this.handleNodeClick({sid: this.form.psid})
this.$message({
message: res.msg,
type: 'success'
})
})
}
},
append(data) {
console.log(data)
this.dialogTitle = '新增'
this.isshow = 'edit'
this.form = Object.assign({}, this.formBackup)
this.form.psid = data.sid || 0
this.form.organizationSid = this.$store.getters.userInfo.orgSid
this.form.address = data.orgAddress || data.address
this.form.dlxx = data.gisInfo || data.dlxx
},
editRow(row) {
this.dialogTitle = '编辑'
this.isshow = 'edit'
this.form = Object.assign({}, row)
// getRoleInfo({sid: row.sid}).then(res => {
// this.form = res.data
// // this.user = Object.assign({}, row
// })
},
deit(data){ //
console.log(data)
this.dialogVisible = true
this.nodeForm.sid = data.sid
this.nodeForm.name = data.name
this.nodeForm.sortNo = data.sortNo
},
nodeSave(){ //
postOrgtree(this.nodeForm).then(res => {
this.getOrgTree()
this.dialogVisible = false
this.$message({
message: res.msg,
type: 'success'
})
})
},
remove(data) {
this.$confirm('确定要删除该角色吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delOrgtree({sid:data.sid}).then(res => {
this.getOrgTree()
this.handleNodeClick({sid: data.psid})
this.$message({
message: res.msg,
type: 'success'
})
})
})
},
lookRow(row){ //
this.isshow = 'ewm'
getQrCode({sid: row.sid}).then(res => {
this.ewmForm = res.data
})
},
Printewm(){
this.$print(this.$refs.print) // 使
},
mouseenter(data){
this.$set(data, 'del', true)
},
mouseleave(data){
this.$set(data, 'del', false)
},
onSearch(){
this.getPageList(this.page)
},
resetSearch(){
this.page.params.name = ''
this.getPageList(this.page)
}
},
}
</script>
<style>
.el-icon-arrow-right:before {
content: '\e6e0';
color: #727272;
}
</style>
<style scoped="scoped" lang="scss">
.org-tree {
width: 240px;
min-height: 100%;
box-sizing: border-box;
padding-right: 10px;
border: 1px solid #edf1f7;
}
.org-table {
flex: 1;
// padding-left: 10px;
margin:0 10px;
border: 1px solid #edf1f7;
.ewm{
margin: 30px auto 0;
width:560px;
}
.ediut{
margin: 30px auto 0;
width:750px;
}
}
.custom-tree-node {
position: relative;
overflow: hidden;
width: 100%;
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
padding-right: 8px;
}
.handle{
position: absolute;
right: 0;
.el-button--text{
font-size: 15px;
background-color: #FFFFFF;
}
}
</style>

323
anrui-base/anrui-base-ui/src/views/system-admin/role.vue

@ -1,323 +0,0 @@
<template>
<div class="container">
<div class="tab-header">
<el-form :inline="true" :model="form" class="demo-form-inline">
<el-row :gutter="20">
<el-col :span="16">
<el-form-item label="角色名称">
<el-input v-model="page.params.roleName" placeholder="角色名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item style="float: right;">
<el-button type="primary" @click="onSearch">查询</el-button>
<el-button type="primary" @click="add()">新增</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- table -->
<el-table :data="tableData" border style="width: 100%;">
<el-table-column label="序号" width="70px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" width="260px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="roleMenus(scope.row)">
菜单授权
</el-button>
<el-button type="primary" size="mini" @click="editRow(scope.row)">
修改
</el-button>
<el-button type="danger" size="mini" @click.native.prevent="deleteRow(scope.row)">
删除
</el-button>
</template>
</el-table-column>
<el-table-column prop="roleName" label="角色名称" align="center">
</el-table-column>
<el-table-column prop="orgTypeKey" label="单位类别" align="center">
</el-table-column>
<el-table-column prop="remarks" label="备注" align="center">
</el-table-column>
<el-table-column prop="enabled" label="是否可用" width="100px" align="center">
<template slot-scope="scope">
<el-switch
v-model="scope.row.isEnable"
active-color="#13ce66"
inactive-color="#ff4949"
:active-value="1"
:inactive-value="0"
@change="enabledChange(scope.row.isEnable,scope.row)">
</el-switch>
</template>
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
<!-- 编辑角色信息 -->
<el-dialog :title="dialogTitle + '角色信息'" :visible.sync="editDialog" width="40%">
<table class="e-table" cellspacing="0">
<tr>
<td>角色名称</td>
<td>
<el-input v-model="form.roleName"></el-input>
</td>
</tr>
<tr>
<td>单位类型</td>
<td>
<el-select v-model="form.orgTypeKey" placeholder="请选择单位类型">
<el-option
v-for="item in dwlb"
:key="item.sid"
:label="item.dictValue"
:value="item.dictKey">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td>用户类型</td>
<td>
<el-select v-model="form.state" placeholder="请选择用户类型">
<el-option
v-for="item in userType"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td>备注</td>
<td>
<el-input type="textarea" v-model="form.remarks"></el-input>
</td>
</tr>
</table>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="editDialog = false"> </el-button>
</span>
</el-dialog>
<!-- 菜单授权 -->
<el-dialog title="菜单授权" :visible.sync="roleDialog" width="50%">
<el-tree
v-loading="loading"
:data="treedata"
ref="Tree"
show-checkbox
accordion
node-key="sid"
:default-checked-keys="checkedId"
@setChecked="setChecked"
:props="defaultProps"
@check-change="checkchange">
</el-tree>
<div slot="footer" class="text-center">
<el-button type="primary" @click="getCheckedKeys"> </el-button>
<el-button @click="roleDialog = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { rolePageList, saveRoleInfo, getRoleInfo, putRoleInfo, delRole, setRoleEnable } from '@/api/system/Role/roleManage.js'
import { getrolemenus, saverolemenus } from '@/api/system/roleMenus/index.js'
import { getDicts } from '@/api/system/dataDict/dataDict.js'
export default {
data() {
return {
loading: false,
dialogTitle: '',
form: {},
formBackup: Object.assign({}, this.form),
page: {
total: 0, //
current: 1, //
size: 10, //
params: {
roleName: ''
},
},
tableData: [],
editDialog: false,
treedata: [],
roleDialog: false,
defaultProps: {
children: 'children',
label: 'menuName'
},
checkedId: [],
roleSid: '',
chace: [],
userType:[],
dwlb:[]
}
},
mounted() {
this.getPageList(this.page)
getDicts("userType").then(res =>{ this.userType = res.data })
getDicts('dwlb').then(res =>{ this.dwlb = res.data })
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getPageList(this.page)
},
onSearch() { //
this.getPageList(this.page)
},
resetSearch(){ //
this.page = {
total: 0, //
current: 1, //
size: 10, //
params: {
roleName: ''
},
}
this.getPageList(this.page)
},
getPageList(data){ //
rolePageList(data).then((res)=>{
this.tableData = res.data.records
this.page.total = res.data.total
})
},
add(){
this.dialogTitle = '新增'
this.editDialog = true
this.form = Object.assign({}, this.formBackup)
},
save(){
let data = this.form
if(this.form.sid){
putRoleInfo(this.form).then(res => {
this.editDialog = false
this.getPageList(this.page)
this.$message({
message: res.msg,
type: 'success'
})
})
}else{
saveRoleInfo(data).then(res => {
this.editDialog = false
this.getPageList(this.page)
this.$message({
message: res.msg,
type: 'success'
})
})
}
},
editRow(row) {
this.dialogTitle = '编辑'
this.editDialog = true
this.form = Object.assign({}, row)
// getRoleInfo({sid: row.sid}).then(res => {
// this.form = res.data
// // this.user = Object.assign({}, row
// })
},
deleteRow(row) {
this.$confirm('确定要删除该角色吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delRole({sid: row.sid}).then(res => {
this.getPageList(this.page)
this.$message({
type: 'success',
message: '删除成功!'
});
})
})
},
enabledChange(value,row){
console.log(value,row)
setRoleEnable({isEnable:value, sid: row.sid }).then(res => {
this.$message({
type: 'success',
message: res.msg
});
})
},
roleMenus(row){ //
this.roleDialog = true
this.checkedId = []
this.roleSid = row.sid
this.loading = true
getrolemenus({roleSid: row.sid}).then(res => {
this.treedata = res.data
this.getTreeParentNode(res.data, this.checkedId)
this.getTreeParentid(res.data)
this.loading = false
})
},
//
getTreeParentNode (menus, ids) {
for (var i = 0; i < menus.length; i++) {
if (menus[i].children && menus[i].children.length != 0) {
this.getTreeParentNode(menus[i].children, ids)
}else if (menus[i].isCheck) {
ids.push(menus[i].sid)
}
}
},
// ID
getTreeParentid (menus) {
for (var i = 0; i < menus.length; i++) {
this.chace.push(menus[i].sid)
}
},
getCheckedKeys() {
let roleMenus = []
this.$refs.Tree.getCheckedKeys().forEach(val => {
roleMenus.push({
menuSid: val,
roleSid: this.roleSid
})
})
let parentTrue = this.$refs.Tree.getHalfCheckedKeys()
for(let i = 0; i < parentTrue.length;i++) {
for(let j = 0; j < this.chace.length;j++) {
if(parentTrue[i] == this.chace[j]) {
parentTrue.splice(i, 1);
}
}
}
parentTrue.forEach(val => {
roleMenus.push({
menuSid: val,
roleSid: this.roleSid
})
})
saverolemenus({roleSid: this.roleSid,roleMenus: roleMenus}).then(res => {
this.roleDialog = false
this.$message({
message: res.msg,
type: 'success'
})
})
},
setChecked(){
},
checkchange(){
console.log(this.$refs.Tree.getCheckedKeys())
console.log(this.$refs.Tree.getHalfCheckedKeys())
}
},
}
</script>
<style scoped="scoped" lang="scss">
</style>

363
anrui-base/anrui-base-ui/src/views/system-admin/user.vue

@ -1,363 +0,0 @@
<template>
<div class="container">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="16">
<el-form-item label="单位名称">
<el-input v-model="page.params.organizationName"></el-input>
</el-form-item>
<el-form-item label="用户名">
<el-input v-model="page.params.userName"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item style="float: right;">
<el-button @click="onSearch()">查询</el-button>
<el-button @click="resetSearch()">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- table -->
<div class="table-describe clearfix">
<h4 style="">用户信息列表</h4>
<pagination class="pagesize" layout="sizes" :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
</div>
<el-table :data="tableData" border style="width: 100%;">
<el-table-column label="序号" width="50px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" width="200px" align="center">
<template slot-scope="scope">
<!-- <el-button @click="getrolelist(scope.row)" type="primary" size="mini"
:disabled="!scope.row.organizationName">
设置角色
</el-button> -->
<el-button @click="initPwd(scope.row)" type="primary" size="mini">
初始化密码
</el-button>
<el-button @click="delUser(scope.row)" type="danger" size="mini">
删除
</el-button>
</template>
</el-table-column>
<el-table-column prop="userName" label="用户名" align="center">
<template slot-scope="scope">
<span class="tablerow-click" @click="userinfo(scope.row)">{{scope.row.userName}}</span>
</template>
</el-table-column>
<el-table-column prop="idNo" label="身份证号码" align="center">
</el-table-column>
<el-table-column prop="name" label="真实姓名" width="120px" align="center">
</el-table-column>
<el-table-column prop="mobile" label="手机号码" align="center" width="140px">
</el-table-column>
<!-- <el-table-column prop="role" label="角色" align="center" width="140px">
</el-table-column> -->
<el-table-column prop="organizationName" label="单位名称" align="center">
<template slot-scope="scope">
<span class="tablerow-click" @click="orgInfo(scope.row)">{{scope.row.organizationName}}</span>
</template>
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
<el-dialog title="用户信息" :visible.sync="showuserInfo" width="70%" >
<table class="tishi" cellspacing="0">
<tr>
<td style="border-bottom: none; border-right: none;">真实姓名</td>
<td style="border-bottom: none;">
{{userInfoFrom.name}}
</td>
<td style="border-bottom: none; border-right: none;">身份证号码</td>
<td style="border-bottom: none;">
{{userInfoFrom.idNo}}
</td>
</tr>
<tr>
<td style="border-bottom: none; border-right: none;">用户名</td>
<td style="border-bottom: none;">
{{userInfoFrom.userName}}
</td>
<td style="border-bottom: none; border-right: none;">手机号码</td>
<td style="border-bottom: none;">
{{userInfoFrom.mobile}}
</td>
</tr>
<tr>
<td style="border-right: none;">身份证正面照片</td>
<td>
<eimage :url="userInfoFrom.idFrontPhoto"></eimage>
</td>
<td style="border-right: none;">身份证背面照片</td>
<td>
<eimage :url="userInfoFrom.idBackPhoto"></eimage>
</td>
</tr>
</table>
</el-dialog>
<el-dialog title="" :visible.sync="showOrgInfo" width="70%" >
<lockorginfo :orgInfo="OrgInfoFrom"></lockorginfo>
</el-dialog>
<el-dialog title="设置角色" :visible.sync="roledialog" width="40%">
<table class="e-table" cellspacing="0">
<tr>
<td style="border-bottom: none; border-right: none;">用户名</td>
<td style="border-bottom: none;">
{{rolefrom.userName }}
</td>
</tr>
<tr>
<td style="border-right: none;">角色</td>
<td>
<el-select v-model="rolefrom.roleSid" placeholder="请选择">
<el-option
v-for="item in rolelist"
:key="item.sid"
:label="item.roleName"
:value="item.sid">
</el-option>
</el-select>
</td>
</tr>
</table>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="saveUserRole()"> </el-button>
<el-button @click="roledialog = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { userListByAdmin, verifyList, initPwd, delUser, getUserINfo, getOrgINfo, initUserRole, saveUserRole } from '@/api/system/user/Auser.js'
import { roleList } from '@/api/system/Role/roleManage.js'
import lockorginfo from './components/orgInfo.vue'
export default {
components:{ lockorginfo },
data() {
return {
imageUrl: '',
dialogImageUrl: '',
showuserInfo: false,
showOrgInfo: false,
dialogVisible: false,
roledialog: false,
form: {},
page: {
total: 0, //
current: 1, //
size: 10, //
params: {
isAdmin: '',
organizationName: '',
state: 2,
userName: ''
}
},
pageBackup: Object.assign({}, this.page),
tableData: [],
userInfoFrom: {},
OrgInfoFrom: {},
rolelist: [],
rolefrom: {
roleSid: '',
userSid: ''
}
}
},
mounted() {
this.getverifyList(this.page)
},
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getverifyList(this.page)
},
onSearch() { //
this.getverifyList(this.page)
},
resetSearch(){ //
this.page = {
total: 0, //
current: 1, //
size: 10, //
params: {
isAdmin: '',
organizationName: '',
state: 2,
userName: ''
}
}
this.getverifyList(this.page)
},
getverifyList(data){ //
userListByAdmin(data).then((res)=>{
this.tableData = res.data.records
this.page.total = res.data.total
})
},
// getrolelist(row){ //
// initUserRole({userSid: row.sid}).then(res => {
// this.roledialog = true
// this.rolelist = res.data.roleVoList
// this.rolefrom.userSid = res.data.userSid
// this.rolefrom.userName = res.data.userName
// this.rolefrom.roleSid = res.data.roleSid
// })
// },
saveUserRole(){
saveUserRole(this.rolefrom).then(res=>{
this.roledialog = false
this.$message({
type: 'success',
message: res.msg
});
})
},
initPwd(row){
this.$confirm('此操作将初始化该用户密码, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
initPwd({sid: row.sid}).then(res => {
this.getverifyList(this.page)
this.$message({
type: 'success',
message: res.msg
});
})
})
},
userinfo(row) { //
this.showuserInfo = true
getUserINfo({userName: row.userName}).then(res => {
this.userInfoFrom = res.data
})
},
orgInfo(row){
this.showOrgInfo = true
getOrgINfo({organizationSid: row.organizationSid}).then(res => {
this.OrgInfoFrom = res.data
})
},
delUser(row){
this.$confirm('此操作将永久删除该用户, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delUser({sid: row.sid}).then(res => {
this.getverifyList(this.page)
this.$message({
type: 'success',
message: '删除成功!'
});
})
})
}
},
}
</script>
<style>
.el-dialog__footer{
text-align: center;
}
</style>
<style lang="scss" scoped="scoped">
.el-image{
width: 180px;
height: 150px;
}
.tablerow-click{
color: #007FFF;
cursor: pointer;
}
.zcxx {
color: #000;
width: 98%;
margin: 0px auto 30px;
background-color: #f7f9fc;
border: 1px solid #e6e9f0;
height: 60px;
line-height: 60px;
p {
font-size: 16px;
float: left;
margin-top: 0px;
margin-left: 10px;
font-weight: bold;
width: 300px;
}
.el-button {
float: right;
margin-top: 13px;
border: none;
width: 80px;
padding: 0;
text-align: center;
padding-top: 10px;
padding-bottom: 10px;
}
}
table {
width: 98%;
margin: 0 auto;
tr {
height: 45px;
vertical-align: top;
}
td:first-child {
text-align: right;
}
td:nth-child(2) {
padding-left: 30px;
}
td:nth-child(3) {
text-align: right;
}
td:nth-child(4) {
padding-left: 30px;
}
span {
font-size: 14px;
color: #015bff;
margin-left: 20px;
}
.sfz {
border: 1px solid #e6e9f0;
width: 45%;
}
#bei {
width: 21.4%;
}
}
</style>

64
anrui-base/anrui-base-ui/src/views/userManage/userManage.vue

@ -1,64 +0,0 @@
<template>
<div>
<el-tabs class="my-tabs" v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="资方信息" name="roleList">
<user-manage-list :dataObj = 'dataObj' @status = 'isShow' @item ='listObj'></user-manage-list>
</el-tab-pane>
<el-tab-pane label="新增" name="addrole">
<user-manage-add @status = 'isShow' :dataObj = 'childObj'></user-manage-add>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import userManageList from './userManageList.vue'
import userManageAdd from './userManageAdd.vue'
export default {
components: {
userManageList: userManageList,
userManageAdd: userManageAdd,
},
data() {
return {
activeName: 'roleList',
editDialog: false,
dataObj:{
isShow:''
},
childObj:{}
};
},
mounted() {
},
methods: {
handleClick(tab, event) {
if(tab.name == 'addrole'){
this.dialogTitle = '新增'
// this.roleForm = Object.assign({}, this.formBackup)
}else{
// this.getroleOrgList()
}
},
isShow(val){
if(!val){
this.activeName = 'roleList'
this.dataObj.isShow = false
this.dataObj.isShow = true
}else{
this.activeName = 'addrole'
}
},
listObj(val){
this.childObj = val
}
}
};
</script>
<style scoped="scoped">
.my-tabs{
margin-top: 10px;
}
</style>

71
anrui-base/anrui-base-ui/src/views/userManage/userManageAdd.vue

@ -1,71 +0,0 @@
<template>
<div>
<el-card class="box-card">
<div style="float: right;">
<el-button type="primary" @click='save()' size="mini"> </el-button>
<el-button type="success" size="mini"> </el-button>
<el-button type="info" size="mini"> </el-button>
</div>
<el-form :inline="true" :model="bankform" class="demo-form-inline" label-position="right">
<el-form-item>
<h2>资方基础信息</h2>
</el-form-item>
<br />
<el-form-item label="资方名称:">
<el-input v-model="bankform.manageName" placeholder="资方名称" style="width: 500px;"></el-input>
</el-form-item>
<el-form-item label="联系人:">
<el-input v-model="bankform.name" placeholder="联系人" style="width: 500px;"></el-input>
</el-form-item>
<br />
<el-form-item label="联系电话:">
<el-input v-model="bankform.mobile" placeholder="联系电话" style="width: 500px;"></el-input>
</el-form-item>
</el-form>
</el-card>
</div>
</template>
<script>
import {
userListAdd
} from '@/api/system/userManage/index.js'
export default {
data() {
return {
bankform: {
manageName: '',
name: '',
mobile: ''
},
};
},
mounted() {
},
methods: {
save() {
userListAdd(this.bankform).then(res => {
if (res.code == '200') {
this.$message({
message: res.msg,
type: 'success'
})
this.$emit('status', false)
}
this.reset()
})
},
reset() {
this.bankform = {
manageName: '',
name: '',
mobile: ''
}
},
}
}
</script>
<style>
</style>

192
anrui-base/anrui-base-ui/src/views/userManage/userManageList.vue

@ -1,192 +0,0 @@
<template>
<div>
<el-collapse v-model="activeNames" @change="handleChange">
<br />
<div style="float: right;">
<el-button type="primary" size="small" @click='add()'>新增</el-button>
<el-button type="primary" size="small" @click=''>修改</el-button>
<el-button type="primary" size="small" @click='del()'>删除</el-button>
<el-button type="primary" size="small">导出</el-button>
</div>
<el-collapse-item title="显示" name="0">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="search" label-width="80px">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="资方名称">
<el-input placeholder="请输入资方名称" v-model="search.manageName" clearable></el-input>
</el-form-item>
<el-form-item label="联系人">
<el-input placeholder="请输入联系人" v-model="search.name" clearable></el-input>
</el-form-item>
<el-form-item label="联系电话">
<el-input placeholder="请输入联系电话" v-model="search.mobile" clearable></el-input>
</el-form-item>
<el-button @click="getOrgUserList(1)">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
</el-collapse-item>
</el-collapse>
<!-- table -->
<el-table :data="userTable" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center">
</el-table-column>
<el-table-column label="序号" width="50px" type="index" align="center">
</el-table-column>
<el-table-column prop="manageName" label="资方名称" align="center">
<template slot-scope="scope">
<span class="tablerow-click" @click="sel(scope.row)">{{scope.row.manageName}}</span>
</template>
</el-table-column>
<el-table-column prop="name" label="联系人" align="center">
</el-table-column>
<el-table-column prop="mobile" label="联系电话" width="120px" align="center">
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination" />
<div>
<el-dialog title="详情" :visible.sync="dlvs" width="30%" :before-close="handleClose">
<el-form ref="form" :model="bankform" label-width="80px">
<el-form-item label="资方名称">
<el-input v-model="bankform.manageName"></el-input>
</el-form-item>
<el-form-item label="联系人">
<el-input v-model="bankform.name"></el-input>
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="bankform.mobile"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="close()"> </el-button>
</el-form-item>
</el-form>
</el-dialog>
</div>
</div>
</template>
<script>
import {
userList,
userSingle,
userListAdd,
delbank
} from '@/api/system/userManage/index.js'
export default {
data() {
return {
bankform: {
sid:'',
manageName: '',
name: '',
mobile: ''
},
//
dialogVisible: false,
dlvs: false,
//
activeNames: ['1'],
form: {},
roleListAll: [],
search: {
sid:'',
manageName: '',
name: '',
mobile: ''
},
page: {
total: 0, //
current: 1, //
size: 10, //
},
userTable: [],
};
},
mounted() {
this.getOrgUserList()
},
methods: {
// +
getOrgUserList(flag) {
if (flag == '1') {
this.page.current = 1
}
let params = this.page
params.params = this.search
userList(params).then(res => {
this.page.total = res.data.total
this.userTable = res.data.records
})
},
//
sel(row) {
this.dlvs = true;
this.bankform = Object.assign({}, row)
},
//
add() {
this.dialogVisible = true;
},
save() {
userListAdd(this.bankform).then(res => {
if (res.code == '200') {
this.$message({
message: res.msg,
type: 'success'
})
this.$emit('status', false)
}
this.reset()
this.dialogVisible = false;
})
},
reset() {
this.form = {
manageName: '',
name: '',
mobile: ''
}
},
del(row) {
delbank(this.userTable.sid).then( res => {
})
},
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
},
close() {
this.dlvs = false;
this.entls = false;
},
//
pagination(val) {
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getOrgUserList()
},
//
handleChange(val) {
console.log(val);
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.userTable.sid
}
}
};
</script>
<style scoped="scoped">
.el-select>.el-input {
display: block;
width: 300px;
}
</style>

3
anrui-base/anrui-base-ui/src/views/zifang/index.vue

@ -1,3 +0,0 @@
<template>
<router-view />
</template>

358
anrui-base/anrui-base-ui/src/views/zifang/zifangguanli/zifangguanli.vue

@ -1,358 +0,0 @@
<template>
<div class="app-container">
<div v-show="visible">
<div class="tab-header webtop">
<div>资方信息表管理</div>
<div>
<el-button type="primary" size="medium" @click="handleCreate()">新增</el-button>
<el-button type="primary" size="medium" @click="handleUpdate()">修改</el-button>
<el-button type="danger" size="medium" @click="handleDelete()">删除</el-button>
<el-button type="success" size="medium" @click="handleDaoChu()">导出</el-button>
</div>
</div>
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{
searchxianshitit
}}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="资方名称">
<el-input v-model="listQuery.manageName" placeholder="请输入资方名称" clearable class="filter-item" />
</el-form-item>
<el-form-item label="联系人">
<el-input v-model="listQuery.name" placeholder="请输入联系人" clearable class="filter-item" />
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="listQuery.mobile" placeholder="请输入联系电话" clearable class="filter-item" />
</el-form-item>
<el-button type="primary" @click="handleFilter">查询</el-button>
</el-form>
</div>
</div>
<div class="listtop">
<div class="tit">资方管理信息列表</div>
<pageye v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList" />
</div>
<div>
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center" />
<el-table-column width="80px" label="编号" type="index" :index="indexMethod" align="center" />
<el-table-column label="资方名称" align="center">
<template slot-scope="scope">
<span class="bluezi" @click="handleCheck(scope.row)">{{scope.row.manageName}}</span>
</template>
</el-table-column>
<el-table-column label="联系人" align="center">
<template slot-scope="scope">
<span>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="联系电话" align="center">
<template slot-scope="scope">
<span>{{ scope.row.mobile }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="操作" align="center" width="250px" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button size="mini" type="primary" @click="handleCheck(row)">查看</el-button>
</template>
</el-table-column> -->
</el-table>
</div>
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList" />
</div>
</div>
<zifangguanli-add ref="addAndUpdate" @handleReturn="visible=true" @created="dataCreated" @updated="dataUpdated" />
<zifangguanli-info ref="info" @handleReturn="visible=true" />
</div>
</template>
<script>
import {
mapGetters
} from 'vuex'
import {
basefinbankListPage,
basefinbankDeleteBySids,
basefinbankExportExcel
} from '@/api/jichuxinxi/basefinbank'
import {
setuser,
getuser
} from '@/utils/baocun'
import {
delUser
} from '@/api/system/user/Auser'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import zifangguanliAdd from './zifangguanliAdd.vue'
import zifangguanliInfo from './zifangguanliInfo.vue'
export default {
name: 'zifangguanli',
components: {
Pagination,
pageye,
zifangguanliAdd,
zifangguanliInfo
},
data() {
return {
isSearchShow: false,
searchxianshitit: '显示查询条件',
// ---------
menuState: {
add: false, //
edit: false, //
delete: false, //
view: false, //
audit: false, //
input: false, //
output: false, //
upload: false, //
release: false //
},
// -----------
tableKey: 0,
list: [],
sids: [],
// list: [{ title: '' }],
total: 1,
FormLoading: false,
listLoading: false,
listQuery: {
current: 1,
size: 20,
params: {
manageName: '',
name: '',
mobile: ''
}
},
selectDate: undefined,
temp: {}, //
visible: true
// ------------------------------------
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode'
])
},
created() {
//
this.init()
//
this.getList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
init() {
// .
// findButtonByUserId(this.$route.path).then(response => {
// if (
// response.code === 20000 &&
// response.data &&
// response.data.length > 0
// ) {
// this.menuState = ConvertMenuState(response.data) //
// }
// })
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
basefinbankListPage({
current: this.listQuery.current,
size: this.listQuery.size,
params: {
manageName: this.listQuery.manageName,
mobile: this.listQuery.mobile,
name: this.listQuery.name
}
}).then((response) => {
console.log('列表查询结果1:', response)
console.log('列表查询结果:' + JSON.stringify(response))
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
this.list = response.data.records
this.total = response.data.total
} else {
this.list = []
this.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleCreate() {
this.$refs.addAndUpdate.openCreate(() => {
this.visible = false
})
},
//
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
setuser(this.sids)
})
this.sids = aa
},
//
handleUpdate() {
if (this.sids.length === 1) {
this.dialogStatus = 'update'
this.$refs.addAndUpdate.openUpdate(this.sids[0], () => {
this.visible = false
})
} else if (this.sids.length > 1) {
this.$notify({
title: '提示',
message: '不能选中多个资方信息修改!!',
type: 'info',
duration: 2000
})
} else {
this.$notify({
title: '提示',
message: '没有选择资方信息!!',
type: 'error',
duration: 2000
})
return
}
},
//
handleCheck(row) {
this.$refs.info.openInfo(row.sid, () => {
this.visible = false
})
},
// ID
handleDelete() {
if (this.sids.length > 0) {
basefinbankDeleteBySids(this.sids).then((response) => {
console.log('3455', response)
if (response.code === '200') {
this.$notify({
title: '提示',
message: '删除成功',
type: 'success',
duration: 2000
})
this.getList()
} else {
this.$notify({
title: '删除失败',
message: response.msg,
type: 'error'
})
}
})
} else {
this.$notify({
title: '提示',
message: '没有选择资方信息!!',
type: 'error',
duration: 2000
})
return
}
},
//
handleDaoChu() {
// this.$confirm(', ?', '', {
// confirmButtonText: '',
// cancelButtonText: '',
// type: 'warning'
// })
basefinbankExportExcel(this.sids).then((res) => {
const blob = new Blob([res], {
type: 'application/vnd.ms-excel'
})
const objectUrl = URL.createObjectURL(blob)
window.location.href = objectUrl
this.$notify({
title: '提示',
message: '导出成功',
type: 'success',
duration: 2000,
})
})
},
//
AddUpdateReturn() {
this.visible = true
},
//
dataCreated() {
this.visible = true
this.handleFilter()
},
//
dataUpdated() {
this.visible = true
this.getList()
}
}
}
</script>
<style scoped>
/deep/ .el-collapse {
border-top: 0px solid #e6ebf5;
border-bottom: 0px solid #e6ebf5;
}
/deep/ .el-collapse-item__content {
margin: 0;
padding: 0;
}
/deep/ .el-collapse-item__wrap {
border-bottom: 0px solid #ebeef5;
}
/deep/ .el-collapse-item__header {
border-bottom: 0px solid #e6ebf5;
}
.searchli {
padding: 5px 100px;
}
</style>

217
anrui-base/anrui-base-ui/src/views/zifang/zifangguanli/zifangguanliAdd.vue

@ -1,217 +0,0 @@
<template>
<div v-show="visible" class="app-container">
<div class="tab-header webtop">
<div v-if="stateId === '0'">添加资方信息</div>
<div v-else>修改资方信息</div>
<div>
<el-button type="primary" size="small" @click="handleCreate()">保存</el-button>
<el-button type="primary" size="small">下载</el-button>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd" :rules="rules">
<div class="title">资方基本信息</div>
<el-row>
<el-col :span="12">
<el-form-item prop="manageName">
<span slot="label">资方名称</span>
<el-input v-model="temp.manageName" maxlength="125" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="name">
<span slot="label">联系人</span>
<el-input v-model="temp.name" maxlength="125" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item prop="mobile">
<span slot="label">联系电话</span>
<el-input v-model="temp.mobile" maxlength="125" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col>
<el-col :span="12" />
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import {
mapGetters
} from 'vuex'
import {
basefinbankSaveList,
basefinbankUpdate,
basefinbankDetails
} from '@/api/jichuxinxi/basefinbank'
export default {
name: 'ZifangguanliAdd',
// components: { },
data() {
return {
// ---------
menuState: {
add: false, //
edit: false, //
delete: false, //
view: false, //
audit: false, //
input: false, //
output: false, //
upload: false, //
release: false //
},
visible: false,
stateId: 0,
FormLoading: false,
listLoading: false,
temp: {}, //
textMap: {
update: '修改',
create: '创建'
},
dialogStatus: '', //
rules: {
manageName: [{
required: true,
message: '请填写资方名称',
trigger: 'blur'
}],
name: [{
required: true,
message: '请填写联系人',
trigger: 'blur'
}],
mobile: [{
required: true,
message: '请填写联系电话',
trigger: 'blur'
},
{
pattern: /^1[3-9]\d{9}$/,
message: '手机号格式错误'
}
]
}
// ------------------------------------
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode'
])
},
created() {
//
this.init()
},
methods: {
init() {
},
openUpdate(sid, showed) {
this.stateId = sid
if (this.stateId !== '0') {
basefinbankDetails(this.stateId).then((response) => {
if (response.code === '200') {
this.$refs['dataForm'].clearValidate()
this.temp = response.data
this.visible = true
if (showed && typeof(showed) === 'function') {
showed()
}
}
})
}
},
openCreate(showed) {
this.$refs['dataForm'].clearValidate()
this.stateId = '0'
this.resetTemp()
this.visible = true
if (showed && typeof(showed) === 'function') {
showed()
}
},
// ------------------------------------------------------
//
handleReturn() {
this.visible = false
this.$emit('handleReturn')
},
//
resetTemp() {
this.temp = {
manageName: '', //
mobile: '', //
name: ''
}
},
//
handleCreate() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.FormLoading = true
this.dialogStatus = 'create'
if (this.stateId === '0') {
console.log('传入值:', this.temp)
basefinbankSaveList(this.temp).then((response) => {
console.log('返回值:', response)
this.FormLoading = false
if (response.code === '200') {
this.$notify({
title: '提示',
message: '添加成功',
type: 'success',
duration: 2000
})
this.$emit('created')
} else {
this.$notify({
title: '提示',
message: '添加失败',
type: 'error',
duration: 2000
})
}
})
} else {
basefinbankUpdate(this.temp).then((response) => {
this.dialogStatus = 'update'
console.log('response', response)
this.FormLoading = false
if (response.code === '200') {
this.$notify({
title: '提示',
message: '修改成功',
type: 'success',
duration: 2000
})
this.$emit('updated')
} else {
this.$notify({
title: '失败',
message: '修改失败',
type: 'error'
})
}
})
}
}
})
}
}
}
</script>
<style scoped>
</style>

93
anrui-base/anrui-base-ui/src/views/zifang/zifangguanli/zifangguanliInfo.vue

@ -1,93 +0,0 @@
<template>
<div v-show="visible" class="app-container">
<div class="tab-header webtop">
<div>查看资方信息</div>
<div>
<el-button type="primary" size="small">下载</el-button>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="forminfo">
<div class="title">资方基本信息</div>
<el-row>
<el-col :span="4" class="trightb">资方名称</el-col>
<el-col :span="8" class="tleft"> {{ temp.manageName }} </el-col>
<el-col :span="4" class="trightb">联系人</el-col>
<el-col :span="8" class="tleft"> {{ temp.name }} </el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">联系电话</el-col>
<el-col :span="8" class="tleft"> {{ temp.mobile }} </el-col>
<el-col :span="4" class="trightb" />
<el-col :span="8" class="tleft" />
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import {
basefinbankDetails
} from '@/api/jichuxinxi/basefinbank'
export default {
name: 'ZifangguanliInfo',
// components: { },
data() {
return {
visible: false,
FormLoading: false,
temp: {} //
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode'
])
},
created() {
//
this.init()
},
methods: {
init() {
},
openInfo(sid, showed) {
this.stateId = sid
basefinbankDetails(this.stateId).then((response) => {
console.log('查询', response)
this.FormLoading = false
if (response.code === '200') {
this.temp = response.data
this.visible = true
if (showed && typeof (showed) === 'function') {
showed()
}
} else {
this.$notify({
title: '失败',
message: '查询失败',
type: 'error'
})
}
})
},
// ------------------------------------------------------
//
handleReturn() {
this.visible = false
this.$emit('handleReturn')
}
}
}
</script>
<style scoped>
</style>

480
anrui-base/anrui-base-ui/src/views/zifang/zifangzhengce/zifangzhengce.vue

@ -1,480 +0,0 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>资方政策管理</div>
<div>
<el-button type="primary" size="small" @click="handleCreate()">新增</el-button>
<el-button type="primary" size="small" @click="handleUpdate()">修改</el-button>
<el-button type="danger" size="small" @click="handleDelete()">删除</el-button>
<!-- <el-button type="success" size="small" @click="handleDaoChu()">导出</el-button> -->
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
</div>
</div>
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="政策名称">
<el-input v-model="listQuery.params.policyName" placeholder="请输入政策名称" clearable class="filter-item" />
</el-form-item>
<el-form-item label="品牌">
<!-- <el-input v-model="listQuery.brand" placeholder="请输入品牌" clearable class="filter-item" /> -->
<el-autocomplete v-model="listQuery.params.brand" :fetch-suggestions="querySearchAsync" class="addinputw" placeholder="请输入品牌名称" @select="handleSelect">
<i slot="suffix" class="el-icon-edit el-input__icon" @click="inputclear" />
<template slot-scope="{ item }">
<div style="paddingg:5px;background-color:Azure;">
<span>品牌名称</span>
<span style="color:red">{{ item.brandName }}</span><br>
</div>
</template>
</el-autocomplete>
</el-form-item>
<el-form-item label="资方名称">
<!-- <el-input v-model="listQuery.params.manageName" placeholder="请输入资方名称" clearable class="filter-item" /> -->
<el-select v-model="listQuery.params.manageName" class="addinputw" placeholder="请选择资方名称">
<el-option v-for="(item,index) in manageNameType" :key="index" :label="item.manageName" :value="item.manageName" />
</el-select>
</el-form-item>
<el-button type="primary" @click="handleFilter">查询</el-button>
</el-form>
</div>
</div>
<div class="listtop">
<div class="tit">资方产品政策信息列表</div>
<pageye
v-show="total>0"
:total="total"
:page.sync="listQuery.current"
:limit.sync="listQuery.size"
class="pagination"
@pagination="getList"
/>
</div>
<div>
<el-table
:key="tableKey"
v-loading="listLoading"
:data="list"
border
style="width: 100%;"
@selection-change="handleSelectionChange"
>
<el-table-column width="50px" type="selection" align="center" />
<el-table-column width="80px" label="编号" type="index" :index="indexMethod" align="center" />
<el-table-column label="政策名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.policyName }}</span>
</template>
</el-table-column>
<el-table-column label="品牌" align="center">
<template slot-scope="scope">
<span>{{ scope.row.brandName }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.modelName }}</span>
</template>
</el-table-column>
<el-table-column label="资方名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.manageName }}</span>
</template>
</el-table-column>
<el-table-column label="首付比例" align="center">
<template slot-scope="scope">
<span>{{ scope.row.downPayment }}</span>
</template>
</el-table-column>
<el-table-column label="保证金比例" align="center">
<template slot-scope="scope">
<span>{{ scope.row.marginRatio }}</span>
</template>
</el-table-column>
<el-table-column label="利率" align="center">
<template slot-scope="scope">
<span>{{ scope.row.rate }}</span>
</template>
</el-table-column>
<el-table-column label="期数" align="center">
<template slot-scope="scope">
<span>{{ scope.row.nper }}</span>
</template>
</el-table-column>
<el-table-column label="厂家贴息" align="center">
<template slot-scope="scope">
<span>{{ scope.row.discount }}</span>
</template>
</el-table-column>
<el-table-column label="政策盈利比例" align="center">
<template slot-scope="scope">
<span>{{ scope.row.earningsRatio }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="100px" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button size="mini" type="primary" @click="handleCheck(row)">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination
v-show="total>0"
:total="total"
:page.sync="listQuery.current"
:limit.sync="listQuery.size"
class="pagination"
@pagination="getList"
/>
</div>
</div>
</template>
<script>
import {
mapGetters
} from 'vuex'
import {
listPage,
deleteBySids
} from '@/api/jichuxinxi/basefinpolicy'
import {
setuser
} from '@/utils/baocun'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import { brandLike } from '@/api/jichuxinxi/brandManagement'
import { basefinbankDnamesDown } from '@/api/jichuxinxi/basefinbank' //
export default {
name: 'zifangzhengce',
components: {
Pagination,
pageye
},
data() {
return {
isSearchShow: false,
searchxianshitit: '显示查询条件',
// ---------
menuState: {
add: false, //
edit: false, //
delete: false, //
view: false, //
audit: false, //
input: false, //
output: false, //
upload: false, //
release: false //
},
// -----------
tableKey: 0,
sids: [],
list: [],
manageNameType:[],
// list: [{ title: '123' }],
total: 1,
FormLoading: false,
listLoading: false,
listQuery: {
current: 1,
size: 20,
params: {
policyName: '',
brand: '',
manageName: ''
}
},
selectDate: undefined,
temp: {}, //
templook: {}, //
textMap: {
update: '修改',
create: '创建'
},
datass:[],
YongHu:[],
dialogFormVisible: false, //
dialogFormShowVisible: false, //
dialogStatus: '' //
// typeOptions: [],
// tureArrys: [
// {
// value: 1,
// label: ''
// },
// {
// value: 0,
// label: ''
// }
// ],
// fenzuOptions: [
// { value: '1', label: '' },
// { value: '2', label: '' }
// ],
// rules: {
// title: [{ required: true, message: '', trigger: 'blur' }],
// qc: [{ required: true, message: '', trigger: 'blur' }]
// }
// ------------------------------------
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode'
])
},
created() {
//
this.init()
//
this.getList()
this.pingpai()
this.zifangmingcheng()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
zifangmingcheng() {
basefinbankDnamesDown({ name: this.temp.manageName }).then((res) => {
if (res.code === '200') {
console.log(res.data, 66666666666)
this.manageNameType = res.data
}
})
},
querySearchAsync(queryString, cb) {
console.log('查询条件:', queryString)
if (
queryString != null &&
queryString != undefined &&
queryString !== ''
) {
// this.searchData({ name: queryString })
brandLike({ name: queryString }).then((response) => {
if (response.code === '200') {
this.datass = response.data
cb(response.data)
}
})
} else {
console.log(1111111111, this.YongHu)
this.datass = this.YongHu
cb(this.YongHu)
}
},
handleSelect(e) {
this.listQuery.params.brand = e.brandName
},
//
inputclear() {
this.listQuery.brand = ''
},
pingpai() {
brandLike().then((res) => {
if (res.code === '200') {
console.log(res.data, 222)
this.YongHu = res.data
}
})
},
init() {
// .
// findButtonByUserId(this.$route.path).then(response => {
// if (
// response.code === 20000 &&
// response.data &&
// response.data.length > 0
// ) {
// this.menuState = ConvertMenuState(response.data) //
// }
// })
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
console.log(this.listQuery, 11111111111)
console.log('查询:' + JSON.stringify(this.listQuery))
listPage(this.listQuery).then((response) => {
console.log('列表查询结果1:', response)
console.log('列表查询结果:' + JSON.stringify(response))
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
this.list = response.data.records
// this.list.brand = tempData.brandName
console.log(this.list, 123)
// setuser(response.data.records.sid)
this.total = response.data.total
} else {
this.list = []
this.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
console.log(this.listQuery,789)
this.getList()
},
// ------------------------------------------------------
//
handleReturn() {
this.$router.go(-1)
},
//
resetTemp() {
this.temp = {
branchSid: '',
brand: '',
discount: '',
downPayment: '',
earningsRatio: '',
manageName: '',
marginRatio: '',
nper: '',
policyName: '',
rate: '',
vehicleModel: ''
}
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
setuser(this.sids)
})
this.sids = aa
},
//
handleCreate() {
this.$router.push({
path: '/zifang/zifangzhengceAdd/0'
})
},
//
handleUpdate() {
if (this.sids.length === 1) {
this.dialogStatus = 'update'
console.log(this.sids)
this.$router.push({
path: `/zifang/zifangzhengceAdd/${this.sids[0]}`
})
} else if (this.sids.length > 1) {
this.$notify({
title: '提示',
message: '不能选中多个资方产品政策修改!!',
type: 'info',
duration: 2000
})
} else {
this.$notify({
title: '提示',
message: '没有选择资方产品政策!!',
type: 'error',
duration: 2000
})
return
}
},
//
handleCheck(row) {
console.log('111', row)
this.$router.push({
path: '/zifang/zifangzhengceInfo',
query: {
sid: row.sid
}
})
},
// ID
handleDelete() {
if (this.sids.length) {
deleteBySids(this.sids).then((response) => {
console.log('3455', response)
if (response.code === '200') {
this.$notify({
title: '提示',
message: '删除成功',
type: 'success',
duration: 2000
})
this.getList()
} else {
this.$notify({
title: '删除失败',
message: response.msg,
type: 'error'
})
}
})
} else {
this.$notify({
title: '提示',
message: '没有选择资方产品政策!!',
type: 'error',
duration: 2000
})
return
}
}
// //
// handleDaoChu() {
// }
}
}
</script>
<style scoped>
/deep/ .el-collapse {
border-top: 0px solid #e6ebf5;
border-bottom: 0px solid #e6ebf5;
}
/deep/ .el-collapse-item__content {
margin: 0;
padding: 0;
}
/deep/ .el-collapse-item__wrap {
border-bottom: 0px solid #EBEEF5;
}
/deep/ .el-collapse-item__header {
border-bottom: 0px solid #e6ebf5;
}
.searchli {
padding: 5px 100px;
}
</style>

419
anrui-base/anrui-base-ui/src/views/zifang/zifangzhengce/zifangzhengceAdd.vue

@ -1,419 +0,0 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div v-if="stateId==='0'">添加资方产品政策</div>
<div v-else>资方产品政策</div>
<div>
<el-button type="primary" size="small" @click="handleCreate()">保存</el-button>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd" :rules="rules">
<div class="title">资方产品政策</div>
<el-row>
<el-col :span="12">
<el-form-item prop="policyName">
<span slot="label">政策名称</span>
<el-input v-model="temp.policyName" maxlength="125" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="brand">
<span slot="label">品牌</span>
<el-autocomplete v-model="temp.brandName" :fetch-suggestions="querySearchAsync" class="addinputw" placeholder="请输入品牌名称" @select="handleSelect">
<i slot="suffix" class="el-icon-edit el-input__icon" @click="inputclear" />
<template slot-scope="{ item }">
<div style="paddingg:5px;background-color:Azure;">
<span>品牌名称</span>
<span style="color:red">{{ item.brandName }}</span><br>
</div>
</template>
</el-autocomplete>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item prop="vehicleModel">
<span slot="label">车型</span>
<el-select v-model="temp.vehicleModel" class="addinputw" filterable placeholder="请选择车型" @click="xuanzhong">
<el-option v-for="(item,index) in vehicleModelType" :key="index" :label="item.modelName" :value="item.sid" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="manageSid">
<span slot="label">资方名称</span>
<el-select v-model="temp.manageSid" class="addinputw" placeholder="请选择资方名称">
<el-option v-for="(item,index) in manageNameType" :key="index" :label="item.manageName" :value="item.sid" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item prop="downPayment">
<span slot="label">首付比例</span>
<el-input v-model="temp.downPayment" maxlength="125" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="marginRatio">
<span slot="label">保证金比例</span>
<el-input v-model="temp.marginRatio" maxlength="125" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item prop="rate">
<span slot="label">利率</span>
<el-input v-model="temp.rate" maxlength="125" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="nper">
<span slot="label">期数</span>
<el-input v-model="temp.nper" maxlength="125" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- <el-col :span="12">
<el-form-item prop="branchSid">
<span slot="label">分公司sid</span>
<el-input v-model="temp.branchSid" maxlength="125" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col> -->
<el-col :span="12">
<el-form-item prop="discount">
<span slot="label">厂家贴息</span>
<el-input v-model="temp.discount" maxlength="125" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="earningsRatio">
<span slot="label">政策盈利比例</span>
<el-input v-model="temp.earningsRatio" maxlength="125" placeholder="" class="addinputw" clearable />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import {
listPage,
SaveList,
Update,
deleteBySids,
details,
ExportExcel
} from '@/api/jichuxinxi/basefinpolicy'
import { brandLike } from '@/api/jichuxinxi/brandManagement' //
import { basefinbankDnamesDown } from '@/api/jichuxinxi/basefinbank' //
import { selectDown } from '@/api/jichuxinxi/basevehicle'// sid
export default {
name: 'ZifangzhengceAdd',
// components: { },
data() {
return {
// ---------
menuState: {
add: false, //
edit: false, //
delete: false, //
view: false, //
audit: false, //
input: false, //
output: false, //
upload: false, //
release: false //
},
YongHu: [],
datass: [],
sid: '',
stateId: 0,
FormLoading: false,
listLoading: false,
temp: {}, //
// templook: {},
textMap: {
update: '修改',
create: '创建'
},
// dialogFormVisible: false, //
// dialogFormShowVisible: false, //
dialogStatus: '', //
brandType: [],
manageNameType: [],
vehicleModelType: [],
rules: {
policyName: [
{ required: true, message: '请填写政策名称', trigger: 'blur' }
],
// brand: [{ required: true, message: '', trigger: 'blur' }],
vehicleModel: [
// { required: true, message: '', trigger: 'blur' }
],
manageName: [
// { required: true, message: '', trigger: 'blur' }
],
downPayment: [
{ required: true, message: '请填写首付比例', trigger: 'blur' }
],
marginRatio: [
{ required: true, message: '请填写保证金比例', trigger: 'blur' }
],
rate: [{ required: true, message: '请填写利率', trigger: 'blur' }],
nper: [{ required: true, message: '请填写期数', trigger: 'blur' }],
branchSid: [
{ required: true, message: '请填写分公司sid', trigger: 'blur' }
],
discount: [
{ required: true, message: '请填写厂家贴息', trigger: 'blur' }
],
earningsRatio: [
{ required: true, message: '请填写政策盈利比例', trigger: 'blur' }
]
}
// ------------------------------------
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode'
])
},
created() {
//
this.init()
},
methods: {
init() {
this.stateId = this.$route.params.id
// .
// findButtonByUserId(this.$route.path).then(response => {
// if (
// response.code === 20000 &&
// response.data &&
// response.data.length > 0
// ) {
// this.menuState = ConvertMenuState(response.data) //
// }
// })
if (this.stateId !== '0') {
details(this.stateId).then((response) => {
if (response.code === '200') {
this.temp = response.data
this.chexing(response.data.brand)
// this.chexing(response.data.vehicleModel)
console.log(this.temp, 555555555555)
}
})
}
this.pingpai()
this.zifangmingcheng()
},
// ------------------------------------------------------
//
pingpai() {
brandLike().then((res) => {
if (res.code === '200') {
console.log(res.data, 222)
this.YongHu = res.data
}
})
},
handleSelect(e) {
//
console.log('选择qqqqqqqqq:' ,e)
this.temp.brandName = e.brandName
this.temp.brand = e.sid
this.chexing(this.temp.brand)
},
//
inputclear() {
this.temp.brandName = ''
// this.temp.brandCode = ''
},
//
querySearchAsync(queryString, cb) {
console.log('查询条件:', queryString)
if (
queryString != null &&
queryString != undefined &&
queryString !== ''
) {
// this.searchData({ name: queryString })
brandLike({ name: queryString }).then((response) => {
if (response.code === '200') {
this.datass = response.data
cb(response.data)
}
})
} else {
console.log(1111111111, this.YongHu)
this.datass = this.YongHu
cb(this.YongHu)
}
},
// handleSelect1(e) {
// //
// console.log('' ,e)
// this.temp.name = e.name
// this.sid = e.sid
// },
// //
// inputclear1() {
// this.temp.brand = ''
// // this.temp.brandCode = ''
// },
// //
// querySearchAsync1(queryString, cb) {
// console.log('', queryString)
// if (
// queryString != null &&
// queryString != undefined &&
// queryString !== ''
// ) {
// // this.searchData({ name: queryString })
// namesDown({ name: queryString }).then((response) => {
// if (response.code === '200') {
// this.manageNameType = response.data
// cb(response.data)
// }
// })
// } else {
// console.log(1111111111, this.YongHu)
// this.manageNameType = this.YongHu
// cb(this.YongHu)
// }
// },
//
zifangmingcheng() {
basefinbankDnamesDown({ name: this.temp.manageName }).then((res) => {
if (res.code === '200') {
console.log(res.data, 66666666666)
this.manageNameType = res.data
}
})
},
xuanzhong() {
if (this.datass.length === 0) {
this.$notify({
title: '提示',
message: '请选择品牌后再选择车型',
type: 'error',
duration: 2000
})
}
},
//
chexing(sid1) {
console.log('车型11111111',sid1)
var sid ={
sid:sid1
}
selectDown(sid).then((res) => {
console.log(33333333333, res)
if (res.code === '200') {
this.vehicleModelType = res.data
}
})
},
//
handleReturn() {
this.$router.go(-1)
},
//
resetTemp() {
this.temp = {
branchSid: '',
brand: '',
discount: '',
downPayment: '',
earningsRatio: '',
manageName: '',
marginRatio: '',
nper: '',
policyName: '',
rate: '',
vehicleModel: ''
}
},
//
handleCreate() {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.FormLoading = true
this.dialogStatus = 'create'
if (this.stateId === '0') {
console.log('传入值:', this.temp)
// this.temp.brand = this.sid
SaveList(this.temp).then((response) => {
console.log('返回值:', response)
this.FormLoading = false
if (response.code === '200') {
this.$notify({
title: '提示',
message: '添加成功',
type: 'success',
duration: 2000
})
this.$router.push({ path: '/zifang/zifangzhengce' })
} else {
this.$notify({
title: '提示',
message: '添加失败',
type: 'error',
duration: 2000
})
}
})
} else {
this.temp.sid=this.stateId
console.log(this.temp)
Update(this.temp).then((response) => {
this.dialogStatus = 'update'
console.log('response', response)
this.FormLoading = false
if (response.code === '200') {
this.$notify({
title: '提示',
message: '修改成功',
type: 'success',
duration: 2000
})
this.$router.push({ path: '/zifang/zifangzhengce' })
} else {
this.$notify({
title: '失败',
message: '修改失败',
type: 'error'
})
}
})
}
}
})
}
}
}
</script>
<style scoped>
</style>

197
anrui-base/anrui-base-ui/src/views/zifang/zifangzhengce/zifangzhengceInfo.vue

@ -1,197 +0,0 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>资方产品政策详细信息</div>
<div>
<el-button type="info" size="medium" @click="handleReturn()">返回</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="forminfo" :rules="rules">
<div class="title">资方产品政策详细信息</div>
<el-row>
<el-col :span="4" class="trightb">政策名称</el-col>
<el-col :span="8" class="tleft"> {{ temp.policyName }} </el-col>
<el-col :span="4" class="trightb">品牌</el-col>
<el-col :span="8" class="tleft"> {{ temp.brandName }} </el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">车型</el-col>
<el-col :span="8" class="tleft"> {{ temp.modelName }} </el-col>
<el-col :span="4" class="trightb">资方名称</el-col>
<el-col :span="8" class="tleft"> {{ temp.manageName }} </el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">首付比例</el-col>
<el-col :span="8" class="tleft"> {{ temp.downPayment }} </el-col>
<el-col :span="4" class="trightb">保证金比例</el-col>
<el-col :span="8" class="tleft"> {{ temp.marginRatio }} </el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">利率</el-col>
<el-col :span="8" class="tleft"> {{ temp.rate }} </el-col>
<el-col :span="4" class="trightb">期数</el-col>
<el-col :span="8" class="tleft"> {{ temp.nper }} </el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">厂家贴息</el-col>
<el-col :span="8" class="tleft"> {{ temp.discount }} </el-col>
<el-col :span="4" class="trightb">政策盈利比例</el-col>
<el-col :span="8" class="tleft"> {{ temp.earningsRatio }} </el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import {
listPage,
SaveList,
Update,
deleteBySids,
details,
ExportExcel
} from '@/api/jichuxinxi/basefinpolicy'
export default {
name: 'ZifangzhengceInfo',
// components: { },
data() {
return {
// ---------
menuState: {
add: false, //
edit: false, //
delete: false, //
view: false, //
audit: false, //
input: false, //
output: false, //
upload: false, //
release: false //
},
FormLoading: false,
// listLoading: false,
temp: {}, //
textMap: {
update: '修改',
create: '创建'
},
// dialogFormVisible: false, //
// dialogFormShowVisible: false, //
dialogStatus: '', //
// fenzuOptions: [
// ],
rules: {
policyName: [{ required: true, message: '请填写政策名称', trigger: 'blur' }],
brand: [{ required: true, message: '请填写品牌', trigger: 'blur' }],
vehicleModel: [{ required: true, message: '请填写车型', trigger: 'blur' }],
manageName: [{ required: true, message: '请填写资方名称', trigger: 'blur' }],
downPayment: [{ required: true, message: '请填写首付比例', trigger: 'blur' }],
marginRatio: [{ required: true, message: '请填写保证金比例', trigger: 'blur' }],
rate: [{ required: true, message: '请填写利率', trigger: 'blur' }],
nper: [{ required: true, message: '请填写期数', trigger: 'blur' }],
branchSid: [{ required: true, message: '请填写分公司sid', trigger: 'blur' }],
discount: [{ required: true, message: '请填写厂家贴息', trigger: 'blur' }],
earningsRatio: [{ required: true, message: '请填写政策盈利比例', trigger: 'blur' }]
}
// ------------------------------------
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode'
])
},
created() {
//
this.init()
},
methods: {
init() {
this.stateId = this.$route.query.sid
console.log(this.stateId, 2222)
details(this.stateId).then((response) => {
console.log('查询', response)
this.FormLoading = false
if (response.code === '200') {
this.temp = response.data
this.temp.brandName = tempData.brand
this.temp.manageName = tempData.manageName
console.log('查询1', this.temp)
} else {
this.$notify({
title: '失败',
message: '查询失败',
type: 'error'
})
}
})
// .
// findButtonByUserId(this.$route.path).then(response => {
// if (
// response.code === 20000 &&
// response.data &&
// response.data.length > 0
// ) {
// this.menuState = ConvertMenuState(response.data) //
// }
// })
},
// ------------------------------------------------------
//
handleReturn() {
this.$router.go(-1)
},
//
resetTemp() {
this.temp = {
branchSid: '',
brand: '',
discount: '',
downPayment: '',
earningsRatio: '',
manageName: '',
marginRatio: '',
nper: '',
policyName: '',
rate: '',
vehicleModel: ''
}
},
//
handleCheck() {
this.FormLoading = true
details(this.tempDate.sid).then((response) => {
console.log('查询', response)
this.FormLoading = false
if (response.code === '200') {
this.temp = response.data
console.log('查询1', this.temp)
} else {
this.$notify({
title: '失败',
message: '查询失败',
type: 'error'
})
}
})
}
}
}
</script>
<style scoped>
</style>

2
anrui-riskcenter-ui/src/views/creditauditmanagement/creditauditmanagement.vue

@ -340,7 +340,7 @@ export default {
},
toAppeal() {
if (this.multipleSelection.length === 1) {
if (!this.multipleSelection[0].showHandleBtn) {
if (this.multipleSelection[0].showHandleBtn) {
this.viewState = 5
this.$refs['divSS'].showAdd(this.multipleSelection[0].sid)
} else {

8
anrui-riskcenter-ui/src/views/workFlow/xinyongshensuFlow/creditauditappealEdit.vue

@ -63,7 +63,7 @@
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center"><span>身份证正反面</span></div>
<el-form-item>
<el-form-item>
<el-image class="addinputInfo" v-for="(item, index) in formobj.loanPreloanCreditApplyDetailsVo.idCardImages" :key="index" :src="item" :preview-src-list="formobj.loanPreloanCreditApplyDetailsVo.idCardImages"/>
<el-image style="width: 150px;height: 150px" class="addinputInfo" v-for="(item, index) in formobj.loanPreloanCreditApplyDetailsVo.idCardImages" :key="index" :src="item" :preview-src-list="formobj.loanPreloanCreditApplyDetailsVo.idCardImages"/>
</el-form-item>
</el-form-item>
</el-col>
@ -111,7 +111,7 @@
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center"><span>要求附件</span></div>
<el-form-item>
<el-image class="addinputInfo" v-for="(item, index) in formobj.loanPreloanCreditApplyDetailsVo.comFkFiles" :key="index" :src="item" :preview-src-list="formobj.loanPreloanCreditApplyDetailsVo.comFkFiles"/>
<el-image style="width: 150px;height: 150px" class="addinputInfo" v-for="(item, index) in formobj.loanPreloanCreditApplyDetailsVo.comFkFiles" :key="index" :src="item" :preview-src-list="formobj.loanPreloanCreditApplyDetailsVo.comFkFiles"/>
</el-form-item>
</el-col>
</el-row>
@ -119,7 +119,7 @@
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center"><span>查询结果截图</span></div>
<el-form-item>
<el-image class="addinputInfo" v-for="(item, index) in formobj.loanPreloanCreditApplyDetailsVo.gsQueryResults" :key="index" :src="item" :preview-src-list="formobj.loanPreloanCreditApplyDetailsVo.gsQueryResults"/>
<el-image style="width: 150px;height: 150px" class="addinputInfo" v-for="(item, index) in formobj.loanPreloanCreditApplyDetailsVo.gsQueryResults" :key="index" :src="item" :preview-src-list="formobj.loanPreloanCreditApplyDetailsVo.gsQueryResults"/>
</el-form-item>
</el-col>
</el-row>
@ -154,7 +154,7 @@
<el-col :span="24">
<div class="span-sty" style="display: flex;flex-direction: row;justify-content: flex-end;align-items: center"><span>查询结果截图</span></div>
<el-form-item>
<el-image class="addinputInfo" v-for="(item, index) in formobj.loanPreloanCreditApplyDetailsVo.zfQueryResults" :key="index" :src="item" :preview-src-list="formobj.loanPreloanCreditApplyDetailsVo.zfQueryResults"/>
<el-image style="width: 150px;height: 150px" class="addinputInfo" v-for="(item, index) in formobj.loanPreloanCreditApplyDetailsVo.zfQueryResults" :key="index" :src="item" :preview-src-list="formobj.loanPreloanCreditApplyDetailsVo.zfQueryResults"/>
</el-form-item>
</el-col>
</el-row>

Loading…
Cancel
Save