diff --git a/.env.development b/.env.development index b586625..25cced7 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VUE_APP_TITLE = 对嘛管理系统 +VUE_APP_TITLE = 若依管理系统 # 开发环境配置 ENV = 'development' diff --git a/.env.production b/.env.production index 5cb33eb..0934cda 100644 --- a/.env.production +++ b/.env.production @@ -5,4 +5,4 @@ VUE_APP_TITLE = 对嘛管理系统 ENV = 'production' # 对嘛管理系统/生产环境 -VUE_APP_BASE_API = '/prod-api' +VUE_APP_BASE_API = '/duima' diff --git a/.eslintrc.js b/.eslintrc.js index 17be2f1..7059116 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -14,7 +14,7 @@ module.exports = { // 添加全局变量 globals: { uni: 'readonly', - wx: 'readonly' + wx: 'readonly', }, extends: ['plugin:vue/recommended', 'eslint:recommended'], // 使用的默认的规则集 diff --git a/package.json b/package.json index 470f7e0..8a77d71 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "river", "version": "1.0.0", - "description": "对嘛管理系统", + "description": "若依管理系统", "author": "对嘛", "license": "MIT", "scripts": { diff --git a/public/index.html b/public/index.html index caf21b6..64becb8 100644 --- a/public/index.html +++ b/public/index.html @@ -88,5 +88,11 @@ - + + + diff --git a/src/api/sch/file.js b/src/api/sch/file.js new file mode 100644 index 0000000..8aa1d40 --- /dev/null +++ b/src/api/sch/file.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询文件列表 +export function listFile(query) { + return request({ + url: '/sch/file/list', + method: 'get', + params: query + }) +} + +// 查询文件详细 +export function getFile(fileId) { + return request({ + url: '/sch/file/' + fileId, + method: 'get' + }) +} + +// 新增文件 +export function addFile(data) { + return request({ + url: '/sch/file', + method: 'post', + data: data + }) +} + +// 修改文件 +export function updateFile(data) { + return request({ + url: '/sch/file', + method: 'put', + data: data + }) +} + +// 删除文件 +export function delFile(fileId) { + return request({ + url: '/sch/file/' + fileId, + method: 'delete' + }) +} diff --git a/src/api/sch/rules.js b/src/api/sch/rules.js new file mode 100644 index 0000000..1d243b4 --- /dev/null +++ b/src/api/sch/rules.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询规章制度列表 +export function listRules(query) { + return request({ + url: '/sch/rules/list', + method: 'get', + params: query + }) +} + +// 查询规章制度详细 +export function getRules(ruleId) { + return request({ + url: '/sch/rules/' + ruleId, + method: 'get' + }) +} + +// 新增规章制度 +export function addRules(data) { + return request({ + url: '/sch/rules', + method: 'post', + data: data + }) +} + +// 修改规章制度 +export function updateRules(data) { + return request({ + url: '/sch/rules', + method: 'put', + data: data + }) +} + +// 删除规章制度 +export function delRules(ruleId) { + return request({ + url: '/sch/rules/' + ruleId, + method: 'delete' + }) +} diff --git a/src/api/zs/clue.js b/src/api/zs/clue.js index 58785e0..3427994 100644 --- a/src/api/zs/clue.js +++ b/src/api/zs/clue.js @@ -9,6 +9,15 @@ export function getClueList(query) { }); } +// 查询线索列表 +export function getClueInfo(id) { + return request({ + url: '/zs/clue/' + id, + method: 'get', + }); +} + + // 新增线索 export function addClue(data) { return request({ @@ -39,8 +48,8 @@ export function deleteClue(data) { export function exportData(query) { return request({ url: '/zs/clue/export', - method: 'get', - params: query + method: 'post', + data: query }); } diff --git a/src/api/zs/sign.js b/src/api/zs/sign.js index de910a1..31ebf4b 100644 --- a/src/api/zs/sign.js +++ b/src/api/zs/sign.js @@ -9,12 +9,20 @@ export function getSignList(query) { }); } +// 查询线索列表 +export function getSign(id) { + return request({ + url: '/zs/sign/' + id, + method: 'get' + }); +} + // 导出 export function exportData(query) { return request({ url: '/zs/sign/export', - method: 'get', - params: query + method: 'post', + data: query }); } diff --git a/src/assets/images/place/position_black.png b/src/assets/images/place/position_black.png new file mode 100644 index 0000000..8e83901 Binary files /dev/null and b/src/assets/images/place/position_black.png differ diff --git a/src/assets/images/place/position_blue.png b/src/assets/images/place/position_blue.png new file mode 100644 index 0000000..12f5513 Binary files /dev/null and b/src/assets/images/place/position_blue.png differ diff --git a/src/assets/images/place/position_green.png b/src/assets/images/place/position_green.png new file mode 100644 index 0000000..e8f80cf Binary files /dev/null and b/src/assets/images/place/position_green.png differ diff --git a/src/assets/images/place/position_purple.png b/src/assets/images/place/position_purple.png new file mode 100644 index 0000000..ec2e317 Binary files /dev/null and b/src/assets/images/place/position_purple.png differ diff --git a/src/assets/images/place/position_red.png b/src/assets/images/place/position_red.png new file mode 100644 index 0000000..884978c Binary files /dev/null and b/src/assets/images/place/position_red.png differ diff --git a/src/assets/images/place/position_yellow.png b/src/assets/images/place/position_yellow.png new file mode 100644 index 0000000..bbab56f Binary files /dev/null and b/src/assets/images/place/position_yellow.png differ diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss index b13527e..0b52bad 100644 --- a/src/assets/styles/index.scss +++ b/src/assets/styles/index.scss @@ -233,3 +233,8 @@ aside { padding: 15px 20px 0 20px; } } + +.amap-sug-result { + z-index: 9999; +} + diff --git a/src/layout/components/Sidebar/Logo.vue b/src/layout/components/Sidebar/Logo.vue index 8a2d3d2..9ce5bf0 100644 --- a/src/layout/components/Sidebar/Logo.vue +++ b/src/layout/components/Sidebar/Logo.vue @@ -27,7 +27,7 @@ export default { }, data() { return { - title: '对嘛管理系统', + title: '若依管理系统', logo: logoImg }; }, diff --git a/src/permission.js b/src/permission.js index 012ffa3..c25eba8 100644 --- a/src/permission.js +++ b/src/permission.js @@ -1,12 +1,20 @@ import router from './router'; import store from './store'; -import { Message } from 'element-ui'; +import { + Message +} from 'element-ui'; import NProgress from 'nprogress'; import 'nprogress/nprogress.css'; -import { getToken } from '@/utils/auth'; -import { isRelogin } from '@/utils/request'; +import { + getToken +} from '@/utils/auth'; +import { + isRelogin +} from '@/utils/request'; -NProgress.configure({ showSpinner: false }); +NProgress.configure({ + showSpinner: false +}); const whiteList = ['/login', '/auth-redirect', '/bind', '/register']; @@ -16,7 +24,9 @@ router.beforeEach((to, from, next) => { to.meta.title && store.dispatch('settings/setTitle', to.meta.title); /* has token*/ if (to.path === '/login') { - next({ path: '/' }); + next({ + path: '/' + }); NProgress.done(); } else { if (store.getters.roles.length === 0) { @@ -24,18 +34,25 @@ router.beforeEach((to, from, next) => { // 判断当前用户是否已拉取完user_info信息 store .dispatch('GetInfo') - .then(() => { + .then((resp) => { isRelogin.show = false; + localStorage.setItem('admin', resp.user.admin); + localStorage.setItem('userId', resp.user.userId); store.dispatch('GenerateRoutes').then((accessRoutes) => { // 根据roles权限生成可访问的路由表 router.addRoutes(accessRoutes); // 动态添加可访问路由表 - next({ ...to, replace: true }); // hack方法 确保addRoutes已完成 + next({ + ...to, + replace: true + }); // hack方法 确保addRoutes已完成 }); }) .catch((err) => { store.dispatch('LogOut').then(() => { Message.error(err); - next({ path: '/' }); + next({ + path: '/' + }); }); }); } else { diff --git a/src/router/index.js b/src/router/index.js index 4a90961..ce60396 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -29,17 +29,14 @@ import Layout from '@/layout'; */ // 公共路由 -export const constantRoutes = [ - { +export const constantRoutes = [{ path: '/redirect', component: Layout, hidden: true, - children: [ - { - path: '/redirect/:path(.*)', - component: () => import('@/views/redirect') - } - ] + children: [{ + path: '/redirect/:path(.*)', + component: () => import('@/views/redirect') + }] }, { path: '/login', @@ -65,18 +62,16 @@ export const constantRoutes = [ path: '', component: Layout, redirect: 'index', - children: [ - { - path: 'index', - component: () => import('@/views/index'), - name: 'Index', - meta: { - title: '首页', - icon: 'dashboard', - affix: true - } + children: [{ + path: 'index', + component: () => import('@/views/index'), + name: 'Index', + meta: { + title: '首页', + icon: 'dashboard', + affix: true } - ] + }] }, // { // path: '/demo', @@ -111,89 +106,93 @@ export const constantRoutes = [ component: Layout, hidden: true, redirect: 'noredirect', - children: [ - { - path: 'profile', - component: () => import('@/views/system/user/profile/index'), - name: 'Profile', - meta: { - title: '个人中心', - icon: 'user' - } + children: [{ + path: 'profile', + component: () => import('@/views/system/user/profile/index'), + name: 'Profile', + meta: { + title: '个人中心', + icon: 'user' } - ] + }] } ]; // 动态路由,基于用户权限动态去加载 -export const dynamicRoutes = [ - { +export const dynamicRoutes = [{ path: '/system/user-auth', component: Layout, hidden: true, permissions: ['system:user:edit'], - children: [ - { - path: 'role/:userId(\\d+)', - component: () => import('@/views/system/user/authRole'), - name: 'AuthRole', - meta: { - title: '分配角色', - activeMenu: '/system/user' - } + children: [{ + path: 'role/:userId(\\d+)', + component: () => import('@/views/system/user/authRole'), + name: 'AuthRole', + meta: { + title: '分配角色', + activeMenu: '/system/user' } - ] + }] }, { path: '/system/role-auth', component: Layout, hidden: true, permissions: ['system:role:edit'], - children: [ - { - path: 'user/:roleId(\\d+)', - component: () => import('@/views/system/role/authUser'), - name: 'AuthUser', - meta: { - title: '分配用户', - activeMenu: '/system/role' - } + children: [{ + path: 'user/:roleId(\\d+)', + component: () => import('@/views/system/role/authUser'), + name: 'AuthUser', + meta: { + title: '分配用户', + activeMenu: '/system/role' } - ] + }] }, { path: '/system/dict-data', component: Layout, hidden: true, permissions: ['system:dict:list'], - children: [ - { - path: 'index/:dictId(\\d+)', - component: () => import('@/views/system/dict/data'), - name: 'Data', - meta: { - title: '字典数据', - activeMenu: '/system/dict' - } + children: [{ + path: 'index/:dictId(\\d+)', + component: () => import('@/views/system/dict/data'), + name: 'Data', + meta: { + title: '字典数据', + activeMenu: '/system/dict' } - ] + }] }, { path: '/monitor/job-log', component: Layout, hidden: true, permissions: ['monitor:job:list'], - children: [ - { - path: 'index', - component: () => import('@/views/monitor/job/log'), - name: 'JobLog', - meta: { - title: '调度日志', - activeMenu: '/monitor/job' - } + children: [{ + path: 'index', + component: () => import('@/views/monitor/job/log'), + name: 'JobLog', + meta: { + title: '调度日志', + activeMenu: '/monitor/job' + } + }] + }, + { + path: '/zs/clue-form', + component: Layout, + hidden: true, + permissions: ['zs:clue:add', 'zs:clue:edit'], + children: [{ + path: 'index/:clueId(\\d+)', + component: () => import('@/views/zs/clue/ClueForm'), + name: 'ClueForm', + meta: { + title: '线索详情', + activeMenu: '/zs/clue' } - ] + }] } ]; diff --git a/src/utils/request.js b/src/utils/request.js index 182d17d..d81c1a6 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,16 +1,32 @@ import axios from 'axios'; -import { Notification, MessageBox, Message, Loading } from 'element-ui'; +import { + Notification, + MessageBox, + Message, + Loading +} from 'element-ui'; import store from '@/store'; -import { getToken } from '@/utils/auth'; +import { + getToken +} from '@/utils/auth'; import errorCode from '@/utils/errorCode'; -import { tansParams, blobValidate } from '@/utils/ruoyi'; +import { + tansParams, + blobValidate +} from '@/utils/ruoyi'; import cache from '@/plugins/cache'; -import { saveAs } from 'file-saver'; -import { successCode } from '@/global/global'; +import { + saveAs +} from 'file-saver'; +import { + successCode +} from '@/global/global'; let downloadLoadingInstance; // 是否显示重新登录 -export const isRelogin = { show: false }; +export const isRelogin = { + show: false +}; axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'; // 创建axios实例 @@ -31,6 +47,11 @@ service.interceptors.request.use( if (getToken() && !isToken) { config.headers['Authorization'] = 'Bearer ' + getToken(); // 让每个请求携带自定义token 请根据实际情况自行修改 } + if (config.url.includes("http")) { + config.baseURL = ""; + } else if (config.url.includes("amap")) { + config.baseURL = ""; + } // get请求映射params参数 if (config.method === 'get' && config.params) { let url = config.url + '?' + tansParams(config.params); @@ -84,10 +105,10 @@ service.interceptors.response.use( if (!isRelogin.show) { isRelogin.show = true; MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { - confirmButtonText: '重新登录', - cancelButtonText: '取消', - type: 'warning' - }) + confirmButtonText: '重新登录', + cancelButtonText: '取消', + type: 'warning' + }) .then(() => { isRelogin.show = false; store.dispatch('LogOut').then(() => { @@ -116,7 +137,9 @@ service.interceptors.response.use( }, (error) => { console.log('err' + error); - let { message } = error; + let { + message + } = error; if (message === 'Network Error') { message = '后端接口连接异常'; } else if (message.includes('timeout')) { @@ -147,7 +170,9 @@ export function download(url, params, filename, config) { return tansParams(params); } ], - headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + }, responseType: 'blob', ...config }) diff --git a/src/views/login.vue b/src/views/login.vue index 862b8bf..778ea29 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -1,7 +1,7 @@