feat:打包分支代码提交
Showing
144 changed files
with
6887 additions
and
2402 deletions
| ... | @@ -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 | } | ... | ... |
src/api/config.js
0 → 100644
| 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', | ... | ... |
src/api/personnelManage.js
0 → 100644
| 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 | } | ... | ... |
src/api/statistics.js
0 → 100644
| 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); | ... | ... |
src/common/map/yushu.js
0 → 100644
| 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); | ... | ... |
src/components/DownLbTable/LbColumn.vue
0 → 100644
| 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> |
src/components/DownLbTable/LbRender.vue
0 → 100644
| 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> |
src/components/DownLbTable/forced.js
0 → 100644
| 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 | } |
src/components/DownLbTable/index.vue
0 → 100644
| 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> |
src/components/DownLbTable/redeme.md
0 → 100644
| ... | @@ -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) { | ... | ... |
src/components/downLbTable/LbColumn.vue
0 → 100644
| 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> |
src/components/downLbTable/LbRender.vue
0 → 100644
| 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> |
src/components/downLbTable/forced.js
0 → 100644
| 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 | } |
src/components/downLbTable/index.vue
0 → 100644
| 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> |
src/components/downLbTable/redeme.md
0 → 100644
src/image/bdclogo.png
0 → 100644
20.9 KB
No preview for this file type
src/image/loginBoxsb.png
0 → 100644
296 KB
src/image/loginLogo.png
0 → 100644
256 KB
src/image/passlogo.png
0 → 100644
655 Bytes
src/image/userlogo.png
0 → 100644
612 Bytes
src/image/yzlogo.png
0 → 100644
621 Bytes
| ... | @@ -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> | ... | ... |
| ... | @@ -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 | /* | ||
| 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 | ... | ... |
src/styles/sbSidebar.scss
0 → 100644
| 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> | ... | ... |
src/views/loginsb/index.vue
0 → 100644
| 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> |
src/views/statistics/css/index.scss
0 → 100644
| 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 | ... | ... |
src/views/sthj/components/data/dbdata.js
0 → 100644
| 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 |
src/views/sthj/components/data/sbdata.js
0 → 100644
| 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 |
src/views/sthj/components/editDialog.vue
0 → 100644
| 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; | ... | ... |
| ... | @@ -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> |
| 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", | ... | ... |
src/views/system/roles/data/roles.js
deleted
100644 → 0
| 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> | ... | ... |
src/views/system/users/index.scss
0 → 100644
| ... | @@ -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') | ... | ... |
-
Please register or sign in to post a comment