Commit 538101da by 黄志甲

修改添加接口

parent 463377bc
ENV = 'development' ENV = 'development'
# 接口地址 # 接口地址
VUE_APP_BASE_API = 'http://106.53.98.217:10003' VUE_APP_BASE_API = 'http://192.168.7.176:9888'
VUE_APP_WS_API = 'ws://106.53.98.217:10003' VUE_APP_WS_API = 'ws://192.168.7.176:9888'
# 是否启用 babel-plugin-dynamic-import-node插件 # 是否启用 babel-plugin-dynamic-import-node插件
VUE_CLI_BABEL_TRANSPILE_MODULES = true VUE_CLI_BABEL_TRANSPILE_MODULES = true
import request from '@/utils/request' import request from '@/utils/request'
let baseUrl = 'http://portal.project.gxdpf.org.cn/portal' // 获取区域地址
export const getCityAreaList = data => {
//查地址 return request({
export function getCityAreaList(data) { url: 'portal/stats/getCityAreaList',
return request({ method: 'POST',
baseUrl:baseUrl, data
url: `${baseUrl}/stats/getCityAreaList`, })
method: 'post', }
data
}) // 获取年份
} export const getYearList = data => {
return request({
url: 'portal/stats/getYearList',
method: 'POST',
data
})
}
// 获取项目状态
export const getStatusCyclicList = data => {
return request({
url: 'portal/stats/getStatusCyclicList',
method: 'POST',
data
})
}
// 底部柱形图数据/portal/stats/getWorkSituationMonthList
export const getWorkSituationMonthList = data => {
return request({
url: 'portal/stats/getWorkSituationMonthList',
method: 'POST',
data
})
}
/* 任务地图 */
// 列表
export const getWorkSituationList = data => {
return request({
url: 'portal/stats/getWorkSituationList',
method: 'POST',
data
})
}
// 地图数据
export const getMapJson = data => {
return request({
url: `static/portal/${data}.json`,
method: 'GET'
})
}
export const getBanner = data => {
return request({
baseURL: `json/banner.json`,
method: 'GET'
})
}
// 实时统计残疾人
export const getIDTKindCountList = data => {
return request({
url: 'portal/people/getIDTKindCountList',
method: 'GET',
data
})
}
// 广西残疾人小康进程实现程度数据
export const getPeopleFairly = data => {
return request({
url: 'portal/stats/getPeopleFairly',
method: 'GET',
data
})
}
/* 数据库统计 */
// 全区持证残疾人
export const getPeopleBaseDataNum = data => {
return request({
url: 'portal/stats/getPeopleBaseDataNum',
method: 'GET',
data
})
}
// 残疾人动态更新数据库2018
export const getPeopleUpdateDataNum = data => {
return request({
url: 'portal/stats/getPeopleUpdateDataNum',
method: 'GET',
data
})
}
// 残疾人动态更新数据库2017
export const getPeopleUpdateData2017Num = data => {
return request({
url: 'portal/stats/getPeopleUpdateData2017Num',
method: 'GET',
data
})
}
...@@ -6,6 +6,21 @@ import { getToken } from '@/utils/auth' ...@@ -6,6 +6,21 @@ import { getToken } from '@/utils/auth'
import Config from '@/settings' import Config from '@/settings'
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
// 微服务 前缀判断添加服务名
const addTopName = (data) => {
const urlTopName = data.url.split('/')[0]
switch (urlTopName) {
case 'api':
return `/AUTH-SERVER/${data.url}`
case 'auth':
return `/AUTH-SERVER/${data.url}`
case 'portal':
return `/PORTAL-SERVER/${data.url}`
default:
return `${data.url}`
}
}
// 创建axios实例 // 创建axios实例
const service = axios.create({ const service = axios.create({
baseURL: process.env.NODE_ENV === 'production' ? process.env.VUE_APP_BASE_API : '/', // api 的 base_url baseURL: process.env.NODE_ENV === 'production' ? process.env.VUE_APP_BASE_API : '/', // api 的 base_url
...@@ -19,6 +34,7 @@ service.interceptors.request.use( ...@@ -19,6 +34,7 @@ service.interceptors.request.use(
config.headers['Authorization'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 config.headers['Authorization'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
} }
config.headers['Content-Type'] = 'application/json' config.headers['Content-Type'] = 'application/json'
config.url = addTopName(config)
return config return config
}, },
error => { error => {
......
...@@ -4,7 +4,15 @@ ...@@ -4,7 +4,15 @@
<div class="head-container"> <div class="head-container">
<div v-if="crud.props.searchToggle"> <div v-if="crud.props.searchToggle">
<!-- 搜索 --> <!-- 搜索 -->
<el-input v-model="query.blurry" size="small" clearable placeholder="输入名称或者描述搜索" style="width: 200px;" class="filter-item" @keyup.enter.native="crud.toQuery" /> <el-input
v-model="query.blurry"
size="small"
clearable
placeholder="输入名称或者描述搜索"
style="width: 200px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
<el-date-picker <el-date-picker
v-model="query.createTime" v-model="query.createTime"
:default-time="['00:00:00','23:59:59']" :default-time="['00:00:00','23:59:59']"
...@@ -21,22 +29,41 @@ ...@@ -21,22 +29,41 @@
<crudOperation :permission="permission" /> <crudOperation :permission="permission" />
</div> </div>
<!-- 表单渲染 --> <!-- 表单渲染 -->
<el-dialog append-to-body :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="520px"> <el-dialog
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="80px"> append-to-body
:close-on-click-modal="false"
:before-close="crud.cancelCU"
:visible.sync="crud.status.cu > 0"
:title="crud.status.title"
width="520px"
>
<el-form
ref="form"
:inline="true"
:model="form"
:rules="rules"
size="small"
label-width="80px"
>
<el-form-item label="角色名称" prop="name"> <el-form-item label="角色名称" prop="name">
<el-input v-model="form.name" style="width: 380px;" /> <el-input v-model="form.name" style="width: 380px;" />
</el-form-item> </el-form-item>
<el-form-item label="角色级别" prop="level"> <el-form-item label="角色级别" prop="level">
<el-input-number v-model.number="form.level" :min="1" controls-position="right" style="width: 145px;" /> <el-input-number
v-model.number="form.level"
:min="1"
controls-position="right"
style="width: 145px;"
/>
</el-form-item> </el-form-item>
<el-form-item label="数据范围" prop="dataScope"> <el-form-item label="数据范围" prop="dataScope">
<el-select v-model="form.dataScope" style="width: 140px" placeholder="请选择数据范围" @change="changeScope"> <el-select
<el-option v-model="form.dataScope"
v-for="item in dateScopes" style="width: 140px"
:key="item" placeholder="请选择数据范围"
:label="item" @change="changeScope"
:value="item" >
/> <el-option v-for="item in dateScopes" :key="item" :label="item" :value="item" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="form.dataScope === '自定义'" label="数据权限" prop="depts"> <el-form-item v-if="form.dataScope === '自定义'" label="数据权限" prop="depts">
...@@ -65,18 +92,37 @@ ...@@ -65,18 +92,37 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span class="role-span">角色列表</span> <span class="role-span">角色列表</span>
</div> </div>
<el-table ref="table" v-loading="crud.loading" highlight-current-row style="width: 100%;" :data="crud.data" @selection-change="crud.selectionChangeHandler" @current-change="handleCurrentChange"> <el-table
ref="table"
v-loading="crud.loading"
highlight-current-row
style="width: 100%;"
:data="crud.data"
@selection-change="crud.selectionChangeHandler"
@current-change="handleCurrentChange"
>
<el-table-column :selectable="checkboxT" type="selection" width="55" /> <el-table-column :selectable="checkboxT" type="selection" width="55" />
<el-table-column prop="name" label="名称" /> <el-table-column prop="name" label="名称" />
<el-table-column prop="dataScope" label="数据权限" /> <el-table-column prop="dataScope" label="数据权限" />
<el-table-column prop="level" label="角色级别" /> <el-table-column prop="level" label="角色级别" />
<el-table-column :show-overflow-tooltip="true" prop="description" label="描述" /> <el-table-column :show-overflow-tooltip="true" prop="description" label="描述" />
<el-table-column :show-overflow-tooltip="true" width="135px" prop="createTime" label="创建日期"> <el-table-column
:show-overflow-tooltip="true"
width="135px"
prop="createTime"
label="创建日期"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span> <span>{{ parseTime(scope.row.createTime) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-permission="['admin','roles:edit','roles:del']" label="操作" width="130px" align="center" fixed="right"> <el-table-column
v-permission="['admin','roles:edit','roles:del']"
label="操作"
width="130px"
align="center"
fixed="right"
>
<template slot-scope="scope"> <template slot-scope="scope">
<udOperation <udOperation
v-if="scope.row.level >= level" v-if="scope.row.level >= level"
...@@ -139,29 +185,50 @@ import Treeselect from '@riophae/vue-treeselect' ...@@ -139,29 +185,50 @@ import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect' import { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
const defaultForm = { id: null, name: null, depts: [], description: null, dataScope: '全部', level: 3 } const defaultForm = {
id: null,
name: null,
depts: [],
description: null,
dataScope: '全部',
level: 3
}
export default { export default {
name: 'Role', name: 'Role',
components: { Treeselect, pagination, crudOperation, rrOperation, udOperation }, components: {
Treeselect,
pagination,
crudOperation,
rrOperation,
udOperation
},
cruds() { cruds() {
return CRUD({ title: '角色', url: 'api/roles', sort: 'level,asc', crudMethod: { ...crudRoles }}) return CRUD({
title: '角色',
url: 'api/roles',
sort: 'level,asc',
crudMethod: { ...crudRoles }
})
}, },
mixins: [presenter(), header(), form(defaultForm), crud()], mixins: [presenter(), header(), form(defaultForm), crud()],
data() { data() {
return { return {
defaultProps: { children: 'children', label: 'label', isLeaf: 'leaf' }, defaultProps: { children: 'children', label: 'label', isLeaf: 'leaf' },
dateScopes: ['全部', '本级', '自定义'], level: 3, dateScopes: ['全部', '本级', '自定义'],
currentId: 0, menuLoading: false, showButton: false, level: 3,
menus: [], menuIds: [], depts: [], currentId: 0,
menuLoading: false,
showButton: false,
menus: [],
menuIds: [],
depts: [],
permission: { permission: {
add: ['admin', 'roles:add'], add: ['admin', 'roles:add'],
edit: ['admin', 'roles:edit'], edit: ['admin', 'roles:edit'],
del: ['admin', 'roles:del'] del: ['admin', 'roles:del']
}, },
rules: { rules: {
name: [ name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
{ required: true, message: '请输入名称', trigger: 'blur' }
],
permission: [ permission: [
{ required: true, message: '请输入权限', trigger: 'blur' } { required: true, message: '请输入权限', trigger: 'blur' }
] ]
...@@ -169,14 +236,14 @@ export default { ...@@ -169,14 +236,14 @@ export default {
} }
}, },
created() { created() {
crudRoles.getLevel().then(data => { crudRoles.getLevel().then((data) => {
this.level = data.level this.level = data.level
}) })
}, },
methods: { methods: {
getMenuDatas(node, resolve) { getMenuDatas(node, resolve) {
setTimeout(() => { setTimeout(() => {
getMenusTree(node.data.id ? node.data.id : 0).then(res => { getMenusTree(node.data.id ? node.data.id : 0).then((res) => {
resolve(res) resolve(res)
}) })
}, 100) }, 100)
...@@ -247,15 +314,16 @@ export default { ...@@ -247,15 +314,16 @@ export default {
val.menus.forEach(function(data, index) { val.menus.forEach(function(data, index) {
_this.menuIds.push(data.id) _this.menuIds.push(data.id)
}) })
getMenuSuperior(this.menuIds).then(res => { getMenuSuperior(this.menuIds).then((res) => {
this.menus = res this.menus = res
}) })
} }
}, },
// 保存菜单 // 保存菜单
saveMenu() { saveMenu() {
this.menuLoading = true // this.menuLoading = true;
const role = { id: this.currentId, menus: [] } const role = { id: this.currentId, menus: [] }
// 得到半选的父节点数据,保存起来 // 得到半选的父节点数据,保存起来
this.$refs.menu.getHalfCheckedNodes().forEach(function(data, index) { this.$refs.menu.getHalfCheckedNodes().forEach(function(data, index) {
const menu = { id: data.id } const menu = { id: data.id }
...@@ -266,19 +334,22 @@ export default { ...@@ -266,19 +334,22 @@ export default {
const menu = { id: data } const menu = { id: data }
role.menus.push(menu) role.menus.push(menu)
}) })
crudRoles.editMenu(role).then(res => { crudRoles
this.crud.notify('保存成功', CRUD.NOTIFICATION_TYPE.SUCCESS) .editMenu(role)
this.menuLoading = false .then((res) => {
this.update() this.crud.notify('保存成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
}).catch(err => { this.menuLoading = false
this.menuLoading = false this.update()
console.log(err.response.data.message) })
}) .catch((err) => {
this.menuLoading = false
console.log(err.response.data.message)
})
}, },
// 改变数据 // 改变数据
update() { update() {
// 无刷新更新 表格数据 // 无刷新更新 表格数据
crudRoles.get(this.currentId).then(res => { crudRoles.get(this.currentId).then((res) => {
for (let i = 0; i < this.crud.data.length; i++) { for (let i = 0; i < this.crud.data.length; i++) {
if (res.id === this.crud.data[i].id) { if (res.id === this.crud.data[i].id) {
this.crud.data[i] = res this.crud.data[i] = res
...@@ -289,7 +360,7 @@ export default { ...@@ -289,7 +360,7 @@ export default {
}, },
// 获取部门数据 // 获取部门数据
getDepts() { getDepts() {
getDepts({ enabled: true }).then(res => { getDepts({ enabled: true }).then((res) => {
this.depts = res.content.map(function(obj) { this.depts = res.content.map(function(obj) {
if (obj.hasChildren) { if (obj.hasChildren) {
obj.children = null obj.children = null
...@@ -300,10 +371,10 @@ export default { ...@@ -300,10 +371,10 @@ export default {
}, },
getSupDepts(depts) { getSupDepts(depts) {
const ids = [] const ids = []
depts.forEach(dept => { depts.forEach((dept) => {
ids.push(dept.id) ids.push(dept.id)
}) })
getDeptSuperior(ids).then(res => { getDeptSuperior(ids).then((res) => {
this.depts = res.content.map(function(obj) { this.depts = res.content.map(function(obj) {
if (obj.hasChildren && !obj.children) { if (obj.hasChildren && !obj.children) {
obj.children = null obj.children = null
...@@ -315,7 +386,7 @@ export default { ...@@ -315,7 +386,7 @@ export default {
// 获取弹窗内部门数据 // 获取弹窗内部门数据
loadDepts({ action, parentNode, callback }) { loadDepts({ action, parentNode, callback }) {
if (action === LOAD_CHILDREN_OPTIONS) { if (action === LOAD_CHILDREN_OPTIONS) {
getDepts({ enabled: true, pid: parentNode.id }).then(res => { getDepts({ enabled: true, pid: parentNode.id }).then((res) => {
parentNode.children = res.content.map(function(obj) { parentNode.children = res.content.map(function(obj) {
if (obj.hasChildren) { if (obj.hasChildren) {
obj.children = null obj.children = null
...@@ -342,21 +413,22 @@ export default { ...@@ -342,21 +413,22 @@ export default {
</script> </script>
<style rel="stylesheet/scss" lang="scss"> <style rel="stylesheet/scss" lang="scss">
.role-span { .role-span {
font-weight: bold;color: #303133; font-weight: bold;
font-size: 15px; color: #303133;
} font-size: 15px;
}
</style> </style>
<style rel="stylesheet/scss" lang="scss" scoped> <style rel="stylesheet/scss" lang="scss" scoped>
/deep/ .el-input-number .el-input__inner { /deep/ .el-input-number .el-input__inner {
text-align: left; text-align: left;
} }
/deep/ .vue-treeselect__multi-value{ /deep/ .vue-treeselect__multi-value {
margin-bottom: 0; margin-bottom: 0;
} }
/deep/ .vue-treeselect__multi-value-item{ /deep/ .vue-treeselect__multi-value-item {
border: 0; border: 0;
padding: 0; padding: 0;
} }
</style> </style>
...@@ -40,7 +40,21 @@ module.exports = { ...@@ -40,7 +40,21 @@ module.exports = {
pathRewrite: { pathRewrite: {
'^/auth': 'auth' '^/auth': 'auth'
} }
} },
'/ADMIN-SERVER':{
target: process.env.VUE_APP_BASE_API,
changeOrigin: true,
pathRewrite: {
'^/ADMIN-SERVER': 'ADMIN-SERVER'
}
},
'/AUTH-SERVER':{
target: process.env.VUE_APP_BASE_API,
changeOrigin: true,
pathRewrite: {
'^/AUTH-SERVER': 'AUTH-SERVER'
}
}
} }
}, },
configureWebpack: { configureWebpack: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment