切换导航条
此项目
正在载入...
登录
朱兆平
/
vue_cli
·
提交
转到一个项目
GitLab
转到仪表盘
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
朱兆平
5 years ago
提交
ab8b95a10491236c68738195a0378135923af83f
1 个父辈
e44db57e
住宿位置管理
隐藏空白字符变更
内嵌
并排对比
正在显示
4 个修改的文件
包含
102 行增加
和
119 行删除
src/api/empt/location_api.js
src/utils/customEval.js
src/views/Home.vue
src/views/empt/Location.vue
src/api/empt/location_api.js
查看文件 @
ab8b95a
import
axios
from
'axios'
let
base
=
'empt-location/
job
'
;
let
base
=
'empt-location/
location
'
;
export
const
getList
=
params
=>
{
return
axios
.
get
(
`
$
{
base
}
/list`, { params: params }
)
; }
;
...
...
src/utils/customEval.js
0 → 100755
查看文件 @
ab8b95a
/**
* @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
}
...
...
src/views/Home.vue
查看文件 @
ab8b95a
...
...
@@ -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>
...
...
src/views/empt/Location.vue
查看文件 @
ab8b95a
...
...
@@ -7,7 +7,7 @@
<el-input v-model="filters.processName" placeholder="公寓名称"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" v-on:click="get
Process
List()">查询</el-button>
<el-button type="primary" v-on:click="getList()">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleAdd()">新增</el-button>
...
...
@@ -15,25 +15,35 @@
</el-form>
</el-col>
<!--列表-->
<tree-table :data="locationList" :eval-func="func" :eval-args="args" :expand-all="expandAll" stripe style="font-size: 13px" border @selection-change="handleSelectionChange">
<el-table-column prop="adrname" label="名称" width="110px" align="center" sortable>
<template slot-scope="scope">
<span>{{ scope.row.adrname }}</span>
</template>
<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 label="类型" width="120px" align="center" sortable>
<template slot-scope="scope">
<span>{{ scope.row.type }}</span>
</template>
<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>
</template>
</el-table-column>
</
tree
-table>
</
el
-table>
<!--工具条-->
<el-col :span="24" class="toolbar">
...
...
@@ -41,83 +51,28 @@
<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>
<style>
.el-table .building {
background: oldlace;
}
.el-table .floor {
background: #f0f9eb;
}
.el-table .house {
background: #99CCCC;
}
</style>
<script>
import util from '../../common/js/util'
import { getList,add} from '@/api/empt/location_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: {
...
...
@@ -125,9 +80,6 @@
parseTime: parseTime
},
locationList:[],
processList: [],
permissons: [],
permIds: [],
total: 0,
pageNum: 1,
pageSize: 5,
...
...
@@ -150,13 +102,9 @@
departmentId:''
},
//用户ID
//执行任务人ID
jodUserId: 0,
//新增界面是否显示
addFormVisible: false,
//设置权限界面是否显示
PermFormVisible: false,
addLoading: false,
addFormRules: {
roleName: [
...
...
@@ -253,18 +201,18 @@
//性别显示转换
formatType: function (row, column) {
let msg = '未知';
switch (row.
auditresuld
){
switch (row.
type
){
case 0:
msg='
未执行
';
msg='
公寓
';
break;
case 1:
msg='
执行中
';
msg='
楼
';
break;
case 2:
msg='
执行完毕
';
msg='
层
';
break;
case 3:
msg='
任务转交
';
msg='
门牌
';
break;
}
return msg;
...
...
@@ -402,23 +350,6 @@
}
});
},
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;
},
...
...
@@ -443,15 +374,19 @@
});
},
shwoDialog(index,row) {
this.dialogData = Object.assign({}, row);
this.centerDialogVisible = true;
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 '';
},
cascaderhandleChange:function (value) {
let defaultvalue = ["0","0","0","0"];
defaultvalue = value;
console.log(defaultvalue);
this.jodUserId = defaultvalue[3];
handleSelectionChange(val) {
this.multipleSelection = val
}
},
mounted() {
...
...
请
注册
或
登录
后发表评论