1b95b632 by 任超

feat:打包分支代码提交

2 parents 856df1c5 eb85698e
Showing 144 changed files with 6887 additions and 2402 deletions
...@@ -21,6 +21,4 @@ yarn-error.log* ...@@ -21,6 +21,4 @@ yarn-error.log*
21 *.njsproj 21 *.njsproj
22 *.sln 22 *.sln
23 *.sw? 23 *.sw?
24 /src/api/config.js
25
26 package-lock.json 24 package-lock.json
......
...@@ -11,10 +11,11 @@ ...@@ -11,10 +11,11 @@
11 "@jiaminghi/data-view": "^2.10.0", 11 "@jiaminghi/data-view": "^2.10.0",
12 "axios": "^0.21.1", 12 "axios": "^0.21.1",
13 "clipboard": "^2.0.11", 13 "clipboard": "^2.0.11",
14 "jsoneditor": "^9.9.2",
15 "core-js": "^3.6.5", 14 "core-js": "^3.6.5",
16 "echarts": "^4.6.0", 15 "echarts": "^4.6.0",
16 "file-saver": "^2.0.5",
17 "js-cookie": "2.2.0", 17 "js-cookie": "2.2.0",
18 "jsoneditor": "^9.9.2",
18 "lodash": "^4.17.21", 19 "lodash": "^4.17.21",
19 "node-sass": "^4.14.1", 20 "node-sass": "^4.14.1",
20 "normalize.css": "7.0.0", 21 "normalize.css": "7.0.0",
...@@ -24,7 +25,9 @@ ...@@ -24,7 +25,9 @@
24 "vue-json-editor": "^1.4.3", 25 "vue-json-editor": "^1.4.3",
25 "vue-router": "3.0.2", 26 "vue-router": "3.0.2",
26 "vuex": "3.1.0", 27 "vuex": "3.1.0",
27 "xe-utils": "^3.5.7" 28 "xe-utils": "^3.5.7",
29 "xlsx": "^0.17.0",
30 "xlsx-style": "^0.8.13"
28 }, 31 },
29 "devDependencies": { 32 "devDependencies": {
30 "@vue/cli-plugin-babel": "4.4.4", 33 "@vue/cli-plugin-babel": "4.4.4",
......
1 import request from "@/utils/request"; 1
2 import SERVER from "./config";
3 import { getParams } from './util' 2 import { getParams } from './util'
4 import { 3 import {
5 api, 4 api,
6 getAction, 5 getAction,
7 postAction,
8 deleteAction, 6 deleteAction,
9 putAction 7 putAction
10 } from './manageApi' 8 } from './manageApi'
11
12 /** 角色管理开始 */ 9 /** 角色管理开始 */
13 // 获取角色列表 categoryId 10 // 获取角色列表 by categoryId
14 export const getRolesById = categoryId => { 11 export const getRolesById = categoryId => {
15 const conditionGroup = { 12 const conditionGroup = {
16 conditions: [ 13 conditions: [
17 { 14 {
18 property: 'category', 15 property: 'category',
19 value:categoryId, 16 value: categoryId,
20 operator: 'EQ' 17 operator: 'EQ'
21 } 18 }
22 ], 19 ],
23 queryRelation: 'AND' 20 queryRelation: 'AND'
24 } 21 }
25 const params = getParams(conditionGroup); 22 const params = getParams(conditionGroup)
26 return getAction(api.roles, params) 23 return getAction(api.roles, params)
27 } 24 }
28 // 人员列表 25 /** 角色管理结束 */
29 export const getUserRoles = (id) => { 26 /** 授权管理开始 */
30 return getAction(`${api.userRoles}/${id}/users`) 27 // 获取权限列表
31 } 28 export const getAuthorityListAction = (productId, subsystemCode) => {
32 // 更新人员 29 const conditionGroup = {
33 export const updateUser = (id, data) => { 30 conditions: [
34 return putAction(`${api.userRoles}/${id}/users`, data) 31 {
35 } 32 property: 'productId',
36 // 根据条件获取用户 33 value: productId,
37 export const getUserList = (params) => { 34 operator: 'EQ'
38 return getAction(api.users, params) 35 },
39 } 36 {
40 // 导出用户列表 37 property: 'code',
41 export const exportUserList = (params) => { 38 value: subsystemCode + '_MENU',
42 return getAction(api.users + '/export', params) 39 operator: 'EQ'
40 }
41 ],
42 queryRelation: 'AND'
43 }
44 const params = getParams(conditionGroup)
45 return getAction(api.resourceCategory, params)
43 } 46 }
44 // 更新用户状态 47
45 export const updateStatus = (id, status) => { 48 /**
46 return putAction(`${api.users}/${id}/${status}/status`) 49 * 获取角色的权限 id operationCodes resourceCategoryCode
50 * id 授权id
51 * operationCodes 操作符集合
52 * resourceCategoryCode 菜单默认MENU
53 */
54 export const getRoleAuthorityList = (
55 id,
56 operationCodes,
57 resourceCategoryCode
58 ) => {
59 return getAction(`${api.rolePermissions}/${id}`, {
60 operationCodes: operationCodes,
61 resourceCategoryCode: resourceCategoryCode
62 })
47 } 63 }
48 // 更新用户解锁状态 64 // 角色授权
49 export const updateLock = (id) => { 65 export const roleAuthority = (id, permissionDtos) => {
50 return putAction(`${api.users}/${id}/lock`) 66 return putAction(`${api.rolePermissions}/${id}`, permissionDtos)
51 } 67 }
52 // 重置用户密码
53 // export const resetPassword = id => {
54 // return putAction(`${api.users}/${id}/reset-password`)
55 // }
56 68
57 // 重置用户密码
58 export const resetPassword = (ids) => {
59 return putAction(`${api.users}/reset-passwords?ids=${ids}`)
60 }
61 69
62 // 删除人员 70
63 export const delUser = (id, data) => {
64 return deleteAction(`${api.userRoles}/${id}/users`, data)
65 }
66 // 获取父级菜单 71 // 获取父级菜单
67 export const getParentMenuListAction = (id) => { 72 export const getParentMenuListAction = (id) => {
68 let conditionGroup = {} 73 let conditionGroup = {}
...@@ -81,3 +86,4 @@ export const getParentMenuListAction = (id) => { ...@@ -81,3 +86,4 @@ export const getParentMenuListAction = (id) => {
81 const params = getParams(conditionGroup) 86 const params = getParams(conditionGroup)
82 return getAction(api.menus, params) 87 return getAction(api.menus, params)
83 } 88 }
89
......
1 /*
2 * @Description: 统计率
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-01 15:37:49
5 */
6 /* 引入请求文件 */
1 import request from '@/utils/request' 7 import request from '@/utils/request'
8 /* 引入配置文件 */
2 import SERVER from './config' 9 import SERVER from './config'
3
4 class business { 10 class business {
5 /* 11 /**
6 成功率统计 12 * @description: 成功率统计
7 startDate:开始日期 13 * @param {*} startDate
8 endDate:结束日期 14 * @param {*} endDate
15 * @param {*} qxdm
16 * @author: renchao
9 */ 17 */
10 async getSuucessRate(startDate,endDate,qxdm) { 18 async getSuucessRate (startDate, endDate, qxdm) {
11 return request({ 19 return request({
12 url: SERVER.SERVERAPI + '/rest/statistics/Business/sf', 20 url: SERVER.SERVERAPI + '/rest/statistics/Business/sf',
13 method: 'get', 21 method: 'get',
14 params: { 22 params: {
15 startDate:startDate, 23 startDate: startDate,
16 endDate:endDate, 24 endDate: endDate,
17 qxdm:qxdm 25 qxdm: qxdm
18 } 26 }
19 }) 27 })
20 } 28 }
......
1 /*
2 * @Description: 这个是所有api的前缀配置文件
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-01 15:35:44
5 */
6 export default {
7 // SERVERAPI: '/service-bdcsjsb-th', //浩浩
8 // SERVERAPI: '/service-bdcsjsb-zz',
9 SERVERAPI: '/bdcsjsb', //赵千
10 MANAGEMENTAPI: 'http://192.168.2.236/management'
11 // SERVERAPI: '/bdcsjsb-service'
12 // SERVERAPI: '/bdcsjsb-jiao0'
13 }
14 // 汉中
15 // export default {
16 // // SERVERAPI: '/service-bdcsjsb-th', //线上
17 // SERVERAPI: '/bdcsjsb', //赵千
18 // MANAGEMENTAPI: 'http://172.16.56.32:8877/management'
19 // }
1 /*
2 * @Description: 数据上报模块api文件
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-03 14:38:57
5 */
6 /* 引入axios请求文件 */
1 import request from '@/utils/request' 7 import request from '@/utils/request'
8 /* 引入配置 */
2 import SERVER from './config' 9 import SERVER from './config'
10 const urlHeader = SERVER.SERVERAPI + '/rest/sjsb/DataReport/'
3 11
4 // 区县上报分页 12 /**
13 * @description: 区县上报根据业务id获取xml
14 * @param {*} bizMsgid
15 * @author: renchao
16 */
5 export function getXml (bizMsgid) { 17 export function getXml (bizMsgid) {
6 return request({ 18 return request({
7 url: SERVER.SERVERAPI + '/rest/sjsb/DataReport/getXml', 19 url: urlHeader + 'getXml',
8 method: 'get', 20 method: 'get',
9 params: { 21 params: {
10 businessId: bizMsgid 22 businessId: bizMsgid
...@@ -12,58 +24,102 @@ export function getXml (bizMsgid) { ...@@ -12,58 +24,102 @@ export function getXml (bizMsgid) {
12 }) 24 })
13 } 25 }
14 26
15 // 区县上报分页 27 /**
28 * @description: 区县上报分页
29 * @param {*} data
30 * @author: renchao
31 */
16 export function getAreaReportPage (data) { 32 export function getAreaReportPage (data) {
17 return request({ 33 return request({
18 url: SERVER.SERVERAPI + '/rest/sjsb/DataReport/getAreaReportPage', 34 url: urlHeader + 'getAreaReportPage',
19 method: 'post', 35 method: 'post',
20 data 36 data
21 }) 37 })
22 } 38 }
23 39
24 40 /**
25 // 接入数据上报分页 41 * @description: 接入数据上报分页
42 * @author: renchao
43 */
26 export function getReceiveDataReportPage (data) { 44 export function getReceiveDataReportPage (data) {
27 return request({ 45 return request({
28 url: SERVER.SERVERAPI + '/rest/sjsb/DataReport/getReceiveDataReportPage', 46 url: urlHeader + 'getReceiveDataReportPage',
29 method: 'post', 47 method: 'post',
30 data 48 data
31 }) 49 })
32 } 50 }
33 51
34 // 数据上报分页 52 /**
53 * @description: 数据上报分页
54 * @author: renchao
55 */
35 export function getDataReportPage (data) { 56 export function getDataReportPage (data) {
36 return request({ 57 return request({
37 url: SERVER.SERVERAPI + '/rest/sjsb/DataReport/getDataReportPage', 58 url: urlHeader + 'getDataReportPage',
38 method: 'post', 59 method: 'post',
39 data 60 data
40 }) 61 })
41 } 62 }
42 63 /**
43 // 查询数据上报详情tabs选项卡 64 * @description: 查询数据上报详情tabs选项卡
65 * @author: renchao
66 */
44 export function getTabsDetail (params) { 67 export function getTabsDetail (params) {
45 return request({ 68 return request({
46 url: SERVER.SERVERAPI + '/rest/sjsb/DataReport/getTabsDetail', 69 url: urlHeader + 'getTabsDetail',
47 method: 'get', 70 method: 'get',
48 params 71 params
49 }) 72 })
50 } 73 }
51 // 查询数据上报详情 74 /**
75 * @description: 查询数据上报详情
76 * @author: renchao
77 */
52 export function getReportDetail (params) { 78 export function getReportDetail (params) {
53 return request({ 79 return request({
54 url: SERVER.SERVERAPI + '/rest/sjsb/DataReport/getReportDetail', 80 url: urlHeader + 'getReportDetail',
55 method: 'get', 81 method: 'get',
56 params 82 params
57 }) 83 })
58 } 84 }
59 85
60 // 结果 86 /**
87 * @description: 获取数据上报结果
88 * @param {*} bsmReport
89 * @author: renchao
90 */
61 export function getReceiveDataReportResult (bsmReport) { 91 export function getReceiveDataReportResult (bsmReport) {
62 return request({ 92 return request({
63 url: SERVER.SERVERAPI + '/rest/sjsb/DataReport/getReceiveDataReportResult', 93 url: urlHeader + 'getReceiveDataReportResult',
64 method: 'get', 94 method: 'get',
65 params: { 95 params: {
66 bsmReport: bsmReport 96 bsmReport: bsmReport
67 } 97 }
68 }) 98 })
69 } 99 }
100
101 /**
102 * @description: 重新上报
103 * @param {*} bsmReport
104 * @author: renchao
105 */
106
107 export function restartGenerateXml (bsmReport) {
108 return request({
109 url: urlHeader + 'restartGenerateXml?bsmReport=' + bsmReport,
110 method: 'post'
111 })
112 }
113
114 /**
115 * @description: 编辑报文头
116 * @param {*} data
117 * @author: renchao
118 */
119 export function edit (data) {
120 return request({
121 url: urlHeader + 'edit',
122 method: 'post',
123 data
124 })
125 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -78,12 +78,12 @@ export const api = { ...@@ -78,12 +78,12 @@ export const api = {
78 crudPut: crud + '/rest/put', // crudPut 78 crudPut: crud + '/rest/put', // crudPut
79 crudDel: crud + '/rest/delete', // crudDel 79 crudDel: crud + '/rest/delete', // crudDel
80 crudMetadata: crud + '/rest/metadata', //crudMetadata 80 crudMetadata: crud + '/rest/metadata', //crudMetadata
81 crudBusiness : crud + '/rest/business', // crudBusiness 81 crudBusiness: crud + '/rest/business', // crudBusiness
82 crudDatasources : crud + '/rest/datasources', // crudDatasources 82 crudDatasources: crud + '/rest/datasources', // crudDatasources
83 } 83 }
84 84
85 // 根据code获取字典 params={isTree:true}) 85 // 根据code获取字典 params={isTree:true})
86 export function getDictItems(code, params = {}) { 86 export function getDictItems (code, params = {}) {
87 return request({ 87 return request({
88 url: `${api.baseDataCategory}/${code}/base-datas`, 88 url: `${api.baseDataCategory}/${code}/base-datas`,
89 method: 'get', 89 method: 'get',
...@@ -91,21 +91,21 @@ export function getDictItems(code, params = {}) { ...@@ -91,21 +91,21 @@ export function getDictItems(code, params = {}) {
91 }) 91 })
92 } 92 }
93 // 获取一级字典值下级接口 93 // 获取一级字典值下级接口
94 export function getDictItemsChild(id) { 94 export function getDictItemsChild (id) {
95 return request({ 95 return request({
96 url: `${api.baseData}/dict/${id}`, 96 url: `${api.baseData}/dict/${id}`,
97 method: 'get' 97 method: 'get'
98 }) 98 })
99 } 99 }
100 // 获取传入字段的所有级别字典值 100 // 获取传入字段的所有级别字典值
101 export function getAllDictItems(name) { 101 export function getAllDictItems (name) {
102 return request({ 102 return request({
103 url: `${api.baseDataCategory}/${name}/base-datas`, 103 url: `${api.baseDataCategory}/${name}/base-datas`,
104 method: 'get' 104 method: 'get'
105 }) 105 })
106 } 106 }
107 // get公共方法 107 // get公共方法
108 export function getAction(url, params = {}) { 108 export function getAction (url, params = {}) {
109 return request({ 109 return request({
110 url, 110 url,
111 method: 'get', 111 method: 'get',
...@@ -113,7 +113,7 @@ export function getAction(url, params = {}) { ...@@ -113,7 +113,7 @@ export function getAction(url, params = {}) {
113 }) 113 })
114 } 114 }
115 // post公共方法 115 // post公共方法
116 export function postAction(url, data = null) { 116 export function postAction (url, data = null) {
117 return request({ 117 return request({
118 url, 118 url,
119 method: 'post', 119 method: 'post',
...@@ -121,7 +121,7 @@ export function postAction(url, data = null) { ...@@ -121,7 +121,7 @@ export function postAction(url, data = null) {
121 }) 121 })
122 } 122 }
123 // method= {post | put} 123 // method= {post | put}
124 export function httpAction(url, data, method) { 124 export function httpAction (url, data, method) {
125 return request({ 125 return request({
126 url, 126 url,
127 method, 127 method,
...@@ -129,7 +129,7 @@ export function httpAction(url, data, method) { ...@@ -129,7 +129,7 @@ export function httpAction(url, data, method) {
129 }) 129 })
130 } 130 }
131 // put公共方法 131 // put公共方法
132 export function putAction(url, data = null) { 132 export function putAction (url, data = null) {
133 return request({ 133 return request({
134 url, 134 url,
135 method: 'put', 135 method: 'put',
...@@ -137,7 +137,7 @@ export function putAction(url, data = null) { ...@@ -137,7 +137,7 @@ export function putAction(url, data = null) {
137 }) 137 })
138 } 138 }
139 // delete 139 // delete
140 export function deleteAction(url, data = null) { 140 export function deleteAction (url, data = null) {
141 return request({ 141 return request({
142 url, 142 url,
143 method: 'delete', 143 method: 'delete',
...@@ -146,7 +146,7 @@ export function deleteAction(url, data = null) { ...@@ -146,7 +146,7 @@ export function deleteAction(url, data = null) {
146 } 146 }
147 147
148 // 批量删除 148 // 批量删除
149 export function deleteBranch(url, data) { 149 export function deleteBranch (url, data) {
150 return request({ 150 return request({
151 url, 151 url,
152 method: 'delete', 152 method: 'delete',
......
1
2 import {
3 api,
4 getAction,
5 deleteAction,
6 putAction
7 } from './manageApi'
8
9
10 export const updateUserPassword = (data) => {
11 return putAction(`${api.users}/update-password`, data)
12 }
13
14 // 根据条件获取用户
15 export const getUserList = (params) => {
16 return getAction(api.users, params)
17 }
18
19
20
21 // 重置用户密码
22 // export const resetPassword = id => {
23 // return putAction(`${api.users}/${id}/reset-password`)
24 // }
25
26 // 重置用户密码
27 export const resetPassword = (ids) => {
28 return putAction(`${api.users}/reset-passwords?ids=${ids}`)
29 }
30
31 // 人员列表
32 export const getUserRoles = (id) => {
33 return getAction(`${api.userRoles}/${id}/users`)
34 }
35 // 更新人员
36 export const updateUser = (id, data) => {
37 return putAction(`${api.userRoles}/${id}/users`, data)
38 }
39
1 /*
2 * @Description: 登薄日志
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-02 13:45:53
5 */
6 /* 引入请求文件 */
1 import request from '@/utils/request' 7 import request from '@/utils/request'
8 /* 引入配置文件 */
2 import SERVER from './config' 9 import SERVER from './config'
3 10 const urlHeader = SERVER.SERVERAPI + '/rest/sjsb/RecordLog/'
4 // 登簿日志分页 11 /**
12 * @description: 登簿日志分页
13 * @author: renchao
14 */
5 export function getRecordLogPage (data) { 15 export function getRecordLogPage (data) {
6 return request({ 16 return request({
7 url: SERVER.SERVERAPI + '/rest/sjsb/RecordLog/getRecordLogPage', 17 url: urlHeader + 'getRecordLogPage',
8 method: 'post', 18 method: 'post',
9 data 19 data
10 }) 20 })
11 } 21 }
12 22
13 23 /**
24 * @description: 获取详情明细
25 * @param {*} dbBsm
26 * @author: renchao
27 */
28 export function getDetail (dbBsm) {
29 return request({
30 url: urlHeader + 'getDetail',
31 method: 'get',
32 params: {
33 dbBsm: dbBsm
34 }
35 })
36 }
37 /**
38 * @description: 详情页面编辑
39 * @param {*} data
40 * @author: renchao
41 */
42 export function edit (data) {
43 return request({
44 url: urlHeader + 'edit',
45 method: 'post',
46 data
47 })
48 }
49 /**
50 * @description: 登薄日志重新生成报文
51 * @param {*} dbBsm
52 * @author: renchao
53 */
54 export function regenerateDbXml (dbBsm) {
55 return request({
56 url: urlHeader + 'regenerateDbXml',
57 method: 'get',
58 params: {
59 dbBsm: dbBsm
60 }
61 })
62 }
......
1 /*
2 * @Author: yangwei
3 * @Date: 2023-03-09 09:29:52
4 * @LastEditors: yangwei
5 * @LastEditTime: 2023-03-09 10:31:31
6 * @FilePath: \bdcjg-web\src\api\statistics.js
7 * @Description:
8 *
9 * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
10 */
11 import request from '@/utils/request'
12 import SERVER from './config'
13 const url = SERVER.SERVERAPI + '/rest/statistics/Efficient/'
14 /**
15 * dataReceiveQuality
16 * @param startDate
17 * @param endDate
18 * @returns {AxiosPromise}
19 */
20 export function dataReceiveQuality (startDate, endDate) {
21 return request({
22 url: url + 'dataReceiveQuality?startDate='+startDate+'&endDate='+endDate,
23 method: 'post'
24 })
25 }
26
27 /**
28 * 空项率统计
29 * @returns {AxiosPromise}
30 * @param startDate
31 * @param endDate
32 */
33 export function nonNullSta (startDate, endDate) {
34 return request({
35 url: url + 'nonNullSta?startDate='+startDate+'&endDate='+endDate,
36 method: 'post'
37 })
38 }
39
40 /**
41 * 登簿质量统计
42 * @returns {AxiosPromise}
43 * @param startDate
44 * @param endDate
45 */
46 export function registerBookQuality (startDate, endDate) {
47 return request({
48 url: url + 'registerBookQuality?startDate='+startDate+'&endDate='+endDate,
49 method: 'post'
50 })
51 }
...@@ -8,10 +8,21 @@ export function getUserInfo () { ...@@ -8,10 +8,21 @@ export function getUserInfo () {
8 }) 8 })
9 } 9 }
10 10
11 // // 获取菜单信息
12 // export function getMenuInfo () {
13 // return request({
14 // url: SERVER.SERVERAPI + '/rest/user/getUserAuthorizationMenus',
15 // method: 'get',
16 // })
17 // }
18
11 // 获取菜单信息 19 // 获取菜单信息
12 export function getMenuInfo () { 20 export function getMenuInfo (data) {
13 return request({ 21 return request({
14 url: SERVER.SERVERAPI + '/rest/user/getUserAuthorizationMenus', 22 url: SERVER.SERVERAPI + '/rest/user/getUserAuthorizationMenus',
15 method: 'get', 23 method: 'get',
24 params: {
25 productCode: data,
26 },
16 }) 27 })
17 } 28 }
......
...@@ -4,8 +4,7 @@ ...@@ -4,8 +4,7 @@
4 4
5 <script> 5 <script>
6 import tdTheme from "./theme.json"; // 引入默认主题 6 import tdTheme from "./theme.json"; // 引入默认主题
7 import "../map/hanzhong.js"; 7 import { mapGetters } from "vuex";
8
9 export default { 8 export default {
10 name: "echart", 9 name: "echart",
11 props: { 10 props: {
...@@ -30,14 +29,14 @@ export default { ...@@ -30,14 +29,14 @@ export default {
30 default: () => ({}), 29 default: () => ({}),
31 }, 30 },
32 }, 31 },
33 data() { 32 data () {
34 return { 33 return {
35 chart: null, 34 chart: null,
36 }; 35 };
37 }, 36 },
38 watch: { 37 watch: {
39 options: { 38 options: {
40 handler(options) { 39 handler (options) {
41 // 设置true清空echart缓存 40 // 设置true清空echart缓存
42 this.chart.setOption(options, true); 41 this.chart.setOption(options, true);
43 window.addEventListener("resize", () => { 42 window.addEventListener("resize", () => {
...@@ -46,22 +45,33 @@ export default { ...@@ -46,22 +45,33 @@ export default {
46 } 45 }
47 }); 46 });
48 }, 47 },
49 deep: true, 48 deep: true
49 },
50 },
51 computed: {
52 ...mapGetters(["dicData"]),
53 logoName () {
54 return (
55 this.dicData["sysCode"] &&
56 this.dicData["sysCode"].filter((item) => item.DCODE == "areaMap")
57 );
50 }, 58 },
51 }, 59 },
52 mounted() { 60 mounted () {
53 this.$echarts.registerTheme("tdTheme", tdTheme); // 覆盖默认主题 61 this.$echarts.registerTheme("tdTheme", tdTheme); // 覆盖默认主题
62 this.$nextTick(() => {
54 this.initChart(); 63 this.initChart();
64 })
55 }, 65 },
56 beforeDestroy() { 66 beforeDestroy () {
57 this.chart.dispose(); 67 // this.chart.dispose();
58 this.chart = null; 68 this.chart = null;
59 }, 69 },
60 methods: { 70 methods: {
61 initChart() { 71 initChart () {
62 // 初始化echart 72 // 初始化echart
63 this.chart = this.$echarts.init(this.$el, "tdTheme"); 73 this.chart = this.$echarts.init(this.$el, "tdTheme");
64 function nowSize(val, initWidth = 1920) { 74 function nowSize (val, initWidth = 1920) {
65 return val * (nowClientWidth / initWidth); 75 return val * (nowClientWidth / initWidth);
66 } 76 }
67 this.chart.setOption(this.options, true); 77 this.chart.setOption(this.options, true);
......
1
2 /*
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 */
20
21 (function(root, factory) {
22 if (typeof define === 'function' && define.amd) {
23 // AMD. Register as an anonymous module.
24 define(['exports', 'echarts'], factory);
25 } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
26 // CommonJS
27 factory(exports, require('echarts'));
28 } else {
29 // Browser globals
30 factory({}, root.echarts);
31 }
32 }(this, function(exports, echarts) {
33 var log = function(msg) {
34 if (typeof console !== 'undefined') {
35 console && console.error && console.error(msg);
36 }
37 }
38 if (!echarts) {
39 log('ECharts is not Loaded');
40 return;
41 }
42 if (!echarts.registerMap) {
43 log('ECharts Map is not loaded')
44 return;
45 }
46 echarts.registerMap('汉中市', {"type":"FeatureCollection","features":[{"type":"Feature","properties":{"adcode":632701,"name":"玉树市","center":[97.008762,33.00393],"centroid":[96.660011,32.914187],"childrenNum":0,"level":"district","parent":{"adcode":632700},"subFeatureIndex":0,"acroutes":[100000,630000,632700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[96.999029,32.065147],[97.006631,32.067779],[97.016239,32.056344],[97.028771,32.048832],[97.049907,32.049502],[97.057343,32.045722],[97.077895,32.048449],[97.095105,32.038735],[97.105548,32.037587],[97.114487,32.042659],[97.130695,32.043856],[97.153001,32.036821],[97.169459,32.024234],[97.170378,32.034189],[97.187505,32.054526],[97.201039,32.052516],[97.21332,32.042946],[97.231867,32.044813],[97.236462,32.0551],[97.232953,32.065052],[97.211733,32.078972],[97.202042,32.090308],[97.204297,32.097674],[97.212234,32.096861],[97.219753,32.109103],[97.232452,32.104178],[97.233872,32.094422],[97.240723,32.084712],[97.249495,32.083756],[97.256095,32.072849],[97.276062,32.071319],[97.29511,32.074954],[97.307893,32.073902],[97.293272,32.096717],[97.303799,32.118284],[97.313741,32.128993],[97.306723,32.132818],[97.288928,32.13234],[97.271384,32.141183],[97.275895,32.156096],[97.269211,32.162405],[97.264199,32.18257],[97.27673,32.208511],[97.276146,32.218589],[97.282328,32.236641],[97.28166,32.243994],[97.290849,32.271302],[97.28993,32.280609],[97.298368,32.294449],[97.319171,32.302848],[97.344318,32.296931],[97.342229,32.279941],[97.352589,32.283855],[97.367042,32.273784],[97.389683,32.282948],[97.396951,32.292111],[97.412824,32.294736],[97.417921,32.300891],[97.414662,32.316208],[97.424688,32.323411],[97.413075,32.327466],[97.41625,32.360233],[97.412574,32.376826],[97.40188,32.392701],[97.399791,32.402521],[97.389098,32.411958],[97.391353,32.422728],[97.386508,32.428065],[97.368629,32.435117],[97.349414,32.432735],[97.341728,32.442692],[97.346908,32.448981],[97.35025,32.464558],[97.366875,32.473464],[97.375814,32.482037],[97.388513,32.501464],[97.37431,32.503607],[97.369548,32.509987],[97.351252,32.51708],[97.334543,32.514509],[97.328444,32.517794],[97.33329,32.524982],[97.331118,32.537071],[97.341143,32.556677],[97.357685,32.563624],[97.361277,32.554346],[97.374728,32.546256],[97.387343,32.549254],[97.396784,32.55858],[97.411738,32.563434],[97.411905,32.575042],[97.448247,32.58722],[97.464455,32.570998],[97.463452,32.555725],[97.473227,32.544448],[97.485424,32.542116],[97.503637,32.530979],[97.50723,32.533549],[97.521098,32.525838],[97.531792,32.525505],[97.54023,32.536547],[97.554014,32.53155],[97.566295,32.532264],[97.578493,32.522792],[97.591693,32.531074],[97.604392,32.523506],[97.613498,32.524268],[97.620599,32.51927],[97.630207,32.52441],[97.66964,32.517223],[97.684344,32.530455],[97.703392,32.523363],[97.726367,32.524458],[97.731045,32.527314],[97.705564,32.532883],[97.693868,32.544686],[97.675154,32.547684],[97.665212,32.557819],[97.646832,32.567335],[97.63923,32.575994],[97.630708,32.575518],[97.617007,32.586554],[97.610574,32.595972],[97.606313,32.61528],[97.599045,32.616278],[97.58902,32.60924],[97.584007,32.61528],[97.560614,32.621509],[97.543738,32.621699],[97.540062,32.631873],[97.530121,32.639385],[97.524523,32.633585],[97.513245,32.648845],[97.500964,32.646563],[97.482918,32.654216],[97.480829,32.664054],[97.471305,32.664006],[97.464872,32.673749],[97.443569,32.690332],[97.442483,32.696888],[97.429283,32.699073],[97.423852,32.704964],[97.429366,32.712042],[97.424771,32.727763],[97.401796,32.754592],[97.385839,32.780226],[97.382331,32.792613],[97.380158,32.826301],[97.393108,32.82872],[97.392439,32.842191],[97.382832,32.855329],[97.387093,32.866472],[97.372723,32.87349],[97.376148,32.886054],[97.354343,32.887476],[97.348077,32.895819],[97.350082,32.903924],[97.330366,32.904778],[97.325437,32.918522],[97.3175,32.920085],[97.312153,32.913688],[97.294358,32.919185],[97.282328,32.915394],[97.277399,32.923403],[97.26612,32.922597],[97.255343,32.926577],[97.248576,32.962772],[97.243647,32.977455],[97.249411,32.988583],[97.247573,33.005581],[97.229361,33.014008],[97.221424,33.022907],[97.207222,33.023853],[97.201373,33.036727],[97.176394,33.045671],[97.177814,33.057879],[97.16428,33.087635],[97.151832,33.103526],[97.138464,33.113362],[97.123343,33.1353],[97.078647,33.152695],[97.069791,33.165549],[97.052748,33.171551],[97.038378,33.193379],[97.022254,33.204669],[97.024092,33.215958],[97.019664,33.226537],[97.025011,33.237067],[97.01156,33.247596],[97.012479,33.258879],[97.019748,33.269453],[97.018829,33.286019],[97.034117,33.289794],[97.035955,33.295834],[97.018912,33.312395],[97.001786,33.306309],[96.997358,33.315367],[97.008135,33.324425],[97.00095,33.333434],[96.986581,33.334189],[96.983824,33.319849],[96.974801,33.319094],[96.970373,33.335651],[96.978477,33.343197],[96.974884,33.349233],[96.963188,33.342442],[96.949654,33.345413],[96.953246,33.331123],[96.945143,33.325085],[96.91916,33.32433],[96.903872,33.318292],[96.885993,33.322113],[96.860846,33.330415],[96.844806,33.321406],[96.834029,33.329708],[96.83311,33.309376],[96.826927,33.307158],[96.821497,33.319189],[96.813477,33.322962],[96.808965,33.336547],[96.798272,33.345602],[96.799107,33.350884],[96.812558,33.356118],[96.800945,33.365925],[96.800026,33.383274],[96.788413,33.377995],[96.782983,33.354656],[96.769616,33.349375],[96.770451,33.367481],[96.766859,33.376486],[96.772206,33.3878],[96.770451,33.398358],[96.764185,33.397604],[96.758755,33.3878],[96.746223,33.394587],[96.75792,33.398358],[96.754327,33.406605],[96.739958,33.403589],[96.730016,33.409621],[96.731854,33.393786],[96.725588,33.393032],[96.718403,33.406605],[96.70938,33.413344],[96.696765,33.428375],[96.714727,33.427668],[96.716565,33.437468],[96.712889,33.445711],[96.693173,33.450186],[96.699439,33.466011],[96.697601,33.4743],[96.687659,33.481834],[96.676882,33.502878],[96.695763,33.515729],[96.70654,33.532295],[96.70019,33.542835],[96.684902,33.548058],[96.658752,33.542741],[96.648894,33.536671],[96.64079,33.53893],[96.633522,33.550928],[96.622745,33.544859],[96.618233,33.553892],[96.626254,33.572756],[96.619069,33.581034],[96.562342,33.608778],[96.561423,33.60779],[96.553403,33.598998],[96.538114,33.6163],[96.496008,33.610329],[96.467269,33.617852],[96.465514,33.621612],[96.480719,33.629886],[96.484228,33.63891],[96.451813,33.664522],[96.449975,33.679603],[96.440952,33.685569],[96.413132,33.687025],[96.399681,33.68322],[96.405028,33.693037],[96.388737,33.696748],[96.386063,33.704263],[96.400433,33.713373],[96.41639,33.748022],[96.40202,33.747975],[96.393917,33.754735],[96.37161,33.761775],[96.374868,33.749853],[96.364342,33.727929],[96.348886,33.703605],[96.335185,33.685992],[96.328334,33.682233],[96.321734,33.671099],[96.304273,33.66095],[96.288149,33.645584],[96.262752,33.650472],[96.252309,33.649626],[96.238023,33.638393],[96.223987,33.615971],[96.217805,33.610847],[96.183802,33.595424],[96.186392,33.571486],[96.199759,33.561043],[96.188063,33.550034],[96.20143,33.540059],[96.213962,33.522083],[96.231005,33.506691],[96.233344,33.49916],[96.224071,33.496288],[96.21204,33.500289],[96.202099,33.4977],[96.182883,33.507115],[96.160326,33.51201],[96.148547,33.526365],[96.135347,33.531213],[96.117217,33.542882],[96.096749,33.525707],[96.091653,33.518741],[96.079539,33.512246],[96.074443,33.514646],[96.054643,33.50189],[96.038352,33.495723],[96.019721,33.499301],[96.011534,33.50382],[96.005936,33.498359],[96.010281,33.487201],[96.021476,33.470721],[96.033255,33.447313],[96.032086,33.4402],[96.021392,33.439776],[96.004934,33.448161],[95.988559,33.451175],[95.955643,33.446135],[95.933503,33.448302],[95.928324,33.443969],[95.937096,33.424511],[95.931665,33.412873],[95.916711,33.393456],[95.908022,33.389402],[95.891982,33.396142],[95.872934,33.39897],[95.865248,33.395483],[95.849959,33.403259],[95.842022,33.403165],[95.828404,33.409951],[95.817293,33.41947],[95.805597,33.43629],[95.789974,33.441283],[95.771678,33.441425],[95.756473,33.437892],[95.735587,33.447596],[95.710106,33.450657],[95.703589,33.446936],[95.703171,33.428092],[95.687381,33.41947],[95.685376,33.404296],[95.699412,33.399159],[95.708769,33.391618],[95.724141,33.352487],[95.736506,33.347535],[95.743356,33.340226],[95.744025,33.327396],[95.77009,33.3165],[95.773098,33.311027],[95.765579,33.302016],[95.742688,33.296825],[95.751627,33.276486],[95.758979,33.273323],[95.788052,33.28399],[95.798161,33.276958],[95.801002,33.265016],[95.799247,33.245283],[95.81487,33.229276],[95.838597,33.223609],[95.849374,33.203441],[95.864997,33.191206],[95.860235,33.177552],[95.878531,33.153451],[95.898331,33.134685],[95.898832,33.13043],[95.911698,33.125183],[95.926569,33.110336],[95.941774,33.108634],[95.946369,33.103905],[95.948625,33.089007],[95.960822,33.080351],[95.961407,33.07387],[95.952301,33.066112],[95.967924,33.030196],[95.942944,33.008185],[95.934172,33.005676],[95.925149,33.009463],[95.900169,33.008185],[95.892399,33.00293],[95.910946,32.979633],[95.910027,32.970872],[95.915291,32.965567],[95.909443,32.952351],[95.931582,32.93468],[95.944615,32.934585],[95.957564,32.929468],[95.964331,32.934017],[95.977698,32.926246],[96.016212,32.920844],[96.021309,32.922455],[96.04303,32.914019],[96.045536,32.910133],[96.031584,32.902976],[96.048962,32.885011],[96.047876,32.879416],[96.037683,32.878611],[96.019721,32.863011],[96.022395,32.857463],[96.012954,32.854617],[96.033422,32.84978],[96.039103,32.843045],[96.03359,32.819279],[96.033088,32.804097],[96.02064,32.794701],[96.021643,32.781222],[96.027324,32.777283],[96.012035,32.760858],[96.032253,32.756823],[96.040774,32.749939],[96.040607,32.740775],[96.054726,32.727193],[96.067174,32.724248],[96.069179,32.716364],[96.080959,32.707387],[96.089731,32.706152],[96.104017,32.712327],[96.106942,32.722254],[96.151888,32.759482],[96.167261,32.751078],[96.174445,32.737688],[96.166425,32.73009],[96.175114,32.714844],[96.194496,32.692755],[96.191656,32.678691],[96.181881,32.65721],[96.18798,32.652219],[96.176952,32.62013],[96.178706,32.613996],[96.193159,32.609811],[96.211038,32.611238],[96.229083,32.616516],[96.259327,32.61585],[96.274532,32.607861],[96.281382,32.597066],[96.290071,32.59269],[96.291157,32.579752],[96.301684,32.562815],[96.309453,32.557914],[96.308033,32.550063],[96.315552,32.546351],[96.333514,32.527076],[96.352228,32.517889],[96.351393,32.509177],[96.366013,32.497036],[96.368268,32.488894],[96.385061,32.470273],[96.394669,32.470464],[96.408286,32.463367],[96.4138,32.453269],[96.427836,32.439691],[96.441203,32.433306],[96.442372,32.423824],[96.452231,32.425063],[96.463342,32.438547],[96.477461,32.443074],[96.483727,32.449505],[96.504195,32.454888],[96.516643,32.462891],[96.535775,32.454793],[96.547388,32.438833],[96.559167,32.432973],[96.571281,32.420393],[96.577714,32.403855],[96.58799,32.401853],[96.586904,32.389221],[96.608626,32.378828],[96.619403,32.38741],[96.635193,32.382166],[96.650147,32.390985],[96.684401,32.378733],[96.688912,32.373584],[96.700859,32.375062],[96.717651,32.369483],[96.717985,32.380449],[96.693423,32.408907],[96.698436,32.42268],[96.692588,32.435069],[96.702112,32.444217],[96.723917,32.44355],[96.733525,32.428684],[96.740208,32.440358],[96.734861,32.446123],[96.751236,32.457365],[96.760426,32.474036],[96.771203,32.464748],[96.789834,32.439214],[96.800861,32.441978],[96.804203,32.450791],[96.824003,32.460033],[96.839375,32.459937],[96.851322,32.438738],[96.854246,32.406715],[96.87296,32.381641],[96.892426,32.372869],[96.897522,32.36667],[96.88733,32.355178],[96.87672,32.355321],[96.867279,32.349312],[96.878391,32.342206],[96.877221,32.335337],[96.884657,32.327896],[96.894431,32.325224],[96.894097,32.315826],[96.900948,32.311532],[96.90855,32.292111],[96.922586,32.281898],[96.916153,32.272447],[96.926178,32.263855],[96.91231,32.259606],[96.908801,32.25383],[96.915819,32.232725],[96.910305,32.219114],[96.895517,32.204737],[96.912143,32.18515],[96.928684,32.17913],[96.939963,32.179225],[96.957257,32.173061],[96.960933,32.16618],[96.980148,32.168856],[96.982236,32.175976],[96.996606,32.188112],[96.996439,32.200151],[97.011143,32.225657],[97.015654,32.227759],[97.02852,32.218446],[97.048654,32.217443],[97.05634,32.20703],[97.091429,32.206552],[97.112566,32.203161],[97.118163,32.177219],[97.114487,32.154519],[97.097528,32.149835],[97.078312,32.135734],[97.063358,32.139128],[97.054753,32.135112],[97.030274,32.133774],[97.038211,32.126651],[97.033616,32.118523],[97.038128,32.099395],[97.030943,32.096908],[97.029105,32.088347],[97.018912,32.078159],[97.021335,32.074859],[97.001034,32.073758],[96.999029,32.065147]]]]}},{"type":"Feature","properties":{"adcode":632722,"name":"杂多县","center":[95.293423,32.891886],"centroid":[94.28247,33.060889],"childrenNum":0,"level":"district","parent":{"adcode":632700},"subFeatureIndex":1,"acroutes":[100000,630000,632700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[95.742688,33.296825],[95.711275,33.326925],[95.700581,33.332585],[95.690974,33.332255],[95.68287,33.326453],[95.671257,33.310272],[95.660564,33.308385],[95.648784,33.311923],[95.639928,33.319896],[95.633161,33.320274],[95.613862,33.30612],[95.592308,33.308479],[95.577938,33.29692],[95.560227,33.297958],[95.557303,33.319991],[95.526224,33.344612],[95.51152,33.347488],[95.495814,33.340084],[95.487125,33.340273],[95.466406,33.363096],[95.42806,33.38351],[95.408677,33.38153],[95.39389,33.386904],[95.379353,33.405333],[95.337163,33.428281],[95.31352,33.436997],[95.306419,33.433934],[95.302075,33.410658],[95.296644,33.409009],[95.283361,33.417349],[95.27392,33.427574],[95.257713,33.430636],[95.213434,33.433887],[95.207502,33.446418],[95.179431,33.515964],[95.162221,33.533236],[95.151528,33.550363],[95.147434,33.567534],[95.134067,33.584185],[95.122788,33.585925],[95.101902,33.575343],[95.091125,33.563301],[95.094216,33.546317],[95.086029,33.539118],[95.07191,33.53413],[95.048267,33.534271],[95.034148,33.527401],[95.020279,33.532954],[94.992292,33.566029],[94.980345,33.570921],[94.96397,33.564006],[94.941163,33.563912],[94.927796,33.574731],[94.915932,33.579858],[94.903568,33.58014],[94.88452,33.575296],[94.872322,33.56871],[94.863049,33.569322],[94.854109,33.577459],[94.826206,33.567252],[94.819104,33.566923],[94.812671,33.573979],[94.807408,33.591803],[94.810332,33.606991],[94.825287,33.639568],[94.82679,33.648498],[94.822363,33.663159],[94.813423,33.672227],[94.769061,33.685005],[94.74617,33.69501],[94.715175,33.719102],[94.706737,33.74192],[94.709995,33.75342],[94.70657,33.762103],[94.688942,33.763418],[94.682342,33.774774],[94.667388,33.790118],[94.617762,33.810665],[94.590443,33.815965],[94.545079,33.82014],[94.535304,33.803254],[94.527033,33.794856],[94.518846,33.793167],[94.49679,33.803441],[94.479747,33.806397],[94.470306,33.792135],[94.458025,33.780921],[94.432711,33.777965],[94.411073,33.78308],[94.390521,33.774117],[94.383253,33.766327],[94.358273,33.753937],[94.355433,33.746192],[94.359276,33.736286],[94.355934,33.724737],[94.346744,33.728164],[94.318339,33.717787],[94.317671,33.703511],[94.309901,33.700224],[94.294195,33.700975],[94.288096,33.692051],[94.273643,33.681952],[94.25259,33.67514],[94.240392,33.678287],[94.231453,33.67575],[94.20923,33.679838],[94.196698,33.672885],[94.183582,33.670113],[94.159605,33.672462],[94.148577,33.678099],[94.136714,33.677301],[94.116663,33.681059],[94.10764,33.689749],[94.073888,33.686085],[94.06027,33.676596],[94.044731,33.678006],[94.035207,33.659353],[94.016326,33.658084],[94.003293,33.648122],[93.990845,33.63139],[93.979065,33.62777],[93.974554,33.618322],[93.961103,33.614796],[93.946483,33.597493],[93.930693,33.594766],[93.920751,33.602807],[93.906131,33.605581],[93.888085,33.627112],[93.864025,33.636748],[93.855002,33.645443],[93.836371,33.649767],[93.82008,33.664803],[93.804959,33.66875],[93.792845,33.667247],[93.784073,33.685099],[93.747647,33.703089],[93.73428,33.71774],[93.726343,33.704967],[93.723837,33.691769],[93.715232,33.690078],[93.6763,33.670583],[93.660176,33.66922],[93.653493,33.662595],[93.640961,33.664522],[93.614227,33.654607],[93.598103,33.651881],[93.586908,33.653291],[93.548979,33.66532],[93.521827,33.668656],[93.509713,33.68073],[93.497849,33.683549],[93.475042,33.66875],[93.439452,33.656017],[93.417647,33.639427],[93.407204,33.639991],[93.391832,33.634586],[93.37813,33.634445],[93.368021,33.647276],[93.359918,33.651881],[93.341204,33.644926],[93.328338,33.643422],[93.314052,33.635667],[93.294335,33.63468],[93.282973,33.643798],[93.259581,33.653479],[93.248219,33.648592],[93.234016,33.63327],[93.210791,33.637735],[93.202102,33.642811],[93.175953,33.646947],[93.155735,33.652868],[93.142786,33.662407],[93.118975,33.668656],[93.098674,33.662172],[93.086978,33.664803],[93.059241,33.657802],[93.03518,33.660997],[93.024988,33.668233],[93.008279,33.659447],[92.992823,33.65987],[92.979456,33.664287],[92.945955,33.655876],[92.915962,33.66236],[92.90836,33.661185],[92.877866,33.666965],[92.850965,33.656768],[92.839603,33.647041],[92.83434,33.633223],[92.822727,33.620296],[92.812952,33.615407],[92.808942,33.600926],[92.815041,33.593731],[92.807522,33.570827],[92.818967,33.555209],[92.841357,33.543306],[92.851967,33.534177],[92.855978,33.512716],[92.848876,33.499207],[92.825735,33.485883],[92.815459,33.47736],[92.793904,33.469402],[92.760236,33.474017],[92.744529,33.46149],[92.734337,33.458193],[92.698162,33.472981],[92.687385,33.465446],[92.682456,33.442932],[92.669423,33.432474],[92.657225,33.40915],[92.660985,33.390204],[92.673099,33.383274],[92.655638,33.382002],[92.620382,33.367576],[92.599162,33.35211],[92.610691,33.319],[92.609689,33.311593],[92.598494,33.303573],[92.6208,33.283518],[92.633165,33.284886],[92.679031,33.266999],[92.71178,33.247785],[92.7198,33.240089],[92.721053,33.232109],[92.710276,33.217942],[92.711863,33.191348],[92.70919,33.183222],[92.700585,33.182371],[92.670593,33.147259],[92.673517,33.132983],[92.707603,33.111565],[92.718129,33.101635],[92.731914,33.061097],[92.729826,33.038242],[92.721555,33.030385],[92.703258,33.023475],[92.692231,33.00738],[92.689557,32.997911],[92.696993,32.982995],[92.674603,32.952636],[92.656557,32.940839],[92.649706,32.923592],[92.648955,32.902692],[92.643357,32.895582],[92.627149,32.885627],[92.608352,32.879037],[92.596322,32.869934],[92.594734,32.821414],[92.587382,32.785114],[92.586714,32.769261],[92.581451,32.754829],[92.560899,32.731847],[92.571091,32.733367],[92.578109,32.741107],[92.591643,32.737213],[92.600081,32.743624],[92.605762,32.730612],[92.613281,32.728095],[92.624476,32.732559],[92.634585,32.721019],[92.649539,32.721541],[92.667836,32.731895],[92.68797,32.766033],[92.697076,32.764893],[92.710777,32.754544],[92.723142,32.749939],[92.73442,32.750936],[92.745532,32.741724],[92.756393,32.743149],[92.77661,32.724201],[92.789393,32.720069],[92.795324,32.726101],[92.810529,32.730802],[92.822727,32.729757],[92.839018,32.717219],[92.855226,32.710522],[92.866755,32.698171],[92.877031,32.696983],[92.879119,32.710807],[92.888643,32.707909],[92.900006,32.712802],[92.913874,32.704584],[92.918887,32.711899],[92.930416,32.710522],[92.938352,32.720069],[92.950717,32.714797],[92.964502,32.714607],[92.983383,32.721921],[92.98497,32.728998],[93.001178,32.741107],[93.008196,32.741962],[93.020978,32.734506],[93.026742,32.710332],[93.023735,32.703064],[93.047545,32.693942],[93.041613,32.674366],[93.048631,32.670089],[93.048715,32.653978],[93.056902,32.651174],[93.060912,32.631636],[93.065591,32.627167],[93.077036,32.627309],[93.088231,32.636723],[93.107446,32.637246],[93.117221,32.647419],[93.131089,32.64219],[93.159662,32.644804],[93.164507,32.664814],[93.175368,32.67047],[93.195001,32.665052],[93.210457,32.655309],[93.228084,32.654596],[93.239112,32.662058],[93.252981,32.655214],[93.249221,32.644994],[93.262755,32.625217],[93.284477,32.624932],[93.288069,32.620082],[93.30294,32.617895],[93.30411,32.606672],[93.313383,32.602963],[93.313801,32.590216],[93.308454,32.580418],[93.338447,32.571189],[93.364847,32.549635],[93.37554,32.538308],[93.376459,32.530884],[93.385566,32.525172],[93.396426,32.542258],[93.409376,32.544733],[93.412216,32.557867],[93.435776,32.557343],[93.446971,32.562006],[93.462928,32.556011],[93.465685,32.540545],[93.475376,32.528171],[93.47713,32.50394],[93.488242,32.498846],[93.501692,32.503417],[93.516396,32.475941],[93.53227,32.475227],[93.534358,32.48637],[93.554994,32.485989],[93.563849,32.492465],[93.563933,32.500084],[93.572455,32.501226],[93.620409,32.523982],[93.630434,32.542021],[93.625756,32.551157],[93.638622,32.551586],[93.654662,32.573187],[93.669867,32.57547],[93.678639,32.568049],[93.698189,32.575851],[93.721999,32.578134],[93.741716,32.57371],[93.751657,32.563053],[93.762936,32.56862],[93.780647,32.557058],[93.792761,32.558533],[93.82267,32.547541],[93.829771,32.529551],[93.827766,32.520983],[93.838544,32.513319],[93.850407,32.510891],[93.850741,32.495513],[93.85968,32.486323],[93.855754,32.474131],[93.858678,32.464701],[93.868619,32.473941],[93.898027,32.472655],[93.913232,32.462033],[93.913566,32.468464],[93.929022,32.476655],[93.959934,32.484942],[93.971797,32.471702],[93.975306,32.460414],[93.996275,32.463272],[93.998448,32.455889],[94.011146,32.44617],[94.031865,32.449172],[94.029359,32.459556],[94.040554,32.459414],[94.052751,32.470654],[94.067205,32.470178],[94.07063,32.466082],[94.090931,32.463986],[94.102293,32.447742],[94.121508,32.442073],[94.137633,32.433878],[94.148159,32.440834],[94.153088,32.454507],[94.180741,32.455889],[94.187926,32.470131],[94.177734,32.483132],[94.182245,32.499131],[94.196782,32.516175],[94.229281,32.509939],[94.244736,32.516985],[94.257352,32.512319],[94.293359,32.503845],[94.294195,32.519793],[94.317504,32.531788],[94.321347,32.526648],[94.353511,32.532883],[94.35677,32.520983],[94.37139,32.524839],[94.373729,32.535262],[94.379159,32.53769],[94.38342,32.549492],[94.376987,32.562197],[94.38743,32.577468],[94.3952,32.594212],[94.393111,32.603486],[94.404891,32.59873],[94.407648,32.583319],[94.428534,32.571569],[94.434215,32.563148],[94.463456,32.572473],[94.46379,32.594973],[94.459028,32.599444],[94.469722,32.608242],[94.479246,32.607291],[94.485762,32.594783],[94.497542,32.601869],[94.508904,32.603771],[94.513081,32.596305],[94.535387,32.598207],[94.554519,32.610762],[94.565631,32.627452],[94.596876,32.630019],[94.59178,32.640621],[94.60122,32.650651],[94.60122,32.663341],[94.614588,32.673606],[94.633719,32.655689],[94.638481,32.645517],[94.66037,32.628878],[94.677914,32.618323],[94.690195,32.614519],[94.687522,32.604295],[94.703646,32.598255],[94.717264,32.604104],[94.723279,32.594497],[94.737565,32.58741],[94.738735,32.573853],[94.744583,32.570047],[94.745335,32.560579],[94.761709,32.555059],[94.772069,32.555297],[94.757866,32.546256],[94.755778,32.54026],[94.760874,32.52679],[94.78577,32.52441],[94.794459,32.513986],[94.795378,32.498893],[94.806823,32.486323],[94.812671,32.487989],[94.827626,32.478656],[94.842079,32.475893],[94.850768,32.464605],[94.859623,32.464891],[94.88995,32.472321],[94.904069,32.451554],[94.912507,32.415675],[94.922449,32.409908],[94.938406,32.408431],[94.941748,32.40376],[94.957036,32.411719],[94.968064,32.407096],[94.980094,32.409193],[94.993462,32.420965],[95.019778,32.408192],[95.027046,32.412005],[95.033646,32.402807],[95.057289,32.394417],[95.059629,32.388316],[95.0745,32.376206],[95.081183,32.384311],[95.090624,32.38803],[95.107834,32.384216],[95.131644,32.386933],[95.131226,32.398898],[95.14075,32.397182],[95.154702,32.401615],[95.152864,32.387315],[95.165062,32.384549],[95.172831,32.393512],[95.185781,32.393702],[95.191211,32.386981],[95.207252,32.388077],[95.21853,32.396896],[95.222707,32.380449],[95.229475,32.373489],[95.229057,32.362998],[95.241087,32.364286],[95.261723,32.348072],[95.246183,32.342778],[95.226634,32.344829],[95.217611,32.339201],[95.206082,32.338104],[95.19355,32.332284],[95.177928,32.333715],[95.150358,32.331712],[95.136072,32.323888],[95.096806,32.322219],[95.095803,32.313583],[95.08135,32.298076],[95.079512,32.280609],[95.106581,32.258843],[95.120366,32.265048],[95.132145,32.263998],[95.138578,32.273879],[95.161636,32.280371],[95.178596,32.282327],[95.191796,32.293256],[95.207419,32.297694],[95.208338,32.308812],[95.214604,32.311055],[95.21452,32.321455],[95.225799,32.318593],[95.241254,32.320358],[95.240753,32.30175],[95.246434,32.293543],[95.2395,32.2871],[95.247353,32.27617],[95.256543,32.254164],[95.253619,32.25044],[95.256042,32.235638],[95.263895,32.211854],[95.277847,32.207078],[95.280854,32.200868],[95.26991,32.19461],[95.280938,32.182761],[95.285616,32.172631],[95.301991,32.163552],[95.307923,32.164077],[95.313102,32.148736],[95.323629,32.152368],[95.331065,32.148927],[95.343596,32.154806],[95.353705,32.145963],[95.366905,32.151173],[95.360472,32.163934],[95.365318,32.176693],[95.389044,32.186106],[95.398151,32.17913],[95.407925,32.179799],[95.41653,32.172918],[95.43349,32.187826],[95.419037,32.202158],[95.417617,32.20832],[95.428561,32.217156],[95.431318,32.231149],[95.403665,32.243326],[95.400824,32.254498],[95.40826,32.265144],[95.428561,32.282518],[95.438837,32.317687],[95.455128,32.351267],[95.460057,32.369865],[95.472004,32.380974],[95.487293,32.389984],[95.493558,32.399327],[95.486457,32.40457],[95.464903,32.407811],[95.436832,32.425635],[95.430984,32.432878],[95.42831,32.44941],[95.422295,32.455269],[95.430482,32.466511],[95.447024,32.473941],[95.454794,32.481275],[95.469163,32.486466],[95.513191,32.495227],[95.535498,32.50613],[95.541346,32.514414],[95.531237,32.521221],[95.514027,32.544781],[95.49005,32.561863],[95.486958,32.574947],[95.475095,32.59483],[95.46131,32.62341],[95.431568,32.64547],[95.426806,32.659919],[95.41369,32.668996],[95.420624,32.677313],[95.443432,32.691234],[95.45329,32.703254],[95.461895,32.708099],[95.472171,32.704489],[95.491303,32.688336],[95.516032,32.674699],[95.536751,32.653455],[95.544688,32.648417],[95.575348,32.638529],[95.610521,32.611713],[95.621381,32.607861],[95.642435,32.592928],[95.664741,32.585745],[95.685711,32.571712],[95.695235,32.569952],[95.701584,32.58194],[95.712946,32.587553],[95.729822,32.578943],[95.754969,32.584176],[95.763908,32.583985],[95.779949,32.569856],[95.788888,32.568953],[95.805012,32.578467],[95.840602,32.581084],[95.859817,32.571997],[95.888222,32.566146],[95.884379,32.57704],[95.874688,32.581987],[95.87026,32.593356],[95.862825,32.594022],[95.855723,32.604057],[95.848288,32.603771],[95.840351,32.614614],[95.85021,32.624219],[95.867336,32.631969],[95.874772,32.638434],[95.885298,32.633395],[95.887387,32.626073],[95.893987,32.629259],[95.902091,32.642142],[95.90468,32.654168],[95.900503,32.67199],[95.907772,32.675459],[95.934172,32.654976],[95.963078,32.641381],[95.981207,32.641286],[95.995326,32.646896],[96.004182,32.660775],[96.013372,32.684773],[96.023731,32.687719],[96.032169,32.68425],[96.041526,32.708812],[96.036096,32.713087],[96.032169,32.734791],[96.040607,32.740775],[96.040774,32.749939],[96.032253,32.756823],[96.012035,32.760858],[96.027324,32.777283],[96.021643,32.781222],[96.02064,32.794701],[96.033088,32.804097],[96.03359,32.819279],[96.039103,32.843045],[96.033422,32.84978],[96.012954,32.854617],[96.022395,32.857463],[96.019721,32.863011],[96.037683,32.878611],[96.047876,32.879416],[96.048962,32.885011],[96.031584,32.902976],[96.045536,32.910133],[96.04303,32.914019],[96.021309,32.922455],[96.016212,32.920844],[95.977698,32.926246],[95.964331,32.934017],[95.957564,32.929468],[95.944615,32.934585],[95.931582,32.93468],[95.909443,32.952351],[95.915291,32.965567],[95.910027,32.970872],[95.910946,32.979633],[95.892399,33.00293],[95.900169,33.008185],[95.925149,33.009463],[95.934172,33.005676],[95.942944,33.008185],[95.967924,33.030196],[95.952301,33.066112],[95.961407,33.07387],[95.960822,33.080351],[95.948625,33.089007],[95.946369,33.103905],[95.941774,33.108634],[95.926569,33.110336],[95.911698,33.125183],[95.898832,33.13043],[95.898331,33.134685],[95.878531,33.153451],[95.860235,33.177552],[95.864997,33.191206],[95.849374,33.203441],[95.838597,33.223609],[95.81487,33.229276],[95.799247,33.245283],[95.801002,33.265016],[95.798161,33.276958],[95.788052,33.28399],[95.758979,33.273323],[95.751627,33.276486],[95.742688,33.296825]]]]}},{"type":"Feature","properties":{"adcode":632723,"name":"称多县","center":[97.110893,33.367884],"centroid":[97.013299,33.918962],"childrenNum":0,"level":"district","parent":{"adcode":632700},"subFeatureIndex":2,"acroutes":[100000,630000,632700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[97.003373,34.723952],[97.002872,34.712816],[96.993766,34.703581],[96.992429,34.685989],[97.0073,34.676565],[97.011143,34.648983],[97.018912,34.634353],[97.017325,34.626921],[96.995771,34.62037],[96.99151,34.605456],[96.995687,34.598997],[96.991259,34.587518],[96.991343,34.571343],[96.983907,34.560837],[96.983072,34.549353],[96.96912,34.536007],[96.971292,34.518333],[96.960933,34.514379],[96.950824,34.520845],[96.913479,34.514658],[96.885074,34.523636],[96.853327,34.526659],[96.836368,34.51517],[96.811889,34.515821],[96.783902,34.513356],[96.775965,34.509402],[96.76452,34.514147],[96.764185,34.527682],[96.750234,34.535774],[96.723499,34.538937],[96.718654,34.546981],[96.70019,34.555583],[96.691084,34.55112],[96.678803,34.562046],[96.667942,34.557489],[96.657082,34.558698],[96.654157,34.549771],[96.644466,34.544842],[96.63419,34.5454],[96.619236,34.556002],[96.59033,34.559767],[96.572033,34.573528],[96.561507,34.574086],[96.549393,34.58473],[96.529175,34.597603],[96.503443,34.597835],[96.485899,34.605224],[96.475456,34.615167],[96.461838,34.616654],[96.452899,34.622275],[96.451312,34.646336],[96.432263,34.653906],[96.407869,34.668719],[96.385479,34.673686],[96.3742,34.683389],[96.365177,34.699079],[96.361084,34.712537],[96.364091,34.727015],[96.351727,34.732118],[96.32683,34.747149],[96.316722,34.747474],[96.292828,34.754849],[96.285225,34.762409],[96.276871,34.748494],[96.250471,34.745711],[96.247046,34.754988],[96.23418,34.762873],[96.227413,34.761945],[96.225575,34.770432],[96.21204,34.778825],[96.212625,34.783833],[96.199425,34.790509],[96.192324,34.790045],[96.187645,34.779984],[96.172524,34.761296],[96.16584,34.758559],[96.154478,34.744412],[96.149549,34.742696],[96.140693,34.728036],[96.151053,34.685757],[96.14721,34.673083],[96.156985,34.648426],[96.155397,34.632448],[96.142782,34.605038],[96.129916,34.594071],[96.142197,34.578966],[96.137435,34.570227],[96.15498,34.56437],[96.160243,34.572087],[96.171521,34.574411],[96.186476,34.572552],[96.207111,34.577572],[96.215382,34.567299],[96.211623,34.547353],[96.228666,34.541448],[96.233762,34.536565],[96.237271,34.521217],[96.228164,34.507867],[96.215466,34.500842],[96.214881,34.494747],[96.205942,34.492095],[96.207947,34.478786],[96.200094,34.477158],[96.195415,34.467431],[96.181797,34.463428],[96.154645,34.465476],[96.152724,34.454863],[96.146207,34.449556],[96.153225,34.427627],[96.162666,34.42772],[96.164169,34.419524],[96.158572,34.411747],[96.160494,34.404388],[96.179375,34.395071],[96.193744,34.393255],[96.22499,34.37625],[96.220311,34.368654],[96.259744,34.353975],[96.270104,34.336496],[96.277205,34.340504],[96.290489,34.338826],[96.299428,34.341577],[96.317975,34.340551],[96.325494,34.328804],[96.336438,34.319852],[96.343706,34.319153],[96.367433,34.307962],[96.377458,34.292945],[96.389238,34.296769],[96.411043,34.293831],[96.416474,34.281051],[96.45457,34.259264],[96.461838,34.248718],[96.476375,34.243492],[96.47554,34.229164],[96.503527,34.209558],[96.500102,34.172667],[96.504613,34.16141],[96.511881,34.157626],[96.542375,34.157299],[96.552985,34.141088],[96.546552,34.126695],[96.548975,34.115198],[96.557998,34.104214],[96.554322,34.080932],[96.566519,34.0814],[96.574289,34.054697],[96.588909,34.050908],[96.593254,34.040197],[96.59434,34.013341],[96.605451,34.003934],[96.595175,33.98788],[96.596345,33.97922],[96.59058,33.954031],[96.607289,33.943822],[96.624165,33.909439],[96.632937,33.881605],[96.630932,33.869653],[96.619737,33.847291],[96.627006,33.82633],[96.628259,33.815543],[96.623914,33.810712],[96.594757,33.796592],[96.574373,33.780546],[96.559167,33.758161],[96.556995,33.741873],[96.56276,33.722671],[96.581975,33.695621],[96.582226,33.680026],[96.587322,33.670958],[96.584983,33.663582],[96.565433,33.649626],[96.559919,33.636466],[96.558833,33.620907],[96.561423,33.60779],[96.562342,33.608778],[96.619069,33.581034],[96.626254,33.572756],[96.618233,33.553892],[96.622745,33.544859],[96.633522,33.550928],[96.64079,33.53893],[96.648894,33.536671],[96.658752,33.542741],[96.684902,33.548058],[96.70019,33.542835],[96.70654,33.532295],[96.695763,33.515729],[96.676882,33.502878],[96.687659,33.481834],[96.697601,33.4743],[96.699439,33.466011],[96.693173,33.450186],[96.712889,33.445711],[96.716565,33.437468],[96.714727,33.427668],[96.696765,33.428375],[96.70938,33.413344],[96.718403,33.406605],[96.725588,33.393032],[96.731854,33.393786],[96.730016,33.409621],[96.739958,33.403589],[96.754327,33.406605],[96.75792,33.398358],[96.746223,33.394587],[96.758755,33.3878],[96.764185,33.397604],[96.770451,33.398358],[96.772206,33.3878],[96.766859,33.376486],[96.770451,33.367481],[96.769616,33.349375],[96.782983,33.354656],[96.788413,33.377995],[96.800026,33.383274],[96.800945,33.365925],[96.812558,33.356118],[96.799107,33.350884],[96.798272,33.345602],[96.808965,33.336547],[96.813477,33.322962],[96.821497,33.319189],[96.826927,33.307158],[96.83311,33.309376],[96.834029,33.329708],[96.844806,33.321406],[96.860846,33.330415],[96.885993,33.322113],[96.903872,33.318292],[96.91916,33.32433],[96.945143,33.325085],[96.953246,33.331123],[96.949654,33.345413],[96.963188,33.342442],[96.974884,33.349233],[96.978477,33.343197],[96.970373,33.335651],[96.974801,33.319094],[96.983824,33.319849],[96.986581,33.334189],[97.00095,33.333434],[97.008135,33.324425],[96.997358,33.315367],[97.001786,33.306309],[97.018912,33.312395],[97.035955,33.295834],[97.034117,33.289794],[97.018829,33.286019],[97.019748,33.269453],[97.012479,33.258879],[97.01156,33.247596],[97.025011,33.237067],[97.019664,33.226537],[97.024092,33.215958],[97.022254,33.204669],[97.038378,33.193379],[97.052748,33.171551],[97.069791,33.165549],[97.078647,33.152695],[97.123343,33.1353],[97.138464,33.113362],[97.151832,33.103526],[97.16428,33.087635],[97.177814,33.057879],[97.176394,33.045671],[97.201373,33.036727],[97.207222,33.023853],[97.221424,33.022907],[97.229361,33.014008],[97.247573,33.005581],[97.249411,32.988583],[97.243647,32.977455],[97.248576,32.962772],[97.255343,32.926577],[97.26612,32.922597],[97.277399,32.923403],[97.282328,32.915394],[97.294358,32.919185],[97.312153,32.913688],[97.3175,32.920085],[97.325437,32.918522],[97.330366,32.904778],[97.350082,32.903924],[97.361779,32.907005],[97.360358,32.917811],[97.369632,32.926577],[97.362029,32.941976],[97.375814,32.956709],[97.388931,32.956757],[97.410151,32.96192],[97.415414,32.968504],[97.435298,32.975371],[97.447412,32.976271],[97.46504,32.972056],[97.478824,32.980864],[97.481581,32.97807],[97.506227,32.981338],[97.523771,32.98863],[97.500128,33.011641],[97.497622,33.021818],[97.518007,33.022149],[97.526361,33.029628],[97.541399,33.034787],[97.537306,33.058211],[97.516921,33.09752],[97.501214,33.096811],[97.487764,33.106695],[97.490688,33.122535],[97.497956,33.137947],[97.486343,33.145274],[97.487931,33.168196],[97.494865,33.167723],[97.518007,33.182608],[97.529703,33.204103],[97.550506,33.204811],[97.55485,33.211566],[97.575151,33.220823],[97.577657,33.234423],[97.592863,33.245944],[97.593614,33.251373],[97.609154,33.268179],[97.605979,33.283423],[97.615336,33.30178],[97.62202,33.335981],[97.636807,33.344612],[97.650425,33.341263],[97.676073,33.341027],[97.676323,33.357533],[97.689523,33.362814],[97.702306,33.359749],[97.702306,33.36635],[97.710911,33.369273],[97.707151,33.376156],[97.716007,33.376345],[97.720017,33.386244],[97.733468,33.387187],[97.75001,33.397368],[97.748756,33.403778],[97.758782,33.403212],[97.753518,33.410187],[97.741321,33.411648],[97.723442,33.421213],[97.715673,33.421355],[97.703726,33.428987],[97.67482,33.433039],[97.672564,33.442555],[97.664961,33.44769],[97.645245,33.449009],[97.625528,33.46149],[97.610741,33.459041],[97.604559,33.451835],[97.588101,33.460124],[97.580331,33.469873],[97.568802,33.464222],[97.552594,33.465682],[97.5551,33.47397],[97.546662,33.480515],[97.542151,33.49271],[97.529035,33.500007],[97.511992,33.519447],[97.518592,33.532154],[97.517338,33.545894],[97.521265,33.554927],[97.519845,33.566076],[97.525192,33.575766],[97.510738,33.582492],[97.472809,33.58743],[97.461781,33.581598],[97.448581,33.583714],[97.437052,33.60022],[97.415748,33.605487],[97.406308,33.620014],[97.405974,33.628523],[97.415748,33.63421],[97.416166,33.639662],[97.429199,33.664522],[97.428614,33.674576],[97.435465,33.680307],[97.422432,33.709569],[97.42828,33.721544],[97.417837,33.72854],[97.4165,33.748445],[97.423267,33.754922],[97.409817,33.767641],[97.406391,33.795138],[97.400627,33.804098],[97.385756,33.807475],[97.368796,33.824126],[97.371804,33.841993],[97.398037,33.848276],[97.392523,33.861543],[97.396366,33.869653],[97.389599,33.879918],[97.39528,33.889291],[97.410736,33.88212],[97.419926,33.886807],[97.460695,33.887369],[97.468465,33.902083],[97.482751,33.896976],[97.498541,33.903864],[97.50489,33.912297],[97.517589,33.909346],[97.524941,33.902599],[97.537222,33.905738],[97.546662,33.914124],[97.559528,33.91478],[97.582921,33.921245],[97.601885,33.930052],[97.633966,33.919137],[97.642404,33.924899],[97.644409,33.943354],[97.655604,33.94888],[97.659865,33.956325],[97.661536,33.975101],[97.652764,33.998412],[97.658528,34.012217],[97.675572,34.01086],[97.687351,34.016616],[97.702306,34.036735],[97.703141,34.058158],[97.693701,34.069382],[97.694954,34.076584],[97.683341,34.080698],[97.663541,34.114451],[97.65903,34.132023],[97.637559,34.158467],[97.627701,34.19966],[97.620182,34.212265],[97.607149,34.217681],[97.588685,34.205449],[97.584007,34.195364],[97.584425,34.178412],[97.575903,34.169211],[97.567883,34.168277],[97.549419,34.172808],[97.541065,34.178319],[97.534381,34.192282],[97.526946,34.199379],[97.496285,34.205729],[97.4891,34.212592],[97.479493,34.237285],[97.476067,34.264116],[97.468465,34.27508],[97.452675,34.286742],[97.413075,34.294811],[97.404052,34.32251],[97.391437,34.336869],[97.369966,34.348195],[97.360191,34.36255],[97.338386,34.375224],[97.327358,34.371217],[97.316247,34.375923],[97.303632,34.396702],[97.317584,34.413377],[97.33705,34.416916],[97.346908,34.428605],[97.334543,34.435403],[97.339055,34.440618],[97.327358,34.448858],[97.325019,34.464498],[97.311234,34.467431],[97.302044,34.479903],[97.275227,34.48116],[97.2251,34.497213],[97.209561,34.49805],[97.191348,34.493351],[97.175642,34.484789],[97.163695,34.497027],[97.146151,34.503587],[97.156928,34.51196],[97.158849,34.518798],[97.183913,34.527729],[97.193771,34.54368],[97.194439,34.555769],[97.199786,34.563068],[97.19469,34.571715],[97.200454,34.589888],[97.197196,34.607454],[97.185667,34.611589],[97.148908,34.620092],[97.129107,34.633238],[97.105548,34.630312],[97.090176,34.635468],[97.073634,34.645175],[97.064778,34.656924],[97.07355,34.674661],[97.118414,34.684689],[97.125682,34.704926],[97.137378,34.725576],[97.114905,34.723256],[97.104378,34.731654],[97.091429,34.735876],[97.075138,34.745897],[97.025847,34.751416],[97.011644,34.75624],[97.000533,34.739541],[97.006297,34.728546],[97.003373,34.723952]]]]}},{"type":"Feature","properties":{"adcode":632724,"name":"治多县","center":[95.616843,33.852322],"centroid":[92.60308,34.879225],"childrenNum":0,"level":"district","parent":{"adcode":632700},"subFeatureIndex":3,"acroutes":[100000,630000,632700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[94.061941,35.636484],[94.048992,35.638732],[94.032367,35.648687],[94.008556,35.673593],[93.985832,35.678821],[93.963526,35.688634],[93.934035,35.70656],[93.915404,35.708669],[93.889171,35.702205],[93.880149,35.705231],[93.85024,35.709677],[93.83587,35.722236],[93.781483,35.730577],[93.769202,35.737176],[93.76185,35.756328],[93.748232,35.759214],[93.726928,35.750739],[93.707796,35.749364],[93.697604,35.751884],[93.681396,35.765032],[93.676551,35.764895],[93.660594,35.753717],[93.627594,35.755916],[93.600358,35.763062],[93.587158,35.771033],[93.568277,35.772682],[93.549647,35.782574],[93.539371,35.7812],[93.5311,35.761322],[93.51272,35.757244],[93.478467,35.767093],[93.448558,35.773552],[93.429677,35.774285],[93.408457,35.772178],[93.385482,35.777079],[93.361087,35.774834],[93.347135,35.778132],[93.309039,35.778498],[93.265429,35.777582],[93.253482,35.779552],[93.225495,35.790543],[93.192996,35.789032],[93.174115,35.791321],[93.147046,35.800067],[93.086894,35.80721],[93.080712,35.813894],[93.067178,35.84154],[93.044621,35.846848],[93.016299,35.849182],[93.002431,35.84186],[92.993993,35.833348],[92.98355,35.833027],[92.971269,35.837695],[92.937601,35.84543],[92.915461,35.847992],[92.86617,35.862405],[92.829912,35.868993],[92.802426,35.866614],[92.756226,35.869222],[92.695489,35.87741],[92.673851,35.875352],[92.644025,35.878782],[92.591894,35.878508],[92.527648,35.887153],[92.496987,35.894288],[92.488633,35.893602],[92.452207,35.898266],[92.424888,35.910475],[92.406342,35.915185],[92.369415,35.910292],[92.351202,35.896574],[92.34243,35.896254],[92.331653,35.908509],[92.314276,35.911344],[92.296898,35.908692],[92.25805,35.907778],[92.213521,35.914545],[92.17885,35.922591],[92.170078,35.923003],[92.146602,35.9305],[92.141339,35.935162],[92.125382,35.938773],[92.057627,35.957237],[92.04309,35.958745],[91.998979,35.975194],[91.97425,35.988487],[91.974584,35.999769],[91.967817,36.006528],[91.9349,36.010501],[91.910004,36.015616],[91.895885,36.022465],[91.880429,36.024885],[91.858457,36.021826],[91.836402,36.013926],[91.793126,36.005478],[91.750601,36.011643],[91.719523,36.020547],[91.679505,36.037166],[91.646004,36.043419],[91.63272,36.037759],[91.616095,36.049125],[91.594039,36.050951],[91.579837,36.055561],[91.582928,36.060809],[91.570229,36.072537],[91.565133,36.071122],[91.565467,36.080795],[91.553353,36.082848],[91.548842,36.095257],[91.556444,36.119795],[91.562961,36.131195],[91.571315,36.155083],[91.555191,36.155083],[91.552016,36.148519],[91.535224,36.135754],[91.527705,36.133019],[91.523528,36.120525],[91.507738,36.10926],[91.493869,36.103468],[91.477328,36.091699],[91.441905,36.078879],[91.40431,36.067335],[91.388269,36.065099],[91.342988,36.072354],[91.316421,36.074316],[91.291943,36.081343],[91.276487,36.094436],[91.255099,36.107938],[91.229786,36.117743],[91.206059,36.123671],[91.175732,36.133475],[91.142899,36.14159],[91.122682,36.154901],[91.104803,36.156724],[91.116082,36.141089],[91.119925,36.12244],[91.12477,36.115508],[91.122264,36.104608],[91.111988,36.094983],[91.092522,36.088825],[91.081327,36.088414],[91.057266,36.094025],[91.039722,36.093889],[91.033289,36.100001],[91.009562,36.103331],[91.003714,36.10064],[90.995026,36.107801],[90.979236,36.106797],[90.96261,36.093067],[90.952335,36.064186],[90.940722,36.045474],[90.934289,36.043191],[90.927271,36.031276],[90.91098,36.031368],[90.884664,36.024885],[90.872299,36.026437],[90.852415,36.017168],[90.838714,36.019771],[90.829357,36.029907],[90.815906,36.03575],[90.820251,36.04027],[90.806382,36.044104],[90.787334,36.065144],[90.776306,36.086316],[90.755253,36.094436],[90.742387,36.095941],[90.738043,36.101369],[90.726848,36.103878],[90.714149,36.115143],[90.66302,36.133931],[90.652159,36.134751],[90.624005,36.130784],[90.615567,36.126453],[90.587162,36.134159],[90.578056,36.130511],[90.568866,36.132426],[90.550904,36.145055],[90.52701,36.148519],[90.490835,36.14118],[90.479724,36.132244],[90.464435,36.131377],[90.423916,36.133976],[90.395595,36.139538],[90.373873,36.147516],[90.349645,36.142684],[90.341875,36.144872],[90.32926,36.157909],[90.310129,36.160097],[90.28824,36.157408],[90.274455,36.161373],[90.253402,36.157454],[90.236777,36.160599],[90.198179,36.187485],[90.175706,36.189764],[90.151812,36.196188],[90.143123,36.203203],[90.13009,36.207804],[90.127584,36.214955],[90.133599,36.227252],[90.145713,36.238955],[90.128503,36.246741],[90.086397,36.250929],[90.082052,36.255573],[90.058409,36.255527],[90.047716,36.265405],[90.043455,36.276602],[90.020647,36.275191],[90.003604,36.278513],[90.008784,36.266862],[90.027665,36.259897],[90.0219,36.238363],[90.019895,36.21368],[90.010037,36.19965],[90.009786,36.185708],[89.993078,36.163561],[89.982384,36.155995],[89.944371,36.140359],[89.93727,36.130101],[89.94646,36.110856],[89.948214,36.097766],[89.943285,36.090193],[89.947212,36.070164],[89.941447,36.067517],[89.927662,36.076187],[89.913125,36.079381],[89.90828,36.074727],[89.902432,36.079427],[89.887394,36.077008],[89.859239,36.081662],[89.847794,36.07605],[89.832589,36.079062],[89.812287,36.079563],[89.79466,36.071213],[89.768427,36.078103],[89.764333,36.072719],[89.752971,36.079928],[89.730999,36.083487],[89.727573,36.088506],[89.68814,36.090923],[89.684381,36.085951],[89.659485,36.069708],[89.641523,36.065874],[89.643277,36.057067],[89.63793,36.050084],[89.623644,36.050038],[89.617044,36.042917],[89.605181,36.038261],[89.56249,36.035522],[89.55071,36.028674],[89.543441,36.030774],[89.514117,36.025341],[89.506431,36.029131],[89.487049,36.027304],[89.475603,36.022145],[89.462236,36.030226],[89.451543,36.027761],[89.440431,36.031733],[89.431743,36.043648],[89.419127,36.045976],[89.41094,36.034746],[89.404507,36.017123],[89.420965,36.007076],[89.434667,35.993512],[89.427064,35.984513],[89.426813,35.967609],[89.432578,35.95943],[89.434165,35.94636],[89.421467,35.932511],[89.427983,35.917425],[89.450457,35.91043],[89.472846,35.900507],[89.489973,35.903525],[89.509188,35.894425],[89.541687,35.882076],[89.554469,35.879789],[89.552798,35.873247],[89.531077,35.874162],[89.530659,35.870274],[89.543943,35.867346],[89.549958,35.857418],[89.558312,35.861536],[89.577862,35.861536],[89.592231,35.855451],[89.607186,35.861124],[89.624062,35.859111],[89.66032,35.848175],[89.671515,35.851607],[89.707606,35.849273],[89.726989,35.852751],[89.741191,35.858745],[89.748794,35.854352],[89.778786,35.861536],[89.791986,35.857876],[89.801928,35.847763],[89.786723,35.833668],[89.781543,35.807713],[89.767675,35.799014],[89.776447,35.781017],[89.781627,35.777857],[89.780039,35.763383],[89.772353,35.761047],[89.763832,35.765765],[89.746872,35.754679],[89.752553,35.731769],[89.740773,35.715499],[89.750632,35.711144],[89.749713,35.702984],[89.742862,35.700509],[89.750381,35.69111],[89.748292,35.687075],[89.748877,35.66277],[89.74587,35.65855],[89.728158,35.654788],[89.725318,35.649834],[89.733338,35.642723],[89.742361,35.6218],[89.753723,35.61354],[89.765837,35.59977],[89.764333,35.587375],[89.749546,35.580489],[89.738016,35.58003],[89.719219,35.583932],[89.709277,35.576816],[89.707773,35.562902],[89.700756,35.548021],[89.700004,35.537456],[89.70627,35.535067],[89.704097,35.525925],[89.709945,35.516505],[89.705267,35.507407],[89.720138,35.501754],[89.741108,35.507315],[89.753472,35.491597],[89.765252,35.482541],[89.744115,35.479737],[89.738935,35.468611],[89.728492,35.467507],[89.731751,35.463093],[89.725067,35.452379],[89.714373,35.447596],[89.710948,35.439226],[89.699001,35.435776],[89.702009,35.428876],[89.686469,35.414707],[89.676862,35.420596],[89.658482,35.425564],[89.634839,35.41917],[89.617545,35.410842],[89.601338,35.397912],[89.599416,35.39193],[89.58112,35.381988],[89.568087,35.383507],[89.560568,35.377938],[89.545948,35.375314],[89.534586,35.36887],[89.50735,35.372506],[89.497241,35.361319],[89.499246,35.354459],[89.512446,35.347875],[89.516373,35.332126],[89.506849,35.322637],[89.494735,35.298544],[89.497241,35.290342],[89.511277,35.284306],[89.527819,35.286794],[89.531829,35.276379],[89.514953,35.265732],[89.485712,35.256697],[89.471844,35.244987],[89.458727,35.238532],[89.45054,35.223961],[89.469087,35.214645],[89.475353,35.208141],[89.481368,35.192595],[89.492981,35.176077],[89.50451,35.165694],[89.519464,35.134029],[89.538596,35.126503],[89.540768,35.120962],[89.556474,35.119161],[89.564912,35.12147],[89.583041,35.116621],[89.593067,35.104245],[89.586383,35.09667],[89.594236,35.087339],[89.590728,35.057954],[89.580117,35.055089],[89.588305,35.043627],[89.586216,35.028142],[89.581621,35.019543],[89.567669,35.011637],[89.576776,34.999568],[89.573935,34.980236],[89.566416,34.963629],[89.570343,34.950581],[89.563074,34.945074],[89.561236,34.931052],[89.568004,34.917906],[89.584378,34.907814],[89.579115,34.895221],[89.609525,34.894897],[89.624396,34.892396],[89.621138,34.88156],[89.654472,34.883181],[89.658816,34.888599],[89.670178,34.887627],[89.671682,34.894712],[89.700756,34.908231],[89.711783,34.920545],[89.733505,34.906148],[89.746956,34.903555],[89.765085,34.916008],[89.787558,34.921748],[89.802429,34.917258],[89.814209,34.905685],[89.830667,34.898462],[89.848128,34.900731],[89.86751,34.906796],[89.86609,34.900175],[89.904437,34.871788],[89.915465,34.868917],[89.928163,34.872483],[89.946543,34.890961],[89.968766,34.900453],[90.007698,34.906935],[90.019812,34.91337],[90.049136,34.909203],[90.063673,34.905176],[90.089822,34.902861],[90.096673,34.896517],[90.107533,34.874567],[90.115804,34.868083],[90.127918,34.866369],[90.167769,34.87943],[90.185146,34.892443],[90.183392,34.907768],[90.189658,34.917073],[90.199432,34.923507],[90.209792,34.937624],[90.221154,34.942298],[90.242875,34.945676],[90.252483,34.943177],[90.272366,34.927164],[90.295007,34.926701],[90.305032,34.922859],[90.321825,34.933829],[90.340622,34.93642],[90.375043,34.931515],[90.422412,34.939614],[90.443298,34.927025],[90.464268,34.925266],[90.535949,34.924387],[90.57062,34.921147],[90.582985,34.924017],[90.60738,34.925405],[90.638207,34.919295],[90.643554,34.902768],[90.653747,34.895915],[90.679813,34.903185],[90.717157,34.900129],[90.728603,34.887581],[90.741552,34.886099],[90.781319,34.890452],[90.806466,34.880773],[90.8464,34.860903],[90.876894,34.853074],[90.91875,34.834495],[90.923929,34.81174],[90.933036,34.80386],[90.948241,34.798158],[90.942059,34.77326],[90.961107,34.75573],[90.977231,34.756287],[90.985084,34.746546],[91.003881,34.745108],[91.014241,34.762409],[91.024266,34.766304],[91.05994,34.762455],[91.064702,34.771869],[91.056932,34.788284],[91.059188,34.796443],[91.069046,34.794821],[91.096532,34.796258],[91.121763,34.786661],[91.126358,34.781004],[91.156099,34.797463],[91.166626,34.799549],[91.190937,34.798066],[91.215332,34.804231],[91.232793,34.80284],[91.247413,34.793754],[91.263788,34.789396],[91.303639,34.790973],[91.321517,34.789906],[91.335302,34.773956],[91.350006,34.761945],[91.373733,34.751927],[91.38075,34.751277],[91.410409,34.739402],[91.453434,34.72437],[91.495707,34.716296],[91.545751,34.708546],[91.57073,34.702792],[91.5917,34.695365],[91.63247,34.677447],[91.648594,34.673037],[91.675411,34.661754],[91.681009,34.661289],[91.704067,34.670483],[91.726541,34.667233],[91.732138,34.661939],[91.738571,34.646336],[91.748012,34.635003],[91.760794,34.625155],[91.770903,34.623204],[91.808164,34.625062],[91.828632,34.620742],[91.843252,34.600809],[91.853695,34.592677],[91.879594,34.585101],[91.909921,34.58301],[91.935402,34.578455],[91.958543,34.576596],[91.965645,34.56953],[91.966397,34.555304],[91.949604,34.536053],[91.93064,34.517635],[91.928718,34.506285],[91.937992,34.488698],[91.961468,34.48088],[92.004911,34.473853],[92.028136,34.461426],[92.047351,34.454584],[92.066316,34.442433],[92.084946,34.435543],[92.099399,34.434704],[92.137078,34.417196],[92.150194,34.40844],[92.16707,34.403037],[92.212101,34.396003],[92.224131,34.387711],[92.232068,34.377601],[92.274341,34.378626],[92.298569,34.382679],[92.342514,34.379651],[92.365238,34.379325],[92.39523,34.383797],[92.42422,34.389807],[92.438757,34.380816],[92.467914,34.376902],[92.491306,34.3783],[92.507932,34.411374],[92.51378,34.415938],[92.537673,34.411374],[92.546446,34.401965],[92.540848,34.379977],[92.554466,34.342043],[92.559813,34.332999],[92.578694,34.290426],[92.592813,34.276386],[92.595486,34.266822],[92.61278,34.239572],[92.627985,34.202414],[92.631744,34.187145],[92.644694,34.173088],[92.655387,34.154123],[92.654468,34.14833],[92.661653,34.138424],[92.652798,34.122863],[92.656975,34.112488],[92.667334,34.111459],[92.677443,34.100708],[92.690894,34.092808],[92.69056,34.083551],[92.702172,34.078267],[92.704094,34.072282],[92.713367,34.070318],[92.735339,34.076817],[92.753803,34.067979],[92.766585,34.072983],[92.803428,34.082569],[92.826821,34.071112],[92.833504,34.078735],[92.855142,34.087151],[92.870598,34.090049],[92.883631,34.087852],[92.896998,34.092621],[92.912704,34.091592],[92.902679,34.068728],[92.878033,34.06059],[92.87795,34.053621],[92.868676,34.044173],[92.852469,34.045249],[92.844281,34.034957],[92.829661,34.030559],[92.818216,34.036548],[92.806352,34.034817],[92.782291,34.035659],[92.774522,34.020406],[92.766167,34.018301],[92.755975,34.001033],[92.739851,33.994574],[92.726484,33.982076],[92.717545,33.964145],[92.719382,33.953188],[92.706767,33.942792],[92.719132,33.935813],[92.723643,33.922791],[92.729408,33.91806],[92.742858,33.915764],[92.749041,33.907518],[92.741772,33.899131],[92.750461,33.884651],[92.752717,33.869372],[92.741689,33.847479],[92.747286,33.839086],[92.743026,33.833318],[92.749542,33.817607],[92.746367,33.814793],[92.761823,33.791572],[92.75681,33.786505],[92.752717,33.765342],[92.757562,33.762244],[92.756393,33.747506],[92.765415,33.729667],[92.77377,33.723563],[92.766418,33.710368],[92.756476,33.703746],[92.776276,33.698063],[92.782124,33.689937],[92.797664,33.684629],[92.792985,33.653197],[92.784296,33.636842],[92.79474,33.631202],[92.812952,33.615407],[92.822727,33.620296],[92.83434,33.633223],[92.839603,33.647041],[92.850965,33.656768],[92.877866,33.666965],[92.90836,33.661185],[92.915962,33.66236],[92.945955,33.655876],[92.979456,33.664287],[92.992823,33.65987],[93.008279,33.659447],[93.024988,33.668233],[93.03518,33.660997],[93.059241,33.657802],[93.086978,33.664803],[93.098674,33.662172],[93.118975,33.668656],[93.142786,33.662407],[93.155735,33.652868],[93.175953,33.646947],[93.202102,33.642811],[93.210791,33.637735],[93.234016,33.63327],[93.248219,33.648592],[93.259581,33.653479],[93.282973,33.643798],[93.294335,33.63468],[93.314052,33.635667],[93.328338,33.643422],[93.341204,33.644926],[93.359918,33.651881],[93.368021,33.647276],[93.37813,33.634445],[93.391832,33.634586],[93.407204,33.639991],[93.417647,33.639427],[93.439452,33.656017],[93.475042,33.66875],[93.497849,33.683549],[93.509713,33.68073],[93.521827,33.668656],[93.548979,33.66532],[93.586908,33.653291],[93.598103,33.651881],[93.614227,33.654607],[93.640961,33.664522],[93.653493,33.662595],[93.660176,33.66922],[93.6763,33.670583],[93.715232,33.690078],[93.723837,33.691769],[93.726343,33.704967],[93.73428,33.71774],[93.747647,33.703089],[93.784073,33.685099],[93.792845,33.667247],[93.804959,33.66875],[93.82008,33.664803],[93.836371,33.649767],[93.855002,33.645443],[93.864025,33.636748],[93.888085,33.627112],[93.906131,33.605581],[93.920751,33.602807],[93.930693,33.594766],[93.946483,33.597493],[93.961103,33.614796],[93.974554,33.618322],[93.979065,33.62777],[93.990845,33.63139],[94.003293,33.648122],[94.016326,33.658084],[94.035207,33.659353],[94.044731,33.678006],[94.06027,33.676596],[94.073888,33.686085],[94.10764,33.689749],[94.116663,33.681059],[94.136714,33.677301],[94.148577,33.678099],[94.159605,33.672462],[94.183582,33.670113],[94.196698,33.672885],[94.20923,33.679838],[94.231453,33.67575],[94.240392,33.678287],[94.25259,33.67514],[94.273643,33.681952],[94.288096,33.692051],[94.294195,33.700975],[94.309901,33.700224],[94.317671,33.703511],[94.318339,33.717787],[94.346744,33.728164],[94.355934,33.724737],[94.359276,33.736286],[94.355433,33.746192],[94.358273,33.753937],[94.383253,33.766327],[94.390521,33.774117],[94.411073,33.78308],[94.432711,33.777965],[94.458025,33.780921],[94.470306,33.792135],[94.479747,33.806397],[94.49679,33.803441],[94.518846,33.793167],[94.527033,33.794856],[94.535304,33.803254],[94.545079,33.82014],[94.590443,33.815965],[94.617762,33.810665],[94.667388,33.790118],[94.682342,33.774774],[94.688942,33.763418],[94.70657,33.762103],[94.709995,33.75342],[94.706737,33.74192],[94.715175,33.719102],[94.74617,33.69501],[94.769061,33.685005],[94.813423,33.672227],[94.822363,33.663159],[94.82679,33.648498],[94.825287,33.639568],[94.810332,33.606991],[94.807408,33.591803],[94.812671,33.573979],[94.819104,33.566923],[94.826206,33.567252],[94.854109,33.577459],[94.863049,33.569322],[94.872322,33.56871],[94.88452,33.575296],[94.903568,33.58014],[94.915932,33.579858],[94.927796,33.574731],[94.941163,33.563912],[94.96397,33.564006],[94.980345,33.570921],[94.992292,33.566029],[95.020279,33.532954],[95.034148,33.527401],[95.048267,33.534271],[95.07191,33.53413],[95.086029,33.539118],[95.094216,33.546317],[95.091125,33.563301],[95.101902,33.575343],[95.122788,33.585925],[95.134067,33.584185],[95.147434,33.567534],[95.151528,33.550363],[95.162221,33.533236],[95.179431,33.515964],[95.207502,33.446418],[95.213434,33.433887],[95.257713,33.430636],[95.27392,33.427574],[95.283361,33.417349],[95.296644,33.409009],[95.302075,33.410658],[95.306419,33.433934],[95.31352,33.436997],[95.337163,33.428281],[95.379353,33.405333],[95.39389,33.386904],[95.408677,33.38153],[95.42806,33.38351],[95.466406,33.363096],[95.487125,33.340273],[95.495814,33.340084],[95.51152,33.347488],[95.526224,33.344612],[95.557303,33.319991],[95.560227,33.297958],[95.577938,33.29692],[95.592308,33.308479],[95.613862,33.30612],[95.633161,33.320274],[95.639928,33.319896],[95.648784,33.311923],[95.660564,33.308385],[95.671257,33.310272],[95.68287,33.326453],[95.690974,33.332255],[95.700581,33.332585],[95.711275,33.326925],[95.742688,33.296825],[95.765579,33.302016],[95.773098,33.311027],[95.77009,33.3165],[95.744025,33.327396],[95.743356,33.340226],[95.736506,33.347535],[95.724141,33.352487],[95.708769,33.391618],[95.699412,33.399159],[95.685376,33.404296],[95.687381,33.41947],[95.703171,33.428092],[95.703589,33.446936],[95.710106,33.450657],[95.735587,33.447596],[95.756473,33.437892],[95.771678,33.441425],[95.789974,33.441283],[95.805597,33.43629],[95.817293,33.41947],[95.828404,33.409951],[95.842022,33.403165],[95.849959,33.403259],[95.865248,33.395483],[95.872934,33.39897],[95.891982,33.396142],[95.908022,33.389402],[95.916711,33.393456],[95.931665,33.412873],[95.937096,33.424511],[95.928324,33.443969],[95.933503,33.448302],[95.955643,33.446135],[95.988559,33.451175],[96.004934,33.448161],[96.021392,33.439776],[96.032086,33.4402],[96.033255,33.447313],[96.021476,33.470721],[96.010281,33.487201],[96.005936,33.498359],[96.011534,33.50382],[96.019721,33.499301],[96.038352,33.495723],[96.054643,33.50189],[96.074443,33.514646],[96.079539,33.512246],[96.091653,33.518741],[96.096749,33.525707],[96.117217,33.542882],[96.135347,33.531213],[96.148547,33.526365],[96.160326,33.51201],[96.182883,33.507115],[96.202099,33.4977],[96.21204,33.500289],[96.224071,33.496288],[96.233344,33.49916],[96.231005,33.506691],[96.213962,33.522083],[96.20143,33.540059],[96.188063,33.550034],[96.199759,33.561043],[96.186392,33.571486],[96.183802,33.595424],[96.217805,33.610847],[96.223987,33.615971],[96.238023,33.638393],[96.252309,33.649626],[96.262752,33.650472],[96.288149,33.645584],[96.304273,33.66095],[96.321734,33.671099],[96.328334,33.682233],[96.335185,33.685992],[96.348886,33.703605],[96.364342,33.727929],[96.374868,33.749853],[96.37161,33.761775],[96.365929,33.756096],[96.350641,33.752294],[96.346129,33.742483],[96.330841,33.743892],[96.324575,33.724267],[96.303856,33.728681],[96.295668,33.733892],[96.286646,33.733094],[96.284891,33.726286],[96.270438,33.729995],[96.263337,33.715627],[96.258825,33.718633],[96.256068,33.733657],[96.250638,33.730653],[96.250721,33.717834],[96.240863,33.714782],[96.23184,33.720793],[96.236268,33.732859],[96.233511,33.740371],[96.215549,33.734268],[96.202015,33.736474],[96.20377,33.744032],[96.23159,33.755392],[96.22783,33.77346],[96.215299,33.773413],[96.220562,33.786223],[96.216051,33.789977],[96.208949,33.782423],[96.183802,33.780077],[96.188397,33.765811],[96.180294,33.76276],[96.175699,33.771771],[96.168597,33.771724],[96.151554,33.758161],[96.139858,33.76262],[96.13802,33.77163],[96.131671,33.774634],[96.111954,33.764732],[96.097501,33.769941],[96.101093,33.777496],[96.110952,33.782798],[96.127995,33.783643],[96.130668,33.788194],[96.107109,33.809868],[96.081962,33.79997],[96.067425,33.814887],[96.047625,33.803441],[96.043949,33.811697],[96.044701,33.829003],[96.034676,33.833459],[96.021225,33.822063],[95.989144,33.832896],[95.986638,33.839039],[95.994658,33.854652],[95.982627,33.868293],[95.960989,33.861309],[95.956227,33.881183],[95.922225,33.890369],[95.925901,33.903489],[95.922308,33.909252],[95.898665,33.910704],[95.891982,33.921948],[95.901589,33.945976],[95.892483,33.949301],[95.869174,33.944103],[95.867002,33.975335],[95.848873,33.997663],[95.846116,34.01554],[95.826734,34.02195],[95.824812,34.030279],[95.83208,34.047073],[95.819215,34.060216],[95.801754,34.062554],[95.795237,34.054463],[95.785045,34.05741],[95.783374,34.06971],[95.77786,34.076022],[95.756556,34.078735],[95.756222,34.090938],[95.751794,34.096314],[95.73166,34.103513],[95.702419,34.126882],[95.6949,34.135854],[95.691809,34.147302],[95.698242,34.160943],[95.689554,34.172761],[95.688133,34.194477],[95.680698,34.203862],[95.662402,34.210725],[95.645024,34.211939],[95.638257,34.223376],[95.630321,34.224543],[95.603085,34.220202],[95.579442,34.218614],[95.571338,34.220715],[95.567078,34.229024],[95.586878,34.240505],[95.588632,34.247972],[95.583452,34.254738],[95.56666,34.26519],[95.563736,34.273167],[95.574346,34.297609],[95.575265,34.307915],[95.555214,34.328477],[95.538839,34.330855],[95.526893,34.343581],[95.505255,34.348382],[95.477267,34.364181],[95.462146,34.367862],[95.457968,34.381002],[95.432738,34.392882],[95.422462,34.402944],[95.415528,34.415286],[95.399822,34.427021],[95.399989,34.441781],[95.3913,34.444342],[95.363563,34.445227],[95.354206,34.458866],[95.355877,34.478786],[95.344849,34.483766],[95.318951,34.486139],[95.309427,34.475622],[95.317697,34.464591],[95.31753,34.452629],[95.30667,34.452303],[95.30032,34.469432],[95.29514,34.474365],[95.281189,34.476971],[95.269743,34.460123],[95.253452,34.460821],[95.239583,34.46757],[95.224545,34.484091],[95.218029,34.495538],[95.199983,34.499074],[95.179515,34.485115],[95.160467,34.493584],[95.147016,34.512053],[95.128553,34.512937],[95.124292,34.525822],[95.115603,34.528612],[95.097224,34.520659],[95.076839,34.526612],[95.059545,34.574039],[95.053948,34.580314],[95.039077,34.586589],[95.022117,34.576689],[95.012927,34.57971],[95.01017,34.587193],[95.0151,34.600531],[95.013679,34.606804],[94.980512,34.62116],[94.981013,34.634957],[94.989702,34.648751],[94.988783,34.658039],[94.982768,34.660407],[94.957955,34.660314],[94.935565,34.66584],[94.924287,34.674522],[94.914512,34.688588],[94.903066,34.691977],[94.883684,34.685432],[94.85954,34.686082],[94.824785,34.700425],[94.810165,34.711609],[94.792119,34.704741],[94.76714,34.709103],[94.757281,34.718384],[94.746922,34.718013],[94.738651,34.726226],[94.714089,34.728453],[94.692284,34.721261],[94.662793,34.729659],[94.642909,34.727664],[94.628372,34.734577],[94.617846,34.750535],[94.608405,34.754246],[94.579165,34.754617],[94.559365,34.749654],[94.540484,34.749747],[94.517091,34.737918],[94.516339,34.731051],[94.50456,34.702235],[94.470891,34.704973],[94.463539,34.699589],[94.462704,34.687892],[94.451509,34.67884],[94.423271,34.686964],[94.409737,34.684643],[94.400046,34.67364],[94.380413,34.675776],[94.377823,34.651027],[94.371724,34.65112],[94.354932,34.669183],[94.347245,34.666768],[94.353595,34.643457],[94.349668,34.635607],[94.331706,34.641274],[94.304387,34.64053],[94.300711,34.628732],[94.301714,34.607315],[94.288012,34.595047],[94.285673,34.577711],[94.267461,34.567764],[94.24624,34.569716],[94.227276,34.575713],[94.211402,34.574643],[94.194192,34.559628],[94.183081,34.5547],[94.166706,34.558047],[94.142979,34.574876],[94.130698,34.569716],[94.122093,34.557722],[94.109812,34.557164],[94.096946,34.563068],[94.059184,34.551724],[94.034288,34.539774],[94.011063,34.537402],[93.992432,34.517915],[93.963944,34.506006],[93.953918,34.505773],[93.942139,34.50047],[93.925346,34.497539],[93.912564,34.498423],[93.89527,34.504052],[93.870625,34.504471],[93.833447,34.500749],[93.809387,34.5014],[93.771123,34.506332],[93.763521,34.510332],[93.721247,34.523589],[93.686409,34.528054],[93.667277,34.527589],[93.657001,34.518147],[93.65107,34.504889],[93.64188,34.498004],[93.627009,34.495119],[93.56669,34.501772],[93.512553,34.517589],[93.489829,34.521682],[93.4519,34.523357],[93.412383,34.52131],[93.396009,34.523636],[93.379383,34.530566],[93.351563,34.537867],[93.330426,34.547167],[93.320067,34.547772],[93.298178,34.540983],[93.288988,34.532938],[93.279631,34.531077],[93.24471,34.53796],[93.214133,34.56172],[93.208953,34.56781],[93.187482,34.577851],[93.179378,34.586356],[93.152811,34.607501],[93.135851,34.615539],[93.123069,34.632123],[93.126745,34.637929],[93.119727,34.650655],[93.119727,34.661382],[93.105525,34.672062],[93.091239,34.675497],[93.076117,34.693927],[93.064254,34.694901],[93.047879,34.682414],[93.032006,34.68571],[93.031337,34.69996],[93.009031,34.703627],[93.000677,34.708268],[92.979206,34.713651],[92.986223,34.720101],[92.997585,34.748448],[92.990568,34.76009],[92.981378,34.766861],[92.975279,34.778825],[92.984051,34.823837],[92.991988,34.843206],[92.982213,34.852843],[92.977368,34.907444],[92.976198,34.944334],[92.99015,34.968162],[92.991821,34.981577],[92.984887,35.001094],[93.013041,35.03577],[93.019056,35.052501],[93.018137,35.068536],[93.034094,35.088078],[93.042449,35.124425],[93.039274,35.161079],[93.04437,35.171785],[93.057821,35.185259],[93.066593,35.197946],[93.079793,35.208648],[93.085307,35.217735],[93.090988,35.236504],[93.095834,35.241944],[93.121732,35.257573],[93.131674,35.260339],[93.166262,35.259601],[93.215971,35.271632],[93.241201,35.284674],[93.273616,35.290573],[93.283809,35.289236],[93.292831,35.294766],[93.294502,35.307897],[93.299849,35.315636],[93.316391,35.32273],[93.345214,35.338205],[93.359416,35.348474],[93.384563,35.35782],[93.419401,35.360997],[93.42951,35.360076],[93.448391,35.363529],[93.473204,35.370941],[93.519738,35.393264],[93.541877,35.397636],[93.566439,35.406885],[93.587242,35.418388],[93.618822,35.446217],[93.639207,35.472887],[93.648731,35.480242],[93.680143,35.497526],[93.725508,35.509153],[93.749569,35.519354],[93.789336,35.526614],[93.800197,35.526614],[93.82008,35.515495],[93.851409,35.51453],[93.877893,35.525603],[93.904126,35.518987],[93.921587,35.524409],[93.957344,35.549078],[93.97681,35.566254],[93.987002,35.571535],[94.001455,35.568458],[94.017913,35.571581],[94.036627,35.596327],[94.062025,35.616293],[94.061941,35.636484]]]]}},{"type":"Feature","properties":{"adcode":632725,"name":"囊谦县","center":[96.479797,32.203206],"centroid":[96.12882,32.169504],"childrenNum":0,"level":"district","parent":{"adcode":632700},"subFeatureIndex":4,"acroutes":[100000,630000,632700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[96.040607,32.740775],[96.032169,32.734791],[96.036096,32.713087],[96.041526,32.708812],[96.032169,32.68425],[96.023731,32.687719],[96.013372,32.684773],[96.004182,32.660775],[95.995326,32.646896],[95.981207,32.641286],[95.963078,32.641381],[95.934172,32.654976],[95.907772,32.675459],[95.900503,32.67199],[95.90468,32.654168],[95.902091,32.642142],[95.893987,32.629259],[95.887387,32.626073],[95.885298,32.633395],[95.874772,32.638434],[95.867336,32.631969],[95.85021,32.624219],[95.840351,32.614614],[95.848288,32.603771],[95.855723,32.604057],[95.862825,32.594022],[95.87026,32.593356],[95.874688,32.581987],[95.884379,32.57704],[95.888222,32.566146],[95.859817,32.571997],[95.840602,32.581084],[95.805012,32.578467],[95.788888,32.568953],[95.779949,32.569856],[95.763908,32.583985],[95.754969,32.584176],[95.729822,32.578943],[95.712946,32.587553],[95.701584,32.58194],[95.695235,32.569952],[95.685711,32.571712],[95.664741,32.585745],[95.642435,32.592928],[95.621381,32.607861],[95.610521,32.611713],[95.575348,32.638529],[95.544688,32.648417],[95.536751,32.653455],[95.516032,32.674699],[95.491303,32.688336],[95.472171,32.704489],[95.461895,32.708099],[95.45329,32.703254],[95.443432,32.691234],[95.420624,32.677313],[95.41369,32.668996],[95.426806,32.659919],[95.431568,32.64547],[95.46131,32.62341],[95.475095,32.59483],[95.486958,32.574947],[95.49005,32.561863],[95.514027,32.544781],[95.531237,32.521221],[95.541346,32.514414],[95.535498,32.50613],[95.513191,32.495227],[95.469163,32.486466],[95.454794,32.481275],[95.447024,32.473941],[95.430482,32.466511],[95.422295,32.455269],[95.42831,32.44941],[95.430984,32.432878],[95.436832,32.425635],[95.464903,32.407811],[95.486457,32.40457],[95.493558,32.399327],[95.487293,32.389984],[95.472004,32.380974],[95.460057,32.369865],[95.455128,32.351267],[95.438837,32.317687],[95.428561,32.282518],[95.40826,32.265144],[95.400824,32.254498],[95.403665,32.243326],[95.431318,32.231149],[95.428561,32.217156],[95.417617,32.20832],[95.419037,32.202158],[95.43349,32.187826],[95.41653,32.172918],[95.424718,32.159585],[95.440174,32.157482],[95.437667,32.148784],[95.441343,32.137694],[95.434158,32.124404],[95.445687,32.117662],[95.450533,32.108577],[95.452705,32.091456],[95.449698,32.076916],[95.45471,32.062516],[95.441928,32.058449],[95.435412,32.061272],[95.432153,32.052421],[95.423548,32.051751],[95.421292,32.033902],[95.430482,32.024282],[95.45446,32.007863],[95.450449,32.00322],[95.431485,31.999246],[95.420875,32.007863],[95.417449,32.001305],[95.395644,32.001448],[95.387457,31.992256],[95.376429,31.990054],[95.377265,31.977795],[95.361057,31.959165],[95.370497,31.951549],[95.371416,31.944987],[95.361391,31.941681],[95.368409,31.929177],[95.381692,31.925679],[95.391634,31.928075],[95.393389,31.920217],[95.407006,31.919642],[95.405419,31.904691],[95.407925,31.894818],[95.422211,31.881923],[95.419371,31.87224],[95.433323,31.850184],[95.432989,31.844861],[95.441761,31.829993],[95.459556,31.817666],[95.462313,31.811717],[95.456047,31.803753],[95.470333,31.794829],[95.479105,31.79622],[95.492807,31.776498],[95.500994,31.774098],[95.511688,31.750579],[95.546526,31.739825],[95.554964,31.74597],[95.566242,31.740833],[95.576852,31.74741],[95.581447,31.768435],[95.601414,31.767667],[95.61027,31.773618],[95.614698,31.78336],[95.637171,31.782161],[95.675936,31.772467],[95.681199,31.776306],[95.694232,31.768963],[95.721885,31.763011],[95.736171,31.764115],[95.779615,31.749091],[95.792647,31.731039],[95.801921,31.703474],[95.817126,31.686662],[95.824979,31.68205],[95.834587,31.686566],[95.83726,31.699055],[95.849792,31.705059],[95.853301,31.714136],[95.846199,31.736368],[95.857812,31.74261],[95.85965,31.752979],[95.868589,31.772898],[95.889726,31.796124],[95.899334,31.817138],[95.910194,31.815843],[95.92022,31.820208],[95.943779,31.819297],[95.946787,31.816035],[95.982878,31.816658],[95.992569,31.804329],[95.988977,31.787439],[95.992402,31.77693],[96.000757,31.773522],[96.046372,31.732047],[96.059906,31.732287],[96.064835,31.720571],[96.077534,31.719754],[96.091068,31.712551],[96.106942,31.710294],[96.108529,31.699439],[96.124569,31.697614],[96.135681,31.702081],[96.147043,31.690072],[96.152975,31.652356],[96.14838,31.631161],[96.152975,31.609336],[96.16041,31.601066],[96.193494,31.605682],[96.206192,31.598662],[96.21722,31.608807],[96.212709,31.61448],[96.225157,31.624912],[96.222651,31.632459],[96.222901,31.653029],[96.248633,31.660429],[96.247463,31.678063],[96.252977,31.693627],[96.241532,31.710822],[96.234514,31.716249],[96.222316,31.736128],[96.23017,31.750675],[96.206777,31.765747],[96.177954,31.775586],[96.1762,31.781153],[96.18163,31.794733],[96.181045,31.809222],[96.175532,31.824237],[96.183134,31.835797],[96.2026,31.840784],[96.20778,31.858479],[96.214213,31.865767],[96.214463,31.876459],[96.199759,31.883889],[96.189066,31.902822],[96.203101,31.906224],[96.218724,31.90541],[96.237271,31.916336],[96.242785,31.92635],[96.251139,31.929608],[96.267932,31.923188],[96.288567,31.919786],[96.351894,31.916144],[96.368603,31.924482],[96.383808,31.924146],[96.389322,31.91993],[96.400182,31.893763],[96.399263,31.877609],[96.408286,31.863754],[96.407869,31.845772],[96.41497,31.833878],[96.428755,31.824093],[96.43335,31.799675],[96.465096,31.776642],[96.470527,31.769347],[96.485147,31.766323],[96.523912,31.745298],[96.526919,31.738577],[96.542876,31.729358],[96.565183,31.713223],[96.572618,31.711686],[96.580973,31.720667],[96.592251,31.723356],[96.615643,31.73704],[96.632269,31.718122],[96.644216,31.709957],[96.661175,31.705731],[96.670616,31.711927],[96.668276,31.72422],[96.673456,31.727918],[96.69618,31.71961],[96.706874,31.70357],[96.722747,31.687046],[96.735196,31.679264],[96.753826,31.673931],[96.77513,31.673931],[96.781229,31.6796],[96.790502,31.69843],[96.801864,31.703234],[96.821915,31.700304],[96.837203,31.715528],[96.839375,31.729694],[96.833694,31.739201],[96.818155,31.746354],[96.81072,31.760227],[96.81097,31.767187],[96.802532,31.772419],[96.797018,31.795741],[96.781813,31.803897],[96.766107,31.818961],[96.762097,31.839442],[96.760927,31.862986],[96.766525,31.867445],[96.794345,31.869219],[96.809132,31.890887],[96.809634,31.898173],[96.784904,31.912838],[96.774796,31.937178],[96.755163,31.943406],[96.750317,31.962374],[96.740125,31.97655],[96.743049,32.000778],[96.725588,32.011454],[96.721077,32.017964],[96.732773,32.026771],[96.747142,32.013656],[96.760677,32.014996],[96.767778,32.010927],[96.783234,32.011071],[96.796851,32.018251],[96.80671,32.011502],[96.822583,32.008342],[96.840378,31.997714],[96.849484,31.987037],[96.847312,31.978801],[96.866527,31.964338],[96.87037,31.967738],[96.863102,31.995655],[96.876302,31.996134],[96.889168,32.002885],[96.894431,32.013799],[96.90713,32.003507],[96.935869,31.992591],[96.942553,31.986606],[96.955335,31.994028],[96.966196,32.009443],[96.959345,32.019735],[96.94673,32.022367],[96.934198,32.04108],[96.935953,32.04821],[96.952829,32.061464],[96.999029,32.065147],[97.001034,32.073758],[97.021335,32.074859],[97.018912,32.078159],[97.029105,32.088347],[97.030943,32.096908],[97.038128,32.099395],[97.033616,32.118523],[97.038211,32.126651],[97.030274,32.133774],[97.054753,32.135112],[97.063358,32.139128],[97.078312,32.135734],[97.097528,32.149835],[97.114487,32.154519],[97.118163,32.177219],[97.112566,32.203161],[97.091429,32.206552],[97.05634,32.20703],[97.048654,32.217443],[97.02852,32.218446],[97.015654,32.227759],[97.011143,32.225657],[96.996439,32.200151],[96.996606,32.188112],[96.982236,32.175976],[96.980148,32.168856],[96.960933,32.16618],[96.957257,32.173061],[96.939963,32.179225],[96.928684,32.17913],[96.912143,32.18515],[96.895517,32.204737],[96.910305,32.219114],[96.915819,32.232725],[96.908801,32.25383],[96.91231,32.259606],[96.926178,32.263855],[96.916153,32.272447],[96.922586,32.281898],[96.90855,32.292111],[96.900948,32.311532],[96.894097,32.315826],[96.894431,32.325224],[96.884657,32.327896],[96.877221,32.335337],[96.878391,32.342206],[96.867279,32.349312],[96.87672,32.355321],[96.88733,32.355178],[96.897522,32.36667],[96.892426,32.372869],[96.87296,32.381641],[96.854246,32.406715],[96.851322,32.438738],[96.839375,32.459937],[96.824003,32.460033],[96.804203,32.450791],[96.800861,32.441978],[96.789834,32.439214],[96.771203,32.464748],[96.760426,32.474036],[96.751236,32.457365],[96.734861,32.446123],[96.740208,32.440358],[96.733525,32.428684],[96.723917,32.44355],[96.702112,32.444217],[96.692588,32.435069],[96.698436,32.42268],[96.693423,32.408907],[96.717985,32.380449],[96.717651,32.369483],[96.700859,32.375062],[96.688912,32.373584],[96.684401,32.378733],[96.650147,32.390985],[96.635193,32.382166],[96.619403,32.38741],[96.608626,32.378828],[96.586904,32.389221],[96.58799,32.401853],[96.577714,32.403855],[96.571281,32.420393],[96.559167,32.432973],[96.547388,32.438833],[96.535775,32.454793],[96.516643,32.462891],[96.504195,32.454888],[96.483727,32.449505],[96.477461,32.443074],[96.463342,32.438547],[96.452231,32.425063],[96.442372,32.423824],[96.441203,32.433306],[96.427836,32.439691],[96.4138,32.453269],[96.408286,32.463367],[96.394669,32.470464],[96.385061,32.470273],[96.368268,32.488894],[96.366013,32.497036],[96.351393,32.509177],[96.352228,32.517889],[96.333514,32.527076],[96.315552,32.546351],[96.308033,32.550063],[96.309453,32.557914],[96.301684,32.562815],[96.291157,32.579752],[96.290071,32.59269],[96.281382,32.597066],[96.274532,32.607861],[96.259327,32.61585],[96.229083,32.616516],[96.211038,32.611238],[96.193159,32.609811],[96.178706,32.613996],[96.176952,32.62013],[96.18798,32.652219],[96.181881,32.65721],[96.191656,32.678691],[96.194496,32.692755],[96.175114,32.714844],[96.166425,32.73009],[96.174445,32.737688],[96.167261,32.751078],[96.151888,32.759482],[96.106942,32.722254],[96.104017,32.712327],[96.089731,32.706152],[96.080959,32.707387],[96.069179,32.716364],[96.067174,32.724248],[96.054726,32.727193],[96.040607,32.740775]]]]}},{"type":"Feature","properties":{"adcode":632726,"name":"曲麻莱县","center":[95.800674,34.12654],"centroid":[95.261073,34.953979],"childrenNum":0,"level":"district","parent":{"adcode":632700},"subFeatureIndex":5,"acroutes":[100000,630000,632700]},"geometry":{"type":"MultiPolygon","coordinates":[[[[96.37161,33.761775],[96.393917,33.754735],[96.40202,33.747975],[96.41639,33.748022],[96.400433,33.713373],[96.386063,33.704263],[96.388737,33.696748],[96.405028,33.693037],[96.399681,33.68322],[96.413132,33.687025],[96.440952,33.685569],[96.449975,33.679603],[96.451813,33.664522],[96.484228,33.63891],[96.480719,33.629886],[96.465514,33.621612],[96.467269,33.617852],[96.496008,33.610329],[96.538114,33.6163],[96.553403,33.598998],[96.561423,33.60779],[96.558833,33.620907],[96.559919,33.636466],[96.565433,33.649626],[96.584983,33.663582],[96.587322,33.670958],[96.582226,33.680026],[96.581975,33.695621],[96.56276,33.722671],[96.556995,33.741873],[96.559167,33.758161],[96.574373,33.780546],[96.594757,33.796592],[96.623914,33.810712],[96.628259,33.815543],[96.627006,33.82633],[96.619737,33.847291],[96.630932,33.869653],[96.632937,33.881605],[96.624165,33.909439],[96.607289,33.943822],[96.59058,33.954031],[96.596345,33.97922],[96.595175,33.98788],[96.605451,34.003934],[96.59434,34.013341],[96.593254,34.040197],[96.588909,34.050908],[96.574289,34.054697],[96.566519,34.0814],[96.554322,34.080932],[96.557998,34.104214],[96.548975,34.115198],[96.546552,34.126695],[96.552985,34.141088],[96.542375,34.157299],[96.511881,34.157626],[96.504613,34.16141],[96.500102,34.172667],[96.503527,34.209558],[96.47554,34.229164],[96.476375,34.243492],[96.461838,34.248718],[96.45457,34.259264],[96.416474,34.281051],[96.411043,34.293831],[96.389238,34.296769],[96.377458,34.292945],[96.367433,34.307962],[96.343706,34.319153],[96.336438,34.319852],[96.325494,34.328804],[96.317975,34.340551],[96.299428,34.341577],[96.290489,34.338826],[96.277205,34.340504],[96.270104,34.336496],[96.259744,34.353975],[96.220311,34.368654],[96.22499,34.37625],[96.193744,34.393255],[96.179375,34.395071],[96.160494,34.404388],[96.158572,34.411747],[96.164169,34.419524],[96.162666,34.42772],[96.153225,34.427627],[96.146207,34.449556],[96.152724,34.454863],[96.154645,34.465476],[96.181797,34.463428],[96.195415,34.467431],[96.200094,34.477158],[96.207947,34.478786],[96.205942,34.492095],[96.214881,34.494747],[96.215466,34.500842],[96.228164,34.507867],[96.237271,34.521217],[96.233762,34.536565],[96.228666,34.541448],[96.211623,34.547353],[96.215382,34.567299],[96.207111,34.577572],[96.186476,34.572552],[96.171521,34.574411],[96.160243,34.572087],[96.15498,34.56437],[96.137435,34.570227],[96.142197,34.578966],[96.129916,34.594071],[96.142782,34.605038],[96.155397,34.632448],[96.156985,34.648426],[96.14721,34.673083],[96.151053,34.685757],[96.140693,34.728036],[96.149549,34.742696],[96.154478,34.744412],[96.16584,34.758559],[96.172524,34.761296],[96.187645,34.779984],[96.192324,34.790045],[96.199425,34.790509],[96.212625,34.783833],[96.21204,34.778825],[96.225575,34.770432],[96.227413,34.761945],[96.23418,34.762873],[96.247046,34.754988],[96.250471,34.745711],[96.276871,34.748494],[96.285225,34.762409],[96.292828,34.754849],[96.316722,34.747474],[96.32683,34.747149],[96.351727,34.732118],[96.364091,34.727015],[96.361084,34.712537],[96.365177,34.699079],[96.3742,34.683389],[96.385479,34.673686],[96.407869,34.668719],[96.432263,34.653906],[96.451312,34.646336],[96.452899,34.622275],[96.461838,34.616654],[96.475456,34.615167],[96.485899,34.605224],[96.503443,34.597835],[96.529175,34.597603],[96.549393,34.58473],[96.561507,34.574086],[96.572033,34.573528],[96.59033,34.559767],[96.619236,34.556002],[96.63419,34.5454],[96.644466,34.544842],[96.654157,34.549771],[96.657082,34.558698],[96.667942,34.557489],[96.678803,34.562046],[96.691084,34.55112],[96.70019,34.555583],[96.718654,34.546981],[96.723499,34.538937],[96.750234,34.535774],[96.764185,34.527682],[96.76452,34.514147],[96.775965,34.509402],[96.783902,34.513356],[96.811889,34.515821],[96.836368,34.51517],[96.853327,34.526659],[96.885074,34.523636],[96.913479,34.514658],[96.950824,34.520845],[96.960933,34.514379],[96.971292,34.518333],[96.96912,34.536007],[96.983072,34.549353],[96.983907,34.560837],[96.991343,34.571343],[96.991259,34.587518],[96.995687,34.598997],[96.99151,34.605456],[96.995771,34.62037],[97.017325,34.626921],[97.018912,34.634353],[97.011143,34.648983],[97.0073,34.676565],[96.992429,34.685989],[96.993766,34.703581],[97.002872,34.712816],[97.003373,34.723952],[96.9809,34.728453],[96.963188,34.745154],[96.951409,34.748633],[96.941968,34.768345],[96.936538,34.771962],[96.935368,34.785502],[96.943639,34.798529],[96.956087,34.812018],[96.965528,34.817395],[96.983573,34.818646],[96.995938,34.823929],[96.996439,34.840426],[97.005796,34.844133],[97.009639,34.855391],[97.01791,34.856641],[97.023006,34.872251],[97.007133,34.898694],[97.017409,34.906842],[97.047652,34.913879],[97.065697,34.907398],[97.079566,34.911611],[97.121338,34.950535],[97.156343,34.970753],[97.21307,35.000678],[97.22226,35.008863],[97.217497,35.02768],[97.204047,35.036694],[97.204297,35.043951],[97.216411,35.055875],[97.2185,35.068074],[97.225601,35.074542],[97.241725,35.077268],[97.243146,35.09667],[97.252336,35.100042],[97.264617,35.128581],[97.262444,35.139846],[97.27648,35.148847],[97.294358,35.167678],[97.304718,35.175708],[97.312822,35.187751],[97.326105,35.195501],[97.342229,35.213676],[97.361445,35.222946],[97.371136,35.232446],[97.370718,35.243374],[97.343482,35.26269],[97.348244,35.29882],[97.32126,35.29882],[97.30948,35.319459],[97.311318,35.332494],[97.296698,35.338113],[97.278067,35.318722],[97.261776,35.317709],[97.240472,35.321716],[97.217915,35.334382],[97.193353,35.331987],[97.177396,35.333507],[97.146234,35.343178],[97.127771,35.342579],[97.111229,35.347046],[97.097945,35.355656],[97.076892,35.38185],[97.056257,35.390825],[97.043391,35.407851],[97.045647,35.430808],[97.031945,35.443503],[97.017743,35.452471],[97.000366,35.472657],[96.986163,35.47845],[96.972879,35.48038],[96.963522,35.485989],[96.958009,35.476289],[96.946062,35.466542],[96.93896,35.469209],[96.941049,35.490539],[96.929854,35.498491],[96.912143,35.484885],[96.902535,35.489666],[96.894097,35.480978],[96.851573,35.496423],[96.850654,35.506074],[96.843887,35.510026],[96.825591,35.500927],[96.819158,35.503868],[96.792256,35.504787],[96.785406,35.507407],[96.771955,35.527073],[96.763016,35.52983],[96.743801,35.54329],[96.731436,35.55537],[96.712806,35.562718],[96.715479,35.573739],[96.707626,35.585034],[96.69359,35.585631],[96.690833,35.591645],[96.67496,35.592058],[96.663013,35.583335],[96.630431,35.588248],[96.617314,35.582371],[96.599185,35.582601],[96.592502,35.579111],[96.581724,35.581132],[96.569443,35.594812],[96.566102,35.60257],[96.552317,35.605691],[96.542876,35.614549],[96.526752,35.611429],[96.500102,35.616936],[96.485732,35.617532],[96.48356,35.62203],[96.461755,35.622672],[96.441704,35.635979],[96.42959,35.63419],[96.42182,35.638411],[96.405863,35.640017],[96.374033,35.649008],[96.3544,35.652541],[96.341952,35.641852],[96.33861,35.634511],[96.320815,35.641576],[96.304273,35.64309],[96.292494,35.64832],[96.265676,35.642632],[96.262585,35.646348],[96.241866,35.647357],[96.230838,35.640842],[96.224071,35.629418],[96.203686,35.6363],[96.198673,35.631987],[96.179876,35.63263],[96.134093,35.647678],[96.128997,35.634649],[96.117552,35.625104],[96.100091,35.616385],[96.086557,35.61276],[96.072688,35.613402],[96.063833,35.59619],[96.06425,35.588661],[96.057483,35.573831],[96.053974,35.55537],[96.046455,35.554911],[96.020055,35.54035],[96.01145,35.540855],[95.993405,35.532403],[95.979787,35.533046],[95.968926,35.544484],[95.968174,35.553211],[95.956729,35.565519],[95.948959,35.569193],[95.945283,35.590865],[95.925734,35.620424],[95.917045,35.617487],[95.900837,35.623728],[95.892734,35.635016],[95.885131,35.636163],[95.792564,35.639512],[95.773182,35.641898],[95.745445,35.633823],[95.736756,35.650431],[95.739513,35.657174],[95.725645,35.65222],[95.689971,35.650752],[95.684959,35.647999],[95.666746,35.654192],[95.649035,35.646394],[95.640262,35.648963],[95.632994,35.659238],[95.598323,35.655201],[95.588799,35.658596],[95.571088,35.653321],[95.55605,35.659926],[95.54427,35.655385],[95.502915,35.656394],[95.489548,35.659651],[95.479022,35.657862],[95.468662,35.646898],[95.468244,35.634924],[95.461143,35.625793],[95.460308,35.617349],[95.433824,35.601285],[95.397065,35.59775],[95.371751,35.602846],[95.357632,35.626068],[95.350113,35.624232],[95.338834,35.633272],[95.321039,35.640475],[95.29113,35.640017],[95.2791,35.637677],[95.249776,35.647219],[95.233902,35.647173],[95.212014,35.639695],[95.20132,35.645155],[95.195388,35.642494],[95.175254,35.647678],[95.176591,35.656853],[95.166733,35.672722],[95.155621,35.656807],[95.174586,35.636392],[95.143173,35.629922],[95.14969,35.610602],[95.1471,35.603442],[95.156123,35.595914],[95.148269,35.577137],[95.134819,35.573142],[95.118695,35.579616],[95.118444,35.566989],[95.126798,35.556518],[95.120031,35.546689],[95.126882,35.535343],[95.113431,35.511635],[95.099396,35.516873],[95.091292,35.532311],[95.096388,35.542188],[95.09029,35.545311],[95.065811,35.548113],[95.052611,35.547332],[95.047932,35.550777],[95.031474,35.548756],[95.021365,35.552063],[95.009836,35.546092],[94.998391,35.551007],[94.995968,35.561478],[94.976586,35.572224],[94.964722,35.564877],[94.941413,35.566759],[94.929383,35.574015],[94.931639,35.579065],[94.913426,35.581958],[94.894628,35.589579],[94.883517,35.586595],[94.877418,35.589717],[94.861545,35.585585],[94.852104,35.58632],[94.854109,35.578101],[94.838236,35.573831],[94.828127,35.583106],[94.824368,35.60459],[94.817183,35.616156],[94.804066,35.611061],[94.802813,35.602708],[94.786689,35.590956],[94.768309,35.607986],[94.76597,35.613081],[94.759036,35.606563],[94.743497,35.605462],[94.725284,35.609409],[94.718016,35.607344],[94.711666,35.594124],[94.698299,35.594353],[94.696545,35.589579],[94.68301,35.588018],[94.66555,35.592425],[94.658448,35.599082],[94.649008,35.597475],[94.642324,35.606242],[94.626952,35.595731],[94.620937,35.60179],[94.591613,35.592793],[94.579833,35.601744],[94.539314,35.604406],[94.520767,35.609455],[94.506481,35.60973],[94.48877,35.602157],[94.461284,35.60615],[94.434048,35.623636],[94.419929,35.61588],[94.407314,35.614045],[94.384256,35.617074],[94.363453,35.628867],[94.336468,35.629968],[94.313744,35.638273],[94.28041,35.633043],[94.265957,35.638503],[94.253425,35.653871],[94.267628,35.660797],[94.248496,35.662724],[94.238972,35.660981],[94.228612,35.651623],[94.214076,35.648825],[94.196114,35.661852],[94.169797,35.669191],[94.15526,35.66942],[94.136546,35.658779],[94.122511,35.640384],[94.114992,35.638411],[94.092936,35.642127],[94.073053,35.640842],[94.061941,35.636484],[94.062025,35.616293],[94.036627,35.596327],[94.017913,35.571581],[94.001455,35.568458],[93.987002,35.571535],[93.97681,35.566254],[93.957344,35.549078],[93.921587,35.524409],[93.904126,35.518987],[93.877893,35.525603],[93.851409,35.51453],[93.82008,35.515495],[93.800197,35.526614],[93.789336,35.526614],[93.749569,35.519354],[93.725508,35.509153],[93.680143,35.497526],[93.648731,35.480242],[93.639207,35.472887],[93.618822,35.446217],[93.587242,35.418388],[93.566439,35.406885],[93.541877,35.397636],[93.519738,35.393264],[93.473204,35.370941],[93.448391,35.363529],[93.42951,35.360076],[93.419401,35.360997],[93.384563,35.35782],[93.359416,35.348474],[93.345214,35.338205],[93.316391,35.32273],[93.299849,35.315636],[93.294502,35.307897],[93.292831,35.294766],[93.283809,35.289236],[93.273616,35.290573],[93.241201,35.284674],[93.215971,35.271632],[93.166262,35.259601],[93.131674,35.260339],[93.121732,35.257573],[93.095834,35.241944],[93.090988,35.236504],[93.085307,35.217735],[93.079793,35.208648],[93.066593,35.197946],[93.057821,35.185259],[93.04437,35.171785],[93.039274,35.161079],[93.042449,35.124425],[93.034094,35.088078],[93.018137,35.068536],[93.019056,35.052501],[93.013041,35.03577],[92.984887,35.001094],[92.991821,34.981577],[92.99015,34.968162],[92.976198,34.944334],[92.977368,34.907444],[92.982213,34.852843],[92.991988,34.843206],[92.984051,34.823837],[92.975279,34.778825],[92.981378,34.766861],[92.990568,34.76009],[92.997585,34.748448],[92.986223,34.720101],[92.979206,34.713651],[93.000677,34.708268],[93.009031,34.703627],[93.031337,34.69996],[93.032006,34.68571],[93.047879,34.682414],[93.064254,34.694901],[93.076117,34.693927],[93.091239,34.675497],[93.105525,34.672062],[93.119727,34.661382],[93.119727,34.650655],[93.126745,34.637929],[93.123069,34.632123],[93.135851,34.615539],[93.152811,34.607501],[93.179378,34.586356],[93.187482,34.577851],[93.208953,34.56781],[93.214133,34.56172],[93.24471,34.53796],[93.279631,34.531077],[93.288988,34.532938],[93.298178,34.540983],[93.320067,34.547772],[93.330426,34.547167],[93.351563,34.537867],[93.379383,34.530566],[93.396009,34.523636],[93.412383,34.52131],[93.4519,34.523357],[93.489829,34.521682],[93.512553,34.517589],[93.56669,34.501772],[93.627009,34.495119],[93.64188,34.498004],[93.65107,34.504889],[93.657001,34.518147],[93.667277,34.527589],[93.686409,34.528054],[93.721247,34.523589],[93.763521,34.510332],[93.771123,34.506332],[93.809387,34.5014],[93.833447,34.500749],[93.870625,34.504471],[93.89527,34.504052],[93.912564,34.498423],[93.925346,34.497539],[93.942139,34.50047],[93.953918,34.505773],[93.963944,34.506006],[93.992432,34.517915],[94.011063,34.537402],[94.034288,34.539774],[94.059184,34.551724],[94.096946,34.563068],[94.109812,34.557164],[94.122093,34.557722],[94.130698,34.569716],[94.142979,34.574876],[94.166706,34.558047],[94.183081,34.5547],[94.194192,34.559628],[94.211402,34.574643],[94.227276,34.575713],[94.24624,34.569716],[94.267461,34.567764],[94.285673,34.577711],[94.288012,34.595047],[94.301714,34.607315],[94.300711,34.628732],[94.304387,34.64053],[94.331706,34.641274],[94.349668,34.635607],[94.353595,34.643457],[94.347245,34.666768],[94.354932,34.669183],[94.371724,34.65112],[94.377823,34.651027],[94.380413,34.675776],[94.400046,34.67364],[94.409737,34.684643],[94.423271,34.686964],[94.451509,34.67884],[94.462704,34.687892],[94.463539,34.699589],[94.470891,34.704973],[94.50456,34.702235],[94.516339,34.731051],[94.517091,34.737918],[94.540484,34.749747],[94.559365,34.749654],[94.579165,34.754617],[94.608405,34.754246],[94.617846,34.750535],[94.628372,34.734577],[94.642909,34.727664],[94.662793,34.729659],[94.692284,34.721261],[94.714089,34.728453],[94.738651,34.726226],[94.746922,34.718013],[94.757281,34.718384],[94.76714,34.709103],[94.792119,34.704741],[94.810165,34.711609],[94.824785,34.700425],[94.85954,34.686082],[94.883684,34.685432],[94.903066,34.691977],[94.914512,34.688588],[94.924287,34.674522],[94.935565,34.66584],[94.957955,34.660314],[94.982768,34.660407],[94.988783,34.658039],[94.989702,34.648751],[94.981013,34.634957],[94.980512,34.62116],[95.013679,34.606804],[95.0151,34.600531],[95.01017,34.587193],[95.012927,34.57971],[95.022117,34.576689],[95.039077,34.586589],[95.053948,34.580314],[95.059545,34.574039],[95.076839,34.526612],[95.097224,34.520659],[95.115603,34.528612],[95.124292,34.525822],[95.128553,34.512937],[95.147016,34.512053],[95.160467,34.493584],[95.179515,34.485115],[95.199983,34.499074],[95.218029,34.495538],[95.224545,34.484091],[95.239583,34.46757],[95.253452,34.460821],[95.269743,34.460123],[95.281189,34.476971],[95.29514,34.474365],[95.30032,34.469432],[95.30667,34.452303],[95.31753,34.452629],[95.317697,34.464591],[95.309427,34.475622],[95.318951,34.486139],[95.344849,34.483766],[95.355877,34.478786],[95.354206,34.458866],[95.363563,34.445227],[95.3913,34.444342],[95.399989,34.441781],[95.399822,34.427021],[95.415528,34.415286],[95.422462,34.402944],[95.432738,34.392882],[95.457968,34.381002],[95.462146,34.367862],[95.477267,34.364181],[95.505255,34.348382],[95.526893,34.343581],[95.538839,34.330855],[95.555214,34.328477],[95.575265,34.307915],[95.574346,34.297609],[95.563736,34.273167],[95.56666,34.26519],[95.583452,34.254738],[95.588632,34.247972],[95.586878,34.240505],[95.567078,34.229024],[95.571338,34.220715],[95.579442,34.218614],[95.603085,34.220202],[95.630321,34.224543],[95.638257,34.223376],[95.645024,34.211939],[95.662402,34.210725],[95.680698,34.203862],[95.688133,34.194477],[95.689554,34.172761],[95.698242,34.160943],[95.691809,34.147302],[95.6949,34.135854],[95.702419,34.126882],[95.73166,34.103513],[95.751794,34.096314],[95.756222,34.090938],[95.756556,34.078735],[95.77786,34.076022],[95.783374,34.06971],[95.785045,34.05741],[95.795237,34.054463],[95.801754,34.062554],[95.819215,34.060216],[95.83208,34.047073],[95.824812,34.030279],[95.826734,34.02195],[95.846116,34.01554],[95.848873,33.997663],[95.867002,33.975335],[95.869174,33.944103],[95.892483,33.949301],[95.901589,33.945976],[95.891982,33.921948],[95.898665,33.910704],[95.922308,33.909252],[95.925901,33.903489],[95.922225,33.890369],[95.956227,33.881183],[95.960989,33.861309],[95.982627,33.868293],[95.994658,33.854652],[95.986638,33.839039],[95.989144,33.832896],[96.021225,33.822063],[96.034676,33.833459],[96.044701,33.829003],[96.043949,33.811697],[96.047625,33.803441],[96.067425,33.814887],[96.081962,33.79997],[96.107109,33.809868],[96.130668,33.788194],[96.127995,33.783643],[96.110952,33.782798],[96.101093,33.777496],[96.097501,33.769941],[96.111954,33.764732],[96.131671,33.774634],[96.13802,33.77163],[96.139858,33.76262],[96.151554,33.758161],[96.168597,33.771724],[96.175699,33.771771],[96.180294,33.76276],[96.188397,33.765811],[96.183802,33.780077],[96.208949,33.782423],[96.216051,33.789977],[96.220562,33.786223],[96.215299,33.773413],[96.22783,33.77346],[96.23159,33.755392],[96.20377,33.744032],[96.202015,33.736474],[96.215549,33.734268],[96.233511,33.740371],[96.236268,33.732859],[96.23184,33.720793],[96.240863,33.714782],[96.250721,33.717834],[96.250638,33.730653],[96.256068,33.733657],[96.258825,33.718633],[96.263337,33.715627],[96.270438,33.729995],[96.284891,33.726286],[96.286646,33.733094],[96.295668,33.733892],[96.303856,33.728681],[96.324575,33.724267],[96.330841,33.743892],[96.346129,33.742483],[96.350641,33.752294],[96.365929,33.756096],[96.37161,33.761775]]]]}}]}
47 );
48 }));
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 <div class="naturalBuilding itemForm"> 2 <div class="naturalBuilding itemForm">
3 <el-form :model="naturalForm" :rules="rules" ref="formList" label-width="115px" :key="key"> 3 <el-form :model="naturalForm" :rules="rules" ref="formList" label-width="115px" :key="key">
4 <div v-for="(item, index) in naturalForm.naturalList" :key="index" class="naturalBuilding-item"> 4 <div v-for="(item, index) in naturalForm.naturalList" :key="index" class="naturalBuilding-item">
5 <p class="naturalBuilding-name">自然幢{{ index + 1 }}</p> 5 <p class="naturalBuilding-name obligee-item-name">自然幢{{ index + 1 }}</p>
6 <div class="naturalBuilding-list"> 6 <div class="naturalBuilding-list">
7 <el-row> 7 <el-row>
8 <el-col :span="8"> 8 <el-col :span="8">
...@@ -330,7 +330,7 @@ export default { ...@@ -330,7 +330,7 @@ export default {
330 default: "", 330 default: "",
331 }, 331 },
332 }, 332 },
333 data() { 333 data () {
334 return { 334 return {
335 naturalForm: { 335 naturalForm: {
336 naturalList: [ 336 naturalList: [
...@@ -366,7 +366,7 @@ export default { ...@@ -366,7 +366,7 @@ export default {
366 }; 366 };
367 }, 367 },
368 methods: { 368 methods: {
369 async featchData() { 369 async featchData () {
370 try { 370 try {
371 let { result: res } = await kttFwZrz.getKttFwZrzById(this.bsmSjsb); 371 let { result: res } = await kttFwZrz.getKttFwZrzById(this.bsmSjsb);
372 this.naturalForm.naturalList = res; 372 this.naturalForm.naturalList = res;
...@@ -375,7 +375,7 @@ export default { ...@@ -375,7 +375,7 @@ export default {
375 this.$refs.msg.messageShow(); 375 this.$refs.msg.messageShow();
376 } 376 }
377 }, 377 },
378 handleUpdateForm() { 378 handleUpdateForm () {
379 return new Promise(async (resolve) => { 379 return new Promise(async (resolve) => {
380 try { 380 try {
381 let res = await kttFwZrz.updateKttFwZrz(this.naturalForm.naturalList); 381 let res = await kttFwZrz.updateKttFwZrz(this.naturalForm.naturalList);
......
1 /*
2 * FileName: lb-column.vue
3 * Remark: element-column
4 * Project: lb-element-table
5 * Author: 任超
6 * File Created: Tuesday, 19th March 2019 9:58:23 am
7 * Last Modified: Tuesday, 19th March 2019 10:14:42 am
8 * Modified By: 任超
9 */
10
11 <template>
12 <el-table-column v-bind="$attrs" v-on="$listeners" :prop="column.prop" :label="column.label" :type="column.type"
13 :index="column.index" :column-key="column.columnKey" :width="column.width" :min-width="column.minWidth"
14 :fixed="column.fixed" :scoped-slot="column.renderHeader" :sortable="column.sortable || false"
15 :sort-method="column.sortMethod" :sort-by="column.sortBy" :sort-orders="column.sortOrders"
16 :resizable="column.resizable || true" :formatter="column.formatter"
17 :show-overflow-tooltip="column.showOverflowTooltip || false" :align="column.align || align || 'center'"
18 :header-align="column.headerAlign || headerAlign || column.align || align || 'center'"
19 :class-name="column.className" :label-class-name="column.labelClassName" :selectable="column.selectable"
20 :reserve-selection="column.reserveSelection || false" :filters="column.filters"
21 :filter-placement="column.filterPlacement" :filter-multiple="column.filterMultiple"
22 :filter-method="column.filterMethod" :filtered-value="column.filteredValue">
23 <template slot="header" slot-scope="scope">
24 <lb-render v-if="column.renderHeader" :scope="scope" :render="column.renderHeader">
25 </lb-render>
26 <span v-else>{{ scope.column.label }}</span>
27 </template>
28
29 <template slot-scope="scope">
30 <lb-render :scope="scope" :render="column.render">
31 </lb-render>
32 </template>
33
34 <template v-if="column.children">
35 <lb-column v-for="(col, index) in column.children" :key="index" :column="col">
36 </lb-column>
37 </template>
38 </el-table-column>
39 </template>
40
41 <script>
42 import LbRender from './LbRender'
43 import forced from './forced.js'
44 export default {
45 name: 'LbColumn',
46 props: {
47 column: Object,
48 headerAlign: String,
49 align: String
50 },
51 components: {
52 LbRender
53 },
54 methods: {
55 setColumn () {
56 if (this.column.type) {
57 this.column.renderHeader = forced[this.column.type].renderHeader
58 this.column.render = this.column.render || forced[this.column.type].renderCell
59 }
60 if (this.column.formatter) {
61 this.column.render = (h, scope) => {
62 return <span>{scope.column.formatter(scope.row, scope.column, scope.row, scope.$index)}</span>
63 }
64 }
65 if (!this.column.render) {
66 this.column.render = (h, scope) => {
67 return <span>{scope.row[scope.column.property]}</span>
68 }
69 }
70 }
71 },
72 watch: {
73 column: {
74 handler () {
75 this.setColumn()
76 },
77 immediate: true
78 }
79 }
80 }
81 </script>
1 /*
2 * FileName: lb-render.vue
3 * Remark: 自定义render
4 * Project: lb-element-table
5 * Author: 任超
6 * File Created: Tuesday, 19th March 2019 10:15:30 am
7 * Last Modified: Tuesday, 19th March 2019 10:15:32 am
8 * Modified By: 任超
9 */
10 <script>
11 export default {
12 name: 'LbRender',
13 functional: true,
14 props: {
15 scope: Object,
16 render: Function
17 },
18 render: (h, ctx) => {
19 return ctx.props.render ? ctx.props.render(h, ctx.props.scope) : ''
20 }
21 }
22 </script>
1 export default {
2 selection: {
3 renderHeader: (h, { store }) => {
4 return (
5 <el-checkbox
6 disabled={store.states.data && store.states.data.length === 0}
7 indeterminate={
8 store.states.selection.length > 0 && !store.states.isAllSelected
9 }
10 nativeOn-click={store.toggleAllSelection}
11 value={store.states.isAllSelected}
12 />
13 )
14 },
15 renderCell: (h, { row, column, store, $index }) => {
16 return (
17 <el-checkbox
18 nativeOn-click={event => event.stopPropagation()}
19 value={store.isSelected(row)}
20 disabled={
21 column.selectable
22 ? !column.selectable.call(null, row, $index)
23 : false
24 }
25 on-input={() => {
26 store.commit('rowSelectedChanged', row)
27 }}
28 />
29 )
30 },
31 sortable: false,
32 resizable: false
33 },
34 index: {
35 renderHeader: (h, scope) => {
36 return <span>{scope.column.label || '#'}</span>
37 },
38 renderCell: (h, { $index, column }) => {
39 let i = $index + 1
40 const index = column.index
41
42 if (typeof index === 'number') {
43 i = $index + index
44 } else if (typeof index === 'function') {
45 i = index($index)
46 }
47
48 return <div>{i}</div>
49 },
50 sortable: false
51 },
52 expand: {
53 renderHeader: (h, scope) => {
54 return <span>{scope.column.label || ''}</span>
55 },
56 renderCell: (h, { row, store }, proxy) => {
57 const expanded = store.states.expandRows.indexOf(row) > -1
58 return (
59 <div
60 class={
61 'el-table__expand-icon ' +
62 (expanded ? 'el-table__expand-icon--expanded' : '')
63 }
64 on-click={e => proxy.handleExpandClick(row, e)}
65 >
66 <i class='el-icon el-icon-arrow-right' />
67 </div>
68 )
69 },
70 sortable: false,
71 resizable: false,
72 className: 'el-table__expand-column'
73 }
74 }
1 /*
2 * FileName: lb-table.vue
3 * Remark: element table
4 * Project: lb-element-table
5 * Author: 任超
6 * File Created: Tuesday, 19th March 2019 9:55:27 am
7 * Last Modified: Tuesday, 19th March 2019 9:55:34 am
8 * Modified By: 任超
9 */
10
11 <template>
12 <div :class="['lb-table', customClass]">
13 <el-table v-if="!heightNumSetting" class="table-fixed" :row-style="{ height: '50px' }" ref="elTable" :border='border'
14 :row-class-name="tableRowClassName" :show-header='showHeader' @row-click="singleElection" v-bind="$attrs"
15 :height="tableHeight" v-on="$listeners" :data="data" style="width: 100%"
16 :span-method="this.merge ? this.mergeMethod : this.spanMethod">
17 <el-table-column width="45" align="center" v-if="isRadio">
18 <template slot-scope="scope">
19 <el-radio v-model="selected" :label="scope.$index"></el-radio>
20 </template>
21 </el-table-column>
22
23 <el-table-column :label="downTitle" align="center">
24 <lb-column v-bind="$attrs" v-for="(item, index) in column" :key="index" :column="item">
25 </lb-column>
26 </el-table-column>
27 </el-table>
28 <br>
29 <el-pagination class="lb-table-pagination" v-if="pagination" v-bind="$attrs" v-on="$listeners" background
30 layout="total, prev, pager, next" @current-change="paginationCurrentChange"
31 :style="{ 'margin-top': paginationTop, 'text-align': paginationAlign }">
32 </el-pagination>
33 </div>
34 </template>
35
36 <script>
37 import LbColumn from './LbColumn'
38 export default {
39 props: {
40 column: Array,
41 data: Array,
42 spanMethod: Function,
43 pagination: {
44 type: Boolean,
45 default: true,
46 },
47 downExcel: {
48 type: Boolean,
49 default: false,
50 },
51 downTitle: {
52 type: String,
53 default: '标题'
54 },
55 isRadio: {
56 type: Boolean,
57 default: false,
58 },
59 border: {
60 type: Boolean,
61 default: false,
62 },
63 showHeader: {
64 type: Boolean,
65 default: true,
66 },
67 paginationTop: {
68 type: String,
69 default: '0',
70 },
71 heightNum: {
72 type: Number,
73 default: 355,
74 },
75 maxHeight: {
76 type: Number,
77 default: 500
78 },
79 heightNumSetting: {
80 type: Boolean,
81 default: false,
82 },
83 customClass: {
84 type: String,
85 default: '',
86 },
87 paginationAlign: {
88 type: String,
89 default: 'left',
90 },
91 merge: Array,
92 },
93 components: {
94 LbColumn,
95 },
96 data () {
97 return {
98 tableHeight: 'auto',
99 mergeLine: {},
100 mergeIndex: {},
101 selected: ''
102 }
103 },
104 created () {
105 this.getMergeArr(this.data, this.merge)
106 this.getHeight()
107 },
108 computed: {
109 dataLength () {
110 return [] || this.data.length
111 },
112 },
113 methods: {
114 // 单选
115 singleElection (row) {
116 this.selected = this.data.indexOf(row);
117 },
118
119 tableRowClassName ({ row, rowIndex }) {
120 if (rowIndex % 2 === 1) {
121 return 'interlaced';
122 }
123 },
124 getHeight () {
125 if (!this.heightNumSetting) {
126 let _this = this
127 if (this.heightNum) {
128 _this.$nextTick(() => {
129
130 window.addEventListener('resize', () => {
131 _this.tableHeight = _this.calcHeightx(230)
132 });
133 _this.tableHeight = _this.calcHeightx(230)
134 })
135 } else {
136 _this.tableHeight = window.innerHeight - _this.heightNum
137 }
138 }
139 },
140 calcHeightx (value, wappered = true) {
141 //项目自定义的公共header部分的高度,可忽略
142 let header = document.querySelector(".from-clues-header").offsetHeight;
143 //value为动态计算table界面高度时,减去的其他空白部分,需自行在调试找到临界值,剩下的就是table表格的高度(包含header+body部分)
144 value = value == undefined ? 100 : value;
145 let res = window.innerHeight - parseInt(header) - value;
146 if (wappered) {
147 //通过原生方法,获取dom节点的高度------获取element-ui table表格body的元素
148 let wapper = window.document.getElementsByClassName('el-table__body-wrapper');
149 //通过原生方法,获取dom节点的高度------获取element-ui table表格header的元素
150 let header = window.document.getElementsByClassName('el-table__header-wrapper');
151 //必须加延时,要不然赋不上去值
152 setTimeout(() => {
153 //通过上边计算得到的table高度的value值,减去table表格的header高度,剩下的通过dom节点直接强行赋给table表格的body
154 wapper[0].style.height = (value - header[0].clientHeight)
155 }, 100)
156 }
157 return res;
158 },
159 clearSelection () {
160 this.$refs.elTable.clearSelection()
161 },
162 toggleRowSelection (row, selected) {
163 this.$refs.elTable.toggleRowSelection(row, selected)
164 },
165 toggleAllSelection () {
166 this.$refs.elTable.toggleAllSelection()
167 },
168 toggleRowExpansion (row, expanded) {
169 this.$refs.elTable.toggleRowExpansion(row, expanded)
170 },
171 setCurrentRow (row) {
172 this.$refs.elTable.setCurrentRow(row)
173 },
174 clearSort () {
175 this.$refs.elTable.clearSort()
176 },
177 clearFilter (columnKey) {
178 this.$refs.elTable.clearFilter(columnKey)
179 },
180 doLayout () {
181 this.$refs.elTable.doLayout()
182 },
183 sort (prop, order) {
184 this.$refs.elTable.sort(prop, order)
185 },
186 paginationCurrentChange (val) {
187 this.$emit('p-current-change', val)
188 },
189 getMergeArr (tableData, merge) {
190 if (!merge) return
191 this.mergeLine = {}
192 this.mergeIndex = {}
193 merge.forEach((item, k) => {
194 tableData.forEach((data, i) => {
195 if (i === 0) {
196 this.mergeIndex[item] = this.mergeIndex[item] || []
197 this.mergeIndex[item].push(1)
198 this.mergeLine[item] = 0
199 } else {
200 if (data[item] === tableData[i - 1][item]) {
201 this.mergeIndex[item][this.mergeLine[item]] += 1
202 this.mergeIndex[item].push(0)
203 } else {
204 this.mergeIndex[item].push(1)
205 this.mergeLine[item] = i
206 }
207 }
208 })
209 })
210 },
211 mergeMethod ({ row, column, rowIndex, columnIndex }) {
212 const index = this.merge.indexOf(column.property)
213 if (index > -1) {
214 const _row = this.mergeIndex[this.merge[index]][rowIndex]
215 const _col = _row > 0 ? 1 : 0
216 return {
217 rowspan: _row,
218 colspan: _col,
219 }
220 }
221 },
222 },
223 watch: {
224 merge () {
225 this.getMergeArr(this.data, this.merge)
226 },
227 dataLength () {
228 this.getMergeArr(this.data, this.merge)
229 }
230 },
231 }
232 </script>
233 <style rel="stylesheet/scss" scoped lang="scss">
234 .lb-table {
235 margin-top: 1px;
236
237 .interlaced {
238 background: #fafcff;
239 border: 1px solid #ebf2fa;
240 }
241 }
242
243 /deep/.el-table .cell {
244 padding-left: 3px;
245 padding-right: 3px;
246 }
247
248 /deep/.el-radio__label {
249 display: none;
250 }
251 </style>
1 ## 这是对于element-table 进行的二次封装
2
3 ### 文档地址
4
5 <!-- table 已经全局注册不需要每个页面单独注册 -->
6
7 [Windows/Mac/Linux 全平台客户端](https://github.liubing.me/lb-element-table/zh/guide/)
...@@ -4,14 +4,13 @@ ...@@ -4,14 +4,13 @@
4 :options="options" 4 :options="options"
5 id="bottomLeftChart" 5 id="bottomLeftChart"
6 height="100%" 6 height="100%"
7 width="100%" 7 width="100%"></Echart>
8 ></Echart>
9 </template> 8 </template>
10 9
11 <script> 10 <script>
12 import Echart from "@/common/echart"; 11 import Echart from "@/common/echart";
13 export default { 12 export default {
14 data() { 13 data () {
15 return { 14 return {
16 options: {}, 15 options: {},
17 }; 16 };
...@@ -27,7 +26,7 @@ export default { ...@@ -27,7 +26,7 @@ export default {
27 }, 26 },
28 watch: { 27 watch: {
29 cdata: { 28 cdata: {
30 handler(newData) { 29 handler (newData) {
31 this.options = { 30 this.options = {
32 tooltip: { 31 tooltip: {
33 trigger: "axis", 32 trigger: "axis",
...@@ -124,5 +123,5 @@ export default { ...@@ -124,5 +123,5 @@ export default {
124 deep: true, 123 deep: true,
125 }, 124 },
126 }, 125 },
127 }; 126 };
128 </script> 127 </script>
......
...@@ -3,10 +3,10 @@ ...@@ -3,10 +3,10 @@
3 </template> 3 </template>
4 4
5 <script> 5 <script>
6 import Chart from "./Chart"; 6 import Chart from "./Chart";
7 import work from "@/api/work"; 7 import work from "@/api/work";
8 export default { 8 export default {
9 data() { 9 data () {
10 return { 10 return {
11 cdata: { 11 cdata: {
12 category: [], 12 category: [],
...@@ -18,14 +18,14 @@ export default { ...@@ -18,14 +18,14 @@ export default {
18 components: { 18 components: {
19 Chart, 19 Chart,
20 }, 20 },
21 mounted() { 21 mounted () {
22 window.addEventListener("resize", () => { 22 window.addEventListener("resize", () => {
23 this.submitViews(); 23 this.submitViews();
24 }); 24 });
25 this.submitViews(); 25 this.submitViews();
26 }, 26 },
27 methods: { 27 methods: {
28 async submitViews() { 28 async submitViews () {
29 try { 29 try {
30 let { result: res } = await work.submitViews("A20"); 30 let { result: res } = await work.submitViews("A20");
31 this.cdata.category = []; 31 this.cdata.category = [];
...@@ -43,7 +43,7 @@ export default { ...@@ -43,7 +43,7 @@ export default {
43 } 43 }
44 }, 44 },
45 }, 45 },
46 }; 46 };
47 </script> 47 </script>
48 48
49 <style lang="scss" scoped></style> 49 <style lang="scss" scoped></style>
......
1 <template> 1 <template>
2 <!--登记类型总量柱状图 --> 2 <!--登记类型总量柱状图 -->
3 <Echart :options="options" id="bottomLeftChart" height="100%" width="100%" class="" ></Echart> 3 <Echart :options="options" id="bottomLeftChart" height="100%" width="100%" class=""></Echart>
4 </template> 4 </template>
5 5
6 <script> 6 <script>
7 import Echart from "@/common/echart"; 7 import Echart from "@/common/echart";
8 export default { 8 export default {
9 data () { 9 data () {
10 return { 10 return {
11 options: {}, 11 options: {},
...@@ -27,7 +27,7 @@ export default { ...@@ -27,7 +27,7 @@ export default {
27 grid: { 27 grid: {
28 // 让图表占满容器 28 // 让图表占满容器
29 top: "20%", 29 top: "20%",
30 left: "10%", 30 left: "12%",
31 right: "5%", 31 right: "5%",
32 bottom: "16%", 32 bottom: "16%",
33 }, 33 },
...@@ -127,5 +127,5 @@ export default { ...@@ -127,5 +127,5 @@ export default {
127 deep: true, 127 deep: true,
128 }, 128 },
129 }, 129 },
130 }; 130 };
131 </script> 131 </script>
......
1 <template> 1 <template>
2 <!-- 地图 --> 2 <!-- 地图 -->
3 <Echart id="centreLeft2Chart" class="centreLeft2Chart":key="key" ref="centreLeft2ChartRef" width="100%" height="100%" 3 <Echart
4 id="centreLeft2Chart"
5 class="centreLeft2Chart"
6 :key="key"
7 ref="centreLeft2ChartRef"
8 width="100%"
9 height="100%"
4 :options="options"></Echart> 10 :options="options"></Echart>
5 </template> 11 </template>
6 12
7 <script> 13 <script>
8 import Echart from '@/common/echart'; 14 import Echart from "@/common/echart";
9 export default { 15 import { mapGetters } from "vuex";
16 export default {
10 data () { 17 data () {
11 return { 18 return {
12 options: {}, 19 options: {},
13 max: "100", //最大value值 20 max: "100", //最大value值
14 min: "1", // 最小value值 21 min: "1", // 最小value值
15 key: 0 22 key: 0,
23 mapjson: "",
16 }; 24 };
17 }, 25 },
18 components: { 26 components: {
19 Echart, 27 Echart,
20 }, 28 },
29 created () { },
21 props: { 30 props: {
22 cdata: { 31 cdata: {
23 type: Array, 32 type: Array,
24 default: () => [], 33 default: () => [],
25 }, 34 },
26 }, 35 },
27 mounted() { 36 mounted () {
37
28 window.addEventListener("resize", () => { 38 window.addEventListener("resize", () => {
29 this.key++ 39 this.key++;
30 }); }, 40 });
41 this.getDistrictcode();
42 },
31 watch: { 43 watch: {
32 cdata: { 44 cdata: {
33 handler (newData) { 45 handler (newData) {
...@@ -46,115 +58,98 @@ export default { ...@@ -46,115 +58,98 @@ export default {
46 宁强县: [106.25958, 32.82881, 20], 58 宁强县: [106.25958, 32.82881, 20],
47 略阳县: [106.15399, 33.33009, 20], 59 略阳县: [106.15399, 33.33009, 20],
48 }; 60 };
49 let convertData = function (data) {
50 let scatterData = [];
51 for (var i = 0; i < data.length; i++) {
52 var geoCoord = geoCoordMap[data[i].name];
53 if (geoCoord) {
54 scatterData.push({
55 name: data[i].name,
56 value: geoCoord.concat(data[i].value),
57 });
58 }
59 }
60 return scatterData;
61 };
62 this.options = { 61 this.options = {
63 showLegendSymbol: true, 62 showLegendSymbol: true,
64 tooltip: { 63 tooltip: {
65 trigger: 'item', 64 trigger: "item",
66 textStyle: { 65 textStyle: {
67 fontSize: 14, 66 fontSize: 14,
68 lineHeight: 22, 67 lineHeight: 22,
69 }, 68 },
70 position: point => { 69 position: (point) => {
71 // 固定在顶部 70 // 固定在顶部
72 return [point[0] + 50, point[1] - 20]; 71 return [point[0] + 50, point[1] - 20];
73 }, 72 },
74 // 如果需要自定义 tooltip样式,需要使用formatter 73 // 如果需要自定义 tooltip样式,需要使用formatter
75 formatter: params => { 74 formatter: (params) => {
76 return `<div style="">${params.name}:${params.value + "个"}</div>` 75 return `<div style="">${params.name}:${params.value + "个"
77 } 76 }</div>`;
77 },
78 }, 78 },
79 visualMap: { 79 visualMap: {
80 min: 0, 80 min: 0,
81 max: _this.max, 81 max: _this.max,
82 bottom: '13%', 82 bottom: "13%",
83 left: 50, 83 left: 50,
84 splitNumber: 6, 84 splitNumber: 6,
85 seriesIndex: [0], 85 seriesIndex: [0],
86 itemWidth: 20, // 每个图元的宽度 86 itemWidth: 20, // 每个图元的宽度
87 itemGap: 2, // 每两个图元之间的间隔距离,单位为px 87 itemGap: 2, // 每两个图元之间的间隔距离,单位为px
88 pieces: [ // 自定义每一段的范围,以及每一段的文字 88 pieces: [
89 { gte: 100, label: '100以上', color: '#035cf5' }, // 不指定 max,表示 max 为无限大(Infinity)。 89 // 自定义每一段的范围,以及每一段的文字
90 { gte: 50, lte: 6000, label: '20-100', color: '#3375e4' }, 90 { gte: 100, label: "100以上", color: "#035cf5" }, // 不指定 max,表示 max 为无限大(Infinity)。
91 { gte: 20, lte: 2000, label: '1-200', color: '#6797ef' }, 91 { gte: 50, lte: 6000, label: "20-100", color: "#3375e4" },
92 { gte: 1, lte: 1000, label: '1-20', color: '#96b5ef' }, 92 { gte: 20, lte: 2000, label: "1-200", color: "#6797ef" },
93 { gte: 1, lte: 1000, label: "1-20", color: "#96b5ef" },
93 ], 94 ],
94 textStyle: { 95 textStyle: {
95 color: '#737373' 96 color: "#737373",
96 } 97 },
97 }, 98 },
98 geo: { 99 geo: {
99 aspectScale: 1, //长宽比 100 aspectScale: 1, //长宽比
100 zoom: 1.1, 101 zoom: 1.1,
101 mapType: '汉中市', // 自定义扩展图表类型 102 mapType: "", // 自定义扩展图表类型
102 top: '15%', 103 top: "15%",
103 left: '10%', 104 left: "10%",
104 map: '汉中市', 105 map: "汉中市",
105 itemStyle: { 106 itemStyle: {
106 normal: {//阴影 107 normal: {
107 areaColor: '#5689FD ', 108 //阴影
108 shadowColor: '#21371d', 109 areaColor: "#5689FD ",
110 shadowColor: "#21371d",
109 borderWidth: 0, 111 borderWidth: 0,
110 shadowOffsetX: 2, 112 shadowOffsetX: 2,
111 shadowOffsetY: 25 113 shadowOffsetY: 25,
112 } 114 },
113 } 115 },
114 }, 116 },
115 series: [ 117 series: [
116 { 118 {
117 type: 'map', 119 type: "map",
118 aspectScale: 1, //长宽比 120 aspectScale: 1, //长宽比
119 zoom: 1.1, 121 zoom: 1.1,
120 mapType: '汉中市', // 自定义扩展图表类型 122 mapType: "汉中市", // 自定义扩展图表类型
121 top: '15%', 123 top: "15%",
122 left: '10%', 124 left: "10%",
123 itemStyle: { 125 itemStyle: {
124 normal: { 126 normal: {
125 areaColor: 'rgba(19,54,162,.5)', 127 areaColor: "rgba(19,54,162,.5)",
126 borderColor: 'rgba(0,242,252,.5)', 128 borderColor: "rgba(0,242,252,.5)",
127 borderWidth: 2, 129 borderWidth: 2,
128 shadowBlur: 1, 130 shadowBlur: 1,
129 borderColor: 'rgb(155, 200, 200)', 131 borderColor: "rgb(155, 200, 200)",
130 shadowColor: '#44f2fc', 132 shadowColor: "#44f2fc",
131 }, 133 },
132 // emphasis: {
133 // areaColor: '#4f7fff',
134 // borderColor: 'rgba(0,242,252,.5)',
135 // borderWidth: 2,
136 // shadowBlur: 10,
137 // shadowColor: '#00f2fc',
138 // },
139 }, 134 },
140 label: { 135 label: {
141 formatter: params => { 136 formatter: (params) => {
142 return `${params.name}\n${params.value+"个"}`; 137 return `${params.name}\n${params.value + "个"}`;
143 }, 138 },
144 show: true, 139 show: true,
145 position: 'insideRight', 140 position: "insideRight",
146 textStyle: { 141 textStyle: {
147 fontSize: 14, 142 fontSize: 14,
148 color: '#efefef', 143 color: "#efefef",
149 }, 144 },
150 emphasis: { 145 emphasis: {
151 textStyle: { 146 textStyle: {
152 color: '#fff', 147 color: "#fff",
153 } 148 },
154 } 149 },
155 }, 150 },
156 data: newData, 151 data: newData,
157 } 152 },
158 ], 153 ],
159 }; 154 };
160 // 重新选择区域 155 // 重新选择区域
...@@ -165,7 +160,23 @@ export default { ...@@ -165,7 +160,23 @@ export default {
165 deep: true, 160 deep: true,
166 }, 161 },
167 }, 162 },
163 computed: {
164 ...mapGetters(["sidebar", "dicData"]),
165 logoName () {
166 return (
167 this.dicData["sysCode"].filter((item) => { return item.DCODE == "areaMap" })
168 );
169 },
170 },
168 methods: { 171 methods: {
172 // 根据行政区代码匹配行政区
173 getDistrictcode () {
174 this.mapjson = ""
175 if (this.logoName[0].DNAME) {
176 this.mapjson = this.logoName[0].DNAME;
177 require(`@/common/map/${this.mapjson}.js`);
178 }
179 },
169 // 开启定时器 180 // 开启定时器
170 startInterval () { 181 startInterval () {
171 const _self = this; 182 const _self = this;
...@@ -189,23 +200,23 @@ export default { ...@@ -189,23 +200,23 @@ export default {
189 index = Math.floor(Math.random() * length); 200 index = Math.floor(Math.random() * length);
190 } 201 }
191 map.dispatchAction({ 202 map.dispatchAction({
192 type: 'mapUnSelect', 203 type: "mapUnSelect",
193 seriesIndex: 0, 204 seriesIndex: 0,
194 dataIndex: this.preSelectMapIndex, 205 dataIndex: this.preSelectMapIndex,
195 }); 206 });
196 map.dispatchAction({ 207 map.dispatchAction({
197 type: 'showTip', 208 type: "showTip",
198 seriesIndex: 0, 209 seriesIndex: 0,
199 dataIndex: index, 210 dataIndex: index,
200 }); 211 });
201 map.dispatchAction({ 212 map.dispatchAction({
202 type: 'mapSelect', 213 type: "mapSelect",
203 seriesIndex: 0, 214 seriesIndex: 0,
204 dataIndex: index, 215 dataIndex: index,
205 }); 216 });
206 this.preSelectMapIndex = index; 217 this.preSelectMapIndex = index;
207 } catch (error) { 218 } catch (error) {
208 console.log(error) 219 console.log(error);
209 } 220 }
210 }); 221 });
211 }, 222 },
...@@ -218,34 +229,32 @@ export default { ...@@ -218,34 +229,32 @@ export default {
218 _self.reSelectMapRandomArea(); 229 _self.reSelectMapRandomArea();
219 }, 0); 230 }, 0);
220 // 移入区域,清除定时器、取消之前选中并选中当前 231 // 移入区域,清除定时器、取消之前选中并选中当前
221 map.on('mouseover', function (params) { 232 map.on("mouseover", function (params) {
222 clearInterval(_self.intervalId); 233 clearInterval(_self.intervalId);
223 map.dispatchAction({ 234 map.dispatchAction({
224 type: 'mapUnSelect', 235 type: "mapUnSelect",
225 seriesIndex: 0, 236 seriesIndex: 0,
226 dataIndex: _self.preSelectMapIndex, 237 dataIndex: _self.preSelectMapIndex,
227 }); 238 });
228 map.dispatchAction({ 239 map.dispatchAction({
229 type: 'mapSelect', 240 type: "mapSelect",
230 seriesIndex: 0, 241 seriesIndex: 0,
231 dataIndex: params.dataIndex, 242 dataIndex: params.dataIndex,
232 }); 243 });
233 _self.preSelectMapIndex = params.dataIndex; 244 _self.preSelectMapIndex = params.dataIndex;
234 }); 245 });
235 // 移出区域重新随机选中地图区域,并开启定时器 246 // 移出区域重新随机选中地图区域,并开启定时器
236 map.on('globalout', function () { 247 map.on("globalout", function () {
237 _self.reSelectMapRandomArea(); 248 _self.reSelectMapRandomArea();
238 _self.startInterval(); 249 _self.startInterval();
239 }); 250 });
240 this.startInterval(); 251 this.startInterval();
241 } catch (error) { 252 } catch (error) {
242 console.log(error) 253 console.log(error);
243 } 254 }
244 }); 255 });
245 }, 256 },
246 }, 257 },
247 }; 258 };
248 </script> 259 </script>
249 <style> 260 <style></style>
250
251 </style>
......
...@@ -4,16 +4,15 @@ ...@@ -4,16 +4,15 @@
4 id="centreLeft1Chart" 4 id="centreLeft1Chart"
5 :key="key" 5 :key="key"
6 height="1.0417rem" 6 height="1.0417rem"
7 width="80%" 7 width="80%"></Echart>
8 ></Echart>
9 </template> 8 </template>
10 <script> 9 <script>
11 import Echart from "@/common/echart"; 10 import Echart from "@/common/echart";
12 export default { 11 export default {
13 components: { 12 components: {
14 Echart, 13 Echart,
15 }, 14 },
16 data() { 15 data () {
17 return { 16 return {
18 key: 0, 17 key: 0,
19 }; 18 };
...@@ -26,7 +25,7 @@ export default { ...@@ -26,7 +25,7 @@ export default {
26 }, 25 },
27 watch: { 26 watch: {
28 cdata: { 27 cdata: {
29 handler(newData) { 28 handler (newData) {
30 29
31 this.options = { 30 this.options = {
32 color: [ 31 color: [
...@@ -49,8 +48,11 @@ export default { ...@@ -49,8 +48,11 @@ export default {
49 label: { 48 label: {
50 formatter: (params) => { 49 formatter: (params) => {
51 // console.log(params) 50 // console.log(params)
52 return `${params.name}(${params.value}`; 51 return `${params.name}\n(${params.value}`;
53 }, 52 },
53 position: "outer",
54 alignTo: "edge",
55 margin: 5
54 }, 56 },
55 labelLine: { 57 labelLine: {
56 lineStyle: { 58 lineStyle: {
...@@ -67,12 +69,12 @@ export default { ...@@ -67,12 +69,12 @@ export default {
67 deep: true, 69 deep: true,
68 }, 70 },
69 }, 71 },
70 }; 72 };
71 </script> 73 </script>
72 74
73 <style lang="scss" scoped> 75 <style lang="scss" scoped>
74 #centreLeft1Chart { 76 #centreLeft1Chart {
75 margin-bottom: 0.0521rem; 77 margin-bottom: 0.0521rem;
76 margin-left: .3125rem; 78 margin-left: 0.3125rem;
77 } 79 }
78 </style> 80 </style>
......
1 <!-- 1 <!--
2 功能:结果 2 * @Description:
3 作者:calliope 3 * @Autor: renchao
4 * @LastEditTime: 2023-03-13 11:09:01
4 --> 5 -->
5 <template> 6 <template>
6 <div class='result'> 7 <div class='result'>
8 <div class="result-con" style="margin-bottom: 15px;">
7 <p>响应xml</p> 9 <p>响应xml</p>
8 <el-input type="textarea" disabled :rows="6" class="resulttext" placeholder="响应xml" v-model="REPMSGXML"> 10 <el-input type="textarea" disabled :rows="6" class="resulttext" placeholder="响应xml" v-model="REPMSGXML">
9 </el-input> 11 </el-input>
12 </div>
13 <div class="result-con" style="margin-top: 15px;">
10 <p>错误信息</p> 14 <p>错误信息</p>
11 <el-input type="textarea" disabled :rows="6" class="resulttext" placeholder="错误信息" v-model="ERRORINFO"> 15 <el-input type="textarea" disabled :rows="6" class="resulttext" placeholder="错误信息" v-model="ERRORINFO">
12 </el-input> 16 </el-input>
13 </div> 17 </div>
18 </div>
14 </template> 19 </template>
15 <script> 20 <script>
16 import { getReceiveDataReportResult } from "@/api/dataReport.js"; 21 import { getReceiveDataReportResult } from "@/api/dataReport.js";
...@@ -40,21 +45,40 @@ export default { ...@@ -40,21 +45,40 @@ export default {
40 <style scoped lang='scss'> 45 <style scoped lang='scss'>
41 @import '~@/styles/public.scss'; 46 @import '~@/styles/public.scss';
42 47
48
43 .result { 49 .result {
44 padding: 15px; 50 padding: 15px;
45 51 height: 100%;
46 p {
47 color: #ffffff;
48 line-height: 26px;
49 font-size: 18px;
50 }
51 52
52 /deep/.el-textarea__inner { 53 /deep/.el-textarea__inner {
53 min-height: 33vh !important; 54 height: 30vh !important;
54 background-color: #08346F !important;
55 color: #ffffff; 55 color: #ffffff;
56 border: none !important; 56 border: none !important;
57 color: #ffffff;
57 } 58 }
58 59
60 &-con {
61 background: #04275B;
62 border-radius: 2px;
63 padding: 10px;
64 box-sizing: border-box;
65
66 p {
67 color: #2997E8;
68 font-size: 14px;
69 position: relative;
70 padding-left: 10px;
71 }
72
73 p::before {
74 position: absolute;
75 content: '';
76 width: 3px;
77 height: 10px;
78 background-color: #2997E8;
79 left: 0;
80 top: 3px;
81 }
82 }
59 } 83 }
60 </style> 84 </style>
......
1 <template> 1 <template>
2 <!-- 编辑 --> 2 <el-dialog :close-on-click-modal="false" top="0" @close="closeDialog" custom-class="dialogBox editDialogBox mainCenter"
3 <el-dialog :close-on-click-modal="false" top="0" @close="closeDialog" 3 :visible.sync="dialogVisible" width="92%">
4 custom-class="dialogBox editDialogBox mainCenter" :visible.sync="dialogVisible" width="85%">
5 <div slot="title" class="dialog_title" ref="dialogTitle"> 4 <div slot="title" class="dialog_title" ref="dialogTitle">
6 {{ title || '标题' }} 5 {{ title || '详情' }}
7 </div> 6 </div>
7 <div class="regularHeight">
8 <div class="editDialogBox-box"> 8 <div class="editDialogBox-box">
9 <el-tabs v-model="titleName" type="card" @tab-click="handleTitleTab"> 9 <el-tabs v-model="titleName" type="card" @tab-click="handleTitleTab">
10 <el-tab-pane label="数据模型" name="sjmx"></el-tab-pane> 10 <el-tab-pane label="数据模型" name="sjmx"></el-tab-pane>
11 <el-tab-pane v-if="visiableXml" label="xml报文" name="xml"></el-tab-pane> 11 <el-tab-pane v-if="visiableXml" label="xml报文" name="xml"></el-tab-pane>
12 <el-tab-pane v-if="visiableXml" label="响应结果" name="xyjg"></el-tab-pane> 12 <el-tab-pane v-if="visiableXml" label="响应结果" name="xyjg"></el-tab-pane>
13 </el-tabs> 13 </el-tabs>
14 <div class="dialog-from" v-if="titleName == 'sjmx'"> 14 <div class="dialog-from item-content-input" v-if="titleName == 'sjmx'">
15 <el-row> 15 <el-row>
16 <el-col :span="5"> 16 <el-col :span="5">
17 <span>业务报文ID:</span> 17 <span>业务报文ID:</span>
18 <p>{{ dataReport.BizMsgId }}</p> 18 <el-select v-model="dataReport.BizMsgId" :disabled="$store.state.business.Edit">
19 <el-option v-for="item in bwoptions" :key="item.value" :label="item.label" :value="item.value">
20 </el-option>
21 </el-select>
19 </el-col> 22 </el-col>
20 <el-col :span="6"> 23 <el-col :span="6">
21 <span>接入报文ID:</span> 24 <span>ASID:</span>
22 <p>{{ dataReport.ASID }}</p> 25 <el-input v-model="dataReport.ASID" :disabled="$store.state.business.Edit" maxLength="5"></el-input>
23 </el-col> 26 </el-col>
24 <el-col :span="6"> 27 <el-col :span="6">
25 <span>行政区划编码:</span> 28 <span>行政区划编码:</span>
26 <p>{{ dataReport.AreaCode }}</p> 29 <el-input v-model="dataReport.AreaCode" :disabled="$store.state.business.Edit"></el-input>
27 </el-col> 30 </el-col>
28 <el-col :span="7"> 31 <el-col :span="7">
29 <span>上次不动产单元号:</span> 32 <span>上次不动产单元号:</span>
30 <p>{{ dataReport.PreEstateNum }}</p> 33 <el-input v-model="dataReport.PreEstateNum" :disabled="$store.state.business.Edit"></el-input>
31 </el-col> 34 </el-col>
32 </el-row> 35 </el-row>
33 <el-row> 36 <el-row>
34 <el-col :span="5"> 37 <el-col :span="5">
35 <span>业务编码:</span> 38 <span>业务编码:</span>
36 <p>{{ dataReport.RecType }}</p> 39 <el-input v-model="dataReport.RecType" :disabled="$store.state.business.Edit"></el-input>
37 </el-col> 40 </el-col>
38 <el-col :span="6"> 41 <el-col :span="6">
39 <span>权利类型:</span> 42 <span>权利类型:</span>
40 <p>{{ this.dicStatus(dataReport.RightType, 'A8') }}</p> 43 <el-select v-model="dataReport.RightType" :disabled="$store.state.business.Edit">
44 <el-option v-for="item in dicData['A8']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
45 </el-option>
46 </el-select>
41 </el-col> 47 </el-col>
42 <el-col :span="6"> 48 <el-col :span="6">
43 <span>登记类型:</span> 49 <span>登记类型:</span>
44 <p>{{ this.dicStatus(dataReport.RegType, 'A21') }}</p> 50 <el-select v-model="dataReport.RegType" :disabled="$store.state.business.Edit">
51 <el-option v-for="item in dicData['A21']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
52 </el-option>
53 </el-select>
45 </el-col> 54 </el-col>
46 <el-col :span="7"> 55 <el-col :span="7">
47 <span>不动产权证书数量:</span> 56 <span>不动产权证书数量:</span>
48 <p>{{ dataReport.CertCount }}</p> 57 <el-input v-model="dataReport.CertCount" :disabled="$store.state.business.Edit"
58 oninput="if(value.length > 8) value=value.slice(0, 8)"></el-input>
49 </el-col> 59 </el-col>
50 </el-row> 60 </el-row>
51 <el-row> 61 <el-row>
52 <el-col :span="5"> 62 <el-col :span="5">
53 <span>创建时间:</span> 63 <span>创建时间:</span>
54 <p>{{ dataReport.createDate }}</p> 64 <el-date-picker v-model="dataReport.createDate" clearable disabled type="date" value-format="yyyy-MM-dd">
65 </el-date-picker>
55 </el-col> 66 </el-col>
56 <el-col :span="6"> 67 <el-col :span="6">
57 <span>业务流水号:</span> 68 <span>业务流水号:</span>
58 <p>{{ dataReport.RecFlowID }}</p> 69 <el-input v-model="dataReport.RecFlowID" :disabled="$store.state.business.Edit"></el-input>
59 </el-col> 70 </el-col>
60 <el-col :span="6"> 71 <el-col :span="6">
61 <span>宗地/宗海代码:</span> 72 <span>宗地/宗海代码:</span>
62 <p>{{ dataReport.ParcelID }}</p> 73 <el-input v-model="dataReport.ParcelID" :disabled="$store.state.business.Edit"></el-input>
63 </el-col> 74 </el-col>
64 <el-col :span="7"> 75 <el-col :span="7">
65 <span>证明数量:</span> 76 <span>证明数量:</span>
66 <p>{{ dataReport.ProofCount }}</p> 77 <el-input v-model="dataReport.ProofCount" :disabled="$store.state.business.Edit"
78 oninput="if(value.length > 8) value=value.slice(0, 8)"></el-input>
67 </el-col> 79 </el-col>
68 </el-row> 80 </el-row>
69 <el-row> 81 <el-row>
70 <el-col :span="6"> 82 <el-col :span="7">
71 <span>不动产单元号:</span> 83 <span>不动产单元号:</span>
72 <p>{{ dataReport.EstateNum }}</p> 84 <el-input v-model="dataReport.EstateNum" :disabled="$store.state.business.Edit"></el-input>
73 </el-col> 85 </el-col>
74 <el-col :span="8"> 86 <el-col :span="7">
75 <span>登记机构:</span> 87 <span>登记机构:</span>
76 <p>{{ dataReport.RegOrgID }}</p> 88 <el-input v-model="dataReport.RegOrgID" :disabled="$store.state.business.Edit"></el-input>
77 </el-col> 89 </el-col>
78 <el-col :span="11"> 90 <el-col :span="11">
79 <span>上次不动产权证号/不动产登记证明:</span> 91 <span>上次不动产权证号/不动产登记证明:</span>
80 <p>{{ dataReport.PreCertID }}</p> 92 <el-input v-model="dataReport.PreCertID" :disabled="$store.state.business.Edit"></el-input>
81 </el-col> 93 </el-col>
82 </el-row> 94 </el-row>
83 </div> 95 </div>
84 </div> 96 </div>
85 <div class="editDialogBox-box"> 97 <div class="editDialogBox-box editDialogBox-con" v-if="titleName == 'sjmx'">
86 <div v-if="titleName == 'sjmx'" class="sjmx"> 98 <div class="sjmx">
87 <el-tabs v-model="activeName" ref="elTabs" type="card" @tab-click="changeList"> 99 <el-tabs v-model="activeName" ref="elTabs" type="card" @tab-click="changeList">
88 <el-tab-pane :name="item.soleurl" v-for="item in headerList" :key="item.soleurl"> 100 <el-tab-pane :name="item.soleurl" v-for="item in headerList" :key="item.soleurl">
89 <div slot="label" class="tab-pane-item"> 101 <div slot="label" class="tab-pane-item">
...@@ -97,20 +109,32 @@ ...@@ -97,20 +109,32 @@
97 :bsmYwsjb="bsmYwsjb" :bsmSjsb="dataReport.bsmReport || dataReport.bsmSjsb" /> 109 :bsmYwsjb="bsmYwsjb" :bsmSjsb="dataReport.bsmReport || dataReport.bsmSjsb" />
98 </div> 110 </div>
99 </div> 111 </div>
100 <div v-if="titleName == 'xyjg'"> 112 </div>
113 <div class="editDialogBox-box JsonEditor" v-if="titleName == 'xml'">
114 <JsonEditor :resultInfo="resultInfo" />
115 </div>
116 <div class="editDialogBox-box JsonEditor" v-if="titleName == 'xyjg'">
101 <Xyjg :form-data='dataReport'></Xyjg> 117 <Xyjg :form-data='dataReport'></Xyjg>
102 </div> 118 </div>
103 <JsonEditor :resultInfo="resultInfo" class="JsonEditor" v-if="titleName == 'xml'" /> 119 </div>
120 <div class="d-center" v-if="!$store.state.business.Edit && titleName == 'sjmx'">
121 <btn nativeType="cz" @click="dialogVisible = false">取 消</btn>
122 <btn nativeType="cx" @click="submitForm">保 存</btn>
123 </div>
124 <div class="d-center" v-if="!$store.state.business.Edit && titleName == 'xml'">
125 <btn nativeType="cx" @click="handleResubmit">重新上报</btn>
104 </div> 126 </div>
105 </el-dialog> 127 </el-dialog>
106 </template> 128 </template>
107 129
108 <script> 130 <script>
131 import axios from "axios";
132 import SERVER from '@/api/config'
133 const urlHeader = SERVER.SERVERAPI + '/rest/sjsb/DataReport/'
109 import { mapGetters } from "vuex"; 134 import { mapGetters } from "vuex";
110 import JsonEditor from "@/components/JsonEditor.vue"; 135 import JsonEditor from "@/components/JsonEditor.vue";
111 import Xyjg from "./Result"; 136 import Xyjg from "./Result";
112 import { getTabsDetail, getXml, getReportDetail } from "@/api/dataReport.js"; 137 import { getTabsDetail, getXml, getReportDetail, restartGenerateXml, edit } from "@/api/dataReport.js";
113 import { MessageBox } from "element-ui";
114 export default { 138 export default {
115 components: { JsonEditor, Xyjg }, 139 components: { JsonEditor, Xyjg },
116 props: { 140 props: {
...@@ -133,34 +157,33 @@ export default { ...@@ -133,34 +157,33 @@ export default {
133 }, 157 },
134 data () { 158 data () {
135 return { 159 return {
136 160 key: 0,
137 resultInfo: '', 161 resultInfo: '',
138 162
139 titleName: 'sjmx', 163 titleName: 'sjmx',
140 164 // 报文list
165 bwoptions: [],
141 dataReport: {}, 166 dataReport: {},
142 index: 0, 167 index: 0,
143 bsmYwsjb: "", 168 bsmYwsjb: "",
144 ruleFormList: { 169 ruleFormList: {
145 bizMsgID: "", 170 BizMsgId: "", // 业务报文ID
146 asid: "", 171 ASID: "", // ASID
147 areaCode: "", 172 AreaCode: "", //行政区划编码
148 preestateNum: "", 173 PreEstateNum: "", //上次不动产单元号
149 recType: "", 174 RecType: "", // 业务编码
150 rightType: "", 175 RightType: "", // 权利类型
151 regType: "", 176 RegType: "", //登记类型
152 certCount: "", 177 CertCount: "", //不动产权证书数量
153 createDate: "", 178 createDate: "", //创建时间
154 recFlowID: "", 179 RecFlowID: "", // 业务流水号
155 regOrgID: "", 180 ParcelID: "", //宗地/宗海代码
156 prllfCount: "", 181 ProofCount: "", //证明数量
157 parcelID: "", 182 EstateNum: "", // 不动产单元号
158 estateNum: "", 183 RegOrgID: "", // 登记机构
159 preCertID: "", 184 PreCertID: "", //次不动产权证号/不动产登记证明
160 digitalSign: "",
161 }, 185 },
162 images: require("./images/success.gif"), 186 images: require("./images/success.gif"),
163 saveloding: false,
164 dialogVisible: false, 187 dialogVisible: false,
165 activeName: undefined, 188 activeName: undefined,
166 editItem: "", 189 editItem: "",
...@@ -182,21 +205,24 @@ export default { ...@@ -182,21 +205,24 @@ export default {
182 } 205 }
183 }, 206 },
184 handleTitleTab (val) { 207 handleTitleTab (val) {
185 console.log(val);
186 }, 208 },
187 isShow (item) { 209 isShow (item) {
188 this.dataReport = item; 210 this.$set(this.bwoptions, 0, {
211 value: item.bizMsgid,
212 label: item.bizMsgid,
213 })
214 this.$set(this.bwoptions, 1, {
215 value: item.bizMsgid + 'CBXZ',
216 label: item.bizMsgid + 'CBXZ',
217 })
218 this.$set(this.bwoptions, 2, {
219 value: item.bizMsgid + 'BBXZ',
220 label: item.bizMsgid + 'BBXZ',
221 })
189 this.titleName = 'sjmx'; 222 this.titleName = 'sjmx';
190 this.dialogVisible = true; 223 this.dialogVisible = true;
191 //获取表头列表 224 //获取表头列表
192 getTabsDetail({ bsmReport: this.dataReport.bsmReport || this.dataReport.bsmSjsb }).then((res) => { 225 this._getList(item)
193 if (res.code == 200) {
194 this.headerList = res.result;
195 this.activeName = this.tabsActiveName == '' ? res.result[0].soleurl : this.tabsActiveName
196 this.bsmYwsjb = this.headerList[0].bsmYwsjb;
197 this.editItem = this.loadView(this.activeName);
198 }
199 });
200 //不动产数据查询上报详情 226 //不动产数据查询上报详情
201 getReportDetail({ bsmReport: item.bsmSjsb || item.bsmReport }).then((res) => { 227 getReportDetail({ bsmReport: item.bsmSjsb || item.bsmReport }).then((res) => {
202 if (res.code == 200) { 228 if (res.code == 200) {
...@@ -210,6 +236,17 @@ export default { ...@@ -210,6 +236,17 @@ export default {
210 }) 236 })
211 } 237 }
212 }, 238 },
239 // 获取列表接口
240 _getList (data) {
241 getTabsDetail({ bsmReport: data.bsmReport || data.bsmSjsb }).then((res) => {
242 if (res.code == 200) {
243 this.headerList = res.result;
244 this.activeName = this.tabsActiveName == '' ? res.result[0].soleurl : this.tabsActiveName
245 this.bsmYwsjb = this.headerList[0].bsmYwsjb;
246 this.editItem = this.loadView(this.activeName);
247 }
248 });
249 },
213 changeList (val) { 250 changeList (val) {
214 let _index = val.index; 251 let _index = val.index;
215 if (_index > this.index) { 252 if (_index > this.index) {
...@@ -233,52 +270,66 @@ export default { ...@@ -233,52 +270,66 @@ export default {
233 this.editItem = ""; 270 this.editItem = "";
234 this.headerList = []; 271 this.headerList = [];
235 }, 272 },
236 submitForm () { 273 /**
237 let _this = this; 274 * @description: 提交
238 this.$store.dispatch( 275 * @author: renchao
239 "business/setRules", 276 */
240 this.$store.state.business.subRules 277 submitForm: _.debounce(async function () {
241 ); 278 let _this = this
242 this.$nextTick(() => { 279 // 上报请求头修改
243 this.$refs["editItem"] && 280 try {
244 this.$refs["editItem"].verificationForm().then((res) => { 281 var headRes = await axios.post(urlHeader + 'edit', this.dataReport,
245 if (!res) {
246 _this.$message({
247 message: "请检查表单必填项是否完整",
248 type: "warning",
249 });
250 return false;
251 } else {
252 _this.saveloding = true;
253 _this.$refs["editItem"]
254 .handleUpdateForm()
255 .then((res) => {
256 if (res == 200) {
257 _this.$alert(
258 '<p><img class="success-images" src="' +
259 this.images +
260 '"/>编辑成功!</p>',
261 "提示",
262 { 282 {
263 showConfirmButton: false, 283 headers: {
264 dangerouslyUseHTMLString: true, 284 'Authorization': sessionStorage.getItem("token") || ""
265 } 285 }
266 ); 286 })
267 setTimeout(() => { 287 if (headRes.code == 200) {
268 MessageBox.close(false); 288 _this._getList(_this.dataReport)
269 }, 1500); 289 }
290 } catch (error) {
291 this.$message({
292 message: '报文头修改出错',
293 type: 'error'
294 })
295 }
296 let listRes = await this.$refs["editItem"].handleUpdateForm()
297 if (headRes.data?.code == 200 && listRes == 200) {
298 this.$message({
299 message: '修改成功',
300 type: 'success'
301 })
302 }
303 }, 500),
304 /**
305 * @description: 重新上报
306 * @author: renchao
307 */
308 handleResubmit () {
309 let _this = this
310 this.$confirm('重新生成报文,是否上报省厅?', '提示', {
311 confirmButtonText: '确定',
312 cancelButtonText: '取消',
313 type: 'warning'
314 }).then(() => {
315 createXml()
316 }).catch(() => {
317 this.$message({
318 type: 'info',
319 message: '已取消删除'
320 })
321 })
322 function createXml () {
323 restartGenerateXml(_this.dataReport.bsmSjsb || _this.dataReport.bsmReport).then((res) => {
324 if (res.code == 200) {
325 _this.resultInfo = res.message
326 _this.$message({
327 message: '修改成功',
328 type: 'success'
329 })
270 } 330 }
271 }) 331 })
272 .catch(function (error) {
273 _this.$alert(error, "提示", {
274 confirmButtonText: "确定",
275 type: "error",
276 });
277 });
278 _this.saveloding = false;
279 } 332 }
280 });
281 });
282 } 333 }
283 } 334 }
284 } 335 }
...@@ -287,40 +338,42 @@ export default { ...@@ -287,40 +338,42 @@ export default {
287 @import "~@/styles/mixin.scss"; 338 @import "~@/styles/mixin.scss";
288 @import "~@/styles/dialogBox.scss"; 339 @import "~@/styles/dialogBox.scss";
289 340
290 .editForm {
291 /deep/.el-textarea__inner {
292 border: 1px solid #224C7C !important;
293 margin: 0 0 10px 0 !important;
294 width: 100% !important;
295 color: #dadde3 !important;
296 background: transparent !important;
297 }
298
299 /deep/.el-input__inner {
300 border: 1px solid #224C7C !important;
301 margin: 0 !important;
302 width: 100% !important;
303 color: #dadde3 !important;
304 background: transparent !important;
305 }
306 }
307
308 /deep/.el-dialog__body { 341 /deep/.el-dialog__body {
309 display: flex; 342 display: flex;
310 flex-direction: column; 343 flex-direction: column;
344 padding-bottom: 30px;
311 } 345 }
312 346
313 /deep/ .el-tabs { 347 /deep/ .el-tabs {
314 color: #CEF8FF; 348 color: #CEF8FF;
315 } 349 }
316 350
351 .d-center {
352 z-index: 1000;
353 }
354
317 .sjmx { 355 .sjmx {
356 display: flex;
357 flex-direction: column;
358 height: 49vh;
359
318 /deep/.el-tabs__item { 360 /deep/.el-tabs__item {
319 height: 50px; 361 height: 50px;
320 padding-top: 6px; 362 padding-top: 6px;
321 } 363 }
322 } 364 }
323 365
366 .result {
367 flex: 1;
368 height: 100%;
369 }
370
371 .editDialogBox-con {
372 flex: 1;
373 height: 100%;
374 overflow-y: hidden;
375 }
376
324 /deep/.el-tabs__item { 377 /deep/.el-tabs__item {
325 color: #CEF8FF !important; 378 color: #CEF8FF !important;
326 379
...@@ -390,11 +443,9 @@ export default { ...@@ -390,11 +443,9 @@ export default {
390 } 443 }
391 444
392 .edit-content { 445 .edit-content {
393 height: 450px;
394 overflow-y: auto; 446 overflow-y: auto;
395 overflow-x: hidden; 447 overflow-x: hidden;
396 padding-right: 1px; 448 padding-right: 1px;
397 margin-bottom: 10px;
398 border-top: none; 449 border-top: none;
399 } 450 }
400 451
...@@ -402,66 +453,10 @@ export default { ...@@ -402,66 +453,10 @@ export default {
402 border-radius: 8px; 453 border-radius: 8px;
403 overflow: hidden; 454 overflow: hidden;
404 min-width: 1228px; 455 min-width: 1228px;
405 height: 825px !important;
406
407 .dialog-from {
408 padding: 13px;
409 border-radius: 2px;
410 box-sizing: border-box;
411
412 .el-row {
413 display: flex;
414 flex-wrap: nowrap;
415 }
416
417 .el-col {
418 line-height: 18px;
419 display: flex;
420 align-items: center;
421 margin-bottom: 3px;
422 color: #B5D6DC;
423 border-radius: 2px;
424 border: 1px solid #224C7C;
425 margin: 5px;
426
427 span {
428 display: inline-block;
429 padding: 3px;
430 border-radius: 3px;
431 overflow: hidden;
432 white-space: nowrap;
433 text-align: left;
434 color: #02D9FD;
435 }
436
437 p {
438 flex: 1;
439 width: 100%;
440 padding-left: 5px;
441 line-height: 20px;
442 color: #c0c4cc;
443 cursor: not-allowed;
444 white-space: nowrap;
445 margin-right: 5px;
446 text-align: right;
447 }
448 }
449 }
450
451 .dialog_title {
452 display: flex;
453 position: relative;
454 font-size: 24px;
455 top: -11px;
456 width: 38%;
457 height: 40px;
458 margin-left: 28px;
459 justify-content: center;
460 }
461 456
462 .el-dialog__header { 457 .el-dialog__header {
463 display: flex; 458 display: flex;
464 margin-bottom: 15px; 459 margin-bottom: 10px;
465 } 460 }
466 461
467 .dialog_footer { 462 .dialog_footer {
...@@ -481,5 +476,53 @@ export default { ...@@ -481,5 +476,53 @@ export default {
481 .el-dialog__wrapper { 476 .el-dialog__wrapper {
482 overflow: hidden; 477 overflow: hidden;
483 } 478 }
479
480 .dialog-from {
481 padding-top: 0;
482
483 .el-col {
484 justify-content: space-between;
485 }
486
487 .bz {
488 height: 100%;
489 position: relative;
490 top: 3px;
491 }
492
493 /deep/.el-select {
494 padding-right: 15px;
495 }
496
497 /deep/.el-icon-circle-close {
498 display: none;
499 }
500
501 /deep/.el-input__suffix {
502 right: -25px !important;
503 top: -5px;
504 }
505
506 /deep/.el-select,
507 /deep/.el-input {
508 flex: 1;
509 width: 100%;
510 }
511
512 /deep/.el-textarea__inner {
513 border: none !important;
514 margin: 0;
515 }
516
517 &_header {
518 margin: 0 -5px !important;
519 }
520
521 &_title {
522 font-size: 18px;
523 color: #d7eaee;
524 margin: 3px 0;
525 }
526 }
484 </style> 527 </style>
485 528
......
...@@ -10,26 +10,15 @@ export default { ...@@ -10,26 +10,15 @@ export default {
10 type: String, 10 type: String,
11 default: '' 11 default: ''
12 } 12 }
13 },
14 data () {
15 return {
16 myValue: this.value,
17 }
18 },
19 methods: {
20 onJsonChange (value) {
21 },
22 onJsonSave (value) {
23 }
24 } 13 }
25 } 14 }
26 15
27 </script> 16 </script>
28 17
29 <style scoped lang="scss"> 18 <style scoped lang="scss">
30 /* jsoneditor右上角默认有一个链接,加css去掉了 */
31 /deep/.el-textarea__inner { 19 /deep/.el-textarea__inner {
32 min-height: 73vh !important; 20 height: 67vh !important;
21 border: none !important;
33 background-color: #08346F !important; 22 background-color: #08346F !important;
34 color: #ffffff; 23 color: #ffffff;
35 border: none !important; 24 border: none !important;
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
2 <div> 2 <div>
3 <i class="el-icon-s-management icon" :title="title" @click="openDialog" /> 3 <i class="el-icon-s-management icon" :title="title" @click="openDialog" />
4 <el-dialog 4 <el-dialog
5 class="configuration"
5 :key="key" 6 :key="key"
6 :title="title" 7 :title="title"
7 :inner-dialog="true" 8 :inner-dialog="true"
...@@ -9,8 +10,7 @@ ...@@ -9,8 +10,7 @@
9 width="600px" 10 width="600px"
10 :close-on-click-modal="false" 11 :close-on-click-modal="false"
11 append-to-body 12 append-to-body
12 @cancel="cancel" 13 @cancel="cancel">
13 >
14 <vue-json-editor 14 <vue-json-editor
15 id="minejson" 15 id="minejson"
16 v-model="resultInfo" 16 v-model="resultInfo"
...@@ -18,15 +18,13 @@ ...@@ -18,15 +18,13 @@
18 lang="zh" 18 lang="zh"
19 @json-change="onJsonChange" 19 @json-change="onJsonChange"
20 @json-save="onJsonSave" 20 @json-save="onJsonSave"
21 @has-error="onError" 21 @has-error="onError" />
22 />
23 <el-tooltip 22 <el-tooltip
24 content="全屏缩放" 23 content="全屏缩放"
25 effect="dark" 24 effect="dark"
26 placement="bottom" 25 placement="bottom"
27 fullscreen 26 fullscreen
28 class="fullScreen" 27 class="fullScreen">
29 >
30 <i class="el-icon-full-screen" @click="enLarge" /> 28 <i class="el-icon-full-screen" @click="enLarge" />
31 </el-tooltip> 29 </el-tooltip>
32 <template slot="footer"> 30 <template slot="footer">
...@@ -34,21 +32,19 @@ ...@@ -34,21 +32,19 @@
34 <el-button 32 <el-button
35 type="primary" 33 type="primary"
36 class="confirmBtn" 34 class="confirmBtn"
37 @click="onJsonSave" 35 @click="onJsonSave">保存</el-button>
38 >保存</el-button>
39 <el-button 36 <el-button
40 type="primary" 37 type="primary"
41 class="cancelBtn" 38 class="cancelBtn"
42 @click="cancel" 39 @click="cancel">关闭</el-button>
43 >关闭</el-button>
44 </div> 40 </div>
45 </template> 41 </template>
46 </el-dialog> 42 </el-dialog>
47 </div> 43 </div>
48 </template> 44 </template>
49 <script> 45 <script>
50 import vueJsonEditor from 'vue-json-editor' 46 import vueJsonEditor from 'vue-json-editor'
51 export default { 47 export default {
52 components: { 48 components: {
53 vueJsonEditor 49 vueJsonEditor
54 }, 50 },
...@@ -62,7 +58,7 @@ export default { ...@@ -62,7 +58,7 @@ export default {
62 default: '' 58 default: ''
63 } 59 }
64 }, 60 },
65 data() { 61 data () {
66 return { 62 return {
67 activeNames: [], 63 activeNames: [],
68 resultInfo: {}, 64 resultInfo: {},
...@@ -75,7 +71,7 @@ export default { ...@@ -75,7 +71,7 @@ export default {
75 }, 71 },
76 watch: { 72 watch: {
77 resultInfos: { 73 resultInfos: {
78 handler: function(val) { 74 handler: function (val) {
79 ++this.key 75 ++this.key
80 this.resultInfo = 76 this.resultInfo =
81 this.resultInfos === '' ? {} : JSON.parse(this.resultInfos) 77 this.resultInfos === '' ? {} : JSON.parse(this.resultInfos)
...@@ -86,17 +82,17 @@ export default { ...@@ -86,17 +82,17 @@ export default {
86 } 82 }
87 }, 83 },
88 84
89 mounted() { 85 mounted () {
90 this.resultInfo = 86 this.resultInfo =
91 this.resultInfos === '' ? {} : JSON.parse(this.resultInfos) 87 this.resultInfos === '' ? {} : JSON.parse(this.resultInfos)
92 }, 88 },
93 89
94 methods: { 90 methods: {
95 onJsonChange(value) { 91 onJsonChange (value) {
96 // 只有在格式正确的时候进入此事件 92 // 只有在格式正确的时候进入此事件
97 this.hasJsonFlag = true 93 this.hasJsonFlag = true
98 }, 94 },
99 onJsonSave() { 95 onJsonSave () {
100 const value = this.resultInfo 96 const value = this.resultInfo
101 console.log(this.resultInfo, 'resultInfo') 97 console.log(this.resultInfo, 'resultInfo')
102 if (this.hasJsonFlag === false) { 98 if (this.hasJsonFlag === false) {
...@@ -109,19 +105,19 @@ export default { ...@@ -109,19 +105,19 @@ export default {
109 return true 105 return true
110 } 106 }
111 }, 107 },
112 onError(value) { 108 onError (value) {
113 this.hasJsonFlag = false 109 this.hasJsonFlag = false
114 }, 110 },
115 openDialog() { 111 openDialog () {
116 this.dialogVisible = true 112 this.dialogVisible = true
117 }, 113 },
118 cancel() { 114 cancel () {
119 console.log(this.tmpResultInfo, 'tmpResultInfo') 115 console.log(this.tmpResultInfo, 'tmpResultInfo')
120 this.resultInfo = this.tmpResultInfo 116 this.resultInfo = this.tmpResultInfo
121 this.dialogVisible = false 117 this.dialogVisible = false
122 }, 118 },
123 // 放大 119 // 放大
124 enLarge() { 120 enLarge () {
125 const fullarea = document.getElementById('minejson') 121 const fullarea = document.getElementById('minejson')
126 if (fullarea.requestFullscreen) { 122 if (fullarea.requestFullscreen) {
127 fullarea.requestFullscreen() 123 fullarea.requestFullscreen()
...@@ -135,41 +131,57 @@ export default { ...@@ -135,41 +131,57 @@ export default {
135 this.isEnlarge = true 131 this.isEnlarge = true
136 } 132 }
137 } 133 }
138 } 134 }
139 </script> 135 </script>
140 136
141 <style scoped lang="scss"> 137 <style scoped lang="scss">
142 /* jsoneditor右上角默认有一个链接,加css去掉了 */ 138 /* jsoneditor右上角默认有一个链接,加css去掉了 */
143 .icon { 139 .icon {
144 color: #349af3; 140 color: #349af3;
145 } 141 }
146 /deep/ .jsoneditor-vue { 142 /deep/ .jsoneditor-vue {
147 height: 100%; 143 height: 100%;
148 } 144 }
149 .fullScreen { 145 .fullScreen {
150 position: absolute; 146 position: absolute;
151 right: 5%; 147 right: 5%;
152 top: 22%; 148 top: 20%;
153 cursor: pointer; 149 cursor: pointer;
154 color: #fff; 150 color: #fff;
155 } 151 }
156 /deep/ .jsoneditor-modes { 152 /deep/ .jsoneditor-modes {
157 display: none !important; 153 display: none !important;
158 } 154 }
159 .jsoneditor-poweredBy { 155 /deep/.jsoneditor-poweredBy {
160 display: none !important; 156 display: none !important;
161 } 157 }
162 .jsoneditor-menu { 158 .jsoneditor-menu {
163 background-color: #9c9e9f !important; 159 background-color: #9c9e9f !important;
164 border-bottom: 1px solid #9c9e9f !important; 160 border-bottom: 1px solid #9c9e9f !important;
165 } 161 }
166 .jsoneditor { 162 .jsoneditor {
167 border: 1px solid #9c9e9f !important; 163 border: 1px solid #9c9e9f !important;
168 } 164 }
169 .el-collapse { 165 .el-collapse {
170 border: 0; 166 border: 0;
171 } 167 }
172 .el-collapse-item__header { 168 .el-collapse-item__header {
173 height: 44px; 169 height: 44px;
174 } 170 }
171 .configuration {
172 color: white;
173 margin-top: 6vh;
174 /deep/.el-dialog {
175 background-color: #031a46 !important;
176 border: 1px solid #5f82c7;
177 .el-dialog__header {
178 .el-dialog__title {
179 color: white !important;
180 }
181 .el-dialog__headerbtn {
182 top: 20px;
183 }
184 }
185 }
186 }
175 </style> 187 </style>
......
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
10 10
11 <template> 11 <template>
12 <div :class="['lb-table', customClass]"> 12 <div :class="['lb-table', customClass]">
13 <el-table v-if="!heightNumSetting" class="table-fixed" :row-style="{ height: '50px' }" ref="elTable" 13 <el-table v-if="!heightNumSetting" class="table-fixed" :row-style="{ height: '50px' }" ref="elTable" :border='border'
14 :border='border' :row-class-name="tableRowClassName" :show-header='showHeader' @row-click="singleElection" 14 :row-class-name="tableRowClassName" :show-header='showHeader' @row-click="singleElection" v-bind="$attrs"
15 v-bind="$attrs" :height="tableHeight" v-on="$listeners" :data="data" style="width: 100%" 15 :height="tableHeight" v-on="$listeners" :data="data" style="width: 100%"
16 :span-method="this.merge ? this.mergeMethod : this.spanMethod"> 16 :span-method="this.merge ? this.mergeMethod : this.spanMethod">
17 <el-table-column width="45" align="center" v-if="isRadio"> 17 <el-table-column width="45" align="center" v-if="isRadio">
18 <template slot-scope="scope"> 18 <template slot-scope="scope">
...@@ -24,9 +24,10 @@ ...@@ -24,9 +24,10 @@
24 </lb-column> 24 </lb-column>
25 </el-table> 25 </el-table>
26 26
27 <el-table v-else ref="elTable" class="table-fixed" :row-style="{ height: '50px' }" :border='border' 27 <el-table v-else ref="elTable" id="heightNumSetting" class="table-fixed" :row-style="{ height: '50px' }"
28 :row-class-name="tableRowClassName" :show-header='showHeader' v-bind="$attrs" :max-height="maxHeight" 28 :border='border' :row-class-name="tableRowClassName" :show-header='showHeader' v-bind="$attrs"
29 v-on="$listeners" :data="data" style="width: 100%" :span-method="this.merge ? this.mergeMethod : this.spanMethod"> 29 :max-height="maxHeight" :height="tableHeight" v-on="$listeners" :data="data" style="width: 100%"
30 :span-method="this.merge ? this.mergeMethod : this.spanMethod">
30 31
31 <el-table-column width="45" align="center" v-if="isRadio"> 32 <el-table-column width="45" align="center" v-if="isRadio">
32 <template slot-scope="scope"> 33 <template slot-scope="scope">
...@@ -80,6 +81,10 @@ export default { ...@@ -80,6 +81,10 @@ export default {
80 type: Number, 81 type: Number,
81 default: 500 82 default: 500
82 }, 83 },
84 minHeight: {
85 type: Number,
86 default: undefined
87 },
83 heightNumSetting: { 88 heightNumSetting: {
84 type: Boolean, 89 type: Boolean,
85 default: false, 90 default: false,
...@@ -139,6 +144,11 @@ export default { ...@@ -139,6 +144,11 @@ export default {
139 } else { 144 } else {
140 _this.tableHeight = window.innerHeight - _this.heightNum 145 _this.tableHeight = window.innerHeight - _this.heightNum
141 } 146 }
147 } else {
148 this.tableHeight = this.heightNum
149 this.$nextTick(() => {
150 this.minHeight && (document.getElementById('heightNumSetting').style.minHeight = this.minHeight + 'px')
151 })
142 } 152 }
143 }, 153 },
144 calcHeightx (value, wappered = true) { 154 calcHeightx (value, wappered = true) {
......
1 /*
2 * FileName: lb-column.vue
3 * Remark: element-column
4 * Project: lb-element-table
5 * Author: 任超
6 * File Created: Tuesday, 19th March 2019 9:58:23 am
7 * Last Modified: Tuesday, 19th March 2019 10:14:42 am
8 * Modified By: 任超
9 */
10
11 <template>
12 <el-table-column v-bind="$attrs" v-on="$listeners" :prop="column.prop" :label="column.label" :type="column.type"
13 :index="column.index" :column-key="column.columnKey" :width="column.width" :min-width="column.minWidth"
14 :fixed="column.fixed" :scoped-slot="column.renderHeader" :sortable="column.sortable || false"
15 :sort-method="column.sortMethod" :sort-by="column.sortBy" :sort-orders="column.sortOrders"
16 :resizable="column.resizable || true" :formatter="column.formatter"
17 :show-overflow-tooltip="column.showOverflowTooltip || false" :align="column.align || align || 'center'"
18 :header-align="column.headerAlign || headerAlign || column.align || align || 'center'"
19 :class-name="column.className" :label-class-name="column.labelClassName" :selectable="column.selectable"
20 :reserve-selection="column.reserveSelection || false" :filters="column.filters"
21 :filter-placement="column.filterPlacement" :filter-multiple="column.filterMultiple"
22 :filter-method="column.filterMethod" :filtered-value="column.filteredValue">
23 <template slot="header" slot-scope="scope">
24 <lb-render v-if="column.renderHeader" :scope="scope" :render="column.renderHeader">
25 </lb-render>
26 <span v-else>{{ scope.column.label }}</span>
27 </template>
28
29 <template slot-scope="scope">
30 <lb-render :scope="scope" :render="column.render">
31 </lb-render>
32 </template>
33
34 <template v-if="column.children">
35 <lb-column v-for="(col, index) in column.children" :key="index" :column="col">
36 </lb-column>
37 </template>
38 </el-table-column>
39 </template>
40
41 <script>
42 import LbRender from './LbRender'
43 import forced from './forced.js'
44 export default {
45 name: 'LbColumn',
46 props: {
47 column: Object,
48 headerAlign: String,
49 align: String
50 },
51 components: {
52 LbRender
53 },
54 methods: {
55 setColumn () {
56 if (this.column.type) {
57 this.column.renderHeader = forced[this.column.type].renderHeader
58 this.column.render = this.column.render || forced[this.column.type].renderCell
59 }
60 if (this.column.formatter) {
61 this.column.render = (h, scope) => {
62 return <span>{scope.column.formatter(scope.row, scope.column, scope.row, scope.$index)}</span>
63 }
64 }
65 if (!this.column.render) {
66 this.column.render = (h, scope) => {
67 return <span>{scope.row[scope.column.property]}</span>
68 }
69 }
70 }
71 },
72 watch: {
73 column: {
74 handler () {
75 this.setColumn()
76 },
77 immediate: true
78 }
79 }
80 }
81 </script>
1 /*
2 * FileName: lb-render.vue
3 * Remark: 自定义render
4 * Project: lb-element-table
5 * Author: 任超
6 * File Created: Tuesday, 19th March 2019 10:15:30 am
7 * Last Modified: Tuesday, 19th March 2019 10:15:32 am
8 * Modified By: 任超
9 */
10 <script>
11 export default {
12 name: 'LbRender',
13 functional: true,
14 props: {
15 scope: Object,
16 render: Function
17 },
18 render: (h, ctx) => {
19 return ctx.props.render ? ctx.props.render(h, ctx.props.scope) : ''
20 }
21 }
22 </script>
1 export default {
2 selection: {
3 renderHeader: (h, { store }) => {
4 return (
5 <el-checkbox
6 disabled={store.states.data && store.states.data.length === 0}
7 indeterminate={
8 store.states.selection.length > 0 && !store.states.isAllSelected
9 }
10 nativeOn-click={store.toggleAllSelection}
11 value={store.states.isAllSelected}
12 />
13 )
14 },
15 renderCell: (h, { row, column, store, $index }) => {
16 return (
17 <el-checkbox
18 nativeOn-click={event => event.stopPropagation()}
19 value={store.isSelected(row)}
20 disabled={
21 column.selectable
22 ? !column.selectable.call(null, row, $index)
23 : false
24 }
25 on-input={() => {
26 store.commit('rowSelectedChanged', row)
27 }}
28 />
29 )
30 },
31 sortable: false,
32 resizable: false
33 },
34 index: {
35 renderHeader: (h, scope) => {
36 return <span>{scope.column.label || '#'}</span>
37 },
38 renderCell: (h, { $index, column }) => {
39 let i = $index + 1
40 const index = column.index
41
42 if (typeof index === 'number') {
43 i = $index + index
44 } else if (typeof index === 'function') {
45 i = index($index)
46 }
47
48 return <div>{i}</div>
49 },
50 sortable: false
51 },
52 expand: {
53 renderHeader: (h, scope) => {
54 return <span>{scope.column.label || ''}</span>
55 },
56 renderCell: (h, { row, store }, proxy) => {
57 const expanded = store.states.expandRows.indexOf(row) > -1
58 return (
59 <div
60 class={
61 'el-table__expand-icon ' +
62 (expanded ? 'el-table__expand-icon--expanded' : '')
63 }
64 on-click={e => proxy.handleExpandClick(row, e)}
65 >
66 <i class='el-icon el-icon-arrow-right' />
67 </div>
68 )
69 },
70 sortable: false,
71 resizable: false,
72 className: 'el-table__expand-column'
73 }
74 }
1 /*
2 * FileName: lb-table.vue
3 * Remark: element table
4 * Project: lb-element-table
5 * Author: 任超
6 * File Created: Tuesday, 19th March 2019 9:55:27 am
7 * Last Modified: Tuesday, 19th March 2019 9:55:34 am
8 * Modified By: 任超
9 */
10
11 <template>
12 <div :class="['lb-table', customClass]">
13 <el-table v-if="!heightNumSetting" class="table-fixed" :row-style="{ height: '50px' }" ref="elTable" :border='border'
14 :row-class-name="tableRowClassName" :show-header='showHeader' @row-click="singleElection" v-bind="$attrs"
15 :height="tableHeight" v-on="$listeners" :data="data" style="width: 100%"
16 :span-method="this.merge ? this.mergeMethod : this.spanMethod">
17 <el-table-column width="45" align="center" v-if="isRadio">
18 <template slot-scope="scope">
19 <el-radio v-model="selected" :label="scope.$index"></el-radio>
20 </template>
21 </el-table-column>
22
23 <el-table-column :label="downTitle" align="center">
24 <lb-column v-bind="$attrs" v-for="(item, index) in column" :key="index" :column="item">
25 </lb-column>
26 </el-table-column>
27 </el-table>
28 <br>
29 <el-pagination class="lb-table-pagination" v-if="pagination" v-bind="$attrs" v-on="$listeners" background
30 layout="total, prev, pager, next" @current-change="paginationCurrentChange"
31 :style="{ 'margin-top': paginationTop, 'text-align': paginationAlign }">
32 </el-pagination>
33 </div>
34 </template>
35
36 <script>
37 import LbColumn from './LbColumn'
38 export default {
39 props: {
40 column: Array,
41 data: Array,
42 spanMethod: Function,
43 pagination: {
44 type: Boolean,
45 default: true,
46 },
47 downExcel: {
48 type: Boolean,
49 default: false,
50 },
51 downTitle: {
52 type: String,
53 default: '标题'
54 },
55 isRadio: {
56 type: Boolean,
57 default: false,
58 },
59 border: {
60 type: Boolean,
61 default: false,
62 },
63 showHeader: {
64 type: Boolean,
65 default: true,
66 },
67 paginationTop: {
68 type: String,
69 default: '0',
70 },
71 heightNum: {
72 type: Number,
73 default: 355,
74 },
75 maxHeight: {
76 type: Number,
77 default: 500
78 },
79 heightNumSetting: {
80 type: Boolean,
81 default: false,
82 },
83 customClass: {
84 type: String,
85 default: '',
86 },
87 paginationAlign: {
88 type: String,
89 default: 'left',
90 },
91 merge: Array,
92 },
93 components: {
94 LbColumn,
95 },
96 data () {
97 return {
98 tableHeight: 'auto',
99 mergeLine: {},
100 mergeIndex: {},
101 selected: ''
102 }
103 },
104 created () {
105 this.getMergeArr(this.data, this.merge)
106 this.getHeight()
107 },
108 computed: {
109 dataLength () {
110 return [] || this.data.length
111 },
112 },
113 methods: {
114 // 单选
115 singleElection (row) {
116 this.selected = this.data.indexOf(row);
117 },
118
119 tableRowClassName ({ row, rowIndex }) {
120 if (rowIndex % 2 === 1) {
121 return 'interlaced';
122 }
123 },
124 getHeight () {
125 if (!this.heightNumSetting) {
126 let _this = this
127 if (this.heightNum) {
128 _this.$nextTick(() => {
129
130 window.addEventListener('resize', () => {
131 _this.tableHeight = _this.calcHeightx(230)
132 });
133 _this.tableHeight = _this.calcHeightx(230)
134 })
135 } else {
136 _this.tableHeight = window.innerHeight - _this.heightNum
137 }
138 }
139 },
140 calcHeightx (value, wappered = true) {
141 //项目自定义的公共header部分的高度,可忽略
142 let header = document.querySelector(".from-clues-header").offsetHeight;
143 //value为动态计算table界面高度时,减去的其他空白部分,需自行在调试找到临界值,剩下的就是table表格的高度(包含header+body部分)
144 value = value == undefined ? 100 : value;
145 let res = window.innerHeight - parseInt(header) - value;
146 if (wappered) {
147 //通过原生方法,获取dom节点的高度------获取element-ui table表格body的元素
148 let wapper = window.document.getElementsByClassName('el-table__body-wrapper');
149 //通过原生方法,获取dom节点的高度------获取element-ui table表格header的元素
150 let header = window.document.getElementsByClassName('el-table__header-wrapper');
151 //必须加延时,要不然赋不上去值
152 setTimeout(() => {
153 //通过上边计算得到的table高度的value值,减去table表格的header高度,剩下的通过dom节点直接强行赋给table表格的body
154 wapper[0].style.height = (value - header[0].clientHeight)
155 }, 100)
156 }
157 return res;
158 },
159 clearSelection () {
160 this.$refs.elTable.clearSelection()
161 },
162 toggleRowSelection (row, selected) {
163 this.$refs.elTable.toggleRowSelection(row, selected)
164 },
165 toggleAllSelection () {
166 this.$refs.elTable.toggleAllSelection()
167 },
168 toggleRowExpansion (row, expanded) {
169 this.$refs.elTable.toggleRowExpansion(row, expanded)
170 },
171 setCurrentRow (row) {
172 this.$refs.elTable.setCurrentRow(row)
173 },
174 clearSort () {
175 this.$refs.elTable.clearSort()
176 },
177 clearFilter (columnKey) {
178 this.$refs.elTable.clearFilter(columnKey)
179 },
180 doLayout () {
181 this.$refs.elTable.doLayout()
182 },
183 sort (prop, order) {
184 this.$refs.elTable.sort(prop, order)
185 },
186 paginationCurrentChange (val) {
187 this.$emit('p-current-change', val)
188 },
189 getMergeArr (tableData, merge) {
190 if (!merge) return
191 this.mergeLine = {}
192 this.mergeIndex = {}
193 merge.forEach((item, k) => {
194 tableData.forEach((data, i) => {
195 if (i === 0) {
196 this.mergeIndex[item] = this.mergeIndex[item] || []
197 this.mergeIndex[item].push(1)
198 this.mergeLine[item] = 0
199 } else {
200 if (data[item] === tableData[i - 1][item]) {
201 this.mergeIndex[item][this.mergeLine[item]] += 1
202 this.mergeIndex[item].push(0)
203 } else {
204 this.mergeIndex[item].push(1)
205 this.mergeLine[item] = i
206 }
207 }
208 })
209 })
210 },
211 mergeMethod ({ row, column, rowIndex, columnIndex }) {
212 const index = this.merge.indexOf(column.property)
213 if (index > -1) {
214 const _row = this.mergeIndex[this.merge[index]][rowIndex]
215 const _col = _row > 0 ? 1 : 0
216 return {
217 rowspan: _row,
218 colspan: _col,
219 }
220 }
221 },
222 },
223 watch: {
224 merge () {
225 this.getMergeArr(this.data, this.merge)
226 },
227 dataLength () {
228 this.getMergeArr(this.data, this.merge)
229 }
230 },
231 }
232 </script>
233 <style rel="stylesheet/scss" scoped lang="scss">
234 .lb-table {
235 margin-top: 1px;
236
237 .interlaced {
238 background: #fafcff;
239 border: 1px solid #ebf2fa;
240 }
241 }
242
243 /deep/.el-table .cell {
244 padding-left: 3px;
245 padding-right: 3px;
246 }
247
248 /deep/.el-radio__label {
249 display: none;
250 }
251 </style>
1 ## 这是对于element-table 进行的二次封装
2
3 ### 文档地址
4
5 <!-- table 已经全局注册不需要每个页面单独注册 -->
6
7 [Windows/Mac/Linux 全平台客户端](https://github.liubing.me/lb-element-table/zh/guide/)

1.81 MB | W: | H:

1.74 MB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
2 <div class="navbar-con"> 2 <div class="navbar-con">
3 <div class="navbar"> 3 <div class="navbar">
4 <div class="title"> 4 <div class="title">
5 {{ logoName[0].DNAME }} 5 {{ logoName[0] && logoName[0].DNAME }}
6 </div> 6 </div>
7 <div class="user"> 7 <div class="user">
8 欢迎进入系统 {{ userInfo.name }} 8 欢迎进入系统 {{ userName }}
9 <span @click="onCancel"> 9 <span @click="onCancel">
10 <svg-icon icon-class="close" class="closeStyle" />退出系统</span> 10 <svg-icon icon-class="close" class="closeStyle" />退出系统</span>
11 </div> 11 </div>
...@@ -16,24 +16,27 @@ ...@@ -16,24 +16,27 @@
16 <sidebarRight /> 16 <sidebarRight />
17 </div> 17 </div>
18 </div> 18 </div>
19 </div> 19 </div>
20 </template> 20 </template>
21 <script> 21 <script>
22 import sidebarLeft from "./Sidebar/sidebarLeft"; 22 import sidebarLeft from "./Sidebar/sidebarLeft";
23 import sidebarRight from "./Sidebar/sidebarRight"; 23 import sidebarRight from "./Sidebar/sidebarRight";
24 import { logout } from "@/api/login.js"; 24 import { logout } from "@/api/login.js";
25 import { mapGetters } from "vuex"; 25 import { mapGetters } from "vuex";
26 export default { 26 export default {
27 components: { 27 components: {
28 sidebarLeft, 28 sidebarLeft,
29 sidebarRight, 29 sidebarRight,
30 }, 30 },
31 computed: { 31 computed: {
32 ...mapGetters(["sidebar", "dicData", "userInfo"]), 32 ...mapGetters(["sidebar", "dicData", "userInfo"]),
33 logoName: function () { 33 logoName () {
34 return this.dicData['sysCode'] && this.dicData['sysCode'].filter(item => 34 return this.dicData['sysCode'] && this.dicData['sysCode'].filter(item =>
35 item.DCODE == "systemTitle" 35 item.DCODE == "systemTitle"
36 ) 36 )
37 },
38 userName () {
39 return this.userInfo ? this.userInfo.name : ""
37 } 40 }
38 }, 41 },
39 methods: { 42 methods: {
...@@ -43,7 +46,7 @@ export default { ...@@ -43,7 +46,7 @@ export default {
43 sessionStorage.removeItem("token"); 46 sessionStorage.removeItem("token");
44 this.$store.dispatch("user/resetState"); 47 this.$store.dispatch("user/resetState");
45 this.$router.replace({ 48 this.$router.replace({
46 path: "/login", 49 path: "/jg",
47 query: { 50 query: {
48 redirect: this.$route.fullPath, 51 redirect: this.$route.fullPath,
49 }, 52 },
...@@ -54,15 +57,15 @@ export default { ...@@ -54,15 +57,15 @@ export default {
54 }); 57 });
55 }, 58 },
56 }, 59 },
57 }; 60 };
58 </script> 61 </script>
59 <style lang="scss" scoped> 62 <style lang="scss" scoped>
60 /deep/.el-menu--horizontal { 63 /deep/.el-menu--horizontal {
61 display: flex; 64 display: flex;
62 align-items: center; 65 align-items: center;
63 } 66 }
64 67
65 .menubg { 68 .menubg {
66 height: 34px; 69 height: 34px;
67 width: 130px; 70 width: 130px;
68 text-align: center; 71 text-align: center;
...@@ -70,73 +73,73 @@ export default { ...@@ -70,73 +73,73 @@ export default {
70 margin-right: 20px; 73 margin-right: 20px;
71 background: url("~@/image/navbar.png") no-repeat; 74 background: url("~@/image/navbar.png") no-repeat;
72 background-size: 100% 100%; 75 background-size: 100% 100%;
73 } 76 }
74 77
75 /deep/.el-menu-item { 78 /deep/.el-menu-item {
76 @extend .menubg; 79 @extend .menubg;
77 } 80 }
78 81
79 /deep/.el-submenu { 82 /deep/.el-submenu {
80 @extend .menubg; 83 @extend .menubg;
81 } 84 }
82 85
83 /deep/.el-submenu__title { 86 /deep/.el-submenu__title {
84 height: 34px; 87 height: 34px;
85 color: #ffffff; 88 color: #ffffff;
86 } 89 }
87 90
88 /deep/.el-submenu__title span { 91 /deep/.el-submenu__title span {
89 font-size: 14px; 92 font-size: 14px;
90 } 93 }
91 94
92 .sidebarLeft { 95 .sidebarLeft {
93 position: relative; 96 position: relative;
94 top: 13px; 97 top: 13px;
95 width: 30%; 98 width: 30%;
96 } 99 }
97 100
98 /deep/.el-menu { 101 /deep/.el-menu {
99 display: flex; 102 display: flex;
100 justify-content: space-between; 103 justify-content: space-between;
101 } 104 }
102 105
103 /deep/.el-menu-item { 106 /deep/.el-menu-item {
104 flex: 1; 107 flex: 1;
105 width: 100%; 108 width: 100%;
106 } 109 }
107 110
108 .sidebarRight { 111 .sidebarRight {
109 position: relative; 112 position: relative;
110 top: 13px; 113 top: 13px;
111 width: 30%; 114 width: 30%;
112 padding-left: 20px; 115 padding-left: 20px;
113 } 116 }
114 117
115 // 导航选中背景色 118 // 导航选中背景色
116 .xuanzhong { 119 .xuanzhong {
117 background: url("~@/image/selNavbar.png") no-repeat; 120 background: url("~@/image/selNavbar.png") no-repeat;
118 background-size: 100% 100%; 121 background-size: 100% 100%;
119 color: #ffffff !important; 122 color: #ffffff !important;
120 font-weight: 700; 123 font-weight: 700;
121 } 124 }
122 125
123 /deep/.el-menu-item:hover { 126 /deep/.el-menu-item:hover {
124 @extend .xuanzhong; 127 @extend .xuanzhong;
125 } 128 }
126 129
127 /deep/.el-submenu__title:hover { 130 /deep/.el-submenu__title:hover {
128 @extend .xuanzhong; 131 @extend .xuanzhong;
129 } 132 }
130 133
131 /deep/.el-menu--horizontal .el-menu-item:not(.is-disabled):focus { 134 /deep/.el-menu--horizontal .el-menu-item:not(.is-disabled):focus {
132 @extend .xuanzhong; 135 @extend .xuanzhong;
133 } 136 }
134 137
135 /deep/.el-menu-item.is-active { 138 /deep/.el-menu-item.is-active {
136 @extend .xuanzhong; 139 @extend .xuanzhong;
137 } 140 }
138 141
139 .navbar { 142 .navbar {
140 height: $headerHeight; 143 height: $headerHeight;
141 overflow: hidden; 144 overflow: hidden;
142 position: relative; 145 position: relative;
...@@ -255,5 +258,5 @@ export default { ...@@ -255,5 +258,5 @@ export default {
255 } 258 }
256 } 259 }
257 } 260 }
258 } 261 }
259 </style> 262 </style>
......
1 <template> 1 <template>
2 <el-menu router :default-active="activeMenu" mode="horizontal"> 2 <el-menu router :default-active="activeMenu" mode="horizontal">
3 <!-- 权限菜单 --> 3 <!-- 权限菜单 -->
4 <sidebar-item v-for="route in permission_routes.slice(2, 5)" :key="route.path" :item="route" 4 <sidebar-item v-for="route in permission_routes.slice(3, 6)" :key="route.path" :item="route"
5 :base-path="route.path" /> 5 :base-path="route.path" />
6 <!-- 菜单全部展示 --> 6 <!-- 菜单全部展示 -->
7 <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> --> 7 <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> -->
...@@ -9,16 +9,18 @@ ...@@ -9,16 +9,18 @@
9 </template> 9 </template>
10 10
11 <script> 11 <script>
12 import { mapGetters } from 'vuex' 12 import { mapGetters } from 'vuex'
13 import Logo from './Logo' 13 import Logo from './Logo'
14 import SidebarItem from './SidebarItem' 14 import SidebarItem from './SidebarItem'
15 import variables from '@/styles/variables.scss' 15 import variables from '@/styles/variables.scss'
16 import { asyncRoutes } from '@/router' 16 import { asyncRoutes } from '@/router'
17 export default { 17 export default {
18 components: { SidebarItem, Logo }, 18 components: { SidebarItem, Logo },
19 computed: { 19 computed: {
20 ...mapGetters(['permission_routes', 'sidebar']), 20 ...mapGetters(['permission_routes', 'sidebar']),
21
21 activeMenu () { 22 activeMenu () {
23
22 const route = this.$route 24 const route = this.$route
23 const { meta, path } = route 25 const { meta, path } = route
24 if (meta.activeMenu) { 26 if (meta.activeMenu) {
...@@ -32,12 +34,15 @@ export default { ...@@ -32,12 +34,15 @@ export default {
32 asyncRoutes () { 34 asyncRoutes () {
33 return asyncRoutes.slice(0, 3) 35 return asyncRoutes.slice(0, 3)
34 } 36 }
37 },
38 mounted () {
39 console.log("permission_routes", this.permission_routes);
40 }
35 } 41 }
36 }
37 </script> 42 </script>
38 <style scoped lang="scss"> 43 <style scoped lang="scss">
39 .el-menu--horizontal { 44 .el-menu--horizontal {
40 display: flex; 45 display: flex;
41 background: none !important; 46 background: none !important;
42 } 47 }
43 </style> 48 </style>
......
1 <!--
2 * @Author: xiaomiao 1158771342@qq.com
3 * @Date: 2023-01-10 09:03:06
4 * @LastEditors: xiaomiao 1158771342@qq.com
5 * @LastEditTime: 2023-03-08 10:45:43
6 * @FilePath: \监管系统\js-web-jianguan\src\layout\components\Sidebar\sidebarRight.vue
7 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8 -->
1 <template> 9 <template>
2 <el-menu router :default-active="activeMenu" mode="horizontal"> 10 <el-menu router :default-active="activeMenu" mode="horizontal">
3 <!-- 权限菜单 --> 11 <!-- 权限菜单 -->
4 <sidebar-item v-for="route in permission_routes.slice(5, 8)" :key="route.path" :item="route" 12 <sidebar-item v-for="route in permission_routes.slice(6, 9)" :key="route.path" :item="route"
5 :base-path="route.path" /> 13 :base-path="route.path" />
6 <!-- 菜单全部展示 --> 14 <!-- 菜单全部展示 -->
7 <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> --> 15 <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> -->
...@@ -9,12 +17,12 @@ ...@@ -9,12 +17,12 @@
9 </template> 17 </template>
10 18
11 <script> 19 <script>
12 import { mapGetters } from 'vuex' 20 import { mapGetters } from 'vuex'
13 import Logo from './Logo' 21 import Logo from './Logo'
14 import SidebarItem from './SidebarItem' 22 import SidebarItem from './SidebarItem'
15 import variables from '@/styles/variables.scss' 23 import variables from '@/styles/variables.scss'
16 import { asyncRoutes } from '@/router' 24 import { asyncRoutes } from '@/router'
17 export default { 25 export default {
18 components: { SidebarItem, Logo }, 26 components: { SidebarItem, Logo },
19 computed: { 27 computed: {
20 ...mapGetters(['permission_routes', 'sidebar']), 28 ...mapGetters(['permission_routes', 'sidebar']),
...@@ -33,35 +41,35 @@ export default { ...@@ -33,35 +41,35 @@ export default {
33 return asyncRoutes.slice(3, 6) 41 return asyncRoutes.slice(3, 6)
34 } 42 }
35 } 43 }
36 } 44 }
37 </script> 45 </script>
38 <style scoped lang="scss"> 46 <style scoped lang="scss">
39 .el-menu--horizontal { 47 .el-menu--horizontal {
40 display: flex; 48 display: flex;
41 background: none !important; 49 background: none !important;
42 } 50 }
43 51
44 /deep/.el-menu-item:hover { 52 /deep/.el-menu-item:hover {
45 background: none; 53 background: none;
46 font-weight: 700; 54 font-weight: 700;
47 color: #fff !important; 55 color: #fff !important;
48 } 56 }
49 57
50 /deep/.el-submenu__title { 58 /deep/.el-submenu__title {
51 color: #fff; 59 color: #fff;
52 font-size: 18px; 60 font-size: 18px;
53 } 61 }
54 62
55 /deep/.el-submenu__title:hover { 63 /deep/.el-submenu__title:hover {
56 background: none; 64 background: none;
57 font-weight: 700; 65 font-weight: 700;
58 font-size: 20px; 66 font-size: 20px;
59 } 67 }
60 68
61 /deep/.el-menu--horizontal .el-menu-item:not(.is-disabled):focus { 69 /deep/.el-menu--horizontal .el-menu-item:not(.is-disabled):focus {
62 background: none; 70 background: none;
63 color: #fff; 71 color: #fff;
64 font-size: 20px; 72 font-size: 20px;
65 font-weight: 700 !important; 73 font-weight: 700 !important;
66 } 74 }
67 </style> 75 </style>
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-10 14:59:43
5 -->
1 <template> 6 <template>
2 <div class="app-wrapper"> 7 <div class="app-wrapper jgWrapper">
3 <navbar /> 8 <navbar />
4 <div class="appMain"> 9 <div class="appMain">
5 <app-main /> 10 <app-main />
...@@ -7,10 +12,10 @@ ...@@ -7,10 +12,10 @@
7 </div> 12 </div>
8 </template> 13 </template>
9 <script> 14 <script>
10 import { AppMain, Navbar, Sidebar, TagsView } from './components' 15 import { AppMain, Navbar, Sidebar, TagsView } from './components'
11 import ResizeMixin from './mixin/ResizeHandler' 16 import ResizeMixin from './mixin/ResizeHandler'
12 import { mapState } from 'vuex' 17 import { mapState } from 'vuex'
13 export default { 18 export default {
14 name: 'Layout', 19 name: 'Layout',
15 components: { 20 components: {
16 AppMain, 21 AppMain,
...@@ -18,6 +23,10 @@ export default { ...@@ -18,6 +23,10 @@ export default {
18 Sidebar, 23 Sidebar,
19 TagsView 24 TagsView
20 }, 25 },
26 created () {
27 this.$store.dispatch("products/setData", "BDCJGPT");
28 console.log("ZOULEJG");
29 },
21 mixins: [ResizeMixin], 30 mixins: [ResizeMixin],
22 computed: { 31 computed: {
23 ...mapState({ 32 ...mapState({
...@@ -26,18 +35,21 @@ export default { ...@@ -26,18 +35,21 @@ export default {
26 fixedHeader: state => state.settings.fixedHeader 35 fixedHeader: state => state.settings.fixedHeader
27 }) 36 })
28 } 37 }
29 } 38 }
30 </script> 39 </script>
40 <style lang="scss">
41 @import "~@/styles/jgSidebar.scss";
42 </style>
31 <style lang="scss" scoped> 43 <style lang="scss" scoped>
32 @import "~@/styles/mixin.scss"; 44 @import "~@/styles/mixin.scss";
33 45
34 .app-wrapper { 46 .app-wrapper {
35 @include clearfix; 47 @include clearfix;
36 position: relative; 48 position: relative;
37 height: 100%; 49 height: 100%;
38 width: 100%; 50 width: 100%;
39 min-width: 1280px; 51 min-width: 1280px;
40 background: url('~@/image/bg.png') no-repeat; 52 background: url("~@/image/bg.png") no-repeat;
41 background-size: 100% 100%; 53 background-size: 100% 100%;
42 padding: 12px; 54 padding: 12px;
43 box-sizing: border-box; 55 box-sizing: border-box;
...@@ -46,15 +58,15 @@ export default { ...@@ -46,15 +58,15 @@ export default {
46 position: fixed; 58 position: fixed;
47 top: 0; 59 top: 0;
48 } 60 }
49 } 61 }
50 62
51 .appMain { 63 .appMain {
52 min-width: 1290px; 64 // min-width: 1280px;
53 height: calc(100vh - 101px) !important; 65 height: calc(100vh - 101px) !important;
54 box-sizing: border-box; 66 box-sizing: border-box;
55 67
56 .app-main { 68 .app-main {
57 height: 100%; 69 height: 100%;
58 } 70 }
59 } 71 }
60 </style> 72 </style>
......
...@@ -22,6 +22,6 @@ export default { ...@@ -22,6 +22,6 @@ export default {
22 box-sizing: border-box; 22 box-sizing: border-box;
23 flex: 1; 23 flex: 1;
24 width: 100%; 24 width: 100%;
25 margin-right: 15px; 25 // background-color: #ffffff;
26 } 26 }
27 </style> 27 </style>
......
...@@ -4,11 +4,7 @@ ...@@ -4,11 +4,7 @@
4 <div class="logo"> 4 <div class="logo">
5 <img :src="require('@/image/logo.png')" alt="" /> 5 <img :src="require('@/image/logo.png')" alt="" />
6 </div> 6 </div>
7 <div class="backdrop">
8 <Breadcrumb />
9 </div>
10 <div class="right-menu"> 7 <div class="right-menu">
11 <div class="dataView d-center pointer" @click="handleDataView">大屏展示</div>
12 <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover" @command="handleCommand"> 8 <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover" @command="handleCommand">
13 <div class="avatar-wrapper"> 9 <div class="avatar-wrapper">
14 <span style="padding-right:10px">{{ name }}</span> 10 <span style="padding-right:10px">{{ name }}</span>
...@@ -67,15 +63,6 @@ export default { ...@@ -67,15 +63,6 @@ export default {
67 } 63 }
68 } 64 }
69 65
70 .dataView {
71 color: #fff;
72 width: 120px;
73 height: 32px;
74 background: url('../../image/dp.png');
75 background-size: cover;
76 margin-right: 20px;
77 }
78
79 .NoticeBar { 66 .NoticeBar {
80 position: absolute; 67 position: absolute;
81 bottom: 0; 68 bottom: 0;
...@@ -83,7 +70,7 @@ export default { ...@@ -83,7 +70,7 @@ export default {
83 70
84 .el-dropdown-menu { 71 .el-dropdown-menu {
85 padding: 0 !important; 72 padding: 0 !important;
86 border: 1px solid #EBEEF5; 73 border: 1px solid #ebeef5;
87 box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12); 74 box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
88 border-radius: 4px 0 0 4px 4px; 75 border-radius: 4px 0 0 4px 4px;
89 76
...@@ -93,14 +80,14 @@ export default { ...@@ -93,14 +80,14 @@ export default {
93 font-size: 14px; 80 font-size: 14px;
94 font-family: PingFangSC-Regular, PingFang SC; 81 font-family: PingFangSC-Regular, PingFang SC;
95 font-weight: 400; 82 font-weight: 400;
96 color: #4A4A4A; 83 color: #4a4a4a;
97 width: 140px; 84 width: 140px;
98 height: 36px; 85 height: 36px;
99 line-height: 36px; 86 line-height: 36px;
100 } 87 }
101 88
102 .el-dropdown-menu__item:nth-child(6) { 89 .el-dropdown-menu__item:nth-child(6) {
103 border-top: 1px solid #EBEEF5; 90 border-top: 1px solid #ebeef5;
104 } 91 }
105 92
106 .popper__arrow { 93 .popper__arrow {
...@@ -111,8 +98,8 @@ export default { ...@@ -111,8 +98,8 @@ export default {
111 98
112 .el-dropdown-menu__item:not(.is-disabled):hover, 99 .el-dropdown-menu__item:not(.is-disabled):hover,
113 .el-dropdown-menu__item:focus { 100 .el-dropdown-menu__item:focus {
114 background: #F6F7F9; 101 background: #f6f7f9;
115 color: #4A4A4A; 102 color: #4a4a4a;
116 } 103 }
117 } 104 }
118 105
...@@ -120,15 +107,11 @@ export default { ...@@ -120,15 +107,11 @@ export default {
120 height: $headerHeight; 107 height: $headerHeight;
121 overflow: hidden; 108 overflow: hidden;
122 position: relative; 109 position: relative;
123 // background: linear-gradient(270deg, #148CEE 0%, #1870E3 100%); //默认颜色 110 background: #3D59C4;
124 // box-shadow: 0 1px 0px rgba(0, 21, 41, 0.08);
125 background: #0D1230;
126 display: flex; 111 display: flex;
127 align-items: center; 112 align-items: center;
128 padding-right: 20px; 113 padding-right: 20px;
129 justify-content: space-between; 114 justify-content: space-between;
130 margin-bottom: 10px;
131
132 .header-logo { 115 .header-logo {
133 width: 300px; 116 width: 300px;
134 } 117 }
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-06 16:18:21
5 -->
1 <template> 6 <template>
2 <div> 7 <div>
3 <el-scrollbar wrap-class="scrollbar-wrapper"> 8 <el-scrollbar wrap-class="scrollbar-wrapper">
4 <el-menu router :default-active="activeMenu" :background-color="variables.menuBg" :text-color="variables.menuText" 9 <el-menu router :default-active="activeMenu" :background-color="variables.menuBg" :text-color="variables.menuText"
5 :unique-opened="true" :active-text-color="variables.menuActiveText" :collapse-transition="false" 10 :unique-opened="true" :active-text-color="variables.menuActiveText" :collapse-transition="false" mode="vertical">
6 mode="vertical">
7 <!-- 权限菜单 --> 11 <!-- 权限菜单 -->
8 <!-- <sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" /> --> 12 <sidebar-item v-for="route in permission_routes.slice(3)" :key="route.path" :item="route"
13 :base-path="route.path" />
9 <!-- 菜单全部展示 --> 14 <!-- 菜单全部展示 -->
10 <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> 15 <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> -->
11 </el-menu> 16 </el-menu>
12 </el-scrollbar> 17 </el-scrollbar>
13 </div> 18 </div>
...@@ -27,6 +32,9 @@ export default { ...@@ -27,6 +32,9 @@ export default {
27 title: defaultSettings.title 32 title: defaultSettings.title
28 } 33 }
29 }, 34 },
35 created () {
36 console.log(this.permission_routes);
37 },
30 computed: { 38 computed: {
31 ...mapGetters(['permission_routes', 'sidebar']), 39 ...mapGetters(['permission_routes', 'sidebar']),
32 activeMenu () { 40 activeMenu () {
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-10 15:00:56
5 -->
1 <template> 6 <template>
2 <div class="app-wrapper"> 7 <div class="app-wrapper scWrapper">
3 <navbar /> 8 <navbar />
4 <div class="main-container"> 9 <div class="main-container">
5 <sidebar class="sidebar-container" /> 10 <sidebar class="sidebar-container" />
...@@ -8,10 +13,10 @@ ...@@ -8,10 +13,10 @@
8 </div> 13 </div>
9 </template> 14 </template>
10 <script> 15 <script>
11 import { AppMain, Navbar, Sidebar, TagsView } from './components' 16 import { AppMain, Navbar, Sidebar, TagsView } from './components'
12 import ResizeMixin from './mixin/ResizeHandler' 17 import ResizeMixin from './mixin/ResizeHandler'
13 import { mapState } from 'vuex' 18 import { mapState } from 'vuex'
14 export default { 19 export default {
15 name: 'Layout', 20 name: 'Layout',
16 components: { 21 components: {
17 AppMain, 22 AppMain,
...@@ -20,6 +25,10 @@ export default { ...@@ -20,6 +25,10 @@ export default {
20 TagsView 25 TagsView
21 }, 26 },
22 mixins: [ResizeMixin], 27 mixins: [ResizeMixin],
28 created () {
29 this.$store.dispatch("products/setData", "BDCSBPT");
30 console.log("ZOULEJG");
31 },
23 computed: { 32 computed: {
24 ...mapState({ 33 ...mapState({
25 sidebar: state => state.app.sidebar, 34 sidebar: state => state.app.sidebar,
...@@ -27,25 +36,27 @@ export default { ...@@ -27,25 +36,27 @@ export default {
27 fixedHeader: state => state.settings.fixedHeader 36 fixedHeader: state => state.settings.fixedHeader
28 }) 37 })
29 } 38 }
30 } 39 }
31 </script> 40 </script>
32 <style lang="scss" scoped> 41 <style lang="scss">
33 @import "~@/styles/mixin.scss"; 42 @import "~@/styles/mixin.scss";
43 @import "~@/styles/sbSidebar.scss";
34 44
35 .app-wrapper { 45 .app-wrapper {
36 @include clearfix; 46 @include clearfix;
37 position: relative; 47 position: relative;
38 height: 100%; 48 height: 100%;
39 width: 100%; 49 width: 100%;
40 background-color: $containerbg; 50 // background-color: $containerbg;
51 padding: 0;
41 52
42 &.mobile.openSidebar { 53 &.mobile.openSidebar {
43 position: fixed; 54 position: fixed;
44 top: 0; 55 top: 0;
45 } 56 }
46 } 57 }
47 58
48 .drawer-bg { 59 .drawer-bg {
49 background: #000; 60 background: #000;
50 opacity: 0.3; 61 opacity: 0.3;
51 width: 100%; 62 width: 100%;
...@@ -53,15 +64,15 @@ export default { ...@@ -53,15 +64,15 @@ export default {
53 height: 100%; 64 height: 100%;
54 position: absolute; 65 position: absolute;
55 z-index: 999; 66 z-index: 999;
56 } 67 }
57 68
58 .fixed-header { 69 .fixed-header {
59 width: 100%; 70 width: 100%;
60 transition: width 0.28s; 71 transition: width 0.28s;
61 } 72 }
62 73
63 .el-dropdown-menu--small { 74 .el-dropdown-menu--small {
64 padding: 0; 75 padding: 0;
65 width: 5px; 76 width: 5px;
66 } 77 }
67 </style> 78 </style>
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-10 16:43:16
5 */
1 import router from "./router"; 6 import router from "./router";
2 import store from "./store"; 7 import store from "./store";
3 import { getMenuInfo } from "@/api/user"; 8 import { getMenuInfo } from "@/api/user";
...@@ -6,33 +11,31 @@ import "nprogress/nprogress.css"; // progress bar style ...@@ -6,33 +11,31 @@ import "nprogress/nprogress.css"; // progress bar style
6 import getPageTitle from "@/utils/get-page-title"; 11 import getPageTitle from "@/utils/get-page-title";
7 import Cookies from "js-cookie"; 12 import Cookies from "js-cookie";
8 NProgress.configure({ showSpinner: false }); // NProgress Configuration 13 NProgress.configure({ showSpinner: false }); // NProgress Configuration
9
10 router.beforeEach(async (to, from, next) => { 14 router.beforeEach(async (to, from, next) => {
11 NProgress.start(); 15 NProgress.start();
12 document.title = getPageTitle(to.meta.title); 16 document.title = getPageTitle(to.meta.title);
13 let hasAddDict = store.state.dict.addDict; 17 let hasAddDict = store.state.dict.addDict;
14 let hasUser = store.state.user.hasUser; 18 let hasUser = store.state.user.hasUser;
15 let hasAddRoute = store.state.permission.addRoutes; 19 let hasAddRoute = store.state.permission.addRoutes;
16 if (to.path == "/login") { 20 if (to.path == "/sb" || to.path == "/jg") {
17 sessionStorage.removeItem("token"); 21 sessionStorage.removeItem("token");
22 sessionStorage.setItem("psth", to.path)
18 next(); 23 next();
19 } else { 24 } else {
25 let code = sessionStorage.getItem("psth") == "/sb" ? "BDCSBPT" : "BDCJGPT"
20 //判断token是否存在 26 //判断token是否存在
21 const hasToken = sessionStorage.getItem("token"); 27 const hasToken = sessionStorage.getItem("token");
22 if (hasToken) { 28 if (hasToken) {
23 //请求用户信息 29 //请求用户信息
24 if (!hasUser) { 30 if (!hasUser) {
25 store.dispatch("user/getUserInfo"); 31 store.dispatch("user/getUserInfo");
26 } 32 import("@/styles/public.scss");
27 //加载字典
28 if (!hasAddDict) {
29 store.dispatch("dict/generateDic");
30 } 33 }
31 if (hasAddRoute) { 34 if (hasAddRoute) {
32 next(); 35 next();
33 } else { 36 } else {
34 //请求菜单 37 //请求菜单
35 const { result: getMenuData } = (await getMenuInfo()) || []; 38 const { result: getMenuData } = (await getMenuInfo(code)) || [];
36 const accessRoutes = await store.dispatch( 39 const accessRoutes = await store.dispatch(
37 "permission/generateRoutes", 40 "permission/generateRoutes",
38 getMenuData 41 getMenuData
...@@ -42,16 +45,22 @@ router.beforeEach(async (to, from, next) => { ...@@ -42,16 +45,22 @@ router.beforeEach(async (to, from, next) => {
42 { path: "*", redirect: "/404", hidden: true }, 45 { path: "*", redirect: "/404", hidden: true },
43 ]); 46 ]);
44 const routeTo = Cookies.get("routerTo"); 47 const routeTo = Cookies.get("routerTo");
48 if (!hasAddDict) {
49 await store.dispatch("dict/generateDic");
50 }
45 if (routeTo && routeTo !== "/") { 51 if (routeTo && routeTo !== "/") {
46 next({ ...to, replace: true }); 52 next({ ...to, replace: true });
47 } else { 53 } else {
48 next("/home"); 54 next("/home");
49 } 55 }
50 } 56 }
57 } else if (sessionStorage.getItem("psth")) {
58 next(sessionStorage.getItem("psth"));
51 } else { 59 } else {
52 next("/login"); 60 next("/jg");
53 } 61 }
54 } 62 }
63
55 NProgress.done(); 64 NProgress.done();
56 }); 65 });
57 router.afterEach((to) => { 66 router.afterEach((to) => {
......
1 import Vue from 'vue' 1 import Vue from 'vue'
2 import Router from 'vue-router' 2 import Router from 'vue-router'
3 Vue.use(Router) 3 Vue.use(Router)
4 /* Layout */
5 import Layout from '@/layout' 4 import Layout from '@/layout'
6 /* Router Modules */ 5
7 // import componentsRouter from './modules/components'
8 export const constantRoutes = [ 6 export const constantRoutes = [
9 { 7 {
10 path: '/404', 8 path: '/404',
...@@ -22,9 +20,14 @@ export const constantRoutes = [ ...@@ -22,9 +20,14 @@ export const constantRoutes = [
22 }, 20 },
23 //登录 21 //登录
24 { 22 {
25 path: "/login", 23 path: "/jg",
26 name: "login", 24 name: "loginjg",
27 component: () => import("@/views/login/index.vue"), 25 component: () => import("@/views/loginjg/index.vue"),
26 },
27 {
28 path: "/sb",
29 name: "loginsb",
30 component: () => import("@/views/loginsb/index.vue"),
28 }, 31 },
29 // 监管首页 32 // 监管首页
30 { 33 {
......
1 module.exports = { 1 module.exports = {
2 title: '汉中市不动产综合监管', 2 title: '',
3 /** 3 /**
4 * @type {boolean} true | false 4 * @type {boolean} true | false
5 * @description Whether show the settings right-panel 5 * @description Whether show the settings right-panel
......
1 /*
2 * @Author: xiaomiao 1158771342@qq.com
3 * @Date: 2023-03-09 15:24:53
4 * @LastEditors: xiaomiao 1158771342@qq.com
5 * @LastEditTime: 2023-03-13 09:03:16
6 * @FilePath: \上报\bdcjg-web\src\store\modules\permission.js
7 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8 */
1 import { constantRoutes } from '@/router' 9 import { constantRoutes } from '@/router'
2 import asyncRouter from '@/utils/asyncRouter.js' 10 import asyncRouter from '@/utils/asyncRouter.js'
3 const state = { 11 const state = {
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-07 09:38:47
5 */
1 import { getUserInfo } from "@/api/user"; 6 import { getUserInfo } from "@/api/user";
2 const state = { 7 const state = {
3 hasUser: false, 8 hasUser: false,
...@@ -15,14 +20,14 @@ const mutations = { ...@@ -15,14 +20,14 @@ const mutations = {
15 }; 20 };
16 21
17 const actions = { 22 const actions = {
18 getUserInfo({ commit }) { 23 getUserInfo ({ commit }) {
19 return new Promise(async (resolve) => { 24 return new Promise(async (resolve) => {
20 let { result: res } = await getUserInfo(); 25 let { result: res } = await getUserInfo();
21 commit("SET_USERINFO", res); 26 commit("SET_USERINFO", res);
22 resolve(true); 27 resolve(true);
23 }); 28 });
24 }, 29 },
25 resetState({ commit }) { 30 resetState ({ commit }) {
26 commit("RESET_USER"); 31 commit("RESET_USER");
27 }, 32 },
28 }; 33 };
......
...@@ -2,11 +2,19 @@ ...@@ -2,11 +2,19 @@
2 overflow: hidden; 2 overflow: hidden;
3 background: url("~@/image/dialogBg.png") no-repeat !important; 3 background: url("~@/image/dialogBg.png") no-repeat !important;
4 background-size: 100% 100% !important; 4 background-size: 100% 100% !important;
5 min-height: 90vh;
5 6
6 .dialog_title { 7 .dialog_title {
7 display: flex; 8 display: flex;
8 position: relative; 9 position: relative;
9 top: -2px; 10 font-size: 22px;
11 top: -10px;
12 width: 38%;
13 height: 40px;
14 margin-left: 28px;
15 justify-content: center;
16 white-space: nowrap;
17
10 b { 18 b {
11 font-weight: 200; 19 font-weight: 200;
12 display: inline-block; 20 display: inline-block;
...@@ -48,10 +56,88 @@ ...@@ -48,10 +56,88 @@
48 box-shadow: inset 0px 0px 12px 0px #02D9FD; 56 box-shadow: inset 0px 0px 12px 0px #02D9FD;
49 border-radius: 2px; 57 border-radius: 2px;
50 border: 1px solid #6BC1FC; 58 border: 1px solid #6BC1FC;
51 margin: 0 18px 15px 18px; 59 margin: 0 18px 10px 18px;
60 }
61 }
62
63 .item-content-input {
64 /deep/.el-input__inner {
65 border: none !important;
66 text-align: right;
67 }
68 }
69
70 .regularHeight {
71 display: flex;
72 flex: 1;
73 height: 100%;
74 flex-direction: column;
75
76 .editDialogBox-con,
77 .JsonEditor {
78 flex: 1;
79 height: 100%;
80 }
81 }
82
83 .dialog-from {
84 padding: 13px;
85 border-radius: 2px;
86 box-sizing: border-box;
87
88 .el-row {
89 display: flex;
90 flex-wrap: nowrap;
91 }
92
93 .el-col {
94 line-height: 18px;
95 display: flex;
96 align-items: center;
97 margin-bottom: 3px;
98 color: #B5D6DC;
99 border-radius: 2px;
100 border: 1px solid #224C7C;
101 span {
102 display: inline-block;
103 padding: 3px;
104 border-radius: 3px;
105 overflow: hidden;
106 white-space: nowrap;
107 text-align: left;
108 color: #02D9FD;
109 }
110
111 p {
112 flex: 1;
113 width: 100%;
114 padding-left: 5px;
115 line-height: 20px;
116 color: #c0c4cc;
117 cursor: not-allowed;
118 white-space: nowrap;
119 margin-right: 5px;
120 text-align: right;
121 }
52 } 122 }
53 } 123 }
54 124
125 /deep/.el-textarea__inner {
126 border: 1px solid #224C7C;
127 margin: 0 0 10px 0 !important;
128 width: 100% !important;
129 color: #dadde3 !important;
130 background: transparent !important;
131 }
132
133 /deep/.el-input__inner {
134 border: 1px solid #224C7C !important;
135 margin: 0 !important;
136 width: 100% !important;
137 color: #dadde3 !important;
138 background: transparent !important;
139 }
140
55 .dialog_title { 141 .dialog_title {
56 @include flex; 142 @include flex;
57 justify-content: space-between; 143 justify-content: space-between;
...@@ -60,7 +146,6 @@ ...@@ -60,7 +146,6 @@
60 146
61 .el-dialog__header { 147 .el-dialog__header {
62 color: #FFFFFF; 148 color: #FFFFFF;
63 // background: #074487;
64 height: 46px !important; 149 height: 46px !important;
65 width: 97%; 150 width: 97%;
66 margin: 0 auto; 151 margin: 0 auto;
...@@ -70,6 +155,7 @@ ...@@ -70,6 +155,7 @@
70 .el-dialog__body { 155 .el-dialog__body {
71 padding-top: 0; 156 padding-top: 0;
72 padding-bottom: 0; 157 padding-bottom: 0;
158 height: 95vh;
73 } 159 }
74 160
75 .el-dialog__headerbtn { 161 .el-dialog__headerbtn {
...@@ -79,7 +165,8 @@ ...@@ -79,7 +165,8 @@
79 background-size: 100% 100%; 165 background-size: 100% 100%;
80 right: 40px; 166 right: 40px;
81 top: 33px; 167 top: 33px;
82 &:hover{ 168
169 &:hover {
83 box-shadow: inset 0px 0px 12px 0px #02D9FD; 170 box-shadow: inset 0px 0px 12px 0px #02D9FD;
84 } 171 }
85 } 172 }
......
1 // cover some element-ui styles 1 // cover some element-ui styles
2
3 .el-breadcrumb__inner, 2 .el-breadcrumb__inner,
4 .el-breadcrumb__inner a { 3 .el-breadcrumb__inner a {
5 font-weight: 400 !important; 4 font-weight: 400 !important;
...@@ -16,6 +15,25 @@ ...@@ -16,6 +15,25 @@
16 padding: 0 7px !important; 15 padding: 0 7px !important;
17 } 16 }
18 17
18 // input 样式
19 // 全局css 加上以下代码,可以隐藏上下箭头
20
21 // 取消input的上下箭头
22 input::-webkit-inner-spin-button {
23 -webkit-appearance: none !important;
24
25 }
26
27 input::-webkit-outer-spin-button {
28 -webkit-appearance: none !important;
29
30 }
31
32 input[type="number"] {
33 -moz-appearance: textfield;
34
35 }
36
19 .el-upload { 37 .el-upload {
20 input[type="file"] { 38 input[type="file"] {
21 display: none !important; 39 display: none !important;
...@@ -208,10 +226,29 @@ table td { ...@@ -208,10 +226,29 @@ table td {
208 box-shadow: inset 0px 0px 20px 0px #03DBFF !important; 226 box-shadow: inset 0px 0px 20px 0px #03DBFF !important;
209 } 227 }
210 228
211 .el-table__body tr:hover>td { 229 .el-table__body tr:hover>td,
230 .el-table__body tr.hover-row>td.el-table__cell {
212 background: none !important; 231 background: none !important;
213 } 232 }
214 233
234 // table 固定列样式
235 // tr:hover {
236 // background: #063160 !important;
237 // box-shadow: inset 0px 0px 20px 0px #03DBFF !important;
238 // }
239 // .el-table__fixed-right-patch {
240 // background-color: #073781
241 // }
242
243 .el-table__fixed-right {
244 background-color: #073781
245 }
246
247 .el-table__fixed::before,
248 .el-table__fixed-right::before {
249 display: none;
250 }
251
215 // 表格样式 252 // 表格样式
216 .el-table th { 253 .el-table th {
217 height: 48px !important; 254 height: 48px !important;
...@@ -489,3 +526,49 @@ table td { ...@@ -489,3 +526,49 @@ table td {
489 .el-select-dropdown__item:hover { 526 .el-select-dropdown__item:hover {
490 background-color: transparent !important; 527 background-color: transparent !important;
491 } 528 }
529
530 // 提示框
531 .el-message-box {
532 background-color: #031a46;
533 border: 1px solid #5f82c7;
534
535 .el-message-box__title {
536 color: white;
537 }
538
539 .el-message-box__content {
540 color: white;
541 }
542 }
543
544 // 上级菜单
545 .el-cascader__dropdown {
546 background-color: #031a46;
547 border: 1px solid #5f82c7;
548
549 }
550
551 .el-cascader-menu {
552 color: white;
553 }
554
555 .el-radio {
556 .el-cascader-menu:hover {
557 color: white;
558 }
559 }
560
561 .el-cascader-node:not(.is-disabled):hover,
562 .el-cascader-node:not(.is-disabled):focus {
563 background: #F5F7FA;
564 background-image: initial;
565 background-position-x: initial;
566 background-position-y: initial;
567 background-size: initial;
568 background-repeat-x: initial;
569 background-repeat-y: initial;
570 background-attachment: initial;
571 background-origin: initial;
572 background-clip: initial;
573 background-color: rgb(80, 142, 235);
574 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 @import './mixin.scss'; 2 @import './mixin.scss';
3 @import './transition.scss'; 3 @import './transition.scss';
4 @import './element-ui.scss'; 4 @import './element-ui.scss';
5 @import './sidebar.scss'; 5 // @import './sidebar.scss';
6 6
7 /* CSS 初始化 */ 7 /* CSS 初始化 */
8 html, 8 html,
...@@ -336,6 +336,15 @@ aside { ...@@ -336,6 +336,15 @@ aside {
336 color: $yellow; 336 color: $yellow;
337 } 337 }
338 338
339 // 操作按钮样式
340 .btnColor {
341 color: #8DEAF9;
342 }
343 .successColor {
344 color:#67C23A
345 }
346
347
339 // 通过 入库 样式 348 // 通过 入库 样式
340 .adopt, 349 .adopt,
341 .success { 350 .success {
...@@ -409,3 +418,9 @@ aside { ...@@ -409,3 +418,9 @@ aside {
409 background: #FF7962; 418 background: #FF7962;
410 color: #FF7962; 419 color: #FF7962;
411 } 420 }
421
422 // 引入字体
423 @font-face {
424 font-family: AliBold;
425 src: url('../image/font/Alibaba_PuHuiTi_2.0_55_Regular_85_Bold.ttf')
426 }
...\ No newline at end of file ...\ No newline at end of file
......
1 #app { 1 .jgWrapper {
2 .main-container { 2 .main-container {
3 width: 100%; 3 width: 100%;
4 height: calc(100% - 74px); 4 height: calc(100% - 74px);
...@@ -340,4 +340,5 @@ ...@@ -340,4 +340,5 @@
340 word-break: break-all; 340 word-break: break-all;
341 line-height: 20px; 341 line-height: 20px;
342 flex: 1; 342 flex: 1;
343
343 } 344 }
...\ No newline at end of file ...\ No newline at end of file
......
1 .tableClass { 1 .tableClass {
2 /deep/.el-table { 2 .el-table {
3 border: none !important; 3 border: none !important;
4 border-radius: 0 !important; 4 border-radius: 0 !important;
5 background-color: rgba(0, 0, 0, 0); 5 background-color: rgba(0, 0, 0, 0);
...@@ -40,10 +40,15 @@ ...@@ -40,10 +40,15 @@
40 } 40 }
41 41
42 //*****start*通用表单查询条件,列表样式******// 42 //*****start*通用表单查询条件,列表样式******//
43 .bgc {
44 box-shadow: inset 0px 0px 8px 0px rgba(255, 255, 255, 0.5);
45 background-color: rgba(0, 0, 0, 0);
46 }
47
43 .from-clues { 48 .from-clues {
44 height: 100%; 49 height: 100%;
45 width: 100%; 50 width: 100%;
46 min-width: 1280px; 51 // min-width: 1280px;
47 box-sizing: border-box; 52 box-sizing: border-box;
48 overflow-x: hidden; 53 overflow-x: hidden;
49 padding: 2px; 54 padding: 2px;
...@@ -56,11 +61,11 @@ ...@@ -56,11 +61,11 @@
56 background-size: 100% 100%; 61 background-size: 100% 100%;
57 margin-top: 15px; 62 margin-top: 15px;
58 63
59 /deep/.el-form-item__label { 64 .el-form-item__label {
60 color: #E3F1FF; 65 color: #E3F1FF;
61 } 66 }
62 67
63 /deep/.el-input__inner { 68 .el-input__inner {
64 background: #07388B; 69 background: #07388B;
65 border-radius: 2px; 70 border-radius: 2px;
66 color: #CEF8FF; 71 color: #CEF8FF;
...@@ -114,16 +119,11 @@ ...@@ -114,16 +119,11 @@
114 //修改表头的背景颜色横向渐变色 119 //修改表头的背景颜色横向渐变色
115 @extend .tableClass; 120 @extend .tableClass;
116 121
117 /deep/.el-pagination__total { 122 .el-pagination__total {
118 color: #FFFFFF; 123 color: #FFFFFF;
119 } 124 }
120 125
121 .bgc { 126 .el-pagination {
122 box-shadow: inset 0px 0px 8px 0px rgba(255, 255, 255, 0.5);
123 background-color: rgba(0, 0, 0, 0);
124 }
125
126 /deep/ .el-pagination {
127 .el-input__inner { 127 .el-input__inner {
128 color: #FFFFFF; 128 color: #FFFFFF;
129 border: none; 129 border: none;
...@@ -142,14 +142,9 @@ ...@@ -142,14 +142,9 @@
142 color: #FFFFFF; 142 color: #FFFFFF;
143 } 143 }
144 } 144 }
145
146 /deep/.btn-next,
147 /deep/.btn-prev {
148 @extend .bgc;
149 color: #FFFFFF;
150 } 145 }
151 146
152 } 147
153 148
154 .el-form--inline .el-form-item { 149 .el-form--inline .el-form-item {
155 width: auto; 150 width: auto;
...@@ -167,10 +162,15 @@ ...@@ -167,10 +162,15 @@
167 } 162 }
168 } 163 }
169 164
165 .el-pagination.is-background .btn-prev,
166 .el-pagination.is-background .btn-next {
167 @extend .bgc;
168 color: #FFFFFF;
169 }
170 170
171 171
172 //*****end*通用表单查询条件,列表样式******// 172 //*****end*通用表单查询条件,列表样式******//
173 /deep/.el-range-separator { 173 .el-range-separator {
174 line-height: 28px !important; 174 line-height: 28px !important;
175 } 175 }
176 176
...@@ -199,3 +199,245 @@ ...@@ -199,3 +199,245 @@
199 box-sizing: border-box; 199 box-sizing: border-box;
200 text-align: right; 200 text-align: right;
201 } 201 }
202
203 // 修改弹框样式
204 .modifydialog {
205 .el-dialog__header {
206 text-align: center;
207 margin-bottom: 10px;
208
209 .el-dialog__title {
210 color: white;
211 }
212 }
213
214 .el-form-item__label {
215 color: white;
216 }
217
218 .el-input__inner {
219 background-color: #07388b;
220 }
221
222 .el-input__inner {
223 background: #07388b;
224 border-radius: 2px;
225 border: 1px solid #6bc1fc;
226 }
227
228 .el-textarea__inner {
229 background: #07388b;
230 color: #fff;
231 }
232
233 .el-form-item__label {
234 color: #fff;
235 }
236
237 .el-dialog__headerbtn {
238 position: absolute;
239 top: 22px;
240 right: 30px;
241 }
242
243 .el-dialog__header {
244 text-align: center;
245 margin-bottom: 10px;
246
247 .el-dialog__title {
248 color: white;
249 }
250 }
251 }
252
253 // 角色配置
254 .roleconfiguration {
255 .el-dialog__body {
256 display: flex;
257 flex-direction: column;
258 }
259
260 .el-tabs {
261 color: #cef8ff;
262 }
263
264 .sjmx {
265 .el-tabs__item {
266 height: 50px;
267 padding-top: 6px;
268 }
269 }
270
271 .el-tabs__item {
272 color: #cef8ff !important;
273
274 display: flex;
275 flex-direction: row;
276 justify-content: center;
277 background: url("~@/image/tabitem.png") no-repeat;
278 background-size: 100% 100%;
279 border: none !important;
280 }
281
282 .obligee-item-name {
283 background: #05275b;
284 color: #ffffff;
285 background: url("~@/image/itembg.png") no-repeat;
286 background-size: 100% 100%;
287 }
288
289 .el-tabs__nav-scroll {
290 background: none;
291 }
292
293 .el-tabs__nav {
294 display: flex;
295 border: none !important;
296 }
297
298 .el-tabs__item.is-top {
299 border: 1px solid #dfe4ed;
300 border-top: 1px solid #dfe4ed;
301 border-bottom: 1px solid transparent;
302 }
303
304 .el-tabs__header {
305 border: none;
306 margin-bottom: 0;
307 }
308
309 .el-tabs__item.is-top:not(:last-child) {
310 margin-right: 5px;
311 }
312
313 .el-tabs__item.is-top {
314 background-color: none !important;
315 }
316
317 .el-tabs__item.is-active {
318 background: url("~@/image/tabitemse.png") no-repeat;
319 background-size: 100% 100%;
320 }
321
322 .success-images {
323 width: 30px;
324 height: 30px;
325 position: relative;
326 top: 10px;
327 right: 3px;
328 }
329
330 .tab-pane-item {
331 line-height: 20px;
332 color: #02d9fd;
333
334 p {
335 text-align: center;
336 }
337 }
338
339 .edit-content {
340 overflow-y: auto;
341 overflow-x: hidden;
342 padding-right: 1px;
343 margin-bottom: 10px;
344 border-top: none;
345 }
346
347 .editDialogBox {
348 border-radius: 8px;
349 overflow: hidden;
350 min-width: 1228px;
351 height: 825px !important;
352
353 .dialog-from {
354 padding: 13px;
355 border-radius: 2px;
356 box-sizing: border-box;
357
358 .el-row {
359 display: flex;
360 flex-wrap: nowrap;
361 }
362
363 .el-col {
364 line-height: 18px;
365 display: flex;
366 align-items: center;
367 margin-bottom: 3px;
368 color: #b5d6dc;
369 border-radius: 2px;
370 border: 1px solid #224c7c;
371 margin: 5px;
372
373 span {
374 display: inline-block;
375 padding: 3px;
376 border-radius: 3px;
377 overflow: hidden;
378 white-space: nowrap;
379 text-align: left;
380 color: #02d9fd;
381 }
382
383 p {
384 flex: 1;
385 width: 100%;
386 padding-left: 5px;
387 line-height: 20px;
388 color: #c0c4cc;
389 cursor: not-allowed;
390 white-space: nowrap;
391 margin-right: 5px;
392 text-align: right;
393 }
394 }
395 }
396
397 .dialog_title {
398 display: flex;
399 position: relative;
400 font-size: 24px;
401 top: -8px;
402 width: 38%;
403 height: 40px;
404 margin-left: 28px;
405 justify-content: center;
406 }
407
408 .el-dialog__header {
409 display: flex;
410 margin-bottom: 10px;
411 }
412
413 .el-dialog__footer {
414 padding-right: 40px;
415 }
416
417 .divider {
418 width: 100%;
419 border-bottom: 1px solid #ccc;
420 }
421 }
422
423 .el-dialog__wrapper {
424 overflow: hidden;
425 }
426
427 .el-table {
428 background: none;
429
430 th.el-table__cell {
431 background-color: #073781;
432 color: #02d9fd;
433 }
434
435 tr {
436 background: none;
437
438 td {
439 color: white;
440 }
441 }
442 }
443 }
...\ No newline at end of file ...\ No newline at end of file
......
1 .scWrapper {
2 .main-container {
3 width: 100%;
4 height: calc(100% - 74px);
5 transition: margin-left 0.28s;
6 display: flex;
7 }
8
9 .sidebar-container {
10 transition: width 0.28s;
11 width: $sideBarWidth !important;
12 font-size: 0px;
13 margin-right: 15px;
14 background: #121F41;
15
16 .horizontal-collapse-transition {
17 transition: 0s width ease-in-out, 0s padding-left ease-in-out,
18 0s padding-right ease-in-out;
19 }
20
21 .scrollbar-wrapper {
22 overflow-x: hidden !important;
23 margin-right: 0 !important;
24
25 &::-webkit-scrollbar {
26 display: none;
27 }
28 }
29
30 a {
31 display: inline-block;
32 width: 100%;
33 overflow: hidden;
34 }
35
36 .svg-icon {
37 margin-right: 5px;
38 }
39
40 .sub-el-icon {
41 margin-right: 12px;
42 margin-left: -2px;
43 }
44
45 .el-menu {
46 background-color: transparent !important;
47 border: none;
48 height: 100%;
49 width: 100% !important;
50 }
51
52 // menu hover
53 .el-menu--collapse .el-submenu__title,
54 .el-menu--collapse .submenu-title-noDropdown {
55 margin-left: 0px !important;
56 }
57
58 // 有子级
59 .el-submenu__title {
60 padding-left: 10px !important;
61 color: $menuText;
62 height: 42px;
63 background: linear-gradient(90deg, #013874 0%, #081B56 100%);
64 margin-bottom: 8px;
65
66 &:hover {
67 color: $subMenuActiveText !important;
68 background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%);
69
70 .svg-icon,
71 i,
72 span {
73 color: $subMenuActiveText !important;
74 }
75 }
76 }
77
78 // 没有子级
79 .submenu-title-noDropdown {
80 color: $menuText;
81 padding-left: 20px;
82 margin-bottom: 8px;
83 background: linear-gradient(90deg, #013874 0%, #081B56 100%);
84
85 &:hover {
86 color: $menuActiveText !important;
87 background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%);
88
89 .svg-icon {
90 color: #1ea6f8 !important;
91 }
92
93 i {
94 color: #1ea6f8 !important;
95 }
96 }
97 }
98
99 .submenu-title-noDropdown.is-active,
100 .el-submenu__title.is-active {
101 color: $menuActiveText;
102 background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%);
103
104 .svg-icon {
105 color: #1ea6f8 !important;
106 }
107
108 i {
109 color: #1ea6f8 !important;
110 }
111 }
112
113 .submenu-title-noDropdown,
114 .el-submenu__title {
115 font-weight: 600;
116 font-size: $sideBarFontSize;
117
118 // margin: 0 10px;
119 >i {
120 color: $subMenuActiveText !important;
121 transform: rotate(90deg);
122 -webkit-transform: rotate(90deg);
123 -moz-transform: rotate(90deg);
124 -ms-transform: rotate(90deg);
125 -o-transform: rotate(90deg);
126 margin-right: 10px;
127 }
128
129 .svg-icon {
130 font-size: 18px;
131 margin-top: -5px;
132 }
133 }
134
135 .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow {
136 transform: rotateZ(0deg) !important;
137 -webkit-transform: rotateZ(0deg) !important;
138 -moz-transform: rotateZ(0deg) !important;
139 -ms-transform: rotateZ(0deg) !important;
140 -o-transform: rotateZ(0deg) !important;
141 }
142
143 .is-active>.el-submenu__title {
144 color: #fff !important;
145 }
146
147 & .nest-menu .el-submenu>.el-submenu__title,
148 & .el-submenu .el-menu-item {
149 &.is-active {
150 background-color: $subMenuHover !important;
151 color: $menuActiveText !important;
152 }
153
154 &:hover {
155 background-color: $subMenuHover !important;
156 color: $menuActiveText !important;
157 }
158
159 min-width: 130px !important;
160 background-color: transparent !important;
161 font-weight: 600;
162 font-size: $sideBarFontSize;
163 margin: 0 10px;
164 // border-radius: 6px;
165 }
166 }
167
168 .hideSidebar {
169 .sidebar-container {
170 width: 54px !important;
171 }
172
173 .submenu-title-noDropdown {
174 padding: 0 !important;
175 position: relative;
176
177 .el-tooltip {
178 padding: 0 !important;
179
180 .svg-icon {
181 margin-left: 16px;
182 }
183
184 .sub-el-icon {
185 margin-left: 19px;
186 }
187 }
188 }
189
190 .el-submenu {
191 overflow: hidden;
192
193 &>.el-submenu__title {
194 padding: 0 !important;
195
196 .svg-icon {
197 margin-left: 16px;
198 }
199
200 .sub-el-icon {
201 margin-left: 19px;
202 }
203
204 .el-submenu__icon-arrow {
205 display: none;
206 }
207 }
208 }
209
210 .el-menu--collapse {
211 .el-submenu {
212 &>.el-submenu__title {
213 &>span {
214 height: 0;
215 width: 0;
216 overflow: hidden;
217 visibility: hidden;
218 display: inline-block;
219 }
220 }
221 }
222 }
223 }
224
225 .el-menu--collapse .el-menu .el-submenu {
226 min-width: $sideBarWidth !important;
227 }
228
229 // mobile responsive
230 .mobile {
231 .main-container {
232 margin-left: 0px;
233 }
234
235 .sidebar-container {
236 transition: transform 0.28s;
237 width: $sideBarWidth !important;
238 }
239
240 &.hideSidebar {
241 .sidebar-container {
242 pointer-events: none;
243 transition-duration: 0.3s;
244 transform: translate3d(-$sideBarWidth, 0, 0);
245 }
246 }
247 }
248
249 .withoutAnimation {
250
251 .main-container,
252 .sidebar-container {
253 transition: none;
254 }
255 }
256 }
257
258 // when menu collapsed
259 .el-menu--vertical {
260 &>.el-menu {
261 .svg-icon {
262 margin-right: 16px;
263 }
264
265 .sub-el-icon {
266 margin-right: 12px;
267 margin-left: -2px;
268 }
269 }
270
271 .nest-menu .el-submenu>.el-submenu__title,
272 .el-menu-item {
273 width: calc(100% - 12px);
274 border-top-right-radius: 8px;
275 border-bottom-right-radius: 8px;
276 font-weight: 600 !important;
277 font-size: 15px !important;
278 background-color: $menuHover !important;
279 color: $menuText !important;
280
281 &:hover {
282 background-color: $menuHover !important;
283 opacity: .9;
284
285 .svg-icon,
286 i,
287 span {
288 color: $menuText;
289 }
290 }
291 }
292
293 // the scroll bar appears when the subMenu is too long
294 >.el-menu--popup {
295 max-height: 100vh;
296 overflow-y: auto;
297 background-color: #32ACFE !important;
298 border-top-right-radius: 8px;
299 border-bottom-right-radius: 8px;
300 min-width: 140px;
301 padding: 12px 0;
302
303 &::-webkit-scrollbar-track-piece {
304 background: #d3dce6;
305 }
306
307 &::-webkit-scrollbar {
308 width: 6px;
309 }
310
311 &::-webkit-scrollbar-thumb {
312 background: #99a9bf;
313 border-radius: 20px;
314 }
315 }
316 }
317
318 .el-submenu__title {
319 display: flex;
320 align-items: center;
321 }
322
323 .el-submenu__title span {
324 white-space: normal;
325 word-break: break-all;
326 line-height: 20px;
327 flex: 1;
328 padding-right: 20px;
329 }
330
331 .el-menu-item {
332 height: 42px;
333 display: flex;
334 align-items: center;
335 padding-right: 20px !important;
336 }
337
338 .el-menu-item span {
339 white-space: nowrap !important;
340 word-break: break-all;
341 line-height: 20px;
342 flex: 1;
343 }
...\ No newline at end of file ...\ No newline at end of file
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-07 09:35:10
5 */
1 import Layout from '@/layout' 6 import Layout from '@/layout'
2 export default function filterAsyncRouter (routers) { 7 export default function filterAsyncRouter (routers) {
3 routers.forEach(item => { 8 routers.forEach(item => {
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-13 14:11:50
5 */
1 /** 6 /**
2 * 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器 7 * 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器
3 */ 8 */
...@@ -57,17 +62,17 @@ service.interceptors.response.use( ...@@ -57,17 +62,17 @@ service.interceptors.response.use(
57 } 62 }
58 ); 63 );
59 //对错误信息的处理函数 64 //对错误信息的处理函数
60 function handleErrorData(status) { 65 function handleErrorData (status) {
61 switch (status) { 66 switch (status) {
62 case 401: 67 // case 401:
63 Message.error("由于长时间未操作,请重新登录!"); 68 // Message.error("由于长时间未操作,请重新登录!");
64 router.replace({ 69 // router.replace({
65 path: "/login", 70 // path: "/login/jg",
66 query: { 71 // query: {
67 redirect: router.history.current.fullPath, 72 // redirect: router.history.current.fullPath,
68 }, 73 // },
69 }); 74 // });
70 break; 75 // break;
71 case 403: 76 case 403:
72 Message.error("拒绝访问"); 77 Message.error("拒绝访问");
73 break; 78 break;
......
1 import Vue from 'vue' 1 import Vue from 'vue'
2 2
3 // 下载,导出 3 // 下载,导出
4 Vue.prototype.$download = function(name, href) { 4 Vue.prototype.$download = function (name, href) {
5 var a = document.createElement('a') // 创建a标签 5 var a = document.createElement('a') // 创建a标签
6 var e = document.createEvent('MouseEvents') // 创建鼠标事件对象 6 var e = document.createEvent('MouseEvents') // 创建鼠标事件对象
7 e.initEvent('click', false, false) // 初始化事件对象 7 e.initEvent('click', false, false) // 初始化事件对象
...@@ -10,7 +10,7 @@ Vue.prototype.$download = function(name, href) { ...@@ -10,7 +10,7 @@ Vue.prototype.$download = function(name, href) {
10 a.dispatchEvent(e) // 给指定的元素,执行事件click事件 10 a.dispatchEvent(e) // 给指定的元素,执行事件click事件
11 } 11 }
12 // 导出json文件 12 // 导出json文件
13 Vue.prototype.$downloadJson = function(data, name) { 13 Vue.prototype.$downloadJson = function (data, name) {
14 // 1 生成文件的 blob 对象 14 // 1 生成文件的 blob 对象
15 const blobData = new Blob([JSON.stringify(data)], { 15 const blobData = new Blob([JSON.stringify(data)], {
16 type: 'application/octet-stream' 16 type: 'application/octet-stream'
...@@ -84,7 +84,7 @@ const checkCode = (rule, value, callback) => { ...@@ -84,7 +84,7 @@ const checkCode = (rule, value, callback) => {
84 // } 84 // }
85 // } 85 // }
86 // 日期格式转换 "yyyy-MM-dd HH:mm:ss" 86 // 日期格式转换 "yyyy-MM-dd HH:mm:ss"
87 Vue.prototype.$formdate = function(date) { 87 Vue.prototype.$formdate = function (date) {
88 if (!date) { 88 if (!date) {
89 return "" 89 return ""
90 } 90 }
...@@ -95,22 +95,22 @@ Vue.prototype.$formdate = function(date) { ...@@ -95,22 +95,22 @@ Vue.prototype.$formdate = function(date) {
95 var hh = (d.getHours() < 10 ? '0' + d.getHours() : d.getHours()) + ':'; 95 var hh = (d.getHours() < 10 ? '0' + d.getHours() : d.getHours()) + ':';
96 var mm = (d.getMinutes() < 10 ? '0' + d.getMinutes() : d.getMinutes()) + ':'; 96 var mm = (d.getMinutes() < 10 ? '0' + d.getMinutes() : d.getMinutes()) + ':';
97 var ss = (d.getSeconds() < 10 ? '0' + d.getSeconds() : d.getSeconds()); 97 var ss = (d.getSeconds() < 10 ? '0' + d.getSeconds() : d.getSeconds());
98 return YY + MM + DD +" "+hh + mm + ss 98 return YY + MM + DD + " " + hh + mm + ss
99 } 99 }
100 // 时间格式过滤 100 // 时间格式过滤
101 Vue.filter('timeFilter', function(timeStr) { 101 Vue.filter('timeFilter', function (timeStr) {
102 if (timeStr) { 102 if (timeStr) {
103 return timeStr.substring(0, 10) 103 return timeStr.substring(0, 10)
104 } 104 }
105 }) 105 })
106 export function getType(o) { 106 export function getType (o) {
107 return Object.prototype.toString.call(o).slice(8, -1) 107 return Object.prototype.toString.call(o).slice(8, -1)
108 } 108 }
109 export function isKeyType(o, type) { 109 export function isKeyType (o, type) {
110 return getType(o).toLowerCase() === type.toLowerCase() 110 return getType(o).toLowerCase() === type.toLowerCase()
111 } 111 }
112 // 深拷贝全局挂载 112 // 深拷贝全局挂载
113 Vue.prototype.$deepCopy = function(sth) { 113 Vue.prototype.$deepCopy = function (sth) {
114 // 深度复制数组 114 // 深度复制数组
115 // if (Object.prototype.toString.call(obj) === "[object Array]") { 115 // if (Object.prototype.toString.call(obj) === "[object Array]") {
116 // const object = []; 116 // const object = [];
...@@ -196,7 +196,7 @@ Vue.prototype.$dealArrNotDisabled = arr => { ...@@ -196,7 +196,7 @@ Vue.prototype.$dealArrNotDisabled = arr => {
196 } 196 }
197 } 197 }
198 } 198 }
199 function nodeDeal(arr) { 199 function nodeDeal (arr) {
200 arr.forEach(item => { 200 arr.forEach(item => {
201 delete item.disabled 201 delete item.disabled
202 if (item.children) { 202 if (item.children) {
...@@ -222,7 +222,7 @@ Vue.prototype.$dealArrDisabled = (arr, id) => { ...@@ -222,7 +222,7 @@ Vue.prototype.$dealArrDisabled = (arr, id) => {
222 } 222 }
223 } 223 }
224 } 224 }
225 function nodeDeal(arr) { 225 function nodeDeal (arr) {
226 arr.forEach(item => { 226 arr.forEach(item => {
227 item['disabled'] = true 227 item['disabled'] = true
228 if (item.children) { 228 if (item.children) {
...@@ -249,10 +249,9 @@ Vue.prototype.$getNodeRoute = (val, id) => { ...@@ -249,10 +249,9 @@ Vue.prototype.$getNodeRoute = (val, id) => {
249 } 249 }
250 } 250 }
251 }) 251 })
252 function nodefun(newVal, newId, newCid_list) { 252 function nodefun (newVal, newId, newCid_list) {
253 let flag = false 253 let flag = false
254 newVal.forEach(j => { 254 newVal.forEach(j => {
255 // console.log(j)
256 if (j.id === newId) { 255 if (j.id === newId) {
257 newCid_list.push(j.id) 256 newCid_list.push(j.id)
258 flag = true 257 flag = true
...@@ -272,7 +271,7 @@ Vue.prototype.$getNodeRoute = (val, id) => { ...@@ -272,7 +271,7 @@ Vue.prototype.$getNodeRoute = (val, id) => {
272 return newCid_list 271 return newCid_list
273 } 272 }
274 } 273 }
275 function result(cid_list) { 274 function result (cid_list) {
276 const arr = cid_list.concat() 275 const arr = cid_list.concat()
277 arr.pop() 276 arr.pop()
278 return arr 277 return arr
...@@ -325,7 +324,7 @@ Vue.prototype.$findParent = (list, id) => { ...@@ -325,7 +324,7 @@ Vue.prototype.$findParent = (list, id) => {
325 Vue.prototype.$findChildren = (list, nodeId) => { 324 Vue.prototype.$findChildren = (list, nodeId) => {
326 let newArray = [] 325 let newArray = []
327 let flag = false 326 let flag = false
328 function dealList(list, nodeId) { 327 function dealList (list, nodeId) {
329 if (list.length !== 0) { 328 if (list.length !== 0) {
330 list.forEach(item => { 329 list.forEach(item => {
331 if (!flag) { 330 if (!flag) {
......
1 1
2 import XLSX2 from "xlsx";
3 import XLSX from "xlsx-style";
2 /** 4 /**
3 * 获取数据类型 5 * 获取数据类型
4 * @param {All} [o] 需要检测的数据 6 * @param {All} [o] 需要检测的数据
5 * @returns {String} 7 * @returns {String}
6 */ 8 */
7 export function getType(o) { 9 export function getType (o) {
8 return Object.prototype.toString.call(o).slice(8, -1); 10 return Object.prototype.toString.call(o).slice(8, -1);
9 } 11 }
10 /** 12 /**
...@@ -13,10 +15,10 @@ export function getType(o) { ...@@ -13,10 +15,10 @@ export function getType(o) {
13 * @param {String} [type] 数据类型 15 * @param {String} [type] 数据类型
14 * @returns {Boolean} 16 * @returns {Boolean}
15 */ 17 */
16 export function isKeyType(o, type) { 18 export function isKeyType (o, type) {
17 return getType(o).toLowerCase() === type.toLowerCase(); 19 return getType(o).toLowerCase() === type.toLowerCase();
18 } 20 }
19 export function deepCopy(sth) { 21 export function deepCopy (sth) {
20 let copy; 22 let copy;
21 if (null == sth || "object" != typeof sth) return sth; 23 if (null == sth || "object" != typeof sth) return sth;
22 if (isKeyType(sth, 'date')) { 24 if (isKeyType(sth, 'date')) {
...@@ -47,7 +49,7 @@ export function deepCopy(sth) { ...@@ -47,7 +49,7 @@ export function deepCopy(sth) {
47 * @param endLen 字符串后面保留位数 49 * @param endLen 字符串后面保留位数
48 * @returns {string} 50 * @returns {string}
49 */ 51 */
50 export function hideCode(str, frontLen, endLen = 0) { 52 export function hideCode (str, frontLen, endLen = 0) {
51 var len = str.length - frontLen - endLen; 53 var len = str.length - frontLen - endLen;
52 var xing = ''; 54 var xing = '';
53 for (var i = 0; i < len; i++) { 55 for (var i = 0; i < len; i++) {
...@@ -57,7 +59,7 @@ export function hideCode(str, frontLen, endLen = 0) { ...@@ -57,7 +59,7 @@ export function hideCode(str, frontLen, endLen = 0) {
57 }; 59 };
58 // 数组去重 60 // 数组去重
59 61
60 export function unique(arr) { 62 export function unique (arr) {
61 var obj = {}; 63 var obj = {};
62 return arr.filter(function (item, index, arr) { 64 return arr.filter(function (item, index, arr) {
63 return obj.hasOwnProperty(typeof item + item) ? false : (obj[typeof item + item] = true) 65 return obj.hasOwnProperty(typeof item + item) ? false : (obj[typeof item + item] = true)
...@@ -65,7 +67,7 @@ export function unique(arr) { ...@@ -65,7 +67,7 @@ export function unique(arr) {
65 } 67 }
66 // 创造id 68 // 创造id
67 69
68 export function getUuid(len, radix) { 70 export function getUuid (len, radix) {
69 var chars = "0123456789abcdefghijklmnopqrstuvwxyz".split( 71 var chars = "0123456789abcdefghijklmnopqrstuvwxyz".split(
70 "" 72 ""
71 ); 73 );
...@@ -89,7 +91,7 @@ export function getUuid(len, radix) { ...@@ -89,7 +91,7 @@ export function getUuid(len, radix) {
89 } 91 }
90 92
91 //js计算两个时间戳之间的时间差 (月) 93 //js计算两个时间戳之间的时间差 (月)
92 export function intervalTime(startTime, endTime) { 94 export function intervalTime (startTime, endTime) {
93 // var timestamp=new Date().getTime(); //计算当前时间戳 95 // var timestamp=new Date().getTime(); //计算当前时间戳
94 var timestamp = (Date.parse(new Date())) / 1000;//计算当前时间戳 (毫秒级) 96 var timestamp = (Date.parse(new Date())) / 1000;//计算当前时间戳 (毫秒级)
95 var date1 = ""; //开始时间 97 var date1 = ""; //开始时间
...@@ -107,16 +109,184 @@ export function intervalTime(startTime, endTime) { ...@@ -107,16 +109,184 @@ export function intervalTime(startTime, endTime) {
107 return mon 109 return mon
108 } 110 }
109 // 日期转时间戳 111 // 日期转时间戳
110 export function js_strto_time(str_time) { 112 export function js_strto_time (str_time) {
111 var str = str_time.replace(/-/g, '/') // 将-替换成/,因为下面这个构造函数只支持/分隔的日期字符串 113 var str = str_time.replace(/-/g, '/') // 将-替换成/,因为下面这个构造函数只支持/分隔的日期字符串
112 var date = new Date(str) // 构造一个日期型数据,值为传入的字符串 114 var date = new Date(str) // 构造一个日期型数据,值为传入的字符串
113 return date.getTime() 115 return date.getTime()
114 } 116 }
115 // 时间戳转日期 117 // 时间戳转日期
116 export function timestampToTime(timestamp) { 118 export function timestampToTime (timestamp) {
117 var date = new Date(timestamp)//时间戳为10位需*1000,时间戳为13位的话不需乘1000 119 var date = new Date(timestamp)//时间戳为10位需*1000,时间戳为13位的话不需乘1000
118 var Y = date.getFullYear() + '-' 120 var Y = date.getFullYear() + '-'
119 var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-' 121 var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
120 var D = date.getDate() > 10 ? date.getDate() : '0' + date.getDate() 122 var D = date.getDate() > 10 ? date.getDate() : '0' + date.getDate()
121 return Y + M + D 123 return Y + M + D
122 } 124 }
125
126
127 function formatDate (value) {
128 var date = new Date(value);
129 var y = date.getFullYear(),
130 m = date.getMonth() + 1,
131 d = date.getDate()
132 if (m < 10) { m = '0' + m; }
133 if (d < 10) { d = '0' + d; }
134 var t = y + '-' + m + '-' + d
135 return t;
136 }
137
138 export function getCurrentDate (date = 'firstDay') {
139 var now = new Date() // 当前日期
140 var nowYear = now.getFullYear() //当前年
141 var nowMonth = now.getMonth() //当前月 (值为0~11)
142 var d = now.getDate() //当天
143 if (date == 'firstDay') {
144 return formatDate(new Date(nowYear, nowMonth, 1)) // 本月开始时间
145 } else {
146 return formatDate(new Date(nowYear, nowMonth + 1, 0)) // 本月结束时间
147 }
148 }
149
150 export function setExport2Excel (exportName) {
151 /* generate workbook object from table */
152 var wb = XLSX2.utils.table_to_sheet(document.querySelector("#mytable"));//mytable为表格的id名
153 if (!wb['!merges']) {
154 this.$message.warning('无法导出:报表无数据');
155 return
156 }
157 for (var i = 0; i < 11; i++) {
158 wb["!cols"][i] = { wpx: 150 }
159 }
160 // 样式的文档地址
161 // https://www.npmjs.com/package/xlsx-style
162 for (const key in wb) {
163 if (key == 'A1') {
164 wb[key].s = {
165 font: {//字体设置
166 sz: 24,
167 bold: true,
168 },
169 alignment: {//文字居中
170 horizontal: 'center',
171 vertical: 'center',
172 wrapText: 1,
173 indent: 0,
174 wrap_text: true
175 },
176 border: { // 设置边框
177 top: { style: 'thin' },
178 bottom: { style: 'thin' },
179 left: { style: 'thin' },
180 right: { style: 'thin' }
181 }
182 }
183 } else if (key.indexOf('!') === -1) {
184 wb[key].s = {
185 font: {//字体设置
186 sz: 13,
187 bold: false,
188 color: {
189 rgb: '000000'//十六进制,不带#
190 }
191 },
192 alignment: {//文字居中
193 horizontal: 'center',
194 vertical: 'center',
195 wrapText: 1,
196 indent: 0,
197 wrap_text: true
198 },
199 border: { // 设置边框
200 top: { style: 'thin' },
201 bottom: { style: 'thin' },
202 left: { style: 'thin' },
203 right: { style: 'thin' }
204 }
205 }
206 }
207 }
208 var data = addRangeBorder(wb['!merges'], wb) //合并项添加边框
209 var filedata = sheet2blob(data)
210 openDownloadDialog(filedata, exportName + ".xlsx")
211 }
212 //为合并项添加边框
213 function addRangeBorder (range, ws) {
214 let arr = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
215
216 range.forEach(item => {
217 let startColNumber = Number(item.s.r), endColNumber = Number(item.e.r);
218 let startRowNumber = Number(item.s.c), endRowNumber = Number(item.e.c);
219 console.log(startColNumber);
220 const test = ws[arr[startRowNumber] + (startColNumber + 1)];
221 for (let col = startColNumber; col <= endColNumber; col++) {
222 for (let row = startRowNumber; row <= endRowNumber; row++) {
223 ws[arr[row] + (col + 1)] = test;
224 }
225 }
226 })
227 return ws;
228 }
229 //将一个sheet转成最终的excel文件的blob对象,然后利用URL.createObjectURL下载
230 function sheet2blob (sheet, sheetName) {
231 sheetName = sheetName || 'sheet1';
232 var workbook = {
233 SheetNames: [sheetName],
234 Sheets: {}
235 };
236 workbook.Sheets[sheetName] = sheet; // 生成excel的配置项
237
238 var wopts = {
239 bookType: 'xlsx', // 要生成的文件类型
240 bookSST: false, // 是否生成Shared String Table,官方解释是,如果开启生成速度会下降,但在低版本IOS设备上有更好的兼容性
241 type: 'binary'
242 };
243 var wbout = XLSX.write(workbook, wopts);
244 var blob = new Blob([s2ab(wbout)], {
245 type: "application/octet-stream"
246 }); // 字符串转ArrayBuffer
247 function s2ab (s) {
248 var buf = new ArrayBuffer(s.length);
249 var view = new Uint8Array(buf);
250 for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
251 return buf;
252 }
253 return blob;
254 }
255 function openDownloadDialog (url, saveName) {
256 if (typeof url == 'object' && url instanceof Blob) {
257 url = URL.createObjectURL(url); // 创建blob地址
258 }
259 var aLink = document.createElement('a');
260 aLink.href = url;
261 aLink.download = saveName || ''; // HTML5新增的属性,指定保存文件名,可以不要后缀,注意,file:///模式下不会生效
262 var event;
263 if (window.MouseEvent) event = new MouseEvent('click');
264 else {
265 event = document.createEvent('MouseEvents');
266 event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
267 }
268 aLink.dispatchEvent(event);
269 }
270
271
272
273
274 export function judgeListComplete (list) {
275 function judgeObjectComplete (obj) {
276 let flag = false
277 for (const key in obj) {
278 if (obj[key] == '' && key != 'index') {
279 flag = true
280 }
281 }
282 return flag
283 }
284 let isNotComplete = list.findIndex(item => {
285 return judgeObjectComplete(item) === true
286 })
287 if (isNotComplete > -1) {
288 return false
289 } else {
290 return true
291 }
292 }
......
...@@ -29,11 +29,13 @@ class data extends filter { ...@@ -29,11 +29,13 @@ class data extends filter {
29 }, 29 },
30 { 30 {
31 label: "业务号", 31 label: "业务号",
32 prop: "ywh" 32 prop: "ywh",
33 minWidth: 150,
33 }, 34 },
34 { 35 {
35 label: "不动产单元号", 36 label: "不动产单元号",
36 prop: "bdcdyh" 37 prop: "bdcdyh",
38 minWidth: 150,
37 }, 39 },
38 // { 40 // {
39 // label: "不动产产权证号", 41 // label: "不动产产权证号",
......
...@@ -120,11 +120,12 @@ export default { ...@@ -120,11 +120,12 @@ export default {
120 return ( 120 return (
121 <div> 121 <div>
122 <el-button 122 <el-button
123 type="primary" 123 type="text"
124 size="mini" 124 class='btnColor'
125 onClick={() => { this.handleEdit(scope.row) }} 125 onClick={() => { this.handleEdit(scope.row) }}
126 > 126 >
127 详情 127 详情
128 <i class="el-icon-d-arrow-right"></i>
128 </el-button> 129 </el-button>
129 </div> 130 </div>
130 ) 131 )
...@@ -161,5 +162,5 @@ export default { ...@@ -161,5 +162,5 @@ export default {
161 } 162 }
162 </script> 163 </script>
163 <style scoped lang="scss"> 164 <style scoped lang="scss">
164 @import "~@/styles/public.scss"; 165 // @import "~@/styles/public.scss";
165 </style> 166 </style>
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-13 14:22:01
5 */
1 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
2 class data extends filter { 7 class data extends filter {
3 constructor() { 8 constructor() {
...@@ -34,12 +39,12 @@ class data extends filter { ...@@ -34,12 +39,12 @@ class data extends filter {
34 { 39 {
35 label: "不动产单元号", 40 label: "不动产单元号",
36 prop: "bdcdyh", 41 prop: "bdcdyh",
37 width: 150, 42 minWidth: 150,
38 }, 43 },
39 { 44 {
40 label: "不动产权证号", 45 label: "不动产权证号",
41 prop: "bdcdjzmh", 46 prop: "bdcdjzmh",
42 width: 150, 47 minWidth: 160,
43 }, 48 },
44 { 49 {
45 label: "抵押类型", 50 label: "抵押类型",
......
...@@ -113,11 +113,13 @@ export default { ...@@ -113,11 +113,13 @@ export default {
113 return ( 113 return (
114 <div> 114 <div>
115 <el-button 115 <el-button
116 type="primary" 116 type="text"
117 class='btnColor'
117 size="mini" 118 size="mini"
118 onClick={() => { this.handleEdit(scope.row) }} 119 onClick={() => { this.handleEdit(scope.row) }}
119 > 120 >
120 详情 121 详情
122 <i class="el-icon-d-arrow-right"></i>
121 </el-button> 123 </el-button>
122 </div> 124 </div>
123 ) 125 )
...@@ -152,6 +154,6 @@ export default { ...@@ -152,6 +154,6 @@ export default {
152 </script> 154 </script>
153 <style scoped lang="scss"> 155 <style scoped lang="scss">
154 // 引入表单整体样式 156 // 引入表单整体样式
155 @import "~@/styles/public.scss"; 157 // @import "~@/styles/public.scss";
156 </style> 158 </style>
157 159
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-13 14:23:47
5 */
1 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
2 class data extends filter { 7 class data extends filter {
3 constructor() { 8 constructor() {
...@@ -7,16 +12,18 @@ class data extends filter { ...@@ -7,16 +12,18 @@ class data extends filter {
7 return [ 12 return [
8 { 13 {
9 label: "行政区", 14 label: "行政区",
15 width: 80,
10 render: (h, scope) => { 16 render: (h, scope) => {
11 return ( 17 return (
12 <div> 18 <div>
13 <span>{this.dicStatus(scope.row.xzq, 'A20')}</span> 19 <span>{this.dicStatus(scope.row.qxdm, 'A20')}</span>
14 </div> 20 </div>
15 ) 21 )
16 }, 22 },
17 }, 23 },
18 { 24 {
19 label: "权属状态", 25 label: "权属状态",
26 width: 80,
20 render: (h, scope) => { 27 render: (h, scope) => {
21 return ( 28 return (
22 <div> 29 <div>
...@@ -31,17 +38,18 @@ class data extends filter { ...@@ -31,17 +38,18 @@ class data extends filter {
31 }, 38 },
32 { 39 {
33 label: "供役地不动产单元号", 40 label: "供役地不动产单元号",
34 width: 150, 41 minWidth: 150,
35 prop: "GYDBDCDYH" 42 prop: "GYDBDCDYH"
36 }, 43 },
37 { 44 {
38 label: "需役地不动产单元号", 45 label: "需役地不动产单元号",
39 width: 150, 46 minWidth: 150,
40 prop: "XYDBDCDYH" 47 prop: "XYDBDCDYH"
41 }, 48 },
42 { 49 {
43 label: "不动产产权证号", 50 label: "不动产产权证号",
44 prop: "bdcqzh" 51 prop: "bdcqzh",
52 minWidth: 150,
45 }, 53 },
46 { 54 {
47 label: "权利类型", 55 label: "权利类型",
...@@ -59,11 +67,13 @@ class data extends filter { ...@@ -59,11 +67,13 @@ class data extends filter {
59 }, 67 },
60 { 68 {
61 label: "登记时间", 69 label: "登记时间",
62 prop: "DJSJ" 70 prop: "DJSJ",
71 width: 140,
63 }, 72 },
64 { 73 {
65 label: "登记机构", 74 label: "登记机构",
66 prop: "DJJG" 75 prop: "DJJG",
76 minWidth: 150,
67 } 77 }
68 ] 78 ]
69 } 79 }
......
...@@ -116,16 +116,17 @@ export default { ...@@ -116,16 +116,17 @@ export default {
116 }].concat(data.columns()).concat([ 116 }].concat(data.columns()).concat([
117 { 117 {
118 label: "操作", 118 label: "操作",
119 width: 170, 119 width: 80,
120 render: (h, scope) => { 120 render: (h, scope) => {
121 return ( 121 return (
122 <div> 122 <div>
123 <el-button 123 <el-button
124 type="primary" 124 type="text"
125 size="mini" 125 class='btnColor'
126 onClick={() => { this.handleEdit(scope.row) }} 126 onClick={() => { this.handleEdit(scope.row) }}
127 > 127 >
128 详情 128 详情
129 <i class="el-icon-d-arrow-right"></i>
129 </el-button> 130 </el-button>
130 </div> 131 </div>
131 ) 132 )
...@@ -160,5 +161,5 @@ export default { ...@@ -160,5 +161,5 @@ export default {
160 } 161 }
161 </script> 162 </script>
162 <style scoped lang="scss"> 163 <style scoped lang="scss">
163 @import "~@/styles/public.scss"; 164 // @import "~@/styles/public.scss";
164 </style> 165 </style>
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-13 14:25:09
5 */
1 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
2 class data extends filter { 7 class data extends filter {
3 constructor() { 8 constructor() {
...@@ -33,11 +38,13 @@ class data extends filter { ...@@ -33,11 +38,13 @@ class data extends filter {
33 }, 38 },
34 { 39 {
35 label: "不动产单元号", 40 label: "不动产单元号",
36 prop: "bdcdyh" 41 prop: "bdcdyh",
42 minWidth: 150,
37 }, 43 },
38 { 44 {
39 label: "不动产权证号", 45 label: "不动产权证号",
40 prop: "bdcqzh" 46 prop: "bdcqzh",
47 minWidth: 150,
41 }, 48 },
42 { 49 {
43 label: "权利人", 50 label: "权利人",
...@@ -86,7 +93,8 @@ class data extends filter { ...@@ -86,7 +93,8 @@ class data extends filter {
86 }, 93 },
87 { 94 {
88 label: "登记机构", 95 label: "登记机构",
89 prop: "djjg" 96 prop: "djjg",
97 minWidth: 150,
90 } 98 }
91 ] 99 ]
92 } 100 }
......
...@@ -104,17 +104,19 @@ export default { ...@@ -104,17 +104,19 @@ export default {
104 }].concat(data.columns()).concat([ 104 }].concat(data.columns()).concat([
105 { 105 {
106 label: "操作", 106 label: "操作",
107 width: 90, 107 width: 80,
108 render: (h, scope) => { 108 render: (h, scope) => {
109 return ( 109 return (
110 <div> 110 <div>
111 <el-button 111 <el-button
112 type="primary" 112 type="text"
113 class='btnColor'
113 onClick={() => { 114 onClick={() => {
114 this.handleEdit(scope.row); 115 this.handleEdit(scope.row);
115 }} 116 }}
116 > 117 >
117 详情 118 详情
119 <i class="el-icon-d-arrow-right"></i>
118 </el-button> 120 </el-button>
119 </div> 121 </div>
120 ); 122 );
...@@ -169,5 +171,5 @@ export default { ...@@ -169,5 +171,5 @@ export default {
169 } 171 }
170 </script> 172 </script>
171 <style scoped lang="scss"> 173 <style scoped lang="scss">
172 @import "~@/styles/public.scss"; 174 // @import "~@/styles/public.scss";
173 </style> 175 </style>
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-13 14:25:56
5 */
1 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
2 class data extends filter { 7 class data extends filter {
3 constructor() { 8 constructor() {
...@@ -8,7 +13,7 @@ class data extends filter { ...@@ -8,7 +13,7 @@ class data extends filter {
8 { 13 {
9 label: "业务号", 14 label: "业务号",
10 prop: "ywh", 15 prop: "ywh",
11 width: 150 16 minWidth: 150,
12 }, 17 },
13 // { 18 // {
14 // label: "权利类型", 19 // label: "权利类型",
......
...@@ -77,12 +77,14 @@ export default { ...@@ -77,12 +77,14 @@ export default {
77 return ( 77 return (
78 <div> 78 <div>
79 <el-button 79 <el-button
80 type="primary" 80 type="text"
81 class='btnColor'
81 onClick={() => { 82 onClick={() => {
82 this.handleEdit(scope.row); 83 this.handleEdit(scope.row);
83 }} 84 }}
84 > 85 >
85 详情 86 详情
87 <i class="el-icon-d-arrow-right"></i>
86 </el-button> 88 </el-button>
87 </div> 89 </div>
88 ); 90 );
...@@ -135,5 +137,5 @@ export default { ...@@ -135,5 +137,5 @@ export default {
135 } 137 }
136 </script> 138 </script>
137 <style scoped lang="scss"> 139 <style scoped lang="scss">
138 @import "~@/styles/public.scss"; 140 // @import "~@/styles/public.scss";
139 </style> 141 </style>
......
...@@ -34,12 +34,12 @@ class data extends filter { ...@@ -34,12 +34,12 @@ class data extends filter {
34 { 34 {
35 label: "不动产单元号", 35 label: "不动产单元号",
36 prop: "bdcdyh", 36 prop: "bdcdyh",
37 width: 150 37 minWidth: 150,
38 }, 38 },
39 { 39 {
40 label: "不动产权证号", 40 label: "不动产权证号",
41 prop: "bdcqzh", 41 prop: "bdcqzh",
42 width: 150 42 minWidth: 150,
43 }, 43 },
44 { 44 {
45 label: "权利人", 45 label: "权利人",
......
...@@ -109,12 +109,14 @@ export default { ...@@ -109,12 +109,14 @@ export default {
109 return ( 109 return (
110 <div> 110 <div>
111 <el-button 111 <el-button
112 type="primary" 112 type="text"
113 class='btnColor'
113 onClick={() => { 114 onClick={() => {
114 this.handleEdit(scope.row); 115 this.handleEdit(scope.row);
115 }} 116 }}
116 > 117 >
117 详情 118 详情
119 <i class="el-icon-d-arrow-right"></i>
118 </el-button> 120 </el-button>
119 </div> 121 </div>
120 ); 122 );
...@@ -201,5 +203,5 @@ export default { ...@@ -201,5 +203,5 @@ export default {
201 } 203 }
202 </script> 204 </script>
203 <style scoped lang="scss"> 205 <style scoped lang="scss">
204 @import "~@/styles/public.scss"; 206 // @import "~@/styles/public.scss";
205 </style> 207 </style>
......
...@@ -7,6 +7,7 @@ class data extends filter { ...@@ -7,6 +7,7 @@ class data extends filter {
7 return [ 7 return [
8 { 8 {
9 label: "行政区", 9 label: "行政区",
10 width: 80,
10 render: (h, scope) => { 11 render: (h, scope) => {
11 return ( 12 return (
12 <div> 13 <div>
...@@ -28,19 +29,17 @@ class data extends filter { ...@@ -28,19 +29,17 @@ class data extends filter {
28 { 29 {
29 label: "业务号", 30 label: "业务号",
30 prop: "YWH", 31 prop: "YWH",
31 width: 150 32 minWidth: 150,
32 },
33 {
34 label: "业务号",
35 prop: "BDCDYH"
36 }, 33 },
37 { 34 {
38 label: "不动产单元号", 35 label: "不动产单元号",
39 prop: "BDCDYH" 36 prop: "BDCDYH",
37 minWidth: 150,
40 }, 38 },
41 { 39 {
42 label: "不动产权证号", 40 label: "不动产权证号",
43 prop: "BDCQZH" 41 prop: "BDCQZH",
42 minWidth: 150,
44 }, 43 },
45 { 44 {
46 label: "建筑物名称", 45 label: "建筑物名称",
......
...@@ -100,17 +100,19 @@ export default { ...@@ -100,17 +100,19 @@ export default {
100 }].concat(data.columns()).concat([ 100 }].concat(data.columns()).concat([
101 { 101 {
102 label: "操作", 102 label: "操作",
103 width: 170, 103 width: 80,
104 render: (h, scope) => { 104 render: (h, scope) => {
105 return ( 105 return (
106 <div> 106 <div>
107 <el-button 107 <el-button
108 type="primary" 108 type="text"
109 class='btnColor'
109 onClick={() => { 110 onClick={() => {
110 this.handleEdit(scope.row); 111 this.handleEdit(scope.row);
111 }} 112 }}
112 > 113 >
113 详情 114 详情
115 <i class="el-icon-d-arrow-right"></i>
114 </el-button> 116 </el-button>
115 </div> 117 </div>
116 ); 118 );
...@@ -151,5 +153,5 @@ export default { ...@@ -151,5 +153,5 @@ export default {
151 } 153 }
152 </script> 154 </script>
153 <style scoped lang="scss"> 155 <style scoped lang="scss">
154 @import "~@/styles/public.scss"; 156 // @import "~@/styles/public.scss";
155 </style> 157 </style>
......
...@@ -7,10 +7,11 @@ class data extends filter { ...@@ -7,10 +7,11 @@ class data extends filter {
7 return [ 7 return [
8 { 8 {
9 label: "行政区", 9 label: "行政区",
10 width: 80,
10 render: (h, scope) => { 11 render: (h, scope) => {
11 return ( 12 return (
12 <div> 13 <div>
13 <span>{this.dicStatus(scope.row.XZQ, 'A20')}</span> 14 <span>{this.dicStatus(scope.row.qxdm, 'A20')}</span>
14 </div> 15 </div>
15 ) 16 )
16 }, 17 },
...@@ -20,7 +21,7 @@ class data extends filter { ...@@ -20,7 +21,7 @@ class data extends filter {
20 render: (h, scope) => { 21 render: (h, scope) => {
21 return ( 22 return (
22 <div> 23 <div>
23 <span>{this.dicStatus(scope.row.ZXYWH, 'A22')}</span> 24 <span>{this.dicStatus(scope.row.qszt, 'A22')}</span>
24 </div> 25 </div>
25 ) 26 )
26 }, 27 },
...@@ -28,19 +29,17 @@ class data extends filter { ...@@ -28,19 +29,17 @@ class data extends filter {
28 { 29 {
29 label: "业务号", 30 label: "业务号",
30 prop: "YWH", 31 prop: "YWH",
31 width: 150 32 minWidth: 150,
32 },
33 {
34 label: "业务号",
35 prop: "BDCDYH"
36 }, 33 },
37 { 34 {
38 label: "不动产单元号", 35 label: "不动产单元号",
39 prop: "BDCDYH" 36 prop: "BDCDYH",
37 minWidth: 150,
40 }, 38 },
41 { 39 {
42 label: "不动产权证号", 40 label: "不动产权证号",
43 prop: "BDCQZH" 41 prop: "BDCQZH",
42 minWidth: 150,
44 }, 43 },
45 { 44 {
46 label: "海岛名称", 45 label: "海岛名称",
......
...@@ -101,17 +101,19 @@ export default { ...@@ -101,17 +101,19 @@ export default {
101 }].concat(data.columns()).concat([ 101 }].concat(data.columns()).concat([
102 { 102 {
103 label: "操作", 103 label: "操作",
104 width: 170, 104 width: 80,
105 render: (h, scope) => { 105 render: (h, scope) => {
106 return ( 106 return (
107 <div> 107 <div>
108 <el-button 108 <el-button
109 type="primary" 109 type="text"
110 class='btnColor'
110 onClick={() => { 111 onClick={() => {
111 this.handleEdit(scope.row); 112 this.handleEdit(scope.row);
112 }} 113 }}
113 > 114 >
114 详情 115 详情
116 <i class="el-icon-d-arrow-right"></i>
115 </el-button> 117 </el-button>
116 </div> 118 </div>
117 ); 119 );
...@@ -157,6 +159,6 @@ export default { ...@@ -157,6 +159,6 @@ export default {
157 } 159 }
158 </script> 160 </script>
159 <style scoped lang="scss"> 161 <style scoped lang="scss">
160 @import "~@/styles/public.scss"; 162 // @import "~@/styles/public.scss";
161 </style> 163 </style>
162 164
......
...@@ -11,7 +11,7 @@ class data extends filter { ...@@ -11,7 +11,7 @@ class data extends filter {
11 render: (h, scope) => { 11 render: (h, scope) => {
12 return ( 12 return (
13 <div> 13 <div>
14 <span>{this.dicStatus(scope.row.QXDM, 'A20')}</span> 14 <span>{this.dicStatus(scope.row.qxdm, 'A20')}</span>
15 </div> 15 </div>
16 ) 16 )
17 }, 17 },
...@@ -22,7 +22,7 @@ class data extends filter { ...@@ -22,7 +22,7 @@ class data extends filter {
22 render: (h, scope) => { 22 render: (h, scope) => {
23 return ( 23 return (
24 <div> 24 <div>
25 <span>{this.dicStatus(scope.row.QSZT, 'A22')}</span> 25 <span>{this.dicStatus(scope.row.qszt, 'A22')}</span>
26 </div> 26 </div>
27 ) 27 )
28 }, 28 },
...@@ -52,17 +52,17 @@ class data extends filter { ...@@ -52,17 +52,17 @@ class data extends filter {
52 { 52 {
53 label: "业务号", 53 label: "业务号",
54 prop: "YWH", 54 prop: "YWH",
55 width: 95 55 minWidth: 150,
56 }, 56 },
57 { 57 {
58 label: "不动产单元号", 58 label: "不动产单元号",
59 prop: "BDCDYH", 59 prop: "BDCDYH",
60 width: 150, 60 minWidth: 150,
61 }, 61 },
62 { 62 {
63 label: "不动产权证号", 63 label: "不动产权证号",
64 prop: "BDCQZH", 64 prop: "BDCQZH",
65 width: 150, 65 minWidth: 150,
66 }, 66 },
67 { 67 {
68 label: "权利人", 68 label: "权利人",
......
...@@ -103,12 +103,14 @@ export default { ...@@ -103,12 +103,14 @@ export default {
103 return ( 103 return (
104 <div> 104 <div>
105 <el-button 105 <el-button
106 type="primary" 106 type="text"
107 class='btnColor'
107 onClick={() => { 108 onClick={() => {
108 this.handleEdit(scope.row); 109 this.handleEdit(scope.row);
109 }} 110 }}
110 > 111 >
111 详情 112 详情
113 <i class="el-icon-d-arrow-right"></i>
112 </el-button> 114 </el-button>
113 </div> 115 </div>
114 ); 116 );
...@@ -163,6 +165,6 @@ export default { ...@@ -163,6 +165,6 @@ export default {
163 } 165 }
164 </script> 166 </script>
165 <style scoped lang="scss"> 167 <style scoped lang="scss">
166 @import "~@/styles/public.scss"; 168 // @import "~@/styles/public.scss";
167 @import "./index.scss"; 169 @import "./index.scss";
168 </style> 170 </style>
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-13 14:33:35
5 */
1 6
2 import filter from '@/utils/filter.js' 7 import filter from '@/utils/filter.js'
3 class data extends filter { 8 class data extends filter {
...@@ -8,35 +13,40 @@ class data extends filter { ...@@ -8,35 +13,40 @@ class data extends filter {
8 return [ 13 return [
9 { 14 {
10 label: "行政区", 15 label: "行政区",
16 width: 80,
11 render: (h, scope) => { 17 render: (h, scope) => {
12 return ( 18 return (
13 <div> 19 <div>
14 <span>{this.dicStatus(scope.row.XZQ, 'A20')}</span> 20 <span>{this.dicStatus(scope.row.qxdm, 'A20')}</span>
15 </div> 21 </div>
16 ) 22 )
17 }, 23 },
18 }, 24 },
19 { 25 {
20 label: "权属状态", 26 label: "权属状态",
27 width: 80,
21 render: (h, scope) => { 28 render: (h, scope) => {
22 return ( 29 return (
23 <div> 30 <div>
24 <span>{this.dicStatus(scope.row.ZXYWH, 'A22')}</span> 31 <span>{this.dicStatus(scope.row.qszt, 'A22')}</span>
25 </div> 32 </div>
26 ) 33 )
27 }, 34 },
28 }, 35 },
29 { 36 {
30 label: "业务号", 37 label: "业务号",
31 prop: "BDCDYH" 38 prop: "BDCDYH",
39 minWidth: 150,
32 }, 40 },
33 { 41 {
34 label: "不动产单元号", 42 label: "不动产单元号",
35 prop: "BDCDYH" 43 prop: "BDCDYH",
44 minWidth: 150,
36 }, 45 },
37 { 46 {
38 label: "不动产权证号", 47 label: "不动产权证号",
39 prop: "BDCQZH" 48 prop: "BDCQZH",
49 minWidth: 150,
40 }, 50 },
41 { 51 {
42 label: "权利人", 52 label: "权利人",
......
...@@ -95,17 +95,19 @@ export default { ...@@ -95,17 +95,19 @@ export default {
95 }].concat(data.columns()).concat([ 95 }].concat(data.columns()).concat([
96 { 96 {
97 label: "操作", 97 label: "操作",
98 width: 170, 98 width: 80,
99 render: (h, scope) => { 99 render: (h, scope) => {
100 return ( 100 return (
101 <div> 101 <div>
102 <el-button 102 <el-button
103 type="primary" 103 type="text"
104 class='btnColor'
104 onClick={() => { 105 onClick={() => {
105 this.handleEdit(scope.row); 106 this.handleEdit(scope.row);
106 }} 107 }}
107 > 108 >
108 详情 109 详情
110 <i class="el-icon-d-arrow-right"></i>
109 </el-button> 111 </el-button>
110 </div> 112 </div>
111 ); 113 );
...@@ -143,5 +145,5 @@ export default { ...@@ -143,5 +145,5 @@ export default {
143 } 145 }
144 </script> 146 </script>
145 <style scoped lang="scss"> 147 <style scoped lang="scss">
146 @import "~@/styles/public.scss"; 148 // @import "~@/styles/public.scss";
147 </style> 149 </style>
......
...@@ -7,20 +7,22 @@ class data extends filter { ...@@ -7,20 +7,22 @@ class data extends filter {
7 return [ 7 return [
8 { 8 {
9 label: "行政区", 9 label: "行政区",
10 width: 80,
10 render: (h, scope) => { 11 render: (h, scope) => {
11 return ( 12 return (
12 <div> 13 <div>
13 <span>{this.dicStatus(scope.row.XZQ, 'A20')}</span> 14 <span>{this.dicStatus(scope.row.qxdm, 'A20')}</span>
14 </div> 15 </div>
15 ) 16 )
16 }, 17 },
17 }, 18 },
18 { 19 {
19 label: "权属状态", 20 label: "权属状态",
21 width: 80,
20 render: (h, scope) => { 22 render: (h, scope) => {
21 return ( 23 return (
22 <div> 24 <div>
23 <span>{this.dicStatus(scope.row.ZXYWH, 'A22')}</span> 25 <span>{this.dicStatus(scope.row.qszt, 'A22')}</span>
24 </div> 26 </div>
25 ) 27 )
26 }, 28 },
...@@ -28,11 +30,7 @@ class data extends filter { ...@@ -28,11 +30,7 @@ class data extends filter {
28 { 30 {
29 label: "业务号", 31 label: "业务号",
30 prop: "YWH", 32 prop: "YWH",
31 width: 150 33 width: 150,
32 },
33 {
34 label: "业务号",
35 prop: "BDCDYH"
36 }, 34 },
37 { 35 {
38 label: "不动产单元号", 36 label: "不动产单元号",
......
...@@ -100,17 +100,19 @@ export default { ...@@ -100,17 +100,19 @@ export default {
100 }].concat(data.columns()).concat([ 100 }].concat(data.columns()).concat([
101 { 101 {
102 label: "操作", 102 label: "操作",
103 width: 170, 103 width: 80,
104 render: (h, scope) => { 104 render: (h, scope) => {
105 return ( 105 return (
106 <div> 106 <div>
107 <el-button 107 <el-button
108 type="primary" 108 type="text"
109 class='btnColor'
109 onClick={() => { 110 onClick={() => {
110 this.handleEdit(scope.row); 111 this.handleEdit(scope.row);
111 }} 112 }}
112 > 113 >
113 详情 114 详情
115 <i class="el-icon-d-arrow-right"></i>
114 </el-button> 116 </el-button>
115 </div> 117 </div>
116 ); 118 );
...@@ -148,5 +150,5 @@ export default { ...@@ -148,5 +150,5 @@ export default {
148 } 150 }
149 </script> 151 </script>
150 <style scoped lang="scss"> 152 <style scoped lang="scss">
151 @import "~@/styles/public.scss"; 153 // @import "~@/styles/public.scss";
152 </style> 154 </style>
......
1 /*
2 * @Description: ,
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-13 14:35:00
5 */
1 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
2 class data extends filter { 7 class data extends filter {
3 constructor() { 8 constructor() {
...@@ -30,15 +35,17 @@ class data extends filter { ...@@ -30,15 +35,17 @@ class data extends filter {
30 { 35 {
31 label: "业务号", 36 label: "业务号",
32 prop: "ywh", 37 prop: "ywh",
33 width: 80, 38 minWidth: 150,
34 }, 39 },
35 { 40 {
36 label: "不动产单元号", 41 label: "不动产单元号",
37 prop: "bdcdyh" 42 prop: "bdcdyh",
43 minWidth: 150,
38 }, 44 },
39 { 45 {
40 label: "不动产权证号", 46 label: "不动产权证号",
41 prop: "bdcqzh" 47 prop: "bdcqzh",
48 minWidth: 150,
42 }, 49 },
43 { 50 {
44 label: "权利人", 51 label: "权利人",
......
...@@ -101,12 +101,14 @@ export default { ...@@ -101,12 +101,14 @@ export default {
101 return ( 101 return (
102 <div> 102 <div>
103 <el-button 103 <el-button
104 type="primary" 104 type="text"
105 class='btnColor'
105 onClick={() => { 106 onClick={() => {
106 this.handleEdit(scope.row); 107 this.handleEdit(scope.row);
107 }} 108 }}
108 > 109 >
109 详情 110 详情
111 <i class="el-icon-d-arrow-right"></i>
110 </el-button> 112 </el-button>
111 </div> 113 </div>
112 ); 114 );
...@@ -145,5 +147,5 @@ export default { ...@@ -145,5 +147,5 @@ export default {
145 } 147 }
146 </script> 148 </script>
147 <style scoped lang="scss"> 149 <style scoped lang="scss">
148 @import "~@/styles/public.scss"; 150 // @import "~@/styles/public.scss";
149 </style> 151 </style>
......
...@@ -108,16 +108,17 @@ export default { ...@@ -108,16 +108,17 @@ export default {
108 }].concat(data.columns()).concat([ 108 }].concat(data.columns()).concat([
109 { 109 {
110 label: "操作", 110 label: "操作",
111 width: 170, 111 width: 80,
112 render: (h, scope) => { 112 render: (h, scope) => {
113 return ( 113 return (
114 <div> 114 <div>
115 <el-button 115 <el-button
116 type="primary" 116 type="text"
117 size="mini" 117 class='btnColor'
118 onClick={() => { this.handleEdit(scope.row) }} 118 onClick={() => { this.handleEdit(scope.row) }}
119 > 119 >
120 详情 120 详情
121 <i class="el-icon-d-arrow-right"></i>
121 </el-button> 122 </el-button>
122 </div> 123 </div>
123 ) 124 )
...@@ -160,5 +161,5 @@ export default { ...@@ -160,5 +161,5 @@ export default {
160 </script> 161 </script>
161 <style scoped lang="scss"> 162 <style scoped lang="scss">
162 // 引入表单整体样式 163 // 引入表单整体样式
163 @import "~@/styles/public.scss"; 164 // @import "~@/styles/public.scss";
164 </style> 165 </style>
......
...@@ -7,16 +7,18 @@ class data extends filter { ...@@ -7,16 +7,18 @@ class data extends filter {
7 return [ 7 return [
8 { 8 {
9 label: "行政区", 9 label: "行政区",
10 width: 80,
10 render: (h, scope) => { 11 render: (h, scope) => {
11 return ( 12 return (
12 <div> 13 <div>
13 <span>{this.dicStatus(scope.row.xzq, 'A20')}</span> 14 <span>{this.dicStatus(scope.row.qxdm, 'A20')}</span>
14 </div> 15 </div>
15 ) 16 )
16 }, 17 },
17 }, 18 },
18 { 19 {
19 label: "权属状态", 20 label: "权属状态",
21 width: 80,
20 render: (h, scope) => { 22 render: (h, scope) => {
21 return ( 23 return (
22 <div> 24 <div>
...@@ -27,15 +29,18 @@ class data extends filter { ...@@ -27,15 +29,18 @@ class data extends filter {
27 }, 29 },
28 { 30 {
29 label: "业务号", 31 label: "业务号",
30 prop: "ywh" 32 prop: "ywh",
33 minWidth: 150,
31 }, 34 },
32 { 35 {
33 label: "不动产单元号", 36 label: "不动产单元号",
34 prop: "bdcdyh" 37 prop: "bdcdyh",
38 minWidth: 150,
35 }, 39 },
36 { 40 {
37 label: "不动产产权证号", 41 label: "不动产产权证号",
38 prop: "bdcqzh" 42 prop: "bdcqzh",
43 minWidth: 150,
39 }, 44 },
40 { 45 {
41 label: "权利人", 46 label: "权利人",
......
...@@ -101,11 +101,12 @@ export default { ...@@ -101,11 +101,12 @@ export default {
101 return ( 101 return (
102 <div> 102 <div>
103 <el-button 103 <el-button
104 type="primary" 104 type="text"
105 size="mini" 105 class='btnColor'
106 onClick={() => { this.handleEdit(scope.row) }} 106 onClick={() => { this.handleEdit(scope.row) }}
107 > 107 >
108 详情 108 详情
109 <i class="el-icon-d-arrow-right"></i>
109 </el-button> 110 </el-button>
110 </div> 111 </div>
111 ) 112 )
...@@ -151,5 +152,5 @@ export default { ...@@ -151,5 +152,5 @@ export default {
151 } 152 }
152 </script> 153 </script>
153 <style scoped lang="scss"> 154 <style scoped lang="scss">
154 @import "~@/styles/public.scss"; 155 // @import "~@/styles/public.scss";
155 </style> 156 </style>
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-13 14:37:10
5 */
1 6
2 import filter from '@/utils/filter.js' 7 import filter from '@/utils/filter.js'
3 class data extends filter { 8 class data extends filter {
...@@ -8,10 +13,11 @@ class data extends filter { ...@@ -8,10 +13,11 @@ class data extends filter {
8 return [ 13 return [
9 { 14 {
10 label: "行政区", 15 label: "行政区",
16 width: 80,
11 render: (h, scope) => { 17 render: (h, scope) => {
12 return ( 18 return (
13 <div> 19 <div>
14 <span>{this.dicStatus(scope.row.QXDM, 'A20')}</span> 20 <span>{this.dicStatus(scope.row.qxdm, 'A20')}</span>
15 </div> 21 </div>
16 ) 22 )
17 }, 23 },
...@@ -28,11 +34,13 @@ class data extends filter { ...@@ -28,11 +34,13 @@ class data extends filter {
28 // }, 34 // },
29 { 35 {
30 label: "业务号", 36 label: "业务号",
31 prop: "YWH" 37 prop: "YWH",
38 minWidth: 150,
32 }, 39 },
33 { 40 {
34 label: "不动产单元号", 41 label: "不动产单元号",
35 prop: "BDCDYH" 42 prop: "BDCDYH",
43 minWidth: 150,
36 }, 44 },
37 { 45 {
38 label: "不动产权证号", 46 label: "不动产权证号",
......
...@@ -102,12 +102,14 @@ export default { ...@@ -102,12 +102,14 @@ export default {
102 return ( 102 return (
103 <div> 103 <div>
104 <el-button 104 <el-button
105 type="primary" 105 type="text"
106 class='btnColor'
106 onClick={() => { 107 onClick={() => {
107 this.handleEdit(scope.row); 108 this.handleEdit(scope.row);
108 }} 109 }}
109 > 110 >
110 详情 111 详情
112 <i class="el-icon-d-arrow-right"></i>
111 </el-button> 113 </el-button>
112 </div> 114 </div>
113 ); 115 );
...@@ -143,5 +145,5 @@ export default { ...@@ -143,5 +145,5 @@ export default {
143 } 145 }
144 </script> 146 </script>
145 <style scoped lang="scss"> 147 <style scoped lang="scss">
146 @import "~@/styles/public.scss"; 148 // @import "~@/styles/public.scss";
147 </style> 149 </style>
......
...@@ -11,9 +11,9 @@ ...@@ -11,9 +11,9 @@
11 </template> 11 </template>
12 12
13 <script> 13 <script>
14 import maps from "@/components/Echart/Map"; 14 import maps from "@/components/Echart/Map";
15 import brokenline from "@/components/Echart/Brokenline"; 15 import brokenline from "@/components/Echart/Brokenline";
16 export default { 16 export default {
17 data () { 17 data () {
18 return {}; 18 return {};
19 }, 19 },
...@@ -21,15 +21,15 @@ export default { ...@@ -21,15 +21,15 @@ export default {
21 mounted () { }, 21 mounted () { },
22 beforeDestroy () { }, 22 beforeDestroy () { },
23 methods: {}, 23 methods: {},
24 }; 24 };
25 </script> 25 </script>
26 26
27 <style lang="scss" scoped> 27 <style lang="scss" scoped>
28 .centercard { 28 .centercard {
29 width: 44%; 29 width: 44%;
30 height: calc(100vh - 114px); 30 height: calc(100vh - 114px);
31 box-sizing: border-box; 31 box-sizing: border-box;
32 padding: 0 .0521rem; 32 padding: 0 0.0521rem;
33 display: flex; 33 display: flex;
34 flex-direction: column; 34 flex-direction: column;
35 35
...@@ -43,13 +43,13 @@ export default { ...@@ -43,13 +43,13 @@ export default {
43 .title { 43 .title {
44 position: absolute; 44 position: absolute;
45 font-weight: bold; 45 font-weight: bold;
46 color: #02D9FD; 46 color: #02d9fd;
47 line-height: .1354rem; 47 line-height: 0.1354rem;
48 font-size: .1146rem; 48 font-size: 0.1146rem;
49 position: absolute; 49 position: absolute;
50 left: 0; 50 left: 0;
51 right: 0; 51 right: 0;
52 top: .0365rem; 52 top: 0.0365rem;
53 text-align: right; 53 text-align: right;
54 padding-right: 15%; 54 padding-right: 15%;
55 } 55 }
...@@ -65,20 +65,20 @@ export default { ...@@ -65,20 +65,20 @@ export default {
65 .title { 65 .title {
66 position: absolute; 66 position: absolute;
67 font-weight: bold; 67 font-weight: bold;
68 color: #02D9FD; 68 color: #02d9fd;
69 line-height: .1354rem; 69 line-height: 0.1354rem;
70 font-size: .1146rem; 70 font-size: 0.1146rem;
71 position: absolute; 71 position: absolute;
72 left: 0; 72 left: 0;
73 right: 0; 73 right: 0;
74 top: .0365rem; 74 top: 0.0365rem;
75 text-align: center; 75 text-align: center;
76 margin-bottom: .0521rem; 76 margin-bottom: 0.0521rem;
77 } 77 }
78 .brokenline { 78 .brokenline {
79 margin: auto; 79 margin: auto;
80 width: 100%; 80 width: 100%;
81 } 81 }
82 } 82 }
83 } 83 }
84 </style> 84 </style>
......
...@@ -9,35 +9,32 @@ ...@@ -9,35 +9,32 @@
9 <div class="d-flex"> 9 <div class="d-flex">
10 <dv-decoration-8 class="dv-dec-8" :color="decorationColor" /> 10 <dv-decoration-8 class="dv-dec-8" :color="decorationColor" />
11 <div class="title"> 11 <div class="title">
12 <span class="title-text">{{ products.name }}}</span>
13 <dv-decoration-5 12 <dv-decoration-5
14 :dur="1" 13 :dur="1"
15 class="dv-dec-5" 14 class="dv-dec-5"
16 :color="decorationColor" 15 :color="decorationColor" />
17 />
18 </div> 16 </div>
19 <dv-decoration-8 17 <dv-decoration-8
20 class="dv-dec-8" 18 class="dv-dec-8"
21 :reverse="true" 19 :reverse="true"
22 :color="decorationColor" 20 :color="decorationColor" />
23 />
24 </div> 21 </div>
25 <dv-decoration-10 class="dv-dec-10-s" /> 22 <dv-decoration-10 class="dv-dec-10-s" />
26 </div> 23 </div>
27 </div> 24 </div>
28 <screencontent v-show="isshow"/> 25 <screencontent v-show="isshow" />
29 </div> 26 </div>
30 </div> 27 </div>
31 </div> 28 </div>
32 </template> 29 </template>
33 <script> 30 <script>
34 import drawMixin from "@/utils/drawMixin"; 31 import drawMixin from "@/utils/drawMixin";
35 import screencontent from "./screencontent"; 32 import screencontent from "./screencontent";
36 export default { 33 export default {
37 mixins: [drawMixin], 34 mixins: [drawMixin],
38 data() { 35 data () {
39 return { 36 return {
40 isshow:true, 37 isshow: true,
41 loading: true, 38 loading: true,
42 decorationColor: ["#568aea", "#568aea"], 39 decorationColor: ["#568aea", "#568aea"],
43 }; 40 };
...@@ -45,27 +42,24 @@ export default { ...@@ -45,27 +42,24 @@ export default {
45 components: { 42 components: {
46 screencontent, 43 screencontent,
47 }, 44 },
48 mounted() { 45 mounted () {
49 46
50 // this.timeFn(); 47 // this.timeFn();
51 this.cancelLoading(); 48 this.cancelLoading();
52 }, 49 },
53 beforeDestroy() { 50 beforeDestroy () {
54 clearInterval(this.timing); 51 clearInterval(this.timing);
55 }, 52 },
56 methods: { 53 methods: {
57 cancelLoading() { 54 cancelLoading () {
58 setTimeout(() => { 55 setTimeout(() => {
59 this.loading = false; 56 this.loading = false;
60 }, 500); 57 }, 500);
61 }, 58 },
62 }, 59 },
63 computed: { 60 };
64 ...mapGetters(["products"]),
65 },
66 };
67 </script> 61 </script>
68 62
69 <style scoped lang="scss"> 63 <style scoped lang="scss">
70 @import "./index.scss"; 64 @import "./index.scss";
71 </style> 65 </style>
......
...@@ -55,9 +55,9 @@ ...@@ -55,9 +55,9 @@
55 55
56 <script> 56 <script>
57 57
58 import columnar from "@/components/Echart/Columnar"; 58 import columnar from "@/components/Echart/Columnar";
59 import work from "@/api/work"; 59 import work from "@/api/work";
60 export default { 60 export default {
61 data () { 61 data () {
62 return { 62 return {
63 // 日均接入量 63 // 日均接入量
...@@ -93,18 +93,18 @@ export default { ...@@ -93,18 +93,18 @@ export default {
93 XZQDM: "", 93 XZQDM: "",
94 }; 94 };
95 let res = await work.getsthjqxjrtotal(p); 95 let res = await work.getsthjqxjrtotal(p);
96 this.stjrl=res.result.stsum 96 this.stjrl = res.result.stsum
97 this.qxjrl=res.result.qxsum 97 this.qxjrl = res.result.qxsum
98 this.qxerrer=Number(res.result.qxjrerrer) 98 this.qxerrer = Number(res.result.qxjrerrer)
99 this.sterrer=Number(res.result.sthjerrer) 99 this.sterrer = Number(res.result.sthjerrer)
100 if(res.result.sum=="0"){ 100 if (res.result.sum == "0") {
101 this.qxcgl="100%" 101 this.qxcgl = "100%"
102 this.stcgl="100%" 102 this.stcgl = "100%"
103 }else{ 103 } else {
104 let qxcglnum=Number(res.result.qxjrsuccess)/this.qxjrl*100 104 let qxcglnum = Number(res.result.qxjrsuccess) / this.qxjrl * 100
105 let stcgl=Number(res.result.sthjsuccess)/this.qxjrl*100 105 let stcgl = Number(res.result.sthjsuccess) / this.qxjrl * 100
106 this.qxcgl=qxcglnum.toFixed(2)+"%"; 106 this.qxcgl = qxcglnum.toFixed(2) + "%";
107 this.stcgl=stcgl.toFixed(2)+"%"; 107 this.stcgl = stcgl.toFixed(2) + "%";
108 108
109 } 109 }
110 } catch (error) { 110 } catch (error) {
...@@ -113,58 +113,47 @@ export default { ...@@ -113,58 +113,47 @@ export default {
113 }); 113 });
114 }, 114 },
115 }, 115 },
116 }; 116 };
117 </script> 117 </script>
118 118
119 <style lang="scss" scoped> 119 <style lang="scss" scoped>
120 .leftcard { 120 .leftcard {
121 width: 32%; 121 width: 32%;
122 height: calc(100vh -114px);
123 display: flex; 122 display: flex;
123 height: calc(100vh - 114px);
124 flex-direction: column; 124 flex-direction: column;
125 125
126 .card { 126 .card {
127 height: 22%;
127 background: url("~@/image/qxjr.png") no-repeat; 128 background: url("~@/image/qxjr.png") no-repeat;
128 background-size: 100% 100%; 129 background-size: 100% 100%;
129 position: relative; 130 position: relative;
130 text-align: center; 131 text-align: center;
131 width: 100%; 132 width: 100%;
132 height: 22%;
133 } 133 }
134 .carda { 134 .carda {
135 height: 22%;
135 background: url("~@/image/sthj.png") no-repeat; 136 background: url("~@/image/sthj.png") no-repeat;
136 background-size: 100% 100%; 137 background-size: 100% 100%;
137 position: relative; 138 position: relative;
138 text-align: center; 139 text-align: center;
139 width: 100%; 140 width: 100%;
140 height: 22%;
141 } 141 }
142 142
143 // .card1 {
144 // background: url("~@/image/sbtj.png") no-repeat;
145 // background-size: 100% 100%;
146 // position: relative;
147 // text-align: center;
148 // width: 100%;
149 // padding: .0417rem 0;
150 // height: 49%;
151 // }
152
153 .card1 { 143 .card1 {
154 background: url("~@/image/sbtj.png") no-repeat; 144 background: url("~@/image/sbtj.png") no-repeat;
155 background-size: 100% 100%; 145 background-size: 100% 100%;
156 position: relative; 146 position: relative;
157 box-sizing: border-box; 147 box-sizing: border-box;
158 flex: 1; 148 flex: 1;
159 height: 56%;
160 } 149 }
161 150
162 .cardhead { 151 .cardhead {
163 color: #02d9fd; 152 color: #02d9fd;
164 line-height: .125rem; 153 line-height: 0.125rem;
165 letter-spacing: .0104rem; 154 letter-spacing: 0.0104rem;
166 position: absolute; 155 position: absolute;
167 font-size: .1042rem; 156 font-size: 0.1042rem;
168 left: 0; 157 left: 0;
169 right: 0; 158 right: 0;
170 margin: auto; 159 margin: auto;
...@@ -175,7 +164,7 @@ export default { ...@@ -175,7 +164,7 @@ export default {
175 164
176 .rjjrlList { 165 .rjjrlList {
177 display: flex; 166 display: flex;
178 margin-top: .01781rem; 167 margin-top: 0.01781rem;
179 168
180 .qxjr { 169 .qxjr {
181 background: url("~@/image/jrl3.png"); 170 background: url("~@/image/jrl3.png");
...@@ -188,12 +177,12 @@ export default { ...@@ -188,12 +177,12 @@ export default {
188 } 177 }
189 178
190 p { 179 p {
191 margin: 0 .0156rem .0521rem .0156rem; 180 margin: 0 0.0156rem 0.0521rem 0.0156rem;
192 font-weight: 700; 181 font-weight: 700;
193 width: .195rem; 182 width: 0.195rem;
194 height: .2475rem; 183 height: 0.2475rem;
195 font-size: .2863rem; 184 font-size: 0.2863rem;
196 font-size: .2867rem; 185 font-size: 0.2867rem;
197 } 186 }
198 } 187 }
199 188
...@@ -204,35 +193,40 @@ export default { ...@@ -204,35 +193,40 @@ export default {
204 // padding: 35px 20px 20px 20px; 193 // padding: 35px 20px 20px 20px;
205 box-sizing: border-box; 194 box-sizing: border-box;
206 color: #e3f1ff; 195 color: #e3f1ff;
207 margin-top: .1263rem; 196 margin-top: 0.1263rem;
208 197
209 .cardcontent-left { 198 .cardcontent-left {
210 width: 60%; 199 width: 60%;
211 flex-direction: column; 200 flex-direction: column;
212 position: relative; 201 position: relative;
213 li{ 202 flex: 1;
214 font-size: .1042rem; 203 height: 100%;
204 li {
205 font-size: 0.1042rem;
215 } 206 }
216 } 207 }
217 208
218 .cardcontent-left::before { 209 .cardcontent-left::before {
219 position: absolute; 210 position: absolute;
220 right: 0; 211 right: 0;
221 top: .3042rem; 212 top: 0.3042rem;
222 content: ""; 213 content: "";
223 width: .0052rem; 214 width: 0.0052rem;
224 height: .4688rem; 215 height: 0.4688rem;
225 background: linear-gradient(180deg, 216 background: linear-gradient(
217 180deg,
226 #091b4c 0%, 218 #091b4c 0%,
227 #47b5e0 56%, 219 #47b5e0 56%,
228 #091b4c 100%); 220 #091b4c 100%
221 );
229 } 222 }
230 223
231 .cardcontent-right { 224 .cardcontent-right {
232 flex: 1; 225 flex: 1;
233 width: 100%; 226 width: 100%;
227 height: 100%;
234 flex-direction: column; 228 flex-direction: column;
235 font-size: .0833rem; 229 font-size: 0.09977rem;
236 230
237 .bad { 231 .bad {
238 color: #c97168; 232 color: #c97168;
...@@ -243,18 +237,18 @@ export default { ...@@ -243,18 +237,18 @@ export default {
243 } 237 }
244 238
245 p { 239 p {
246 margin-bottom: .0417rem; 240 margin-bottom: 0.0417rem;
247 241
248 span:nth-child(1) { 242 span:nth-child(1) {
249 margin-right: .0781rem; 243 margin-right: 0.0781rem;
250 } 244 }
251 245
252 span:nth-child(2) { 246 span:nth-child(2) {
253 font-size: .1042rem; 247 font-size: 0.1142rem;
254 font-weight: 900; 248 font-weight: 900;
255 } 249 }
256 } 250 }
257 } 251 }
258 } 252 }
259 } 253 }
260 </style> 254 </style>
......
1 <template> 1 <template>
2 <div class="rightcard"> 2 <div class="rightcard">
3 <div class="card2 cardCon mt-10">
4 <div class="cardhead">登记业务量</div>
5 <Rose />
6 </div>
3 <div class="card1 cardCon d-center"> 7 <div class="card1 cardCon d-center">
4 <div class="cardhead">新建国有房屋信息</div> 8 <div class="cardhead">新建国有房屋信息</div>
5 <div class="cardcontent" style="margin-top: .3646rem"> 9 <div class="cardcontent" style="margin-top: .3646rem">
6 <dv-scroll-board v-if="config.data.length > 0" :config="config" class="board" /> 10 <dv-scroll-board v-if="config.data.length > 0" :config="config" class="board" />
7 <div v-else="config.data.length==0" class="nodata">暂无数据</div> 11 <div v-else class="nodata">暂无数据</div>
8 </div> 12 </div>
9 </div> 13 </div>
10 <div class="card2 cardCon mt-10"> 14
11 <div class="cardhead">登记业务量</div>
12 <Rose />
13 </div>
14 <div class="card3 cardCon mt-10"> 15 <div class="card3 cardCon mt-10">
15 <div class="cardhead">登记类型总量</div> 16 <div class="cardhead">登记类型总量</div>
16 <columnarsmat /> 17 <columnarsmat />
...@@ -19,10 +20,10 @@ ...@@ -19,10 +20,10 @@
19 </template> 20 </template>
20 21
21 <script> 22 <script>
22 import columnarsmat from "@/components/Echart/Columnarsmat"; 23 import columnarsmat from "@/components/Echart/Columnarsmat";
23 import Rose from "@/components/Echart/Rose"; 24 import Rose from "@/components/Echart/Rose";
24 import work from "@/api/work"; 25 import work from "@/api/work";
25 export default { 26 export default {
26 data () { 27 data () {
27 return { 28 return {
28 config: { 29 config: {
...@@ -54,28 +55,28 @@ export default { ...@@ -54,28 +55,28 @@ export default {
54 } 55 }
55 } 56 }
56 } 57 }
57 } 58 }
58 </script> 59 </script>
59 <style lang="scss" scoped> 60 <style lang="scss" scoped>
60 /deep/.row-item:not(:last-child) { 61 /deep/.row-item:not(:last-child) {
61 margin-bottom: .026rem; 62 margin-bottom: 0.026rem;
62 } 63 }
63 64
64 .rightcard { 65 .rightcard {
65 width: 32%; 66 width: 32%;
66 display: flex; 67 display: flex;
67 height: calc(100vh - 114px); 68 height: calc(100vh - 114px);
68 flex-direction: column; 69 flex-direction: column;
69 70
70 .cardhead { 71 .cardhead {
71 font-size: .1042rem; 72 font-size: 0.1042rem;
72 font-weight: bold; 73 font-weight: bold;
73 color: #02D9FD; 74 color: #02d9fd;
74 text-align: center; 75 text-align: center;
75 position: absolute; 76 position: absolute;
76 left: 0; 77 left: 0;
77 right: 0; 78 right: 0;
78 top: .0625rem; 79 top: 0.0625rem;
79 text-align: center; 80 text-align: center;
80 } 81 }
81 82
...@@ -86,8 +87,8 @@ export default { ...@@ -86,8 +87,8 @@ export default {
86 overflow: hidden; 87 overflow: hidden;
87 88
88 .nodata { 89 .nodata {
89 font-size: .1042rem; 90 font-size: 0.1042rem;
90 color: #02D9FD; 91 color: #02d9fd;
91 font-weight: bold; 92 font-weight: bold;
92 margin: auto; 93 margin: auto;
93 margin-top: 120px; 94 margin-top: 120px;
...@@ -95,7 +96,7 @@ export default { ...@@ -95,7 +96,7 @@ export default {
95 } 96 }
96 97
97 .cardCon { 98 .cardCon {
98 padding: .0521rem .026rem; 99 padding: 0.0521rem 0.026rem;
99 position: relative; 100 position: relative;
100 text-align: center; 101 text-align: center;
101 width: 100%; 102 width: 100%;
...@@ -105,19 +106,24 @@ export default { ...@@ -105,19 +106,24 @@ export default {
105 height: 33%; 106 height: 33%;
106 background: url("~@/image/xjgyfwxx.png") no-repeat; 107 background: url("~@/image/xjgyfwxx.png") no-repeat;
107 background-size: 100% 100%; 108 background-size: 100% 100%;
108 109 /deep/.dv-scroll-board {
110 .header {
111 height: 0.1875rem;
112 align-items: center;
113 }
114 }
109 .board { 115 .board {
110 width: 90%; 116 width: 90%;
111 margin: 0 auto; 117 margin: 0 auto;
112 height: 1.1031rem; 118 height: 1.1031rem;
113 margin-top: .0521rem; 119 margin-top: 0.0521rem;
114 /deep/.header{ 120 /deep/.header {
115 font-size: .0738rem; 121 font-size: 0.0738rem;
116 } 122 }
117 /deep/.rows{ 123 /deep/.rows {
118 .ceil{ 124 .ceil {
119 font-size: .0738rem; 125 font-size: 0.0738rem;
120 color: #6BC1FC 126 color: #6bc1fc;
121 } 127 }
122 } 128 }
123 } 129 }
...@@ -127,7 +133,7 @@ export default { ...@@ -127,7 +133,7 @@ export default {
127 height: 33%; 133 height: 33%;
128 background: url("~@/image/djywl.png") no-repeat; 134 background: url("~@/image/djywl.png") no-repeat;
129 background-size: 100% 100%; 135 background-size: 100% 100%;
130 padding: .3825rem 0 0 0; 136 padding: 0.3825rem 0 0 0;
131 } 137 }
132 138
133 .card3 { 139 .card3 {
...@@ -138,12 +144,12 @@ export default { ...@@ -138,12 +144,12 @@ export default {
138 padding-bottom: 0; 144 padding-bottom: 0;
139 145
140 .cardhead { 146 .cardhead {
141 top: .0417rem; 147 top: 0.0417rem;
142 } 148 }
143 } 149 }
144 150
145 .cardhead { 151 .cardhead {
146 position: absolute; 152 position: absolute;
147 } 153 }
148 } 154 }
149 </style> 155 </style>
......
...@@ -10,29 +10,16 @@ ...@@ -10,29 +10,16 @@
10 <el-row> 10 <el-row>
11 <el-col :span="4"> 11 <el-col :span="4">
12 <el-form-item label="开始日期" prop="startTime"> 12 <el-form-item label="开始日期" prop="startTime">
13 <el-date-picker 13 <el-date-picker type="date" :clearable="false" class="width100" placeholder="开始日期"
14 type="date" 14 :picker-options="pickerOptionsStart" v-model="form.startTime"
15 :clearable="false" 15 value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
16 class="width100"
17 placeholder="开始日期"
18 :picker-options="pickerOptionsStart"
19 v-model="form.startTime"
20 value-format="yyyy-MM-dd HH:mm:ss"
21 ></el-date-picker>
22 </el-form-item> 16 </el-form-item>
23 </el-col> 17 </el-col>
24 <el-col :span="4"> 18 <el-col :span="4">
25 <el-form-item label="结束日期" prop="endTime"> 19 <el-form-item label="结束日期" prop="endTime">
26 <el-date-picker 20 <el-date-picker class="width100" :clearable="false" type="date" placeholder="结束日期"
27 class="width100" 21 :picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss"
28 :clearable="false" 22 @change="endTimeChange"></el-date-picker>
29 type="date"
30 placeholder="结束日期"
31 :picker-options="pickerOptionsEnd"
32 v-model="form.endTime"
33 value-format="yyyy-MM-dd HH:mm:ss"
34 @change="endTimeChange"
35 ></el-date-picker>
36 </el-form-item> 23 </el-form-item>
37 </el-col> 24 </el-col>
38 <!-- 操作按钮 --> 25 <!-- 操作按钮 -->
...@@ -57,7 +44,7 @@ import efficient from "@/api/efficient"; ...@@ -57,7 +44,7 @@ import efficient from "@/api/efficient";
57 import { getFirstDayOfSeason, timeFormat } from "@/utils/operation"; 44 import { getFirstDayOfSeason, timeFormat } from "@/utils/operation";
58 export default { 45 export default {
59 name: "jktj", 46 name: "jktj",
60 data() { 47 data () {
61 return { 48 return {
62 // 开始日期限制 49 // 开始日期限制
63 pickerOptionsStart: { 50 pickerOptionsStart: {
...@@ -83,19 +70,19 @@ export default { ...@@ -83,19 +70,19 @@ export default {
83 pieChartsData: [], 70 pieChartsData: [],
84 }; 71 };
85 }, 72 },
86 created() {}, 73 created () { },
87 mounted() { 74 mounted () {
88 this.getProcessCounts(); 75 this.getProcessCounts();
89 }, 76 },
90 computed: { 77 computed: {
91 ...mapGetters(["dicData"]), 78 ...mapGetters(["dicData"]),
92 }, 79 },
93 methods: { 80 methods: {
94 endTimeChange(val) { 81 endTimeChange (val) {
95 this.form.endTime = timeFormat(new Date(val), true); 82 this.form.endTime = timeFormat(new Date(val), true);
96 }, 83 },
97 //查询各区县办件数量 84 //查询各区县办件数量
98 async getProcessCounts() { 85 async getProcessCounts () {
99 this.pieChartsData = []; 86 this.pieChartsData = [];
100 let { result: res } = await efficient.getProcessCounts( 87 let { result: res } = await efficient.getProcessCounts(
101 this.form.startTime, 88 this.form.startTime,
...@@ -121,7 +108,7 @@ export default { ...@@ -121,7 +108,7 @@ export default {
121 }); 108 });
122 }, 109 },
123 // 重置 110 // 重置
124 resetForm() { 111 resetForm () {
125 this.form = { 112 this.form = {
126 startTime: getFirstDayOfSeason(), 113 startTime: getFirstDayOfSeason(),
127 endTime: timeFormat(new Date(), true), 114 endTime: timeFormat(new Date(), true),
...@@ -129,7 +116,7 @@ export default { ...@@ -129,7 +116,7 @@ export default {
129 this.getProcessCounts(); 116 this.getProcessCounts();
130 }, 117 },
131 //玫瑰图初始化 118 //玫瑰图初始化
132 echartInit() { 119 echartInit () {
133 let _this = this; 120 let _this = this;
134 // 基于准备好的dom,初始化echarts实例 121 // 基于准备好的dom,初始化echarts实例
135 let myChart = this.$echarts.init(document.getElementById("myChart")); 122 let myChart = this.$echarts.init(document.getElementById("myChart"));
...@@ -190,7 +177,7 @@ export default { ...@@ -190,7 +177,7 @@ export default {
190 }); 177 });
191 }, 178 },
192 //柱图初始化 179 //柱图初始化
193 async barChartInit(recType) { 180 async barChartInit (recType) {
194 //请求recType对应业务的各区县数据 181 //请求recType对应业务的各区县数据
195 let { result: res } = await efficient.getProcessDays( 182 let { result: res } = await efficient.getProcessDays(
196 recType, 183 recType,
...@@ -325,7 +312,7 @@ export default { ...@@ -325,7 +312,7 @@ export default {
325 }; 312 };
326 </script> 313 </script>
327 <style scoped lang="scss"> 314 <style scoped lang="scss">
328 @import "~@/styles/public.scss"; 315 // @import "~@/styles/public.scss";
329 316
330 .jktjDetail { 317 .jktjDetail {
331 height: 100%; 318 height: 100%;
...@@ -364,5 +351,5 @@ export default { ...@@ -364,5 +351,5 @@ export default {
364 } 351 }
365 </style> 352 </style>
366 <style scoped lang="scss"> 353 <style scoped lang="scss">
367 @import "~@/styles/public.scss"; 354 // @import "~@/styles/public.scss";
368 </style> 355 </style>
......
...@@ -10,47 +10,24 @@ ...@@ -10,47 +10,24 @@
10 <el-row> 10 <el-row>
11 <el-col :span="4"> 11 <el-col :span="4">
12 <el-form-item label="行政区"> 12 <el-form-item label="行政区">
13 <el-select 13 <el-select v-model="form.qxdm" class="width100" clearable placeholder="行政区">
14 v-model="form.qxdm" 14 <el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
15 class="width100"
16 clearable
17 placeholder="行政区"
18 >
19 <el-option
20 v-for="item in dicData['A20']"
21 :key="item.DCODE"
22 :label="item.DNAME"
23 :value="item.DCODE"
24 >
25 </el-option> 15 </el-option>
26 </el-select> 16 </el-select>
27 </el-form-item> 17 </el-form-item>
28 </el-col> 18 </el-col>
29 <el-col :span="4"> 19 <el-col :span="4">
30 <el-form-item label="开始日期" prop="startTime"> 20 <el-form-item label="开始日期" prop="startTime">
31 <el-date-picker 21 <el-date-picker type="date" :clearable="false" class="width100" placeholder="开始日期"
32 type="date" 22 :picker-options="pickerOptionsStart" v-model="form.startTime"
33 :clearable="false" 23 value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
34 class="width100"
35 placeholder="开始日期"
36 :picker-options="pickerOptionsStart"
37 v-model="form.startTime"
38 value-format="yyyy-MM-dd HH:mm:ss"
39 ></el-date-picker>
40 </el-form-item> 24 </el-form-item>
41 </el-col> 25 </el-col>
42 <el-col :span="4"> 26 <el-col :span="4">
43 <el-form-item label="结束日期" prop="endTime"> 27 <el-form-item label="结束日期" prop="endTime">
44 <el-date-picker 28 <el-date-picker type="date" :clearable="false" class="width100" placeholder="结束日期"
45 type="date" 29 :picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss"
46 :clearable="false" 30 @change="endTimeChange"></el-date-picker>
47 class="width100"
48 placeholder="结束日期"
49 :picker-options="pickerOptionsEnd"
50 v-model="form.endTime"
51 value-format="yyyy-MM-dd HH:mm:ss"
52 @change="endTimeChange"
53 ></el-date-picker>
54 </el-form-item> 31 </el-form-item>
55 </el-col> 32 </el-col>
56 <!-- 操作按钮 --> 33 <!-- 操作按钮 -->
...@@ -98,7 +75,7 @@ export default { ...@@ -98,7 +75,7 @@ export default {
98 // 搜索表单 75 // 搜索表单
99 form: { 76 form: {
100 startTime: getFirstDayOfSeason(), 77 startTime: getFirstDayOfSeason(),
101 endTime: timeFormat(new Date(),true), 78 endTime: timeFormat(new Date(), true),
102 qxdm: "", 79 qxdm: "",
103 }, 80 },
104 }; 81 };
...@@ -111,8 +88,8 @@ export default { ...@@ -111,8 +88,8 @@ export default {
111 ...mapGetters(["dicData"]), 88 ...mapGetters(["dicData"]),
112 }, 89 },
113 methods: { 90 methods: {
114 endTimeChange(val){ 91 endTimeChange (val) {
115 this.form.endTime = timeFormat(new Date(val),true) 92 this.form.endTime = timeFormat(new Date(val), true)
116 }, 93 },
117 async getSuucessRate () { 94 async getSuucessRate () {
118 this.recTypeArr = []; 95 this.recTypeArr = [];
...@@ -137,7 +114,7 @@ export default { ...@@ -137,7 +114,7 @@ export default {
137 resetForm () { 114 resetForm () {
138 this.form = { 115 this.form = {
139 startTime: getFirstDayOfSeason(), 116 startTime: getFirstDayOfSeason(),
140 endTime: timeFormat(new Date(),true), 117 endTime: timeFormat(new Date(), true),
141 qxdm: "", 118 qxdm: "",
142 }; 119 };
143 this.getSuucessRate(); 120 this.getSuucessRate();
...@@ -231,7 +208,7 @@ export default { ...@@ -231,7 +208,7 @@ export default {
231 color: "#fff", 208 color: "#fff",
232 fontSize: "16", 209 fontSize: "16",
233 }, 210 },
234 splitNumber:2, 211 splitNumber: 2,
235 axisLabel: { 212 axisLabel: {
236 formatter: "{value} %", 213 formatter: "{value} %",
237 textStyle: { 214 textStyle: {
...@@ -302,7 +279,7 @@ export default { ...@@ -302,7 +279,7 @@ export default {
302 }; 279 };
303 </script> 280 </script>
304 <style scoped lang="scss"> 281 <style scoped lang="scss">
305 @import "~@/styles/public.scss"; 282 // @import "~@/styles/public.scss";
306 283
307 .jktjDetail { 284 .jktjDetail {
308 height: 100%; 285 height: 100%;
...@@ -337,5 +314,5 @@ export default { ...@@ -337,5 +314,5 @@ export default {
337 } 314 }
338 </style> 315 </style>
339 <style scoped lang="scss"> 316 <style scoped lang="scss">
340 @import "~@/styles/public.scss"; 317 // @import "~@/styles/public.scss";
341 </style> 318 </style>
......
...@@ -10,47 +10,24 @@ ...@@ -10,47 +10,24 @@
10 <el-row> 10 <el-row>
11 <el-col :span="4"> 11 <el-col :span="4">
12 <el-form-item label="行政区"> 12 <el-form-item label="行政区">
13 <el-select 13 <el-select v-model="form.qxdm" class="width100" clearable placeholder="行政区">
14 v-model="form.qxdm" 14 <el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
15 class="width100"
16 clearable
17 placeholder="行政区"
18 >
19 <el-option
20 v-for="item in dicData['A20']"
21 :key="item.DCODE"
22 :label="item.DNAME"
23 :value="item.DCODE"
24 >
25 </el-option> 15 </el-option>
26 </el-select> 16 </el-select>
27 </el-form-item> 17 </el-form-item>
28 </el-col> 18 </el-col>
29 <el-col :span="4"> 19 <el-col :span="4">
30 <el-form-item label="开始日期"> 20 <el-form-item label="开始日期">
31 <el-date-picker 21 <el-date-picker class="width100" :clearable="false" type="date" placeholder="开始日期"
32 class="width100" 22 :picker-options="pickerOptionsStart" v-model="form.startTime"
33 :clearable="false" 23 value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
34 type="date"
35 placeholder="开始日期"
36 :picker-options="pickerOptionsStart"
37 v-model="form.startTime"
38 value-format="yyyy-MM-dd HH:mm:ss"
39 ></el-date-picker>
40 </el-form-item> 24 </el-form-item>
41 </el-col> 25 </el-col>
42 <el-col :span="4"> 26 <el-col :span="4">
43 <el-form-item label="结束日期"> 27 <el-form-item label="结束日期">
44 <el-date-picker 28 <el-date-picker class="width100" :clearable="false" type="date" placeholder="结束日期"
45 class="width100" 29 :picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss"
46 :clearable="false" 30 @change="endTimeChange"></el-date-picker>
47 type="date"
48 placeholder="结束日期"
49 :picker-options="pickerOptionsEnd"
50 v-model="form.endTime"
51 value-format="yyyy-MM-dd HH:mm:ss"
52 @change="endTimeChange"
53 ></el-date-picker>
54 </el-form-item> 31 </el-form-item>
55 </el-col> 32 </el-col>
56 <!-- 操作按钮 --> 33 <!-- 操作按钮 -->
...@@ -98,13 +75,13 @@ export default { ...@@ -98,13 +75,13 @@ export default {
98 // 搜索表单 75 // 搜索表单
99 form: { 76 form: {
100 startTime: getFirstDayOfSeason(), 77 startTime: getFirstDayOfSeason(),
101 endTime: timeFormat(new Date(),true), 78 endTime: timeFormat(new Date(), true),
102 qxdm: "", 79 qxdm: "",
103 }, 80 },
104 chartData:[] 81 chartData: []
105 }; 82 };
106 }, 83 },
107 mounted() { 84 mounted () {
108 // 查询业务量 85 // 查询业务量
109 this.getProcessCounts(); 86 this.getProcessCounts();
110 }, 87 },
...@@ -112,10 +89,10 @@ export default { ...@@ -112,10 +89,10 @@ export default {
112 ...mapGetters(["dicData"]), 89 ...mapGetters(["dicData"]),
113 }, 90 },
114 methods: { 91 methods: {
115 endTimeChange(val){ 92 endTimeChange (val) {
116 this.form.endTime = timeFormat(new Date(val),true) 93 this.form.endTime = timeFormat(new Date(val), true)
117 }, 94 },
118 async getProcessCounts(){ 95 async getProcessCounts () {
119 this.chartData = []; 96 this.chartData = [];
120 let { result: res } = await efficient.getProcessCounts( 97 let { result: res } = await efficient.getProcessCounts(
121 this.form.startTime, 98 this.form.startTime,
...@@ -133,13 +110,13 @@ export default { ...@@ -133,13 +110,13 @@ export default {
133 resetForm () { 110 resetForm () {
134 this.form = { 111 this.form = {
135 startTime: getFirstDayOfSeason(), 112 startTime: getFirstDayOfSeason(),
136 endTime: timeFormat(new Date(),true), 113 endTime: timeFormat(new Date(), true),
137 qxdm: "" 114 qxdm: ""
138 }; 115 };
139 this.getProcessCounts(); 116 this.getProcessCounts();
140 }, 117 },
141 //图表渲染 118 //图表渲染
142 echartInit(chartArr) { 119 echartInit (chartArr) {
143 // 基于准备好的dom,初始化echarts实例 120 // 基于准备好的dom,初始化echarts实例
144 let myChart = this.$echarts.init(document.getElementById("myChart")); 121 let myChart = this.$echarts.init(document.getElementById("myChart"));
145 // 绘制图表 122 // 绘制图表
...@@ -158,7 +135,7 @@ export default { ...@@ -158,7 +135,7 @@ export default {
158 xAxis: [ 135 xAxis: [
159 { 136 {
160 type: "category", 137 type: "category",
161 data: chartArr.map(item=>item.recTypeName), 138 data: chartArr.map(item => item.recTypeName),
162 axisLabel: { 139 axisLabel: {
163 interval: 0, 140 interval: 0,
164 formatter: function (val) { 141 formatter: function (val) {
...@@ -221,7 +198,7 @@ export default { ...@@ -221,7 +198,7 @@ export default {
221 }, 198 },
222 }, 199 },
223 barMaxWidth: '60', 200 barMaxWidth: '60',
224 data: chartArr.map(item=>item.counts), 201 data: chartArr.map(item => item.counts),
225 }, 202 },
226 ], 203 ],
227 }); 204 });
...@@ -230,7 +207,7 @@ export default { ...@@ -230,7 +207,7 @@ export default {
230 }; 207 };
231 </script> 208 </script>
232 <style scoped lang="scss"> 209 <style scoped lang="scss">
233 @import "~@/styles/public.scss"; 210 // @import "~@/styles/public.scss";
234 211
235 .jktjDetail { 212 .jktjDetail {
236 height: 100%; 213 height: 100%;
...@@ -240,11 +217,13 @@ export default { ...@@ -240,11 +217,13 @@ export default {
240 .rows { 217 .rows {
241 margin-left: 100px; 218 margin-left: 100px;
242 } 219 }
220
243 .center { 221 .center {
244 line-height: 50vh; 222 line-height: 50vh;
245 text-align: center; 223 text-align: center;
246 color:#b6b5b5 224 color: #b6b5b5
247 } 225 }
226
248 .echarts-box { 227 .echarts-box {
249 display: flex; 228 display: flex;
250 justify-content: center; 229 justify-content: center;
...@@ -263,5 +242,5 @@ export default { ...@@ -263,5 +242,5 @@ export default {
263 } 242 }
264 </style> 243 </style>
265 <style scoped lang="scss"> 244 <style scoped lang="scss">
266 @import "~@/styles/public.scss"; 245 // @import "~@/styles/public.scss";
267 </style> 246 </style>
......
...@@ -46,7 +46,7 @@ class data extends filter { ...@@ -46,7 +46,7 @@ class data extends filter {
46 { 46 {
47 prop: "bizMsgid", 47 prop: "bizMsgid",
48 label: "业务报文ID", 48 label: "业务报文ID",
49 width: 90, 49 width: 98,
50 }, 50 },
51 { 51 {
52 prop: "createdate", 52 prop: "createdate",
...@@ -56,7 +56,7 @@ class data extends filter { ...@@ -56,7 +56,7 @@ class data extends filter {
56 { 56 {
57 prop: "recflowid", 57 prop: "recflowid",
58 label: "业务流水号", 58 label: "业务流水号",
59 width: 95, 59 width: 100,
60 }, 60 },
61 { 61 {
62 prop: "estatenum", 62 prop: "estatenum",
...@@ -70,6 +70,7 @@ class data extends filter { ...@@ -70,6 +70,7 @@ class data extends filter {
70 }, 70 },
71 { 71 {
72 prop: "rectypeName", 72 prop: "rectypeName",
73 minWidth: 240,
73 label: "业务名称", 74 label: "业务名称",
74 render: (h, scope) => { 75 render: (h, scope) => {
75 return ( 76 return (
......
...@@ -24,9 +24,8 @@ ...@@ -24,9 +24,8 @@
24 </el-col> 24 </el-col>
25 <el-col :span="6"> 25 <el-col :span="6">
26 <el-form-item label="至" prop="receiveEndTime" label-width="35px"> 26 <el-form-item label="至" prop="receiveEndTime" label-width="35px">
27 <el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd" 27 <el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd" clearable
28 clearable v-model="form.receiveEndTime" value-format="yyyy-MM-dd HH:mm:ss" 28 v-model="form.receiveEndTime" value-format="yyyy-MM-dd HH:mm:ss" @change="endTimeChange"></el-date-picker>
29 @change="endTimeChange"></el-date-picker>
30 </el-form-item> 29 </el-form-item>
31 </el-col> 30 </el-col>
32 <el-col :span="6"> 31 <el-col :span="6">
...@@ -119,6 +118,7 @@ export default { ...@@ -119,6 +118,7 @@ export default {
119 }, 118 },
120 data () { 119 data () {
121 return { 120 return {
121
122 pickerOptionsStart: { 122 pickerOptionsStart: {
123 disabledDate: (time) => { 123 disabledDate: (time) => {
124 let endDateVal = this.form.receiveEndTime; 124 let endDateVal = this.form.receiveEndTime;
...@@ -189,14 +189,29 @@ export default { ...@@ -189,14 +189,29 @@ export default {
189 render: (h, scope) => { 189 render: (h, scope) => {
190 return ( 190 return (
191 <div> 191 <div>
192 {
193 scope.row.receiveState == 2 ?
192 <el-button 194 <el-button
193 type="primary" 195 type="text"
196 class='successColor'
194 onClick={() => { 197 onClick={() => {
195 this.handleEdit(scope.row); 198 this.handleDetails(scope.row);
199 }}
200 >
201 修改
202 <i class="el-icon-d-arrow-right"></i>
203 </el-button> :
204 <el-button
205 type="text"
206 class='btnColor'
207 onClick={() => {
208 this.handleDetails(scope.row);
196 }} 209 }}
197 > 210 >
198 详情 211 详情
212 <i class="el-icon-d-arrow-right"></i>
199 </el-button> 213 </el-button>
214 }
200 </div> 215 </div>
201 ) 216 )
202 } 217 }
...@@ -245,13 +260,41 @@ export default { ...@@ -245,13 +260,41 @@ export default {
245 // 结果 260 // 结果
246 handleResult (row) { 261 handleResult (row) {
247 this.$popupDialog('响应结果', 'views/jsbwcx/components/result', row) 262 this.$popupDialog('响应结果', 'views/jsbwcx/components/result', row)
263 },
264 // 详情
265 handleDetails (row) {
266 if (row.rectypeName) {
267 this.title = row.rectypeName
268 } else {
269 let Title = ''
270 this.dicData['A21'].map(item => {
271 if (item.DCODE == row.DJLX || item.DCODE == row.djlx) {
272 Title = item.DNAME
273 return
274 }
275 })
276
277 this.dicData['A8'].map(item => {
278 if (item.DCODE == row.QLLX || item.DCODE == row.qllx) {
279 Title += '-' + item.DNAME
280 return
248 } 281 }
282 })
283 this.title = Title
284 }
285 this.$refs.editLog.isShow(row);
286 if (row.receiveState == 2) {
287 this.$store.dispatch('business/setReportLogEdit')
288 } else {
289 this.$store.dispatch('business/setEdit')
290 }
291 },
249 } 292 }
250 } 293 }
251 </script> 294 </script>
252 <style scoped lang="scss"> 295 <style scoped lang="scss">
253 // 引入表单整体样式 296 // 引入表单整体样式
254 @import "~@/styles/public.scss"; 297 // // @import "~@/styles/public.scss";
255 // 引入当前css 298 // 引入当前css
256 @import "./index.scss"; 299 @import "./index.scss";
257 </style> 300 </style>
......
1 <template> 1 <template>
2 <div class="bg"> 2 <div class="bg">
3 <div class="login-logo"></div>
3 <div class="login-inner-bg login"> 4 <div class="login-inner-bg login">
4 <h2>{{ productName }}</h2> 5 <h2>{{ productName }}</h2>
5 <div class="user_style"> 6 <div class="user_style">
6 <h3>欢迎登录</h3> 7 <h3>欢迎登录</h3>
7 <el-form 8 <el-form :model="user" :rules="rules" ref="user" id="loginform" class="demo-ruleForm">
8 :model="user"
9 :rules="rules"
10 ref="user"
11 id="loginform"
12 class="demo-ruleForm"
13 >
14 <el-form-item prop="account"> 9 <el-form-item prop="account">
15 <el-input 10 <el-input class="username" v-model="user.account" placeholder="请输入用户名"></el-input>
16 class="username"
17 v-model="user.account"
18 placeholder="请输入用户名"
19 ></el-input>
20 </el-form-item> 11 </el-form-item>
21 <el-form-item prop="password"> 12 <el-form-item prop="password">
22 <el-input 13 <el-input type="password" class="password" @keyup.enter.native="login('user')" v-model="user.password"
23 type="password" 14 placeholder="请输入密码"></el-input>
24 class="password"
25 v-model="user.password"
26 placeholder="请输入密码"
27 ></el-input>
28 </el-form-item> 15 </el-form-item>
29 <!-- <el-form-item>
30 <el-checkbox
31 label="记住用户名"
32 @change="checkUserName"
33 ></el-checkbox>
34 </el-form-item> -->
35 <el-form-item class="login-btn"> 16 <el-form-item class="login-btn">
36 <el-button type="primary" style="width: 100%" @click="login('user')" 17 <el-button type="primary" style="width: 100%" @click="login('user')">登录</el-button>
37 >登录</el-button
38 >
39 </el-form-item> 18 </el-form-item>
40 </el-form> 19 </el-form>
41 </div> 20 </div>
...@@ -44,11 +23,11 @@ ...@@ -44,11 +23,11 @@
44 </template> 23 </template>
45 24
46 <script> 25 <script>
47 import { loginIn } from "@/api/login.js"; 26 import { loginIn } from "@/api/login.js";
48 import { api, getAction } from "@/api/manageApi"; 27 import { api, getAction } from "@/api/manageApi";
49 export default { 28 export default {
50 name: "Login", 29 name: "Login",
51 data() { 30 data () {
52 return { 31 return {
53 user: { 32 user: {
54 account: "", 33 account: "",
...@@ -62,7 +41,7 @@ export default { ...@@ -62,7 +41,7 @@ export default {
62 }, 41 },
63 }; 42 };
64 }, 43 },
65 created() { 44 created () {
66 const params = {}; 45 const params = {};
67 const queryOptions = { 46 const queryOptions = {
68 conditionGroup: { 47 conditionGroup: {
...@@ -80,14 +59,17 @@ export default { ...@@ -80,14 +59,17 @@ export default {
80 //根据子系统code获取子系统详细信息 59 //根据子系统code获取子系统详细信息
81 getAction(api.subsystem, params).then((res) => { 60 getAction(api.subsystem, params).then((res) => {
82 if (res.status === 1) { 61 if (res.status === 1) {
83 this.productName = res.content[0].name; 62 console.log(" res.contentJJJGGG", res.content);
84 this.$store.dispatch("products/setData", res.content[0]); 63 // this.productName = res.content[0].name;
64 this.$store.dispatch("products/setData", res.content[0].code);
65 sessionStorage.setItem("products", res.content[0].code)
66 console.log("jjjggg的product");
85 } else { 67 } else {
86 this.$message.error({ message: res.message, showClose: true }); 68 this.$message.error({ message: res.message, showClose: true });
87 } 69 }
88 }); 70 });
89 }, 71 },
90 mounted() { 72 mounted () {
91 // this.checkUserName(); 73 // this.checkUserName();
92 }, 74 },
93 methods: { 75 methods: {
...@@ -106,7 +88,7 @@ export default { ...@@ -106,7 +88,7 @@ export default {
106 this.user.account = localStorage.getItem("accountId"); 88 this.user.account = localStorage.getItem("accountId");
107 } 89 }
108 }, 90 },
109 login(user) { 91 login (user) {
110 var self = this; 92 var self = this;
111 this.$refs[user].validate((valid) => { 93 this.$refs[user].validate((valid) => {
112 if (valid) { 94 if (valid) {
...@@ -128,18 +110,14 @@ export default { ...@@ -128,18 +110,14 @@ export default {
128 }); 110 });
129 }, 111 },
130 }, 112 },
131 computed: {
132 productName() {
133 return this.$store.state.products.products.name;
134 },
135 },
136 components: {}, 113 components: {},
137 }; 114 };
138 </script> 115 </script>
139 <style scoped lang="scss"> 116 <style scoped lang="scss">
140 .username, 117 .username,
141 .password { 118 .password {
142 position: relative; 119 position: relative;
120
143 &:before { 121 &:before {
144 content: ""; 122 content: "";
145 display: block; 123 display: block;
...@@ -150,19 +128,23 @@ export default { ...@@ -150,19 +128,23 @@ export default {
150 top: 7px; 128 top: 7px;
151 background-size: 100% 100%; 129 background-size: 100% 100%;
152 } 130 }
131
153 /deep/ .el-input__inner { 132 /deep/ .el-input__inner {
154 text-indent: 24px; 133 text-indent: 24px;
155 border: 1px solid rgba(11, 161, 248, 0.4); 134 border: 1px solid rgba(11, 161, 248, 0.4);
156 background-color: rgba(6, 135, 205, 0.3) !important; 135 background-color: rgba(6, 135, 205, 0.3) !important;
157 } 136 }
158 } 137 }
159 .username::before { 138
139 .username::before {
160 background-image: url(../../image/username.png); 140 background-image: url(../../image/username.png);
161 } 141 }
162 .password::before { 142
143 .password::before {
163 background-image: url(../../image/password.png); 144 background-image: url(../../image/password.png);
164 } 145 }
165 .bg { 146
147 .bg {
166 width: 100%; 148 width: 100%;
167 height: 100%; 149 height: 100%;
168 min-width: 1440px; 150 min-width: 1440px;
...@@ -171,11 +153,20 @@ export default { ...@@ -171,11 +153,20 @@ export default {
171 background-size: 100% 100%; 153 background-size: 100% 100%;
172 overflow: hidden; 154 overflow: hidden;
173 position: relative; 155 position: relative;
174 } 156 .login-logo {
157 background: url(../../image/loginLogo.png) no-repeat;
158 background-size: 100% 100%;
159 width: 28%;
160 height: 52%;
161 position: absolute;
162 top: 25%;
163 left: 19%;
164 }
165 }
175 166
176 .login-inner-bg { 167 .login-inner-bg {
177 background: url(../../image/loginBg.png) no-repeat; 168 background: url(../../image/loginBg.png) no-repeat;
178 width: 21.6%; 169 width: 20.6%;
179 height: 43%; 170 height: 43%;
180 min-width: 360px; 171 min-width: 360px;
181 min-height: 380px; 172 min-height: 380px;
...@@ -185,6 +176,7 @@ export default { ...@@ -185,6 +176,7 @@ export default {
185 background-size: 100% 100%; 176 background-size: 100% 100%;
186 box-sizing: border-box; 177 box-sizing: border-box;
187 padding: 56px; 178 padding: 56px;
179
188 h2 { 180 h2 {
189 width: 100%; 181 width: 100%;
190 font-size: 36px; 182 font-size: 36px;
...@@ -210,8 +202,9 @@ export default { ...@@ -210,8 +202,9 @@ export default {
210 -webkit-background-clip: text; 202 -webkit-background-clip: text;
211 -webkit-text-fill-color: transparent; 203 -webkit-text-fill-color: transparent;
212 } 204 }
213 } 205 }
214 .login { 206
207 .login {
215 .user_style { 208 .user_style {
216 h3 { 209 h3 {
217 color: #fff; 210 color: #fff;
...@@ -222,6 +215,7 @@ export default { ...@@ -222,6 +215,7 @@ export default {
222 font-weight: 400; 215 font-weight: 400;
223 } 216 }
224 } 217 }
218
225 .btn { 219 .btn {
226 width: 100%; 220 width: 100%;
227 height: 6vh; 221 height: 6vh;
...@@ -230,35 +224,43 @@ export default { ...@@ -230,35 +224,43 @@ export default {
230 font-size: 1.4vw; 224 font-size: 1.4vw;
231 color: #ffffff; 225 color: #ffffff;
232 } 226 }
227
233 .btn:hover { 228 .btn:hover {
234 cursor: pointer; 229 cursor: pointer;
235 background-color: #2d8cf0; 230 background-color: #2d8cf0;
236 } 231 }
237 } 232 }
238 233
239 .login #loginform { 234 .login #loginform {
240 .el-form-item { 235 .el-form-item {
241 margin-bottom: 24px !important; 236 margin-bottom: 24px !important;
242 } 237 }
238
243 .login-btn { 239 .login-btn {
244 margin-top: 40px !important; 240 margin-top: 40px !important;
245 } 241 }
242
246 .el-button { 243 .el-button {
247 font-size: 18px; 244 font-size: 18px;
248 background: #0d8cc0 !important; 245 background: #0d8cc0 !important;
249 color: #ffffff !important; 246 color: #ffffff !important;
250 cursor: pointer !important; 247 cursor: pointer !important;
251 } 248 }
249
252 .el-input__inner { 250 .el-input__inner {
253 width: 100% !important; 251 width: 100% !important;
254 } 252 }
253
255 .el-checkbox__label { 254 .el-checkbox__label {
256 color: #fff; 255 color: #fff;
257 } 256 }
258 } 257 }
259 258
260 .inputUser .ivu-input { 259 .inputUser .ivu-input {
261 padding: 6px 24px !important; 260 padding: 6px 24px !important;
262 border: 1px solid #9f9f9f !important; 261 border: 1px solid #9f9f9f !important;
263 } 262 }
263 tr.hover-row > td.el-table__cell {
264 background-color: transparent !important;
265 }
264 </style> 266 </style>
......
1 <template>
2 <div class="bg">
3 <div class="title">
4 <img src="../../image/bdclogo.png" alt="">
5 <h2>{{ productName }}</h2>
6 </div>
7 <div class="login-inner-bg login">
8 <div class="user_style">
9 <h3>用户登录</h3>
10 <el-form :model="user" :rules="rules" ref="user" id="loginform" class="demo-ruleForm">
11 <el-form-item prop="account">
12 <el-input class="username" v-model="user.account" placeholder="请输入用户名"></el-input>
13 </el-form-item>
14 <el-form-item prop="password">
15 <el-input type="password" class="password" @keyup.native="login('user')" v-model="user.password"
16 placeholder="请输入密码" show-password></el-input>
17 </el-form-item>
18 <el-form-item prop="yz">
19 <el-input class="yz" @keyup.native="login('user')" v-model="user.yz"
20 placeholder="请输入验证码"></el-input>
21 </el-form-item>
22 <el-form-item class="login-btn">
23 <el-button type="primary" style="width: 100%" @click="login('user')">登录</el-button>
24 </el-form-item>
25 </el-form>
26 </div>
27 </div>
28 </div>
29 </template>
30
31 <script>
32 import { loginIn } from "@/api/login.js";
33 import { api, getAction } from "@/api/manageApi";
34 export default {
35 name: "Login",
36 data () {
37 return {
38 user: {
39 account: "",
40 password: "",
41 yz: "",
42 checkStatus: false,
43 },
44 productName: "",
45 rules: {
46 account: [{ required: true, message: "请填写帐号", trigger: "blur" }],
47 password: [{ required: true, message: "请填写密码", trigger: "blur" }],
48 },
49 };
50 },
51 created () {
52 const params = {};
53 const queryOptions = {
54 conditionGroup: {
55 conditions: [
56 {
57 property: "code",
58 value: "BDCSBPT",
59 operator: "EQ",
60 },
61 ],
62 queryRelation: "AND",
63 },
64 };
65 params.queryOptions = JSON.stringify(queryOptions);
66 //根据子系统code获取子系统详细信息
67 getAction(api.subsystem, params).then((res) => {
68 if (res.status === 1) {
69 this.productName = res.content[0].name;
70 // console.log(" res.contentSSSSSBBBBB", res.content);
71 this.$store.dispatch("products/setData", res.content[0].code);
72
73 sessionStorage.setItem("products", res.content[0].code)
74 } else {
75 this.$message.error({ message: res.message, showClose: true });
76 }
77 });
78 },
79 mounted () {
80 // this.checkUserName();
81 },
82 methods: {
83 //记住用户名
84 checkUserName: function (flag) {
85 this.user.checkStatus = flag;
86 if (this.user.checkStatus) {
87 localStorage.setItem("accountId", this.user.account);
88 let name = localStorage.getItem("accountId");
89 if (name === "") {
90 return;
91 } else {
92 this.user.account = name;
93 }
94 } else {
95 this.user.account = localStorage.getItem("accountId");
96 }
97 },
98 login (user) {
99 var self = this;
100 this.$refs[user].validate((valid) => {
101 if (valid) {
102 loginIn(self.user.account, self.user.password)
103 .then((res) => {
104 if (res.status === 1) {
105 this.$store.dispatch('business/setInitRules', "layout1")
106 //存储token
107 sessionStorage.setItem("token", `Bearer ${res.content}`);
108 //登录成功后需判断有无重定向,没有重定向则跳转首页
109 this.$router.replace(this.$route.query.redirect || "/");
110 } else {
111 console.log(res);
112 this.$message.error({ message: res.message })
113 }
114 })
115 .catch((error) => {
116 // console.dir(error);
117 });
118 }
119 });
120 },
121 },
122 components: {},
123 };
124 </script>
125 <style scoped lang="scss">
126 .username,
127 .password,
128 .yz {
129 position: relative;
130
131 &:before {
132 content: "";
133 display: block;
134 width: 16px;
135 height: 16px;
136 position: absolute;
137 left: 10px;
138 top: 7px;
139 background-size: 100% 100%;
140 }
141
142 /deep/ .el-input__inner {
143 color: #000 !important;
144 text-indent: 24px;
145 // border: 1px solid rgba(11, 161, 248, 0.4);
146 // background-color: rgba(6, 135, 205, 0.3) !important;
147 }
148 }
149
150 .username::before {
151 background-image: url(../../image/userlogo.png);
152 }
153
154 .password::before {
155 background-image: url(../../image/passlogo.png);
156 }
157 .yz::before {
158 background-image: url(../../image/yzlogo.png);
159 }
160
161 .bg {
162 width: 100%;
163 height: 100%;
164 min-width: 1440px;
165 min-height: 560px;
166 background: url(../../image/loginBoxsb.png) no-repeat;
167 background-size: 100% 100%;
168 overflow: hidden;
169 position: relative;
170 }
171 .title {
172 width: 24%;
173 height: 6%;
174 top: 20%;
175 right: 38%;
176 position: absolute;
177 img {
178 width: 60px;
179 height: 60px;
180 top: 0%;
181 left: 2%;
182 position: absolute;
183 }
184 h2 {
185 top: 25%;
186 left: 22%;
187 position: absolute;
188 width: 383px;
189 height: 42px;
190 font-size: 28px;
191 font-weight: 600;
192 color: #ffffff;
193 text-shadow: 0px 4px 4px #002c95;
194 }
195 }
196 .login-inner-bg {
197 background: white;
198 width: 24.6%;
199 height: 47%;
200 min-width: 360px;
201 min-height: 380px;
202 top: 30%;
203 right: 38%;
204 position: absolute;
205 background-size: 100% 100%;
206 box-sizing: border-box;
207 padding: 56px;
208 }
209
210 .login {
211 .user_style {
212 h3 {
213 font-weight: normal;
214 text-align: center;
215 margin: -10px auto 28px;
216 font-weight: 400;
217 width: 125px;
218 height: 29px;
219 font-size: 20px;
220 font-family: Source Han Sans CN;
221 font-weight: 400;
222 color: #333333;
223 }
224 }
225
226 .btn {
227 width: 100%;
228 height: 6vh;
229 background-color: #00c2de;
230 border-radius: 5px;
231 font-size: 1.4vw;
232 color: #000;
233 }
234
235 .btn:hover {
236 cursor: pointer;
237 background-color: #2d8cf0;
238 }
239 }
240
241 .login #loginform {
242 .el-form-item {
243 margin-bottom: 24px !important;
244 }
245
246 .login-btn {
247 margin-top: 30px !important;
248 }
249
250 .el-button {
251 font-size: 18px;
252 border-radius: 0;
253 background: #4162d8 !important;
254 color: #ffffff !important;
255 cursor: pointer !important;
256 }
257
258 .el-input__inner {
259 width: 100% !important;
260 }
261
262 .el-checkbox__label {
263 color: #fff;
264 }
265 }
266
267 .inputUser .ivu-input {
268 padding: 6px 24px !important;
269 border: 1px solid #9f9f9f !important;
270 }
271 </style>
1 /deep/.el-table--border th.el-table__cell {
2 border-bottom: 1px solid #458ACF !important;
3 }
4
5 /deep/.el-table--border .el-table__cell {
6 border-right: 1px solid #458ACF !important;
7 }
8
9 /deep/.el-table thead.is-group th.el-table__cell {
10 background-color: transparent !important;
11 }
12
13 /deep/.el-table--group::after,
14 .el-table--border::after {
15 width: 0 !important;
16 }
17
18 .export-excel-wrapper {
19 display: inline-block;
20 }
...\ No newline at end of file ...\ No newline at end of file
1 import filter from '@/utils/filter.js'
2 class data extends filter {
3 constructor() {
4 super()
5 }
6 columns () {
7 return [
8 {
9 prop: "recType",
10 label: "行政区",
11 width: '90'
12 },
13 {
14 label: '增量数据接入情况',
15 children: [
16 {
17 prop: 'busniessCount',
18 label: '本期接入业务量(笔)',
19 },
20 {
21 prop: 'receiveCount',
22 label: '本期接入业务量(次)',
23 },
24 {
25 prop: 'recordTotal',
26 label: '本期登簿日志反映出的登簿量(条)',
27 },
28 {
29 label: '本期接入质量评价',
30 children: [
31 {
32 prop: 'noReportLog',
33 label: '未上报登簿日志县区数(个)',
34 },
35 {
36 prop: 'noReportArea',
37 label: '未上报数据县区数(个)',
38 },
39 {
40 label: '本期未成功接入登簿量及在登簿日志量中的占比',
41 width: '120',
42 children: [
43 {
44 prop: 'failReportCount',
45 label: '未成功接入登簿量(条)',
46
47 },
48 {
49 prop: 'failReportRatio',
50 label: '占比',
51 render: (h, scope) => {
52 return (
53 <span>{(scope.row.failReportRatio * 100).toFixed(2)}%</span>
54 );
55 },
56 }
57 ]
58 },
59 {
60 label: '分时段接入登簿量及与本期接入登簿量的占比',
61 children: [
62 {
63 label: '24小时内接入登簿量(占比%)',
64 width: '120',
65 children: [
66 {
67 prop: 'failReportCount24h',
68 },
69 {
70 prop: 'failReportRatio24h',
71 render: (h, scope) => {
72 return (
73 <span>{(scope.row.failReportRatio24h * 100).toFixed(2)}%</span>
74 );
75 },
76 }
77 ]
78 },
79 {
80 label: '48小时内接入登簿量(占比%)',
81 width: '120',
82 children: [
83 {
84 prop: 'failReportCount24To48h',
85 },
86 {
87 prop: 'failReportRatio24To48h',
88 render: (h, scope) => {
89 return (
90 <span>{(scope.row.failReportRatio24To48h * 100).toFixed(2)}%</span>
91 );
92 },
93 }
94 ]
95 },
96 {
97 label: '超过48小时接入登簿量(占比%)',
98 width: '120',
99 children: [
100 {
101 prop: 'failReportCount48h',
102 },
103 {
104 prop: 'failReportRatio48h',
105 render: (h, scope) => {
106 return (
107 <span>{(scope.row.failReportRatio48h * 100).toFixed(2)}%</span>
108 );
109 },
110 }
111 ]
112 }
113 ]
114 },
115 {
116 prop: 'xxx',
117 label: '网络环境异常情况',
118 },
119 {
120 prop: 'xxx',
121 label: '非登簿环节接入的区县数',
122 },
123 {
124 prop: 'xxx',
125 label: '非自动方式接入的区县数',
126 },
127 {
128 prop: 'rate',
129 label: '综合评分'
130 }
131 ]
132 }
133 ]
134 }
135 ]
136 }
137 }
138 export default new data()
1 <!-- 登簿日志查询 -->
...\ No newline at end of file ...\ No newline at end of file
1 <!-- 接入质量评价表 -->
2 <template>
3 <div class="from-clues">
4 <!-- 头部搜索 -->
5 <div class="from-clues-header">
6 <el-form ref="ruleForm" :model="form" label-width="100px">
7 <el-form-item>
8 <Breadcrumb />
9 </el-form-item>
10 <el-row class="mb-5">
11 <el-col :span="6">
12 <el-form-item label="接收日期" prop="startTime">
13 <el-date-picker type="date" class="width100" placeholder="开始日期" :picker-options="pickerOptionsStart"
14 clearable v-model="form.startTime" value-format="yyyy-MM-dd"></el-date-picker>
15 </el-form-item>
16 </el-col>
17 <el-col :span="6">
18 <el-form-item label="至" prop="endTime" label-width="35px">
19 <el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd" clearable
20 v-model="form.endTime" value-format="yyyy-MM-dd"></el-date-picker>
21 </el-form-item>
22 </el-col>
23 <!-- 按钮操作 -->
24 <el-col :span="12" class="btnColRight">
25 <el-form-item>
26 <btn nativeType="cz" @click="handleResetForm">重置</btn>
27 <btn nativeType="cx" @click="featchDataSelf">查询</btn>
28 <btn nativeType="cx" @click="handlesetExport2Excel(downTitle)">导出</btn>
29 </el-form-item>
30 </el-col>
31 </el-row>
32 </el-form>
33 </div>
34 <!-- 列表区域 -->
35 <div class="from-clues-content">
36 <lb-table ref="table" :header-cell-style="headerStyle1" :pagination="false" :column="tableData.columns"
37 :data="tableData.data">
38 </lb-table>
39
40 <down-lb-table ref="table" v-show="false" :id="'mytable'" :downExcel="true" :header-cell-style="headerStyle"
41 :pagination="false" :column="tableData.columns" :data="tableData.data" :downTitle="downTitle">
42 </down-lb-table>
43 </div>
44 </div>
45 </template>
46
47 <script>
48 // 接入质量评价表
49 // 引入表格头部数据
50 import data from "./data";
51 // 引入table混入方法
52 import tableMixin from "@/mixins/tableMixin.js";
53 // 导出excel表格
54 import downLbTable from '@/components/DownLbTable'
55 // 获取时间
56 import { getCurrentDate, setExport2Excel } from "@/utils/tools";
57 import { dataReceiveQuality } from "@/api/statistics.js";
58 export default {
59 name: "jsbwcx",
60 components: {
61 downLbTable
62 },
63 mixins: [tableMixin],
64 data () {
65 return {
66 pickerOptionsStart: {
67 disabledDate: (time) => {
68 let endDateVal = this.form.endTime;
69 if (endDateVal) {
70 return (
71 time.getTime() >=
72 new Date(endDateVal).getTime()
73 );
74 }
75 },
76 },
77 pickerOptionsEnd: {
78 disabledDate: (time) => {
79 let beginDateVal = this.form.startTime;
80 if (beginDateVal) {
81 return (
82 time.getTime() <
83 new Date(beginDateVal).getTime()
84 );
85 }
86 },
87 },
88 // 表格数据
89 form: {
90 startTime: "", // 开始日期
91 endTime: "" // 结束日期
92 },
93 // 校验规则
94 rules: {
95 startTime: [
96 { required: true, message: "请选择开始日期", trigger: "change" },
97 ],
98 endTime: [
99 { required: true, message: "请选择结束日期", trigger: "change" },
100 ]
101 },
102 // 表格数据
103 tableData: {
104 // 表格头部
105 columns: [
106 {
107 label: "序号",
108 type: "index",
109 width: "50",
110 // index: this.indexMethod,
111 }
112 ]
113 .concat(data.columns()),
114 data: []
115 },
116 // 导出表格标题
117 downTitle: ''
118 }
119 },
120 watch: {
121 form: {
122 handler (newVal, oldVal) {
123 this.generateFileName()
124 },
125 deep: true
126 }
127 },
128 created () {
129 this.handleResetForm()
130 this.generateFileName()
131 },
132 methods: {
133 handleSearch () { },
134 // 生成文件名
135 generateFileName () {
136 var reg = /(\d{4})\-(\d{2})\-(\d{2})/;
137 this.downTitle = `汉中市不动产登记增量数据接入质量评价表(${this.form.startTime.replace(reg, "$1年$2月$3日")}${this.form.endTime.replace(reg, "$1年$2月$3日")})`
138 },
139 headerStyle ({ row, rowIndex }) {
140 if (rowIndex == 4) {
141 row[2].rowSpan = 2;
142 row[3].rowSpan = 2;
143 row[4].rowSpan = 2;
144 }
145 },
146 headerStyle1 ({ row, rowIndex }) {
147 if (rowIndex == 3) {
148 row[2].rowSpan = 2;
149 row[3].rowSpan = 2;
150 row[4].rowSpan = 2;
151 }
152 },
153 handlesetExport2Excel (val) {
154 setExport2Excel(val)
155 },
156 // 初始化数据
157 featchDataSelf () {
158 dataReceiveQuality(this.form.startTime, this.form.endTime).then(res => {
159 let records = res.result
160 this.tableData.data = records ? records : []
161 })
162 },
163 // 重置
164 handleResetForm () {
165 this.form.startTime = getCurrentDate()
166 this.form.endTime = getCurrentDate('time')
167 this.featchDataSelf()
168 }
169 }
170 }
171 </script>
172 <style scoped lang="scss">
173 // 引入表单整体样式
174 // @import "~@/styles/public.scss";
175 @import "../css/index.scss";
176 </style>
177
......
1 import filter from '@/utils/filter.js'
2 class data extends filter {
3 constructor() {
4 super()
5 }
6 columns () {
7 return [
8 {
9 label: "行政区划",
10 prop: "areaName",
11 width: '80'
12 },
13 {
14 label: '国有建设用地使用权',
15 prop: "",
16 children: [
17 {
18 label: '用途',
19 prop: "",
20 children: [
21 {
22 label: '空项率',
23 prop: "yt",
24 render: (h, scope) => {
25 return (
26 <span>{(scope.row.yt * 100).toFixed(2)}%</span>
27 );
28 },
29 },
30 /*{
31 label: '分值',
32 prop: "xx",
33 }*/
34 ]
35 },
36 {
37 label: '权利性质',
38 prop: "",
39 children: [
40 {
41 label: '空项率',
42 prop: "qlxz",
43 render: (h, scope) => {
44 return (
45 <span>{(scope.row.qlxz * 100).toFixed(2)}%</span>
46 );
47 },
48 },
49 /*{
50 label: '分值',
51 prop: "xx",
52 }*/
53 ]
54 },
55 {
56 label: '权利设定方式',
57 prop: "",
58 children: [
59 {
60 label: '空项率',
61 prop: "qlsdfs",
62 render: (h, scope) => {
63 return (
64 <span>{(scope.row.qlsdfs * 100).toFixed(2)}%</span>
65 );
66 },
67 },
68 /*{
69 label: '分值',
70 prop: "xx",
71 }*/
72 ]
73 },
74 {
75 label: ' 共有情况(建设用地)',
76 prop: "",
77 children: [
78 {
79 label: '空项率',
80 prop: "gyjsydgyqk",
81 render: (h, scope) => {
82 return (
83 <span>{(scope.row.gyjsydgyqk * 100).toFixed(2)}%</span>
84 );
85 },
86 },
87 /*{
88 label: '分值',
89 prop: "xx",
90 }*/
91 ]
92 },
93 {
94 label: '等别',
95 prop: "",
96 children: [
97 {
98 label: '空项率',
99 prop: "dj",
100 render: (h, scope) => {
101 return (
102 <span>{(scope.row.dj * 100).toFixed(2)}%</span>
103 );
104 },
105 },
106 /*{
107 label: '分值',
108 prop: "xx",
109 }*/
110 ]
111 },
112 {
113 label: ' 容积率',
114 prop: "",
115 children: [
116 {
117 label: '空项率',
118 prop: "rjl",
119 render: (h, scope) => {
120 return (
121 <span>{(scope.row.rjl * 100).toFixed(2)}%</span>
122 );
123 },
124 },
125 /*{
126 label: '分值',
127 prop: "xx",
128 }*/
129 ]
130 },
131 ]
132 },
133 {
134 label: '房屋所有权',
135 prop: "",
136 children: [
137 {
138 label: '房屋共有情况',
139 prop: "",
140 children: [
141 {
142 label: '空项率',
143 prop: "fwgyqk",
144 render: (h, scope) => {
145 return (
146 <span>{(scope.row.fwgyqk * 100).toFixed(2)}%</span>
147 );
148 },
149 },
150 /*{
151 label: '分值',
152 prop: "xx",
153 }*/
154 ]
155 },
156 {
157 label: '房屋性质',
158 prop: "",
159 children: [
160 {
161 label: '空项率',
162 prop: "fwxz",
163 render: (h, scope) => {
164 return (
165 <span>{(scope.row.fwxz * 100).toFixed(2)}%</span>
166 );
167 },
168 },
169 /*{
170 label: '分值',
171 prop: "xx",
172 }*/
173 ]
174 },
175 {
176 label: '房屋结构',
177 prop: "",
178 children: [
179 {
180 label: '空项率',
181 prop: "fwjg",
182 render: (h, scope) => {
183 return (
184 <span>{(scope.row.fwjg * 100).toFixed(2)}%</span>
185 );
186 },
187 },
188 /*{
189 label: '分值',
190 prop: "xx",
191 }*/
192 ]
193 },
194 {
195 label: '竣工时间',
196 prop: "",
197 children: [
198 {
199 label: '空项率',
200 prop: "jgsj",
201 render: (h, scope) => {
202 return (
203 <span>{(scope.row.jgsj * 100).toFixed(2)}%</span>
204 );
205 },
206 },
207 /*{
208 label: '分值',
209 prop: "xx",
210 }*/
211 ]
212 }
213 ]
214 },
215 {
216 label: '抵押权',
217 prop: "",
218 children: [
219 {
220 label: '债务履行期限(债权确定时间)',
221 prop: "",
222 children: [
223 {
224 prop: 'dyqx',
225 label: '空项率',
226 render: (h, scope) => {
227 return (
228 <span>{(scope.row.dyqx * 100).toFixed(2)}%</span>
229 );
230 },
231 },
232 /*{
233 label: '分值',
234 prop: "xx",
235 }*/
236 ]
237 }
238 ]
239 },
240 {
241 label: '最高额抵押',
242 prop: "",
243 children: [
244 {
245 label: '最高债权确定事实和数额',
246 prop: "",
247 children: [
248 {
249 prop: 'zgzqse',
250 label: '空项率',
251 render: (h, scope) => {
252 return (
253 <span>{(scope.row.zgzqse * 100).toFixed(2)}%</span>
254 );
255 },
256 },
257 /*{
258 label: '分值',
259 prop: "xx",
260 }*/
261 ]
262 }
263 ]
264 },
265 {
266 label: '在建建筑物坐落(一般)',
267 prop: "",
268 children: [
269 {
270 label: '在建建筑物坐落',
271 prop: "",
272 children: [
273 {
274 prop: 'ybzjzjwzl',
275 label: '空项率',
276 render: (h, scope) => {
277 return (
278 <span>{(scope.row.ybzjzjwzl * 100).toFixed(2)}%</span>
279 );
280 },
281 },
282 /*{
283 label: '分值',
284 prop: "xx",
285 }*/
286 ]
287 },
288 {
289 label: '在建建筑物抵押范围',
290 prop: "",
291 children: [
292 {
293 prop: 'ybzjzjwdyfw',
294 label: '空项率',
295 render: (h, scope) => {
296 return (
297 <span>{(scope.row.ybzjzjwdyfw * 100).toFixed(2)}%</span>
298 );
299 },
300 },
301 /*{
302 label: '分值',
303 prop: "xx",
304 }*/
305 ]
306 }
307 ]
308 },
309 {
310 label: '在建建筑物坐落(最高额)',
311 prop: "",
312 children: [
313 {
314 label: '在建建筑物坐落',
315 prop: "",
316 children: [
317 {
318 prop: 'zgezjzjwzl',
319 label: '空项率',
320 render: (h, scope) => {
321 return (
322 <span>{(scope.row.zgezjzjwzl * 100).toFixed(2)}%</span>
323 );
324 },
325 },
326 /*{
327 label: '分值',
328 prop: "xx",
329 }*/
330 ]
331 },
332 {
333 label: '在建建筑物抵押范围',
334 prop: "",
335 children: [
336 {
337 prop: 'zgezjzjwdyfw',
338 label: '空项率',
339 render: (h, scope) => {
340 return (
341 <span>{(scope.row.zgezjzjwdyfw * 100).toFixed(2)}%</span>
342 );
343 },
344 },
345 /*{
346 label: '分值',
347 prop: "xx",
348 }*/
349 ]
350 }
351 ]
352 },
353 {
354 label: '抵押注销',
355 prop: "",
356 children: [
357 {
358 label: '注销抵押原因',
359 prop: "",
360 children: [
361 {
362 prop: 'dyzxyy',
363 label: '空项率',
364 render: (h, scope) => {
365 return (
366 <span>{(scope.row.dyzxyy * 100).toFixed(2)}%</span>
367 );
368 },
369 },
370 /*{
371 label: '分值',
372 prop: "xx",
373 }*/
374 ]
375 },
376 {
377 label: '注销时间',
378 prop: "",
379 children: [
380 {
381 prop: 'zxsj',
382 label: '空项率',
383 render: (h, scope) => {
384 return (
385 <span>{(scope.row.zxsj * 100).toFixed(2)}%</span>
386 );
387 },
388 },
389 /*{
390 label: '分值',
391 prop: "xx",
392 }*/
393 ]
394 }
395 ]
396 },
397 {
398 label: '预告登记',
399 prop: "",
400 children: [
401 {
402 label: '义务人证件种类',
403 prop: "",
404 children: [
405 {
406 prop: 'ywrzjzl',
407 label: '空项率',
408 render: (h, scope) => {
409 return (
410 <span>{(scope.row.ywrzjzl * 100).toFixed(2)}%</span>
411 );
412 },
413 },
414 /*{
415 label: '分值',
416 prop: "xx",
417 }*/
418 ]
419 },
420 {
421 label: '义务人证件号',
422 prop: "",
423 children: [
424 {
425 prop: 'ywrzjh',
426 label: '空项率',
427 render: (h, scope) => {
428 return (
429 <span>{(scope.row.ywrzjh * 100).toFixed(2)}%</span>
430 );
431 },
432 },
433 /*{
434 label: '分值',
435 prop: "xx",
436 }*/
437 ]
438 },
439 {
440 label: '规划用途',
441 prop: "",
442 children: [
443 {
444 prop: 'ghyt',
445 label: '空项率',
446 render: (h, scope) => {
447 return (
448 <span>{(scope.row.ghyt * 100).toFixed(2)}%</span>
449 );
450 },
451 },
452 /*{
453 label: '分值',
454 prop: "xx",
455 }*/
456 ]
457 },
458 {
459 label: '房屋性质',
460 prop: "",
461 children: [
462 {
463 prop: 'ygdjfwxz',
464 label: '空项率',
465 render: (h, scope) => {
466 return (
467 <span>{(scope.row.ygdjfwxz * 100).toFixed(2)}%</span>
468 );
469 },
470 },
471 /*{
472 label: '分值',
473 prop: "xx",
474 }*/
475 ]
476 }
477 ]
478 },
479 {
480 label: '查封登记',
481 prop: "",
482 children: [
483 {
484 label: '解封机关',
485 prop: "",
486 children: [
487 {
488 prop: 'jfjg',
489 label: '空项率',
490 render: (h, scope) => {
491 return (
492 <span>{(scope.row.jfjg * 100).toFixed(2)}%</span>
493 );
494 },
495 },
496 /*{
497 label: '分值',
498 prop: "xx",
499 }*/
500 ]
501 },
502 {
503 label: '解封文件',
504 prop: "",
505 children: [
506 {
507 prop: 'jfwj',
508 label: '空项率',
509 render: (h, scope) => {
510 return (
511 <span>{(scope.row.jfwj * 100).toFixed(2)}%</span>
512 );
513 },
514 },
515 /*{
516 label: '分值',
517 prop: "xx",
518 }*/
519 ]
520 },
521 {
522 label: '解封登记时间',
523 prop: "",
524 children: [
525 {
526 prop: 'jfdjsj',
527 label: '空项率',
528 render: (h, scope) => {
529 return (
530 <span>{(scope.row.jfdjsj * 100).toFixed(2)}%</span>
531 );
532 },
533 },
534 /*{
535 label: '分值',
536 prop: "xx",
537 }*/
538 ]
539 },
540 {
541 label: '解封登簿人',
542 prop: "",
543 children: [
544 {
545 prop: 'jfdbr',
546 label: '空项率',
547 render: (h, scope) => {
548 return (
549 <span>{(scope.row.jfdbr * 100).toFixed(2)}%</span>
550 );
551 },
552 },
553 /*{
554 label: '分值',
555 prop: "xx",
556 }*/
557 ]
558 },
559 {
560 label: '解封业务号',
561 prop: "",
562 children: [
563 {
564 prop: 'jfywh',
565 label: '空项率',
566 render: (h, scope) => {
567 return (
568 <span>{(scope.row.jfywh * 100).toFixed(2)}%</span>
569 );
570 },
571 },
572 /*{
573 label: '分值',
574 prop: "xx",
575 }*/
576 ]
577 }
578 ]
579 }
580 ]
581 }
582 }
583 export default new data()
1 <!-- 相关字段空置率统计 -->
2 <template>
3 <div class="from-clues">
4 <!-- 头部搜索 -->
5 <div class="from-clues-header">
6 <el-form ref="ruleForm" :model="form" label-width="100px">
7 <el-form-item>
8 <Breadcrumb />
9 </el-form-item>
10 <el-row class="mb-5">
11 <el-col :span="6">
12 <el-form-item label="接收日期" prop="startTime">
13 <el-date-picker type="date" class="width100" placeholder="开始日期" :picker-options="pickerOptionsStart"
14 v-model="form.startTime" value-format="yyyy-MM-dd"></el-date-picker>
15 </el-form-item>
16 </el-col>
17 <el-col :span="6">
18 <el-form-item label="至" prop="endTime" label-width="35px">
19 <el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd"
20 v-model="form.endTime" value-format="yyyy-MM-dd"></el-date-picker>
21 </el-form-item>
22 </el-col>
23 <!-- 按钮操作 -->
24 <el-col :span="12" class="btnColRight">
25 <el-form-item>
26 <btn nativeType="cz" @click="handleResetForm">重置</btn>
27 <!-- 导出excel -->
28 <btn nativeType="cx" @click="featchDataSelf">查询</btn>
29 <btn nativeType="cx" @click="handlesetExport2Excel(downTitle)">导出</btn>
30 </el-form-item>
31 </el-col>
32 </el-row>
33 </el-form>
34 </div>
35 <!-- 列表区域 -->
36 <div class="from-clues-content">
37 <lb-table ref="table" :pagination="false" :column="tableData.columns" :data="tableData.data">
38 </lb-table>
39
40 <down-lb-table ref="table" v-show="false" :id="'mytable'" :downExcel="true" :pagination="false"
41 :column="tableData.columns" :data="tableData.data" :downTitle="downTitle">
42 </down-lb-table>
43 </div>
44 </div>
45 </template>
46
47 <script>
48 // 相关字段空置率统计
49 // 引入表格头部数据
50 import data from "./data";
51 // 引入table混入方法
52 import tableMixin from "@/mixins/tableMixin.js";
53 // 导出excel表格
54 import downLbTable from '@/components/DownLbTable'
55 // 获取时间
56 import { getCurrentDate, setExport2Excel } from "@/utils/tools";
57 import { nonNullSta } from "@/api/statistics.js";
58 export default {
59 name: "jsbwcx",
60 components: {
61 downLbTable
62 },
63 mixins: [tableMixin],
64 data () {
65 return {
66 pickerOptionsStart: {
67 disabledDate: (time) => {
68 let endDateVal = this.form.endTime;
69 if (endDateVal) {
70 return (
71 time.getTime() >=
72 new Date(endDateVal).getTime()
73 );
74 }
75 },
76 },
77 pickerOptionsEnd: {
78 disabledDate: (time) => {
79 let beginDateVal = this.form.startTime;
80 if (beginDateVal) {
81 return (
82 time.getTime() <
83 new Date(beginDateVal).getTime()
84 );
85 }
86 },
87 },
88 // 表格数据
89 form: {
90 startTime: "", // 开始日期
91 endTime: "" // 结束日期
92 },
93 // 校验规则
94 rules: {
95 startTime: [
96 { required: true, message: "请选择开始日期", trigger: "change" },
97 ],
98 endTime: [
99 { required: true, message: "请选择结束日期", trigger: "change" },
100 ]
101 },
102 // 表格数据
103 tableData: {
104 // 表格头部
105 columns: [
106 {
107 label: "序号",
108 type: "index",
109 width: "50"
110 // index: this.indexMethod,
111 }
112 ]
113 .concat(data.columns()),
114 data: [],
115 },
116 downTitle: ''
117 }
118 },
119 watch: {
120 form: {
121 handler (newVal, oldVal) {
122 this.generateFileName()
123 },
124 deep: true
125 }
126 },
127 created () {
128 this.handleResetForm()
129 this.generateFileName()
130 },
131 methods: {
132 // 生成文件名
133 generateFileName () {
134 var reg = /(\d{4})\-(\d{2})\-(\d{2})/;
135 this.downTitle = `汉中市不动产登记增量数据相关字段空项率统计(${this.form.startTime.replace(reg, "$1年$2月$3日")}${this.form.endTime.replace(reg, "$1年$2月$3日")})`
136 },
137 handlesetExport2Excel (val) {
138 setExport2Excel(val)
139 },
140 // 初始化数据
141 featchDataSelf () {
142 nonNullSta(this.form.startTime, this.form.endTime).then(res => {
143 let records = res.result
144 this.tableData.data = records ? records : []
145 })
146 },
147 // 重置
148 handleResetForm () {
149 this.form.startTime = getCurrentDate()
150 this.form.endTime = getCurrentDate('time')
151 this.featchDataSelf()
152 }
153 }
154 }
155 </script>
156 <style scoped lang="scss">
157 // 引入表单整体样式
158 // @import "~@/styles/public.scss";
159 @import "../css/index.scss";
160 </style>
161
......
1 import filter from '@/utils/filter.js'
2 class data extends filter {
3 constructor() {
4 super()
5 }
6 columns () {
7 return [
8 {
9 prop: "areaName",
10 label: "行政区划",
11 width: '90'
12 },
13 {
14 label: '分项',
15 children: [
16 {
17 width:1
18 },
19 {
20 label: '国有建设用地使用权登记得分及空项率',
21 children: [
22 {
23 prop: 'gyjsydsyqRate',
24 render: (h, scope) => {
25 return (
26 <span>{scope.row.gyjsydsyqRate.toFixed(2)}</span>
27 );
28 },
29 },
30 {
31 prop: 'gyjsydsyqRadio',
32 render: (h, scope) => {
33 return (
34 <span>{(scope.row.gyjsydsyqRadio * 100).toFixed(2)}%</span>
35 );
36 },
37 }
38 ]
39 },
40 {
41 label: '国有建设用地使用权和房屋所有权登记得分及空项率',
42 children: [
43 {
44 prop: 'fwsyqRate',
45 width: 176,
46 render: (h, scope) => {
47 return (
48 <span>{scope.row.fwsyqRate.toFixed(2)}</span>
49 );
50 },
51 },
52 {
53 prop: 'fwsyqRadio',
54 width: 176,
55 render: (h, scope) => {
56 return (
57 <span>{(scope.row.fwsyqRadio * 100).toFixed(2)}%</span>
58 );
59 },
60 }
61 ]
62 },
63 {
64 label: '抵押权登记得分及空项率',
65 children: [
66 {
67 prop: 'dyqRate',
68 render: (h, scope) => {
69 return (
70 <span>{scope.row.dyqRate.toFixed(2)}</span>
71 );
72 },
73 },
74 {
75 prop: 'dyqRadio',
76 render: (h, scope) => {
77 return (
78 <span>{(scope.row.dyqRadio * 100).toFixed(2)}%</span>
79 );
80 },
81 }
82 ]
83 },
84 {
85 label: '预告登记得分及空项率',
86 children: [
87 {
88 prop: 'ygdjRate',
89 render: (h, scope) => {
90 return (
91 <span>{scope.row.ygdjRate.toFixed(2)}</span>
92 );
93 },
94 },
95 {
96 prop: 'ygdjRadio',
97 render: (h, scope) => {
98 return (
99 <span>{(scope.row.ygdjRadio * 100).toFixed(2)}%</span>
100 );
101 },
102 }
103 ]
104 },
105 {
106 label: '查封登记得分及空项率',
107 children: [
108 {
109 prop: 'cfdjRate',
110 render: (h, scope) => {
111 return (
112 <span>{scope.row.cfdjRate.toFixed(2)}</span>
113 );
114 },
115 },
116 {
117 prop: 'cfdjRadio',
118 render: (h, scope) => {
119 return (
120 <span>{(scope.row.cfdjRadio * 100).toFixed(2)}%</span>
121 );
122 },
123 }
124 ]
125 }
126 ]
127 },
128 {
129 prop: "rate",
130 width: '90',
131 label: "综合评分",
132 },
133 ]
134 }
135 }
136 export default new data()
1 <!--
2 * @Author: yangwei
3 * @Date: 2023-02-17 16:32:50
4 * @LastEditors: yangwei
5 * @LastEditTime: 2023-03-09 11:19:43
6 * @FilePath: \bdcjg-web\src\views\statistics\registerBookQuality\index.vue
7 * @Description:
8 *
9 * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
10 -->
11 <!-- 接入质量评价表 -->
12 <template>
13 <div class="from-clues">
14 <!-- 头部搜索 -->
15 <div class="from-clues-header">
16 <el-form ref="ruleForm" :model="form" label-width="100px">
17 <el-form-item>
18 <Breadcrumb />
19 </el-form-item>
20 <el-row class="mb-5">
21 <el-col :span="6">
22 <el-form-item label="接收日期" prop="startTime">
23 <el-date-picker type="date" class="width100" placeholder="开始日期" :picker-options="pickerOptionsStart"
24 v-model="form.startTime" value-format="yyyy-MM-dd"></el-date-picker>
25 </el-form-item>
26 </el-col>
27 <el-col :span="6">
28 <el-form-item label="至" prop="endTime" label-width="35px">
29 <el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd"
30 v-model="form.endTime" value-format="yyyy-MM-dd"></el-date-picker>
31 </el-form-item>
32 </el-col>
33 <!-- 按钮操作 -->
34 <el-col :span="12" class="btnColRight">
35 <el-form-item>
36 <btn nativeType="cz" @click="handleResetForm">重置</btn>
37 <btn nativeType="cx" @click="featchDataSelf">查询</btn>
38 <btn nativeType="cx" @click="handlesetExport2Excel(downTitle)">导出</btn>
39 </el-form-item>
40 </el-col>
41 </el-row>
42 </el-form>
43 </div>
44 <!-- 列表区域 -->
45 <div class="from-clues-content">
46 <lb-table ref="table" :pagination="false" :header-cell-style="headerStyle" :column="tableData.columns" :data="tableData.data">
47 </lb-table>
48 <down-lb-table ref="table" v-show="false" :id="'mytable'" :downExcel="true" :pagination="false"
49 :column="tableData.columns" :data="tableData.data" :downTitle="downTitle">
50 </down-lb-table>
51 </div>
52 </div>
53 </template>
54
55 <script>
56 // 登簿质量评价表
57 // 引入表格头部数据
58 import data from "./data";
59 // 引入table混入方法
60 import tableMixin from "@/mixins/tableMixin.js";
61 // 导出excel表格
62 import downLbTable from '@/components/DownLbTable'
63 // 获取时间
64 import { getCurrentDate, setExport2Excel } from "@/utils/tools";
65 import { registerBookQuality } from "@/api/statistics.js";
66
67 export default {
68 name: "jsbwcx",
69 components: {
70 downLbTable
71 },
72 mixins: [tableMixin],
73 data () {
74 return {
75 pickerOptionsStart: {
76 disabledDate: (time) => {
77 let endDateVal = this.form.endTime;
78 if (endDateVal) {
79 return (
80 time.getTime() >=
81 new Date(endDateVal).getTime()
82 );
83 }
84 },
85 },
86 pickerOptionsEnd: {
87 disabledDate: (time) => {
88 let beginDateVal = this.form.startTime;
89 if (beginDateVal) {
90 return (
91 time.getTime() <
92 new Date(beginDateVal).getTime()
93 );
94 }
95 },
96 },
97 // 表格数据
98 form: {
99 startTime: "", // 开始日期
100 endTime: "", // 结束日期
101 currentPage: 1
102 },
103 // 校验规则
104 rules: {
105 startTime: [
106 { required: true, message: "请选择开始日期", trigger: "change" },
107 ],
108 endTime: [
109 { required: true, message: "请选择结束日期", trigger: "change" },
110 ]
111 },
112 // 表格数据
113 tableData: {
114 // 表格头部
115 columns: [
116 {
117 label: "序号",
118 type: "index",
119 width: "50",
120 index: this.indexMethod,
121 }
122 ]
123 .concat(data.columns()),
124 data: []
125 },
126 downTitle: ''
127 }
128 },
129 watch: {
130 form: {
131 handler (newVal, oldVal) {
132 this.generateFileName()
133 },
134 deep: true
135 }
136 },
137 created () {
138 this.handleResetForm()
139 this.generateFileName()
140 },
141 methods: {
142 handleSearch () { },
143 // 生成文件名
144 generateFileName () {
145 var reg = /(\d{4})\-(\d{2})\-(\d{2})/;
146 this.downTitle = `汉中市不动产登记增量数据登簿质量评价表(${this.form.startTime.replace(reg, "$1年$2月$3日")}${this.form.endTime.replace(reg, "$1年$2月$3日")})`
147 },
148 handlesetExport2Excel (val) {
149 setExport2Excel(val)
150 },
151 headerStyle ({ row, rowIndex }) {
152 if (rowIndex == 1) {
153 row[0].colSpan = 2
154 row.forEach(item=>{
155 item.rowSpan = 2
156 })
157 // row[0].rowSpan = 2;
158 // row[1].rowSpan = 2;
159 // row[2].rowSpan = 2;
160 // row[3].rowSpan = 2;
161 // row[4].rowSpan = 2;
162 }
163 },
164 // 初始化数据
165 featchDataSelf () {
166 registerBookQuality(this.form.startTime, this.form.endTime).then(res => {
167 let records = res.result
168 this.tableData.data = records ? records : []
169 })
170 },
171 // 重置
172 handleResetForm () {
173 this.form.startTime = getCurrentDate()
174 this.form.endTime = getCurrentDate('time')
175 this.featchDataSelf()
176 }
177 }
178 }
179 </script>
180 <style scoped lang="scss">
181 // 引入表单整体样式
182 // @import "~@/styles/public.scss";
183 @import "../css/index.scss";
184 </style>
185
......
1 import store from '@/store'
2 let vm = null
3 const sendThis1 = (_this) => {
4 vm = _this
5 }
6 class data {
7 columns () {
8 return [
9 {
10 width: "70",
11 renderHeader: (h, scope) => {
12 return (
13 <div>
14 <i
15 class="el-icon-plus"
16 onClick={() => {
17 vm.handleDBAdd();
18 }}
19 style="cursor:pointer;color:#409EFF"
20 ></i>
21 </div>
22 );
23 },
24 render: (h, scope) => {
25 return <i
26 class="el-icon-minus"
27 onClick={() => {
28 vm.handleDBMinus(scope.row);
29 }}
30 style="cursor:pointer;color:#409EFF"
31 ></i>
32 },
33 },
34 {
35 prop: 'YWH',
36 label: '业务号',
37 render: (h, scope) => {
38 return (
39 <el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
40 )
41 }
42 },
43 {
44 prop: 'DJLX',
45 label: '登记类型',
46 render: (h, scope) => {
47 return (
48 <el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
49 )
50 }
51 },
52 {
53 prop: 'QLLX',
54 label: '权利类型',
55 render: (h, scope) => {
56 return (
57 <el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
58 )
59 }
60 },
61 {
62 prop: 'BDCDYH',
63 label: '不动产单元号',
64 render: (h, scope) => {
65 return (
66 <el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
67 )
68 }
69 },
70 {
71 prop: 'ZSZMH',
72 label: '证书证明号',
73 render: (h, scope) => {
74 return (
75 <el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
76 )
77 }
78 },
79 {
80 prop: 'SFSB',
81 label: '是否上报',
82 render: (h, scope) => {
83 return (
84 <el-select class="width100" value={scope.row[scope.column.property]}
85 onChange={(val) => { scope.row[scope.column.property] = val }}>
86 {
87 store.getters.dicData['A6'].map(option => {
88 return (
89 <el-option label={option.DNAME} value={option.DCODE}></el-option>
90 )
91 })
92 }
93 </el-select>
94 )
95 }
96 },
97 {
98 prop: 'BWID',
99 label: '报文ID',
100 render: (h, scope) => {
101 return (
102 <el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
103 )
104 }
105 }
106 ]
107 }
108 }
109 let dbdata = new data()
110 export {
111 dbdata,
112 sendThis1
113 }
114
115
116
1 let vm = null
2 const sendThis = (_this) => {
3 vm = _this
4 }
5 class data {
6 columns () {
7 return [
8 {
9 width: "70",
10 renderHeader: (h, scope) => {
11 return (
12 <div>
13 <i
14 class="el-icon-plus"
15 onClick={() => {
16 vm.handleSBAdd();
17 }}
18 style="cursor:pointer;color:#409EFF"
19 ></i>
20 </div>
21 );
22 },
23 render: (h, scope) => {
24 return <i
25 class="el-icon-minus"
26 onClick={() => {
27 vm.handleSBMinus(scope.row);
28 }}
29 style="cursor:pointer;color:#409EFF"
30 ></i>
31 },
32 },
33 {
34 prop: 'YWH',
35 label: '业务号',
36 render: (h, scope) => {
37 return (
38 <el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
39 )
40 }
41 },
42 {
43 prop: 'BDCDYH',
44 label: '不动产单元号',
45 render: (h, scope) => {
46 return (
47 <el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
48 )
49 }
50 },
51 {
52 prop: 'BWID',
53 label: '报文ID',
54 render: (h, scope) => {
55 return (
56 <el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
57 )
58 }
59 }
60 ]
61 }
62 }
63 let sbdata = new data()
64 export {
65 sbdata,
66 sendThis
67 }
68
69
70
1 <template>
2 <el-dialog :close-on-click-modal="false" top="0" @close="closeDialog" custom-class="dialogBox editDialogBox mainCenter"
3 :visible.sync="dialogVisible" width="90%">
4 <div slot="title" class="dialog_title" ref="dialogTitle">
5 {{ title || '登薄日志' }}
6 </div>
7 <div class="regularHeight">
8 <div class="editDialogBox-box">
9 <el-tabs v-model="titleName" type="card">
10 <el-tab-pane label="登薄详情" name="sjmx"></el-tab-pane>
11 <el-tab-pane label="xml报文" name="xml"></el-tab-pane>
12 </el-tabs>
13 <div class="dialog-from" v-if="titleName == 'sjmx'">
14 <el-row class="dialog-from_header item-content-input">
15 <el-col :span="8">
16 <span>行政编码:</span>
17 <el-input v-model="accessLog.AREACODE" maxlength="10" disabled></el-input>
18 </el-col>
19 <el-col :span="8">
20 <span>行政名称:</span>
21 <el-input v-model="accessLog.AREANAME" maxlength="20" disabled></el-input>
22 </el-col>
23 <el-col :span="8">
24 <span>日期:</span>
25 <el-input v-model="accessLog.ACCESSDATE" disabled></el-input>
26 </el-col>
27 </el-row>
28 <el-row class="dialog-from_header item-content-input">
29 <el-col :span="24">
30 <span class="bz">备注:</span>
31 <el-input placeholder="请输入内容" maxlength="1000" v-model="accessLog.REMARK">
32 </el-input>
33 </el-col>
34 </el-row>
35 <!-- 当日登薄信息记录数 -->
36 <P class="dialog-from_title">当日登薄信息记录数</P>
37 <div>
38 <el-row class="dialog-from_header item-content-input">
39 <el-col :span="4">
40 <span>当日登薄量:</span>
41 <el-input v-model="registerInfo.TOTALNUM" disabled type="number"></el-input>
42 </el-col>
43 <el-col :span="4">
44 <span>首次登记量:</span>
45 <el-input v-model="registerInfo.FIRSTREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
46 type="number"></el-input>
47 </el-col>
48 <el-col :span="4">
49 <span>转移登记量:</span>
50 <el-input v-model="registerInfo.TRANSFERREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
51 type="number"></el-input>
52 </el-col>
53 <el-col :span="4">
54 <span>变更登记量:</span>
55 <el-input v-model="registerInfo.CHANGEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
56 type="number"></el-input>
57 </el-col>
58 <el-col :span="4">
59 <span>注销登记量:</span>
60 <el-input v-model="registerInfo.LOGOUTREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
61 type="number"></el-input>
62 </el-col>
63 <el-col :span="4">
64 <span>更正登记量:</span>
65 <el-input v-model="registerInfo.RIVISEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
66 type="number"></el-input>
67 </el-col>
68 </el-row>
69 <el-row class="dialog-from_header item-content-input">
70 <el-col :span="4">
71 <span>异议登记量:</span>
72 <el-input v-model="registerInfo.DISSENTINGREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
73 type="number"></el-input>
74 </el-col>
75 <el-col :span="4">
76 <span>预告登记量:</span>
77 <el-input v-model="registerInfo.ADVANCEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
78 type="number"></el-input>
79 </el-col>
80 <el-col :span="4">
81 <span>查封登记量:</span>
82 <el-input v-model="registerInfo.SEIZEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
83 type="number"></el-input>
84 </el-col>
85 <el-col :span="4">
86 <span>其他登记:</span>
87 <el-input v-model="registerInfo.otherReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
88 type="number"></el-input>
89 </el-col>
90 <el-col :span="4">
91 <span>业务类型量:</span>
92 <el-input v-model="registerInfo.BUSINESSTYPECOUNT" oninput="if(value.length > 6) value=value.slice(0, 6)"
93 type="number"></el-input>
94 </el-col>
95 <el-col :span="4" style="border:none">
96 </el-col>
97 </el-row>
98 </div>
99 <!-- 当日上报记录数 -->
100 <P class="dialog-from_title">当日上报记录数</P>
101 <div>
102 <el-row class="dialog-from_header item-content-input">
103 <el-col :span="4">
104 <span>当日上报量:</span>
105 <el-input v-model="accessInfo.TOTALNUM" disabled type="number"></el-input>
106 </el-col>
107 <el-col :span="4">
108 <span>首次登记量:</span>
109 <el-input v-model="accessInfo.FIRSTREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
110 type="number"></el-input>
111 </el-col>
112 <el-col :span="4">
113 <span>转移登记量:</span>
114 <el-input v-model="accessInfo.TRANSFERREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
115 type="number"></el-input>
116 </el-col>
117 <el-col :span="4">
118 <span>变更登记量:</span>
119 <el-input v-model="accessInfo.CHANGEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
120 type="number"></el-input>
121 </el-col>
122 <el-col :span="4">
123 <span>注销登记量:</span>
124 <el-input v-model="accessInfo.LOGOUTREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
125 type="number"></el-input>
126 </el-col>
127 <el-col :span="4">
128 <span>更正登记量:</span>
129 <el-input v-model="accessInfo.RIVISEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
130 type="number"></el-input>
131 </el-col>
132 </el-row>
133 <el-row class="dialog-from_header item-content-input">
134 <el-col :span="4">
135 <span>异议登记量:</span>
136 <el-input v-model="accessInfo.DISSENTINGREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
137 type="number"></el-input>
138 </el-col>
139 <el-col :span="4">
140 <span>预告登记量:</span>
141 <el-input v-model="accessInfo.ADVANCEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
142 type="number"></el-input>
143 </el-col>
144 <el-col :span="4">
145 <span>查封登记量:</span>
146 <el-input v-model="accessInfo.SEIZEREG" oninput="if(value.length > 6) value=value.slice(0, 6)"
147 type="number"></el-input>
148 </el-col>
149 <el-col :span="4">
150 <span>其他登记:</span>
151 <el-input v-model="accessInfo.otherReg" oninput="if(value.length > 6) value=value.slice(0, 6)"
152 type="number"></el-input>
153 </el-col>
154 <el-col :span="4">
155 <span>业务类型量:</span>
156 <el-input v-model="accessInfo.BUSINESSTYPECOUNT" oninput="if(value.length > 6) value=value.slice(0, 6)"
157 type="number"></el-input>
158 </el-col>
159 <el-col :span="4" style="border:none">
160 </el-col>
161 </el-row>
162 </div>
163 <el-tabs v-model="titleName2" type="card">
164 <el-tab-pane label="当日登薄详单" name="drdbxd"></el-tab-pane>
165 <el-tab-pane label="当日上报详单" name="sbslxd"></el-tab-pane>
166 </el-tabs>
167 <!-- 当日登薄详单 -->
168 <div class="from-clues-content" v-show="titleName2 == 'drdbxd'">
169 <lb-table :column="tableDBData.column" :pagination="false" :heightNumSetting="true" :heightNum="180"
170 :data="tableDBData.data">
171 </lb-table>
172 </div>
173 <!-- 当日上报详单 -->
174 <div class="from-clues-content" v-show="titleName2 == 'sbslxd'">
175 <lb-table :column="tableSBData.column" :pagination="false" :heightNumSetting="true" :heightNum="180"
176 :data="tableSBData.data">
177 </lb-table>
178 </div>
179 </div>
180 </div>
181 <div class="editDialogBox-box" v-if="titleName == 'xml'">
182 <JsonEditor :resultInfo="resultInfo" :key="key" />
183 </div>
184 </div>
185 <div class="d-center" v-if="titleName == 'sjmx'">
186 <btn nativeType="cz" @click="dialogVisible = false">取 消</btn>
187 <btn nativeType="cx" @click="submitForm">保 存</btn>
188 </div>
189 <div class="d-center" v-if="!$store.state.business.Edit && titleName == 'xml'">
190 <btn nativeType="cx" @click="handleResubmit">重新上报</btn>
191 </div>
192 </el-dialog>
193 </template>
194
195 <script>
196 import { sbdata, sendThis } from './data/sbdata'
197 import { dbdata, sendThis1 } from './data/dbdata'
198 import { getDetail, edit, regenerateDbXml } from "@/api/recordLog.js"
199 import JsonEditor from "@/components/JsonEditor.vue";
200 import { judgeListComplete } from "@/utils/tools.js"
201 export default {
202 components: { JsonEditor },
203 data () {
204 return {
205 key: 0,
206 title: '',
207 dialogVisible: false,
208 titleName: 'sjmx',
209 titleName2: 'drdbxd',
210 dbBsm: '',
211 // 头部信息
212 accessLog: {
213 AREACODE: '',
214 AREANAME: '',
215 ACCESSDATE: '',
216 REMARK: ''
217 },
218 // 当日登薄信息记录数
219 registerInfo: {
220 TOTALNUM: '', // 总数量
221 FIRSTREG: '', // 首次登记数量
222 TRANSFERREG: '', // 转移登记数量
223 CHANGEREG: '', // 变更登记数量
224 LOGOUTREG: '', // 注销登记数量
225 RIVISEREG: '', // 更正登记数量
226 DISSENTINGREG: '', // 异议登记数量
227 ADVANCEREG: '', // 预告登记数量
228 SEIZEREG: '', // 查封登记数量
229 EASEMENTREG: '', // 地役权登记数量
230 otherReg: '', // 其他登记数量
231 BUSINESSTYPECOUNT: '', // 业务类型总数
232 },
233 // 当日上报记录数
234 accessInfo: {
235 TOTALNUM: '', // 总数量
236 FIRSTREG: '', // 首次登记数量
237 TRANSFERREG: '', // 转移登记数量
238 CHANGEREG: '', // 变更登记数量
239 LOGOUTREG: '', // 注销登记数量
240 RIVISEREG: '', // 更正登记数量
241 DISSENTINGREG: '', // 异议登记数量
242 ADVANCEREG: '', // 预告登记数量
243 SEIZEREG: '', // 查封登记数量
244 EASEMENTREG: '', // 地役权登记数量
245 otherReg: '', // 其他登记数量
246 BUSINESSTYPECOUNT: '', // 业务类型总数
247 },
248 // 当日登薄详单
249 tableDBData: {
250 data: [],
251 column: dbdata.columns()
252 },
253 // 当日上报详单
254 tableSBData: {
255 data: [],
256 column: sbdata.columns()
257 },
258 // XML详情
259 resultInfo: '',
260 dataReport: {}
261 }
262 },
263 mounted () {
264 sendThis(this);
265 sendThis1(this);
266 },
267 watch: {
268 registerInfo: {
269 handler: function (newVal, oldVal) {
270 this.registerInfo.TOTALNUM = (newVal.FIRSTREG - 0) + (newVal.TRANSFERREG - 0) +
271 (newVal.CHANGEREG - 0) + (newVal.LOGOUTREG - 0) + (newVal.RIVISEREG - 0) + (newVal.DISSENTINGREG - 0)
272 + (newVal.ADVANCEREG - 0) + (newVal.SEIZEREG - 0) + (newVal.otherReg - 0)
273 },
274 deep: true
275 },
276 accessInfo: {
277 handler: function (newVal, oldVal) {
278 this.accessInfo.TOTALNUM = (newVal.FIRSTREG - 0) + (newVal.TRANSFERREG - 0) +
279 (newVal.CHANGEREG - 0) + (newVal.LOGOUTREG - 0) + (newVal.RIVISEREG - 0) + (newVal.DISSENTINGREG - 0)
280 + (newVal.ADVANCEREG - 0) + (newVal.SEIZEREG - 0) + (newVal.otherReg - 0)
281 },
282 deep: true
283 }
284 },
285 methods: {
286 closeDialog () {
287 this.dialogVisible = false;
288 },
289 isShow (item) {
290 this.title = '登薄日志(' + item.ACCESSDATE + ')'
291 this.titleName = 'sjmx'
292 this.dialogVisible = true
293 this.dbBsm = item.dbBsm
294 this._getDetails(item.dbBsm)
295 },
296 /**
297 * @description: 获取列表接口
298 * @author: renchao
299 */
300 _getDetails (data) {
301 getDetail(data).then(res => {
302 let { accessLog, registerInfo, accessInfo, accessList, registerList
303 } = res.result
304 this.accessLog = accessLog
305 this.resultInfo = accessLog.LOGSXML
306 this.registerInfo = registerInfo
307 this.accessInfo = accessInfo
308 this.tableDBData.data = _.cloneDeep(registerList)
309 this.tableSBData.data = _.cloneDeep(accessList)
310 this.tableDBData.data.forEach((item, index) => {
311 this.$set(item, 'index', index)
312 })
313 this.tableSBData.data.forEach((item, index) => {
314 this.$set(item, 'index', index)
315 })
316 })
317 },
318 // 当日登薄详单
319 handleDBAdd () {
320 this.tableDBData.data.push({
321 YWH: '',
322 DJLX: '',
323 QLLX: '',
324 BDCDYH: '',
325 ZSZMH: '',
326 SFSB: '',
327 BWID: '',
328 BSM_DBLOG: this.accessLog.bsmDblog
329 })
330 this.tableDBData.data.forEach((item, index) => {
331 this.$set(item, 'index', index)
332 })
333 },
334 handleDBMinus (row) {
335 this.$confirm('此操作将删除列表, 是否继续?', '提示', {
336 confirmButtonText: '确定',
337 cancelButtonText: '取消',
338 type: 'warning'
339 }).then(() => {
340 this.tableDBData.data.splice(row.index, 1)
341 this.$message({
342 type: 'success',
343 message: '删除成功!'
344 })
345 this.tableDBData.data.forEach((item, index) => {
346 this.$set(item, 'index', index)
347 })
348 }).catch(() => {
349 this.$message({
350 type: 'info',
351 message: '已取消删除'
352 })
353 })
354 },
355 // 当日上报详单
356 handleSBAdd () {
357 this.tableSBData.data.push({
358 YWH: '',
359 BDCDYH: '',
360 BWID: '',
361 BSM_DBLOG: this.accessLog.bsmDblog
362 })
363 this.tableSBData.data.forEach((item, index) => {
364 this.$set(item, 'index', index)
365 })
366 },
367 handleSBMinus (row) {
368 this.$confirm('此操作将删除列表, 是否继续?', '提示', {
369 confirmButtonText: '确定',
370 cancelButtonText: '取消',
371 type: 'warning'
372 }).then(() => {
373 this.tableSBData.data.splice(row.index, 1)
374 this.$message({
375 type: 'success',
376 message: '删除成功!'
377 })
378 this.tableSBData.data.forEach((item, index) => {
379 this.$set(item, 'index', index)
380 })
381 }).catch(() => {
382 this.$message({
383 type: 'info',
384 message: '已取消删除'
385 })
386 })
387 },
388 /**
389 * @description: 确定修改详情
390 * @param {*} function
391 * @author: renchao
392 */
393 submitForm: _.debounce(function () {
394 let _this = this
395 if (_verify(this.tableDBData.data, '当日登薄详单列表必填') && _verify(this.tableSBData.data, '当日上报详单列表必填')) {
396 _editDetail()
397 }
398 function _verify (data, msg) {
399 let flag = true
400 if (!judgeListComplete(data)) {
401 _this.$message({
402 message: msg,
403 type: 'warning'
404 })
405 flag = false
406 }
407 return flag
408 }
409 function _editDetail () {
410 edit({
411 accessLog: _this.accessLog, registerInfo: _this.registerInfo,
412 accessInfo: _this.accessInfo,
413 accessList: _this.tableSBData.data,
414 registerList: _this.tableDBData.data
415 }).then(res => {
416 if (res.code == 200) {
417 _this.$message({
418 message: '保存成功',
419 type: 'success'
420 })
421 _this._getDetails(_this.dbBsm)
422 }
423 })
424 }
425 }, 600),
426 /**
427 * @description: 登薄日志重新生成报文
428 * @param {*} function
429 * @author: renchao
430 */
431 handleResubmit () {
432 let _this = this
433 this.$confirm('重新生成报文,是否上报省厅?', '提示', {
434 confirmButtonText: '确定',
435 cancelButtonText: '取消',
436 type: 'warning'
437 }).then(() => {
438 createXml()
439 }).catch(() => {
440 this.$message({
441 type: 'info',
442 message: '已取消删除'
443 })
444 })
445 function createXml () {
446 regenerateDbXml(_this.dbBsm).then(res => {
447 if (res.code == 200) {
448 _this.$message({
449 message: '生成成功',
450 type: 'success'
451 })
452 _this.resultInfo = res.message
453 }
454 })
455 }
456 }
457 }
458 }
459 </script>
460 <style scoped lang="scss">
461 @import "~@/styles/mixin.scss";
462 // @import "~@/styles/public.scss";
463 @import "~@/styles/dialogBox.scss";
464
465
466 /deep/.el-tabs__header {
467 margin: 0;
468 }
469
470 /deep/.el-dialog {
471 display: flex;
472 flex-direction: column;
473 }
474
475 /deep/.el-dialog__body {
476 display: flex;
477 flex-direction: column;
478 padding-bottom: 30px;
479 height: 100%;
480 flex: 1;
481 position: relative;
482 }
483
484 .regularHeight {
485 display: flex;
486 flex-direction: column;
487 flex: 1;
488 height: 100%;
489 margin-bottom: 5px;
490
491 .editDialogBox-con,
492 .JsonEditor {
493 flex: 1;
494 }
495 }
496
497 .d-center {}
498
499 .dialog_title {
500 top: -13px
501 }
502
503 /deep/.el-tabs__item {
504 color: #CEF8FF !important;
505
506 display: flex;
507 flex-direction: row;
508 justify-content: center;
509 background: url("~@/image/tabitem.png") no-repeat;
510 background-size: 100% 100%;
511 border: none !important;
512 }
513
514 /deep/.el-tabs__nav {
515 display: flex;
516 border: none !important;
517 }
518
519 /deep/.el-tabs__item.is-top:not(:last-child) {
520 margin-right: 5px;
521 }
522
523 /deep/.el-icon-circle-close {
524 display: none;
525 }
526
527 /deep/.el-tabs__item.is-active {
528 background: url("~@/image/tabitemse.png") no-repeat;
529 background-size: 100% 100%;
530 }
531
532 .from-clues-content {
533 margin-top: 0;
534 background: none;
535 padding: 0;
536 }
537
538 .editDialogBox-box {
539 position: relative;
540 top: 10px;
541 height: 100%;
542 }
543
544 .dialog-from {
545 padding-top: 0;
546
547 .el-col {
548 justify-content: space-between;
549 }
550
551 .bz {
552 height: 100%;
553 position: relative;
554 top: 3px;
555 }
556
557 /deep/.el-input {
558 flex: 1;
559 width: 100%;
560 }
561
562 /deep/.el-textarea__inner {
563 border: none !important;
564 margin: 0;
565 }
566
567 &_header {
568 margin: 0 -5px !important;
569 }
570
571 &_title {
572 font-size: 14px;
573 color: #d7eaee;
574 margin: 3px 0;
575 }
576 }
577 </style>
578
...@@ -22,7 +22,7 @@ class data { ...@@ -22,7 +22,7 @@ class data {
22 { 22 {
23 prop: "UPLOADTIME", 23 prop: "UPLOADTIME",
24 label: "汇交日期", 24 label: "汇交日期",
25 width: '150', 25 width: '140',
26 }, 26 },
27 { 27 {
28 prop: "AREANAME", 28 prop: "AREANAME",
...@@ -31,7 +31,7 @@ class data { ...@@ -31,7 +31,7 @@ class data {
31 { 31 {
32 prop: "ACCESSDATE", 32 prop: "ACCESSDATE",
33 label: "日期", 33 label: "日期",
34 width: '150', 34 width: '140',
35 }, 35 },
36 { 36 {
37 prop: "type", 37 prop: "type",
...@@ -183,6 +183,27 @@ class data { ...@@ -183,6 +183,27 @@ class data {
183 </div> 183 </div>
184 ) 184 )
185 }, 185 },
186 },
187 {
188 label: "操作",
189 width: "80",
190 fixed: "right",
191 render: (h, scope) => {
192 return (
193 <div>
194 <el-button
195 type="text"
196 style="color:#67C23A"
197 onClick={() => {
198 vm.handleEdit(scope.row);
199 }}
200 >
201 修改
202 <i class="el-icon-d-arrow-right"></i>
203 </el-button>
204 </div>
205 );
206 },
186 } 207 }
187 ] 208 ]
188 } 209 }
......
...@@ -24,9 +24,8 @@ ...@@ -24,9 +24,8 @@
24 </el-col> 24 </el-col>
25 <el-col :span="6"> 25 <el-col :span="6">
26 <el-form-item label="结束日期" prop="endTime"> 26 <el-form-item label="结束日期" prop="endTime">
27 <el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd" 27 <el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd" clearable
28 clearable v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss" 28 v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
29 @change="endTimeChange"></el-date-picker>
30 </el-form-item> 29 </el-form-item>
31 </el-col> 30 </el-col>
32 <!-- 操作按钮 --> 31 <!-- 操作按钮 -->
...@@ -45,6 +44,8 @@ ...@@ -45,6 +44,8 @@
45 :data="tableData.data"> 44 :data="tableData.data">
46 </lb-table> 45 </lb-table>
47 </div> 46 </div>
47 <!-- 详情弹框 -->
48 <editDialog ref="editLog" />
48 </div> 49 </div>
49 </template> 50 </template>
50 <script> 51 <script>
...@@ -57,7 +58,12 @@ import { getRecordLogPage } from "@/api/recordLog.js"; ...@@ -57,7 +58,12 @@ import { getRecordLogPage } from "@/api/recordLog.js";
57 import { mapGetters } from 'vuex' 58 import { mapGetters } from 'vuex'
58 //引入日期处理方法 59 //引入日期处理方法
59 import { timeFormat } from "@/utils/operation"; 60 import { timeFormat } from "@/utils/operation";
61 // 引入弹框组件
62 import editDialog from '../components/editDialog.vue'
60 export default { 63 export default {
64 components: {
65 editDialog
66 },
61 name: "dbrzcx", 67 name: "dbrzcx",
62 mixins: [tableMixin], 68 mixins: [tableMixin],
63 computed: { 69 computed: {
...@@ -135,11 +141,18 @@ export default { ...@@ -135,11 +141,18 @@ export default {
135 this.$refs.ruleForm.resetFields(); 141 this.$refs.ruleForm.resetFields();
136 this.form.currentPage = 1 142 this.form.currentPage = 1
137 this.featchData(); 143 this.featchData();
144 },
145 // 编辑
146 handleEdit (row) {
147 this.$refs.editLog.isShow(row);
148 this.$store.dispatch('business/setReportLogEdit')
138 } 149 }
150 },
151 destroyed () {
152 this.$store.dispatch('business/setEdit')
139 } 153 }
140 } 154 }
141 </script> 155 </script>
142 <style scoped lang="scss"> 156 <style scoped lang="scss">
143 @import "~@/styles/public.scss";
144 @import "./index.scss"; 157 @import "./index.scss";
145 </style> 158 </style>
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-13 14:39:14
5 */
1 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
2 let vm = null 7 let vm = null
3 const sendThis = (_this) => { 8 const sendThis = (_this) => {
...@@ -51,6 +56,7 @@ class data extends filter { ...@@ -51,6 +56,7 @@ class data extends filter {
51 { 56 {
52 prop: "estatenum", 57 prop: "estatenum",
53 label: "不动产单元号", 58 label: "不动产单元号",
59 width: 150,
54 }, 60 },
55 { 61 {
56 prop: "rectype", 62 prop: "rectype",
...@@ -60,6 +66,7 @@ class data extends filter { ...@@ -60,6 +66,7 @@ class data extends filter {
60 { 66 {
61 prop: "rectypeName", 67 prop: "rectypeName",
62 label: "业务名称", 68 label: "业务名称",
69 minWidth: 240,
63 }, 70 },
64 { 71 {
65 prop: "exchangeDate", 72 prop: "exchangeDate",
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
79 <!-- 引入详情组件 --> 79 <!-- 引入详情组件 -->
80 <!-- 编辑 --> 80 <!-- 编辑 -->
81 <dataDetails ref="editLog" :title="title" :visiableXml="true" /> 81 <dataDetails ref="editLog" :title="title" :visiableXml="true" />
82 </div> 82 </div>
83 </template> 83 </template>
84 <script> 84 <script>
85 // 上报报文查询 85 // 上报报文查询
...@@ -156,15 +156,31 @@ export default { ...@@ -156,15 +156,31 @@ export default {
156 render: (h, scope) => { 156 render: (h, scope) => {
157 return ( 157 return (
158 <div> 158 <div>
159 {
160 scope.row.exchangeState == 2 ?
159 <el-button 161 <el-button
160 size="mini" 162 size="mini"
161 type="primary" 163 type="text"
164 style="color:#67C23A"
165 onClick={() => {
166 this.handleDetail(scope.row);
167 }}
168 >
169 修改
170 <i class="el-icon-d-arrow-right"></i>
171 </el-button> :
172 <el-button
173 size="mini"
174 type="text"
162 onClick={() => { 175 onClick={() => {
163 this.handleDetail(scope.row); 176 this.handleDetail(scope.row);
164 }} 177 }}
165 > 178 >
166 详情 179 详情
180 <i class="el-icon-d-arrow-right"></i>
167 </el-button> 181 </el-button>
182 }
183
168 </div> 184 </div>
169 ); 185 );
170 }, 186 },
...@@ -201,6 +217,11 @@ export default { ...@@ -201,6 +217,11 @@ export default {
201 handleDetail (row) { 217 handleDetail (row) {
202 this.title = row.rectypeName; 218 this.title = row.rectypeName;
203 this.$refs.editLog.isShow(row); 219 this.$refs.editLog.isShow(row);
220 if (row.exchangeState == 2) {
221 this.$store.dispatch('business/setReportLogEdit')
222 } else {
223 this.$store.dispatch('business/setEdit')
224 }
204 }, 225 },
205 // 重置 226 // 重置
206 resetForm () { 227 resetForm () {
...@@ -214,7 +235,6 @@ export default { ...@@ -214,7 +235,6 @@ export default {
214 </script> 235 </script>
215 <style scoped lang="scss"> 236 <style scoped lang="scss">
216 // 引入页面公共样式 237 // 引入页面公共样式
217 @import "~@/styles/public.scss";
218 @import "./index.scss"; 238 @import "./index.scss";
219 </style> 239 </style>
220 240
......
...@@ -146,8 +146,7 @@ export default { ...@@ -146,8 +146,7 @@ export default {
146 } 146 }
147 </script> 147 </script>
148 <style rel="stylesheet/scss" lang="scss" scoped> 148 <style rel="stylesheet/scss" lang="scss" scoped>
149 @import "~@/styles/public.scss"; 149 // @import "~@/styles/public.scss";
150
151 .editDialogBox-box { 150 .editDialogBox-box {
152 margin: 14px 18px 30px 18px !important 151 margin: 14px 18px 30px 18px !important
153 } 152 }
......
1 <template> 1 <template>
2 <!-- 编辑 --> 2 <!-- 编辑 -->
3 <dialogBox submitForm="submitForm" class="tableClass" @closeDialog="closeDialog" @submitForm="handleSubmit" 3 <dialogBox submitForm="submitForm" class="tableClass" @closeDialog="closeDialog" @submitForm="handleSubmit" width="60%"
4 width="60%" v-model="myValue" :isMain="true" title="字典信息"> 4 v-model="myValue" :isMain="true" title="字典信息">
5 <div class="editDialogBox-box "> 5 <div class="editDialogBox-box ">
6 <el-form :model="ruleForm" ref="ruleForm" label-width="100px"> 6 <el-form :model="ruleForm" ref="ruleForm" label-width="100px">
7 <el-row :gutter="20"> 7 <el-row :gutter="20">
...@@ -17,9 +17,8 @@ ...@@ -17,9 +17,8 @@
17 </el-col> 17 </el-col>
18 </el-row> 18 </el-row>
19 </el-form> 19 </el-form>
20 <lb-table :column="column" class="loadingtext opacity-input" :heightNum="600" :key="key" 20 <lb-table :column="column" class="loadingtext opacity-input" :heightNum="600" :key="key" :expand-row-keys="keyList"
21 :expand-row-keys="keyList" row-key="dictid" :tree-props="{ children: 'children' }" :pagination="false" 21 row-key="dictid" :tree-props="{ children: 'children' }" :pagination="false" :data="tableData">
22 :data="tableData">
23 </lb-table> 22 </lb-table>
24 </div> 23 </div>
25 </dialogBox> 24 </dialogBox>
...@@ -359,7 +358,7 @@ export default { ...@@ -359,7 +358,7 @@ export default {
359 }; 358 };
360 </script> 359 </script>
361 <style rel="stylesheet/scss" lang="scss" scoped> 360 <style rel="stylesheet/scss" lang="scss" scoped>
362 @import "~@/styles/public.scss"; 361 // @import "~@/styles/public.scss";
363 362
364 /deep/.el-radio { 363 /deep/.el-radio {
365 margin-right: 5px !important; 364 margin-right: 5px !important;
......
...@@ -127,5 +127,5 @@ export default { ...@@ -127,5 +127,5 @@ export default {
127 }; 127 };
128 </script> 128 </script>
129 <style scoped lang="scss"> 129 <style scoped lang="scss">
130 @import "~@/styles/public.scss"; 130 // @import "~@/styles/public.scss";
131 </style> 131 </style>
......
...@@ -6,8 +6,7 @@ ...@@ -6,8 +6,7 @@
6 label-width="100px" 6 label-width="100px"
7 :model="form" 7 :model="form"
8 class="form-wrapper" 8 class="form-wrapper"
9 :rules="rules" 9 :rules="rules">
10 >
11 <el-form-item label="用户名:" required> 10 <el-form-item label="用户名:" required>
12 <el-input v-model="form.loginName" clearable disabled /> 11 <el-input v-model="form.loginName" clearable disabled />
13 </el-form-item> 12 </el-form-item>
...@@ -19,9 +18,7 @@ ...@@ -19,9 +18,7 @@
19 <el-radio 18 <el-radio
20 v-for="(item, index) in sexList" 19 v-for="(item, index) in sexList"
21 :key="index" 20 :key="index"
22 :label="item.value" 21 :label="item.value">{{ item.name }}</el-radio>
23 >{{ item.name }}</el-radio
24 >
25 </el-radio-group> 22 </el-radio-group>
26 </el-form-item> 23 </el-form-item>
27 <el-form-item label="身份证号:" prop="idCard"> 24 <el-form-item label="身份证号:" prop="idCard">
...@@ -30,7 +27,7 @@ ...@@ -30,7 +27,7 @@
30 <el-form-item label="手机号码:" prop="mobilePhone"> 27 <el-form-item label="手机号码:" prop="mobilePhone">
31 <el-input v-model="form.mobilePhone" clearable /> 28 <el-input v-model="form.mobilePhone" clearable />
32 </el-form-item> 29 </el-form-item>
33 <el-form-item label="办公电话:" prop="telephone"> 30 <el-form-item label="办公电话:">
34 <el-input v-model="form.telephone" clearable /> 31 <el-input v-model="form.telephone" clearable />
35 </el-form-item> 32 </el-form-item>
36 <el-form-item label="办公地址:"> 33 <el-form-item label="办公地址:">
...@@ -45,200 +42,121 @@ ...@@ -45,200 +42,121 @@
45 </template> 42 </template>
46 43
47 <script> 44 <script>
48 // import { api, getAction, putAction, getDictItems } from '@api/manageApi' 45 import { api, getAction, putAction, getDictItems } from '@/api/manageApi'
49 export default { 46 export default {
50 props: { 47 props: {
51 // userInfo: { 48 userInfo: {
52 // type: Object, 49 type: Object,
53 // default: null 50 default: null
54 // } 51 }
55 }, 52 },
56 data() { 53 data () {
57 return { 54 return {
58 form: { 55 form: {},
59 id: "3127e455-43ba-45ff-9326-0e02ef89485e",
60 name: "超级管理员",
61 sort: 1,
62 loginName: "admin",
63 email: null,
64 lastLoginTime: null,
65 mobilePhone: "18291003568",
66 isLocked: false,
67 status: "ACTIVE",
68 passwordChangeTime: "2021-12-10T08:01:01.569+0000",
69 idCard: "612725202111021521",
70 departmentId: "2eae5304-544f-4f5b-b354-8f5d47433c9b",
71 departmentName: null,
72 organizationId: "0bca67ae-1d9e-4b41-b057-f165586d24aa",
73 sex: "0",
74 isDuty: true,
75 code: "123324",
76 jobLevel: null,
77 telephone: "028-87720898",
78 address: "办公地点修改测试",
79 },
80 sexList: [], 56 sexList: [],
81 rules: { 57 rules: {
82 mobilePhone: [ 58 mobilePhone: [
83 { 59 {
84 pattern: 60 pattern:
85 /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/, 61 /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/,
86 message: "手机号码格式有误", 62 message: '手机号码格式有误',
87 trigger: "blur", 63 trigger: 'blur'
88 }, 64 }
89 ], 65 ],
90 idCard: [ 66 idCard: [
91 { 67 {
92 pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, 68 pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
93 message: "身份证号格式有误", 69 message: '身份证号格式有误',
94 trigger: "blur", 70 trigger: 'blur'
95 }, 71 }
96 ], 72 ]
97 telephone: [ 73 }
98 { 74 }
99 pattern: /\d{3}-\d{8}|\d{4}-\d{7}/,
100 message: "办公电话格式有误",
101 trigger: "blur",
102 },
103 ],
104 },
105 };
106 }, 75 },
107 watch: { 76 watch: {
108 // userInfo: { 77 userInfo: {
109 // handler: function(val) { 78 handler: function (val) {
110 // if (val) { 79 if (val) {
111 // this.getUserInfo(val.id) 80 this.getUserdata(val.id)
112 // } 81 }
113 // } 82 }
114 // } 83 }
115 }, 84 },
116 mounted() { 85 mounted () {
117 // getDictItems('XB').then((res) => { 86 if (this.userInfo) {
118 // if (res.status === 1) { 87 this.getUserdata(this.userInfo)
88 }
119 this.sexList = [ 89 this.sexList = [
120 { 90 {
121 id: "079c72b2-f3de-4a4f-b2a1-e5c8f085cc5f", 91 "name": "男",
122 createdAt: "2021-06-11T02:42:02.000+0000", 92 "value": "0",
123 updatedAt: "2021-09-03T09:21:46.000+0000",
124 createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
125 updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
126 sort: 2,
127 name: "男",
128 description: "",
129 code: "N362",
130 value: "0",
131 parentId: null,
132 baseDataCategoryId: "11441374-5e2a-4635-bfa5-d1a430222019",
133 version: 1,
134 valid: true,
135 standard: false,
136 standardName: null,
137 standardValue: null,
138 children: [],
139 commonName: "男(N362)",
140 }, 93 },
141 { 94 {
142 id: "4d6f845d-6f6a-4848-8fc2-a3760764c196", 95
143 createdAt: "2021-06-11T02:42:12.000+0000", 96 "name": "女",
144 updatedAt: "2021-09-03T09:21:46.000+0000", 97 "value": "1",
145 createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
146 updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
147 sort: 1,
148 name: "女",
149 description: "",
150 code: "N922",
151 value: "1",
152 parentId: null,
153 baseDataCategoryId: "11441374-5e2a-4635-bfa5-d1a430222019",
154 version: 1,
155 valid: true,
156 standard: false,
157 standardName: null,
158 standardValue: null,
159 children: [],
160 commonName: "女(N922)",
161 }, 98 },
99
162 { 100 {
163 id: "637c360b-d4e2-4afb-aa18-33624cf3abcb", 101 "name": "保密",
164 createdAt: "2021-06-11T02:42:29.000+0000", 102 "value": "2",
165 updatedAt: "2021-09-03T09:21:43.000+0000",
166 createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
167 updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
168 sort: 0,
169 name: "保密",
170 description: "",
171 code: "BM816",
172 value: "2",
173 parentId: null,
174 baseDataCategoryId: "11441374-5e2a-4635-bfa5-d1a430222019",
175 version: 1,
176 valid: true,
177 standard: false,
178 standardName: null,
179 standardValue: null,
180 children: [],
181 commonName: "保密(BM816)",
182 },
183 ];
184 // } else {
185 // this.$message.error({ message: res.message, showClose: true })
186 // }
187 // })
188 },
189 methods: {
190 // getUserInfo(id) {
191 // getAction(`${api.users}/${id}`).then((res) => {
192 // if (res.status === 1) {
193 103
194 // } else { 104 }
195 // this.$message.error({ message: res.message, showClose: true }) 105 ]
196 // }
197 // })
198 // },
199 // 更新信息
200 updateInfo() {
201 // this.$refs.form.validate((valid) => {
202 // if (valid) {
203 // putAction(`${api.users}/${this.form.id}`, this.form).then((res) => {
204 // if (res.status === 1) {
205 // this.$message.success({ message: res.message, showClose: true })
206 // this.getUserInfo(this.form.id)
207 // } else {
208 // this.$message.error({ message: res.message, showClose: true })
209 // }
210 // })
211 // }
212 // })
213 }, 106 },
107 methods: {
108 getUserdata (p) {
109 getAction(`${api.users}/${p.id}`).then((res) => {
110 if (res.status === 1) {
111 this.form = res.content
112 } else {
113 this.$message.error({ message: res.message, showClose: true })
114 }
115 })
214 }, 116 },
215 }; 117 updateInfo () {
118 this.$refs.form.validate((valid) => {
119 if (valid) {
120 putAction(`${api.users}/${this.form.id}`, this.form).then((res) => {
121 if (res.status === 1) {
122 this.$message.success({ message: res.message, showClose: true })
123 this.getUserdata(this.form.id)
124 } else {
125 this.$message.error({ message: res.message, showClose: true })
126 }
127 })
128 }
129 })
130 }
131 }
132 }
216 </script> 133 </script>
217 134
218 <style scoped lang="scss"> 135 <style scoped lang="scss">
219 .user-info { 136 .user-info {
220 margin: 0.1875rem 1.0417rem; 137 margin: 0.1875rem 1.0417rem;
221 background: #ffffff; 138 background: #ffffff;
222 max-height: 90%;
223 overflow-y: auto; 139 overflow-y: auto;
224 .form-wrapper { 140 .form-wrapper {
225 padding: 24px 120px 0px; 141 padding: 0px 120px 0px;
226 .el-form-item { 142 .el-form-item {
227 margin-bottom: 24px; 143 /deep/.el-form-item__label {
228 .el-form-item__label { 144 color: #ffffff;
229 color: #747e8c;
230 } 145 }
231 ::v-deep .el-input .el-input__inner { 146 ::v-deep .el-input .el-input__inner {
232 padding: 0 8px; 147 padding: 0 8px;
233 height: 40px; 148 height: 40px;
234 line-height: 40px; 149 line-height: 40px;
235 border: 1px solid #6BC1FC; 150 border: 1px solid #6bc1fc;
236 } 151 }
237 } 152 }
153 .el-form-item--small.el-form-item {
154 margin-bottom: 16px;
155 }
238 } 156 }
239 .bottom-wrapper { 157 .bottom-wrapper {
240 padding: 32px 120px 24px; 158 padding: 0px 120px 0px;
241 text-align: right; 159 text-align: right;
242 } 160 }
243 } 161 }
244 </style> 162 </style>
......
1 <!--
2 * @Author: xiaomiao 1158771342@qq.com
3 * @Date: 2023-03-08 15:30:43
4 * @LastEditors: xiaomiao 1158771342@qq.com
5 * @LastEditTime: 2023-03-08 16:33:50
6 * @FilePath: \监管系统\js-web-jianguan\src\views\system\information copy\index.vue
7 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8 -->
1 <template> 9 <template>
2 <div class="information from-clues"> 10 <div class="information from-clues">
3 <div class="from-clues-header"> 11 <div class="from-clues-header">
...@@ -13,71 +21,65 @@ ...@@ -13,71 +21,65 @@
13 </el-row> 21 </el-row>
14 </el-form> 22 </el-form>
15 </div> 23 </div>
16 <div class="from-clues-content"> 24 <div class="from-clues-content boxin">
17 <div class="contentbox"> 25 <div class="contentbox">
18 <base-set v-show="isshow" /> 26 <base-set v-if="isshow" :userInfo="userData" />
19 <password-edit v-show="!isshow" /> 27 <password-edit v-if="!isshow" :userInfo="userData" />
20 </div> 28 </div>
21 </div> 29 </div>
22 </div> 30 </div>
23 </template> 31 </template>
24 <script> 32 <script>
25 import "@/utils/flexible.js"; 33 import "@/utils/flexible.js";
26 import BaseSet from "./base-set.vue"; 34 import BaseSet from "./base-set.vue";
27 import PasswordEdit from "./password-edit.vue"; 35 import PasswordEdit from "./password-edit.vue";
28 export default { 36 export default {
29 components: { 37 components: {
30 BaseSet, 38 BaseSet,
31 PasswordEdit, 39 PasswordEdit,
32 }, 40 },
33 data() { 41 data () {
34 return { 42 return {
35 active: "baseSet",
36 isshow: true, 43 isshow: true,
37 }; 44 };
38 }, 45 },
39 computed: {}, 46 computed: {
47 userData () {
48 return this.$store.state.user.userInfo;
49 },
50 },
40 watch: {}, 51 watch: {},
41 created() {}, 52 created () { },
42 mounted() {}, 53 mounted () {
54
55
56 },
43 methods: { 57 methods: {
44 information() { 58 information () {
45 this.isshow = true; 59 this.isshow = true;
46 }, 60 },
47 password() { 61 password () {
48 this.isshow = false; 62 this.isshow = false;
49 }, 63 },
50 }, 64 },
51 }; 65 };
52 </script> 66 </script>
53 67
54 <style scoped lang="scss"> 68 <style scoped lang="scss">
55 @import "~@/styles/mixin.scss"; 69 @import "~@/styles/mixin.scss";
56 @import "~@/styles/public.scss"; 70 @import "~@/styles/public.scss";
57 .information{ 71 .information {
58 .btnColRight{
59 margin-top: 20px;
60 }
61 /deep/.content { 72 /deep/.content {
62 .el-input__inner{ 73 .el-input__inner {
63 background: none; 74 background: none;
64 } 75 }
65 .user-info { 76 .user-info {
66 background: none; 77 background: none;
67 } 78 }
68 }
69 /deep/.el-tabs {
70
71 .el-tabs__content {
72 height: 100%;
73 width: 100%;
74
75 79
80 .boxin {
81 height: 79%;
82 }
83 }
76 } 84 }
77 }
78 .contentbox{
79 height: 3.0854rem;
80 }
81 }
82
83 </style> 85 </style>
......
...@@ -6,31 +6,27 @@ ...@@ -6,31 +6,27 @@
6 label-width="100px" 6 label-width="100px"
7 :model="form" 7 :model="form"
8 class="form-wrapper" 8 class="form-wrapper"
9 :rules="rules" 9 :rules="rules">
10 > 10 <el-form-item label="旧密码:" prop="oldPassword">
11 <el-form-item label="旧密码:" required prop="oldPassword">
12 <el-input 11 <el-input
13 v-model="form.oldPassword" 12 v-model="form.oldPassword"
14 clearable 13 clearable
15 type="password" 14 type="password"
16 show-password 15 show-password />
17 />
18 </el-form-item> 16 </el-form-item>
19 <el-form-item label="新密码:" required prop="newPassword"> 17 <el-form-item label="新密码:" prop="newPassword">
20 <el-input 18 <el-input
21 v-model="form.newPassword" 19 v-model="form.newPassword"
22 clearable 20 clearable
23 type="password" 21 type="password"
24 show-password 22 show-password />
25 />
26 </el-form-item> 23 </el-form-item>
27 <el-form-item label="确认密码:" required prop="confirmPassword"> 24 <el-form-item label="确认密码:" prop="confirmPassword">
28 <el-input 25 <el-input
29 v-model="form.confirmPassword" 26 v-model="form.confirmPassword"
30 clearable 27 clearable
31 type="password" 28 type="password"
32 show-password 29 show-password />
33 />
34 </el-form-item> 30 </el-form-item>
35 </el-form> 31 </el-form>
36 <div class="bottom-wrapper"> 32 <div class="bottom-wrapper">
...@@ -41,15 +37,15 @@ ...@@ -41,15 +37,15 @@
41 </template> 37 </template>
42 38
43 <script> 39 <script>
44 // import { updateUserPassword } from '@api/organizationManage' 40 import { updateUserPassword } from "@/api/personnelManage";
45 export default { 41 export default {
46 props: { 42 props: {
47 // userInfo: { 43 userInfo: {
48 // type: Object, 44 type: Object,
49 // default: null 45 default: null
50 // } 46 }
51 }, 47 },
52 data() { 48 data () {
53 return { 49 return {
54 form: {}, 50 form: {},
55 sexList: [], 51 sexList: [],
...@@ -70,17 +66,25 @@ export default { ...@@ -70,17 +66,25 @@ export default {
70 }, 66 },
71 computed: {}, 67 computed: {},
72 watch: { 68 watch: {
73 // userInfo: { 69 userInfo: {
74 // handler: function(val) { 70 handler: function (val) {
75 // if (val) { 71 if (val) {
76 // this.userId = val.id 72 this.getid(val)
77 // } 73 }
78 // } 74 }
79 // } 75 }
76
77 },
78 mounted () {
79 if (this.userInfo) {
80 this.getid(this.userInfo)
81 }
80 }, 82 },
81 mounted() {},
82 methods: { 83 methods: {
83 validatorConfirmPassword(rule, value, callback) { 84 getid (val) {
85 this.userId = val.id
86 },
87 validatorConfirmPassword (rule, value, callback) {
84 const { newPassword } = this.form 88 const { newPassword } = this.form
85 if (value !== newPassword) { 89 if (value !== newPassword) {
86 callback('两次输入密码不一致') 90 callback('两次输入密码不一致')
...@@ -88,43 +92,41 @@ export default { ...@@ -88,43 +92,41 @@ export default {
88 callback() 92 callback()
89 } 93 }
90 }, 94 },
91 // 确认修改 95 updatePassword () {
92 updatePassword() { 96 this.$refs.form.validate((valid) => {
93 // this.$refs.form.validate((valid) => { 97 if (valid) {
94 // if (valid) { 98 const params = Object.assign({}, this.form, { id: this.userId })
95 // const params = Object.assign({}, this.form, { id: this.userId }) 99 updateUserPassword(params).then((res) => {
96 // updateUserPassword(params).then((res) => { 100 if (res.status === 1) {
97 // if (res.status === 1) { 101 this.$message.success({ message: res.message, showClose: true })
98 // this.$message.success({ message: res.message, showClose: true }) 102 } else {
99 // } else { 103 this.$message.error({ message: res.message, showClose: true })
100 // this.$message.error({ message: res.message, showClose: true }) 104 }
101 // } 105 })
102 // }) 106 }
103 // } 107 })
104 // }) 108 }
105 } 109 }
106 } 110 }
107 }
108 </script> 111 </script>
109 112
110 <style scoped lang="scss"> 113 <style scoped lang="scss">
111 .user-info { 114 .user-info {
112 margin: 36px 200px; 115 margin: 36px 200px;
113 background: #ffffff; 116 background: #ffffff;
114 max-height: 90%;
115 overflow-y: auto; 117 overflow-y: auto;
116 .form-wrapper { 118 .form-wrapper {
117 padding: 24px 120px 0px; 119 padding: 24px 120px 0px;
118 .el-form-item { 120 /deep/.el-form-item {
119 margin-bottom: 24px; 121 margin-bottom: 24px;
120 .el-form-item__label { 122 .el-form-item__label {
121 color: #747e8c; 123 color: #ffffff;
122 } 124 }
123 ::v-deep .el-input .el-input__inner { 125 .el-input .el-input__inner {
124 padding: 0 8px; 126 padding: 0 8px;
125 height: 40px; 127 height: 40px;
126 line-height: 40px; 128 line-height: 40px;
127 border: 1px solid #6BC1FC; 129 border: 1px solid #6bc1fc;
128 } 130 }
129 } 131 }
130 } 132 }
...@@ -132,5 +134,5 @@ export default { ...@@ -132,5 +134,5 @@ export default {
132 padding: 32px 120px 24px; 134 padding: 32px 120px 24px;
133 text-align: right; 135 text-align: right;
134 } 136 }
135 } 137 }
136 </style> 138 </style>
......
1 <template>
2 <div class="content">
3 <div class="user-info">
4 <el-form
5 ref="form"
6 label-width="100px"
7 :model="form"
8 class="form-wrapper"
9 :rules="rules"
10 >
11 <el-form-item label="用户名:" required>
12 <el-input v-model="form.loginName" clearable disabled />
13 </el-form-item>
14 <el-form-item label="姓名:">
15 <el-input v-model="form.name" clearable />
16 </el-form-item>
17 <el-form-item label="性别:">
18 <el-radio-group v-model="form.sex">
19 <el-radio
20 v-for="(item, index) in sexList"
21 :key="index"
22 :label="item.value"
23 >{{ item.name }}</el-radio
24 >
25 </el-radio-group>
26 </el-form-item>
27 <el-form-item label="身份证号:" prop="idCard">
28 <el-input v-model="form.idCard" clearable />
29 </el-form-item>
30 <el-form-item label="手机号码:" prop="mobilePhone">
31 <el-input v-model="form.mobilePhone" clearable />
32 </el-form-item>
33 <el-form-item label="办公电话:" prop="telephone">
34 <el-input v-model="form.telephone" clearable />
35 </el-form-item>
36 <el-form-item label="办公地址:">
37 <el-input v-model="form.address" clearable />
38 </el-form-item>
39 </el-form>
40 <div class="bottom-wrapper">
41 <el-button type="primary" @click="updateInfo">更新信息</el-button>
42 </div>
43 </div>
44 </div>
45 </template>
46
47 <script>
48 // import { api, getAction, putAction, getDictItems } from '@api/manageApi'
49 export default {
50 props: {
51 // userInfo: {
52 // type: Object,
53 // default: null
54 // }
55 },
56 data() {
57 return {
58 form: {
59 id: "3127e455-43ba-45ff-9326-0e02ef89485e",
60 name: "超级管理员",
61 sort: 1,
62 loginName: "admin",
63 email: null,
64 lastLoginTime: null,
65 mobilePhone: "18291003568",
66 isLocked: false,
67 status: "ACTIVE",
68 passwordChangeTime: "2021-12-10T08:01:01.569+0000",
69 idCard: "612725202111021521",
70 departmentId: "2eae5304-544f-4f5b-b354-8f5d47433c9b",
71 departmentName: null,
72 organizationId: "0bca67ae-1d9e-4b41-b057-f165586d24aa",
73 sex: "0",
74 isDuty: true,
75 code: "123324",
76 jobLevel: null,
77 telephone: "028-87720898",
78 address: "办公地点修改测试",
79 },
80 sexList: [],
81 rules: {
82 mobilePhone: [
83 {
84 pattern:
85 /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/,
86 message: "手机号码格式有误",
87 trigger: "blur",
88 },
89 ],
90 idCard: [
91 {
92 pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
93 message: "身份证号格式有误",
94 trigger: "blur",
95 },
96 ],
97 telephone: [
98 {
99 pattern: /\d{3}-\d{8}|\d{4}-\d{7}/,
100 message: "办公电话格式有误",
101 trigger: "blur",
102 },
103 ],
104 },
105 };
106 },
107 watch: {
108 // userInfo: {
109 // handler: function(val) {
110 // if (val) {
111 // this.getUserInfo(val.id)
112 // }
113 // }
114 // }
115 },
116 mounted() {
117 // getDictItems('XB').then((res) => {
118 // if (res.status === 1) {
119 this.sexList = [
120 {
121 id: "079c72b2-f3de-4a4f-b2a1-e5c8f085cc5f",
122 createdAt: "2021-06-11T02:42:02.000+0000",
123 updatedAt: "2021-09-03T09:21:46.000+0000",
124 createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
125 updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
126 sort: 2,
127 name: "男",
128 description: "",
129 code: "N362",
130 value: "0",
131 parentId: null,
132 baseDataCategoryId: "11441374-5e2a-4635-bfa5-d1a430222019",
133 version: 1,
134 valid: true,
135 standard: false,
136 standardName: null,
137 standardValue: null,
138 children: [],
139 commonName: "男(N362)",
140 },
141 {
142 id: "4d6f845d-6f6a-4848-8fc2-a3760764c196",
143 createdAt: "2021-06-11T02:42:12.000+0000",
144 updatedAt: "2021-09-03T09:21:46.000+0000",
145 createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
146 updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
147 sort: 1,
148 name: "女",
149 description: "",
150 code: "N922",
151 value: "1",
152 parentId: null,
153 baseDataCategoryId: "11441374-5e2a-4635-bfa5-d1a430222019",
154 version: 1,
155 valid: true,
156 standard: false,
157 standardName: null,
158 standardValue: null,
159 children: [],
160 commonName: "女(N922)",
161 },
162 {
163 id: "637c360b-d4e2-4afb-aa18-33624cf3abcb",
164 createdAt: "2021-06-11T02:42:29.000+0000",
165 updatedAt: "2021-09-03T09:21:43.000+0000",
166 createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
167 updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
168 sort: 0,
169 name: "保密",
170 description: "",
171 code: "BM816",
172 value: "2",
173 parentId: null,
174 baseDataCategoryId: "11441374-5e2a-4635-bfa5-d1a430222019",
175 version: 1,
176 valid: true,
177 standard: false,
178 standardName: null,
179 standardValue: null,
180 children: [],
181 commonName: "保密(BM816)",
182 },
183 ];
184 // } else {
185 // this.$message.error({ message: res.message, showClose: true })
186 // }
187 // })
188 },
189 methods: {
190 // getUserInfo(id) {
191 // getAction(`${api.users}/${id}`).then((res) => {
192 // if (res.status === 1) {
193
194 // } else {
195 // this.$message.error({ message: res.message, showClose: true })
196 // }
197 // })
198 // },
199 // 更新信息
200 updateInfo() {
201 // this.$refs.form.validate((valid) => {
202 // if (valid) {
203 // putAction(`${api.users}/${this.form.id}`, this.form).then((res) => {
204 // if (res.status === 1) {
205 // this.$message.success({ message: res.message, showClose: true })
206 // this.getUserInfo(this.form.id)
207 // } else {
208 // this.$message.error({ message: res.message, showClose: true })
209 // }
210 // })
211 // }
212 // })
213 },
214 },
215 };
216 </script>
217
218 <style scoped lang="scss">
219 .user-info {
220 margin: 0.1875rem 1.0417rem;
221 background: #ffffff;
222 max-height: 90%;
223 overflow-y: auto;
224 .form-wrapper {
225 padding: 24px 120px 0px;
226 .el-form-item {
227 margin-bottom: 24px;
228 .el-form-item__label {
229 color: #747e8c;
230 }
231 ::v-deep .el-input .el-input__inner {
232 padding: 0 8px;
233 height: 40px;
234 line-height: 40px;
235 border: 1px solid #6BC1FC;
236 }
237 }
238 }
239 .bottom-wrapper {
240 padding: 32px 120px 24px;
241 text-align: right;
242 }
243 }
244 </style>
1 <template>
2 <div class="information from-clues">
3 <div class="from-clues-header">
4 <el-form ref="ruleForm" label-width="100px">
5 <el-form-item>
6 <Breadcrumb />
7 </el-form-item>
8 <el-row class="mb-5">
9 <el-col :span="3" class="btnColRight">
10 <btn nativeType="cx" @click="information">基本信息</btn>
11 <btn nativeType="cx" @click="password">修改密码</btn>
12 </el-col>
13 </el-row>
14 </el-form>
15 </div>
16 <div class="from-clues-content">
17 <div class="contentbox">
18 <base-set v-show="isshow" />
19 <password-edit v-show="!isshow" />
20 </div>
21 </div>
22 </div>
23 </template>
24 <script>
25 import "@/utils/flexible.js";
26 import BaseSet from "./base-set.vue";
27 import PasswordEdit from "./password-edit.vue";
28 export default {
29 components: {
30 BaseSet,
31 PasswordEdit,
32 },
33 data() {
34 return {
35 active: "baseSet",
36 isshow: true,
37 };
38 },
39 computed: {},
40 watch: {},
41 created() {},
42 mounted() {},
43 methods: {
44 information() {
45 this.isshow = true;
46 },
47 password() {
48 this.isshow = false;
49 },
50 },
51 };
52 </script>
53
54 <style scoped lang="scss">
55 @import "~@/styles/mixin.scss";
56 @import "~@/styles/public.scss";
57 .information{
58 .btnColRight{
59 margin-top: 20px;
60 }
61 /deep/.content {
62 .el-input__inner{
63 background: none;
64 }
65 .user-info {
66 background: none;
67 }
68 }
69 /deep/.el-tabs {
70
71 .el-tabs__content {
72 height: 100%;
73 width: 100%;
74
75
76 }
77 }
78 .contentbox{
79 height: 3.0854rem;
80 }
81 }
82
83 </style>
1 <template>
2 <div class="content">
3 <div class="user-info">
4 <el-form
5 ref="form"
6 label-width="100px"
7 :model="form"
8 class="form-wrapper"
9 :rules="rules"
10 >
11 <el-form-item label="旧密码:" required prop="oldPassword">
12 <el-input
13 v-model="form.oldPassword"
14 clearable
15 type="password"
16 show-password
17 />
18 </el-form-item>
19 <el-form-item label="新密码:" required prop="newPassword">
20 <el-input
21 v-model="form.newPassword"
22 clearable
23 type="password"
24 show-password
25 />
26 </el-form-item>
27 <el-form-item label="确认密码:" required prop="confirmPassword">
28 <el-input
29 v-model="form.confirmPassword"
30 clearable
31 type="password"
32 show-password
33 />
34 </el-form-item>
35 </el-form>
36 <div class="bottom-wrapper">
37 <el-button type="primary" @click="updatePassword">确认修改</el-button>
38 </div>
39 </div>
40 </div>
41 </template>
42
43 <script>
44 // import { updateUserPassword } from '@api/organizationManage'
45 export default {
46 props: {
47 // userInfo: {
48 // type: Object,
49 // default: null
50 // }
51 },
52 data() {
53 return {
54 form: {},
55 sexList: [],
56 userId: '',
57 rules: {
58 oldPassword: [
59 { required: true, message: '旧密码不能为空', trigger: 'blur' }
60 ],
61 newPassword: [
62 { required: true, message: '新密码不能为空', trigger: 'blur' }
63 ],
64 confirmPassword: [
65 { required: true, message: '确认密码不能为空', trigger: 'blur' },
66 { validator: this.validatorConfirmPassword, trigger: 'blur' }
67 ]
68 }
69 }
70 },
71 computed: {},
72 watch: {
73 // userInfo: {
74 // handler: function(val) {
75 // if (val) {
76 // this.userId = val.id
77 // }
78 // }
79 // }
80 },
81 mounted() {},
82 methods: {
83 validatorConfirmPassword(rule, value, callback) {
84 const { newPassword } = this.form
85 if (value !== newPassword) {
86 callback('两次输入密码不一致')
87 } else {
88 callback()
89 }
90 },
91 // 确认修改
92 updatePassword() {
93 // this.$refs.form.validate((valid) => {
94 // if (valid) {
95 // const params = Object.assign({}, this.form, { id: this.userId })
96 // updateUserPassword(params).then((res) => {
97 // if (res.status === 1) {
98 // this.$message.success({ message: res.message, showClose: true })
99 // } else {
100 // this.$message.error({ message: res.message, showClose: true })
101 // }
102 // })
103 // }
104 // })
105 }
106 }
107 }
108 </script>
109
110 <style scoped lang="scss">
111 .user-info {
112 margin: 36px 200px;
113 background: #ffffff;
114 max-height: 90%;
115 overflow-y: auto;
116 .form-wrapper {
117 padding: 24px 120px 0px;
118 .el-form-item {
119 margin-bottom: 24px;
120 .el-form-item__label {
121 color: #747e8c;
122 }
123 ::v-deep .el-input .el-input__inner {
124 padding: 0 8px;
125 height: 40px;
126 line-height: 40px;
127 border: 1px solid #6BC1FC;
128 }
129 }
130 }
131 .bottom-wrapper {
132 padding: 32px 120px 24px;
133 text-align: right;
134 }
135 }
136 </style>
1 <template>
2 <Dialog :title="title" class="tableClass" :show.sync="visible" :width="'715px'" @close="close()">
3 <template slot="content">
4 <lb-table ref="multipleTable"
5 :pagination="false"
6 :column="tableData.column"
7 :data="tableData.data"
8 @selection-change="handleSelectionChange">
9 </lb-table>
10 </template>
11 <template slot="footer">
12 <el-button type="primary" class="save" @click="handleSaveMember()"
13 >保存</el-button
14 >
15 <el-button class="cancel-button" @click="close()">取消</el-button>
16 </template>
17 </Dialog>
18 </template>
19
20 <script>
21 import Dialog from "@/components/Dialog/";
22 export default {
23 name: "",
24 components: { Dialog },
25 props: {},
26 data() {
27 return {
28 title: "人员配置",
29 visible: false,
30 tableData: {
31 column: [
32 {
33 type: 'selection'
34 },
35 {
36 prop: 'name',
37 label: '角色名称'
38 },
39 {
40 prop: 'type',
41 label: '角色类型'
42 },
43 {
44 prop: 'departmentName',
45 label: '角色描述'
46 },
47 ],
48 data: [
49 {
50 id: "3127e455-43ba-45ff-9326-0e02ef89485e",
51 createdAt: null,
52 updatedAt: "2022-08-04T03:38:27.626+0000",
53 createdBy: null,
54 updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e",
55 sort: 1,
56 name: "超级管理员",
57 loginName: "admin",
58 password: "05eb15777e8fd1d61c840472e7267f61d432f63340d86b59",
59 passwordSalt: "5178114777136485",
60 email: null,
61 lastLoginTime: null,
62 mobilePhone: "18291003568",
63 status: "ACTIVE",
64 passwordChangeTime: "2021-12-10T08:01:01.569+0000",
65 idCard: "612725202111021521",
66 departmentId: "2eae5304-544f-4f5b-b354-8f5d47433c9b",
67 organizationId: "0bca67ae-1d9e-4b41-b057-f165586d24aa",
68 sex: "0",
69 isDuty: true,
70 type:"",
71 code: "123324",
72 jobLevel: null,
73 telephone: "028-87720898",
74 address: "办公地点修改测试",
75 isLocked: false,
76 departmentName: "研发部",
77 _X_ROW_KEY: "row_276",
78 },
79 {
80 name: '数据管理员',
81 type:"1",
82 },
83 {
84 name: '数据管理员2',
85 type:"d",
86 }
87 ]
88 },
89 multipleSelection: []
90
91 }
92 },
93 computed: {},
94 watch: {},
95 created() {},
96 mounted() {},
97 methods: {
98 authorization() {
99 this.visible = true;
100 },
101 close() {
102 // this.resetForm()
103 this.visible = false;
104 },
105 // 保存事件
106 handleSaveMember() {
107 // if (this.memberList.length === 0) {
108 // this.$message.warning("请添加待选人员");
109 // return false;
110 // }
111 // const idList = this.memberList.map(item => item.id)
112 // updateUser(this.roleId, idList).then(res => {
113 // if (res.status === 1) {
114 // this.$message.success({ message: '保存成功', showClose: true })
115 // this.showMemberConfigDialog = false
116 // this.$emit('setUsers', this.roleId)
117 // this.resetMemberConfig()
118 // } else this.$message.error({ message: res.message, showClose: true })
119 // })
120 },
121 handleSelectionChange (val) {
122 this.multipleSelection = val
123 }
124 }
125 };
126 </script>
127 <style scoped lang="scss">
128 /deep/.el-dialog__header{
129 text-align: center;
130 margin-bottom: 10px;
131 .el-dialog__title{
132 color: white;
133 }
134 }
135 </style>
...@@ -8,6 +8,7 @@ class data extends filter { ...@@ -8,6 +8,7 @@ class data extends filter {
8 { 8 {
9 prop: "name", 9 prop: "name",
10 label: "菜单名称", 10 label: "菜单名称",
11 align: 'left',
11 width: 300 12 width: 300
12 }, 13 },
13 { 14 {
......
1 <template> 1 <template>
2 <div> 2 <div>
3 <Dialog 3 <Dialog class="modifydialog" :title="title" :show.sync="visible" :width="'767px'" @close="close()">
4 :title="title"
5 :show.sync="visible"
6 :width="'767px'"
7 @close="close()"
8 >
9 <template slot="content"> 4 <template slot="content">
10 <el-form ref="form" :model="form" :rules="rules"> 5 <el-form ref="form" :model="form" :rules="rules">
11 <el-row :gutter="24"> 6 <el-row :gutter="24">
...@@ -18,27 +13,16 @@ ...@@ -18,27 +13,16 @@
18 <el-row :gutter="24"> 13 <el-row :gutter="24">
19 <el-col :span="12"> 14 <el-col :span="12">
20 <el-form-item label="上级菜单:" label-width="124px"> 15 <el-form-item label="上级菜单:" label-width="124px">
21 <el-cascader 16 <el-cascader :key="menuKey" v-model="form.parentId" :options="parentMenuList" :props="setProps"
22 :key="menuKey" 17 placeholder="请选择上级菜单" clearable @change="handleChange" />
23 v-model="form.parentId"
24 :options="parentMenuList"
25 :props="setProps"
26 placeholder="请选择上级菜单"
27 clearable
28 @change="handleChange"
29 />
30 </el-form-item> 18 </el-form-item>
31 </el-col> 19 </el-col>
32 20
33 </el-row> 21 </el-row>
34 <el-row :gutter="24"> 22 <el-row :gutter="24">
35 <el-col :span="12"> 23 <el-col :span="24">
36 <el-form-item label="代码:" prop="code" label-width="54px"> 24 <el-form-item label="代码:" prop="code" label-width="124px">
37 <el-input 25 <el-input v-model="codeComputed" placeholder="请输入菜单代码" :disabled="type === 1" />
38 v-model="codeComputed"
39 placeholder="请输入菜单代码"
40 :disabled="type === 1"
41 />
42 </el-form-item> 26 </el-form-item>
43 </el-col> 27 </el-col>
44 </el-row> 28 </el-row>
...@@ -52,32 +36,17 @@ ...@@ -52,32 +36,17 @@
52 <el-row :gutter="24"> 36 <el-row :gutter="24">
53 <el-col :span="24"> 37 <el-col :span="24">
54 <el-form-item label="浏览器跳转模式:" label-width="124px"> 38 <el-form-item label="浏览器跳转模式:" label-width="124px">
55 <el-select 39 <el-select v-model="form.jumpMode" placeholder="请选择浏览器跳转模式">
56 v-model="form.jumpMode" 40 <el-option v-for="item in jumpModeList" :key="item.value" :label="item.name" :value="item.value" />
57 placeholder="请选择浏览器跳转模式"
58 >
59 <el-option
60 v-for="item in jumpModeList"
61 :key="item.value"
62 :label="item.name"
63 :value="item.value"
64 />
65 </el-select> 41 </el-select>
66 </el-form-item> 42 </el-form-item>
67 </el-col> 43 </el-col>
68 </el-row> 44 </el-row>
69 <el-row :gutter="24"> 45 <el-row :gutter="24">
70 <el-col :span="24"> 46 <el-col :span="24">
71 <el-form-item 47 <el-form-item label="配置参数:" label-width="124px" class="form-item-mb0">
72 label="配置参数:"
73 label-width="124px"
74 class="form-item-mb0"
75 >
76 <!-- 配置参数 --> 48 <!-- 配置参数 -->
77 <JsonEditor 49 <JsonEditor :result-infos="form.metadata" @getJsonString="getJsonString" />
78 :result-infos="form.metadata"
79 @getJsonString="getJsonString"
80 />
81 </el-form-item> 50 </el-form-item>
82 </el-col> 51 </el-col>
83 </el-row> 52 </el-row>
...@@ -86,11 +55,7 @@ ...@@ -86,11 +55,7 @@
86 <template slot="footer"> 55 <template slot="footer">
87 <el-button class="cancel-button" @click="close()">取消</el-button> 56 <el-button class="cancel-button" @click="close()">取消</el-button>
88 57
89 58 <el-button type="primary" @click="submitForm()">保存</el-button>
90 <el-button
91 type="primary"
92 @click="submitForm()"
93 >保存</el-button>
94 </template> 59 </template>
95 </Dialog> 60 </Dialog>
96 <!-- 图标列表 --> 61 <!-- 图标列表 -->
...@@ -99,13 +64,13 @@ ...@@ -99,13 +64,13 @@
99 </template> 64 </template>
100 65
101 <script> 66 <script>
102 import Dialog from "@/components/Dialog/"; 67 import Dialog from "@/components/Dialog/";
103 import { getParentMenuListAction } from '@/api/quanxianmanagement' 68 import { getParentMenuListAction } from '@/api/authorityManage'
104 import JsonEditor from '@/components/JsonEditors' 69 import JsonEditor from '@/components/JsonEditors'
105 import IconList from '@/components/IconList' 70 import IconList from '@/components/IconList'
106 import { validateCode } from '@/utils/validate'; 71 import { validateCode } from '@/utils/validate';
107 import { api, httpAction } from '@/api/manageApi' 72 import { api, httpAction } from '@/api/manageApi'
108 export default { 73 export default {
109 name: 'MenuModal', 74 name: 'MenuModal',
110 components: { 75 components: {
111 IconList, 76 IconList,
...@@ -118,7 +83,7 @@ export default { ...@@ -118,7 +83,7 @@ export default {
118 default: '' 83 default: ''
119 } 84 }
120 }, 85 },
121 data() { 86 data () {
122 return { 87 return {
123 form: { 88 form: {
124 icon: '', 89 icon: '',
...@@ -153,19 +118,20 @@ export default { ...@@ -153,19 +118,20 @@ export default {
153 }, 118 },
154 computed: { 119 computed: {
155 codeComputed: { 120 codeComputed: {
156 get: function() { 121 get: function () {
157 return this.form.code 122 return this.form.code
158 }, 123 },
159 set: function(val) { 124 set: function (val) {
160 this.form.code = val.toUpperCase() 125 this.form.code = val.toUpperCase()
161 } 126 }
162 } 127 }
163 }, 128 },
164 created() {}, 129 created () { },
165 mounted() {}, 130 mounted () { },
166 methods: { 131 methods: {
167 // 获取父级菜单 132 // 获取父级菜单
168 getParentMenuList(id) { 133 getParentMenuList (id) {
134
169 getParentMenuListAction(id).then((res) => { 135 getParentMenuListAction(id).then((res) => {
170 if (res.status === 1) { 136 if (res.status === 1) {
171 const list = this.$dealArrChildren(res.content) 137 const list = this.$dealArrChildren(res.content)
...@@ -183,25 +149,25 @@ export default { ...@@ -183,25 +149,25 @@ export default {
183 } 149 }
184 }) 150 })
185 }, 151 },
186 getIconList() { 152 getIconList () {
187 this.$refs.iconList.show(true) 153 this.$refs.iconList.show(true)
188 }, 154 },
189 getIconName(data) { 155 getIconName (data) {
190 this.form.icon = data 156 this.form.icon = data
191 }, 157 },
192 // 配置参数 158 // 配置参数
193 getJsonString(data) { 159 getJsonString (data) {
194 this.form.metadata = data 160 this.form.metadata = data
195 }, 161 },
196 // 新增菜单 162 // 新增菜单
197 add() { 163 add () {
198 this.getParentMenuList(this.productId) 164 this.getParentMenuList(this.productId)
199 this.visible = true 165 this.visible = true
200 this.type = 0 166 this.type = 0
201 this.form.jumpMode = 1 167 this.form.jumpMode = 1
202 }, 168 },
203 // 编辑菜单 169 // 编辑菜单
204 edit(record) { 170 edit (record) {
205 this.type = 1 171 this.type = 1
206 // 若有id为编辑 172 // 若有id为编辑
207 if (record.id) { 173 if (record.id) {
...@@ -213,11 +179,11 @@ export default { ...@@ -213,11 +179,11 @@ export default {
213 this.visible = true 179 this.visible = true
214 }, 180 },
215 // 选择上级菜单 181 // 选择上级菜单
216 handleChange(value) { 182 handleChange (value) {
217 this.form.parentId = value 183 this.form.parentId = value
218 }, 184 },
219 // 保存 185 // 保存
220 submitForm(submitType) { 186 submitForm (submitType) {
221 this.$refs.form.validate((valid) => { 187 this.$refs.form.validate((valid) => {
222 if (valid) { 188 if (valid) {
223 let method = '' 189 let method = ''
...@@ -231,6 +197,7 @@ export default { ...@@ -231,6 +197,7 @@ export default {
231 method = 'put' 197 method = 'put'
232 url = `${this.dataUrl}/${formData.id}` 198 url = `${this.dataUrl}/${formData.id}`
233 } 199 }
200 debugger
234 httpAction(url, formData, method) 201 httpAction(url, formData, method)
235 .then((res) => { 202 .then((res) => {
236 if (res.status === 1) { 203 if (res.status === 1) {
...@@ -251,33 +218,20 @@ export default { ...@@ -251,33 +218,20 @@ export default {
251 } 218 }
252 }) 219 })
253 }, 220 },
254 resetForm() { 221 resetForm () {
255 this.$refs.form.resetFields() 222 this.$refs.form.resetFields()
256 this.form = { 223 this.form = {
257 icon: '', 224 icon: '',
258 code: '' 225 code: ''
259 } 226 }
260 }, 227 },
261 close() { 228 close () {
262 this.resetForm() 229 this.resetForm()
263 this.visible = false 230 this.visible = false
264 } 231 }
265 } 232 }
266 } 233 }
267 </script> 234 </script>
268 <style scoped lang="scss"> 235 <style scoped lang="scss">
269 /deep/.el-dialog__header { 236 // @import "~@/styles/public.scss";
270 text-align: center;
271 margin-bottom: 10px;
272 .el-dialog__title {
273 color: white;
274 }
275 }
276
277 /deep/.el-form-item__label{
278 color: white;
279 }
280 /deep/.el-input__inner{
281 background-color: #07388B;
282 }
283 </style> 237 </style>
......
...@@ -13,39 +13,40 @@ ...@@ -13,39 +13,40 @@
13 </el-form> 13 </el-form>
14 </div> 14 </div>
15 <div class="from-clues-content"> 15 <div class="from-clues-content">
16 <lb-table 16 <lb-table :pagination="false" :column="tableData.columns" :data="tablelistData" row-key="id" default-expand-all
17 :pagination="false" 17 :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
18 :column="tableData.columns"
19 :data="tablelistData"
20 row-key="id"
21 default-expand-all
22 :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
23 >
24 </lb-table> 18 </lb-table>
25 </div> 19 </div>
26 <edit-dialog ref="dialogForm" 20 <edit-dialog ref="dialogForm" :product-id="productId" :resource-category-id="resourceCategoryId"
27 :product-id="productId" 21 @ok="reloadTableData" />
28 :resource-category-id="resourceCategoryId"
29 @ok="reloadTableData"/>
30 <!-- <authorizationdiglog ref="rolesForm" /> --> 22 <!-- <authorizationdiglog ref="rolesForm" /> -->
31 </div> 23 </div>
32 </template> 24 </template>
33 <script> 25 <script>
34 // 定时任务 26 // 定时任务
35 import data from "./data"; 27 import data from "./data";
36 import { deleteAction, getAction, api } from "@/api/manageApi"; 28 import { deleteAction, getAction, api } from "@/api/manageApi";
37 import EditDialog from "./edit-dialog.vue"; 29 import EditDialog from "./edit-dialog.vue";
38 // import authorizationdiglog from "./authorizationdiglog.vue"; 30 import { mapGetters } from "vuex";
39 export default { 31 import { getMenuInfo } from "@/api/user";
32 import {
33 getUuid,
34 judgeSort,
35 realMove,
36 findParents,
37 removeTreeListItem,
38 } from "@/utils/operation";
39 // import authorizationdiglog from "./authorizationdiglog.vue";
40 export default {
40 name: "menus", 41 name: "menus",
41 components: { 42 components: {
42 EditDialog, 43 EditDialog,
43 // authorizationdiglog, 44 // authorizationdiglog,
44 }, 45 },
45 data() { 46 data () {
46 return { 47 return {
47 tablelistData: [], 48 tablelistData: [],
48 resourceCategoryId:"", 49 resourceCategoryId: "",
49 taskData: null, 50 taskData: null,
50 form: { 51 form: {
51 job_name: "", 52 job_name: "",
...@@ -106,23 +107,32 @@ export default { ...@@ -106,23 +107,32 @@ export default {
106 }, 107 },
107 tableUrl: api.menus, // 菜单接口地址 108 tableUrl: api.menus, // 菜单接口地址
108 meumurlid: api.subsystem,// 项目id接口地址 109 meumurlid: api.subsystem,// 项目id接口地址
109 productId:""//项目id 110 productId: ""//项目id
110 }; 111 };
111 }, 112 },
112 created() { 113 created () {
113 this.getTableList(); 114 this.getTableList();
114 }, 115 },
116 computed: {
117 ...mapGetters(["products"])
118 },
115 methods: { 119 methods: {
116 // 加载表格数据 120 // 加载表格数据
117 getTableList() { 121 getTableList () {
118 122 getMenuInfo(sessionStorage.getItem("products")).then((res) => {
123 if (res.code === 200) {
124 this.tablelistData = judgeSort(res.result)
125 } else {
126 this.$message.error({ message: res.message, showClose: true })
127 }
128 })
119 const queryOptionsid = { 129 const queryOptionsid = {
120 conditionGroup: { 130 conditionGroup: {
121 queryRelation: "AND", 131 queryRelation: "AND",
122 conditions: [ 132 conditions: [
123 { 133 {
124 property: "code", 134 property: "code",
125 value: "BDCJGPT", 135 value: this.products,
126 operator: "EQ", 136 operator: "EQ",
127 }, 137 },
128 ], 138 ],
...@@ -134,61 +144,121 @@ export default { ...@@ -134,61 +144,121 @@ export default {
134 // 获取系统id 144 // 获取系统id
135 getAction(this.meumurlid, params) 145 getAction(this.meumurlid, params)
136 .then((res) => { 146 .then((res) => {
137 this.productId=res.content[0].id; 147 this.productId = res.content[0].id;
138 let queryOptions = { 148 this.getAuthorityList(res.content[0].id, res.content[0].code)
139 conditionGroup: { 149 this.selectedSubsystemCode = res.content[0].code
140 conditions: [ 150 // let queryOptions = {
141 { 151 // conditionGroup: {
142 property: "productId", 152 // conditions: [
143 value: this.productId, 153 // {
144 operator: "EQ", 154 // property: "productId",
145 }, 155 // value: this.productId,
146 ], 156 // operator: "EQ",
147 queryRelation: "AND", 157 // },
148 }, 158 // ],
149 orderBys: [{ property: "sort", direction: "desc" }], 159 // queryRelation: "AND",
150 }; 160 // },
151 if (!this.tableUrl) { 161 // orderBys: [{ property: "sort", direction: "desc" }],
152 console.log("请设置tableUrl属性为接口地址!"); 162 // };
153 return; 163 // if (!this.tableUrl) {
154 } 164 // console.log("请设置tableUrl属性为接口地址!");
155 if (this.queryOptions !== "") { 165 // return;
156 this.queryParam.queryOptions = JSON.stringify(queryOptions); 166 // }
157 } 167 // if (this.queryOptions !== "") {
168 // this.queryParam.queryOptions = JSON.stringify(queryOptions);
169 // }
158 // 查询系统菜单 170 // 查询系统菜单
159 getAction(this.tableUrl, this.queryParam) 171 // getAction(this.tableUrl, this.queryParam)
160 .then((res) => { 172 // .then((res) => {
161 if (res.status === 1) { 173 // if (res.status === 1) {
162 this.loading = false; 174 // this.loading = false;
163 this.tablelistData = res.content; 175 // // this.menutablelistData = res.content;
164 console.log("this.tablelistData", this.tablelistData); 176 // console.log("res.content菜单", res.content);
165 } else { 177 // } else {
166 this.$message.error({ message: res.message, showClose: true }); 178 // this.$message.error({ message: res.message, showClose: true });
167 this.loading = false; 179 // this.loading = false;
168 } 180 // }
181 // })
182 // .catch((error) => {
183 // console.log("er", error);
184 // this.loading = false;
185 // });
169 }) 186 })
170 .catch((error) => { 187 .catch((error) => {
171 console.log("errrrrrorrrrr", error); 188 console.log("er", error);
172 this.loading = false;
173 });
174 })
175 .catch((error) => {
176 console.log("errrrrrorrrrr", error);
177 }); 189 });
190 // const queryOptionsid = {
191 // conditionGroup: {
192 // queryRelation: "AND",
193 // conditions: [
194 // {
195 // property: "code",
196 // value: sessionStorage.getItem("products"),
197 // operator: "EQ",
198 // },
199 // ],
200 // },
201 // };
202 // const params = {
203 // queryOptions: queryOptionsid,
204 // };
205 // // 获取系统id
206 // getAction(this.meumurlid, params)
207 // .then((res) => {
208 // this.productId = res.content[0].id;
209 // let queryOptions = {
210 // conditionGroup: {
211 // conditions: [
212 // {
213 // property: "productId",
214 // value: this.productId,
215 // operator: "EQ",
216 // },
217 // ],
218 // queryRelation: "AND",
219 // },
220 // orderBys: [{ property: "sort", direction: "desc" }],
221 // };
222 // if (!this.tableUrl) {
223 // console.log("请设置tableUrl属性为接口地址!");
224 // return;
225 // }
226 // if (this.queryOptions !== "") {
227 // this.queryParam.queryOptions = JSON.stringify(queryOptions);
228 // }
229 // // 查询系统菜单
230 // getAction(this.tableUrl, this.queryParam)
231 // .then((res) => {
232 // if (res.status === 1) {
233 // this.loading = false;
234 // this.tablelistData = res.content;
235 // } else {
236 // this.$message.error({ message: res.message, showClose: true });
237 // this.loading = false;
238 // }
239 // })
240 // .catch((error) => {
241 // console.log("er", error);
242 // this.loading = false;
243 // });
244 // })
245 // .catch((error) => {
246 // console.log("er", error);
247 // });
178 }, 248 },
179 // 新增菜单 249 // 新增菜单
180 handleAdd() { 250 handleAdd () {
181 this.$refs.dialogForm.add(); 251 this.$refs.dialogForm.add();
182 this.$refs.dialogForm.title = "添加"; 252 this.$refs.dialogForm.title = "添加";
183 }, 253 },
184 254
185 // 修改 255 // 修改
186 handleEdit(record) { 256 handleEdit (record) {
187 this.$refs.dialogForm.edit(record); 257 this.$refs.dialogForm.edit(record);
188 this.$refs.dialogForm.title = "修改"; 258 this.$refs.dialogForm.title = "修改";
189 }, 259 },
190 // 删除 260 // 删除
191 handleDelete(id,content) { 261 handleDelete (id, content) {
192 this.$confirm( 262 this.$confirm(
193 `<div class="customer-message-wrapper"> 263 `<div class="customer-message-wrapper">
194 <h5 class="title">您确认要执行该操作用于以下信息:</h5> 264 <h5 class="title">您确认要执行该操作用于以下信息:</h5>
...@@ -225,22 +295,24 @@ export default { ...@@ -225,22 +295,24 @@ export default {
225 } 295 }
226 }) 296 })
227 }) 297 })
228 .catch(() => {}) 298 .catch(() => { })
229 }, 299 },
230 // 新增、编辑回显 300 // 新增、编辑回显
231 reloadTableData() { 301 reloadTableData () {
232 this.getTableList() 302 this.getTableList()
233 }, 303 },
234 }, 304 },
235 }; 305 };
236 </script> 306 </script>
237 <style scoped lang="scss"> 307 <style scoped lang="scss">
238 @import "~@/styles/mixin.scss"; 308 @import "~@/styles/mixin.scss";
239 @import "~@/styles/public.scss"; 309
240 .btnColRight { 310 // @import "~@/styles/public.scss";
311 .btnColRight {
241 margin-top: 20px; 312 margin-top: 20px;
242 } 313 }
243 /deep/.el-table__expand-icon { 314
315 /deep/.el-table__expand-icon {
244 color: #fff; 316 color: #fff;
245 } 317 }
246 </style> 318 </style>
......
...@@ -8,12 +8,7 @@ class data extends filter { ...@@ -8,12 +8,7 @@ class data extends filter {
8 { 8 {
9 prop: "name", 9 prop: "name",
10 label: "角色名称", 10 label: "角色名称",
11 width: 330 11 width: 130
12 },
13 {
14 prop: "type",
15 label: "类别",
16 width: 400
17 }, 12 },
18 { 13 {
19 prop: "description", 14 prop: "description",
......
1 import filter from '@/utils/filter.js'
2 class data extends filter {
3 constructor() {
4 super()
5 }
6 columns () {
7 return [
8 {
9 prop: "name",
10 label: "角色名称",
11 width: 330
12 },
13 {
14 prop: "type",
15 label: "类别",
16 width: 400
17 },
18 {
19 prop: "address",
20 label: "备注"
21 }
22 ]
23 }
24 }
25 export default new data()
1 <!-- 新增 & 修改角色 --> 1 <!-- 新增 & 修改角色 -->
2 <template> 2 <template>
3 <Dialog 3 <Dialog
4 class="modifydialog"
4 :title="dialogTitle" 5 :title="dialogTitle"
5 :show.sync="showAddEditDialog" 6 :show.sync="showAddEditDialog"
6 :width="'767px'" 7 :width="'767px'"
7 @close="handleCloseDialog()" 8 @close="handleCloseDialog()">
8 >
9 <template slot="content"> 9 <template slot="content">
10 <el-form ref="form" :model="dialogForm" :rules="rules" label-width="82px"> 10 <el-form ref="form" :model="dialogForm" :rules="rules" label-width="82px">
11 <el-row :gutter="24"> 11 <el-row :gutter="24">
12 <el-col :span="12"> 12 <el-col :span="15">
13 <el-form-item label="角色名称:" prop="roleName"> 13 <el-form-item label="角色名称:" prop="roleName">
14 <el-input 14 <el-input
15 v-model="dialogForm.roleName" 15 v-model="dialogForm.roleName"
16 clearable 16 clearable
17 placeholder="角色名称" 17 placeholder="角色名称" />
18 />
19 </el-form-item>
20 </el-col>
21 <el-col :span="12">
22 <el-form-item label="角色类型:" prop="roleType">
23 <el-input
24 v-model="dialogForm.roleType"
25 clearable
26 placeholder="角色类型"
27 />
28 </el-form-item> 18 </el-form-item>
29 </el-col> 19 </el-col>
30 </el-row> 20 </el-row>
31 <br>
32 <el-row> 21 <el-row>
33 <el-col :span="24"> 22 <el-col :span="24">
34 <el-form-item label="备注:" class="form-item-mb0"> 23 <el-form-item label="备注:" class="form-item-mb0">
35 <el-input 24 <el-input
36 v-model="dialogForm.roleTextArea" 25 v-model="dialogForm.roleTextArea"
37 type="textarea" 26 type="textarea"
38 placeholder="备注" 27 placeholder="备注" />
39 />
40 </el-form-item> 28 </el-form-item>
41 </el-col> 29 </el-col>
42 </el-row> 30 </el-row>
...@@ -45,25 +33,23 @@ ...@@ -45,25 +33,23 @@
45 <template slot="footer"> 33 <template slot="footer">
46 <el-button 34 <el-button
47 class="cancel-button" 35 class="cancel-button"
48 @click="handleCloseDialog" 36 @click="handleCloseDialog">取消</el-button>
49 >取消</el-button>
50 37
51 <el-button 38 <el-button
52 type="primary" 39 type="primary"
53 @click="handleSaveRole()" 40 @click="handleSaveRole()">保存</el-button>
54 >保存</el-button>
55 </template> 41 </template>
56 </Dialog> 42 </Dialog>
57 </template> 43 </template>
58 44
59 <script> 45 <script>
60 import Dialog from "@/components/Dialog/"; 46 import Dialog from "@/components/Dialog/";
61 import { api, httpAction } from '@/api/manageApi' 47 import { api, httpAction } from '@/api/manageApi'
62 export default { 48 export default {
63 components: { 49 components: {
64 Dialog 50 Dialog
65 }, 51 },
66 data() { 52 data () {
67 return { 53 return {
68 dialogTitle: '', 54 dialogTitle: '',
69 showAddEditDialog: false, 55 showAddEditDialog: false,
...@@ -79,9 +65,6 @@ export default { ...@@ -79,9 +65,6 @@ export default {
79 roleName: [ 65 roleName: [
80 { required: true, message: '请输入角色名称', trigger: 'blur' } 66 { required: true, message: '请输入角色名称', trigger: 'blur' }
81 ], 67 ],
82 roleType: [
83 { required: true, message: '请输入角色类型', trigger: 'blur' }
84 ]
85 }, 68 },
86 roleTypeOptions: [ 69 roleTypeOptions: [
87 { name: '定制', value: '定制' }, 70 { name: '定制', value: '定制' },
...@@ -91,7 +74,7 @@ export default { ...@@ -91,7 +74,7 @@ export default {
91 }, 74 },
92 methods: { 75 methods: {
93 // 保存新增或关闭事件 76 // 保存新增或关闭事件
94 handleSaveRole(val) { 77 handleSaveRole (val) {
95 this.$refs.form.validate((valid) => { 78 this.$refs.form.validate((valid) => {
96 if (valid) { 79 if (valid) {
97 try { 80 try {
...@@ -102,10 +85,8 @@ export default { ...@@ -102,10 +85,8 @@ export default {
102 sort: this.sort, 85 sort: this.sort,
103 type: this.dialogForm.roleType 86 type: this.dialogForm.roleType
104 } 87 }
105 console.log("this.roleId",this.roleId);
106 if (this.roleId) { 88 if (this.roleId) {
107 params.id = this.roleId 89 params.id = this.roleId
108 console.log("修改",params.id,params);
109 httpAction(`${api.roles}/${params.id}`, params, 'post').then( 90 httpAction(`${api.roles}/${params.id}`, params, 'post').then(
110 (res) => { 91 (res) => {
111 if (res.status === 1) { 92 if (res.status === 1) {
...@@ -115,7 +96,6 @@ export default { ...@@ -115,7 +96,6 @@ export default {
115 }) 96 })
116 this.dialogForm = { 97 this.dialogForm = {
117 roleName: '', 98 roleName: '',
118 roleType: ''
119 } 99 }
120 this.showAddEditDialog = val 100 this.showAddEditDialog = val
121 this.$emit('ok', this.menuType) 101 this.$emit('ok', this.menuType)
...@@ -136,7 +116,6 @@ export default { ...@@ -136,7 +116,6 @@ export default {
136 }) 116 })
137 this.dialogForm = { 117 this.dialogForm = {
138 roleName: '', 118 roleName: '',
139 roleType: ''
140 } 119 }
141 this.showAddEditDialog = val 120 this.showAddEditDialog = val
142 this.$emit('ok', this.menuType) 121 this.$emit('ok', this.menuType)
...@@ -155,28 +134,15 @@ export default { ...@@ -155,28 +134,15 @@ export default {
155 }) 134 })
156 }, 135 },
157 // 取消事件 136 // 取消事件
158 handleCloseDialog() { 137 handleCloseDialog () {
159 this.$refs.form.resetFields() 138 this.$refs.form.resetFields()
160 this.dialogForm = { 139 this.dialogForm = {
161 roleName: '', 140 roleName: '',
162 roleType: ''
163 } 141 }
164 this.showAddEditDialog = false 142 this.showAddEditDialog = false
165 } 143 }
166 } 144 }
167 } 145 }
168 </script> 146 </script>
169 <style scoped lang="scss"> 147 <style scoped lang="scss">
170 /deep/.el-input__inner {
171 background: #07388B;
172 border-radius: 2px;
173 border: 1px solid #6BC1FC;
174 }
175 /deep/.el-textarea__inner{
176 background: #07388B;
177 color: #fff;
178 }
179 /deep/.el-form-item__label{
180 color:#fff;
181 }
182 </style> 148 </style>
......
...@@ -13,17 +13,8 @@ ...@@ -13,17 +13,8 @@
13 </el-form> 13 </el-form>
14 </div> 14 </div>
15 <div class="from-clues-content"> 15 <div class="from-clues-content">
16 <lb-table 16 <lb-table :pagination="false" @size-change="handleSizeChange" @p-current-change="handleCurrentChange"
17 :page-size="pageData.size" 17 :column="tableData.columns" :data="listdata" :expand-row-keys="keyList" row-key="dictid">
18 :current-page.sync="pageData.current"
19 :total="pageData.total"
20 @size-change="handleSizeChange"
21 @p-current-change="handleCurrentChange"
22 :column="tableData.columns"
23 :data="listdata"
24 :expand-row-keys="keyList"
25 row-key="id"
26 >
27 </lb-table> 18 </lb-table>
28 </div> 19 </div>
29 <EditDialog ref="addEditDialog" @ok="reloadTableData" /> 20 <EditDialog ref="addEditDialog" @ok="reloadTableData" />
...@@ -31,34 +22,36 @@ ...@@ -31,34 +22,36 @@
31 </div> 22 </div>
32 </template> 23 </template>
33 <script> 24 <script>
34 import { 25 import {
35 getUuid, 26 getUuid,
36 judgeSort, 27 judgeSort,
37 realMove, 28 realMove,
38 findParents, 29 findParents,
39 removeTreeListItem, 30 removeTreeListItem,
40 } from "@/utils/operation"; 31 } from "@/utils/operation";
41 import { getRolesById, getUserRoles } from "@/api/quanxianmanagement"; 32 import { getRolesById, getAuthorityListAction } from "@/api/authorityManage";
42 import data from "./data"; 33 import { getUserRoles } from "@/api/personnelManage";
43 import sjsbTask from "@/api/sjsbTask.js"; 34 import data from "./data";
44 import { api, getAction,deleteAction } from "@/api/manageApi"; 35 import { getMenuInfo } from "@/api/user";
45 import tableMixin from "@/mixins/tableMixin.js"; 36 import { api, getAction, deleteAction } from "@/api/manageApi";
46 import EditDialog from "./edit-dialog.vue"; 37 import tableMixin from "@/mixins/tableMixin.js";
47 import Roleslistdiglog from "./roleslistdiglog.vue"; 38 import EditDialog from "./edit-dialog.vue";
48 export default { 39 import Roleslistdiglog from "./roleslistdiglog.vue";
40 import { mapGetters } from "vuex";
41 export default {
49 name: "menus", 42 name: "menus",
50 mixins: [tableMixin], 43 mixins: [tableMixin],
51 components: { 44 components: {
52 EditDialog, 45 EditDialog,
53 Roleslistdiglog, 46 Roleslistdiglog,
54 }, 47 },
55 data() { 48 data () {
56 return { 49 return {
57 personlist: null, 50 personlist: null,
58 waitMemberList: [], 51 waitMemberList: [],
59 keyList: [], 52 keyList: [],
60 listdata: [], 53 listdata: [],
61 tableUrl: api.roles, 54 tableUrlroles: api.roles,
62 form: { 55 form: {
63 job_name: "", 56 job_name: "",
64 currentPage: 1, 57 currentPage: 1,
...@@ -67,6 +60,11 @@ export default { ...@@ -67,6 +60,11 @@ export default {
67 roleId: "", 60 roleId: "",
68 title: "", 61 title: "",
69 queryParam: {}, 62 queryParam: {},
63 multipleSelection: [],
64 // 菜单列表
65 menutablelistData: [],
66 tableUrl: api.menus, // 菜单接口地址
67 meumurlid: api.subsystem, // 项目id接口地址
70 selectType: "0", 68 selectType: "0",
71 queryName: "", 69 queryName: "",
72 organizationId: "", // 组织机构ID 70 organizationId: "", // 组织机构ID
...@@ -74,6 +72,8 @@ export default { ...@@ -74,6 +72,8 @@ export default {
74 departmentList: [], // 部门列表 72 departmentList: [], // 部门列表
75 levelList: [], // 职务级别 73 levelList: [], // 职务级别
76 sexList: [], 74 sexList: [],
75 operationCodes: null, // 操作符对象
76 operationList: [], // 获取授权列表需要提交的操作符数组
77 typeOptions: [ 77 typeOptions: [
78 { 78 {
79 value: "0", 79 value: "0",
...@@ -107,7 +107,7 @@ export default { ...@@ -107,7 +107,7 @@ export default {
107 .concat([ 107 .concat([
108 { 108 {
109 label: "排序", 109 label: "排序",
110 width: 380, 110 width: 100,
111 render: (h, scope) => { 111 render: (h, scope) => {
112 return ( 112 return (
113 <div> 113 <div>
...@@ -137,14 +137,20 @@ export default { ...@@ -137,14 +137,20 @@ export default {
137 .concat([ 137 .concat([
138 { 138 {
139 label: "操作", 139 label: "操作",
140 width: 380, 140 width: 280,
141 render: (h, scope) => { 141 render: (h, scope) => {
142 return ( 142 return (
143 <div> 143 <div>
144 <el-tooltip class="item" effect="dark" disabled={scope.row.type !== 'Everyone'} content="没有点击的权限" placement="top"> 144 <el-tooltip
145 class="item"
146 effect="dark"
147 disabled={scope.row.type !== "Everyone"}
148 content="没有点击的权限"
149 placement="top"
150 >
145 <span> 151 <span>
146 <el-button 152 <el-button
147 disabled={scope.row.type === 'Everyone'} 153 disabled={scope.row.type === "Everyone"}
148 type="text" 154 type="text"
149 size="mini" 155 size="mini"
150 icon="el-icon-video-pause" 156 icon="el-icon-video-pause"
...@@ -152,11 +158,17 @@ export default { ...@@ -152,11 +158,17 @@ export default {
152 this.getUserList(scope.row); 158 this.getUserList(scope.row);
153 }} 159 }}
154 > 160 >
155 人员 161 配置
156 </el-button> 162 </el-button>
157 </span> 163 </span>
158 </el-tooltip> 164 </el-tooltip>
159 <el-tooltip class="item" effect="dark" disabled={scope.row.category !== 1} content="系统内置角色 不允许修改" placement="top"> 165 <el-tooltip
166 class="item"
167 effect="dark"
168 disabled={scope.row.category !== 1}
169 content="系统内置角色 不允许修改"
170 placement="top"
171 >
160 <span> 172 <span>
161 <el-button 173 <el-button
162 disabled={scope.row.category === 1} 174 disabled={scope.row.category === 1}
...@@ -171,7 +183,13 @@ export default { ...@@ -171,7 +183,13 @@ export default {
171 </el-button> 183 </el-button>
172 </span> 184 </span>
173 </el-tooltip> 185 </el-tooltip>
174 <el-tooltip class="item" effect="dark" disabled={scope.row.category !== 1} content="系统内置角色 不允许删除" placement="top"> 186 <el-tooltip
187 class="item"
188 effect="dark"
189 disabled={scope.row.category !== 1}
190 content="系统内置角色 不允许删除"
191 placement="top"
192 >
175 <span> 193 <span>
176 <el-button 194 <el-button
177 type="text" 195 type="text"
...@@ -190,26 +208,25 @@ export default { ...@@ -190,26 +208,25 @@ export default {
190 </div> 208 </div>
191 ); 209 );
192 }, 210 },
211
212 }]),
193 }, 213 },
194 ]),
195 data: [], 214 data: [],
215 }
196 }, 216 },
197 pageData: { 217 created () {
198 total: 5,
199 pageSize: 15,
200 current: 1,
201 },
202 };
203 },
204 created() {
205 this.getTableData(); 218 this.getTableData();
219 this.getTableList()
206 }, 220 },
207 mounted() {}, 221 computed: {
222 ...mapGetters(["products"])
223 },
224 mounted () { },
208 methods: { 225 methods: {
209 // 获取角色列表 226 // 获取角色列表
210 getTableData() { 227 getTableData () {
211 let Builtinrole=[] 228 let Builtinrole = [];
212 let Publicrole=[] 229 let Publicrole = [];
213 230
214 getRolesById(1) 231 getRolesById(1)
215 .then((res) => { 232 .then((res) => {
...@@ -219,17 +236,106 @@ export default { ...@@ -219,17 +236,106 @@ export default {
219 Publicrole = res.content; 236 Publicrole = res.content;
220 237
221 this.listdata = Builtinrole.concat(Publicrole); 238 this.listdata = Builtinrole.concat(Publicrole);
222
223 this.listdata = judgeSort(this.listdata); 239 this.listdata = judgeSort(this.listdata);
224 }) 240 })
225 .catch((e) => console.error(e)); 241 .catch((e) => console.error(e));
226 }) 242 })
227 .catch((e) => console.error(e)); 243 .catch((e) => console.error(e));
244 },
228 245
229 246 // 获取菜单列表
247 getTableList () {
248 getMenuInfo(sessionStorage.getItem("products")).then((res) => {
249 if (res.code === 200) {
250 this.menutablelistData = judgeSort(res.result)
251 } else {
252 this.$message.error({ message: res.message, showClose: true })
253 }
254 })
255 const queryOptionsid = {
256 conditionGroup: {
257 queryRelation: "AND",
258 conditions: [
259 {
260 property: "code",
261 value: this.products,
262 operator: "EQ",
263 },
264 ],
230 }, 265 },
231 // 人员配置 266 };
232 getUserList(row) { 267 const params = {
268 queryOptions: queryOptionsid,
269 };
270 // 获取系统id
271 getAction(this.meumurlid, params)
272 .then((res) => {
273 this.productId = res.content[0].id;
274 this.getAuthorityList(res.content[0].id, res.content[0].code)
275 this.selectedSubsystemCode = res.content[0].code
276 // let queryOptions = {
277 // conditionGroup: {
278 // conditions: [
279 // {
280 // property: "productId",
281 // value: this.productId,
282 // operator: "EQ",
283 // },
284 // ],
285 // queryRelation: "AND",
286 // },
287 // orderBys: [{ property: "sort", direction: "desc" }],
288 // };
289 // if (!this.tableUrl) {
290 // console.log("请设置tableUrl属性为接口地址!");
291 // return;
292 // }
293 // if (this.queryOptions !== "") {
294 // this.queryParam.queryOptions = JSON.stringify(queryOptions);
295 // }
296 // 查询系统菜单
297 // getAction(this.tableUrl, this.queryParam)
298 // .then((res) => {
299 // if (res.status === 1) {
300 // this.loading = false;
301 // // this.menutablelistData = res.content;
302 // console.log("res.content菜单", res.content);
303 // } else {
304 // this.$message.error({ message: res.message, showClose: true });
305 // this.loading = false;
306 // }
307 // })
308 // .catch((error) => {
309 // console.log("er", error);
310 // this.loading = false;
311 // });
312 })
313 .catch((error) => {
314 console.log("er", error);
315 });
316 },
317 // 获取权限列表
318 getAuthorityList (productId, code) {
319 getAuthorityListAction(productId, code).then(
320 res => {
321 if (res.status === 1) {
322 if (res.content.length !== 0) {
323 this.operationCodes = res.content[0].operations
324 this.operationList = []
325 for (var k in this.operationCodes) {
326 this.operationList.push(k)
327 }
328 }
329 } else {
330 this.$message.error({ message: res.message, showClose: true })
331 }
332 }
333 )
334 },
335
336 // 配置
337 getUserList (row) {
338 this.getTableList()
233 const params = {}; 339 const params = {};
234 const queryOptions = { 340 const queryOptions = {
235 conditionGroup: { 341 conditionGroup: {
...@@ -250,6 +356,7 @@ export default { ...@@ -250,6 +356,7 @@ export default {
250 orderBys: [{ property: "sort", direction: "desc" }], 356 orderBys: [{ property: "sort", direction: "desc" }],
251 }; 357 };
252 params.queryOptions = JSON.stringify(queryOptions); 358 params.queryOptions = JSON.stringify(queryOptions);
359
253 getUserRoles(row.id).then((res) => { 360 getUserRoles(row.id).then((res) => {
254 if (res.status === 1) { 361 if (res.status === 1) {
255 this.personlist = res.content; 362 this.personlist = res.content;
...@@ -266,7 +373,8 @@ export default { ...@@ -266,7 +373,8 @@ export default {
266 }); 373 });
267 } 374 }
268 375
269 this.$refs.rolesForm.adds(this.waitMemberList, row.id); 376 this.$refs.rolesForm.personlist(this.waitMemberList, row.id);
377 this.$refs.rolesForm.menulist(this.operationList, row.id, this.selectedSubsystemCode, this.menutablelistData, this.operationCodes);
270 } else { 378 } else {
271 this.$message.error({ message: res.message, showClose: true }); 379 this.$message.error({ message: res.message, showClose: true });
272 } 380 }
...@@ -276,34 +384,35 @@ export default { ...@@ -276,34 +384,35 @@ export default {
276 }); 384 });
277 }, 385 },
278 // 新增、修改角色 386 // 新增、修改角色
279 handleAddEdit(value) { 387 handleAddEdit (value) {
280 this.$refs.addEditDialog.menuType = this.menuType; 388 this.$refs.addEditDialog.menuType = this.menuType;
281 this.$refs.addEditDialog.roleId = value.id; 389 this.$refs.addEditDialog.roleId = value.id;
282 this.roleSort = value.sort ? value.sort : 0; 390 this.roleSort = value.sort ? value.sort : 0;
391 this.$refs.addEditDialog.dialogForm.roleType = sessionStorage.getItem("products");
283 if (value.id) { 392 if (value.id) {
284 this.$refs.addEditDialog.dialogForm.roleName = value.name; 393 this.$refs.addEditDialog.dialogForm.roleName = value.name;
285 this.$refs.addEditDialog.dialogForm.roleType = value.type; 394
286 this.$refs.addEditDialog.dialogForm.roleTextArea = value.description; 395 this.$refs.addEditDialog.dialogForm.roleTextArea = value.description;
287 } 396 }
288 this.$refs.addEditDialog.showAddEditDialog = true; 397 this.$refs.addEditDialog.showAddEditDialog = true;
289 this.$refs.addEditDialog.dialogTitle = value.id ? "修改" : "新增"; 398 this.$refs.addEditDialog.dialogTitle = value.id ? "修改" : "新增";
290 }, 399 },
291 // 上移下移 400 // 上移下移
292 moveUpward(index, row) { 401 moveUpward (index, row) {
293 realMove(row.id, "UP", this.listdata); 402 realMove(row.dictid, "UP", this.listdata);
294 this.key++; 403 this.key++;
295 let id = findParents(this.listdata, row.id); 404 let id = findParents(this.listdata, row.dictid);
296 this.keyList = id; 405 this.keyList = id;
297 }, 406 },
298 moveDown(index, row) { 407 moveDown (index, row) {
299 realMove(row.id, "DOWN", this.listdata); 408 realMove(row.dictid, "DOWN", this.listdata);
300 this.key++; 409 this.key++;
301 let id = findParents(this.listdata, row.id); 410 let id = findParents(this.listdata, row.dictid);
302 this.keyList = id; 411 this.keyList = id;
303 }, 412 },
304 413
305 // 删除 414 // 删除
306 handleDelete: function(id, content = '') { 415 handleDelete: function (id, content = "") {
307 this.$confirm( 416 this.$confirm(
308 `<div class="customer-message-wrapper"> 417 `<div class="customer-message-wrapper">
309 <h5 class="title">您确认要执行该操作用于以下信息:</h5> 418 <h5 class="title">您确认要执行该操作用于以下信息:</h5>
...@@ -313,47 +422,48 @@ export default { ...@@ -313,47 +422,48 @@ export default {
313 <span >无法恢复</span> 422 <span >无法恢复</span>
314 </p> 423 </p>
315 </div>`, 424 </div>`,
316 '执行确认', 425 "执行确认",
317 { 426 {
318 dangerouslyUseHTMLString: true, 427 dangerouslyUseHTMLString: true,
319 customClass: 'customer-delete', 428 customClass: "customer-delete",
320 confirmButtonText: '确定', 429 confirmButtonText: "确定",
321 cancelButtonText: '取消', 430 cancelButtonText: "取消",
322 type: 'warning' 431 type: "warning",
323 } 432 }
324 ) 433 )
325 .then(() => { 434 .then(() => {
326 if (!this.tableUrl) { 435 if (!this.tableUrlroles) {
327 this.$message.error({ 436 this.$message.error({
328 message: '请设置tableUrl属性为接口地址!', 437 message: "请设置tableUrl属性为接口地址!",
329 showClose: true 438 showClose: true,
330 }) 439 });
331 return 440 return;
332 } 441 }
333 const url = this.tableUrl + '/' + id 442 const url = this.tableUrlroles + "/" + id;
334 deleteAction(url).then(res => { 443 deleteAction(url).then((res) => {
335 if (res.status === 1) { 444 if (res.status === 1) {
336 this.$message.success({ message: res.message, showClose: true }) 445 this.$message.success({ message: res.message, showClose: true });
337 this.getTableData() 446 this.getTableData();
338 } else { 447 } else {
339 this.$message.error({ message: res.message, showClose: true }) 448 this.$message.error({ message: res.message, showClose: true });
340 } 449 }
450 });
341 }) 451 })
342 }) 452 .catch(() => { });
343 .catch(() => {})
344 }, 453 },
345 // 新增回显 454 // 新增回显
346 reloadTableData() { 455 reloadTableData () {
347 this.getTableData() 456 this.getTableData();
348 }, 457 },
349 }, 458 },
350 }; 459 };
351 </script> 460 </script>
352 <style scoped lang="scss"> 461 <style scoped lang="scss">
353 @import "~@/styles/mixin.scss"; 462 @import "~@/styles/mixin.scss";
354 @import "~@/styles/public.scss"; 463
355 .btnColRight { 464 // @import "~@/styles/public.scss";
465 .btnColRight {
356 margin-left: -30px; 466 margin-left: -30px;
357 margin-top: 20px; 467 margin-top: 20px;
358 } 468 }
359 </style> 469 </style>
......
1 <template> 1 <template>
2 <Dialog 2 <el-dialog
3 :title="title" 3 :close-on-click-modal="false"
4 class="tableClass" 4 top="0"
5 :show.sync="visible" 5 @click="close()"
6 :width="'715px'" 6 class="roleconfiguration"
7 @close="close()" 7 custom-class="dialogBox editDialogBox mainCenter"
8 > 8 :visible.sync="visible"
9 <template slot="content"> 9 width="85%">
10 <div slot="title" class="dialog_title" ref="dialogTitle">
11 {{ title || "标题" }}
12 </div>
13 <div class="editDialogBox-box">
14 <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
15 <el-tab-pane label="人员配置" name="first"></el-tab-pane>
16 <el-tab-pane label="菜单配置" name="second"></el-tab-pane>
17 </el-tabs>
10 <lb-table 18 <lb-table
19 v-if="activeName == 'first'"
11 ref="multipleTable" 20 ref="multipleTable"
12 :pagination="false" 21 :pagination="false"
13 :column="tableData.column" 22 :column="usertableData.column"
14 :data="tableData.data" 23 :data="lastuserList"
15 @selection-change="handleSelectionChange" 24 @selection-change="handleSelectionChange"
25 @row-click="handleClickTableRow">
16 > 26 >
17 </lb-table> 27 </lb-table>
18 </template> 28 <lb-table
29 :key="menukey"
30 v-if="activeName == 'second'"
31 :pagination="false"
32 :column="menutableData.column"
33 :data="lastMenuList"
34 row-key="id"
35 default-expand-all
36 :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
37 </lb-table>
38 </div>
19 <template slot="footer"> 39 <template slot="footer">
20 <el-button type="primary" class="save" @click="handleSaveMember()" 40 <el-button type="primary" class="save" @click="handleSaveMember()">保存</el-button>
21 >保存</el-button
22 >
23 <el-button class="cancel-button" @click="close()">取消</el-button> 41 <el-button class="cancel-button" @click="close()">取消</el-button>
24 </template> 42 </template>
25 </Dialog> 43 </el-dialog>
26 </template> 44 </template>
27 45
28 <script> 46 <script>
29 import Dialog from "@/components/Dialog/"; 47 import { api } from "@/api/manageApi";
30 import { updateUser } from "@/api/quanxianmanagement"; 48 import { getRoleAuthorityList, roleAuthority } from "@/api/authorityManage";
31 export default { 49 import { updateUser } from "@/api/personnelManage";
50 export default {
32 name: "", 51 name: "",
33 components: { Dialog }, 52 data () {
34 data() {
35 return { 53 return {
36 title: "人员配置", 54 title: "人员配置",
37 visible: false, 55 visible: false,
38 hasSelectList: [ 56 menutableData: {
39 // { 57 column: [
40 // name: "管理员", 58 {
41 // loginName: "admin1", 59 prop: "name",
42 // departmentName: "研发部", 60 width: 830,
43 // jobLevel: null, 61 label: "菜单名称",
44 // }, 62 }
45 // { 63 ].concat([
46 // name: "测试账号", 64 {
47 // loginName: "admin2", 65 label: "权限",
48 // departmentName: "研发部", 66 render: (h, scope) => {
49 // jobLevel: null, 67 return (
50 // }, 68 <div>
51 ], //已经选择的id组成的数组 69 <el-checkbox v-model={scope.row.checkArr[0].value}
52 tableData: { 70 disabled={scope.row.checkArr[0].disabled}
71 label={scope.row.checkArr[0].name} onChange={(checked) => {
72 this.changeCheck(checked, scope.row.checkArr[0].id, scope);
73 }} />
74 <el-checkbox v-model={scope.row.checkArr[1].value}
75 disabled={scope.row.checkArr[0].disabled}
76 label={scope.row.checkArr[1].name}
77 onChange={(checked) => {
78 this.changeCheck(checked, scope.row.checkArr[1].id, scope);
79 }} />
80 </div>
81 );
82 },
83 },
84 ]),
85 },
86 usertableData: {
53 column: [ 87 column: [
54 { 88 {
55 type: "selection", 89 type: "selection",
90 width: 330,
56 }, 91 },
57 { 92 {
58 prop: "name", 93 prop: "name",
94 width: 330,
59 label: "姓名", 95 label: "姓名",
60 }, 96 },
61 { 97 {
62 prop: "loginName", 98 prop: "loginName",
63 label: "用户名", 99 label: "用户名",
64 }, 100 },
65 {
66 prop: "departmentName",
67 label: "部门",
68 },
69 {
70 prop: "jobLevel",
71 label: "职务",
72 },
73 ], 101 ],
74 data: [], 102 },
75 // 角色id 103 // 角色id
76 roleId: "", 104 roleId: "",
77 }, 105 menuList: [], // 菜单列表
78 multipleSelection: [], 106 menukey: 0,
107 activeName: "first",
108 lastuserList: [], // 人员表格数据
109 lastMenuList: [], // 重构完成的菜单表格数据
110 usermultipleSelection: [],
111 // 选中菜单列表
112 checkArr: [], // 重构操作符列表
113 authorityList: [], // 授权回显数组
114 checklistbor: [],
115 // 授权对象数据
116 menuprams: {},
117 // 系统code
118 selectedSubsystemCode: ""
79 }; 119 };
80 }, 120 },
81 computed: {}, 121 computed: {},
82 122
83 created() {}, 123 created () {
84 mounted() {}, 124 },
125 mounted () {
126 },
85 methods: { 127 methods: {
86 // 人员配置根据selectStatus字段确定已选人员 128
87 adds(a, rid) { 129 // 人员配置点击行勾选数据
130 handleClickTableRow (row, event) {
131 this.checkNum = 0;
132 this.isCheck = false;
133 if (event.label == "操作") {
134 return;
135 } else {
136 if (row.status == "0") {
137 return;
138 } else {
139 if (this.usermultipleSelection.length > 0) {
140 if (
141 JSON.stringify(this.usermultipleSelection).indexOf(
142 JSON.stringify(row)
143 ) == -1
144 ) {
145 this.usermultipleSelection.push(row);
146 this.$refs.multipleTable.toggleRowSelection(row, true);
147 } else {
148 this.usermultipleSelection.map((item, index) => {
149 if (item.id == row.id) {
150 this.usermultipleSelection.splice(index, 1);
151 this.$refs.multipleTable.toggleRowSelection(row, false);
152 }
153 });
154 }
155 } else {
156 this.usermultipleSelection.push(row);
157 this.$refs.multipleTable.toggleRowSelection(row, true);
158 }
159 }
160 }
161 if (this.usermultipleSelection.length > 0) {
162 this.checkNum = this.usermultipleSelection.length;
163 this.isCheck = true;
164 } else {
165 this.isCheck = false;
166 }
167 },
168 // 获取授权主体的菜单权限
169 // getMenuAuthorityList
170 menulist (operationList, id, Code, menutablelistData, operationCodes) {
171 console.log("Code", Code);
172 this.selectedSubsystemCode = Code
173 this.menuList = menutablelistData;
174 getRoleAuthorityList(
175 id,
176 operationList.toString(),
177 Code + '_MENU'
178 ).then(res => {
179 if (res.status === 1) {
180 this.authorityList = res.content
181 this.getRecursionTreeData(this.menuList, this.authorityList, operationCodes)
182 this.getAuthorizedInfo()
183 // this.setCheckAllArr()
184 // this.getAuthorizedInfo()
185 } else {
186 this.$message.error({ message: res.message, showClose: true })
187 }
188 })
189
190
191 },
192 /**
193 * 递归渲染列表数据
194 * list:原始数组
195 * authorityList:已授权数组
196 */
197 getRecursionTreeData (list, authorityList, operationCodes) {
198 ++this.menukey
199 this.checkArr = []
200 for (const k in operationCodes) {
201 const obj = {}
202 obj.name = operationCodes[k]
203 obj.id = k
204 obj.value = false
205 obj.disabled = false
206 // obj.isAll = false;
207 this.checkArr.push(obj)
208 }
209 for (const [index, item] of Object.entries(list)) {
210 this.setAuthorizedConditions(
211 authorityList,
212 this.$deepCopy(this.checkArr),
213 item
214 )
215 if (
216 item.children &&
217 item.children !== null &&
218 item.children.length !== 0
219 ) {
220 item.children.forEach((child, j) => {
221 this.setAuthorizedConditions(
222 authorityList,
223 this.$deepCopy(this.checkArr),
224 child
225 )
226 })
227 this.getRecursionTreeData(item.children, authorityList, operationCodes)
228 }
229 }
230 this.lastMenuList = list
231 // this.setCheckAllArr(list)
232 },
233 // 授权条件
234 setAuthorizedConditions (authorityList, checkArr, item) {
235 if (this.roleId === '') {
236 checkArr.forEach(ele => {
237 ele.disabled = true
238 ele.value = false
239 })
240 } else {
241 if (authorityList.length !== 0) {
242 if (authorityList[0].superPermission === true) {
243 checkArr.forEach(ele => {
244 ele.value = true
245 ele.disabled = true
246 })
247 } else {
248 const repeatArr = authorityList.filter(authorityItem => {
249 return authorityItem.resourceUri === item.id
250 })
251 repeatArr.forEach(element => {
252 checkArr.forEach(ele => {
253 if (element.operationCode === ele.id) {
254 ele.value = true
255 if (this.roleId !== element.subjectId) {
256 ele.disabled = true
257 }
258 }
259 })
260 })
261 }
262 }
263 }
264 this.$set(item, 'checkArr', this.$deepCopy(checkArr))
265 },
266 // 获取拼接授权信息
267 getAuthorizedInfo () {
268 const lastArr = []
269 const authorizedList = []
270 const wholeArr = this.$deepCopy(this.lastMenuList)
271 const arr = this.$treeConvertToArr(wholeArr)
272 arr.forEach(ele => {
273 ele.checkArr.forEach(val => {
274 if (val.value === true && val.disabled === false) {
275 const obj = {
276 operationCode: val.id,
277 name: ele.name,
278 id: ele.id
279 }
280 lastArr.push(obj)
281 }
282 })
283 })
284 lastArr.forEach(element => {
285 authorizedList.push({
286 operationCode: element.operationCode, // 标识符
287 productCode: this.selectedSubsystemCode, // 子系统code
288 resourceCategoryCode: this.selectedSubsystemCode + '_MENU', // 资源类别code默认为MENU
289 resourceName: element.name,
290 resourceUri: element.id, // 授权菜单id
291 subjectId: this.roleId, // 授权对象id
292 subjectType: 'ROLE' // 授权对象类别
293 })
294 })
295 this.menuprams = {
296 subjectId: this.roleId,
297 authorizedList: authorizedList
298 }
299 },
300 // 获取人员列表做筛选
301 personlist (a, rid) {
88 this.roleId = rid; 302 this.roleId = rid;
89 this.visible = true; 303 this.visible = true;
90 this.tableData.data = a; 304 this.lastuserList = a;
91 this.tableData.data.forEach((item, index) => { 305 this.lastuserList.forEach((item, index) => {
92 if (item.selectStatus === 0) { 306 if (item.selectStatus === 0) {
93 this.$nextTick(() => { 307 this.$nextTick(async () => {
308 await this.$refs.multipleTable
309 if (this.$refs.multipleTable) {
94 this.$refs.multipleTable.toggleRowSelection( 310 this.$refs.multipleTable.toggleRowSelection(
95 this.tableData.data[index], 311 this.lastuserList[index],
96 true 312 true
97 ); 313 );
314 }
315
98 }); 316 });
99 } 317 }
100 }); 318 });
101 }, 319 },
102 close() { 320 // 关闭事件
321 close () {
103 this.visible = false; 322 this.visible = false;
104 }, 323 },
105 // 保存 324 // 保存事件
106 handleSaveMember() { 325 handleSaveMember () {
107 const idList = this.multipleSelection.map((item) => { 326 // 人员授权
327 const idList = this.usermultipleSelection.map((item) => {
108 return item.id; 328 return item.id;
109 }); 329 })
110 updateUser(this.roleId, idList).then((res) => { 330 updateUser(this.roleId, idList).then((res) => {
111 if (res.status === 1) { 331 if (res.status === 1) {
112 this.$message.success({ message: "保存成功", showClose: true }); 332 this.$message.success({ message: "保存成功", showClose: true });
113 this.visible = false; 333 this.visible = false;
114 // this.$emit("setUsers", this.roleId);
115 // this.resetMemberConfig();
116 } else this.$message.error({ message: res.message, showClose: true }); 334 } else this.$message.error({ message: res.message, showClose: true });
117 }); 335 });
336 // 菜单授权
337 roleAuthority(
338 this.menuprams.subjectId,
339 this.menuprams.authorizedList
340 ).then((res) => {
341 if (res.status === 1) {
342 this.$message.success({
343 message: res.message,
344 })
345 // this.authorizedContChange()
346 } else {
347 this.$message.error({ message: res.message, showClose: true })
348 }
349 })
118 }, 350 },
119 handleSelectionChange(val) { 351 // 勾选人员事件
120 this.multipleSelection = val; 352 handleSelectionChange (val) {
353 this.lastuserList.forEach((element, index) => {
354 delete this.lastuserList[index].selectStatus
355 });
356 this.usermultipleSelection = val;
357 this.lastuserList.forEach((element, index) => {
358 this.usermultipleSelection.forEach(element1 => {
359 if (element.id == element1.id) {
360 this.lastuserList[index].selectStatus = 0
361 }
362 });
363 });
121 }, 364 },
365 // 数据筛选
366 setarrdata (scope, arr) {
367
368 arr.forEach((item, index, arr) => {
369 if (item.id == scope.row.id) {
370 this.checklistbor = [...arr]
371 } else if (item.id !== scope.row.id && item.children) {
372 this.setarrdata(scope, item.children)
373 }
374
375 })
376
377 },
378 // 勾选菜单事件
379 changeCheck (flag, checkId, scope) {
380 this.checklistbor = []
381 this.setarrdata(scope, this.lastMenuList)
382 const parents = this.$findParent(this.lastMenuList, scope.row.parentId)
383 const childs = this.$findChildren(this.lastMenuList, scope.row.id)
384 this.$setChildArr(
385 this.lastMenuList,
386 scope.row.id,
387 checkId,
388 flag,
389 this.checklistbor,
390 parents,
391 childs
392 )
393 this.getAuthorizedInfo()
122 }, 394 },
123 }; 395 handleClick (tab, event) {
396 this.lastuserList.forEach((item, index) => {
397 if (item.selectStatus === 0) {
398 this.$nextTick(async () => {
399 await this.$refs.multipleTable
400 if (this.$refs.multipleTable) {
401 this.$refs.multipleTable.toggleRowSelection(
402 this.lastuserList[index],
403 true
404 );
405 }
406
407 });
408 }
409 });
410 }
411
412 },
413 };
124 </script> 414 </script>
125 <style scoped lang="scss"> 415 <style scoped lang="scss">
126 /deep/.el-dialog__header { 416 @import "~@/styles/mixin.scss";
127 text-align: center; 417 @import "~@/styles/dialogBox.scss";
128 margin-bottom: 10px;
129 .el-dialog__title {
130 color: white;
131 }
132 }
133 </style> 418 </style>
......
...@@ -249,5 +249,5 @@ export default { ...@@ -249,5 +249,5 @@ export default {
249 </script> 249 </script>
250 <style scoped lang="scss"> 250 <style scoped lang="scss">
251 @import "~@/styles/mixin.scss"; 251 @import "~@/styles/mixin.scss";
252 @import "~@/styles/public.scss"; 252 // @import "~@/styles/public.scss";
253 </style> 253 </style>
......
1 /*
2 * @Author: xiaomiao 1158771342@qq.com
3 * @Date: 2023-01-30 17:59:51
4 * @LastEditors: xiaomiao 1158771342@qq.com
5 * @LastEditTime: 2023-03-08 15:09:15
6 * @FilePath: \监管系统\js-web-jianguan\src\views\system\users\data\index.js
7 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8 */
1 import filter from '@/utils/filter.js' 9 import filter from '@/utils/filter.js'
2 class data extends filter { 10 class data extends filter {
3 constructor() { 11 constructor() {
...@@ -13,7 +21,7 @@ class data extends filter { ...@@ -13,7 +21,7 @@ class data extends filter {
13 { 21 {
14 prop: "name", 22 prop: "name",
15 label: "姓名", 23 label: "姓名",
16 width: 300 24 width: 100
17 }, 25 },
18 { 26 {
19 prop: "loginName", 27 prop: "loginName",
......
1 <template> 1 <template>
2 <Dialog :title="title" :show.sync="visible" :width="'715px'" @close="close()"> 2 <Dialog :title="title" class="modifydialog" :show.sync="visible" :width="'715px'" @close="close()">
3 <template slot="content"> 3 <template slot="content">
4 <el-form ref="form" :model="form" :rules="rules"> 4 <el-form ref="form" :model="form" :rules="rules">
5 <el-row :gutter="24"> 5 <el-row :gutter="24">
...@@ -15,9 +15,7 @@ ...@@ -15,9 +15,7 @@
15 v-for="(item, index) in sexList" 15 v-for="(item, index) in sexList"
16 :key="index" 16 :key="index"
17 v-model="form.sex" 17 v-model="form.sex"
18 :label="item.value" 18 :label="item.value">{{ item.name }}</el-radio>
19 >{{ item.name }}</el-radio
20 >
21 </el-form-item> 19 </el-form-item>
22 </el-col> 20 </el-col>
23 <el-col :span="6"> 21 <el-col :span="6">
...@@ -36,8 +34,7 @@ ...@@ -36,8 +34,7 @@
36 <el-input 34 <el-input
37 v-model="form.loginName" 35 v-model="form.loginName"
38 :disabled="showLoginName" 36 :disabled="showLoginName"
39 placeholder="用户名" 37 placeholder="用户名" />
40 />
41 </el-form-item> 38 </el-form-item>
42 </el-col> 39 </el-col>
43 </el-row> 40 </el-row>
...@@ -51,12 +48,10 @@ ...@@ -51,12 +48,10 @@
51 <el-form-item 48 <el-form-item
52 label="手机号码:" 49 label="手机号码:"
53 prop="mobilePhone" 50 prop="mobilePhone"
54 label-width="72px" 51 label-width="72px">
55 >
56 <el-input 52 <el-input
57 v-model="form.mobilePhone" 53 v-model="form.mobilePhone"
58 placeholder="手机号码" 54 placeholder="手机号码" />
59 />
60 </el-form-item> 55 </el-form-item>
61 </el-col> 56 </el-col>
62 </el-row> 57 </el-row>
...@@ -65,14 +60,12 @@ ...@@ -65,14 +60,12 @@
65 <el-form-item label="最高职务级别:" label-width="100px"> 60 <el-form-item label="最高职务级别:" label-width="100px">
66 <el-select 61 <el-select
67 v-model="form.jobLevel" 62 v-model="form.jobLevel"
68 placeholder="最高职务级别" 63 placeholder="最高职务级别">
69 >
70 <el-option 64 <el-option
71 v-for="item in levelList" 65 v-for="item in levelList"
72 :key="item.value" 66 :key="item.value"
73 :label="item.name" 67 :label="item.name"
74 :value="item.value" 68 :value="item.value" />
75 />
76 </el-select> 69 </el-select>
77 </el-form-item> 70 </el-form-item>
78 </el-col> 71 </el-col>
...@@ -87,8 +80,7 @@ ...@@ -87,8 +80,7 @@
87 <el-form-item 80 <el-form-item
88 label="办公地点:" 81 label="办公地点:"
89 label-width="100px" 82 label-width="100px"
90 class="form-item-mb0" 83 class="form-item-mb0">
91 >
92 <el-input v-model="form.address" placeholder="办公地点" /> 84 <el-input v-model="form.address" placeholder="办公地点" />
93 </el-form-item> 85 </el-form-item>
94 </el-col> 86 </el-col>
...@@ -103,13 +95,13 @@ ...@@ -103,13 +95,13 @@
103 </template> 95 </template>
104 96
105 <script> 97 <script>
106 import { api, httpAction } from '@/api/manageApi' 98 import { api, httpAction } from '@/api/manageApi'
107 import Dialog from "@/components/Dialog/"; 99 import Dialog from "@/components/Dialog/";
108 export default { 100 export default {
109 name: "", 101 name: "",
110 components: { Dialog }, 102 components: { Dialog },
111 props: {}, 103 props: {},
112 data() { 104 data () {
113 return { 105 return {
114 form: { 106 form: {
115 sex: "0", 107 sex: "0",
...@@ -122,22 +114,22 @@ export default { ...@@ -122,22 +114,22 @@ export default {
122 { required: true, message: "请输入用户名", trigger: "blur" }, 114 { required: true, message: "请输入用户名", trigger: "blur" },
123 ], 115 ],
124 }, 116 },
125 title: "", 117 title: "修改",
126 visible: false, 118 visible: false,
127 showLoginName: false, 119 showLoginName: false,
128 sexList: [{lable:"0",value:"0",name:"男"},{lable:"1",value:"1",name:"女"}], 120 sexList: [{ lable: "0", value: "0", name: "男" }, { lable: "1", value: "1", name: "女" }],
129 levelList: [{lable:"0",value:"0",name:"干事"},{lable:"1",value:"1",name:"经理"}], 121 levelList: [{ lable: "0", value: "0", name: "干事" }, { lable: "1", value: "1", name: "经理" }],
130 dataUrl: api.users 122 dataUrl: api.users
131 }; 123 };
132 }, 124 },
133 computed: { 125 computed: {
134 departmentid() { 126 departmentid () {
135 return this.$store.state.user.userInfo; 127 return this.$store.state.user.userInfo;
136 }, 128 },
137 }, 129 },
138 watch: {}, 130 watch: {},
139 created() {}, 131 created () { },
140 mounted() {}, 132 mounted () { },
141 methods: { 133 methods: {
142 // initDictConfig() { 134 // initDictConfig() {
143 // getDictItems('XB').then((res) => { 135 // getDictItems('XB').then((res) => {
...@@ -156,13 +148,13 @@ export default { ...@@ -156,13 +148,13 @@ export default {
156 // }) 148 // })
157 // }, 149 // },
158 // 添加人员 150 // 添加人员
159 add() { 151 adds () {
160 this.visible = true; 152 this.visible = true;
161 // this.type = 0 153 // this.type = 0
162 this.showLoginName = false 154 this.showLoginName = false
163 }, 155 },
164 // 编辑 156 // 编辑
165 edit(record) { 157 edit (record) {
166 // this.initDictConfig() 158 // this.initDictConfig()
167 this.showLoginName = true 159 this.showLoginName = true
168 // 若有id为编辑 160 // 若有id为编辑
...@@ -173,17 +165,17 @@ export default { ...@@ -173,17 +165,17 @@ export default {
173 } 165 }
174 this.visible = true 166 this.visible = true
175 }, 167 },
176 handleChange(value) { 168 handleChange (value) {
177 this.form.departmentId = value; 169 this.form.departmentId = value;
178 }, 170 },
179 // 保存 171 // 保存
180 submitForm(submitType) { 172 submitForm (submitType) {
181 this.$refs.form.validate((valid) => { 173 this.$refs.form.validate((valid) => {
182 if (valid) { 174 if (valid) {
183 let method = '' 175 let method = ''
184 let url = '' 176 let url = ''
185 this.form.organizationId=this.departmentid.organizationId; 177 this.form.organizationId = this.departmentid.organizationId;
186 this.form.departmentId=this.departmentid.departmentId; 178 this.form.departmentId = this.departmentid.departmentId;
187 const formData = this.form 179 const formData = this.form
188 if (!formData.id) { 180 if (!formData.id) {
189 method = 'post' 181 method = 'post'
...@@ -212,30 +204,18 @@ export default { ...@@ -212,30 +204,18 @@ export default {
212 } 204 }
213 }) 205 })
214 }, 206 },
215 resetForm() { 207 resetForm () {
216 this.form = { 208 this.form = {
217 sex: '0' 209 sex: '0'
218 } 210 }
219 this.$refs.form.resetFields() 211 this.$refs.form.resetFields()
220 }, 212 },
221 close() { 213 close () {
222 this.resetForm() 214 this.resetForm()
223 this.visible = false 215 this.visible = false
224 } 216 }
225 }, 217 },
226 }; 218 };
227 </script> 219 </script>
228 <style scoped lang="scss"> 220 <style scoped lang="scss">
229 /deep/.el-input__inner {
230 background: #07388B;
231 border-radius: 2px;
232 border: 1px solid #6BC1FC;
233 }
234 /deep/.el-textarea__inner{
235 background: #07388B;
236 color: #fff;
237 }
238 /deep/.el-form-item__label{
239 color:#fff;
240 }
241 </style> 221 </style>
......
1 .btnColRight {
2 margin-top: 20px;
3 }
...@@ -17,46 +17,42 @@ ...@@ -17,46 +17,42 @@
17 </div> 17 </div>
18 <div class="from-clues-content"> 18 <div class="from-clues-content">
19 <lb-table 19 <lb-table
20 :page-size="pageData.size" 20 :pagination="false"
21 :current-page.sync="pageData.current"
22 :total="pageData.total"
23 @size-change="handleSizeChange" 21 @size-change="handleSizeChange"
24 @p-current-change="handleCurrentChange" 22 @p-current-change="handleCurrentChange"
25 :column="tableData.columns" 23 :column="tableData.columns"
26 :data="tableData.data" 24 :data="tableData.data"
27 :expand-row-keys="keyList" 25 :expand-row-keys="keyList"
28 row-key="dictid" 26 row-key="dictid">
29 >
30 </lb-table> 27 </lb-table>
31 </div> 28 </div>
32 <edit-dialog ref="dialogForm" @ok="reloadTableData"/> 29 <EditDialog ref="dialogForm" @ok="reloadTableData" />
33 </div> 30 </div>
34 </template> 31 </template>
35 <script> 32 <script>
36 import { 33 import {
37 getUuid, 34 getUuid,
38 judgeSort, 35 judgeSort,
39 realMove, 36 realMove,
40 findParents, 37 findParents,
41 removeTreeListItem, 38 removeTreeListItem,
42 } from "@/utils/operation"; 39 } from "@/utils/operation";
43 import { 40 import {
44 resetPassword, 41 resetPassword,
45 getUserList, 42 getUserList,
46 } from "@/api/quanxianmanagement"; 43 } from "@/api/personnelManage";
47 import { api, deleteAction } from '@/api/manageApi' 44 import { api, deleteAction } from '@/api/manageApi'
48 import data from "./data"; 45 import data from "./data";
49 import { deleteDomStr } from '@/utils/proDomStr' 46 import { deleteDomStr } from '@/utils/proDomStr'
50 import sjsbTask from "@/api/sjsbTask.js"; 47 import tableMixin from "@/mixins/tableMixin.js";
51 import tableMixin from "@/mixins/tableMixin.js"; 48 import EditDialog from "./edit-dialog.vue";
52 import EditDialog from "./edit-dialog.vue"; 49 export default {
53 export default {
54 name: "menus", 50 name: "menus",
55 mixins: [tableMixin], 51 mixins: [tableMixin],
56 components: { 52 components: {
57 EditDialog, 53 EditDialog,
58 }, 54 },
59 data() { 55 data () {
60 return { 56 return {
61 taskData: null, 57 taskData: null,
62 keyList: [], 58 keyList: [],
...@@ -107,13 +103,13 @@ export default { ...@@ -107,13 +103,13 @@ export default {
107 label: "负责人", 103 label: "负责人",
108 render: (h, scope) => { 104 render: (h, scope) => {
109 return ( 105 return (
110 <i v-show={scope.row.isDuty!==null} class="el-icon-check" /> 106 <i v-show={scope.row.isDuty !== null} class="el-icon-check" />
111 ) 107 )
112 } 108 }
113 }, 109 },
114 { 110 {
115 label: "排序", 111 label: "排序",
116 width: 280, 112 width: 100,
117 render: (h, scope) => { 113 render: (h, scope) => {
118 return ( 114 return (
119 <div> 115 <div>
...@@ -183,33 +179,29 @@ export default { ...@@ -183,33 +179,29 @@ export default {
183 ]), 179 ]),
184 data: [], 180 data: [],
185 }, 181 },
186 pageData: {
187 total: 5,
188 pageSize: 15,
189 current: 1,
190 },
191 }; 182 };
192 }, 183 },
193 created() { 184 created () {
194 this.getTableList(); 185 this.getTableList();
195 }, 186 },
196 computed: { 187 computed: {
197 departmentid() { 188 departmentid () {
198 return this.$store.state.user.userInfo; 189 return this.$store.state.user.userInfo;
199 }, 190 },
200 }, 191 },
201 methods: { 192 methods: {
202 handleAdd() { 193 handleAdd () {
203 this.$refs.dialogForm.add(); 194 this.$refs.dialogForm.adds();
204 this.$refs.dialogForm.title = "添加"; 195 this.$refs.dialogForm.title = "添加";
205 }, 196 },
206 getTableList() { 197 getTableList () {
207 this.loading = true; 198 this.loading = true;
208 this.queryParam = { 199 this.queryParam = {
209 organizationId: this.departmentid.organizationId, 200 organizationId: this.departmentid.organizationId,
210 departmentId: this.departmentid.departmentId, 201 departmentId: this.departmentid.departmentId,
211 }; 202 };
212 getUserList(this.queryParam).then((res) => { 203 getUserList(this.queryParam).then((res) => {
204 console.log("人员列表", res);
213 if (res.status === 1) { 205 if (res.status === 1) {
214 this.loading = false; 206 this.loading = false;
215 this.tableData.data = res.content; 207 this.tableData.data = res.content;
...@@ -221,7 +213,7 @@ export default { ...@@ -221,7 +213,7 @@ export default {
221 }, 213 },
222 214
223 // 重置用户密码 215 // 重置用户密码
224 resetPassword(data) { 216 resetPassword (data) {
225 const ids = [] 217 const ids = []
226 if (data instanceof Array) { 218 if (data instanceof Array) {
227 data.forEach((item) => { 219 data.forEach((item) => {
...@@ -263,28 +255,28 @@ export default { ...@@ -263,28 +255,28 @@ export default {
263 } 255 }
264 }) 256 })
265 }) 257 })
266 .catch(() => {}) 258 .catch(() => { })
267 }, 259 },
268 // 上移下移 260 // 上移下移
269 moveUpward(index, row) { 261 moveUpward (index, row) {
270 realMove(row.dictid, "UP", this.tableData.data); 262 realMove(row.dictid, "UP", this.tableData.data);
271 this.key++; 263 this.key++;
272 let id = findParents(this.tableData.data, row.dictid); 264 let id = findParents(this.tableData.data, row.dictid);
273 this.keyList = id; 265 this.keyList = id;
274 }, 266 },
275 moveDown(index, row) { 267 moveDown (index, row) {
276 realMove(row.dictid, "DOWN", this.tableData.data); 268 realMove(row.dictid, "DOWN", this.tableData.data);
277 this.key++; 269 this.key++;
278 let id = findParents(this.tableData.data, row.dictid); 270 let id = findParents(this.tableData.data, row.dictid);
279 this.keyList = id; 271 this.keyList = id;
280 }, 272 },
281 // 修改人员信息 273 // 修改人员信息
282 handleEdit(row) { 274 handleEdit (row) {
283 this.$refs.dialogForm.edit(row); 275 this.$refs.dialogForm.edit(row);
284 this.$refs.dialogForm.title = "修改"; 276 this.$refs.dialogForm.title = "修改";
285 }, 277 },
286 // 删除 278 // 删除
287 handleDelete(id, content) { 279 handleDelete (id, content) {
288 this.$confirm(deleteDomStr(content), '执行确认', { 280 this.$confirm(deleteDomStr(content), '执行确认', {
289 dangerouslyUseHTMLString: true, 281 dangerouslyUseHTMLString: true,
290 customClass: 'customer-delete', 282 customClass: 'customer-delete',
...@@ -302,19 +294,17 @@ export default { ...@@ -302,19 +294,17 @@ export default {
302 this.getTableList() 294 this.getTableList()
303 }) 295 })
304 }) 296 })
305 .catch(() => {}) 297 .catch(() => { })
306 }, 298 },
307 // 新增回显 299 // 新增回显
308 reloadTableData() { 300 reloadTableData () {
309 this.getTableList() 301 this.getTableList()
310 }, 302 },
311 }, 303 },
312 }; 304 };
313 </script> 305 </script>
314 <style scoped lang="scss"> 306 <style scoped lang="scss">
315 @import "~@/styles/mixin.scss"; 307 @import "~@/styles/mixin.scss";
316 @import "~@/styles/public.scss"; 308 @import "~@/styles/public.scss";
317 .btnColRight { 309 @import "./index.scss";
318 margin-top: 20px;
319 }
320 </style> 310 </style>
......
...@@ -199,6 +199,6 @@ export default { ...@@ -199,6 +199,6 @@ export default {
199 }; 199 };
200 </script> 200 </script>
201 <style scoped lang="scss"> 201 <style scoped lang="scss">
202 @import "~@/styles/public.scss"; 202 // @import "~@/styles/public.scss";
203 @import "./index.scss"; 203 @import "./index.scss";
204 </style> 204 </style>
......
...@@ -60,6 +60,9 @@ module.exports = { ...@@ -60,6 +60,9 @@ module.exports = {
60 // configureWebpack通过操作对象的形式,来修改默认的webpack配置 60 // configureWebpack通过操作对象的形式,来修改默认的webpack配置
61 configureWebpack: { 61 configureWebpack: {
62 name: name, 62 name: name,
63 externals: [{
64 './cptable': 'var cptable'
65 }],
63 resolve: { 66 resolve: {
64 alias: { 67 alias: {
65 '@': resolve('src') 68 '@': resolve('src')
......