作者 朱兆平

合并分支 'empt' 到 'master'

Empt

升级element版本。用户管理及部门管理还要优化

查看合并请求 !1

要显示太多修改。

为保证性能只显示 46 of 46+ 个文件。

{
"presets": ["es2015", "stage-2"],
"plugins": ["transform-runtime"],
"plugins": ["transform-runtime","transform-vue-jsx"],
"comments": false
}
... ...
... ... @@ -23,13 +23,13 @@ module.exports = {
},
dev: {
env: require('./dev.env'),
port: 8082,
port: 8001,
autoOpenBrowser: true,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
'/api':{
target: 'http://127.0.0.1:7003',//设置你调用的接口域名和端口号 别忘了加http
target: 'http://192.168.1.53:12343',//设置你调用的接口域名和端口号 别忘了加http
changeOrigin: true,
pathRewrite: {
'^/api': '/'//这里理解成用‘/api’代替target里面的地址,后面组件中我们掉接口时直接用api代替 比如我要调用'http://40.00.100.100:3002/user/add',直接写‘/api/user/add’即可
... ...
... ... @@ -975,6 +975,12 @@
"integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
"dev": true
},
"babel-plugin-syntax-jsx": {
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
"integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
"dev": true
},
"babel-plugin-syntax-object-rest-spread": {
"version": "6.13.0",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
... ... @@ -1317,6 +1323,15 @@
"babel-types": "^6.24.1"
}
},
"babel-plugin-transform-vue-jsx": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-3.7.0.tgz",
"integrity": "sha512-W39X07/n3oJMQd8tALBO+440NraGSF//Lo1ydd/9Nme3+QiRGFBb1Q39T9iixh0jZPPbfv3so18tNoIgLatymw==",
"dev": true,
"requires": {
"esutils": "^2.0.2"
}
},
"babel-polyfill": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
... ... @@ -3227,13 +3242,15 @@
"dev": true
},
"element-ui": {
"version": "1.4.13",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-1.4.13.tgz",
"integrity": "sha512-EGdw/qC2RUmCDzAy3X06LL+jDWmrMezMndviE5CnUDi2XcZz/uZUVVj6bJ6piY+Flw7HNO+Ed81LXrdZ2v+nXA==",
"version": "2.13.0",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.13.0.tgz",
"integrity": "sha512-KYsHWsBXYbLELS8cdfvgJTOMSUby3UEjvsPV1V1VmgJ/DdkOAS4z3MiOrPxrT9w2Cc5lZ4eVSQiGhYFR5NVChw==",
"requires": {
"async-validator": "~1.8.1",
"babel-helper-vue-jsx-merge-props": "^2.0.0",
"deepmerge": "^1.2.0",
"normalize-wheel": "^1.0.1",
"resize-observer-polyfill": "^1.5.0",
"throttle-debounce": "^1.0.1"
}
},
... ... @@ -6294,6 +6311,11 @@
"sort-keys": "^1.0.0"
}
},
"normalize-wheel": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz",
"integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
},
"npm": {
"version": "6.10.3",
"resolved": "https://registry.npmjs.org/npm/-/npm-6.10.3.tgz",
... ... @@ -11118,6 +11140,11 @@
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
"dev": true
},
"resize-observer-polyfill": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
"integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
},
"resolve": {
"version": "1.12.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
... ...
... ... @@ -12,7 +12,7 @@
"dependencies": {
"axios": "^0.19.0",
"echarts": "^3.3.2",
"element-ui": "^1.2.8",
"element-ui": "^2.13.0",
"eslint": "^5.14.1",
"file-saver": "^2.0.2",
"font-awesome": "^4.7.0",
... ... @@ -33,10 +33,13 @@
"autoprefixer": "^6.7.2",
"axios-mock-adapter": "^1.7.1",
"babel-core": "^6.22.1",
"babel-helper-vue-jsx-merge-props": "^2.0.3",
"babel-loader": "^6.2.10",
"babel-plugin-syntax-jsx": "^6.18.0",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-plugin-transform-vue-jsx": "^3.7.0",
"babel-polyfill": "^6.16.0",
"babel-preset-env": "^1.2.1",
"babel-preset-env": "^1.7.0",
"babel-preset-es2015": "^6.0.0",
"babel-preset-stage-2": "^6.22.0",
"babel-register": "^6.22.0",
... ...
... ... @@ -7,7 +7,7 @@ Vue.prototype.$http = axios;
export const getuserMenus = params => { return axios.get(`/perm/userMenus`, { params: params }); };
export const getUserList = params => { return axios.get(`/user/list`, { params: params }); };
export const getUserList = params => { return axios.get(`/hqpt-user-center/user/list`, { params: params }); };
export const getUserListPage = params => { return axios({
method: 'GET',
... ...
const loginuserInfo = JSON.parse(sessionStorage.getItem('user'));
export default loginuserInfo;
\ No newline at end of file
... ...
import axios from 'axios'
let base = '/hqpt-user-center/company';
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
export const remove = params => { return axios({
method: 'DELETE',
url: `${base}/del`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
//批量删除
export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
export const edit = params => { return axios({
method: 'PUT',
url: `${base}/edit`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const add = params => { return axios({
method: 'POST',
url: `${base}/add`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
\ No newline at end of file
... ...
import axios from 'axios'
let base = '/hqpt-user-center/department';
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
export const remove = params => { return axios({
method: 'DELETE',
url: `${base}/del`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
//批量删除
export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
export const edit = params => { return axios({
method: 'PUT',
url: `${base}/edit`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const add = params => { return axios({
method: 'POST',
url: `${base}/add`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
\ No newline at end of file
... ...
import axios from 'axios'
let base = 'empt-location/location';
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
export const remove = params => { return axios({
method: 'DELETE',
url: `${base}/del`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
//批量删除
export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
export const edit = params => { return axios({
method: 'PUT',
url: `${base}/edit`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const add = params => { return axios({
method: 'POST',
url: `${base}/add`,
params: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const update = params => { return axios({
method: 'PUT',
url: `${base}/update`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
\ No newline at end of file
... ...
import axios from 'axios'
let base = '/hqpt-user-center/group';
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
export const remove = params => { return axios({
method: 'DELETE',
url: `${base}/del`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
//批量删除
export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
export const edit = params => { return axios({
method: 'PUT',
url: `${base}/edit`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const add = params => { return axios({
method: 'POST',
url: `${base}/add`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
\ No newline at end of file
... ...
... ... @@ -17,9 +17,9 @@ export default {
return axios({
method: 'GET',
url: url,
data: params,
params: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8',
'Content-Type': 'application/x-www-form-urlencoded'
}
});
},
... ... @@ -46,7 +46,7 @@ export default {
login: data =>{
return axios({
method: 'POST', // 请求协议
url: '/login', // 请求的地址
url: 'hqpt-user-center/login', // 请求的地址
data: qs.stringify(data), // post 请求的数据
timeout: 30000, // 超时时间, 单位毫秒
headers: {
... ...
import axios from 'axios'
let base = 'hqpt-process/job';
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
export const remove = params => { return axios({
method: 'DELETE',
url: `${base}/del`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
//批量删除
export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
export const edit = params => { return axios({
method: 'PUT',
url: `${base}/edit`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const add = params => { return axios({
method: 'POST',
url: `${base}/add`,
params: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const startJob = params => { return axios({
method: 'PUT',
url: `${base}/start`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
\ No newline at end of file
... ...
import axios from 'axios'
axios.defaults.baseURL = 'http://localhost:8082/api';
let base = axios.defaults.baseURL+'/system/log';
let base = '/hqpt-user-center/system/log';
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
... ...
import axios from 'axios'
axios.defaults.baseURL = 'http://localhost:8082/api';
let base = axios.defaults.baseURL+'/perm';
let base = '/hqpt-user-center/perm';
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
... ...
import axios from 'axios'
let base = 'hqpt-process/process';
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
export const remove = params => { return axios({
method: 'DELETE',
url: `${base}/del`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
//批量删除
export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
export const edit = params => { return axios({
method: 'PUT',
url: `${base}/edit`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const add = params => { return axios({
method: 'POST',
url: `${base}/add`,
params: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const updateRolePerm = params => { return axios({
method: 'PUT',
url: `${base}/permSet`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const vacationTypeOptions = [
{
value: '0',
label: '运维检查'
},
{
value: '1',
label: '设备故障'
},
{
value: '2',
label: '电话报修'
}
];
\ No newline at end of file
... ...
import axios from 'axios'
let base = '/role';
let base = '/hqpt-user-center/role';
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
... ... @@ -16,7 +16,7 @@ export const remove = params => { return axios({
})};
//批量删除
export const batchRemove = params => { return axios.get(`${base}/user/batchremove`, { params: params }); };
export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
export const edit = params => { return axios({
method: 'PUT',
... ...
import axios from 'axios'
let base = '/hqpt-user-center/come_car';
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
export const remove = params => { return axios({
method: 'DELETE',
url: `${base}/del`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
//批量删除
export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
export const edit = params => { return axios({
method: 'PUT',
url: `${base}/edit`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const add = params => { return axios({
method: 'POST',
url: `${base}/add`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
\ No newline at end of file
... ...
import axios from 'axios'
let base = '/hqpt-user-center/key';
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
export const remove = params => { return axios({
method: 'DELETE',
url: `${base}/del`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
//批量删除
export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
export const edit = params => { return axios({
method: 'PUT',
url: `${base}/edit`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const add = params => { return axios({
method: 'POST',
url: `${base}/add`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
\ No newline at end of file
... ...
import axios from 'axios'
let base = '/hqpt-user-center/maintain';
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
export const remove = params => { return axios({
method: 'DELETE',
url: `${base}/del`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
//批量删除
export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
export const edit = params => { return axios({
method: 'PUT',
url: `${base}/edit`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const add = params => { return axios({
method: 'POST',
url: `${base}/add`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
\ No newline at end of file
... ...
import axios from 'axios'
let base = '/hqpt-user-center/on_duty';
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
export const remove = params => { return axios({
method: 'DELETE',
url: `${base}/del`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
//批量删除
export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
export const edit = params => { return axios({
method: 'PUT',
url: `${base}/edit`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const add = params => { return axios({
method: 'POST',
url: `${base}/add`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
\ No newline at end of file
... ...
import axios from 'axios'
let base = '/hqpt-user-center/inspection';
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
export const remove = params => { return axios({
method: 'DELETE',
url: `${base}/del`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
//批量删除
export const batchRemove = params => { return axios.get(`${base}/batchremove`, { params: params }); };
export const edit = params => { return axios({
method: 'PUT',
url: `${base}/edit`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
export const add = params => { return axios({
method: 'POST',
url: `${base}/add`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})};
\ No newline at end of file
... ...
import http from './http.js'
let baseUrl = '/user'
let baseUrl = '/hqpt-user-center/user'
export const getUserList = params => { return http.get(`${baseUrl}/list`, params); };
... ...
var SIGN_REGEXP = /([yMdhsm])(\1*)/g;
var DEFAULT_PATTERN = 'yyyy-MM-dd';
function padding(s, len) {
var len = len - (s + '').length;
for (var i = 0; i < len; i++) { s = '0' + s; }
... ...
import babelpolyfill from 'babel-polyfill'
import Vue from 'vue'
import App from './App'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-default/index.css'
import 'element-ui/lib/theme-chalk/index.css'
//import './assets/theme/theme-green/index.css'
import VueRouter from 'vue-router'
import store from './vuex/store'
import Vuex from 'vuex'
import axios from 'axios'
//import NProgress from 'nprogress'
//import 'nprogress/nprogress.css'
import rout from './routes'
import Mock from './mock'
import i18n from './lang'
import 'font-awesome/css/font-awesome.min.css'
import ElementUI from 'element-ui'
//定义一个全局过滤器实现日期格式化
Vue.filter('datefmt',function(input,fmtstring){
... ...
... ... @@ -7,6 +7,11 @@ import Role from './views/nav1/role.vue'
import Perm from './views/nav1/perm.vue'
import LOG from './views/nav1/Log.vue'
import PreManifest from './views/agent/PreManifest.vue'
import Company from './views/nav1/company.vue'
import Department from './views/nav1/department.vue'
import Group from './views/nav1/groupcompany.vue'
import Process from './views/hqpt/Process.vue'
import Job from './views/hqpt/Job.vue'
// import Form from './views/nav1/Form.vue'
import User from './views/nav1/user.vue'
... ... @@ -14,6 +19,12 @@ import Page4 from './views/nav2/Page4.vue'
import Page5 from './views/nav2/Page5.vue'
import Page6 from './views/nav3/Page6.vue'
import echarts from './views/charts/echarts.vue'
import SecrityInspection from './views/staff/security_inspection.vue'
import Key from './views/staff/key.vue'
import Maintain from './views/staff/maintain.vue'
import ComeCar from './views/staff/come_car.vue'
import OnDuty from './views/staff/on_duty.vue'
import Location from './views/empt/Location.vue'
let routes = [
{
... ... @@ -46,29 +57,42 @@ let routes = [
iconCls: 'el-icon-setting',//图标样式class
children: [
{ path: '/user', component: User, name: '用户管理' },
{ path: '/role', component: Role, name: '角色管理' },
{ path: '/role', component: Role, name: '岗位管理' },
{ path: '/perm', component: Perm, name: '权限管理' },
{ path: '/log', component: LOG, name: '系统日志' },
{ path: '/department', component: Department, name: '部门管理' },
{ path: '/company', component: Company, name: '公司管理'},
{ path: '/group', component: Group, name: '集团管理'}
]
},
{
path: '/agent',
path: '/guestService',
component: Home,
name: '代理人',
name: '客服系统',
iconCls: 'fa fa-id-card-o',
children: [
{ path: '/pre', component: PreManifest, name: '预配' },
{ path: '/page5', component: Page5, name: '页面5' }
{ path: '/process', component: Process, name: '工单管理' },
{ path: '/job', component: Job, name: '任务管理' }
]
},
{
path: '/',
path: '/empt',
component: Home,
name: '能源管理',
iconCls: 'fa fa-id-card-o',
children: [
{ path: '/location', component: Location, name: '能源缴费' },
]
},
{
path: '/satff',
component: Home,
name: '导航二',
name: '生活保障部门',
iconCls: 'fa fa-id-card-o',
children: [
{ path: '/page4', component: Page4, name: '页面4' },
{ path: '/page5', component: Page5, name: '页面5' }
{ path: '/security_inspection', component: SecrityInspection, name: '职工公寓安全巡视管理' },
{ path: '/key', component: Key, name: '职工公寓备用钥匙使用登记管理' },
{ path: '/maintain', component: Maintain, name: '职工公寓设施设备维修记录管理' },
]
},
{
... ...
/**
* @Author: jianglei
* @Date: 2017-10-12 12:06:49
*/
'use strict'
import Vue from 'vue'
export default function treeToArray(data, expandAll, parent, level, item) {
const marLTemp = []
let tmp = []
Array.from(data).forEach(function(record) {
if (record._expanded === undefined) {
Vue.set(record, '_expanded', expandAll)
}
let _level = 1
if (level !== undefined && level !== null) {
_level = level + 1
}
Vue.set(record, '_level', _level)
// 如果有父元素
if (parent) {
Vue.set(record, 'parent', parent)
// 如果父元素有偏移量,需要计算在this的偏移量中
// 偏移量还与前面同级元素有关,需要加上前面所有元素的长度和
if (!marLTemp[_level]) {
marLTemp[_level] = 0
}
Vue.set(record, '_marginLeft', marLTemp[_level] + parent._marginLeft)
Vue.set(record, '_width', record[item] / parent[item] * parent._width)
// 在本次计算过偏移量后加上自己长度,以供下一个元素使用
marLTemp[_level] += record._width
} else {
// 如果为根
// 初始化偏移量存储map
marLTemp[record.id] = []
// map中是一个数组,存储的是每级的长度和
// 初始情况下为0
marLTemp[record.id][_level] = 0
Vue.set(record, '_marginLeft', 0)
Vue.set(record, '_width', 1)
}
tmp.push(record)
if (record.children && record.children.length > 0) {
const children = treeToArray(record.children, expandAll, record, _level, item)
tmp = tmp.concat(children)
}
})
return tmp
}
... ...
... ... @@ -23,7 +23,7 @@
<el-col :span="24" class="main">
<aside :class="collapsed?'menu-collapsed':'menu-expanded'">
<!--导航菜单-->
<el-menu :default-active="$route.path" class="el-menu-vertical-demo" @open="handleopen" @close="handleclose" @select="handleselect" unique-opened router v-show="!collapsed" style="min-width: 230px">
<el-menu :default-active="$route.path" class="el-menu-vertical-demo" @open="handleopen" @close="handleclose" @select="handleselect" unique-opened router v-show="!collapsed" style="min-width: 230px" background-color="#545c64" text-color="#fff" active-text-color="#ffd04b">
<template v-for="(item,index) in $router.options.routes" v-if="!item.hidden">
<el-submenu :index="index+''" v-if="!item.leaf">
<template slot="title"><i :class="item.iconCls"></i>{{item.name}}</template>
... ... @@ -70,12 +70,13 @@
</el-row>
</template>
<script>
import rt from '../routes'
export default {
data() {
return {
sysName:'流浪地球管理系统',
sysName:'后勤管理平台',
collapsed:false,
sysUserName: '',
sysUserAvatar: '',
... ...
<template>
<section>
<!--工具条-->
<el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
<el-form :inline="true" :model="filters">
<el-form-item>
<el-input v-model="filters.processName" placeholder="公寓名称"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" v-on:click="getList()">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleAdd()">新增</el-button>
</el-form-item>
</el-form>
</el-col>
<el-table
:data="locationList"
style="width: 100%;margin-bottom: 20px;"
row-key="id"
border
:row-class-name="tableRowClassName"
default-expand-all
:tree-props="{children: 'children', hasChildren: 'hasChildren'}">
<el-table-column
prop="adrname"
label="名称"
sortable
width="300">
</el-table-column>
<el-table-column
prop="type"
label="类型"
align="center"
:formatter="formatType"
width="100">
</el-table-column>
<el-table-column :label="$t('table.actions')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="handleUpdate(scope.row)">快速编辑</el-button>
<el-button type="primary" size="small" @click="handleUpdate(scope.row)">新增</el-button>
<el-button size="mini" type="danger" @click="handleModifyStatus(scope.row,'deleted')">{{ $t('table.delete') }}</el-button>
<el-button type="primary" size="small" @click="electrixityMeterConfiguration(scope.row)">电表参数配置</el-button>
</template>
</el-table-column>
</el-table>
<!--工具条-->
<el-col :span="24" class="toolbar">
<el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
<el-pagination layout="prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
</el-pagination>
</el-col>
<!--水表新增-->
<el-dialog title="电表参数配置新增" :visible.sync="electrixityAddFormVisible" :close-on-click-modal="false">
<el-form :model="electrixityAddForm" label-width="110px" :rules="addFormRules" ref="electrixityAddForm">
<el-form-item label="水电预付费" prop="prepaid">
<el-switch
v-model="electrixityAddForm.prepaid"
active-color="#00A854"
active-text="是"
active-value="0"
inactive-color="#F04134"
inactive-text="否"
inactive-value="1">
</el-switch>
</el-form-item>
<el-form-item label="电警告跳闸" prop="warningtrip">
<el-switch
v-model="electrixityAddForm.warningtrip"
active-color="#00A854"
active-text="是"
active-value="0"
inactive-color="#F04134"
inactive-text="否"
inactive-value="1">
</el-switch>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>告警阀值</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<el-input v-model="electrixityAddForm.warningthreshold" style="width: 100px;" auto-complete="off"></el-input>&nbsp;&nbsp;&nbsp;<span>元</span>
</el-form-item>
<el-form-item label="透支使能" prop="overdraft">
<el-switch
v-model="electrixityAddForm.overdraft"
active-color="#00A854"
active-text="是"
active-value="0"
inactive-color="#F04134"
inactive-text="否"
inactive-value="1">
</el-switch>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>可透支额度</span>&nbsp;&nbsp;<el-input v-model="electrixityAddForm.overdraftthreshold" style="width: 100px;" auto-complete="off"></el-input>&nbsp;&nbsp;&nbsp;<span>元</span>
</el-form-item>
<el-form-item label="过负荷跳闸使能" prop="overdraft">
<el-switch
v-model="electrixityAddForm.load"
active-color="#00A854"
active-text="是"
active-value="0"
inactive-color="#F04134"
inactive-text="否"
inactive-value="1">
</el-switch>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>功率</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<el-input v-model="electrixityAddForm.power" style="width: 100px;" auto-complete="off"></el-input>&nbsp;&nbsp;&nbsp;<span>KW</span>
<br/>
<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>功率因数</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<el-input v-model="electrixityAddForm.powerfactor" style="width: 100px;" auto-complete="off"></el-input>
</el-form-item>
<el-form-item label="免费电度使能" prop="overdraft">
<el-switch
v-model="electrixityAddForm.free"
active-color="#00A854"
active-text="是"
active-value="0"
inactive-color="#F04134"
inactive-text="否"
inactive-value="1">
</el-switch>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>免费电度</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<el-input v-model="electrixityAddForm.overdraftthreshold" style="width: 100px;" auto-complete="off"></el-input>&nbsp;&nbsp;&nbsp;<span>度</span>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="electrixityAddFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
</div>
</el-dialog>
</section>
</template>
<style>
.el-table .building {
background: oldlace;
}
.el-table .floor {
background: #f0f9eb;
}
.el-table .house {
background: #99CCCC;
}
</style>
<script>
import { getList,add} from '@/api/empt/location_api';
import moment from 'moment'
import parseTime from '@/utils'
import loginUserInfo from '@/api/base'
export default {
data() {
return {
filters: {
processName: '',
parseTime: parseTime
},
userId: '',
realName: '',
wmId:'',
locationList:[],
total: 0,
pageNum: 1,
pageSize: 5,
listLoading: false,
sels: [],//列表选中列
//编辑界面是否显示
editFormVisible: false,
editLoading: false,
editFormRules: {
roleName: [
{ required: true, message: '请输入岗位/角色名称', trigger: 'blur' }
]
},
//编辑界面数据
editForm: {
roleId: 1,
description: '',
roleName: '',
roleSign: 1,
departmentId:''
},
//用户ID
//新增界面是否显示
electrixityAddFormVisible: false,
//设置权限界面是否显示
addLoading: false,
addFormRules: {
roleName: [
{ required: true, message: '请输入岗位/角色名称', trigger: 'blur' }
],
description: [
{ required: true, message: '请输入岗位/角色描述', trigger: 'blur' }
]
},
//水表参数配置、界面数据
electrixityAddForm: {
prepaid: '',
warningtrip: '',
warningthreshold: '',
overdraft:'',
overdraftthreshold: '',
load: '',
power: '',
powerfactor: '',
freeelectricitylimit: '',
eeId: ''
},
permForm: {
roleId: 1,
description: '',
roleName: '',
roleSign: 1,
permissions: []
},
centerDialogVisible: false,
dialogData:{
process:{
processname: ''
}
},
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now();
},
shortcuts: [{
text: '今天',
onClick(picker) {
picker.$emit('pick', new Date());
}
}, {
text: '昨天',
onClick(picker) {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24);
picker.$emit('pick', date);
}
}, {
text: '一周前',
onClick(picker) {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', date);
}
}]
},
options:[{
value: '1',
label: '测试公司',
children: [{
value: '2',
label: '测试部门一',
children: [{
value: '1',
label: '测试岗位1',
children: [{
value: '1',
label: '测试人员1'
}]
}]
}, {
value: '3',
label: '测试部门二',
children: [{
value: '2',
label: '测试岗位2',
children: [{
value: '1',
label: '测试人员2'
}]
}, {
value: '3',
label: '测试岗位3',
children: [{
value: '1',
label: '测试人员3'
}]
}]
}]
}],
}
},
methods: {
//性别显示转换
formatType: function (row, column) {
let msg = '未知';
switch (row.type){
case 0:
msg='公寓';
break;
case 1:
msg='楼';
break;
case 2:
msg='层';
break;
case 3:
msg='门牌';
break;
}
return msg;
},
handleCurrentChange(val) {
this.pageNum = val;
},
//获取列表
getList() {
let para = {
pageNum: this.pageNum,
pageSize: this.pageSize,
};
this.listLoading = true;
//NProgress.start();
getList(para).then((res) => {
let resData = res.data.data;
this.total = resData.total;
this.locationList = resData.list;
this.listLoading = false;
//NProgress.done();
}).catch((error) => {
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
}else {
alert(error);
}
});
},
//删除
handleDel: function (index, row) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { roleId: row.roleId };
remove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
});
}).catch((error) => {
this.listLoading = false;
alert(error);
});
}).catch();
},
/**
* 显示编辑界面
* @param index
* @param row 为这行的数据对象
*/
handleEdit: function (index, row) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
this.getdepartmentNames();
},
//水表参数配置新增界面,每次点开初始化数据
electrixityMeterConfiguration: function (row) {
this.electrixityAddFormVisible = true;
this.electrixityAddForm = {
prepaid: '',
warningtrip: '',
warningthreshold: '',
overdraft:'',
overdraftthreshold: '',
load: '',
water: '',
free: '',
freeWater: '',
eeId: row.eeId
}
},
//新增
addSubmit: function () {
this.$refs.electrixityAddForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.addLoading = true;
//NProgress.start();
let para = Object.assign({}, this.electrixityAddForm);
add(para).then((res) => {
this.addLoading = false;
if (res.status ===200) {
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['permForm'].resetFields();
this.electrixityAddFormVisible = false;
this.getList();
}
}).catch(error => alert(error));
});
}
});
},
//编辑
editSubmit: function () {
this.$refs.editForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.editLoading = true;
//NProgress.start();
let para = Object.assign({}, this.editForm);
//不需要提交的 去掉,后端不好接收
para.authorities = null;
para.permissions = null;
para.roles = null;
// para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd');
/*
查询之后格式this.filters.column.create_start_date中日期发生变化;
Wed Aug 09 2017 00:00:00 GMT+0800 (中国标准时间) 变成了 "2017-08-08T16:00:00.000Z";
所以使用 moment 日期格式化插件将时间转换成 [ Wed Aug 09 2017 00:00:00 GMT+0800 (中国标准时间) ] 格
式;
*/
/*moment 安装 npm install moment --save*/
para.creattime = moment(para.creattime).format('YYYY-MM-DD HH:mm:ss');
this.editLoading = false;
edit(para).then((res) => {
//NProgress.done();
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['editForm'].resetFields();
this.editFormVisible = false;
}).catch(error => alert(error));
});
}
});
},
selsChange: function (sels) {
this.sels = sels;
},
//批量删除
batchRemove: function () {
var ids = this.sels.map(item => item.roleId).toString();
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { ids: ids };
batchRemove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
})
});
}).catch(() => {
});
},
tableRowClassName({row, rowIndex}) {
let type = row.type;
if (type === 1) {
return 'building';
} else if (type === 2) {
return 'floor';
} else if (type === 3){
return 'house';
}
return '';
},
handleSelectionChange(val) {
this.multipleSelection = val
},
},
mounted() {
this.userId = loginUserInfo.userId;
this.realName = loginUserInfo.realname;
this.getList();
}
}
</script>
<style scoped>
</style>
\ No newline at end of file
... ...
<template>
<section>
<el-dialog
:data="dialogData"
title="执行过程"
:visible.sync="centerDialogVisible"
width="30%"
center>
<span>{{dialogData.process.processname}}</span>
<span>{{dialogData.coment}}</span>
<span slot="footer" class="dialog-footer">
<el-button @click="centerDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="centerDialogVisible = false">确 定</el-button>
</span>
</el-dialog>
<!--工具条-->
<el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
<el-form :inline="true" :model="filters">
<el-form-item>
<el-input v-model="filters.processName" placeholder="工单名称"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" v-on:click="getProcessList()">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleAdd()">新增</el-button>
</el-form-item>
</el-form>
</el-col>
<!--列表-->
<el-table :data="processList" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column type="index" width="60">
</el-table-column>
<el-table-column prop="process.processname" label="工单名称" width="100">
</el-table-column>
<el-table-column prop="user.realname" label="执行者" min-width="100" sortable>
</el-table-column>
<el-table-column prop="auditresuld" label="执行状态" min-width="80" :formatter="formatType" sortable>
</el-table-column>
<el-table-column label="操作" min-width="260">
<template slot-scope="scope">
<el-button size="small" @click="startJob(scope.$index, scope.row)">开始执行</el-button>
<el-button size="small" @click="setPerm(scope.$index, scope.row)">完成任务</el-button>
<el-button size="small" @click="setPerm(scope.$index, scope.row)">任务转交</el-button>
<el-button size="small" @click="shwoDialog(scope.$index, scope.row)">任务内容</el-button>
<el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<!--工具条-->
<el-col :span="24" class="toolbar">
<el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
<el-pagination layout="prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
</el-pagination>
</el-col>
<!--编辑界面-->
<el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
<el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
<el-form-item label="ID">
<span>{{editForm.roleId}}</span>
</el-form-item>
<el-form-item label="岗位名称">
<el-input v-model="editForm.roleName" auto-complete="off" placeholder="请输入岗位/角色名称:例如:ROLE_name"></el-input>
</el-form-item>
<el-form-item label="岗位描述">
<el-input v-model="editForm.description" auto-complete="off" placeholder="请输入岗位/角色描述:例如:用户管理员"></el-input>
</el-form-item>
<el-form-item label="部门名称">
<el-select v-model="editForm.departmentId" placeholder="请选择">
<el-option
v-for="item in departmentNameList"
:key="item.departmentId"
:label="item.departmentName"
:value="item.departmentId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="editFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="editSubmit" :loading="editLoading">提交</el-button>
</div>
</el-dialog>
<!--新增界面-->
<el-dialog title="新增" :visible.sync="addFormVisible" width="60%">
<el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
<el-form-item label="工单名称" prop="processname">
<el-input v-model="addForm.processname" auto-complete="off" placeholder="请输入工单标题:"></el-input>
</el-form-item>
<el-form-item label="开始日期" prop="begindate">
<el-date-picker :picker-options="pickerOptions" value-format="yyyy-MM-dd" placeholder="选择时间" v-model="addForm.begindate" style="width: 100%;"></el-date-picker>
</el-form-item>
<el-form-item label="结束日期" prop="enddate">
<el-date-picker :picker-options="pickerOptions" value-format="yyyy-MM-dd" placeholder="选择时间" v-model="addForm.enddate" style="width: 100%;"></el-date-picker>
</el-form-item>
<el-form-item label="工单类型" prop="vacationtype">
<el-select v-model="addForm.vacationtype" placeholder="请选择">
<el-option label="运维检查" value="0"></el-option>
<el-option label="设备故障" value="1"></el-option>
<el-option label="电话报修" value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item label="工单内容" prop="reason">
<el-input type="textarea" v-model="addForm.reason"></el-input>
</el-form-item>
<el-form-item>
<el-cascader-panel
:options="options"
v-model="jodUserId"
@change="cascaderhandleChange"
></el-cascader-panel>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="addFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
</div>
</el-dialog>
</section>
</template>
<script>
import util from '../../common/js/util'
import { getList,add,startJob} from '@/api/job_api';
import moment from 'moment'
import parseTime from '@/utils'
import loginUserInfo from '@/api/base'
import ElFormItem from "../../../node_modules/element-ui/packages/form/src/form-item.vue";
export default {
components: {ElFormItem},
data() {
return {
filters: {
processName: '',
parseTime: parseTime
},
departmentNameList:[],
processList: [],
permissons: [],
permIds: [],
total: 0,
pageNum: 1,
pageSize: 5,
listLoading: false,
sels: [],//列表选中列
//编辑界面是否显示
editFormVisible: false,
editLoading: false,
editFormRules: {
roleName: [
{ required: true, message: '请输入岗位/角色名称', trigger: 'blur' }
]
},
//编辑界面数据
editForm: {
roleId: 1,
description: '',
roleName: '',
roleSign: 1,
departmentId:''
},
//用户ID
//执行任务人ID
jodUserId: 0,
//新增界面是否显示
addFormVisible: false,
//设置权限界面是否显示
PermFormVisible: false,
addLoading: false,
addFormRules: {
roleName: [
{ required: true, message: '请输入岗位/角色名称', trigger: 'blur' }
],
description: [
{ required: true, message: '请输入岗位/角色描述', trigger: 'blur' }
]
},
//新增界面数据
addForm: {
processname: '',
begindate: '',
enddate: '',
vacationtype:'',
reason: '',
userId: ''
},
permForm: {
roleId: 1,
description: '',
roleName: '',
roleSign: 1,
permissions: []
},
centerDialogVisible: false,
dialogData:{
process:{
processname: ''
}
},
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now();
},
shortcuts: [{
text: '今天',
onClick(picker) {
picker.$emit('pick', new Date());
}
}, {
text: '昨天',
onClick(picker) {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24);
picker.$emit('pick', date);
}
}, {
text: '一周前',
onClick(picker) {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', date);
}
}]
},
options:[{
value: '1',
label: '测试公司',
children: [{
value: '2',
label: '测试部门一',
children: [{
value: '1',
label: '测试岗位1',
children: [{
value: '1',
label: '测试人员1'
}]
}]
}, {
value: '3',
label: '测试部门二',
children: [{
value: '2',
label: '测试岗位2',
children: [{
value: '1',
label: '测试人员2'
}]
}, {
value: '3',
label: '测试岗位3',
children: [{
value: '1',
label: '测试人员3'
}]
}]
}]
}],
}
},
methods: {
//性别显示转换
formatType: function (row, column) {
let msg = '未知';
switch (row.auditresuld){
case 0:
msg='未执行';
break;
case 1:
msg='执行中';
break;
case 2:
msg='执行完毕';
break;
case 3:
msg='任务转交';
break;
}
return msg;
},
formatState: function (row, column) {
let msg = '未知';
switch (row.processstatus){
case 0:
msg='未分配';
break;
case 1:
msg='已分配';
break;
case 2:
msg='执行中';
break;
case 3:
msg='已完成';
break;
}
return msg;
},
handleCurrentChange(val) {
this.pageNum = val;
},
//获取工单列表
getProcessList() {
let para = {
pageNum: this.pageNum,
pageSize: this.pageSize,
userId: 0,
processid: this.$route.params.formid
};
this.listLoading = true;
//NProgress.start();
getList(para).then((res) => {
let resData = res.data.data;
this.total = resData.total;
this.processList = resData.list;
this.listLoading = false;
//NProgress.done();
}).catch((error) => {
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
}else {
alert(error);
}
});
},
//删除
handleDel: function (index, row) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { roleId: row.roleId };
remove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
});
}).catch((error) => {
this.listLoading = false;
alert(error);
});
}).catch();
},
/**
* 显示编辑界面
* @param index
* @param row 为这行的数据对象
*/
handleEdit: function (index, row) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
this.getdepartmentNames();
},
//显示新增界面,每次点开初始化数据
handleAdd: function () {
this.addFormVisible = true;
this.addForm = {
processname: '',
begindate: '',
enddate: '',
vacationtype:'',
reason: '',
userid: loginUserInfo.userId
}
},
//编辑
editSubmit: function () {
this.$refs.editForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.editLoading = true;
//NProgress.start();
let para = Object.assign({}, this.editForm);
//不需要提交的 去掉,后端不好接收
para.authorities = null;
para.permissions = null;
para.roles = null;
// para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd');
/*
查询之后格式this.filters.column.create_start_date中日期发生变化;
Wed Aug 09 2017 00:00:00 GMT+0800 (中国标准时间) 变成了 "2017-08-08T16:00:00.000Z";
所以使用 moment 日期格式化插件将时间转换成 [ Wed Aug 09 2017 00:00:00 GMT+0800 (中国标准时间) ] 格
式;
*/
/*moment 安装 npm install moment --save*/
para.creattime = moment(para.creattime).format('YYYY-MM-DD HH:mm:ss');
this.editLoading = false;
edit(para).then((res) => {
//NProgress.done();
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['editForm'].resetFields();
this.editFormVisible = false;
}).catch(error => alert(error));
});
}
});
},
//新增
addSubmit: function () {
this.$refs.addForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.addLoading = true;
//NProgress.start();
let para = Object.assign({}, this.addForm);
add(para).then((res) => {
this.addLoading = false;
if (res.status ===200) {
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['permForm'].resetFields();
this.addFormVisible = false;
this.getProcessList();
}
}).catch(error => alert(error));
});
}
});
},
startJob: function (index, row) {
let loading = this.$loading({ fullscreen: true,
background: 'gray',
text: '正在处理'});
let jobdata = Object.assign({}, row);
startJob(jobdata).then((res) => {
if (res.status ===200) {
this.getProcessList();
this.listLoading = false;
this.$message({
message: '提交成功',
type: 'success'
});
}
}).catch(error => alert(error));
loading.close();
},
selsChange: function (sels) {
this.sels = sels;
},
//批量删除
batchRemove: function () {
var ids = this.sels.map(item => item.roleId).toString();
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { ids: ids };
batchRemove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
})
});
}).catch(() => {
});
},
shwoDialog(index,row) {
this.dialogData = Object.assign({}, row);
this.centerDialogVisible = true;
},
cascaderhandleChange:function (value) {
let defaultvalue = ["0","0","0","0"];
defaultvalue = value;
console.log(defaultvalue);
this.jodUserId = defaultvalue[3];
}
},
mounted() {
this.getProcessList();
}
}
</script>
<style scoped>
</style>
\ No newline at end of file
... ...
<template>
<section>
<el-dialog
:data="dialogData"
title="提示"
:visible.sync="centerDialogVisible"
width="30%"
center>
<span>{{dialogData.reason}}</span>
<span slot="footer" class="dialog-footer">
<el-button @click="centerDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="centerDialogVisible = false">确 定</el-button>
</span>
</el-dialog>
<!--工具条-->
<el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
<el-form :inline="true" :model="filters">
<el-form-item>
<el-input v-model="filters.processName" placeholder="工单名称"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" v-on:click="getProcessList()">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleAdd()">新增</el-button>
</el-form-item>
</el-form>
</el-col>
<!--列表-->
<el-table :data="processList" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column type="index" width="60">
</el-table-column>
<el-table-column prop="processname" label="工单名称" width="100">
<template slot-scope="scope">
<el-button size="small" type="text" @click="checkJobs(scope.$index, scope.row)">{{scope.row.processname}}</el-button>
</template>
</el-table-column>
<el-table-column prop="user.realname" label="添加者" min-width="100" sortable>
</el-table-column>
<el-table-column label="开始日期" width="200px" align="center" sortable>
<template slot-scope="scope">
<span>{{ scope.row.begindate}}</span>
</template>
</el-table-column>
<el-table-column label="结束日期" width="200px" align="center" sortable>
<template slot-scope="scope">
<span>{{ scope.row.enddate}}</span>
</template>
</el-table-column>
<el-table-column prop="vacationtype" label="工单类型" min-width="80" :formatter="formatType" sortable>
</el-table-column>
<el-table-column prop="processstatus" label="工单状态" min-width="80" :formatter="formatState" sortable>
</el-table-column>
<el-table-column label="操作" min-width="260">
<template slot-scope="scope">
<!--<el-button size="small" @click="setPerm(scope.$index, scope.row)">分配工单</el-button>-->
<el-button size="small" @click="shwoDialog(scope.$index, scope.row)">查看内容</el-button>
<el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
<el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<!--工具条-->
<el-col :span="24" class="toolbar">
<el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
<el-pagination layout="prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
</el-pagination>
</el-col>
<!--编辑界面-->
<el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
<el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
<el-form-item label="ID">
<span>{{editForm.roleId}}</span>
</el-form-item>
<el-form-item label="岗位名称">
<el-input v-model="editForm.roleName" auto-complete="off" placeholder="请输入岗位/角色名称:例如:ROLE_name"></el-input>
</el-form-item>
<el-form-item label="岗位描述">
<el-input v-model="editForm.description" auto-complete="off" placeholder="请输入岗位/角色描述:例如:用户管理员"></el-input>
</el-form-item>
<el-form-item label="部门名称">
<el-select v-model="editForm.departmentId" placeholder="请选择">
<el-option
v-for="item in departmentNameList"
:key="item.departmentId"
:label="item.departmentName"
:value="item.departmentId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="editFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="editSubmit" :loading="editLoading">提交</el-button>
</div>
</el-dialog>
<!--新增界面-->
<el-dialog title="新增" :visible.sync="addFormVisible" width="60%">
<el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
<el-form-item label="工单名称" prop="processname">
<el-input v-model="addForm.processname" auto-complete="off" placeholder="请输入工单标题:"></el-input>
</el-form-item>
<el-form-item label="开始日期" prop="begindate">
<el-date-picker :picker-options="pickerOptions" value-format="yyyy-MM-dd" placeholder="选择时间" v-model="addForm.begindate" style="width: 100%;"></el-date-picker>
</el-form-item>
<el-form-item label="结束日期" prop="enddate">
<el-date-picker :picker-options="pickerOptions" value-format="yyyy-MM-dd" placeholder="选择时间" v-model="addForm.enddate" style="width: 100%;"></el-date-picker>
</el-form-item>
<el-form-item label="工单类型" prop="vacationtype">
<el-cascader-panel
:options="vacationTypeOptions"
v-model="addForm.vacationtype"
@change="cascaderhandleChange"></el-cascader-panel>
</el-form-item>
<el-form-item label="工单内容" prop="reason">
<el-input type="textarea" v-model="addForm.reason"></el-input>
</el-form-item>
<el-form-item label="指定部门">
<el-tree
:data="options"
v-model="addForm.jobuserid"
show-checkbox
ref="tree"
node-key="value"
@check-change="handleCheckChange"
:props="defaultProps">
</el-tree>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="addFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
</div>
</el-dialog>
</section>
</template>
<script>
import util from '../../common/js/util'
import NProgress from 'nprogress'
import { getList,add,vacationTypeOptions} from '@/api/process_api';
import moment from 'moment'
import {parseTime, pickerOptions} from '@/utils'
import loginUserInfo from '@/api/base'
import ElFormItem from "../../../node_modules/element-ui/packages/form/src/form-item.vue";
export default {
components: {ElFormItem},
data() {
return {
filters: {
processName: '',
parseTime: parseTime
},
departmentNameList:[],
processList: [],
permissons: [],
permIds: [],
total: 0,
pageNum: 1,
pageSize: 5,
listLoading: false,
sels: [],//列表选中列
//编辑界面是否显示
editFormVisible: false,
editLoading: false,
editFormRules: {
roleName: [
{ required: true, message: '请输入岗位/角色名称', trigger: 'blur' }
]
},
//编辑界面数据
editForm: {
roleId: 1,
description: '',
roleName: '',
roleSign: 1,
departmentId:''
},
//新增界面是否显示
addFormVisible: false,
//设置权限界面是否显示
PermFormVisible: false,
addLoading: false,
addFormRules: {
roleName: [
{ required: true, message: '请输入岗位/角色名称', trigger: 'blur' }
],
description: [
{ required: true, message: '请输入岗位/角色描述', trigger: 'blur' }
]
},
//新增界面数据
addForm: {
processname: '',
begindate: '',
enddate: '',
vacationtype:'',
reason: '',
userId: '',
jobuserid: 0
},
jobForm: {
taskid: 1,
userid: 1,
auditresuld: ''
},
centerDialogVisible: false,
dialogData:{},
options:[{
value: '1',
label: '测试公司',
children: [{
value: '2',
label: '测试部门一',
children: [{
value: '1',
label: '测试岗位1'
}]
}, {
value: '3',
label: '测试部门二',
children: [{
value: '2',
label: '测试岗位2'
}, {
value: '3',
label: '测试岗位3'
}]
}]
}],
defaultProps: {
children: 'children',
label: 'label'
},
pickerOptions: pickerOptions,
vacationTypeOptions: vacationTypeOptions
}
},
methods: {
//性别显示转换
formatType: function (row, column) {
return row.vacationtype == 1 ? '运维检查' : row.vacationtype == 0 ? '设备故障' : '电话报修';
},
formatState: function (row, column) {
let msg = '未知';
switch (row.processstatus){
case 0:
msg='未分配';
break;
case 1:
msg='已分配';
break;
case 2:
msg='执行中';
break;
case 3:
msg='已完成';
break;
}
return msg;
},
handleCurrentChange(val) {
this.pageNum = val;
},
//获取工单列表
getProcessList() {
let para = {
pageNum: this.pageNum,
pageSize: this.pageSize,
roleName: this.filters.processName
};
this.listLoading = true;
//NProgress.start();
getList(para).then((res) => {
let resData = res.data.data;
this.total = resData.total;
this.processList = resData.list;
this.listLoading = false;
//NProgress.done();
}).catch((error) => {
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
}else {
alert(error);
}
});
},
//删除
handleDel: function (index, row) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { roleId: row.roleId };
remove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
});
}).catch((error) => {
this.listLoading = false;
alert(error);
});
}).catch();
},
/**
* 显示编辑界面
* @param index
* @param row 为这行的数据对象
*/
handleEdit: function (index, row) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
this.getdepartmentNames();
},
//显示新增界面,每次点开初始化数据
handleAdd: function () {
this.addFormVisible = true;
this.addForm = {
processname: '',
begindate: '',
enddate: '',
vacationtype:'',
reason: '',
userid: loginUserInfo.userId,
jobuserid: 0
}
},
//编辑
editSubmit: function () {
this.$refs.editForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.editLoading = true;
//NProgress.start();
let para = Object.assign({}, this.editForm);
//不需要提交的 去掉,后端不好接收
para.authorities = null;
para.permissions = null;
para.roles = null;
// para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd');
/*
查询之后格式this.filters.column.create_start_date中日期发生变化;
Wed Aug 09 2017 00:00:00 GMT+0800 (中国标准时间) 变成了 "2017-08-08T16:00:00.000Z";
所以使用 moment 日期格式化插件将时间转换成 [ Wed Aug 09 2017 00:00:00 GMT+0800 (中国标准时间) ] 格
式;
*/
/*moment 安装 npm install moment --save*/
para.creattime = moment(para.creattime).format('YYYY-MM-DD HH:mm:ss');
this.editLoading = false;
edit(para).then((res) => {
//NProgress.done();
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['editForm'].resetFields();
this.editFormVisible = false;
}).catch(error => alert(error));
});
}
});
},
//新增
addSubmit: function () {
this.$refs.addForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.addLoading = true;
//NProgress.start();
let para = Object.assign({}, this.addForm);
add(para).then((res) => {
this.addLoading = false;
if (res.status ===200) {
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['jobForm'].resetFields();
this.addFormVisible = false;
this.getProcessList();
}
}).catch(error => alert(error));
});
}
});
},
selsChange: function (sels) {
this.sels = sels;
},
//批量删除
batchRemove: function () {
var ids = this.sels.map(item => item.roleId).toString();
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { ids: ids };
batchRemove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
})
});
}).catch(() => {
});
},
shwoDialog(index,row) {
this.dialogData = Object.assign({}, row);
this.centerDialogVisible = true;
},
checkJobs(index,row) {
let p = Object.assign({}, row);
this.$router.push(
{
name: '任务管理',
params: {
formid: p.formid
}
}
)
},
//级联面板事件
cascaderhandleChange:function (value) {
let defaultvalue = ["0","0","0","0"];
defaultvalue = value;
console.log(defaultvalue);
},
//el-tree绑定事件
handleCheckChange(data, checked, indeterminate) {
// console.log(data, checked, indeterminate);
console.log(this.$refs.tree.getCheckedNodes());
console.log(this.$refs.tree.getCheckedKeys());
// this.addForm.jobuserid = defaultvalue;
}
},
mounted() {
this.getProcessList();
}
}
</script>
<style scoped>
</style>
\ No newline at end of file
... ...
... ... @@ -7,13 +7,10 @@
<el-input v-model="filters.username" placeholder="账号"></el-input>
</el-form-item>
<el-form-item>
<el-input v-model="filters.methodname" placeholder="系统动作"></el-input>
</el-form-item>
<el-form-item>
<el-input v-model="filters.modelnamecn" placeholder="操作模块"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" v-on:click="getRoles()">查询</el-button>
<el-button type="primary" v-on:click="getLogs()">查询</el-button>
</el-form-item>
</el-form>
</el-col>
... ... @@ -35,8 +32,6 @@
</el-table-column>
<el-table-column prop="modelnamecn" label="操作模块" width="120" sortable>
</el-table-column>
<!--<el-table-column prop="parameters" label="参数" width="100" sortable>-->
<!--</el-table-column>-->
<el-table-column prop="classname" label="系统类" show-overflow-tooltip="true" width="100" sortable>
</el-table-column>
<el-table-column prop="result" label="操作结果" min-width="200" sortable>
... ... @@ -45,7 +40,7 @@
<!--工具条-->
<el-col :span="24" class="toolbar">
<el-pagination layout="prev, pager, next" @current-change="handleCurrentChange" :page-size="10" :total="total" style="float:right;">
<el-pagination layout="total, prev, pager, next" @current-change="handleCurrentChange" :page-size="10" :total="total" style="float:right;">
</el-pagination>
</el-col>
</section>
... ... @@ -59,7 +54,10 @@
export default {
data() {
return {
filters: {},
filters: {
modelnamecn:'',
username: ''
},
logs: [],
total: 0,
pageNum: 1,
... ... @@ -78,13 +76,15 @@
},
handleCurrentChange(val) {
this.pageNum = val;
this.getRoles();
this.getLogs();
},
//获取角色列表
getLogs() {
let para = {
pageNum: this.pageNum,
pageSize: this.pageSize,
modelnamecn: this.filters.modelnamecn,
username: this.filters.username
};
this.listLoading = true;
//NProgress.start();
... ... @@ -112,28 +112,6 @@
selsChange: function (sels) {
this.sels = sels;
},
//批量删除
batchRemove: function () {
var ids = this.sels.map(item => item.id).toString();
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { ids: ids };
batchRemove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
});
this.getRoles();
});
}).catch(() => {
});
}
},
mounted() {
this.getLogs();
... ...
... ... @@ -55,12 +55,12 @@
<!--工具条-->
<el-col :span="24" class="toolbar">
<el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
<el-pagination layout="prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
<el-pagination layout="total, prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
</el-pagination>
</el-col>
<!--编辑界面-->
<el-dialog title="编辑" v-model="editFormVisible" :close-on-click-modal="false">
<el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
<el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
<el-form-item label="ID">
<span>{{editForm.userId}}</span>
... ... @@ -109,7 +109,7 @@
</el-dialog>
<!--新增界面-->
<el-dialog title="新增" v-model="addFormVisible" :close-on-click-modal="false">
<el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">
<el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
<el-form-item label="账号" prop="username">
<el-input v-model="addForm.username"></el-input>
... ...
<template>
<section>
<!--工具条-->
<el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
<el-form :inline="true" :model="filters">
<el-form-item>
<el-input v-model="filters.companyName" placeholder="公司名称"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" v-on:click="getCompanys()">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="companyAdd">新增</el-button>
</el-form-item>
</el-form>
</el-col>
<!--列表-->
<el-table :data="companyList" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column type="index">
</el-table-column>
<el-table-column prop="companyId" label="ID" sortable>
</el-table-column>
<el-table-column prop="companyName" label="公司名称" sortable>
</el-table-column>
<el-table-column prop="groupName" label="集团名称" sortable>
</el-table-column>
<el-table-column prop="creatTime" label="入库时间" sortable>
</el-table-column>
<el-table-column label="操作" min-width="150">
<template slot-scope="scope">
<el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
<el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<!--工具条-->
<el-col :span="24" class="toolbar">
<el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
<el-pagination layout="total, prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
</el-pagination>
</el-col>
<!--编辑界面-->
<el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
<el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
<el-form-item label="ID">
<span>{{editForm.companyId}}</span>
</el-form-item>
<el-form-item label="公司名称">
<el-input v-model="editForm.companyName" auto-complete="off" placeholder="请输入公司名称"></el-input>
</el-form-item>
<el-form-item label="集团名称">
<el-select v-model="editForm.groupId" placeholder="请选择">
<el-option
v-for="item in groupLists"
:key="item.groupId"
:label="item.groupName"
:value="item.groupId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="editFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="editSubmit" :loading="editLoading">提交</el-button>
</div>
</el-dialog>
<!--新增界面-->
<el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">
<el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
<el-form-item label="公司名称" prop="companyName">
<el-input v-model="addForm.companyName" auto-complete="off" placeholder="请输入公司名称"></el-input>
</el-form-item>
<el-form-item label="集团名称" prop="groupId">
<el-select v-model="addForm.groupId" placeholder="请选择">
<el-option
v-for="item in groupLists"
:key="item.groupId"
:label="item.groupName"
:value="item.groupId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="addFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
</div>
</el-dialog>
</section>
</template>
<script>
import util from '../../common/js/util'
import NProgress from 'nprogress'
import { getList, remove, batchRemove, edit, add } from '../../api/company';
import { getList as groupList } from '../../api/group_company';
import moment from 'moment'
export default {
data() {
return {
filters: {
companyName: ''
},
companyList: [],
// 接受集团名称
groupLists:[],
permIds: [],
total: 0,
pageNum: 1,
pageSize: 5,
listLoading: false,
sels: [],//列表选中列
//编辑界面是否显示
editFormVisible: false,
editLoading: false,
editFormRules: {
companyName: [
{ required: true, message: '请输入公司名称', trigger: 'blur' }
]
},
//编辑界面数据
editForm: {
companyId: '',
companyName: '',
groupId: ''
},
//设置权限数据
setPermForm: {},
//新增界面是否显示
addFormVisible: false,
//设置权限界面是否显示
PermFormVisible: false,
addLoading: false,
addFormRules: {
companyName: [
{ required: true, message: '请输入公司名称', trigger: 'blur' }
]
},
//新增界面数据
addForm: {
companyName: '',
groupId: ''
},
companyFrom: {
companyId: 1,
companyName: '',
companys: []
}
}
},
mounted() {
this.getCompanys();
},
methods: {
handleCurrentChange(val) {
this.pageNum = val;
this.getRoles();
},
//获取公司列表
getCompanys() {
let para = {
pageNum: this.pageNum,
pageSize: this.pageSize,
companyName: this.filters.companyName
};
this.listLoading = true;
//NProgress.start();
getList(para).then((res) => {
this.total = res.data.total;
this.companyList = res.data.list;
console.log(this.companyList);
this.listLoading = false;
//NProgress.done();
}).catch((error) => {
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
}else {
alert(error);
}
});
},
//获取集团列表
getGroupComapnys() {
this.listLoading = true;
//NProgress.start();
groupList().then((res) => {
this.total = res.data.total;
this.groupLists = res.data.list;
console.log(this.companyList);
this.listLoading = false;
//NProgress.done();
}).catch((error) => {
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
}else {
alert(error);
}
});
},
//删除
handleDel: function (index, row) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { companyId: row.companyId };
remove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
});
this.getCompanys();
}).catch((error) => {
this.listLoading = false;
alert(error);
});
}).catch();
},
/**
* 显示编辑界面
* @param index
* @param row 为这行的数据对象
*/
handleEdit: function (index, row) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
this.getGroupComapnys();
},
setPerm: function (index, row) {
var _this = this;
this.companyIds = [];
this.PermFormVisible = true;
this.companyFrom = Object.assign({}, row);
let rolePerms = this.companyFrom.companys;
if (util.checkNull(rolePerms)){
rolePerms.forEach(function (company,v_index,v_arr) {
if(util.checkNull(perm)){
_this.companyIds[v_index] = company.companyId;
}
});
}
this.getPermList();
},
//显示新增界面,每次点开初始化数据
companyAdd: function () {
this.addFormVisible = true;
this.addForm = {
companyName: '',
groupId: ''
};
this.getGroupComapnys();
},
//新增
addSubmit: function () {
this.$refs.addForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.addLoading = true;
//NProgress.start();
let para = Object.assign({}, this.addForm);
add(para).then((res) => {
this.addLoading = false;
//NProgress.done();
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['addForm'].resetFields();
this.addFormVisible = false;
this.getCompanys();
}).catch(error => alert(error));
});
}
});
},
//编辑
editSubmit: function () {
this.$refs.editForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.editLoading = true;
let para = Object.assign({}, this.editForm);
this.editLoading = false;
edit(para).then((res) => {
//NProgress.done();
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['editForm'].resetFields();
this.editFormVisible = false;
this.getCompanys();
}).catch(error => alert(error));
});
}
});
},
selsChange: function (sels) {
this.sels = sels;
},
//批量删除
batchRemove: function () {
var ids = this.sels.map(item => item.companyId).toString();
console.log(ids);
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { ids: ids };
batchRemove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
});
this.getCompanys();
});
}).catch(() => {
});
}
},
}
</script>
\ No newline at end of file
... ...
<template>
<section>
<!--工具条-->
<el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
<el-form :inline="true" :model="filters">
<el-form-item>
<el-input v-model="filters.departmentName" placeholder="部门名称"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" v-on:click="getDepartments()">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="departmentAdd">新增</el-button>
</el-form-item>
</el-form>
</el-col>
<!--列表-->
<el-table :data="departmentList" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column type="index">
</el-table-column>
<el-table-column prop="departmentId" label="ID" sortable>
</el-table-column>
<el-table-column prop="departmentName" label="部门名称" sortable>
</el-table-column>
<el-table-column prop="companyName" label="所属公司名称" sortable>
</el-table-column>
<el-table-column prop="creatTime" label="入库时间" sortable>
</el-table-column>
<el-table-column label="操作" min-width="150">
<template slot-scope="scope">
<el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
<el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<!--工具条-->
<el-col :span="24" class="toolbar">
<el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
<el-pagination layout="total, prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
</el-pagination>
</el-col>
<!--编辑界面-->
<el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
<el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
<el-form-item label="ID">
<span>{{editForm.departmentId}}</span>
</el-form-item>
<el-form-item label="部门名称">
<el-input v-model="editForm.departmentName" auto-complete="off" placeholder="请输入公司名称"></el-input>
</el-form-item>
<el-form-item label="公司名称">
<el-select v-model="editForm.companyId" placeholder="请选择公司">
<el-option
v-for="item in companyList"
:key="item.companyId"
:label="item.companyName"
:value="item.companyId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="editFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="editSubmit" :loading="editLoading">提交</el-button>
</div>
</el-dialog>
<!--新增界面-->
<el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">
<el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
<el-form-item label="部门名称" prop="deprtmentName">
<el-input v-model="addForm.departmentName" auto-complete="off" placeholder="请输入部门名称"></el-input>
</el-form-item>
<el-form-item label="公司名称" prop="companyId">
<el-select v-model="addForm.companyId" placeholder="请选择公司">
<el-option
v-for="item in companyList"
:key="item.companyId"
:label="item.companyName"
:value="item.companyId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="addFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
</div>
</el-dialog>
</section>
</template>
<script>
import util from '../../common/js/util'
import NProgress from 'nprogress'
import { getList, remove, batchRemove, edit, add } from '../../api/department';
import { getList as getCompanyList } from '../../api/company';
import moment from 'moment'
export default {
data() {
return {
filters: {
departmentName: ''
},
departmentList: [],
companyList: [],
permIds: [],
total: 0,
pageNum: 1,
pageSize: 10,
listLoading: false,
sels: [],//列表选中列
//编辑界面是否显示
editFormVisible: false,
editLoading: false,
editFormRules: {
departmentName: [
{ required: true, message: '请输入部门名称', trigger: 'blur' }
]
},
//编辑界面数据
editForm: {
departmentId: '',
departmentName: '',
companyId: ''
},
//设置权限数据
setPermForm: {},
//新增界面是否显示
addFormVisible: false,
//设置权限界面是否显示
PermFormVisible: false,
addLoading: false,
addFormRules: {
departmentName: [
{ required: true, message: '请输入部门名称', trigger: 'blur' }
]
},
//新增界面数据
addForm: {
departmentName: '',
companyId: ''
},
departmentFrom: {
departmentId: 1,
departmentName: '',
departments: []
}
}
},
mounted() {
this.getDepartments();
},
methods: {
handleCurrentChange(val) {
this.pageNum = val;
this.getDepartments();
},
//获取列表
getDepartments() {
let para = {
pageNum: this.pageNum,
pageSize: this.pageSize,
departmentName: this.filters.departmentName
};
this.listLoading = true;
//NProgress.start();
getList(para).then((res) => {
this.total = res.data.total;
this.departmentList = res.data.list;
this.listLoading = false;
//NProgress.done();
}).catch((error) => {
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
}else {
alert(error);
}
});
},
//获取列表
getCompanylists() {
let para = {
};
this.listLoading = true;
//NProgress.start();
getCompanyList(para).then((res) => {
this.total = res.data.total;
this.companyList = res.data.list;
this.listLoading = false;
//NProgress.done();
}).catch((error) => {
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
}else {
alert(error);
}
});
},
//删除
handleDel: function (index, row) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { departmentId: row.departmentId };
remove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
});
this.getDepartments();
}).catch((error) => {
this.listLoading = false;
alert(error);
});
}).catch();
},
/**
* 显示编辑界面
* @param index
* @param row 为这行的数据对象
*/
handleEdit: function (index, row) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
this.getCompanylists();
},
setPerm: function (index, row) {
var _this = this;
this.departmentIds = [];
this.PermFormVisible = true;
this.departmentFrom = Object.assign({}, row);
let rolePerms = this.departmentFrom.departments;
if (util.checkNull(rolePerms)){
rolePerms.forEach(function (department,v_index,v_arr) {
if(util.checkNull(perm)){
_this.departmentIds[v_index] = department.departmentId;
}
});
}
this.getPermList();
},
//显示新增界面,每次点开初始化数据
departmentAdd: function () {
this.addFormVisible = true;
this.addForm = {
departmentName: '',
companyId: ''
};
this.getCompanylists();
},
//新增
addSubmit: function () {
this.$refs.addForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.addLoading = true;
//NProgress.start();
let para = Object.assign({}, this.addForm);
add(para).then((res) => {
this.addLoading = false;
//NProgress.done();
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['addForm'].resetFields();
this.addFormVisible = false;
this.getDepartments();
}).catch(error => alert(error));
});
}
});
},
//编辑
editSubmit: function () {
this.$refs.editForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.editLoading = true;
let para = Object.assign({}, this.editForm);
this.editLoading = false;
edit(para).then((res) => {
//NProgress.done();
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['editForm'].resetFields();
this.editFormVisible = false;
this.getDepartments();
}).catch(error => alert(error));
});
}
});
},
selsChange: function (sels) {
this.sels = sels;
},
//批量删除
batchRemove: function () {
var ids = this.sels.map(item => item.departmentId).toString();
console.log(ids);
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { ids: ids };
batchRemove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
});
this.getDepartments();
});
}).catch(() => {
});
}
},
}
</script>
\ No newline at end of file
... ...
<template>
<section>
<!--工具条-->
<el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
<el-form :inline="true" :model="filters">
<el-form-item>
<el-input v-model="filters.groupName" placeholder="集团名称"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" v-on:click="getGroupCompanys()">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="groupCompanyAdd">新增</el-button>
</el-form-item>
</el-form>
</el-col>
<!--列表-->
<el-table :data="groupCompanyList" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column type="index">
</el-table-column>
<el-table-column prop="groupId" label="ID" sortable>
</el-table-column>
<el-table-column prop="groupName" label="集团名称" sortable>
</el-table-column>
<el-table-column prop="creatTime" label="入库时间" sortable>
</el-table-column>
<el-table-column label="操作" min-width="150">
<template slot-scope="scope">
<el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
<el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<!--工具条-->
<el-col :span="24" class="toolbar">
<el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
<el-pagination layout="total, prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
</el-pagination>
</el-col>
<!--编辑界面-->
<el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
<el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
<el-form-item label="ID">
<span>{{editForm.groupId}}</span>
</el-form-item>
<el-form-item label="集团名称">
<el-input v-model="editForm.groupName" auto-complete="off" placeholder="请输入公司名称"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="editFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="editSubmit" :loading="editLoading">提交</el-button>
</div>
</el-dialog>
<!--新增界面-->
<el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">
<el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
<el-form-item label="集团名称" prop="groupId">
<el-input v-model="addForm.groupName" auto-complete="off" placeholder="请输入集团名称"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="addFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
</div>
</el-dialog>
</section>
</template>
<script>
import util from '../../common/js/util'
import NProgress from 'nprogress'
import { getList, remove, batchRemove, edit, add } from '../../api/group_company';
import moment from 'moment'
export default {
data() {
return {
filters: {
groupName: ''
},
groupCompanyList: [],
permIds: [],
total: 0,
pageNum: 1,
pageSize: 5,
listLoading: false,
sels: [],//列表选中列
//编辑界面是否显示
editFormVisible: false,
editLoading: false,
editFormRules: {
groupName: [
{ required: true, message: '请输入集团名称', trigger: 'blur' }
]
},
//编辑界面数据
editForm: {
groupId: '',
groupName: ''
},
//设置权限数据
setPermForm: {},
//新增界面是否显示
addFormVisible: false,
//设置权限界面是否显示
PermFormVisible: false,
addLoading: false,
addFormRules: {
groupName: [
{ required: true, message: '请输入集团名称', trigger: 'blur' }
]
},
//新增界面数据
addForm: {
groupName: ''
},
groupCompanyFrom: {
groupId: 1,
groupName: '',
groupCompanys: []
}
}
},
mounted() {
this.getGroupCompanys();
},
methods: {
handleCurrentChange(val) {
this.pageNum = val;
this.getGroupCompanys();
},
//获取列表
getGroupCompanys() {
let para = {
pageNum: this.pageNum,
pageSize: this.pageSize,
groupName: this.filters.groupName
};
this.listLoading = true;
//NProgress.start();
getList(para).then((res) => {
this.total = res.data.total;
this.groupCompanyList = res.data.list;
this.listLoading = false;
//NProgress.done();
}).catch((error) => {
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
}else {
alert(error);
}
});
},
//删除
handleDel: function (index, row) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { groupId: row.groupId };
remove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
});
this.getGroupCompanys();
}).catch((error) => {
this.listLoading = false;
alert(error);
});
}).catch();
},
/**
* 显示编辑界面
* @param index
* @param row 为这行的数据对象
*/
handleEdit: function (index, row) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
},
setPerm: function (index, row) {
var _this = this;
this.groupIds = [];
this.PermFormVisible = true;
this.groupCompanyFrom = Object.assign({}, row);
let rolePerms = this.groupCompanyFrom.groupCompanys;
if (util.checkNull(rolePerms)){
rolePerms.forEach(function (group,v_index,v_arr) {
if(util.checkNull(perm)){
_this.groupIds[v_index] = group.groupId;
}
});
}
this.getPermList();
},
//显示新增界面,每次点开初始化数据
groupCompanyAdd: function () {
this.addFormVisible = true;
this.addForm = {
groupName: '',
companyId: ''
};
},
//新增
addSubmit: function () {
this.$refs.addForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.addLoading = true;
//NProgress.start();
let para = Object.assign({}, this.addForm);
add(para).then((res) => {
this.addLoading = false;
//NProgress.done();
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['addForm'].resetFields();
this.addFormVisible = false;
this.getGroupCompanys();
}).catch(error => alert(error));
});
}
});
},
//编辑
editSubmit: function () {
this.$refs.editForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.editLoading = true;
let para = Object.assign({}, this.editForm);
this.editLoading = false;
edit(para).then((res) => {
//NProgress.done();
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['editForm'].resetFields();
this.editFormVisible = false;
this.getGroupCompanys();
}).catch(error => alert(error));
});
}
});
},
selsChange: function (sels) {
this.sels = sels;
},
//批量删除
batchRemove: function () {
var ids = this.sels.map(item => item.groupId).toString();
console.log(ids);
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { ids: ids };
batchRemove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
});
this.getGroupCompanys();
});
}).catch(() => {
});
}
},
}
</script>
\ No newline at end of file
... ...
... ... @@ -4,10 +4,10 @@
<el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
<el-form :inline="true" :model="filters">
<el-form-item>
<el-input v-model="filters.permName" placeholder="权限名称"></el-input>
<el-input v-model="filters.name" placeholder="权限名称"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" v-on:click="getRoles()">查询</el-button>
<el-button type="primary" v-on:click="getTableList()">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleAdd">新增</el-button>
... ... @@ -23,11 +23,11 @@
</el-table-column>
<el-table-column prop="permissionId" label="ID" width="100" sortable>
</el-table-column>
<el-table-column prop="permissionName" label="权限名称" min-width="200" sortable>
<el-table-column prop="name" label="权限名称" min-width="200" sortable>
</el-table-column>
<el-table-column prop="description" label="描述" min-width="200" sortable>
</el-table-column>
<el-table-column prop="permissionSign" label="排序" width="100" sortable>
<el-table-column prop="permissionOrder" label="排序" width="100" sortable>
</el-table-column>
<el-table-column prop="url" label="路径" width="100" sortable>
</el-table-column>
... ... @@ -42,28 +42,45 @@
<!--工具条-->
<el-col :span="24" class="toolbar">
<el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
<el-pagination layout="prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
<el-pagination layout="total, prev, pager, next" @current-change="handleCurrentChange" :page-size="pageSize" :total="total" style="float:right;">
</el-pagination>
</el-col>
<!--编辑界面-->
<el-dialog title="编辑" v-model="editFormVisible" :close-on-click-modal="false">
<el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
<el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
<el-form-item label="ID">
<span>{{editForm.roleId}}</span>
<span>{{editForm.permissionId}}</span>
</el-form-item>
<el-form-item label="权限名称">
<el-input v-model="editForm.roleName" auto-complete="off" placeholder="请输入权限名称:例如:ROLE_name"></el-input>
<el-form-item label="权限名称" prop="name">
<el-input v-model="editForm.name" auto-complete="off" placeholder="请输入权限名称:例如:用户新增权限"></el-input>
</el-form-item>
<el-form-item label="权限描述">
<el-form-item label="权限描述" prop="description">
<el-input v-model="editForm.description" auto-complete="off" placeholder="请输入权限描述:例如:用户管理员"></el-input>
</el-form-item>
<el-form-item label="权限排序">
<el-input v-model="editForm.roleSign" auto-complete="off" placeholder="请输入权限排序:例如:数字123"></el-input>
<el-form-item label="权限总路径" prop="path">
<el-input v-model="editForm.path" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input>
</el-form-item>
<el-form-item label="权限路径" prop="url">
<el-input v-model="editForm.url" auto-complete="off" placeholder="请输入权限描述:例如:/user/update"></el-input>
</el-form-item>
<el-form-item label="权限排序" prop="permissionOrder">
<el-input v-model="editForm.permissionOrder" auto-complete="off" placeholder="请输入权限排序:例如:123"></el-input>
</el-form-item>
<el-form-item label="父目录ID" prop="parentId">
<el-input v-model="editForm.parentId" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input>
</el-form-item>
<el-form-item label="ismenu" prop="ismenu">
<el-switch
v-model="editForm.ismenu"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="是"
inactive-text="否"
active-value="1"
inactive-value="0">
</el-switch>
</el-form-item>
<!--<el-form-item label="创建日期">-->
<!--<el-date-picker type="date" placeholder="创建日期" v-model="editForm.creattime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"></el-date-picker>-->
<!--</el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="editFormVisible = false">取消</el-button>
... ... @@ -72,25 +89,36 @@
</el-dialog>
<!--新增界面-->
<el-dialog title="新增" v-model="addFormVisible" :close-on-click-modal="false">
<el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">
<el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
<el-form-item label="权限名称" prop="permissionName">
<el-input v-model="addForm.roleName" auto-complete="off" placeholder="请输入权限名称:例如:用户新增权限"></el-input>
<el-form-item label="权限名称" prop="name">
<el-input v-model="addForm.name" auto-complete="off" placeholder="请输入权限名称:例如:用户新增权限"></el-input>
</el-form-item>
<el-form-item label="权限描述" prop="description">
<el-input v-model="addForm.description" auto-complete="off" placeholder="请输入权限描述:例如:用户管理员"></el-input>
</el-form-item>
<el-form-item label="权限总路径" prop="path">
<el-input v-model="addForm.path" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input>
</el-form-item>
<el-form-item label="权限路径" prop="url">
<el-input v-model="addForm.url" auto-complete="off" placeholder="请输入权限描述:例如:/user/update"></el-input>
</el-form-item>
<el-form-item label="权限排序" prop="permissionSign">
<el-input v-model="addForm.permissionSign" auto-complete="off" placeholder="请输入权限排序:例如:123"></el-input>
<el-form-item label="权限排序" prop="permissionOrder">
<el-input v-model="addForm.permissionOrder" auto-complete="off" placeholder="请输入权限排序:例如:123"></el-input>
</el-form-item>
<el-form-item label="父目录ID" prop="parentId">
<el-input v-model="addForm.parentId" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input>
</el-form-item>
<el-form-item label="父目录ID" prop="parentId">
<el-input v-model="addForm.parentId" auto-complete="off" placeholder="请输入父目录ID:例如:123"></el-input>
<el-form-item label="ismenu" prop="ismenu">
<el-switch
v-model="addForm.ismenu"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="是"
inactive-text="否"
active-value="1"
inactive-value="0">
</el-switch>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
... ... @@ -110,12 +138,12 @@
data() {
return {
filters: {
permName: ''
name: ''
},
tableList: [],
total: 0,
pageNum: 1,
pageSize: 5,
pageSize: 10,
listLoading: false,
sels: [],//列表选中列
//编辑界面是否显示
... ... @@ -128,27 +156,48 @@
},
//编辑界面数据
editForm: {
roleId: 1,
permissionId:'',
description: '',
roleName: '',
roleSign: 1
name: '',
url: '',
path: '',
parentId: '',
ismenu: '',
permissionOrder:''
},
addFormVisible: false,//新增界面是否显示
addLoading: false,
addFormRules: {
roleName: [
name: [
{ required: true, message: '请输入权限名称', trigger: 'blur' }
],
description: [
{ required: true, message: '请输入权限描述', trigger: 'blur' }
],
paht: [
{ required: true, message: '请输入总路径', trigger: 'blur' }
],
url: [
{ required: true, message: '请输入权限路径', trigger: 'blur' }
],
permissionOrder: [
{ required: true, message: '请输入排序字段', trigger: 'blur' }
],
parentId: [
{ required: true, message: '请输入父类ID', trigger: 'blur' }
]
},
//新增界面数据
addForm: {
description: '',
roleName: '',
roleSign: 1
name: '',
url: '',
path: '',
parentId: '',
ismenu: '',
permissionOrder:''
}
}
... ... @@ -170,7 +219,7 @@
let para = {
pageNum: this.pageNum,
pageSize: this.pageSize,
name: this.filters.permName
name: this.filters.name
};
this.listLoading = true;
//NProgress.start();
... ... @@ -202,7 +251,7 @@
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { userId: row.userId };
let para = { permissionId: row.permissionId };
remove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
... ... @@ -210,7 +259,7 @@
message: '删除成功',
type: 'success'
});
this.getRoles();
this.getTableList();
}).catch((error) => {
this.listLoading = false;
alert(error);
... ... @@ -248,18 +297,6 @@
this.editLoading = true;
//NProgress.start();
let para = Object.assign({}, this.editForm);
//不需要提交的 去掉,后端不好接收
para.authorities = null;
para.permissions = null;
para.roles = null;
// para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd');
/*
查询之后格式this.filters.column.create_start_date中日期发生变化;
Wed Aug 09 2017 00:00:00 GMT+0800 (中国标准时间) 变成了 "2017-08-08T16:00:00.000Z";
所以使用 moment 日期格式化插件将时间转换成 [ Wed Aug 09 2017 00:00:00 GMT+0800 (中国标准时间) ] 格
式;
*/
/*moment 安装 npm install moment --save*/
para.creattime = moment(para.creattime).format('YYYY-MM-DD HH:mm:ss');
this.editLoading = false;
edit(para).then((res) => {
... ... @@ -271,7 +308,7 @@
});
this.$refs['editForm'].resetFields();
this.editFormVisible = false;
this.getRoles();
this.getTableList();
}).catch(error => alert(error));
});
}
... ... @@ -295,7 +332,7 @@
});
this.$refs['addForm'].resetFields();
this.addFormVisible = false;
this.getRoles();
this.getTableList();
}).catch(error => alert(error));
});
}
... ... @@ -306,7 +343,7 @@
},
//批量删除
batchRemove: function () {
var ids = this.sels.map(item => item.id).toString();
var ids = this.sels.map(item => item.permissionId).toString();
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
... ... @@ -320,7 +357,7 @@
message: '删除成功',
type: 'success'
});
this.getRoles();
this.getTableList();
});
}).catch(() => {
... ...
... ... @@ -4,7 +4,7 @@
<el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
<el-form :inline="true" :model="filters">
<el-form-item>
<el-input v-model="filters.roleName" placeholder="角色名称"></el-input>
<el-input v-model="filters.roleName" placeholder="岗位/角色名称"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" v-on:click="getRoles()">查询</el-button>
... ... @@ -23,11 +23,11 @@
</el-table-column>
<el-table-column prop="roleId" label="ID" width="100" sortable>
</el-table-column>
<el-table-column prop="roleName" label="角色名称" min-width="200" sortable>
<el-table-column prop="roleName" label="岗位/角色名称" min-width="200" sortable>
</el-table-column>
<el-table-column prop="description" label="角色描述" min-width="200" sortable>
<el-table-column prop="departmentName" label="部门名称" min-width="200" sortable>
</el-table-column>
<el-table-column prop="roleSign" label="排序" width="100" sortable>
<el-table-column prop="description" label="岗位/角色描述" min-width="200" sortable>
</el-table-column>
<el-table-column label="操作" min-width="260">
<template slot-scope="scope">
... ... @@ -41,28 +41,32 @@
<!--工具条-->
<el-col :span="24" class="toolbar">
<el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
<el-pagination layout="prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
<el-pagination layout="total, prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
</el-pagination>
</el-col>
<!--编辑界面-->
<el-dialog title="编辑" v-model="editFormVisible" :close-on-click-modal="false">
<el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
<el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
<el-form-item label="ID">
<span>{{editForm.roleId}}</span>
</el-form-item>
<el-form-item label="角色名称">
<el-input v-model="editForm.roleName" auto-complete="off" placeholder="请输入角色名称:例如:ROLE_name"></el-input>
<el-form-item label="岗位名称">
<el-input v-model="editForm.roleName" auto-complete="off" placeholder="请输入岗位/角色名称:例如:ROLE_name"></el-input>
</el-form-item>
<el-form-item label="角色描述">
<el-input v-model="editForm.description" auto-complete="off" placeholder="请输入角色描述:例如:用户管理员"></el-input>
<el-form-item label="岗位描述">
<el-input v-model="editForm.description" auto-complete="off" placeholder="请输入岗位/角色描述:例如:用户管理员"></el-input>
</el-form-item>
<el-form-item label="角色排序">
<el-input v-model="editForm.roleSign" auto-complete="off" placeholder="请输入角色排序:例如:数字123"></el-input>
<el-form-item label="部门名称">
<el-select v-model="editForm.departmentId" placeholder="请选择">
<el-option
v-for="item in departmentNameList"
:key="item.departmentId"
:label="item.departmentName"
:value="item.departmentId">
</el-option>
</el-select>
</el-form-item>
<!--<el-form-item label="创建日期">-->
<!--<el-date-picker type="date" placeholder="创建日期" v-model="editForm.creattime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"></el-date-picker>-->
<!--</el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="editFormVisible = false">取消</el-button>
... ... @@ -71,16 +75,23 @@
</el-dialog>
<!--新增界面-->
<el-dialog title="新增" v-model="addFormVisible" :close-on-click-modal="false">
<el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">
<el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
<el-form-item label="角色名称" prop="roleName">
<el-input v-model="addForm.roleName" auto-complete="off" placeholder="请输入角色名称:例如:ROLE_name"></el-input>
<el-form-item label="岗位/角色名称" prop="roleName">
<el-input v-model="addForm.roleName" auto-complete="off" placeholder="请输入岗位/角色名称:例如:ROLE_name"></el-input>
</el-form-item>
<el-form-item label="角色描述" prop="description">
<el-input v-model="addForm.description" auto-complete="off" placeholder="请输入角色描述:例如:用户管理员"></el-input>
<el-form-item label="岗位/角色描述" prop="description">
<el-input v-model="addForm.description" auto-complete="off" placeholder="请输入岗位/角色描述:例如:用户管理员"></el-input>
</el-form-item>
<el-form-item label="角色排序" prop="roleSign">
<el-input v-model="addForm.roleSign" auto-complete="off" placeholder="请输入角色排序:例如:数字123"></el-input>
<el-form-item label="部门名称" prop="roleSign">
<el-select v-model="addForm.departmentId" placeholder="请选择">
<el-option
v-for="item in departmentNameList"
:key="item.departmentId"
:label="item.departmentName"
:value="item.departmentId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
... ... @@ -90,7 +101,7 @@
</el-dialog>
<!--权限设置界面-->
<el-dialog title="角色的权限设置" v-model="PermFormVisible" :close-on-click-modal="false">
<el-dialog title="岗位的权限设置" :visible.sync="PermFormVisible" :close-on-click-modal="false">
<el-form :model="permForm" label-width="80px" ref="permForm">
<el-checkbox-group v-model="permIds" size="small">
<el-checkbox v-for="perm in permissons" :label="perm.permissionId" :key="perm.permissionId">{{perm.name}}</el-checkbox>
... ... @@ -108,6 +119,7 @@
import util from '../../common/js/util'
import NProgress from 'nprogress'
import { getList, remove, batchRemove, edit, add, updateRolePerm } from '../../api/role_api';
import { getList as getDepartmentList} from '../../api/department';
import { getList as permList } from '../../api/perm_api';
import moment from 'moment'
export default {
... ... @@ -116,6 +128,7 @@
filters: {
roleName: ''
},
departmentNameList:[],
roles: [],
permissons: [],
permIds: [],
... ... @@ -129,7 +142,7 @@
editLoading: false,
editFormRules: {
roleName: [
{ required: true, message: '请输入角色名称', trigger: 'blur' }
{ required: true, message: '请输入岗位/角色名称', trigger: 'blur' }
]
},
//编辑界面数据
... ... @@ -137,10 +150,10 @@
roleId: 1,
description: '',
roleName: '',
roleSign: 1
roleSign: 1,
departmentId:''
},
//设置权限数据
setPermForm: {},
//新增界面是否显示
addFormVisible: false,
//设置权限界面是否显示
... ... @@ -148,17 +161,18 @@
addLoading: false,
addFormRules: {
roleName: [
{ required: true, message: '请输入角色名称', trigger: 'blur' }
{ required: true, message: '请输入岗位/角色名称', trigger: 'blur' }
],
description: [
{ required: true, message: '请输入角色描述', trigger: 'blur' }
{ required: true, message: '请输入岗位/角色描述', trigger: 'blur' }
]
},
//新增界面数据
addForm: {
description: '',
roleName: '',
roleSign: 1
roleSign: 1,
departmentId:''
},
permForm: {
roleId: 1,
... ... @@ -207,11 +221,36 @@
alert(error);
}
});
},
//获取部门列表
getdepartmentNames() {
this.listLoading = true;
//NProgress.start();
getDepartmentList().then((res) => {
this.total = res.data.total;
this.departmentNameList = res.data.list;
this.listLoading = false;
//NProgress.done();
}).catch((error) => {
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
}else {
alert(error);
}
});
},
//获取权限列表
getPermList() {
let para = {
... ... @@ -240,7 +279,7 @@
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { userId: row.userId };
let para = { roleId: row.roleId };
remove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
... ... @@ -263,6 +302,7 @@
handleEdit: function (index, row) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
this.getdepartmentNames();
},
setPerm: function (index, row) {
var _this = this;
... ... @@ -292,6 +332,7 @@
mobilephone: '',
age: 1
};
this.getdepartmentNames();
},
//编辑
editSubmit: function () {
... ... @@ -386,7 +427,7 @@
},
//批量删除
batchRemove: function () {
var ids = this.sels.map(item => item.id).toString();
var ids = this.sels.map(item => item.roleId).toString();
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
... ...
... ... @@ -4,10 +4,10 @@
<el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
<el-form :inline="true" :model="filters">
<el-form-item>
<el-input v-model="filters.realname" placeholder="姓名"></el-input>
<el-input v-model="filters.realName" placeholder="姓名"></el-input>
</el-form-item>
<el-form-item>
<el-input v-model="filters.username" placeholder="账号"></el-input>
<el-input v-model="filters.userName" placeholder="账号"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" v-on:click="getUsers">查询</el-button>
... ... @@ -56,12 +56,12 @@
<!--工具条-->
<el-col :span="24" class="toolbar">
<el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
<el-pagination layout="prev, pager, next" @current-change="handleCurrentChange" :page-size="10" :total="total" style="float:right;">
<el-pagination layout="total, prev, pager, next" @current-change="handleCurrentChange" :page-size="10" :total="total" style="float:right;">
</el-pagination>
</el-col>
<!--编辑界面-->
<el-dialog title="编辑" v-model="editFormVisible" :close-on-click-modal="false">
<el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
<el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
<el-form-item label="ID">
<span>{{editForm.userId}}</span>
... ... @@ -123,7 +123,7 @@
</el-dialog>
<!--新增界面-->
<el-dialog title="新增" v-model="addFormVisible" :close-on-click-modal="false">
<el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">
<el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
<el-form-item label="账号" prop="username">
<el-input v-model="addForm.username"></el-input>
... ... @@ -160,7 +160,7 @@
</el-dialog>
<!--权限设置-->
<el-dialog title="权限设置" v-model="roleFormVisible" :close-on-click-modal="false">
<el-dialog title="权限设置" :visible.sync="roleFormVisible" :close-on-click-modal="false">
<el-form :model="roleEditForm" label-width="80px" ref="roleEditForm" >
<el-form-item label="ID">
<span>{{roleEditForm.userId}}</span>
... ... @@ -190,8 +190,8 @@
data() {
return {
filters: {
username: '',
realname: ''
userName: '',
realName: ''
},
users: [],
total: 0,
... ... @@ -269,8 +269,8 @@
let para = {
pageNum: this.pageNum,
pageSize: this.pageSize,
username: this.filters.username,
realname: this.filters.realname
userName: this.filters.userName,
realName: this.filters.realName
};
this.listLoading = true;
getUserList(para).then((res) => {
... ... @@ -346,9 +346,6 @@
}else {
alert(error);
}
});
},
... ... @@ -409,9 +406,8 @@
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.addLoading = true;
//NProgress.start();
let para = Object.assign({}, this.addForm);
para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd');
// para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd');
addUser(para).then((res) => {
this.addLoading = false;
//NProgress.done();
... ...
<template>
<section>
<!--工具条-->
<el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
<el-form :inline="true" :model="filters">
<el-form-item>
<el-input v-model="filters.cometovisitname" placeholder="报修人名称"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" v-on:click="getMaintainList()">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="companyAdd">新增</el-button>
</el-form-item>
</el-form>
</el-col>
<!--列表-->
<el-table :data="securityInspectionList" highlight-current-row v-loading="listLoading" @selection-change="selsChange" style="width: 100%;">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column type="index">
</el-table-column>
<el-table-column prop="id" v-if="false" label="ID" sortable>
</el-table-column>
<el-table-column prop="datetime" label="日期" sortable>
</el-table-column>
<el-table-column prop="cometovisitdate" label="来访时间" sortable>
</el-table-column>
<el-table-column prop="leavedate" label="离开时间" sortable>
</el-table-column>
<el-table-column prop="cometovisitname" label="姓名" sortable>
</el-table-column>
<el-table-column prop="carnumber" label="车辆牌号" sortable>
</el-table-column>
<el-table-column prop="phone" label="联系电话" sortable>
</el-table-column>
<el-table-column prop="comematter" label="来访事由" sortable>
</el-table-column>
<el-table-column prop="warchkeeper" label="值班人员" sortable>
</el-table-column>
<el-table-column label="操作" min-width="150">
<template slot-scope="scope">
<el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
<el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<!--工具条-->
<el-col :span="24" class="toolbar">
<el-button type="danger" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button>
<el-pagination layout="total, prev, pager, next" @current-change="handleCurrentChange" :page-size="5" :total="total" style="float:right;">
</el-pagination>
</el-col>
<!--编辑界面-->
<el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false">
<el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm">
<el-form-item label="ID">
<span>{{editForm.id}}</span>
</el-form-item>
<el-form-item label="日期" prop="datetime">
<el-date-picker
v-model="editForm.datetime"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<el-form-item label="来访时间" prop="cometovisitdate">
<el-date-picker
v-model="editForm.cometovisitdate"
type="date"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<el-form-item label="离开时间" prop="leavedate">
<el-date-picker
v-model="editForm.leavedate"
type="date"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<el-form-item label="姓名" prop="cometovisitname">
<el-input v-model="editForm.cometovisitname" auto-complete="off" placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item label="车辆牌号" prop="carnumber">
<el-input v-model="editForm.carnumber" auto-complete="off" placeholder="请输入车辆牌号"></el-input>
</el-form-item>
<el-form-item label="联系电话" prop="phone">
<el-input v-model="editForm.phone" auto-complete="off" placeholder="请输入联系电话"></el-input>
</el-form-item>
<el-form-item label="来访事由" prop="comematter">
<el-input v-model="editForm.comematter" auto-complete="off" placeholder="请输入来访事由"></el-input>
</el-form-item>
<el-form-item label="值班人员" prop="warchkeeper">
<el-input v-model="editForm.warchkeeper" auto-complete="off" placeholder="请输值班人员"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="editFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="editSubmit" :loading="false">提交</el-button>
</div>
</el-dialog>
<!--新增界面-->
<el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">
<el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm">
<el-form-item label="日期" prop="datetime">
<el-date-picker
v-model="addForm.datetime"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<el-form-item label="来访时间" prop="cometovisitdate">
<el-date-picker
v-model="addForm.cometovisitdate"
type="date"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<el-form-item label="离开时间" prop="leavedate">
<el-date-picker
v-model="addForm.leavedate"
type="date"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<el-form-item label="姓名" prop="cometovisitname">
<el-input v-model="addForm.cometovisitname" auto-complete="off" placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item label="车辆牌号" prop="carnumber">
<el-input v-model="addForm.carnumber" auto-complete="off" placeholder="请输入车辆牌号"></el-input>
</el-form-item>
<el-form-item label="联系电话" prop="phone">
<el-input v-model="addForm.phone" auto-complete="off" placeholder="请输入联系电话"></el-input>
</el-form-item>
<el-form-item label="来访事由" prop="comematter">
<el-input v-model="addForm.comematter" auto-complete="off" placeholder="请输入来访事由"></el-input>
</el-form-item>
<el-form-item label="值班人员" prop="warchkeeper">
<el-input v-model="addForm.warchkeeper" auto-complete="off" placeholder="请输值班人员"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="addFormVisible = false">取消</el-button>
<el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button>
</div>
</el-dialog>
</section>
</template>
<script>
import util from '../../common/js/util'
import NProgress from 'nprogress'
import { getList, remove, batchRemove, edit, add } from '../../api/staff/come_car';
import moment from 'moment'
export default {
data() {
return {
filters: {
cometovisitname: ''
},
userid: '',
securityInspectionList: [],
total: 0,
pageNum: 1,
pageSize: 5,
listLoading: false,
sels: [],//列表选中列
//编辑界面是否显示
editFormVisible: false,
editLoading: false,
editFormRules: {
repairscontent: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
reflectway: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
repairsdept: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
repairsname: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
answerthephonename: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
repairsphone: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
maintaincase: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
cooperatemaintainname: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
meno: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
},
//编辑界面数据
editForm: {
id:'',
datetime:'',
cometovisitdate:'',
leavedate:'',
cometovisitname: '',
carnumber: '',
phone: '',
comematter: '',
warchkeeper: ''
},
//新增界面是否显示
addFormVisible: false,
addLoading: false,
addFormRules: {
repairscontent: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
reflectway: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
repairsdept: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
repairsname: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
answerthephonename: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
repairsphone: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
maintaincase: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
cooperatemaintainname: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
meno: [
{ required: true, message: '不能为空!!!', trigger: 'blur' }
],
},
//新增界面数据
addForm: {
datetime:'',
cometovisitdate:'',
leavedate:'',
cometovisitname: '',
carnumber: '',
phone: '',
comematter: '',
warchkeeper: '',
userid: this.userid
}
}
},
mounted() {
this.userid = JSON.parse(sessionStorage.getItem('user')).userId;
this.getMaintainList();
},
methods: {
handleCurrentChange(val) {
this.pageNum = val;
this.getMaintainList();
},
//获取列表
getMaintainList() {
let para = {
pageNum: this.pageNum,
pageSize: this.pageSize,
cometovisitname: this.filters.cometovisitname
};
this.listLoading = true;
getList(para).then((res) => {
this.total = res.data.total;
this.securityInspectionList = res.data.list;
this.listLoading = false;
//NProgress.done();
}).catch((error) => {
this.listLoading = false;
if(null!= error.response && error.response!==undefined){
let status= error.response.status;
let msg = error.response.statusText;
alert(status+msg);
}else {
alert(error);
}
});
},
//删除
handleDel: function (index, row) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { id: row.id };
remove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
});
this.getMaintainList();
}).catch((error) => {
this.listLoading = false;
alert(error);
});
}).catch();
},
/**
* 显示编辑界面
* @param index
* @param row 为这行的数据对象
*/
handleEdit: function (index, row) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
this.getMaintainList();
},
//显示新增界面,每次点开初始化数据
companyAdd: function () {
this.addFormVisible = true;
this.addForm = {
userid: this.userid
};
this.getMaintainList();
},
//新增
addSubmit: function () {
this.$refs.addForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
//NProgress.start();
this.listLoading = true;
let para = Object.assign({}, this.addForm);
add(para).then((res) => {
this.addLoading = false;
//NProgress.done();
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['addForm'].resetFields();
this.addFormVisible = false;
this.getMaintainList();
}).catch(error => alert(error));
});
}
});
},
//编辑
editSubmit: function () {
this.$refs.editForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.editLoading = true;
let para = Object.assign({}, this.editForm);
this.editLoading = true;
edit(para).then((res) => {
this.$message({
message: '提交成功',
type: 'success'
});
this.$refs['editForm'].resetFields();
this.editFormVisible = false;
this.getMaintainList();
}).catch(error => alert(error));
});
}
});
},
selsChange: function (sels) {
this.sels = sels;
},
//批量删除
batchRemove: function () {
var ids = this.sels.map(item => item.id).toString();
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.listLoading = true;
//NProgress.start();
let para = { ids: ids };
batchRemove(para).then((res) => {
this.listLoading = false;
//NProgress.done();
this.$message({
message: '删除成功',
type: 'success'
});
this.getMaintainList();
});
}).catch(() => {
});
}
},
}
</script>
\ No newline at end of file
... ...