style:打包文件配置
Showing
62 changed files
with
1172 additions
and
867 deletions
src/api/Rolemanagement.js
0 → 100644
| 1 | import request from "@/utils/request"; | ||
| 2 | import SERVER from "./config"; | ||
| 3 | import { getParams } from './util' | ||
| 4 | import { | ||
| 5 | api, | ||
| 6 | getAction, | ||
| 7 | postAction, | ||
| 8 | deleteAction, | ||
| 9 | putAction | ||
| 10 | } from './manageApi' | ||
| 11 | |||
| 12 | /** 角色管理开始 */ | ||
| 13 | // 获取角色列表 categoryId | ||
| 14 | export const getRolesById = categoryId => { | ||
| 15 | const conditionGroup = { | ||
| 16 | conditions: [ | ||
| 17 | { | ||
| 18 | property: 'category', | ||
| 19 | value:categoryId, | ||
| 20 | operator: 'EQ' | ||
| 21 | } | ||
| 22 | ], | ||
| 23 | queryRelation: 'AND' | ||
| 24 | } | ||
| 25 | const params = getParams(conditionGroup); | ||
| 26 | console.log(api.roles,params); | ||
| 27 | return getAction(api.roles, params) | ||
| 28 | } | ||
| 29 | // 人员列表 | ||
| 30 | export const getUserRoles = (id) => { | ||
| 31 | return getAction(`${api.userRoles}/${id}/users`) | ||
| 32 | } | ||
| 33 | // 更新人员 | ||
| 34 | export const updateUser = (id, data) => { | ||
| 35 | return putAction(`${api.userRoles}/${id}/users`, data) | ||
| 36 | } |
src/api/login.js
0 → 100644
| 1 | import request from "@/utils/request"; | ||
| 2 | import SERVER from "./config"; | ||
| 3 | |||
| 4 | export function loginIn(username, password) { | ||
| 5 | return request({ | ||
| 6 | url: `${SERVER.MANAGEMENTAPI}/login?username=${username}&password=${password}`, | ||
| 7 | method: "post", | ||
| 8 | }); | ||
| 9 | } | ||
| 10 | export function logout() { | ||
| 11 | return request({ | ||
| 12 | url: `${SERVER.MANAGEMENTAPI}/logout`, | ||
| 13 | method: "post", | ||
| 14 | }); | ||
| 15 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/api/manageApi.js
0 → 100644
| 1 | import request from '@/utils/request' | ||
| 2 | import SERVER from "./config"; | ||
| 3 | const workflow = '/workflow' | ||
| 4 | const log = '/log' | ||
| 5 | const crud = '/crud' | ||
| 6 | export const api = { | ||
| 7 | userInfo: SERVER.MANAGEMENTAPI + '/rest/user-info', // 登录用户信息 | ||
| 8 | permissionsUser: SERVER.MANAGEMENTAPI + '/rest/user-permissions', // 用户权限 | ||
| 9 | baseDataCategory: SERVER.MANAGEMENTAPI + '/rest/base-data-category', // 数据字典类别 | ||
| 10 | baseData: SERVER.MANAGEMENTAPI + '/rest/base-data', // 数据字典 | ||
| 11 | districts: SERVER.MANAGEMENTAPI + '/rest/districts', // 行政区划 | ||
| 12 | districtsAll: SERVER.MANAGEMENTAPI + '/rest/districts/parent-tree', // 条件查询所有行政区划 | ||
| 13 | organizations: SERVER.MANAGEMENTAPI + '/rest/organizations', // 组织机构 | ||
| 14 | departments: SERVER.MANAGEMENTAPI + '/rest/departments', // 部门 | ||
| 15 | users: SERVER.MANAGEMENTAPI + '/rest/users', // 人员用户 | ||
| 16 | roles: SERVER.MANAGEMENTAPI + '/rest/roles', // 角色 | ||
| 17 | userRoles: SERVER.MANAGEMENTAPI + '/rest/user-roles', // 角色对应人员关系 | ||
| 18 | productCategory: SERVER.MANAGEMENTAPI + '/rest/product-category', // 业务分类 | ||
| 19 | resourceCategory: SERVER.MANAGEMENTAPI + '/rest/resource-category', // 资源分类 | ||
| 20 | resources: SERVER.MANAGEMENTAPI + '/rest/resources', // 资源详情列表 | ||
| 21 | subsystem: SERVER.MANAGEMENTAPI + '/rest/products', // 子系统管理 | ||
| 22 | operations: SERVER.MANAGEMENTAPI + '/rest/operations', // 操作 | ||
| 23 | menus: SERVER.MANAGEMENTAPI + '/rest/menus', // 菜单 | ||
| 24 | organizationPermissions: SERVER.MANAGEMENTAPI + '/rest/organization-permissions', // 机构授权 | ||
| 25 | departmentPermissions: SERVER.MANAGEMENTAPI + '/rest/department-permissions', // 部门授权 | ||
| 26 | rolePermissions: SERVER.MANAGEMENTAPI + '/rest/role-permissions', // 角色授权 | ||
| 27 | peoPermissions: SERVER.MANAGEMENTAPI + '/rest/user-permissions', // 用户授权 | ||
| 28 | resourcePermissions: SERVER.MANAGEMENTAPI + '/rest/resource-permissions', // 资源授权查询 | ||
| 29 | menuPermissions: SERVER.MANAGEMENTAPI + '/rest/menu-permissions', // 菜单授权查询 | ||
| 30 | serviceCategory: SERVER.MANAGEMENTAPI + '/rest/service-category', // 服务分类 | ||
| 31 | service: SERVER.MANAGEMENTAPI + '/rest/service', // 服务详情列表 | ||
| 32 | databaseServer: workflow + '/rest/database-server', // 数据库服务器 | ||
| 33 | materialCategory: workflow + '/rest/material-category', // 材料分类 | ||
| 34 | material: workflow + '/rest/material', // 材料 | ||
| 35 | function: workflow + '/rest/function', // 功能属性 | ||
| 36 | eventCategory: workflow + '/rest/event-category', // 服务事件分类 | ||
| 37 | event: workflow + '/rest/event', // 服务事件 | ||
| 38 | formCategorys: workflow + '/rest/forms-category', // 表单分类 | ||
| 39 | forms: workflow + '/rest/forms', // 表单 | ||
| 40 | metadata: workflow + '/rest/metadata', // 元数据 | ||
| 41 | dataObjectCategory: workflow + '/rest/data-object-category', // 对象管理类别 | ||
| 42 | dataObject: workflow + '/rest/data-object', // 对象管理 | ||
| 43 | workflowBusiness: workflow + '/rest/businesses', // 业务流程 | ||
| 44 | // workflowModel: workflow+'/rest/workflow/model',//流程模型 | ||
| 45 | modelcategorys: workflow + '/rest/model-categories', // 模型分类 | ||
| 46 | models: workflow + '/rest/models', // 工作流模型表 | ||
| 47 | businessesModels: workflow + '/rest/businesses-models', // 业务流程关系 | ||
| 48 | pluginCategory: workflow + '/rest/plugin-category', // 流程插件分类管理 | ||
| 49 | plugin: workflow + '/rest/plugins', // 流程插件分类管理 | ||
| 50 | groups: workflow + '/rest/groups', // 用户组分类 | ||
| 51 | groupUsers: workflow + '/rest/group-users', // 用户组人员 | ||
| 52 | saveWorkflowGroupUser: workflow + '/rest/groups/sug', // 工作流设计器增加用户组 | ||
| 53 | validate: workflow + '/rest/models/validate', // 流程验证 | ||
| 54 | tokens: SERVER.MANAGEMENTAPI + '/rest/tokens', // token | ||
| 55 | session: '/rest/session', // session | ||
| 56 | pwdSetting: SERVER.MANAGEMENTAPI + '/rest/password-setting', // | ||
| 57 | singleSign: '/cas/rest/services', // 单点登录管理 | ||
| 58 | attachments: SERVER.MANAGEMENTAPI + '/rest/attachments', // 文件上传服务 | ||
| 59 | instances: workflow + '/rest/workflow/instances', // 实例 | ||
| 60 | workflowTask: workflow + '/rest/workflow-task', // 任务 | ||
| 61 | definitions: workflow + '/rest/workflow/definitions', // 流程实例 | ||
| 62 | systemAccessLogs: log + '/rest/system-access-logs', // 系统访问日志 | ||
| 63 | errorLogs: log + '/rest/common-log-statistics', // 错误日志 | ||
| 64 | appAccess: log + '/rest/system-access-logs/count-app-access', // 系统访问数 | ||
| 65 | userAccess: log + '/rest/system-access-logs/count-user-access', // 用户访问数 | ||
| 66 | statisticMenus: log + '/rest/system-access-logs/statistic-menus', // 统计菜单访问数 | ||
| 67 | statisticUsers: log + '/rest/system-access-logs/statistic-users', // 统计用户访问数 | ||
| 68 | abnormal: log + '/rest/abnormal', // 统计平台报警 | ||
| 69 | monitorConfig: log + '/rest/monitor-alert-config', // 监控预警配置 | ||
| 70 | statisticTimes: log + '/rest/system-access-logs/statistic-times', // 监控预警配置 | ||
| 71 | server: log + '/rest/server', // 服务器监控 | ||
| 72 | serverStatistics: log + '/rest/server-statistics', // 服务器监控信息统计 | ||
| 73 | avgTimes: log + '/rest/services-statistics/avg-times', // 根据时间查响应时间和访问次数 | ||
| 74 | statisticDepts: log + '/rest/system-access-logs/statistic-depts', // 访问部门统计 | ||
| 75 | crudHead: crud + '/rest/head', // crudhead | ||
| 76 | crudGet: crud + '/rest/get', // crudget | ||
| 77 | crudPost: crud + '/rest/post', // crudPost | ||
| 78 | crudPut: crud + '/rest/put', // crudPut | ||
| 79 | crudDel: crud + '/rest/delete', // crudDel | ||
| 80 | crudMetadata: crud + '/rest/metadata', //crudMetadata | ||
| 81 | crudBusiness : crud + '/rest/business', // crudBusiness | ||
| 82 | crudDatasources : crud + '/rest/datasources', // crudDatasources | ||
| 83 | } | ||
| 84 | // get公共方法 | ||
| 85 | export function getAction(url, params = {}) { | ||
| 86 | return request({ | ||
| 87 | url, | ||
| 88 | method: 'get', | ||
| 89 | params | ||
| 90 | }) | ||
| 91 | } | ||
| 92 | // post公共方法 | ||
| 93 | export function postAction(url, data = null) { | ||
| 94 | return request({ | ||
| 95 | url, | ||
| 96 | method: 'post', | ||
| 97 | data | ||
| 98 | }) | ||
| 99 | } | ||
| 100 | // method= {post | put} | ||
| 101 | export function httpAction(url, data, method) { | ||
| 102 | return request({ | ||
| 103 | url, | ||
| 104 | method, | ||
| 105 | data | ||
| 106 | }) | ||
| 107 | } | ||
| 108 | // put公共方法 | ||
| 109 | export function putAction(url, data = null) { | ||
| 110 | return request({ | ||
| 111 | url, | ||
| 112 | method: 'put', | ||
| 113 | data | ||
| 114 | }) | ||
| 115 | } | ||
| 116 | // delete | ||
| 117 | export function deleteAction(url, data = null) { | ||
| 118 | return request({ | ||
| 119 | url, | ||
| 120 | method: 'delete', | ||
| 121 | data | ||
| 122 | }) | ||
| 123 | } | ||
| 124 | |||
| 125 | // 批量删除 | ||
| 126 | export function deleteBranch(url, data) { | ||
| 127 | return request({ | ||
| 128 | url, | ||
| 129 | method: 'delete', | ||
| 130 | data | ||
| 131 | }) | ||
| 132 | } | ||
| 133 | |||
| 134 | |||
| 135 | |||
| 136 | |||
| 137 | |||
| 138 | |||
| 139 | |||
| 140 |
| ... | @@ -6,15 +6,19 @@ class sjsbTask { | ... | @@ -6,15 +6,19 @@ class sjsbTask { |
| 6 | // 定时任务查询接口 | 6 | // 定时任务查询接口 |
| 7 | async getTaskListByName (data) { | 7 | async getTaskListByName (data) { |
| 8 | return request({ | 8 | return request({ |
| 9 | url: SERVER.SERVERAPI + '/sjsbTask/getTaskListByName', | 9 | url: SERVER.SERVERAPI + '/rest/schedule/getScheduleList', |
| 10 | method: 'post', | 10 | method: 'get', |
| 11 | data | 11 | params: { |
| 12 | jobName: data.jobName, | ||
| 13 | pageNo: data.currentPage, | ||
| 14 | pageSize: data.pageSize | ||
| 15 | } | ||
| 12 | }) | 16 | }) |
| 13 | } | 17 | } |
| 14 | // 定时任务新增接口 | 18 | // 定时任务新增接口 |
| 15 | async sjsbTaskSave (data) { | 19 | async sjsbTaskSave (data) { |
| 16 | return request({ | 20 | return request({ |
| 17 | url: SERVER.SERVERAPI + '/sjsbTask/save', | 21 | url: SERVER.SERVERAPI + '/rest/schedule/add', |
| 18 | method: 'post', | 22 | method: 'post', |
| 19 | data | 23 | data |
| 20 | }) | 24 | }) |
| ... | @@ -22,7 +26,7 @@ class sjsbTask { | ... | @@ -22,7 +26,7 @@ class sjsbTask { |
| 22 | // 修改定时任务执行时间接口 | 26 | // 修改定时任务执行时间接口 |
| 23 | async updateCron (data) { | 27 | async updateCron (data) { |
| 24 | return request({ | 28 | return request({ |
| 25 | url: SERVER.SERVERAPI + '/sjsbTask/updateCron', | 29 | url: SERVER.SERVERAPI + '/rest/schedule/update', |
| 26 | method: 'post', | 30 | method: 'post', |
| 27 | data | 31 | data |
| 28 | }) | 32 | }) |
| ... | @@ -30,50 +34,30 @@ class sjsbTask { | ... | @@ -30,50 +34,30 @@ class sjsbTask { |
| 30 | // 定时任务删除接口 | 34 | // 定时任务删除接口 |
| 31 | async sjsbTaskRemove (id) { | 35 | async sjsbTaskRemove (id) { |
| 32 | return request({ | 36 | return request({ |
| 33 | url: SERVER.SERVERAPI + '/sjsbTask/remove', | 37 | url: SERVER.SERVERAPI + '/rest/schedule/delete', |
| 34 | method: 'get', | 38 | method: 'get', |
| 35 | params: { | 39 | params: { |
| 36 | id: id | 40 | jobId: id |
| 37 | } | ||
| 38 | }) | ||
| 39 | } | ||
| 40 | // 暂停任务接口 | ||
| 41 | async pauseJob (id) { | ||
| 42 | return request({ | ||
| 43 | url: SERVER.SERVERAPI + '/sjsbTask/pauseJob', | ||
| 44 | method: 'get', | ||
| 45 | params: { | ||
| 46 | id: id | ||
| 47 | } | 41 | } |
| 48 | }) | 42 | }) |
| 49 | } | 43 | } |
| 50 | // 恢复任务接口 | 44 | // 恢复任务接口 |
| 51 | async resumeJob (id) { | 45 | async recover (id) { |
| 52 | return request({ | 46 | return request({ |
| 53 | url: SERVER.SERVERAPI + '/sjsbTask/resumeJob', | 47 | url: SERVER.SERVERAPI + '/rest/schedule/recover', |
| 54 | method: 'get', | 48 | method: 'get', |
| 55 | params: { | 49 | params: { |
| 56 | id: id | 50 | jobId: id |
| 57 | } | 51 | } |
| 58 | }) | 52 | }) |
| 59 | } | 53 | } |
| 60 | // 激活任务接口 | 54 | // 激活任务接口 |
| 61 | async activateJob (id) { | 55 | async active (id) { |
| 62 | return request({ | ||
| 63 | url: SERVER.SERVERAPI + '/sjsbTask/activateJob', | ||
| 64 | method: 'get', | ||
| 65 | params: { | ||
| 66 | id: id | ||
| 67 | } | ||
| 68 | }) | ||
| 69 | } | ||
| 70 | // 手动测试 | ||
| 71 | async sjsbTaskRun (id) { | ||
| 72 | return request({ | 56 | return request({ |
| 73 | url: SERVER.SERVERAPI + '/sjsbTask/run', | 57 | url: SERVER.SERVERAPI + '/rest/schedule/active', |
| 74 | method: 'get', | 58 | method: 'get', |
| 75 | params: { | 59 | params: { |
| 76 | id: id | 60 | jobId: id |
| 77 | } | 61 | } |
| 78 | }) | 62 | }) |
| 79 | } | 63 | } | ... | ... |
src/api/util.js
0 → 100644
| ... | @@ -36,6 +36,16 @@ class work { | ... | @@ -36,6 +36,16 @@ class work { |
| 36 | } | 36 | } |
| 37 | }) | 37 | }) |
| 38 | } | 38 | } |
| 39 | // 数据趋势 | ||
| 40 | async dataTrend (code) { | ||
| 41 | return request({ | ||
| 42 | url: SERVER.SERVERAPI + '/rest/reg/work/dataTrend', | ||
| 43 | method: 'get', | ||
| 44 | params: { | ||
| 45 | code: code | ||
| 46 | } | ||
| 47 | }) | ||
| 48 | } | ||
| 39 | // 新建国有房屋信息 | 49 | // 新建国有房屋信息 |
| 40 | async addhousetotal (code) { | 50 | async addhousetotal (code) { |
| 41 | return request({ | 51 | return request({ | ... | ... |
| ... | @@ -3,69 +3,69 @@ | ... | @@ -3,69 +3,69 @@ |
| 3 | </template> | 3 | </template> |
| 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 "../map/hanzhong.js"; |
| 8 | 8 | ||
| 9 | export default { | 9 | export default { |
| 10 | name: 'echart', | 10 | name: "echart", |
| 11 | props: { | 11 | props: { |
| 12 | className: { | 12 | className: { |
| 13 | type: String, | 13 | type: String, |
| 14 | default: 'chart' | 14 | default: "chart", |
| 15 | }, | 15 | }, |
| 16 | id: { | 16 | id: { |
| 17 | type: String, | 17 | type: String, |
| 18 | default: 'chart' | 18 | default: "chart", |
| 19 | }, | 19 | }, |
| 20 | width: { | 20 | width: { |
| 21 | type: String, | 21 | type: String, |
| 22 | default: '100%' | 22 | default: "100%", |
| 23 | }, | 23 | }, |
| 24 | height: { | 24 | height: { |
| 25 | type: String, | 25 | type: String, |
| 26 | default: '2.5rem' | 26 | default: "2.5rem", |
| 27 | }, | 27 | }, |
| 28 | options: { | 28 | options: { |
| 29 | type: Object, | 29 | type: Object, |
| 30 | default: () => ({}) | 30 | default: () => ({}), |
| 31 | } | 31 | }, |
| 32 | }, | 32 | }, |
| 33 | data () { | 33 | data() { |
| 34 | return { | 34 | return { |
| 35 | chart: null | 35 | chart: null, |
| 36 | } | 36 | }; |
| 37 | }, | 37 | }, |
| 38 | watch: { | 38 | watch: { |
| 39 | options: { | 39 | options: { |
| 40 | handler (options) { | 40 | handler(options) { |
| 41 | // 设置true清空echart缓存 | 41 | // 设置true清空echart缓存 |
| 42 | this.chart.setOption(options, true) | 42 | this.chart.setOption(options, true); |
| 43 | window.addEventListener('resize',()=>{ | 43 | window.addEventListener("resize", () => { |
| 44 | this.chart.resize() | 44 | if (this.chart) { |
| 45 | }) | 45 | this.chart.resize(); |
| 46 | }, | ||
| 47 | deep: true | ||
| 48 | } | 46 | } |
| 47 | }); | ||
| 48 | }, | ||
| 49 | deep: true, | ||
| 50 | }, | ||
| 49 | }, | 51 | }, |
| 50 | mounted () { | 52 | mounted() { |
| 51 | this.$echarts.registerTheme('tdTheme', tdTheme); // 覆盖默认主题 | 53 | this.$echarts.registerTheme("tdTheme", tdTheme); // 覆盖默认主题 |
| 52 | this.initChart(); | 54 | this.initChart(); |
| 53 | }, | 55 | }, |
| 54 | beforeDestroy () { | 56 | beforeDestroy() { |
| 55 | this.chart.dispose() | 57 | this.chart.dispose(); |
| 56 | this.chart = null | 58 | this.chart = null; |
| 57 | }, | 59 | }, |
| 58 | methods: { | 60 | methods: { |
| 59 | initChart () { | 61 | initChart() { |
| 60 | // 初始化echart | 62 | // 初始化echart |
| 61 | this.chart = this.$echarts.init(this.$el, 'tdTheme') | 63 | this.chart = this.$echarts.init(this.$el, "tdTheme"); |
| 62 | function nowSize(val,initWidth=1920){ | 64 | function nowSize(val, initWidth = 1920) { |
| 63 | return val * (nowClientWidth/initWidth); | 65 | return val * (nowClientWidth / initWidth); |
| 64 | } | ||
| 65 | this.chart.setOption(this.options, true) | ||
| 66 | |||
| 67 | |||
| 68 | } | ||
| 69 | } | 66 | } |
| 70 | } | 67 | this.chart.setOption(this.options, true); |
| 68 | }, | ||
| 69 | }, | ||
| 70 | }; | ||
| 71 | </script> | 71 | </script> | ... | ... |
| ... | @@ -56,14 +56,15 @@ export default { | ... | @@ -56,14 +56,15 @@ export default { |
| 56 | 56 | ||
| 57 | <style lang="scss" scoped> | 57 | <style lang="scss" scoped> |
| 58 | .breadcrumb { | 58 | .breadcrumb { |
| 59 | width: 80%; | ||
| 59 | text-indent: 10px; | 60 | text-indent: 10px; |
| 60 | background: url("~@/image/breadcrumb.png") no-repeat; | 61 | background: url("~@/image/breadcrumb.png") no-repeat; |
| 61 | background-size: 100% 100%; | 62 | background-size: 100% 100%; |
| 62 | line-height: 32px; | 63 | line-height: 32px; |
| 63 | height: 32px; | 64 | height: 32px; |
| 64 | padding-left: 35px; | 65 | padding-left: 35px; |
| 65 | margin: 8px 0 8px 6px; | 66 | margin: 8px 0 10px 6px; |
| 66 | color: #02D9FD; | 67 | color: #CEF8FF; |
| 67 | } | 68 | } |
| 68 | 69 | ||
| 69 | /deep/.el-icon-arrow-right { | 70 | /deep/.el-icon-arrow-right { |
| ... | @@ -75,7 +76,7 @@ export default { | ... | @@ -75,7 +76,7 @@ export default { |
| 75 | } | 76 | } |
| 76 | 77 | ||
| 77 | /deep/.el-breadcrumb__inner { | 78 | /deep/.el-breadcrumb__inner { |
| 78 | color: #02D9FD !important; | 79 | color: #CEF8FF !important; |
| 79 | } | 80 | } |
| 80 | 81 | ||
| 81 | .breadcrumb1366 { | 82 | .breadcrumb1366 { | ... | ... |
| ... | @@ -49,10 +49,10 @@ export default { | ... | @@ -49,10 +49,10 @@ export default { |
| 49 | watch: { | 49 | watch: { |
| 50 | cdata: { | 50 | cdata: { |
| 51 | handler (newData) { | 51 | handler (newData) { |
| 52 | this.xAxisData = newData.echartData.map((v) => v.name); | 52 | this.xAxisData = newData.echartData.map((v) => v.yearMonth); |
| 53 | this.yAxisData1 = newData.echartData.map((v) => v.value1); | 53 | this.yAxisData1 = newData.echartData.map((v) => v.receive); |
| 54 | this.yAxisData2 = newData.echartData.map((v) => v.value2); | 54 | this.yAxisData2 = newData.echartData.map((v) => v.record); |
| 55 | this.yAxisData3 = newData.echartData.map((v) => v.value3); | 55 | this.yAxisData3 = newData.echartData.map((v) => v.report); |
| 56 | this.options = { | 56 | this.options = { |
| 57 | color: newData.color, | 57 | color: newData.color, |
| 58 | legend: { | 58 | legend: { | ... | ... |
| ... | @@ -4,83 +4,18 @@ | ... | @@ -4,83 +4,18 @@ |
| 4 | 4 | ||
| 5 | <script> | 5 | <script> |
| 6 | import Chart from './Chart' | 6 | import Chart from './Chart' |
| 7 | import work from "@/api/work"; | ||
| 7 | export default { | 8 | export default { |
| 8 | data () { | 9 | data () { |
| 9 | return { | 10 | return { |
| 10 | cdata: { | 11 | cdata: { |
| 11 | legendItem: ['接入', '上报', '登簿'], | 12 | legendItem: ['接入', '上报', '登簿'], |
| 12 | color: [ | 13 | color: [ |
| 13 | "#5324DA", | 14 | "#02D9FD", |
| 14 | "#E873B2", | 15 | "#FF7962", |
| 15 | "#F4AF6F " | 16 | "#F5C03D " |
| 16 | ], | 17 | ], |
| 17 | echartData: [{ | 18 | echartData: [] |
| 18 | name: "2017-11", | ||
| 19 | value1: 1351, | ||
| 20 | value2: 600, | ||
| 21 | value3: 568, | ||
| 22 | }, | ||
| 23 | { | ||
| 24 | name: "2017-11", | ||
| 25 | value1: 980, | ||
| 26 | value2: 1245, | ||
| 27 | value3: 1100, | ||
| 28 | }, | ||
| 29 | { | ||
| 30 | name: "2017-11", | ||
| 31 | value1: 1127, | ||
| 32 | value2: 398, | ||
| 33 | value3: 568, | ||
| 34 | }, | ||
| 35 | { | ||
| 36 | name: "2017-11", | ||
| 37 | value1: 1046, | ||
| 38 | value2: 689, | ||
| 39 | value3: 479 | ||
| 40 | }, | ||
| 41 | { | ||
| 42 | name: "2018-02", | ||
| 43 | value1: 780, | ||
| 44 | value2: 396, | ||
| 45 | value3: 655 | ||
| 46 | }, | ||
| 47 | { | ||
| 48 | name: "2018-08", | ||
| 49 | value1: 359, | ||
| 50 | value2: 1220, | ||
| 51 | value3: 540, | ||
| 52 | }, | ||
| 53 | { | ||
| 54 | name: "2018-07", | ||
| 55 | value1: 229, | ||
| 56 | value2: 836, | ||
| 57 | value3: 1234, | ||
| 58 | }, | ||
| 59 | { | ||
| 60 | name: "2018-09", | ||
| 61 | value1: 1176, | ||
| 62 | value2: 478, | ||
| 63 | value3: 755, | ||
| 64 | }, | ||
| 65 | { | ||
| 66 | name: "2018-11", | ||
| 67 | value1: 515, | ||
| 68 | value2: 911, | ||
| 69 | value3: 806, | ||
| 70 | }, | ||
| 71 | { | ||
| 72 | name: "2019-01", | ||
| 73 | value1: 658, | ||
| 74 | value2: 979, | ||
| 75 | value3: 813, | ||
| 76 | }, | ||
| 77 | { | ||
| 78 | name: "2019-03", | ||
| 79 | value1: 364, | ||
| 80 | value2: 839, | ||
| 81 | value3: 886, | ||
| 82 | }, | ||
| 83 | ] | ||
| 84 | } | 19 | } |
| 85 | } | 20 | } |
| 86 | }, | 21 | }, |
| ... | @@ -88,84 +23,23 @@ export default { | ... | @@ -88,84 +23,23 @@ export default { |
| 88 | Chart | 23 | Chart |
| 89 | }, | 24 | }, |
| 90 | mounted() { | 25 | mounted() { |
| 26 | |||
| 91 | window.addEventListener("resize", () => { | 27 | window.addEventListener("resize", () => { |
| 92 | this.cdata=[], | 28 | this.dataTrend() |
| 93 | this.cdata= { | ||
| 94 | legendItem: ['接入', '上报', '登簿'], | ||
| 95 | color: [ | ||
| 96 | "#5324DA", | ||
| 97 | "#E873B2", | ||
| 98 | "#F4AF6F " | ||
| 99 | ], | ||
| 100 | echartData: [{ | ||
| 101 | name: "2017-11", | ||
| 102 | value1: 1351, | ||
| 103 | value2: 600, | ||
| 104 | value3: 568, | ||
| 105 | }, | ||
| 106 | { | ||
| 107 | name: "2017-11", | ||
| 108 | value1: 980, | ||
| 109 | value2: 1245, | ||
| 110 | value3: 1100, | ||
| 111 | }, | ||
| 112 | { | ||
| 113 | name: "2017-11", | ||
| 114 | value1: 1127, | ||
| 115 | value2: 398, | ||
| 116 | value3: 568, | ||
| 117 | }, | ||
| 118 | { | ||
| 119 | name: "2017-11", | ||
| 120 | value1: 1046, | ||
| 121 | value2: 689, | ||
| 122 | value3: 479 | ||
| 123 | }, | ||
| 124 | { | ||
| 125 | name: "2018-02", | ||
| 126 | value1: 780, | ||
| 127 | value2: 396, | ||
| 128 | value3: 655 | ||
| 129 | }, | ||
| 130 | { | ||
| 131 | name: "2018-08", | ||
| 132 | value1: 359, | ||
| 133 | value2: 1220, | ||
| 134 | value3: 540, | ||
| 135 | }, | ||
| 136 | { | ||
| 137 | name: "2018-07", | ||
| 138 | value1: 229, | ||
| 139 | value2: 836, | ||
| 140 | value3: 1234, | ||
| 141 | }, | ||
| 142 | { | ||
| 143 | name: "2018-09", | ||
| 144 | value1: 1176, | ||
| 145 | value2: 478, | ||
| 146 | value3: 755, | ||
| 147 | }, | ||
| 148 | { | ||
| 149 | name: "2018-11", | ||
| 150 | value1: 515, | ||
| 151 | value2: 911, | ||
| 152 | value3: 806, | ||
| 153 | }, | ||
| 154 | { | ||
| 155 | name: "2019-01", | ||
| 156 | value1: 658, | ||
| 157 | value2: 979, | ||
| 158 | value3: 813, | ||
| 159 | }, | ||
| 160 | { | ||
| 161 | name: "2019-03", | ||
| 162 | value1: 364, | ||
| 163 | value2: 839, | ||
| 164 | value3: 886, | ||
| 165 | }, | ||
| 166 | ] | ||
| 167 | } | ||
| 168 | }); | 29 | }); |
| 30 | this.dataTrend() | ||
| 31 | }, | ||
| 32 | methods: { | ||
| 33 | async dataTrend() { | ||
| 34 | try { | ||
| 35 | let { result: res } = await work.dataTrend(); | ||
| 36 | this.cdata.echartData = []; | ||
| 37 | this.cdata.echartData=res, | ||
| 38 | this.cdata.echartData.reverse() | ||
| 39 | } catch (error) { | ||
| 40 | console.log(error); | ||
| 41 | } | ||
| 42 | }, | ||
| 169 | }, | 43 | }, |
| 170 | } | 44 | } |
| 171 | </script> | 45 | </script> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <!-- 柱状图 --> | 2 | <!--上报统计柱状图 --> |
| 3 | <Echart :options="options" id="bottomLeftChart" height="100%" width="100%"></Echart> | 3 | <Echart |
| 4 | :options="options" | ||
| 5 | id="bottomLeftChart" | ||
| 6 | height="100%" | ||
| 7 | width="100%" | ||
| 8 | ></Echart> | ||
| 4 | </template> | 9 | </template> |
| 5 | 10 | ||
| 6 | <script> | 11 | <script> |
| 7 | import Echart from "@/common/echart"; | 12 | import Echart from "@/common/echart"; |
| 8 | export default { | 13 | export default { |
| 9 | data () { | 14 | data() { |
| 10 | return { | 15 | return { |
| 11 | options: {}, | 16 | options: {}, |
| 12 | }; | 17 | }; |
| ... | @@ -22,16 +27,13 @@ export default { | ... | @@ -22,16 +27,13 @@ export default { |
| 22 | }, | 27 | }, |
| 23 | watch: { | 28 | watch: { |
| 24 | cdata: { | 29 | cdata: { |
| 25 | handler (newData) { | 30 | handler(newData) { |
| 26 | this.options = { | 31 | this.options = { |
| 27 | legend: { | 32 | tooltip: { |
| 28 | data: ["成功", "失败"], | 33 | trigger: "axis", |
| 29 | icon: "circle", | 34 | axisPointer: { |
| 30 | textStyle: { | 35 | type: "shadow", |
| 31 | color: "#B4B4B4", | ||
| 32 | }, | 36 | }, |
| 33 | top: "10%", | ||
| 34 | right: "5%", | ||
| 35 | }, | 37 | }, |
| 36 | grid: { | 38 | grid: { |
| 37 | left: "5%", | 39 | left: "5%", |
| ... | @@ -72,23 +74,45 @@ export default { | ... | @@ -72,23 +74,45 @@ export default { |
| 72 | name: "成功", | 74 | name: "成功", |
| 73 | type: "bar", | 75 | type: "bar", |
| 74 | stack: "总量", | 76 | stack: "总量", |
| 75 | barWidth: 10, | 77 | barWidth: 18, |
| 78 | label: { | ||
| 79 | show: true, | ||
| 80 | formatter: function (params) { | ||
| 81 | if (params.value > 0) { | ||
| 82 | return params.value; | ||
| 83 | } else { | ||
| 84 | return ''; | ||
| 85 | } | ||
| 86 | } | ||
| 87 | }, | ||
| 76 | itemStyle: { | 88 | itemStyle: { |
| 77 | normal: { | 89 | normal: { |
| 78 | // 这里设置圆角 | 90 | color: "#5fba7d", |
| 79 | color: "#16F4D2", | 91 | }, |
| 80 | } | ||
| 81 | }, | 92 | }, |
| 82 | data: newData.barData, | 93 | data: newData.barData, |
| 94 | |||
| 83 | }, | 95 | }, |
| 84 | { | 96 | { |
| 85 | name: "失败", | 97 | name: "失败", |
| 86 | type: "bar", | 98 | type: "bar", |
| 87 | stack: "总量", | 99 | stack: "总量", |
| 100 | label: { | ||
| 101 | show: true, | ||
| 102 | formatter: function (params) { | ||
| 103 | if (params.value > 0) { | ||
| 104 | return params.value; | ||
| 105 | } else { | ||
| 106 | return ''; | ||
| 107 | } | ||
| 108 | } | ||
| 109 | |||
| 110 | |||
| 111 | }, | ||
| 88 | itemStyle: { | 112 | itemStyle: { |
| 89 | normal: { | 113 | normal: { |
| 90 | // 这里设置圆角 | 114 | // 这里设置圆角 |
| 91 | color: "#C99E68" | 115 | color: "#c97168", |
| 92 | }, | 116 | }, |
| 93 | }, | 117 | }, |
| 94 | data: newData.lineData, | 118 | data: newData.lineData, | ... | ... |
| 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 | ||
| ... | @@ -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: "12%", | 30 | left: "10%", |
| 31 | right: "5%", | 31 | right: "5%", |
| 32 | bottom: "16%", | 32 | bottom: "16%", |
| 33 | }, | 33 | }, | ... | ... |
| ... | @@ -175,7 +175,7 @@ export default { | ... | @@ -175,7 +175,7 @@ export default { |
| 175 | clearInterval(this.intervalId); | 175 | clearInterval(this.intervalId); |
| 176 | } | 176 | } |
| 177 | this.intervalId = setInterval(() => { | 177 | this.intervalId = setInterval(() => { |
| 178 | _self.reSelectMapRandomArea(); | 178 | this.$refs.centreLeft2ChartRef && _self.reSelectMapRandomArea(); |
| 179 | }, time); | 179 | }, time); |
| 180 | }, | 180 | }, |
| 181 | // 重新随机选中地图区域 | 181 | // 重新随机选中地图区域 | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <Echart :options="options" id="centreLeft1Chart" :key="key" height="1.0417rem" width="80%"></Echart> | 2 | <Echart |
| 3 | :options="options" | ||
| 4 | id="centreLeft1Chart" | ||
| 5 | :key="key" | ||
| 6 | height="1.0417rem" | ||
| 7 | width="80%" | ||
| 8 | ></Echart> | ||
| 3 | </template> | 9 | </template> |
| 4 | <script> | 10 | <script> |
| 5 | import Echart from '@/common/echart' | 11 | import Echart from "@/common/echart"; |
| 6 | export default { | 12 | export default { |
| 7 | components: { | 13 | components: { |
| 8 | Echart, | 14 | Echart, |
| 9 | }, | 15 | }, |
| 10 | data() { | 16 | data() { |
| 11 | return { | 17 | return { |
| 12 | key:0 | 18 | key: 0, |
| 13 | } | 19 | }; |
| 14 | }, | 20 | }, |
| 15 | props: { | 21 | props: { |
| 16 | cdata: { | 22 | cdata: { |
| 17 | type: Object, | 23 | type: Object, |
| 18 | default: () => ({}) | 24 | default: () => ({}), |
| 19 | }, | 25 | }, |
| 20 | }, | 26 | }, |
| 21 | watch: { | 27 | watch: { |
| 22 | cdata: { | 28 | cdata: { |
| 23 | handler (newData) { | 29 | handler(newData) { |
| 24 | console.log("newData",newData); | 30 | |
| 25 | this.options = { | 31 | this.options = { |
| 26 | grid: { | ||
| 27 | right:"1%", | ||
| 28 | bottom:"4%" | ||
| 29 | }, | ||
| 30 | color: [ | 32 | color: [ |
| 31 | "#37a2da", | 33 | "#37a2da", |
| 32 | "#32c5e9", | 34 | "#32c5e9", |
| 33 | "#9fe6b8", | 35 | "#9fe6b8", |
| 34 | "#ffdb5c", | 36 | "#ffdb5c", |
| 35 | "#ff9f7f", | 37 | "#ff9f7f", |
| 38 | "#8378ea", | ||
| 36 | "#fb7293", | 39 | "#fb7293", |
| 37 | "#e7bcf3", | 40 | "#e7bcf3", |
| 38 | "#8378ea" | 41 | |
| 39 | ], | 42 | ], |
| 40 | tooltip: { | ||
| 41 | trigger: "item", | ||
| 42 | formatter: "{a} <br/>{b} : {c} ({d}%)" | ||
| 43 | }, | ||
| 44 | toolbox: { | ||
| 45 | show: true | ||
| 46 | }, | ||
| 47 | calculable: true, | ||
| 48 | series: [ | 43 | series: [ |
| 49 | { | 44 | { |
| 50 | name: "业务量", | 45 | name: "Access From", |
| 51 | type: "pie", | 46 | type: "pie", |
| 52 | radius: [20,100], | 47 | radius: ["54%", "70%"], |
| 53 | roseType: "area", | 48 | avoidLabelOverlap: true, |
| 54 | data: newData.seriesData | 49 | label: { |
| 50 | formatter: (params) => { | ||
| 51 | // console.log(params) | ||
| 52 | return `${params.name}(${params.value}`; | ||
| 53 | }, | ||
| 54 | }, | ||
| 55 | labelLine: { | ||
| 56 | lineStyle: { | ||
| 57 | width: 3, | ||
| 58 | }, | ||
| 59 | }, | ||
| 60 | data: newData.seriesData, | ||
| 55 | } | 61 | } |
| 56 | ], | 62 | ], |
| 57 | 63 | }; | |
| 58 | } | 64 | this.key++; |
| 59 | this.key++ | ||
| 60 | }, | 65 | }, |
| 61 | immediate: true, | 66 | immediate: true, |
| 62 | deep: true | 67 | deep: true, |
| 63 | } | 68 | }, |
| 64 | } | 69 | }, |
| 65 | }; | 70 | }; |
| 66 | </script> | 71 | </script> |
| 67 | 72 | ||
| 68 | <style lang="scss" scoped> | 73 | <style lang="scss" scoped> |
| 69 | #centreLeft1Chart { | 74 | #centreLeft1Chart { |
| 70 | margin-bottom: .0521rem; | 75 | margin-bottom: 0.0521rem; |
| 71 | margin-left:60px; | 76 | margin-left: .3125rem; |
| 72 | } | 77 | } |
| 73 | </style> | 78 | </style> | ... | ... |
| ... | @@ -8,7 +8,7 @@ | ... | @@ -8,7 +8,7 @@ |
| 8 | import Chart from "./Chart"; | 8 | import Chart from "./Chart"; |
| 9 | import work from "@/api/work"; | 9 | import work from "@/api/work"; |
| 10 | export default { | 10 | export default { |
| 11 | data () { | 11 | data() { |
| 12 | return { | 12 | return { |
| 13 | cdata: { | 13 | cdata: { |
| 14 | seriesData: [], | 14 | seriesData: [], |
| ... | @@ -18,40 +18,44 @@ export default { | ... | @@ -18,40 +18,44 @@ export default { |
| 18 | components: { | 18 | components: { |
| 19 | Chart, | 19 | Chart, |
| 20 | }, | 20 | }, |
| 21 | mounted () { | 21 | mounted() { |
| 22 | this.getdjywltotal(); | 22 | this.getdjywltotal(); |
| 23 | window.addEventListener("resize", () => { | 23 | window.addEventListener("resize", () => { |
| 24 | this.cdata.seriesData = []; | ||
| 24 | this.getdjywltotal(); | 25 | this.getdjywltotal(); |
| 25 | }); | 26 | }); |
| 26 | }, | 27 | }, |
| 27 | methods: { | 28 | methods: { |
| 28 | // 获取登记业务量玫瑰图数据 | 29 | // 获取登记业务量玫瑰图数据 |
| 29 | async getdjywltotal () { | 30 | async getdjywltotal() { |
| 30 | this.cdata.seriesData=[] | 31 | if (this.cdata.seriesData.length == 0) { |
| 31 | try { | 32 | try { |
| 32 | let p = { | 33 | let p = { |
| 33 | DJLX: "", | 34 | DJLX: "", |
| 34 | QLLX: "", | 35 | QLLX: "", |
| 35 | XZQDM: "", | 36 | XZQDM: "", |
| 36 | }; | 37 | }; |
| 38 | this.cdata.seriesData = []; | ||
| 37 | let res = await work.getdjywltotal(p); | 39 | let res = await work.getdjywltotal(p); |
| 38 | // 遍历修改数组键,作为echars图表的参数 | 40 | if(this.cdata.seriesData.length == 0){ |
| 39 | res.result.map((item) => { | 41 | res.result.map((item) => { |
| 40 | return ( | 42 | return this.cdata.seriesData.push({ |
| 41 | this.cdata.seriesData.push({ "name": item.AREACODE, "value": item.ywtotal }) | 43 | name: item.AREACODE, |
| 44 | value: item.ywtotal, | ||
| 45 | }); | ||
| 42 | 46 | ||
| 43 | ) | ||
| 44 | }); | 47 | }); |
| 45 | } catch (error) { | ||
| 46 | console.log(error); | ||
| 47 | } | 48 | } |
| 49 | // 遍历修改数组键,作为echars图表的参数 | ||
| 48 | 50 | ||
| 49 | 51 | ||
| 52 | } catch (error) { | ||
| 53 | console.log(error); | ||
| 54 | } | ||
| 55 | } | ||
| 50 | }, | 56 | }, |
| 51 | }, | 57 | }, |
| 52 | }; | 58 | }; |
| 53 | </script> | 59 | </script> |
| 54 | 60 | ||
| 55 | <style lang="scss" scoped> | 61 | <style lang="scss" scoped></style> |
| 56 | |||
| 57 | </style> | ... | ... |
| ... | @@ -64,7 +64,6 @@ export default { | ... | @@ -64,7 +64,6 @@ export default { |
| 64 | this.visible = show | 64 | this.visible = show |
| 65 | }, | 65 | }, |
| 66 | handleClick(tab, event) { | 66 | handleClick(tab, event) { |
| 67 | console.log(tab, event) | ||
| 68 | }, | 67 | }, |
| 69 | changeData(iconName) { | 68 | changeData(iconName) { |
| 70 | this.visible = false | 69 | this.visible = false | ... | ... |
| ... | @@ -18,10 +18,8 @@ export default { | ... | @@ -18,10 +18,8 @@ export default { |
| 18 | }, | 18 | }, |
| 19 | methods: { | 19 | methods: { |
| 20 | onJsonChange (value) { | 20 | onJsonChange (value) { |
| 21 | console.log('value:', value); | ||
| 22 | }, | 21 | }, |
| 23 | onJsonSave (value) { | 22 | onJsonSave (value) { |
| 24 | console.log('value:', value); | ||
| 25 | } | 23 | } |
| 26 | } | 24 | } |
| 27 | } | 25 | } | ... | ... |
| ... | @@ -69,7 +69,6 @@ export default { | ... | @@ -69,7 +69,6 @@ export default { |
| 69 | }, | 69 | }, |
| 70 | onJsonSave () { | 70 | onJsonSave () { |
| 71 | const value = this.resultInfo | 71 | const value = this.resultInfo |
| 72 | console.log(this.resultInfo, 'resultInfo') | ||
| 73 | if (this.hasJsonFlag === false) { | 72 | if (this.hasJsonFlag === false) { |
| 74 | this.$message.error({ message: 'json格式验证失败', showClose: true }) | 73 | this.$message.error({ message: 'json格式验证失败', showClose: true }) |
| 75 | // alert("json验证失败") | 74 | // alert("json验证失败") |
| ... | @@ -87,7 +86,6 @@ export default { | ... | @@ -87,7 +86,6 @@ export default { |
| 87 | this.dialogVisible = true | 86 | this.dialogVisible = true |
| 88 | }, | 87 | }, |
| 89 | cancel () { | 88 | cancel () { |
| 90 | console.log(this.tmpResultInfo, 'tmpResultInfo') | ||
| 91 | this.resultInfo = this.tmpResultInfo | 89 | this.resultInfo = this.tmpResultInfo |
| 92 | this.dialogVisible = false | 90 | this.dialogVisible = false |
| 93 | }, | 91 | }, | ... | ... |
| ... | @@ -129,7 +129,6 @@ export default { | ... | @@ -129,7 +129,6 @@ export default { |
| 129 | if (!this.heightNumSetting) { | 129 | if (!this.heightNumSetting) { |
| 130 | let _this = this | 130 | let _this = this |
| 131 | if (this.heightNum) { | 131 | if (this.heightNum) { |
| 132 | console.log("this.heightNum``",this.heightNum); | ||
| 133 | _this.$nextTick(() => { | 132 | _this.$nextTick(() => { |
| 134 | 133 | ||
| 135 | window.addEventListener('resize', () => { | 134 | window.addEventListener('resize', () => { | ... | ... |
| ... | @@ -32,8 +32,6 @@ export default { | ... | @@ -32,8 +32,6 @@ export default { |
| 32 | if (typeof val !== 'string') return | 32 | if (typeof val !== 'string') return |
| 33 | const themeCluster = this.getThemeCluster(val.replace('#', '')) | 33 | const themeCluster = this.getThemeCluster(val.replace('#', '')) |
| 34 | const originalCluster = this.getThemeCluster(oldVal.replace('#', '')) | 34 | const originalCluster = this.getThemeCluster(oldVal.replace('#', '')) |
| 35 | console.log(themeCluster, originalCluster) | ||
| 36 | |||
| 37 | const $message = this.$message({ | 35 | const $message = this.$message({ |
| 38 | message: ' Compiling the theme', | 36 | message: ' Compiling the theme', |
| 39 | customClass: 'theme-message', | 37 | customClass: 'theme-message', | ... | ... |
src/image/loginBg.jpg
0 → 100644
78.8 KB
src/image/loginBoxBg.png
0 → 100644
6.84 KB
| 1 | <template> | 1 | <template> |
| 2 | <div class="navbar-con"> | 2 | <div class="navbar-con"> |
| 3 | <div class="navbar"> | 3 | <div class="navbar"> |
| 4 | <div class="title">{{ dicData['sysCode'] && dicData['sysCode'][0].DNAME }}</div> | 4 | <div class="title"> |
| 5 | <div class="user">欢迎进入系统 {{ name }} <svg-icon icon-class='close' class="closeStyle" @click="onCancel" />退出系统</div> | 5 | {{ dicData["sysCode"] && dicData["sysCode"][0].DNAME }} |
| 6 | </div> | ||
| 7 | <div class="user"> | ||
| 8 | 欢迎进入系统 {{ userInfo.name }} | ||
| 9 | <span @click="onCancel"> | ||
| 10 | <svg-icon icon-class="close" class="closeStyle" />退出系统</span | ||
| 11 | > | ||
| 12 | </div> | ||
| 6 | <div class="sidebarLeft"> | 13 | <div class="sidebarLeft"> |
| 7 | <sidebarLeft /> | 14 | <sidebarLeft /> |
| 8 | </div> | 15 | </div> |
| ... | @@ -13,22 +20,37 @@ | ... | @@ -13,22 +20,37 @@ |
| 13 | </div> | 20 | </div> |
| 14 | </template> | 21 | </template> |
| 15 | <script> | 22 | <script> |
| 16 | import sidebarLeft from './Sidebar/sidebarLeft' | 23 | import sidebarLeft from "./Sidebar/sidebarLeft"; |
| 17 | import sidebarRight from './Sidebar/sidebarRight' | 24 | import sidebarRight from "./Sidebar/sidebarRight"; |
| 18 | import { mapGetters } from 'vuex' | 25 | import { logout } from "@/api/login.js"; |
| 26 | import { mapGetters } from "vuex"; | ||
| 19 | export default { | 27 | export default { |
| 20 | components: { | 28 | components: { |
| 21 | sidebarLeft, | 29 | sidebarLeft, |
| 22 | sidebarRight | 30 | sidebarRight, |
| 23 | }, | 31 | }, |
| 24 | computed: { | 32 | computed: { |
| 25 | ...mapGetters(['sidebar', 'dicData', 'name']) | 33 | ...mapGetters(["sidebar", "dicData", "userInfo"]), |
| 26 | }, | 34 | }, |
| 27 | methods: { | 35 | methods: { |
| 28 | onCancel () { | 36 | onCancel() { |
| 29 | } | 37 | logout() |
| 30 | } | 38 | .then((res) => { |
| 31 | } | 39 | sessionStorage.removeItem("token"); |
| 40 | this.$store.dispatch("user/resetState"); | ||
| 41 | this.$router.replace({ | ||
| 42 | path: "/login", | ||
| 43 | query: { | ||
| 44 | redirect: this.$route.fullPath, | ||
| 45 | }, | ||
| 46 | }); | ||
| 47 | }) | ||
| 48 | .catch((error) => { | ||
| 49 | // console.dir(error); | ||
| 50 | }); | ||
| 51 | }, | ||
| 52 | }, | ||
| 53 | }; | ||
| 32 | </script> | 54 | </script> |
| 33 | <style lang="scss" scoped> | 55 | <style lang="scss" scoped> |
| 34 | /deep/.el-menu--horizontal { | 56 | /deep/.el-menu--horizontal { |
| ... | @@ -40,9 +62,9 @@ export default { | ... | @@ -40,9 +62,9 @@ export default { |
| 40 | height: 34px; | 62 | height: 34px; |
| 41 | width: 130px; | 63 | width: 130px; |
| 42 | text-align: center; | 64 | text-align: center; |
| 43 | color: #FFFFFF; | 65 | color: #ffffff; |
| 44 | margin-right: 20px; | 66 | margin-right: 20px; |
| 45 | background: url('~@/image/navbar.png') no-repeat; | 67 | background: url("~@/image/navbar.png") no-repeat; |
| 46 | background-size: 100% 100%; | 68 | background-size: 100% 100%; |
| 47 | } | 69 | } |
| 48 | 70 | ||
| ... | @@ -56,7 +78,7 @@ export default { | ... | @@ -56,7 +78,7 @@ export default { |
| 56 | 78 | ||
| 57 | /deep/.el-submenu__title { | 79 | /deep/.el-submenu__title { |
| 58 | height: 34px; | 80 | height: 34px; |
| 59 | color: #FFFFFF; | 81 | color: #ffffff; |
| 60 | } | 82 | } |
| 61 | 83 | ||
| 62 | /deep/.el-submenu__title span { | 84 | /deep/.el-submenu__title span { |
| ... | @@ -88,9 +110,9 @@ export default { | ... | @@ -88,9 +110,9 @@ export default { |
| 88 | 110 | ||
| 89 | // 导航选中背景色 | 111 | // 导航选中背景色 |
| 90 | .xuanzhong { | 112 | .xuanzhong { |
| 91 | background: url('~@/image/selNavbar.png') no-repeat; | 113 | background: url("~@/image/selNavbar.png") no-repeat; |
| 92 | background-size: 100% 100%; | 114 | background-size: 100% 100%; |
| 93 | color: #FFFFFF !important; | 115 | color: #ffffff !important; |
| 94 | font-weight: 700; | 116 | font-weight: 700; |
| 95 | } | 117 | } |
| 96 | 118 | ||
| ... | @@ -110,7 +132,6 @@ export default { | ... | @@ -110,7 +132,6 @@ export default { |
| 110 | @extend .xuanzhong; | 132 | @extend .xuanzhong; |
| 111 | } | 133 | } |
| 112 | 134 | ||
| 113 | |||
| 114 | .navbar { | 135 | .navbar { |
| 115 | height: $headerHeight; | 136 | height: $headerHeight; |
| 116 | overflow: hidden; | 137 | overflow: hidden; |
| ... | @@ -119,12 +140,12 @@ export default { | ... | @@ -119,12 +140,12 @@ export default { |
| 119 | align-items: center; | 140 | align-items: center; |
| 120 | padding: 0 20px; | 141 | padding: 0 20px; |
| 121 | justify-content: space-between; | 142 | justify-content: space-between; |
| 122 | background: url('~@/image/header.png') no-repeat; | 143 | background: url("~@/image/header.png") no-repeat; |
| 123 | background-size: 100% 100%; | 144 | background-size: 100% 100%; |
| 124 | 145 | ||
| 125 | .user { | 146 | .user { |
| 126 | font-size: 12px; | 147 | font-size: 12px; |
| 127 | color: #FFFFFF; | 148 | color: #ffffff; |
| 128 | position: absolute; | 149 | position: absolute; |
| 129 | right: 20px; | 150 | right: 20px; |
| 130 | top: 0; | 151 | top: 0; |
| ... | @@ -143,10 +164,9 @@ export default { | ... | @@ -143,10 +164,9 @@ export default { |
| 143 | right: 0; | 164 | right: 0; |
| 144 | margin: 0 auto; | 165 | margin: 0 auto; |
| 145 | font-size: 32px; | 166 | font-size: 32px; |
| 146 | color: #FFFFFF; | 167 | color: #ffffff; |
| 147 | font-weight: 700; | 168 | font-weight: 700; |
| 148 | text-align: center; | 169 | text-align: center; |
| 149 | |||
| 150 | } | 170 | } |
| 151 | 171 | ||
| 152 | .right-menu { | 172 | .right-menu { | ... | ... |
| 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(1, 4)" :key="route.path" :item="route" | 4 | <sidebar-item v-for="route in permission_routes.slice(2, 5)" :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" /> --> | ... | ... |
| 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(4, 7)" :key="route.path" :item="route" | 4 | <sidebar-item v-for="route in permission_routes.slice(5, 8)" :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" /> --> | ... | ... |
| ... | @@ -46,7 +46,6 @@ export default { | ... | @@ -46,7 +46,6 @@ export default { |
| 46 | } | 46 | } |
| 47 | 47 | ||
| 48 | this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false) | 48 | this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false) |
| 49 | console.log(this.levelList) | ||
| 50 | }, | 49 | }, |
| 51 | isDashboard (route) { | 50 | isDashboard (route) { |
| 52 | const name = route && route.name | 51 | const name = route && route.name | ... | ... |
| 1 | import router from './router' | 1 | import router from "./router"; |
| 2 | import store from './store' | 2 | import store from "./store"; |
| 3 | import { getMenuInfo } from '@/api/user' | 3 | import { getMenuInfo } from "@/api/user"; |
| 4 | import NProgress from 'nprogress' // progress bar | 4 | import NProgress from "nprogress"; // progress bar |
| 5 | import 'nprogress/nprogress.css' // progress bar style | 5 | import "nprogress/nprogress.css"; // progress bar style |
| 6 | import getPageTitle from '@/utils/get-page-title' | 6 | import getPageTitle from "@/utils/get-page-title"; |
| 7 | import Cookies from 'js-cookie' | 7 | import Cookies from "js-cookie"; |
| 8 | NProgress.configure({ showSpinner: false }) // NProgress Configuration | 8 | NProgress.configure({ showSpinner: false }); // NProgress Configuration |
| 9 | 9 | ||
| 10 | router.beforeEach(async (to, from, next) => { | 10 | router.beforeEach(async (to, from, next) => { |
| 11 | NProgress.start() | 11 | NProgress.start(); |
| 12 | document.title = getPageTitle(to.meta.title) | 12 | document.title = getPageTitle(to.meta.title); |
| 13 | let hasAddDict = store.state.dict.addDict | 13 | let hasAddDict = store.state.dict.addDict; |
| 14 | let hasAddRoute = store.state.permission.addRoutes | 14 | let hasUser = store.state.user.hasUser; |
| 15 | let hasAddRoute = store.state.permission.addRoutes; | ||
| 16 | if (to.path == "/login") { | ||
| 17 | sessionStorage.removeItem("token"); | ||
| 18 | next(); | ||
| 19 | } else { | ||
| 20 | //判断token是否存在 | ||
| 21 | const hasToken = sessionStorage.getItem("token"); | ||
| 22 | if (hasToken) { | ||
| 23 | //请求用户信息 | ||
| 24 | if (!hasUser) { | ||
| 25 | store.dispatch("user/getUserInfo"); | ||
| 26 | } | ||
| 27 | //加载字典 | ||
| 15 | if (!hasAddDict) { | 28 | if (!hasAddDict) { |
| 16 | store.dispatch('dict/generateDic') | 29 | store.dispatch("dict/generateDic"); |
| 17 | } | 30 | } |
| 18 | if (hasAddRoute) { | 31 | if (hasAddRoute) { |
| 19 | next() | 32 | next(); |
| 33 | } else { | ||
| 34 | //请求菜单 | ||
| 35 | const { result: getMenuData } = (await getMenuInfo()) || []; | ||
| 36 | const accessRoutes = await store.dispatch( | ||
| 37 | "permission/generateRoutes", | ||
| 38 | getMenuData | ||
| 39 | ); | ||
| 40 | router.addRoutes([ | ||
| 41 | ...accessRoutes, | ||
| 42 | { path: "*", redirect: "/404", hidden: true }, | ||
| 43 | ]); | ||
| 44 | const routeTo = Cookies.get("routerTo"); | ||
| 45 | if (routeTo && routeTo !== "/") { | ||
| 46 | next({ ...to, replace: true }); | ||
| 20 | } else { | 47 | } else { |
| 21 | const { result: getMenuData } = await getMenuInfo() | 48 | next("/home"); |
| 22 | const accessRoutes = await store.dispatch('permission/generateRoutes', getMenuData) | 49 | } |
| 23 | // 获取用户信息 | 50 | } |
| 24 | await store.dispatch('user/getUserInfo') | ||
| 25 | router.addRoutes([...accessRoutes, { path: '*', redirect: '/404', hidden: true }]) | ||
| 26 | const routeTo = Cookies.get('routerTo') | ||
| 27 | if (routeTo && routeTo !== '/') { | ||
| 28 | next({ ...to, replace: true }) | ||
| 29 | } else { | 51 | } else { |
| 30 | next('/home') | 52 | next("/login"); |
| 31 | } | 53 | } |
| 32 | } | 54 | } |
| 33 | NProgress.done() | 55 | NProgress.done(); |
| 34 | }) | 56 | }); |
| 35 | router.afterEach(to => { | 57 | router.afterEach((to) => { |
| 36 | // 解决刷新页面报404问题 | 58 | // 解决刷新页面报404问题 |
| 37 | Cookies.set("routerTo", to.fullPath) | 59 | Cookies.set("routerTo", to.fullPath); |
| 38 | NProgress.done() | 60 | NProgress.done(); |
| 39 | }) | 61 | }); | ... | ... |
| ... | @@ -20,6 +20,12 @@ export const constantRoutes = [ | ... | @@ -20,6 +20,12 @@ export const constantRoutes = [ |
| 20 | } | 20 | } |
| 21 | ] | 21 | ] |
| 22 | }, | 22 | }, |
| 23 | //登录 | ||
| 24 | { | ||
| 25 | path: "/login", | ||
| 26 | name: "login", | ||
| 27 | component: () => import("@/views/login/index.vue"), | ||
| 28 | }, | ||
| 23 | // 监管首页 | 29 | // 监管首页 |
| 24 | { | 30 | { |
| 25 | path: '/', | 31 | path: '/', |
| ... | @@ -240,7 +246,7 @@ export const asyncRoutes = [ | ... | @@ -240,7 +246,7 @@ export const asyncRoutes = [ |
| 240 | meta: { title: '角色管理' } | 246 | meta: { title: '角色管理' } |
| 241 | } | 247 | } |
| 242 | ] | 248 | ] |
| 243 | } | 249 | }, |
| 244 | ] | 250 | ] |
| 245 | 251 | ||
| 246 | const createRouter = () => | 252 | const createRouter = () => | ... | ... |
| ... | @@ -5,13 +5,13 @@ const getters = { | ... | @@ -5,13 +5,13 @@ const getters = { |
| 5 | visitedViews: state => state.tagsView.visitedViews, | 5 | visitedViews: state => state.tagsView.visitedViews, |
| 6 | cachedViews: state => state.tagsView.cachedViews, | 6 | cachedViews: state => state.tagsView.cachedViews, |
| 7 | avatar: state => state.user.avatar, | 7 | avatar: state => state.user.avatar, |
| 8 | name: state => state.user.name, | 8 | userInfo: state => state.user.userInfo, |
| 9 | permission_routes: state => state.permission.routes, | 9 | permission_routes: state => state.permission.routes, |
| 10 | addRoutes: state => state.permission.addRoutes, | 10 | addRoutes: state => state.permission.addRoutes, |
| 11 | // business | ||
| 12 | rules: state => state.business.rules, | 11 | rules: state => state.business.rules, |
| 13 | dicData: state => state.dict.dicData, | 12 | dicData: state => state.dict.dicData, |
| 14 | Edit: state => state.business.Edit, | 13 | Edit: state => state.business.Edit, |
| 15 | businessInfo: state => state.dictionaries.businessInfo | 14 | businessInfo: state => state.dictionaries.businessInfo, |
| 15 | products: state => state.products.products | ||
| 16 | } | 16 | } |
| 17 | export default getters | 17 | export default getters | ... | ... |
src/store/modules/products.js
0 → 100644
| 1 | |||
| 2 | const state = { | ||
| 3 | products: null, | ||
| 4 | }; | ||
| 5 | const mutations = { | ||
| 6 | SET_PRODUCTS: (state,data) => { | ||
| 7 | state.products = data; | ||
| 8 | }, | ||
| 9 | }; | ||
| 10 | |||
| 11 | const actions = { | ||
| 12 | setData({ commit },data) { | ||
| 13 | commit("SET_PRODUCTS",data); | ||
| 14 | }, | ||
| 15 | }; | ||
| 16 | export default { | ||
| 17 | namespaced: true, | ||
| 18 | state, | ||
| 19 | mutations, | ||
| 20 | actions, | ||
| 21 | }; |
| 1 | import { getUserInfo } from '@/api/user' | 1 | import { getUserInfo } from "@/api/user"; |
| 2 | const state = { | 2 | const state = { |
| 3 | name: '', | 3 | hasUser: false, |
| 4 | avatar: 'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png', | 4 | userInfo: null, |
| 5 | } | 5 | }; |
| 6 | const mutations = { | 6 | const mutations = { |
| 7 | SET_NAME: (state, data) => { | 7 | SET_USERINFO: (state, data) => { |
| 8 | state.name = data.loginName | 8 | state.hasUser = true; |
| 9 | } | 9 | state.userInfo = data; |
| 10 | } | 10 | }, |
| 11 | RESET_USER: (state) => { | ||
| 12 | state.hasUser = false; | ||
| 13 | state.userInfo = null; | ||
| 14 | }, | ||
| 15 | }; | ||
| 11 | 16 | ||
| 12 | const actions = { | 17 | const actions = { |
| 13 | getUserInfo ({ commit }) { | 18 | getUserInfo({ commit }) { |
| 14 | return new Promise(async (resolve) => { | 19 | return new Promise(async (resolve) => { |
| 15 | let { result: res } = await getUserInfo() | 20 | let { result: res } = await getUserInfo(); |
| 16 | commit('SET_NAME', res) | 21 | commit("SET_USERINFO", res); |
| 17 | resolve(true) | 22 | resolve(true); |
| 18 | }) | 23 | }); |
| 24 | }, | ||
| 25 | resetState({ commit }) { | ||
| 26 | commit("RESET_USER"); | ||
| 19 | }, | 27 | }, |
| 20 | } | 28 | }; |
| 21 | export default { | 29 | export default { |
| 22 | namespaced: true, | 30 | namespaced: true, |
| 23 | state, | 31 | state, |
| 24 | mutations, | 32 | mutations, |
| 25 | actions | 33 | actions, |
| 26 | } | 34 | }; | ... | ... |
| ... | @@ -50,7 +50,7 @@ | ... | @@ -50,7 +50,7 @@ |
| 50 | 50 | ||
| 51 | &-header { | 51 | &-header { |
| 52 | width: 100%; | 52 | width: 100%; |
| 53 | padding: 5px 30px 20px 20px; | 53 | padding: 5px 30px 20px 24px; |
| 54 | box-sizing: border-box; | 54 | box-sizing: border-box; |
| 55 | background: url("~@/image/formHeader.png") no-repeat; | 55 | background: url("~@/image/formHeader.png") no-repeat; |
| 56 | background-size: 100% 100%; | 56 | background-size: 100% 100%; | ... | ... |
| ... | @@ -25,4 +25,10 @@ export default class filter { | ... | @@ -25,4 +25,10 @@ export default class filter { |
| 25 | return name | 25 | return name |
| 26 | } | 26 | } |
| 27 | } | 27 | } |
| 28 | stateStatus(val) { | ||
| 29 | let index = val + 1; | ||
| 30 | // -1 : 不存在 ,0 : 待激活,1:正常,2:暂停,3 : 出错, 4:阻塞 | ||
| 31 | let status = { 0: '不存在', 1: '待激活', 2: '正常', 3: '暂停', 4: '出错', 5: '阻塞' } | ||
| 32 | return status[index] | ||
| 33 | } | ||
| 28 | } | 34 | } | ... | ... |
| 1 | /** | 1 | /** |
| 2 | * 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器 | 2 | * 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器 |
| 3 | */ | 3 | */ |
| 4 | import axios from 'axios' | 4 | import axios from "axios"; |
| 5 | import { Message } from 'element-ui' | 5 | import { Message } from "element-ui"; |
| 6 | import { endLoadingSubCount } from './requestLoading' | 6 | import { endLoadingSubCount } from "./requestLoading"; |
| 7 | import router from "../router"; | ||
| 7 | 8 | ||
| 8 | // create an axios instance | 9 | // create an axios instance |
| 9 | const service = axios.create({ | 10 | const service = axios.create({ |
| 10 | baseURL: process.env.VUE_APP_BASE_API, | 11 | baseURL: process.env.VUE_APP_BASE_API, |
| 11 | withCredentials: true, //是否允许跨域 | 12 | withCredentials: true, //是否允许跨域 |
| 12 | headers: { | 13 | headers: { |
| 13 | 'Content-Type': 'application/json; charset=utf-8', | 14 | "Content-Type": "application/json; charset=utf-8", |
| 14 | 'Authorization': 'bearer AT-6-KSOqiWx3hbGL2fsRjyQQUDzPXR8rat-U' | ||
| 15 | }, | 15 | }, |
| 16 | timeout: 15000 | 16 | timeout: 15000, |
| 17 | }) | 17 | }); |
| 18 | 18 | ||
| 19 | // request interceptor | 19 | // request interceptor |
| 20 | service.interceptors.request.use( | 20 | service.interceptors.request.use( |
| 21 | config => { | 21 | (config) => { |
| 22 | config.headers.Authorization = | 22 | //调用登录接口时无token,也不需要传token,其他接口都传入token |
| 23 | 'bearer AT-6-KSOqiWx3hbGL2fsRjyQQUDzPXR8rat-U' | 23 | config.headers.Authorization = sessionStorage.getItem("token") || ""; |
| 24 | config.headers.Accept = 'application/json' | 24 | config.headers.Accept = "application/json"; |
| 25 | return config | 25 | return config; |
| 26 | }, | 26 | }, |
| 27 | error => { | 27 | (error) => { |
| 28 | Message.error('请求超时!'); | 28 | Message.error("请求超时!"); |
| 29 | return Promise.reject(error) | 29 | return Promise.reject(error); |
| 30 | } | 30 | } |
| 31 | ) | 31 | ); |
| 32 | 32 | ||
| 33 | // response interceptor | 33 | // response interceptor |
| 34 | service.interceptors.response.use( | 34 | service.interceptors.response.use( |
| 35 | response => { | 35 | (response) => { |
| 36 | /** | 36 | /** |
| 37 | * 对响应数据判断: | 37 | * 对响应数据判断: |
| 38 | * 如果成功返回数据,就通过return把数据返出去 | 38 | * 如果成功返回数据,就通过return把数据返出去 |
| 39 | * 如果请求不成功,就在拦截器这里统一处理(组件的代码就不用关注错误的情况了) | 39 | * 如果请求不成功,就在拦截器这里统一处理(组件的代码就不用关注错误的情况了) |
| 40 | */ | 40 | */ |
| 41 | if (response.status == 200) { | 41 | if (response.status == 200) { |
| 42 | // if (response.data.code == 500) { | ||
| 43 | // Message({ | ||
| 44 | // message: response.data.message, | ||
| 45 | // type: 'error', | ||
| 46 | // duration: 5 * 1000 | ||
| 47 | // }) | ||
| 48 | // } | ||
| 49 | return response.data; | 42 | return response.data; |
| 50 | } else { | 43 | } else { |
| 51 | handleErrorData(response.data); | 44 | // 对响应错误做点什么 |
| 45 | Message({ | ||
| 46 | message: "请求失败", | ||
| 47 | type: "error", | ||
| 48 | duration: 5 * 1000, | ||
| 49 | }); | ||
| 52 | } | 50 | } |
| 53 | return response; | 51 | return response; |
| 54 | }, | 52 | }, |
| 55 | error => { | 53 | (error) => { |
| 56 | endLoadingSubCount() | 54 | handleErrorData(error.response.status); |
| 57 | // 对响应错误做点什么 | 55 | endLoadingSubCount(); |
| 58 | Message({ | ||
| 59 | message: '服务器异常,请联系管理员', | ||
| 60 | type: 'error', | ||
| 61 | duration: 5 * 1000 | ||
| 62 | }) | ||
| 63 | return Promise.reject(error); | 56 | return Promise.reject(error); |
| 64 | } | 57 | } |
| 65 | ) | 58 | ); |
| 66 | //对错误信息的处理函数 | 59 | //对错误信息的处理函数 |
| 67 | function handleErrorData (errMes) { | 60 | function handleErrorData(status) { |
| 68 | if (errMes.message) { | 61 | switch (status) { |
| 69 | Message.error(errMes.message); | ||
| 70 | } else { | ||
| 71 | switch (errMes.code) { | ||
| 72 | case 401: | 62 | case 401: |
| 73 | Message.error("未授权,请重新登录!"); | 63 | Message.error("由于长时间未操作,请重新登录!"); |
| 64 | router.replace({ | ||
| 65 | path: "/login", | ||
| 66 | query: { | ||
| 67 | redirect: router.history.current.fullPath, | ||
| 68 | }, | ||
| 69 | }); | ||
| 74 | break; | 70 | break; |
| 75 | case 403: | 71 | case 403: |
| 76 | Message.error("拒绝访问"); | 72 | Message.error("拒绝访问"); |
| ... | @@ -85,8 +81,5 @@ function handleErrorData (errMes) { | ... | @@ -85,8 +81,5 @@ function handleErrorData (errMes) { |
| 85 | Message.error("服务正在联调中,请稍后!"); | 81 | Message.error("服务正在联调中,请稍后!"); |
| 86 | break; | 82 | break; |
| 87 | } | 83 | } |
| 88 | } | ||
| 89 | } | 84 | } |
| 90 | export default service | 85 | export default service; |
| 91 | |||
| 92 | ... | ... |
src/views/home/dataView/2wd.vue
deleted
100644 → 0
File mode changed
| ... | @@ -32,7 +32,6 @@ export default { | ... | @@ -32,7 +32,6 @@ export default { |
| 32 | const { width, height } = this; | 32 | const { width, height } = this; |
| 33 | const wh = window.innerHeight / height; | 33 | const wh = window.innerHeight / height; |
| 34 | const ww = window.innerWidth / width; | 34 | const ww = window.innerWidth / width; |
| 35 | console.log(ww < wh ? ww : wh); | ||
| 36 | return ww < wh ? ww : wh; | 35 | return ww < wh ? ww : wh; |
| 37 | }, | 36 | }, |
| 38 | setScale() { | 37 | setScale() { | ... | ... |
| ... | @@ -9,7 +9,7 @@ | ... | @@ -9,7 +9,7 @@ |
| 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">汉中市不动产监管大屏</span> | 12 | <span class="title-text">{{ products.name }}}</span> |
| 13 | <dv-decoration-5 | 13 | <dv-decoration-5 |
| 14 | :dur="1" | 14 | :dur="1" |
| 15 | class="dv-dec-5" | 15 | class="dv-dec-5" |
| ... | @@ -60,6 +60,9 @@ export default { | ... | @@ -60,6 +60,9 @@ export default { |
| 60 | }, 500); | 60 | }, 500); |
| 61 | }, | 61 | }, |
| 62 | }, | 62 | }, |
| 63 | computed: { | ||
| 64 | ...mapGetters(["products"]), | ||
| 65 | }, | ||
| 63 | }; | 66 | }; |
| 64 | </script> | 67 | </script> |
| 65 | 68 | ... | ... |
| ... | @@ -119,7 +119,7 @@ export default { | ... | @@ -119,7 +119,7 @@ export default { |
| 119 | <style lang="scss" scoped> | 119 | <style lang="scss" scoped> |
| 120 | .leftcard { | 120 | .leftcard { |
| 121 | width: 32%; | 121 | width: 32%; |
| 122 | height: calc(100% -110px); | 122 | height: calc(100vh -114px); |
| 123 | display: flex; | 123 | display: flex; |
| 124 | flex-direction: column; | 124 | flex-direction: column; |
| 125 | 125 | ||
| ... | @@ -129,7 +129,7 @@ export default { | ... | @@ -129,7 +129,7 @@ export default { |
| 129 | position: relative; | 129 | position: relative; |
| 130 | text-align: center; | 130 | text-align: center; |
| 131 | width: 100%; | 131 | width: 100%; |
| 132 | height: 25%; | 132 | height: 22%; |
| 133 | } | 133 | } |
| 134 | .carda { | 134 | .carda { |
| 135 | background: url("~@/image/sthj.png") no-repeat; | 135 | background: url("~@/image/sthj.png") no-repeat; |
| ... | @@ -137,7 +137,7 @@ export default { | ... | @@ -137,7 +137,7 @@ export default { |
| 137 | position: relative; | 137 | position: relative; |
| 138 | text-align: center; | 138 | text-align: center; |
| 139 | width: 100%; | 139 | width: 100%; |
| 140 | height: 25%; | 140 | height: 22%; |
| 141 | } | 141 | } |
| 142 | 142 | ||
| 143 | // .card1 { | 143 | // .card1 { |
| ... | @@ -192,8 +192,8 @@ export default { | ... | @@ -192,8 +192,8 @@ export default { |
| 192 | font-weight: 700; | 192 | font-weight: 700; |
| 193 | width: .195rem; | 193 | width: .195rem; |
| 194 | height: .2475rem; | 194 | height: .2475rem; |
| 195 | font-size: .1863rem; | 195 | font-size: .2863rem; |
| 196 | font-size: .1867rem; | 196 | font-size: .2867rem; |
| 197 | } | 197 | } |
| 198 | } | 198 | } |
| 199 | 199 | ... | ... |
| ... | @@ -45,12 +45,9 @@ export default { | ... | @@ -45,12 +45,9 @@ export default { |
| 45 | try { | 45 | try { |
| 46 | let { result: res } = await work.addhousetotal(); | 46 | let { result: res } = await work.addhousetotal(); |
| 47 | res.map((item, index) => { | 47 | res.map((item, index) => { |
| 48 | console.log("item", item); | ||
| 49 | console.log("index", index); | ||
| 50 | return ( | 48 | return ( |
| 51 | this.config.data.push([index, item.fwyt, item.fwxz, item.mj]) | 49 | this.config.data.push([index, item.fwyt, item.fwxz, item.mj]) |
| 52 | ) | 50 | ) |
| 53 | |||
| 54 | }); | 51 | }); |
| 55 | } catch (error) { | 52 | } catch (error) { |
| 56 | console.log("error", error); | 53 | console.log("error", error); |
| ... | @@ -114,6 +111,15 @@ export default { | ... | @@ -114,6 +111,15 @@ export default { |
| 114 | margin: 0 auto; | 111 | margin: 0 auto; |
| 115 | height: 1.1031rem; | 112 | height: 1.1031rem; |
| 116 | margin-top: .0521rem; | 113 | margin-top: .0521rem; |
| 114 | /deep/.header{ | ||
| 115 | font-size: .0738rem; | ||
| 116 | } | ||
| 117 | /deep/.rows{ | ||
| 118 | .ceil{ | ||
| 119 | font-size: .0738rem; | ||
| 120 | color: #6BC1FC | ||
| 121 | } | ||
| 122 | } | ||
| 117 | } | 123 | } |
| 118 | } | 124 | } |
| 119 | 125 | ... | ... |
| ... | @@ -7,7 +7,6 @@ | ... | @@ -7,7 +7,6 @@ |
| 7 | </template> | 7 | </template> |
| 8 | <script> | 8 | <script> |
| 9 | import "@/utils/flexible.js"; | 9 | import "@/utils/flexible.js"; |
| 10 | import ScaleBox from "./box.vue"; | ||
| 11 | import drawMixin from "@/utils/drawMixin"; | 10 | import drawMixin from "@/utils/drawMixin"; |
| 12 | import leftcard from "./leftcard"; | 11 | import leftcard from "./leftcard"; |
| 13 | import centercard from "./centercard"; | 12 | import centercard from "./centercard"; |
| ... | @@ -22,8 +21,7 @@ export default { | ... | @@ -22,8 +21,7 @@ export default { |
| 22 | components: { | 21 | components: { |
| 23 | leftcard, | 22 | leftcard, |
| 24 | centercard, | 23 | centercard, |
| 25 | rightcard, | 24 | rightcard |
| 26 | ScaleBox, | ||
| 27 | }, | 25 | }, |
| 28 | mounted () { | 26 | mounted () { |
| 29 | // this.timeFn(); | 27 | // this.timeFn(); | ... | ... |
src/views/login/index.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="bg"> | ||
| 3 | <div class="login-inner-bg login"> | ||
| 4 | <div class="user_style"> | ||
| 5 | <h3>欢迎登录</h3> | ||
| 6 | <el-form | ||
| 7 | :model="user" | ||
| 8 | :rules="rules" | ||
| 9 | ref="user" | ||
| 10 | id="loginform" | ||
| 11 | class="demo-ruleForm" | ||
| 12 | > | ||
| 13 | <el-form-item prop="account"> | ||
| 14 | <el-input v-model="user.account" placeholder="用户名"></el-input> | ||
| 15 | </el-form-item> | ||
| 16 | <el-form-item prop="password"> | ||
| 17 | <el-input | ||
| 18 | type="password" | ||
| 19 | v-model="user.password" | ||
| 20 | placeholder="登录密码" | ||
| 21 | ></el-input> | ||
| 22 | </el-form-item> | ||
| 23 | <el-form-item> | ||
| 24 | <el-checkbox | ||
| 25 | label="记住用户名" | ||
| 26 | @change="checkUserName" | ||
| 27 | ></el-checkbox> | ||
| 28 | </el-form-item> | ||
| 29 | <el-form-item id="login"> | ||
| 30 | <el-button type="primary" style="width: 100%" @click="login('user')" | ||
| 31 | >登录</el-button | ||
| 32 | > | ||
| 33 | </el-form-item> | ||
| 34 | </el-form> | ||
| 35 | </div> | ||
| 36 | </div> | ||
| 37 | </div> | ||
| 38 | </template> | ||
| 39 | |||
| 40 | <script> | ||
| 41 | import { loginIn } from "@/api/login.js"; | ||
| 42 | import { api, getAction } from "@/api/manageApi"; | ||
| 43 | export default { | ||
| 44 | name: "Login", | ||
| 45 | data() { | ||
| 46 | return { | ||
| 47 | user: { | ||
| 48 | account: "", | ||
| 49 | password: "", | ||
| 50 | checkStatus: false, | ||
| 51 | }, | ||
| 52 | rules: { | ||
| 53 | account: [{ required: true, message: "请填写帐号", trigger: "blur" }], | ||
| 54 | password: [{ required: true, message: "请填写密码", trigger: "blur" }], | ||
| 55 | }, | ||
| 56 | }; | ||
| 57 | }, | ||
| 58 | created() { | ||
| 59 | const params = {}; | ||
| 60 | const queryOptions = { | ||
| 61 | conditionGroup: { | ||
| 62 | conditions: [ | ||
| 63 | { | ||
| 64 | property: "code", | ||
| 65 | value: "BDCJGPT", | ||
| 66 | operator: "EQ", | ||
| 67 | }, | ||
| 68 | ], | ||
| 69 | queryRelation: "AND", | ||
| 70 | }, | ||
| 71 | }; | ||
| 72 | params.queryOptions = JSON.stringify(queryOptions); | ||
| 73 | //根据子系统code获取子系统详细信息 | ||
| 74 | getAction(api.subsystem, params).then((res) => { | ||
| 75 | if (res.status === 1) { | ||
| 76 | this.$store.dispatch("products/setData", res.content[0]); | ||
| 77 | } else { | ||
| 78 | this.$message.error({ message: res.message, showClose: true }); | ||
| 79 | } | ||
| 80 | }); | ||
| 81 | }, | ||
| 82 | mounted() { | ||
| 83 | // this.checkUserName(); | ||
| 84 | }, | ||
| 85 | methods: { | ||
| 86 | //记住用户名 | ||
| 87 | checkUserName: function (flag) { | ||
| 88 | this.user.checkStatus = flag; | ||
| 89 | if (this.user.checkStatus) { | ||
| 90 | localStorage.setItem("accountId", this.user.account); | ||
| 91 | let name = localStorage.getItem("accountId"); | ||
| 92 | if (name === "") { | ||
| 93 | return; | ||
| 94 | } else { | ||
| 95 | this.user.account = name; | ||
| 96 | } | ||
| 97 | } else { | ||
| 98 | this.user.account = localStorage.getItem("accountId"); | ||
| 99 | } | ||
| 100 | }, | ||
| 101 | login(user) { | ||
| 102 | var self = this; | ||
| 103 | this.$refs[user].validate((valid) => { | ||
| 104 | if (valid) { | ||
| 105 | loginIn(self.user.account, self.user.password) | ||
| 106 | .then((res) => { | ||
| 107 | if (res.status === 1) { | ||
| 108 | //存储token | ||
| 109 | sessionStorage.setItem("token", `Bearer ${res.content}`); | ||
| 110 | //登录成功后需判断有无重定向,没有重定向则跳转首页 | ||
| 111 | this.$router.replace(this.$route.query.redirect || "/"); | ||
| 112 | } else { | ||
| 113 | //错误处理 | ||
| 114 | } | ||
| 115 | }) | ||
| 116 | .catch((error) => { | ||
| 117 | // console.dir(error); | ||
| 118 | }); | ||
| 119 | } | ||
| 120 | }); | ||
| 121 | }, | ||
| 122 | }, | ||
| 123 | computed: { | ||
| 124 | productName() { | ||
| 125 | return this.$store.state.products.products.name; | ||
| 126 | }, | ||
| 127 | }, | ||
| 128 | components: {}, | ||
| 129 | }; | ||
| 130 | </script> | ||
| 131 | <style scoped lang="scss"> | ||
| 132 | .bg { | ||
| 133 | width: 100%; | ||
| 134 | height: 100%; | ||
| 135 | background: url(../../image/loginBg.jpg) no-repeat; | ||
| 136 | background-size: 100% 100%; | ||
| 137 | overflow: hidden; | ||
| 138 | } | ||
| 139 | |||
| 140 | .login-inner-bg { | ||
| 141 | background: url(../../image/loginBoxBg.png) no-repeat; | ||
| 142 | width: 400px; | ||
| 143 | height: 350px; | ||
| 144 | margin: 35vh auto; | ||
| 145 | overflow: hidden; | ||
| 146 | background-size: 100% 100%; | ||
| 147 | box-sizing: border-box; | ||
| 148 | padding: 20px; | ||
| 149 | } | ||
| 150 | |||
| 151 | .login .user_style { | ||
| 152 | margin: 40px 20px 0; | ||
| 153 | h3 { | ||
| 154 | color: #fff; | ||
| 155 | font-weight: normal; | ||
| 156 | text-align: center; | ||
| 157 | margin-bottom: 20px; | ||
| 158 | } | ||
| 159 | } | ||
| 160 | |||
| 161 | .login .btn { | ||
| 162 | width: 100%; | ||
| 163 | height: 6vh; | ||
| 164 | background-color: #00c2de; | ||
| 165 | border-radius: 5px; | ||
| 166 | font-size: 1.4vw; | ||
| 167 | color: #ffffff; | ||
| 168 | } | ||
| 169 | |||
| 170 | .login .btn:hover { | ||
| 171 | cursor: pointer; | ||
| 172 | background-color: #2d8cf0; | ||
| 173 | } | ||
| 174 | |||
| 175 | #loginform .el-button { | ||
| 176 | background: #409eff !important; | ||
| 177 | color: #ffffff !important; | ||
| 178 | } | ||
| 179 | |||
| 180 | #loginform .el-button:hover { | ||
| 181 | cursor: pointer !important; | ||
| 182 | background-color: #2d8cf0 !important; | ||
| 183 | } | ||
| 184 | .inputUser .ivu-input { | ||
| 185 | padding: 6px 24px !important; | ||
| 186 | border: 1px solid #9f9f9f !important; | ||
| 187 | } | ||
| 188 | |||
| 189 | #loginform .el-input__inner { | ||
| 190 | width: 100% !important; | ||
| 191 | caret-color: #000 !important; | ||
| 192 | color: #606266 !important; | ||
| 193 | border-radius: 4px !important; | ||
| 194 | border: 1px solid #67c23a !important; | ||
| 195 | background: #fff !important; | ||
| 196 | opacity: 1 !important; | ||
| 197 | } | ||
| 198 | |||
| 199 | #loginform .el-input__inner::-webkit-input-placeholder { | ||
| 200 | /* WebKit browsers */ | ||
| 201 | color: #80807f !important; | ||
| 202 | } | ||
| 203 | .el-checkbox__label { | ||
| 204 | color: #fff; | ||
| 205 | } | ||
| 206 | </style> | ||
| 207 | <style></style> |
| ... | @@ -6,11 +6,30 @@ class data { | ... | @@ -6,11 +6,30 @@ class data { |
| 6 | columns () { | 6 | columns () { |
| 7 | return [ | 7 | return [ |
| 8 | { | 8 | { |
| 9 | prop: "state", | ||
| 10 | label: "状态", | ||
| 11 | width: '120', | ||
| 12 | render: (h, scope) => { | ||
| 13 | return ( | ||
| 14 | <div> | ||
| 15 | <span class='adopt' v-show={scope.row.state == 3}>上报失败</span> | ||
| 16 | <span class='adopt' v-show={scope.row.state == 2}>上报成功</span> | ||
| 17 | <span class='warehousing' v-show={scope.row.state == 1}>接入上报异常</span> | ||
| 18 | </div> | ||
| 19 | ) | ||
| 20 | } | ||
| 21 | }, | ||
| 22 | { | ||
| 23 | prop: "UPLOADTIME", | ||
| 24 | label: "汇交日期", | ||
| 25 | width: '150', | ||
| 26 | }, | ||
| 27 | { | ||
| 9 | prop: "AREANAME", | 28 | prop: "AREANAME", |
| 10 | label: "区域名称", | 29 | label: "区域名称", |
| 11 | }, | 30 | }, |
| 12 | { | 31 | { |
| 13 | prop: "UPLOADTIME", | 32 | prop: "ACCESSDATE", |
| 14 | label: "日期", | 33 | label: "日期", |
| 15 | width: '150', | 34 | width: '150', |
| 16 | }, | 35 | }, |
| ... | @@ -42,9 +61,9 @@ class data { | ... | @@ -42,9 +61,9 @@ class data { |
| 42 | width: '120', | 61 | width: '120', |
| 43 | render: (h, scope) => { | 62 | render: (h, scope) => { |
| 44 | return ( | 63 | return ( |
| 45 | <div class={'difference'}> | 64 | <div > |
| 46 | <p>{scope.row.BUSINESSTYPECOUNT}</p> | 65 | <p>{scope.row.registerBusinesstypecount}</p> |
| 47 | <p>{''}</p> | 66 | <p>{scope.row.accessBusinesstypecount}</p> |
| 48 | </div> | 67 | </div> |
| 49 | ) | 68 | ) |
| 50 | }, | 69 | }, | ... | ... |
| ... | @@ -120,8 +120,8 @@ export default { | ... | @@ -120,8 +120,8 @@ export default { |
| 120 | endTimeChange (val) { | 120 | endTimeChange (val) { |
| 121 | this.form.endTime = timeFormat(new Date(val), true) | 121 | this.form.endTime = timeFormat(new Date(val), true) |
| 122 | }, | 122 | }, |
| 123 | queryClick () { | 123 | featchData () { |
| 124 | getRecordLogPage({ ...this.form, ...this.pageData }).then(res => { | 124 | getRecordLogPage({ ...this.form }).then(res => { |
| 125 | if (res.code === 200) { | 125 | if (res.code === 200) { |
| 126 | let { records, total, current } = res.result | 126 | let { records, total, current } = res.result |
| 127 | this.tableData.data = records ? records : [] | 127 | this.tableData.data = records ? records : [] |
| ... | @@ -134,11 +134,8 @@ export default { | ... | @@ -134,11 +134,8 @@ export default { |
| 134 | resetForm () { | 134 | resetForm () { |
| 135 | this.$refs.ruleForm.resetFields(); | 135 | this.$refs.ruleForm.resetFields(); |
| 136 | this.form.currentPage = 1 | 136 | this.form.currentPage = 1 |
| 137 | this.queryClick(); | 137 | this.featchData(); |
| 138 | }, | 138 | } |
| 139 | featchData () { | ||
| 140 | this.queryClick(); | ||
| 141 | }, | ||
| 142 | } | 139 | } |
| 143 | } | 140 | } |
| 144 | </script> | 141 | </script> | ... | ... |
| ... | @@ -185,8 +185,8 @@ export default { | ... | @@ -185,8 +185,8 @@ export default { |
| 185 | this.form.exchangeEndTime = timeFormat(new Date(val), true) | 185 | this.form.exchangeEndTime = timeFormat(new Date(val), true) |
| 186 | }, | 186 | }, |
| 187 | // 初始化数据 | 187 | // 初始化数据 |
| 188 | queryClick () { | 188 | featchData () { |
| 189 | getDataReportPage({ ...this.form, ...this.pageData }).then((res) => { | 189 | getDataReportPage({ ...this.form }).then((res) => { |
| 190 | if (res.code === 200) { | 190 | if (res.code === 200) { |
| 191 | let { total, records, current } = res.result; | 191 | let { total, records, current } = res.result; |
| 192 | this.tableData.total = total; | 192 | this.tableData.total = total; |
| ... | @@ -195,11 +195,6 @@ export default { | ... | @@ -195,11 +195,6 @@ export default { |
| 195 | } | 195 | } |
| 196 | }); | 196 | }); |
| 197 | }, | 197 | }, |
| 198 | featchData () { | ||
| 199 | this.queryClick(); | ||
| 200 | }, | ||
| 201 | // 多选 | ||
| 202 | handleSelectionChange (val) { }, | ||
| 203 | // 上报 | 198 | // 上报 |
| 204 | handleEscalation () { }, | 199 | handleEscalation () { }, |
| 205 | // 详情 | 200 | // 详情 |
| ... | @@ -212,7 +207,7 @@ export default { | ... | @@ -212,7 +207,7 @@ export default { |
| 212 | this.$refs.ruleForm.resetFields(); | 207 | this.$refs.ruleForm.resetFields(); |
| 213 | this.form.exchangeEndTime = "" | 208 | this.form.exchangeEndTime = "" |
| 214 | this.form.currentPage = 1 | 209 | this.form.currentPage = 1 |
| 215 | this.queryClick(); | 210 | this.featchData(); |
| 216 | }, | 211 | }, |
| 217 | }, | 212 | }, |
| 218 | }; | 213 | }; | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <!-- 编辑 --> | 2 | <!-- 编辑 --> |
| 3 | <dialogBox ref="addTask" width="60%" @submitForm="handleSubmit" :closed="true" @closeDialog="handleClose" | 3 | <dialogBox ref="addTask" width="60%" @submitForm="handleSubmit" @closeDialog="handleClose" v-model="myValue" |
| 4 | customClass="editValidRule" multiple title="新增定时任务"> | 4 | customClass="editValidRule" title="新增定时任务"> |
| 5 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"> | 5 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"> |
| 6 | <el-row :gutter="20"> | 6 | <el-row :gutter="20"> |
| 7 | <el-col :span="12"> | 7 | <el-col :span="12"> |
| 8 | <el-form-item label="任务名" prop="job_name"> | 8 | <el-form-item label="任务名" prop="jobName"> |
| 9 | <el-input v-model="ruleForm.job_name" placeholder="任务名"></el-input> | 9 | <el-input v-model="ruleForm.jobName" placeholder="任务名"></el-input> |
| 10 | </el-form-item> | 10 | </el-form-item> |
| 11 | </el-col> | 11 | </el-col> |
| 12 | <el-col :span="12"> | 12 | <el-col :span="12"> |
| 13 | <el-form-item label="任务分组" prop="job_group"> | 13 | <el-form-item label="类名" prop="beanName"> |
| 14 | <el-input v-model="ruleForm.job_group" placeholder="任务分组"></el-input> | 14 | <el-input v-model="ruleForm.beanName" placeholder="类名"></el-input> |
| 15 | </el-form-item> | 15 | </el-form-item> |
| 16 | </el-col> | 16 | </el-col> |
| 17 | </el-row> | 17 | </el-row> |
| 18 | <el-row :gutter="20"> | 18 | <el-row :gutter="20"> |
| 19 | <el-col :span="12"> | 19 | <el-col :span="12"> |
| 20 | <el-form-item label="cron表达式" prop="cron_expression"> | 20 | <el-form-item label="cron表达式" prop="cronExpression"> |
| 21 | <el-input v-model="ruleForm.cron_expression" placeholder="cron表达式"></el-input> | 21 | <el-input v-model="ruleForm.cronExpression" placeholder="cron表达式"></el-input> |
| 22 | </el-form-item> | 22 | </el-form-item> |
| 23 | </el-col> | 23 | </el-col> |
| 24 | <el-col :span="12"> | 24 | <el-col :span="12"> |
| 25 | <el-form-item label="任务类名" prop="bean_class"> | 25 | <el-form-item label="方法名" prop="methodName"> |
| 26 | <el-input v-model="ruleForm.bean_class" placeholder="任务执行时调用哪个类的方法 包名+类名"></el-input> | 26 | <el-input v-model="ruleForm.methodName" placeholder="方法名"></el-input> |
| 27 | </el-form-item> | 27 | </el-form-item> |
| 28 | </el-col> | 28 | </el-col> |
| 29 | </el-row> | 29 | </el-row> |
| 30 | <el-row :gutter="20"> | 30 | <el-row :gutter="20"> |
| 31 | <el-col :span="24"> | 31 | <el-col :span="24"> |
| 32 | <el-form-item label="任务描述" prop="description"> | 32 | <el-form-item label="任务描述" prop="remark"> |
| 33 | <el-input v-model="ruleForm.description" placeholder="任务描述"></el-input> | 33 | <el-input v-model="ruleForm.remark" placeholder="任务描述"></el-input> |
| 34 | </el-form-item> | 34 | </el-form-item> |
| 35 | </el-col> | 35 | </el-col> |
| 36 | </el-row> | 36 | </el-row> |
| ... | @@ -43,6 +43,7 @@ | ... | @@ -43,6 +43,7 @@ |
| 43 | import sjsbTask from '@/api/sjsbTask.js' | 43 | import sjsbTask from '@/api/sjsbTask.js' |
| 44 | export default { | 44 | export default { |
| 45 | props: { | 45 | props: { |
| 46 | value: { type: Boolean, default: false }, | ||
| 46 | taskData: { | 47 | taskData: { |
| 47 | type: Object, | 48 | type: Object, |
| 48 | default: null | 49 | default: null |
| ... | @@ -50,42 +51,33 @@ export default { | ... | @@ -50,42 +51,33 @@ export default { |
| 50 | }, | 51 | }, |
| 51 | data () { | 52 | data () { |
| 52 | return { | 53 | return { |
| 54 | myValue: this.value, | ||
| 53 | ruleForm: { | 55 | ruleForm: { |
| 54 | job_name: '', | 56 | jobName: '', |
| 55 | job_group: '', | 57 | cronExpression: '', |
| 56 | cron_expression: '', | 58 | beanName: '', |
| 57 | bean_class: '', | 59 | methodName: '', |
| 58 | description: '' | 60 | methodParams: '', |
| 61 | remark: '' | ||
| 59 | }, | 62 | }, |
| 60 | rules: { | 63 | rules: { |
| 61 | job_name: [ | 64 | jobName: [ |
| 62 | { required: true, message: '任务名', trigger: 'blur' } | 65 | { required: true, message: '任务名', trigger: 'blur' } |
| 63 | ], | 66 | ], |
| 64 | job_group: [ | 67 | cronExpression: [ |
| 65 | { required: true, message: '分组', trigger: 'blur' } | ||
| 66 | ], | ||
| 67 | cron_expression: [ | ||
| 68 | { required: true, message: 'cron表达式', trigger: 'blur' } | 68 | { required: true, message: 'cron表达式', trigger: 'blur' } |
| 69 | ], | 69 | ], |
| 70 | bean_class: [ | 70 | beanName: [ |
| 71 | { required: true, message: '任务类名', trigger: 'blur' } | 71 | { required: true, message: '任务类名', trigger: 'blur' } |
| 72 | ], | 72 | ], |
| 73 | description: [ | 73 | methodName: [ |
| 74 | { required: true, message: '任务描述', trigger: 'blur' } | 74 | { required: true, message: '任务方法名', trigger: 'blur' } |
| 75 | ], | 75 | ] |
| 76 | }, | 76 | }, |
| 77 | message: '' | 77 | message: '' |
| 78 | } | 78 | } |
| 79 | }, | 79 | }, |
| 80 | methods: { | 80 | methods: { |
| 81 | isShow () { | ||
| 82 | this.$refs.addTask.isShow() | ||
| 83 | setTimeout(() => { | ||
| 84 | if (this.taskData) { | ||
| 85 | this.ruleForm = _.cloneDeep(this.taskData) | ||
| 86 | } | ||
| 87 | }, 0) | ||
| 88 | }, | ||
| 89 | handleSubmit () { | 81 | handleSubmit () { |
| 90 | let _this = this | 82 | let _this = this |
| 91 | this.$refs['ruleForm'].validate(async (valid) => { | 83 | this.$refs['ruleForm'].validate(async (valid) => { |
| ... | @@ -129,13 +121,49 @@ export default { | ... | @@ -129,13 +121,49 @@ export default { |
| 129 | }) | 121 | }) |
| 130 | }, | 122 | }, |
| 131 | handleClose () { | 123 | handleClose () { |
| 132 | this.$refs.addTask.isHide() | 124 | this.$emit("input", false); |
| 133 | this.$refs['ruleForm'].resetFields() | 125 | } |
| 126 | }, | ||
| 127 | watch: { | ||
| 128 | value(val) { | ||
| 129 | this.myValue = val | ||
| 130 | }, | ||
| 131 | taskData(val) { | ||
| 132 | if (val != null) { | ||
| 133 | this.ruleForm = val | ||
| 134 | } else { | ||
| 135 | this.ruleForm = { | ||
| 136 | jobName: '', | ||
| 137 | cronExpression: '', | ||
| 138 | beanName: '', | ||
| 139 | methodName: '', | ||
| 140 | methodParams: '', | ||
| 141 | remark: '' | ||
| 142 | } | ||
| 143 | } | ||
| 134 | } | 144 | } |
| 135 | } | 145 | } |
| 136 | } | 146 | } |
| 137 | </script> | 147 | </script> |
| 138 | <style rel="stylesheet/less" lang="less" scoped> | 148 | <style rel="stylesheet/scss" lang="scss" scoped> |
| 149 | @import "~@/styles/public.scss"; | ||
| 150 | |||
| 151 | .editDialogBox-box { | ||
| 152 | margin: 14px 18px 30px 18px !important | ||
| 153 | } | ||
| 154 | |||
| 155 | /deep/.el-form-item__label { | ||
| 156 | color: #fff; | ||
| 157 | } | ||
| 158 | |||
| 159 | /deep/.el-form-item { | ||
| 160 | color: #fff; | ||
| 161 | margin-bottom: 10px; | ||
| 162 | } | ||
| 139 | 163 | ||
| 164 | /deep/ .el-input__inner { | ||
| 165 | background-color: transparent; | ||
| 166 | border: 1px solid #458ACF; | ||
| 167 | } | ||
| 140 | </style> | 168 | </style> |
| 141 | 169 | ... | ... |
| ... | @@ -286,6 +286,7 @@ export default { | ... | @@ -286,6 +286,7 @@ export default { |
| 286 | handleMinus (index, row) { | 286 | handleMinus (index, row) { |
| 287 | removeTreeListItem(this.tableData, row.dictid, 'dictid'); | 287 | removeTreeListItem(this.tableData, row.dictid, 'dictid'); |
| 288 | this.tableData = judgeSort(this.tableData) | 288 | this.tableData = judgeSort(this.tableData) |
| 289 | this.key++; | ||
| 289 | }, | 290 | }, |
| 290 | handleSubmit () { | 291 | handleSubmit () { |
| 291 | editDictNode({ | 292 | editDictNode({ |
| ... | @@ -343,15 +344,12 @@ export default { | ... | @@ -343,15 +344,12 @@ export default { |
| 343 | }, | 344 | }, |
| 344 | // 上移下移 | 345 | // 上移下移 |
| 345 | moveUpward (index, row) { | 346 | moveUpward (index, row) { |
| 346 | console.log("row上移", row); | ||
| 347 | |||
| 348 | realMove(row.dictid, "UP", this.tableData); | 347 | realMove(row.dictid, "UP", this.tableData); |
| 349 | let id = findParents(this.tableData, row.dictid); | 348 | let id = findParents(this.tableData, row.dictid); |
| 350 | this.keyList = id; | 349 | this.keyList = id; |
| 351 | this.key++; | 350 | this.key++; |
| 352 | }, | 351 | }, |
| 353 | moveDown (index, row) { | 352 | moveDown (index, row) { |
| 354 | console.log("row下移", row); | ||
| 355 | realMove(row.dictid, "DOWN", this.tableData); | 353 | realMove(row.dictid, "DOWN", this.tableData); |
| 356 | let id = findParents(this.tableData, row.dictid); | 354 | let id = findParents(this.tableData, row.dictid); |
| 357 | this.keyList = id; | 355 | this.keyList = id; | ... | ... |
| ... | @@ -20,16 +20,17 @@ | ... | @@ -20,16 +20,17 @@ |
| 20 | v-for="(item, index) in sexList" | 20 | v-for="(item, index) in sexList" |
| 21 | :key="index" | 21 | :key="index" |
| 22 | :label="item.value" | 22 | :label="item.value" |
| 23 | >{{ item.name }}</el-radio> | 23 | >{{ item.name }}</el-radio |
| 24 | > | ||
| 24 | </el-radio-group> | 25 | </el-radio-group> |
| 25 | </el-form-item> | 26 | </el-form-item> |
| 26 | <el-form-item label="身份证号:" prop="idCard"> | 27 | <el-form-item label="身份证号:" prop="idCard"> |
| 27 | <el-input v-model="form.idCard" clearable /> | 28 | <el-input v-model="form.idCard" clearable /> |
| 28 | </el-form-item> | 29 | </el-form-item> |
| 29 | <el-form-item label="手机号码:" prop="mobilePhone"> | 30 | <el-form-item label="手机号码:" prop="mobilePhone"> |
| 30 | <el-input v-model="form.mobilePhone" clearable type="number" /> | 31 | <el-input v-model="form.mobilePhone" clearable /> |
| 31 | </el-form-item> | 32 | </el-form-item> |
| 32 | <el-form-item label="办公电话:"> | 33 | <el-form-item label="办公电话:" prop="telephone"> |
| 33 | <el-input v-model="form.telephone" clearable /> | 34 | <el-input v-model="form.telephone" clearable /> |
| 34 | </el-form-item> | 35 | </el-form-item> |
| 35 | <el-form-item label="办公地址:"> | 36 | <el-form-item label="办公地址:"> |
| ... | @@ -55,46 +56,53 @@ export default { | ... | @@ -55,46 +56,53 @@ export default { |
| 55 | data() { | 56 | data() { |
| 56 | return { | 57 | return { |
| 57 | form: { | 58 | form: { |
| 58 | "id": "3127e455-43ba-45ff-9326-0e02ef89485e", | 59 | id: "3127e455-43ba-45ff-9326-0e02ef89485e", |
| 59 | "name": "超级管理员", | 60 | name: "超级管理员", |
| 60 | "sort": 1, | 61 | sort: 1, |
| 61 | "loginName": "admin", | 62 | loginName: "admin", |
| 62 | "email": null, | 63 | email: null, |
| 63 | "lastLoginTime": null, | 64 | lastLoginTime: null, |
| 64 | "mobilePhone": "18291003568", | 65 | mobilePhone: "18291003568", |
| 65 | "isLocked": false, | 66 | isLocked: false, |
| 66 | "status": "ACTIVE", | 67 | status: "ACTIVE", |
| 67 | "passwordChangeTime": "2021-12-10T08:01:01.569+0000", | 68 | passwordChangeTime: "2021-12-10T08:01:01.569+0000", |
| 68 | "idCard": "612725202111021521", | 69 | idCard: "612725202111021521", |
| 69 | "departmentId": "2eae5304-544f-4f5b-b354-8f5d47433c9b", | 70 | departmentId: "2eae5304-544f-4f5b-b354-8f5d47433c9b", |
| 70 | "departmentName": null, | 71 | departmentName: null, |
| 71 | "organizationId": "0bca67ae-1d9e-4b41-b057-f165586d24aa", | 72 | organizationId: "0bca67ae-1d9e-4b41-b057-f165586d24aa", |
| 72 | "sex": "0", | 73 | sex: "0", |
| 73 | "isDuty": true, | 74 | isDuty: true, |
| 74 | "code": "123324", | 75 | code: "123324", |
| 75 | "jobLevel": null, | 76 | jobLevel: null, |
| 76 | "telephone": "028-87720898", | 77 | telephone: "028-87720898", |
| 77 | "address": "办公地点修改测试" | 78 | address: "办公地点修改测试", |
| 78 | }, | 79 | }, |
| 79 | sexList: [], | 80 | sexList: [], |
| 80 | rules: { | 81 | rules: { |
| 81 | mobilePhone: [ | 82 | mobilePhone: [ |
| 82 | { | 83 | { |
| 83 | pattern: | 84 | pattern: |
| 84 | /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/, | 85 | /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/, |
| 85 | message: '手机号码格式有误', | 86 | message: "手机号码格式有误", |
| 86 | trigger: 'blur' | 87 | trigger: "blur", |
| 87 | } | 88 | }, |
| 88 | ], | 89 | ], |
| 89 | idCard: [ | 90 | idCard: [ |
| 90 | { | 91 | { |
| 91 | pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, | 92 | pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, |
| 92 | message: '身份证号格式有误', | 93 | message: "身份证号格式有误", |
| 93 | trigger: 'blur' | 94 | trigger: "blur", |
| 94 | } | 95 | }, |
| 95 | ] | 96 | ], |
| 96 | } | 97 | telephone: [ |
| 97 | } | 98 | { |
| 99 | pattern: /\d{3}-\d{8}|\d{4}-\d{7}/, | ||
| 100 | message: "办公电话格式有误", | ||
| 101 | trigger: "blur", | ||
| 102 | }, | ||
| 103 | ], | ||
| 104 | }, | ||
| 105 | }; | ||
| 98 | }, | 106 | }, |
| 99 | watch: { | 107 | watch: { |
| 100 | // userInfo: { | 108 | // userInfo: { |
| ... | @@ -110,69 +118,69 @@ export default { | ... | @@ -110,69 +118,69 @@ export default { |
| 110 | // if (res.status === 1) { | 118 | // if (res.status === 1) { |
| 111 | this.sexList = [ | 119 | this.sexList = [ |
| 112 | { | 120 | { |
| 113 | "id": "079c72b2-f3de-4a4f-b2a1-e5c8f085cc5f", | 121 | id: "079c72b2-f3de-4a4f-b2a1-e5c8f085cc5f", |
| 114 | "createdAt": "2021-06-11T02:42:02.000+0000", | 122 | createdAt: "2021-06-11T02:42:02.000+0000", |
| 115 | "updatedAt": "2021-09-03T09:21:46.000+0000", | 123 | updatedAt: "2021-09-03T09:21:46.000+0000", |
| 116 | "createdBy": "3127e455-43ba-45ff-9326-0e02ef89485e", | 124 | createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e", |
| 117 | "updatedBy": "3127e455-43ba-45ff-9326-0e02ef89485e", | 125 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", |
| 118 | "sort": 2, | 126 | sort: 2, |
| 119 | "name": "男", | 127 | name: "男", |
| 120 | "description": "", | 128 | description: "", |
| 121 | "code": "N362", | 129 | code: "N362", |
| 122 | "value": "0", | 130 | value: "0", |
| 123 | "parentId": null, | 131 | parentId: null, |
| 124 | "baseDataCategoryId": "11441374-5e2a-4635-bfa5-d1a430222019", | 132 | baseDataCategoryId: "11441374-5e2a-4635-bfa5-d1a430222019", |
| 125 | "version": 1, | 133 | version: 1, |
| 126 | "valid": true, | 134 | valid: true, |
| 127 | "standard": false, | 135 | standard: false, |
| 128 | "standardName": null, | 136 | standardName: null, |
| 129 | "standardValue": null, | 137 | standardValue: null, |
| 130 | "children": [], | 138 | children: [], |
| 131 | "commonName": "男(N362)" | 139 | commonName: "男(N362)", |
| 132 | }, | 140 | }, |
| 133 | { | 141 | { |
| 134 | "id": "4d6f845d-6f6a-4848-8fc2-a3760764c196", | 142 | id: "4d6f845d-6f6a-4848-8fc2-a3760764c196", |
| 135 | "createdAt": "2021-06-11T02:42:12.000+0000", | 143 | createdAt: "2021-06-11T02:42:12.000+0000", |
| 136 | "updatedAt": "2021-09-03T09:21:46.000+0000", | 144 | updatedAt: "2021-09-03T09:21:46.000+0000", |
| 137 | "createdBy": "3127e455-43ba-45ff-9326-0e02ef89485e", | 145 | createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e", |
| 138 | "updatedBy": "3127e455-43ba-45ff-9326-0e02ef89485e", | 146 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", |
| 139 | "sort": 1, | 147 | sort: 1, |
| 140 | "name": "女", | 148 | name: "女", |
| 141 | "description": "", | 149 | description: "", |
| 142 | "code": "N922", | 150 | code: "N922", |
| 143 | "value": "1", | 151 | value: "1", |
| 144 | "parentId": null, | 152 | parentId: null, |
| 145 | "baseDataCategoryId": "11441374-5e2a-4635-bfa5-d1a430222019", | 153 | baseDataCategoryId: "11441374-5e2a-4635-bfa5-d1a430222019", |
| 146 | "version": 1, | 154 | version: 1, |
| 147 | "valid": true, | 155 | valid: true, |
| 148 | "standard": false, | 156 | standard: false, |
| 149 | "standardName": null, | 157 | standardName: null, |
| 150 | "standardValue": null, | 158 | standardValue: null, |
| 151 | "children": [], | 159 | children: [], |
| 152 | "commonName": "女(N922)" | 160 | commonName: "女(N922)", |
| 153 | }, | 161 | }, |
| 154 | { | 162 | { |
| 155 | "id": "637c360b-d4e2-4afb-aa18-33624cf3abcb", | 163 | id: "637c360b-d4e2-4afb-aa18-33624cf3abcb", |
| 156 | "createdAt": "2021-06-11T02:42:29.000+0000", | 164 | createdAt: "2021-06-11T02:42:29.000+0000", |
| 157 | "updatedAt": "2021-09-03T09:21:43.000+0000", | 165 | updatedAt: "2021-09-03T09:21:43.000+0000", |
| 158 | "createdBy": "3127e455-43ba-45ff-9326-0e02ef89485e", | 166 | createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e", |
| 159 | "updatedBy": "3127e455-43ba-45ff-9326-0e02ef89485e", | 167 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", |
| 160 | "sort": 0, | 168 | sort: 0, |
| 161 | "name": "保密", | 169 | name: "保密", |
| 162 | "description": "", | 170 | description: "", |
| 163 | "code": "BM816", | 171 | code: "BM816", |
| 164 | "value": "2", | 172 | value: "2", |
| 165 | "parentId": null, | 173 | parentId: null, |
| 166 | "baseDataCategoryId": "11441374-5e2a-4635-bfa5-d1a430222019", | 174 | baseDataCategoryId: "11441374-5e2a-4635-bfa5-d1a430222019", |
| 167 | "version": 1, | 175 | version: 1, |
| 168 | "valid": true, | 176 | valid: true, |
| 169 | "standard": false, | 177 | standard: false, |
| 170 | "standardName": null, | 178 | standardName: null, |
| 171 | "standardValue": null, | 179 | standardValue: null, |
| 172 | "children": [], | 180 | children: [], |
| 173 | "commonName": "保密(BM816)" | 181 | commonName: "保密(BM816)", |
| 174 | } | 182 | }, |
| 175 | ] | 183 | ]; |
| 176 | // } else { | 184 | // } else { |
| 177 | // this.$message.error({ message: res.message, showClose: true }) | 185 | // this.$message.error({ message: res.message, showClose: true }) |
| 178 | // } | 186 | // } |
| ... | @@ -188,7 +196,8 @@ export default { | ... | @@ -188,7 +196,8 @@ export default { |
| 188 | // } | 196 | // } |
| 189 | // }) | 197 | // }) |
| 190 | // }, | 198 | // }, |
| 191 | // updateInfo() { | 199 | // 更新信息 |
| 200 | updateInfo() { | ||
| 192 | // this.$refs.form.validate((valid) => { | 201 | // this.$refs.form.validate((valid) => { |
| 193 | // if (valid) { | 202 | // if (valid) { |
| 194 | // putAction(`${api.users}/${this.form.id}`, this.form).then((res) => { | 203 | // putAction(`${api.users}/${this.form.id}`, this.form).then((res) => { |
| ... | @@ -201,14 +210,14 @@ export default { | ... | @@ -201,14 +210,14 @@ export default { |
| 201 | // }) | 210 | // }) |
| 202 | // } | 211 | // } |
| 203 | // }) | 212 | // }) |
| 204 | // } | 213 | }, |
| 205 | } | 214 | }, |
| 206 | } | 215 | }; |
| 207 | </script> | 216 | </script> |
| 208 | 217 | ||
| 209 | <style scoped lang="scss"> | 218 | <style scoped lang="scss"> |
| 210 | .user-info { | 219 | .user-info { |
| 211 | margin: 36px 200px; | 220 | margin: 0.1875rem 1.0417rem; |
| 212 | background: #ffffff; | 221 | background: #ffffff; |
| 213 | max-height: 90%; | 222 | max-height: 90%; |
| 214 | overflow-y: auto; | 223 | overflow-y: auto; |
| ... | @@ -223,7 +232,7 @@ export default { | ... | @@ -223,7 +232,7 @@ export default { |
| 223 | padding: 0 8px; | 232 | padding: 0 8px; |
| 224 | height: 40px; | 233 | height: 40px; |
| 225 | line-height: 40px; | 234 | line-height: 40px; |
| 226 | border: 1px solid #dfe7f3; | 235 | border: 1px solid #6BC1FC; |
| 227 | } | 236 | } |
| 228 | } | 237 | } |
| 229 | } | 238 | } | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="information from-clues"> | 2 | <div class="information from-clues"> |
| 3 | <div class="from-clues-header"> | 3 | <div class="from-clues-header"> |
| 4 | <el-form ref="ruleForm" :model="form" label-width="100px"> | 4 | <el-form ref="ruleForm" label-width="100px"> |
| 5 | <el-form-item> | 5 | <el-form-item> |
| 6 | <Breadcrumb /> | 6 | <Breadcrumb /> |
| 7 | </el-form-item> | 7 | </el-form-item> |
| 8 | <el-row class="mb-5"> | 8 | <el-row class="mb-5"> |
| 9 | <el-col :span="3" class="btnColRight"> | 9 | <el-col :span="3" class="btnColRight"> |
| 10 | <btn nativeType="cx" @click="information()">基本信息</btn> | 10 | <btn nativeType="cx" @click="information">基本信息</btn> |
| 11 | <btn nativeType="cx" @click="password()">修改秘密</btn> | 11 | <btn nativeType="cx" @click="password">修改密码</btn> |
| 12 | </el-col> | 12 | </el-col> |
| 13 | </el-row> | 13 | </el-row> |
| 14 | </el-form> | 14 | </el-form> |
| 15 | </div> | 15 | </div> |
| 16 | <div class="from-clues-content"> | 16 | <div class="from-clues-content"> |
| 17 | <div class="contentbox"> | 17 | <div class="contentbox"> |
| 18 | <base-set :user-info="userData" v-show="isshow" /> | 18 | <base-set v-show="isshow" /> |
| 19 | <password-edit :user-info="userData" v-show="!isshow" /> | 19 | <password-edit v-show="!isshow" /> |
| 20 | </div> | 20 | </div> |
| 21 | </div> | 21 | </div> |
| 22 | <edit-dialog ref="dialogForm" /> | ||
| 23 | <authorizationdiglog ref="rolesForm" /> | ||
| 24 | </div> | 22 | </div> |
| 25 | </template> | 23 | </template> |
| 26 | <script> | 24 | <script> |
| 25 | import "@/utils/flexible.js"; | ||
| 27 | import BaseSet from "./base-set.vue"; | 26 | import BaseSet from "./base-set.vue"; |
| 28 | import PasswordEdit from "./password-edit.vue"; | 27 | import PasswordEdit from "./password-edit.vue"; |
| 29 | export default { | 28 | export default { |
| ... | @@ -53,6 +52,7 @@ export default { | ... | @@ -53,6 +52,7 @@ export default { |
| 53 | </script> | 52 | </script> |
| 54 | 53 | ||
| 55 | <style scoped lang="scss"> | 54 | <style scoped lang="scss"> |
| 55 | @import "~@/styles/mixin.scss"; | ||
| 56 | @import "~@/styles/public.scss"; | 56 | @import "~@/styles/public.scss"; |
| 57 | .information{ | 57 | .information{ |
| 58 | .btnColRight{ | 58 | .btnColRight{ |
| ... | @@ -76,7 +76,7 @@ export default { | ... | @@ -76,7 +76,7 @@ export default { |
| 76 | } | 76 | } |
| 77 | } | 77 | } |
| 78 | .contentbox{ | 78 | .contentbox{ |
| 79 | height: 650px; | 79 | height: 3.0854rem; |
| 80 | } | 80 | } |
| 81 | } | 81 | } |
| 82 | 82 | ... | ... |
| ... | @@ -79,16 +79,17 @@ export default { | ... | @@ -79,16 +79,17 @@ export default { |
| 79 | // } | 79 | // } |
| 80 | }, | 80 | }, |
| 81 | mounted() {}, | 81 | mounted() {}, |
| 82 | // methods: { | 82 | methods: { |
| 83 | // validatorConfirmPassword(rule, value, callback) { | 83 | validatorConfirmPassword(rule, value, callback) { |
| 84 | // const { newPassword } = this.form | 84 | const { newPassword } = this.form |
| 85 | // if (value !== newPassword) { | 85 | if (value !== newPassword) { |
| 86 | // callback('两次输入密码不一致') | 86 | callback('两次输入密码不一致') |
| 87 | // } else { | 87 | } else { |
| 88 | // callback() | 88 | callback() |
| 89 | // } | 89 | } |
| 90 | // }, | 90 | }, |
| 91 | // updatePassword() { | 91 | // 确认修改 |
| 92 | updatePassword() { | ||
| 92 | // this.$refs.form.validate((valid) => { | 93 | // this.$refs.form.validate((valid) => { |
| 93 | // if (valid) { | 94 | // if (valid) { |
| 94 | // const params = Object.assign({}, this.form, { id: this.userId }) | 95 | // const params = Object.assign({}, this.form, { id: this.userId }) |
| ... | @@ -101,8 +102,8 @@ export default { | ... | @@ -101,8 +102,8 @@ export default { |
| 101 | // }) | 102 | // }) |
| 102 | // } | 103 | // } |
| 103 | // }) | 104 | // }) |
| 104 | // } | 105 | } |
| 105 | // } | 106 | } |
| 106 | } | 107 | } |
| 107 | </script> | 108 | </script> |
| 108 | 109 | ||
| ... | @@ -123,7 +124,7 @@ export default { | ... | @@ -123,7 +124,7 @@ export default { |
| 123 | padding: 0 8px; | 124 | padding: 0 8px; |
| 124 | height: 40px; | 125 | height: 40px; |
| 125 | line-height: 40px; | 126 | line-height: 40px; |
| 126 | border: 1px solid #dfe7f3; | 127 | border: 1px solid #6BC1FC; |
| 127 | } | 128 | } |
| 128 | } | 129 | } |
| 129 | } | 130 | } | ... | ... |
| ... | @@ -119,7 +119,6 @@ export default { | ... | @@ -119,7 +119,6 @@ export default { |
| 119 | // }) | 119 | // }) |
| 120 | }, | 120 | }, |
| 121 | handleSelectionChange (val) { | 121 | handleSelectionChange (val) { |
| 122 | console.log("vadddl",val); | ||
| 123 | this.multipleSelection = val | 122 | this.multipleSelection = val |
| 124 | } | 123 | } |
| 125 | } | 124 | } | ... | ... |
| ... | @@ -232,13 +232,6 @@ export default { | ... | @@ -232,13 +232,6 @@ export default { |
| 232 | tableData: { | 232 | tableData: { |
| 233 | columns: [].concat(data.columns()).concat([ | 233 | columns: [].concat(data.columns()).concat([ |
| 234 | { | 234 | { |
| 235 | label: "排序", | ||
| 236 | width: 380, | ||
| 237 | render: (h, scope) => { | ||
| 238 | return <div></div>; | ||
| 239 | }, | ||
| 240 | }, | ||
| 241 | { | ||
| 242 | label: "操作", | 235 | label: "操作", |
| 243 | width: 380, | 236 | width: 380, |
| 244 | render: (h, scope) => { | 237 | render: (h, scope) => { | ... | ... |
| ... | @@ -20,14 +20,6 @@ | ... | @@ -20,14 +20,6 @@ |
| 20 | </el-col> | 20 | </el-col> |
| 21 | <el-col :span="12"> | 21 | <el-col :span="12"> |
| 22 | <el-form-item label="角色类型:" prop="roleType"> | 22 | <el-form-item label="角色类型:" prop="roleType"> |
| 23 | <!-- <el-select v-model="dialogForm.roleType.value" placeholder="角色类型"> | ||
| 24 | <el-option | ||
| 25 | v-for="item in roleTypeOptions" | ||
| 26 | :key="item.value" | ||
| 27 | :label="item.name" | ||
| 28 | :value="item.value"> | ||
| 29 | </el-option> | ||
| 30 | </el-select> --> | ||
| 31 | <el-input | 23 | <el-input |
| 32 | v-model="dialogForm.roleType" | 24 | v-model="dialogForm.roleType" |
| 33 | clearable | 25 | clearable |
| ... | @@ -66,7 +58,7 @@ | ... | @@ -66,7 +58,7 @@ |
| 66 | 58 | ||
| 67 | <script> | 59 | <script> |
| 68 | import Dialog from "@/components/Dialog/"; | 60 | import Dialog from "@/components/Dialog/"; |
| 69 | 61 | import { api, httpAction } from '@/api/manageApi' | |
| 70 | export default { | 62 | export default { |
| 71 | components: { | 63 | components: { |
| 72 | Dialog | 64 | Dialog |
| ... | @@ -104,55 +96,57 @@ export default { | ... | @@ -104,55 +96,57 @@ export default { |
| 104 | if (valid) { | 96 | if (valid) { |
| 105 | try { | 97 | try { |
| 106 | const params = { | 98 | const params = { |
| 107 | category: this.menuType, | 99 | category: 2, |
| 108 | description: this.dialogForm.roleTextArea, | 100 | description: this.dialogForm.roleTextArea, |
| 109 | name: this.dialogForm.roleName, | 101 | name: this.dialogForm.roleName, |
| 110 | sort: this.sort, | 102 | sort: this.sort, |
| 111 | type: this.dialogForm.roleType | 103 | type: this.dialogForm.roleType |
| 112 | } | 104 | } |
| 105 | console.log("this.roleId",this.roleId); | ||
| 113 | if (this.roleId) { | 106 | if (this.roleId) { |
| 114 | // params.id = this.roleId | 107 | params.id = this.roleId |
| 115 | // httpAction(`${api.roles}/${params.id}`, params, 'post').then( | 108 | console.log("修改",params.id,params); |
| 116 | // (res) => { | 109 | httpAction(`${api.roles}/${params.id}`, params, 'post').then( |
| 117 | // if (res.status === 1) { | 110 | (res) => { |
| 118 | // this.$message.success({ | 111 | if (res.status === 1) { |
| 119 | // message: '修改成功', | 112 | this.$message.success({ |
| 120 | // showClose: true | 113 | message: '修改成功', |
| 121 | // }) | 114 | showClose: true |
| 122 | // this.dialogForm = { | 115 | }) |
| 123 | // roleName: '', | 116 | this.dialogForm = { |
| 124 | // roleType: '' | 117 | roleName: '', |
| 125 | // } | 118 | roleType: '' |
| 126 | // this.showAddEditDialog = val | 119 | } |
| 127 | // this.$emit('ok', this.menuType) | 120 | this.showAddEditDialog = val |
| 128 | // } else { | 121 | this.$emit('ok', this.menuType) |
| 129 | // this.$message.error({ | 122 | } else { |
| 130 | // message: res.message, | 123 | this.$message.error({ |
| 131 | // showClose: true | 124 | message: res.message, |
| 132 | // }) | 125 | showClose: true |
| 133 | // } | 126 | }) |
| 134 | // } | 127 | } |
| 135 | // ) | 128 | } |
| 129 | ) | ||
| 136 | } else { | 130 | } else { |
| 137 | // httpAction(api.roles, params, 'post').then((res) => { | 131 | httpAction(api.roles, params, 'post').then((res) => { |
| 138 | // if (res.status === 1) { | 132 | if (res.status === 1) { |
| 139 | // this.$message.success({ | 133 | this.$message.success({ |
| 140 | // message: '新增成功', | 134 | message: '新增成功', |
| 141 | // showClose: true | 135 | showClose: true |
| 142 | // }) | 136 | }) |
| 143 | // this.dialogForm = { | 137 | this.dialogForm = { |
| 144 | // roleName: '', | 138 | roleName: '', |
| 145 | // roleType: '' | 139 | roleType: '' |
| 146 | // } | 140 | } |
| 147 | // this.showAddEditDialog = val | 141 | this.showAddEditDialog = val |
| 148 | // this.$emit('ok', this.menuType) | 142 | this.$emit('ok', this.menuType) |
| 149 | // } else { | 143 | } else { |
| 150 | // this.$message.error({ | 144 | this.$message.error({ |
| 151 | // message: res.message, | 145 | message: res.message, |
| 152 | // showClose: true | 146 | showClose: true |
| 153 | // }) | 147 | }) |
| 154 | // } | 148 | } |
| 155 | // }) | 149 | }) |
| 156 | } | 150 | } |
| 157 | } catch (e) { | 151 | } catch (e) { |
| 158 | console.error(e) | 152 | console.error(e) |
| ... | @@ -162,6 +156,7 @@ export default { | ... | @@ -162,6 +156,7 @@ export default { |
| 162 | }, | 156 | }, |
| 163 | // 取消事件 | 157 | // 取消事件 |
| 164 | handleCloseDialog() { | 158 | handleCloseDialog() { |
| 159 | this.$refs.form.resetFields() | ||
| 165 | this.dialogForm = { | 160 | this.dialogForm = { |
| 166 | roleName: '', | 161 | roleName: '', |
| 167 | roleType: '' | 162 | roleType: '' | ... | ... |
This diff is collapsed.
Click to expand it.
| ... | @@ -27,28 +27,27 @@ | ... | @@ -27,28 +27,27 @@ |
| 27 | 27 | ||
| 28 | <script> | 28 | <script> |
| 29 | import Dialog from "@/components/Dialog/"; | 29 | import Dialog from "@/components/Dialog/"; |
| 30 | import { updateUser } from "@/api/Rolemanagement"; | ||
| 30 | export default { | 31 | export default { |
| 31 | name: "", | 32 | name: "", |
| 32 | components: { Dialog }, | 33 | components: { Dialog }, |
| 33 | props: {}, | ||
| 34 | data() { | 34 | data() { |
| 35 | return { | 35 | return { |
| 36 | title: "人员配置", | 36 | title: "人员配置", |
| 37 | visible: false, | 37 | visible: false, |
| 38 | |||
| 39 | hasSelectList: [ | 38 | hasSelectList: [ |
| 40 | { | 39 | // { |
| 41 | name: "管理员", | 40 | // name: "管理员", |
| 42 | loginName: "admin1", | 41 | // loginName: "admin1", |
| 43 | departmentName: "研发部", | 42 | // departmentName: "研发部", |
| 44 | jobLevel: null, | 43 | // jobLevel: null, |
| 45 | }, | 44 | // }, |
| 46 | { | 45 | // { |
| 47 | name: "测试账号", | 46 | // name: "测试账号", |
| 48 | loginName: "admin2", | 47 | // loginName: "admin2", |
| 49 | departmentName: "研发部", | 48 | // departmentName: "研发部", |
| 50 | jobLevel: null, | 49 | // jobLevel: null, |
| 51 | }, | 50 | // }, |
| 52 | ], //已经选择的id组成的数组 | 51 | ], //已经选择的id组成的数组 |
| 53 | tableData: { | 52 | tableData: { |
| 54 | column: [ | 53 | column: [ |
| ... | @@ -72,62 +71,24 @@ export default { | ... | @@ -72,62 +71,24 @@ export default { |
| 72 | label: "职务", | 71 | label: "职务", |
| 73 | }, | 72 | }, |
| 74 | ], | 73 | ], |
| 75 | data: [ | 74 | data: [], |
| 76 | { | 75 | // 角色id |
| 77 | id: "3127e455-43ba-45ff-9326-0e02ef89485e", | 76 | roleId: "", |
| 78 | createdAt: null, | ||
| 79 | updatedAt: "2022-08-04T03:38:27.626+0000", | ||
| 80 | createdBy: null, | ||
| 81 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
| 82 | sort: 1, | ||
| 83 | name: "超级管理员", | ||
| 84 | loginName: "admin", | ||
| 85 | password: "05eb15777e8fd1d61c840472e7267f61d432f63340d86b59", | ||
| 86 | passwordSalt: "5178114777136485", | ||
| 87 | email: null, | ||
| 88 | lastLoginTime: null, | ||
| 89 | mobilePhone: "18291003568", | ||
| 90 | status: "ACTIVE", | ||
| 91 | passwordChangeTime: "2021-12-10T08:01:01.569+0000", | ||
| 92 | idCard: "612725202111021521", | ||
| 93 | departmentId: "2eae5304-544f-4f5b-b354-8f5d47433c9b", | ||
| 94 | organizationId: "0bca67ae-1d9e-4b41-b057-f165586d24aa", | ||
| 95 | sex: "0", | ||
| 96 | isDuty: true, | ||
| 97 | code: "123324", | ||
| 98 | jobLevel: null, | ||
| 99 | telephone: "028-87720898", | ||
| 100 | address: "办公地点修改测试", | ||
| 101 | isLocked: false, | ||
| 102 | departmentName: "研发部", | ||
| 103 | _X_ROW_KEY: "row_276", | ||
| 104 | }, | ||
| 105 | { | ||
| 106 | name: "管理员", | ||
| 107 | loginName: "admin1", | ||
| 108 | departmentName: "研发部", | ||
| 109 | jobLevel: null, | ||
| 110 | selectStatus: 0, | ||
| 111 | }, | ||
| 112 | { | ||
| 113 | name: "测试账号", | ||
| 114 | loginName: "admin2", | ||
| 115 | departmentName: "研发部", | ||
| 116 | jobLevel: null, | ||
| 117 | selectStatus: 0, | ||
| 118 | }, | ||
| 119 | ], | ||
| 120 | }, | 77 | }, |
| 121 | multipleSelection: [], | 78 | multipleSelection: [], |
| 122 | }; | 79 | }; |
| 123 | }, | 80 | }, |
| 124 | computed: {}, | 81 | computed: {}, |
| 125 | watch: {}, | 82 | |
| 126 | created() {}, | 83 | created() {}, |
| 127 | mounted() {}, | 84 | mounted() {}, |
| 128 | methods: { | 85 | methods: { |
| 129 | adds() { | 86 | // 人员配置根据selectStatus字段确定已选人员 |
| 87 | adds(a, rid) { | ||
| 88 | this.roleId = rid; | ||
| 130 | this.visible = true; | 89 | this.visible = true; |
| 90 | console.log("a", a); | ||
| 91 | this.tableData.data = a; | ||
| 131 | this.tableData.data.forEach((item, index) => { | 92 | this.tableData.data.forEach((item, index) => { |
| 132 | if (item.selectStatus === 0) { | 93 | if (item.selectStatus === 0) { |
| 133 | this.$nextTick(() => { | 94 | this.$nextTick(() => { |
| ... | @@ -142,35 +103,35 @@ export default { | ... | @@ -142,35 +103,35 @@ export default { |
| 142 | close() { | 103 | close() { |
| 143 | this.visible = false; | 104 | this.visible = false; |
| 144 | }, | 105 | }, |
| 145 | // 保存事件 | 106 | // 保存 |
| 146 | handleSaveMember() { | 107 | handleSaveMember() { |
| 147 | // if (this.memberList.length === 0) { | 108 | const idList = this.multipleSelection.map((item) => { |
| 148 | // this.$message.warning("请添加待选人员"); | 109 | return item.id; |
| 149 | // return false; | 110 | }); |
| 150 | // } | 111 | console.log("this.roleId",this.roleId,idList); |
| 151 | // const idList = this.memberList.map(item => item.id) | 112 | updateUser(this.roleId, idList).then((res) => { |
| 152 | // updateUser(this.roleId, idList).then(res => { | 113 | console.log("res",res); |
| 153 | // if (res.status === 1) { | 114 | if (res.status === 1) { |
| 154 | // this.$message.success({ message: '保存成功', showClose: true }) | 115 | this.$message.success({ message: "保存成功", showClose: true }); |
| 155 | // this.showMemberConfigDialog = false | 116 | this.visible = false; |
| 156 | // this.$emit('setUsers', this.roleId) | 117 | // this.$emit("setUsers", this.roleId); |
| 157 | // this.resetMemberConfig() | 118 | // this.resetMemberConfig(); |
| 158 | // } else this.$message.error({ message: res.message, showClose: true }) | 119 | } else this.$message.error({ message: res.message, showClose: true }); |
| 159 | // }) | 120 | }); |
| 160 | }, | 121 | }, |
| 161 | handleSelectionChange(val) { | 122 | handleSelectionChange(val) { |
| 123 | console.log("val", val); | ||
| 162 | this.multipleSelection = val; | 124 | this.multipleSelection = val; |
| 163 | }, | 125 | }, |
| 164 | }, | 126 | }, |
| 165 | }; | 127 | }; |
| 166 | </script> | 128 | </script> |
| 167 | <style scoped lang="scss"> | 129 | <style scoped lang="scss"> |
| 168 | /deep/.el-dialog__header{ | 130 | /deep/.el-dialog__header { |
| 169 | text-align: center; | 131 | text-align: center; |
| 170 | margin-bottom: 10px; | 132 | margin-bottom: 10px; |
| 171 | .el-dialog__title{ | 133 | .el-dialog__title { |
| 172 | color: white; | 134 | color: white; |
| 135 | } | ||
| 173 | } | 136 | } |
| 174 | } | ||
| 175 | |||
| 176 | </style> | 137 | </style> | ... | ... |
| ... | @@ -6,34 +6,35 @@ class data extends filter { | ... | @@ -6,34 +6,35 @@ class data extends filter { |
| 6 | columns () { | 6 | columns () { |
| 7 | return [ | 7 | return [ |
| 8 | { | 8 | { |
| 9 | prop: "job_name", | 9 | prop: "jobName", |
| 10 | label: "任务名称", | 10 | label: "任务名称", |
| 11 | width: 130 | 11 | width: 130 |
| 12 | }, | 12 | }, |
| 13 | { | 13 | { |
| 14 | prop: "description", | 14 | prop: "remark", |
| 15 | label: "任务描述", | 15 | label: "任务描述", |
| 16 | width: 300 | 16 | width: 300 |
| 17 | }, | 17 | }, |
| 18 | { | 18 | { |
| 19 | prop: "cron_expression", | 19 | prop: "cronExpression", |
| 20 | label: "cron表达式" | 20 | label: "cron表达式" |
| 21 | }, | 21 | }, |
| 22 | { | 22 | { |
| 23 | prop: "bean_class", | 23 | prop: "beanName", |
| 24 | width: 260, | 24 | width: 260, |
| 25 | label: "任务类" | 25 | label: "任务类" |
| 26 | }, | 26 | }, |
| 27 | { | 27 | { |
| 28 | prop: "job_group", | 28 | prop: "methodName", |
| 29 | label: "任务分组" | 29 | label: "方法名称" |
| 30 | }, | 30 | }, |
| 31 | { | 31 | { |
| 32 | label: "状态", | 32 | label: "状态", |
| 33 | prop: "jobStatus", | ||
| 33 | render: (h, scope) => { | 34 | render: (h, scope) => { |
| 34 | return ( | 35 | return ( |
| 35 | <div> | 36 | <div> |
| 36 | { this.stateStatus(scope.row.job_status) } | 37 | { this.stateStatus(scope.row.jobStatus) } |
| 37 | </div> | 38 | </div> |
| 38 | ) | 39 | ) |
| 39 | }, | 40 | }, | ... | ... |
| ... | @@ -8,11 +8,12 @@ | ... | @@ -8,11 +8,12 @@ |
| 8 | <el-row> | 8 | <el-row> |
| 9 | <el-col :span="6"> | 9 | <el-col :span="6"> |
| 10 | <el-form-item label="搜索标题"> | 10 | <el-form-item label="搜索标题"> |
| 11 | <el-input v-model="form.job_name" placeholder="标题"></el-input> | 11 | <el-input v-model="form.jobName" placeholder="标题"></el-input> |
| 12 | </el-form-item> | 12 | </el-form-item> |
| 13 | </el-col> | 13 | </el-col> |
| 14 | <el-col :span="18" class="btnColRight"> | 14 | <el-col :span="18" class="btnColRight"> |
| 15 | <btn nativeType="cx" @click="handleSearch">查询</btn> | 15 | <btn nativeType="cx" @click="handleSubmit">搜索</btn> |
| 16 | <btn nativeType="cx" @click="resetSe">重置</btn> | ||
| 16 | <btn nativeType="cx" @click="handleAdd">新增</btn> | 17 | <btn nativeType="cx" @click="handleAdd">新增</btn> |
| 17 | </el-col> | 18 | </el-col> |
| 18 | </el-row> | 19 | </el-row> |
| ... | @@ -23,7 +24,7 @@ | ... | @@ -23,7 +24,7 @@ |
| 23 | @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns" | 24 | @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns" |
| 24 | :data="tableData.data"> | 25 | :data="tableData.data"> |
| 25 | </lb-table> | 26 | </lb-table> |
| 26 | <add-task ref="task" :taskData="taskData" /> | 27 | <add-task ref="task" :taskData="taskData" v-model="isDialog"/> |
| 27 | </div> | 28 | </div> |
| 28 | </div> | 29 | </div> |
| 29 | </template> | 30 | </template> |
| ... | @@ -42,8 +43,9 @@ export default { | ... | @@ -42,8 +43,9 @@ export default { |
| 42 | data () { | 43 | data () { |
| 43 | return { | 44 | return { |
| 44 | taskData: null, | 45 | taskData: null, |
| 46 | isDialog: false, | ||
| 45 | form: { | 47 | form: { |
| 46 | job_name: '', | 48 | jobName: '', |
| 47 | currentPage: 1 | 49 | currentPage: 1 |
| 48 | }, | 50 | }, |
| 49 | selectionList: [], | 51 | selectionList: [], |
| ... | @@ -60,37 +62,23 @@ export default { | ... | @@ -60,37 +62,23 @@ export default { |
| 60 | render: (h, scope) => { | 62 | render: (h, scope) => { |
| 61 | return ( | 63 | return ( |
| 62 | <div> | 64 | <div> |
| 63 | <el-button type="text" size="mini" style="color: #67C23A" | ||
| 64 | v-show={scope.row.job_status !== '1' && scope.row.job_status !== '2'} | ||
| 65 | icon="el-icon-magic-stick" | ||
| 66 | onClick={() => { this.handleRecovery(scope.row) }}>激活 | ||
| 67 | </el-button> | ||
| 68 | |||
| 69 | <el-button type="text" size="mini" | ||
| 70 | style="color: #67C23A;margin-left:0" | ||
| 71 | icon="el-icon-refresh-right" | ||
| 72 | v-show={scope.row.job_status === '2'} | ||
| 73 | onClick={() => { this.handleActivation(scope.row) }}>恢复 | ||
| 74 | </el-button> | ||
| 75 | |||
| 76 | <el-button type="text" size="mini" | 65 | <el-button type="text" size="mini" |
| 77 | v-show={scope.row.job_status !== '1'} | 66 | v-show={scope.row.jobStatus === 0} |
| 78 | icon="el-icon-stopwatch" | 67 | icon="el-icon-video-pause" |
| 79 | onClick={() => { this.handletest(scope.row) }}>手动测试 | 68 | onClick={() => { this.handleActive(scope.row) }}>激活 |
| 80 | </el-button> | 69 | </el-button> |
| 81 | <el-button type="text" size="mini" | 70 | <el-button type="text" size="mini" |
| 82 | v-show={scope.row.job_status === '1'} | 71 | v-show={scope.row.jobStatus === -1} |
| 83 | icon="el-icon-video-pause" | 72 | icon="el-icon-video-pause" |
| 84 | onClick={() => { this.handleSuspend(scope.row) }}>暂停 | 73 | onClick={() => { this.recover(scope.row) }}>恢复 |
| 85 | </el-button> | 74 | </el-button> |
| 86 | <el-button type="text" size="mini" | 75 | <el-button type="text" size="mini" |
| 87 | icon="el-icon-edit" | 76 | icon="el-icon-edit" |
| 88 | v-show={scope.row.job_status === '2' || scope.row.job_status === '-1' || scope.row.job_status === '0'} | ||
| 89 | onClick={() => { this.handleEdit(scope.row) }}>编辑 | 77 | onClick={() => { this.handleEdit(scope.row) }}>编辑 |
| 90 | </el-button> | 78 | </el-button> |
| 91 | <el-button type="text" size="mini" | 79 | <el-button type="text" size="mini" |
| 92 | icon="el-icon-delete" style="color:#F56C6C" | 80 | icon="el-icon-delete" style="color:#F56C6C" |
| 93 | v-show={scope.row.job_status !== '1'} | 81 | v-show={scope.row.jobStatus !== -1} |
| 94 | onClick={() => { this.handleDel(scope.row) }}>删除 | 82 | onClick={() => { this.handleDel(scope.row) }}>删除 |
| 95 | </el-button> | 83 | </el-button> |
| 96 | </div> | 84 | </div> |
| ... | @@ -110,37 +98,30 @@ export default { | ... | @@ -110,37 +98,30 @@ export default { |
| 110 | methods: { | 98 | methods: { |
| 111 | handleAdd () { | 99 | handleAdd () { |
| 112 | this.taskData = null | 100 | this.taskData = null |
| 113 | this.$refs.task.isShow() | 101 | this.isDialog = true |
| 114 | }, | 102 | }, |
| 115 | handleSearch () { | 103 | resetSe() { |
| 116 | this.form.currentPage = 1 | 104 | this.form.jobName = '' |
| 117 | this.tableData.data = [] | 105 | this.featchData() |
| 118 | this.queryClick() | ||
| 119 | }, | 106 | }, |
| 120 | async featchData () { | 107 | async featchData () { |
| 121 | try { | 108 | try { |
| 122 | this.form = Object.assign(this.form, this.formData) | 109 | this.form = Object.assign(this.form, this.formData) |
| 123 | let { result: { list, total, pages: pageSize, pageNum: current } | 110 | let { result } = await sjsbTask.getTaskListByName(this.form) |
| 124 | } = await sjsbTask.getTaskListByName(this.form) | 111 | this.tableData.data = result.list |
| 125 | this.tableData.data = list | 112 | console.log(this.tableData.data, 'fffffffffffffffffff') |
| 126 | this.pageData = { | ||
| 127 | pageSize, | ||
| 128 | current, | ||
| 129 | total | ||
| 130 | } | ||
| 131 | } catch (error) { | 113 | } catch (error) { |
| 132 | this.message = error | 114 | this.message = error |
| 133 | } | 115 | } |
| 134 | }, | 116 | }, |
| 135 | // 暂停 | 117 | recover(row) { |
| 136 | handleSuspend (row) { | 118 | this.$confirm('此操将进行恢复操作, 是否继续?', '提示', { |
| 137 | this.$confirm('此操将进行暂停操作, 是否继续?', '提示', { | ||
| 138 | confirmButtonText: '确定', | 119 | confirmButtonText: '确定', |
| 139 | cancelButtonText: '取消', | 120 | cancelButtonText: '取消', |
| 140 | type: 'warning', | 121 | type: 'warning', |
| 141 | }) | 122 | }) |
| 142 | .then(() => { | 123 | .then(() => { |
| 143 | sjsbTask.pauseJob(row.id) | 124 | sjsbTask.recover(row.jobId) |
| 144 | .then((res) => { | 125 | .then((res) => { |
| 145 | if ((res.code = 200)) { | 126 | if ((res.code = 200)) { |
| 146 | this.$message({ | 127 | this.$message({ |
| ... | @@ -164,15 +145,15 @@ export default { | ... | @@ -164,15 +145,15 @@ export default { |
| 164 | }) | 145 | }) |
| 165 | }) | 146 | }) |
| 166 | }, | 147 | }, |
| 167 | // 激活 | 148 | |
| 168 | handleRecovery (row) { | 149 | handleActive(row) { |
| 169 | this.$confirm('此操将进行激活操作, 是否继续?', '提示', { | 150 | this.$confirm('此操将进行激活操作, 是否继续?', '提示', { |
| 170 | confirmButtonText: '确定', | 151 | confirmButtonText: '确定', |
| 171 | cancelButtonText: '取消', | 152 | cancelButtonText: '取消', |
| 172 | type: 'warning', | 153 | type: 'warning', |
| 173 | }) | 154 | }) |
| 174 | .then(() => { | 155 | .then(() => { |
| 175 | sjsbTask.activateJob(row.id) | 156 | sjsbTask.active(row.jobId) |
| 176 | .then((res) => { | 157 | .then((res) => { |
| 177 | if ((res.code = 200)) { | 158 | if ((res.code = 200)) { |
| 178 | this.$message({ | 159 | this.$message({ |
| ... | @@ -196,15 +177,15 @@ export default { | ... | @@ -196,15 +177,15 @@ export default { |
| 196 | }) | 177 | }) |
| 197 | }) | 178 | }) |
| 198 | }, | 179 | }, |
| 199 | // 恢复 | 180 | // 暂停 |
| 200 | handleActivation (row) { | 181 | handleSuspend (row) { |
| 201 | this.$confirm('此操将进行恢复操作, 是否继续?', '提示', { | 182 | this.$confirm('此操将进行暂停操作, 是否继续?', '提示', { |
| 202 | confirmButtonText: '确定', | 183 | confirmButtonText: '确定', |
| 203 | cancelButtonText: '取消', | 184 | cancelButtonText: '取消', |
| 204 | type: 'warning', | 185 | type: 'warning', |
| 205 | }) | 186 | }) |
| 206 | .then(() => { | 187 | .then(() => { |
| 207 | sjsbTask.resumeJob(row.id) | 188 | sjsbTask.pauseJob(row.id) |
| 208 | .then((res) => { | 189 | .then((res) => { |
| 209 | if ((res.code = 200)) { | 190 | if ((res.code = 200)) { |
| 210 | this.$message({ | 191 | this.$message({ |
| ... | @@ -228,41 +209,9 @@ export default { | ... | @@ -228,41 +209,9 @@ export default { |
| 228 | }) | 209 | }) |
| 229 | }) | 210 | }) |
| 230 | }, | 211 | }, |
| 231 | // 手动测试 | ||
| 232 | handletest (row) { | ||
| 233 | this.$confirm('此操将进行手动测试, 是否继续?', '提示', { | ||
| 234 | confirmButtonText: '确定', | ||
| 235 | cancelButtonText: '取消', | ||
| 236 | type: 'warning', | ||
| 237 | }) | ||
| 238 | .then(() => { | ||
| 239 | sjsbTask.sjsbTaskRun(row.id) | ||
| 240 | .then((res) => { | ||
| 241 | if ((res.code = 200)) { | ||
| 242 | this.$alert(res.message, '提示', { | ||
| 243 | confirmButtonText: '确定', | ||
| 244 | type: 'success' | ||
| 245 | }); | ||
| 246 | this.featchData() | ||
| 247 | } | ||
| 248 | }) | ||
| 249 | .catch((error) => { | ||
| 250 | this.$alert(error, '提示', { | ||
| 251 | confirmButtonText: '确定', | ||
| 252 | type: 'error' | ||
| 253 | }) | ||
| 254 | }) | ||
| 255 | }) | ||
| 256 | .catch(() => { | ||
| 257 | this.$message({ | ||
| 258 | type: 'info', | ||
| 259 | message: '已取消', | ||
| 260 | }) | ||
| 261 | }) | ||
| 262 | }, | ||
| 263 | handleEdit (row) { | 212 | handleEdit (row) { |
| 264 | this.taskData = row | 213 | this.taskData = row |
| 265 | this.$refs.task.isShow() | 214 | this.isDialog = true |
| 266 | }, | 215 | }, |
| 267 | handleDel (row) { | 216 | handleDel (row) { |
| 268 | this.$confirm('此操将进行删除操作, 是否继续?', '提示', { | 217 | this.$confirm('此操将进行删除操作, 是否继续?', '提示', { |
| ... | @@ -271,7 +220,7 @@ export default { | ... | @@ -271,7 +220,7 @@ export default { |
| 271 | type: 'warning', | 220 | type: 'warning', |
| 272 | }) | 221 | }) |
| 273 | .then(() => { | 222 | .then(() => { |
| 274 | sjsbTask.sjsbTaskRemove(row.id) | 223 | sjsbTask.sjsbTaskRemove(row.jobId) |
| 275 | .then((res) => { | 224 | .then((res) => { |
| 276 | if ((res.code = 200)) { | 225 | if ((res.code = 200)) { |
| 277 | this.$message({ | 226 | this.$message({ | ... | ... |
| ... | @@ -24,8 +24,8 @@ | ... | @@ -24,8 +24,8 @@ |
| 24 | @p-current-change="handleCurrentChange" | 24 | @p-current-change="handleCurrentChange" |
| 25 | :column="tableData.columns" | 25 | :column="tableData.columns" |
| 26 | :data="tableData.data" | 26 | :data="tableData.data" |
| 27 | :key="key" | 27 | :expand-row-keys="keyList" |
| 28 | :expand-row-keys="keyList" row-key="dictid" | 28 | row-key="dictid" |
| 29 | > | 29 | > |
| 30 | </lb-table> | 30 | </lb-table> |
| 31 | </div> | 31 | </div> |
| ... | @@ -33,7 +33,6 @@ | ... | @@ -33,7 +33,6 @@ |
| 33 | </div> | 33 | </div> |
| 34 | </template> | 34 | </template> |
| 35 | <script> | 35 | <script> |
| 36 | // 定时任务 | ||
| 37 | import { | 36 | import { |
| 38 | getUuid, | 37 | getUuid, |
| 39 | judgeSort, | 38 | judgeSort, |
| ... | @@ -187,35 +186,18 @@ export default { | ... | @@ -187,35 +186,18 @@ export default { |
| 187 | }, | 186 | }, |
| 188 | }; | 187 | }; |
| 189 | }, | 188 | }, |
| 189 | created() { | ||
| 190 | this.featchData(); | ||
| 191 | }, | ||
| 190 | methods: { | 192 | methods: { |
| 191 | // 添加索引 | 193 | |
| 192 | // addIndexes (data = this.tableData.data, isAdd = true) { | ||
| 193 | // data.forEach((item, index) => { | ||
| 194 | // if (index == 0) { | ||
| 195 | // item.codeShow = true; | ||
| 196 | // item.nameShow = false; | ||
| 197 | // item.normcodeShow = false; | ||
| 198 | // item.normnameShow = false; | ||
| 199 | // } else { | ||
| 200 | // item.codeShow = false; | ||
| 201 | // item.nameShow = false; | ||
| 202 | // item.normcodeShow = false; | ||
| 203 | // item.normnameShow = false; | ||
| 204 | // } | ||
| 205 | // if (isAdd) { | ||
| 206 | // item.index = index + 1; | ||
| 207 | // } | ||
| 208 | // if (item.children) { | ||
| 209 | // this.addIndexes(item.children, false); | ||
| 210 | // } | ||
| 211 | // }); | ||
| 212 | // }, | ||
| 213 | handleAdd() { | 194 | handleAdd() { |
| 214 | this.taskData = null; | 195 | this.taskData = null; |
| 215 | this.$refs.dialogForm.add(); | 196 | this.$refs.dialogForm.add(); |
| 216 | this.$refs.dialogForm.title = "添加"; | 197 | this.$refs.dialogForm.title = "添加"; |
| 217 | }, | 198 | }, |
| 218 | featchData() { | 199 | featchData() { |
| 200 | |||
| 219 | this.tableData.data = [ | 201 | this.tableData.data = [ |
| 220 | { | 202 | { |
| 221 | "dictid": "51b9f487861671f77782c5a23b5fe52e", | 203 | "dictid": "51b9f487861671f77782c5a23b5fe52e", |
| ... | @@ -226,8 +208,6 @@ export default { | ... | @@ -226,8 +208,6 @@ export default { |
| 226 | "DNAME": "小红", | 208 | "DNAME": "小红", |
| 227 | "SORT": null, | 209 | "SORT": null, |
| 228 | "index": 1, | 210 | "index": 1, |
| 229 | "isTop": true, | ||
| 230 | "isBottom": false | ||
| 231 | }, | 211 | }, |
| 232 | { | 212 | { |
| 233 | "dictid": "2291d9e298274c1ea1f40df63fbcff47", | 213 | "dictid": "2291d9e298274c1ea1f40df63fbcff47", |
| ... | @@ -238,8 +218,6 @@ export default { | ... | @@ -238,8 +218,6 @@ export default { |
| 238 | "DNAME": "小李", | 218 | "DNAME": "小李", |
| 239 | "SORT": null, | 219 | "SORT": null, |
| 240 | "index": 2, | 220 | "index": 2, |
| 241 | "isTop": false, | ||
| 242 | "isBottom": false | ||
| 243 | }, | 221 | }, |
| 244 | { | 222 | { |
| 245 | "dictid": "e6a5aeb8957b8029fa31586fb30dd5b8", | 223 | "dictid": "e6a5aeb8957b8029fa31586fb30dd5b8", |
| ... | @@ -250,11 +228,10 @@ export default { | ... | @@ -250,11 +228,10 @@ export default { |
| 250 | "DNAME": "小田", | 228 | "DNAME": "小田", |
| 251 | "SORT": null, | 229 | "SORT": null, |
| 252 | "index": 13, | 230 | "index": 13, |
| 253 | "isTop": false, | ||
| 254 | "isBottom": true | ||
| 255 | } | 231 | } |
| 256 | ]; | 232 | ] |
| 257 | }, | 233 | this.tableData.data=judgeSort(this.tableData.data) |
| 234 | }, | ||
| 258 | 235 | ||
| 259 | // 更新用户解锁状态 | 236 | // 更新用户解锁状态 |
| 260 | updateLock(id, name) { | 237 | updateLock(id, name) { | ... | ... |
-
Please register or sign in to post a comment