提交 522f4a48 编写于 作者: huangwensu's avatar huangwensu

Merge branch 'dev-eduadmin-20190222' of...

Merge branch 'dev-eduadmin-20190222' of http://192.168.110.53/com.pica.cloud.education.frontend/pica.cloud.web-app into dev-eduadmin-20190222
...@@ -286,8 +286,8 @@ ...@@ -286,8 +286,8 @@
}, },
"async-validator": { "async-validator": {
"version": "1.8.5", "version": "1.8.5",
"resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz", "resolved": "http://registry.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz",
"integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==", "integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=",
"requires": { "requires": {
"babel-runtime": "6.x" "babel-runtime": "6.x"
} }
...@@ -569,8 +569,8 @@ ...@@ -569,8 +569,8 @@
}, },
"babel-helper-vue-jsx-merge-props": { "babel-helper-vue-jsx-merge-props": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz", "resolved": "http://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
"integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==" "integrity": "sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY="
}, },
"babel-helpers": { "babel-helpers": {
"version": "6.24.1", "version": "6.24.1",
...@@ -2123,8 +2123,8 @@ ...@@ -2123,8 +2123,8 @@
}, },
"deepmerge": { "deepmerge": {
"version": "1.5.2", "version": "1.5.2",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", "resolved": "http://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz",
"integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==" "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M="
}, },
"define-property": { "define-property": {
"version": "2.0.2", "version": "2.0.2",
...@@ -2329,9 +2329,9 @@ ...@@ -2329,9 +2329,9 @@
"dev": true "dev": true
}, },
"element-ui": { "element-ui": {
"version": "2.5.4", "version": "2.6.1",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.5.4.tgz", "resolved": "http://registry.npm.taobao.org/element-ui/download/element-ui-2.6.1.tgz",
"integrity": "sha512-VlyPZ1A2VtVJdnu9nUV+u/eGhKaEF+IoENbDgNlUza0Slj6Jb0bC9mzK95JK2g7QSe8YXUWhQVy+d2kZUE2oKQ==", "integrity": "sha1-htt5/13psbzDGHtls3crDFQHRxg=",
"requires": { "requires": {
"async-validator": "~1.8.1", "async-validator": "~1.8.1",
"babel-helper-vue-jsx-merge-props": "^2.0.0", "babel-helper-vue-jsx-merge-props": "^2.0.0",
...@@ -5414,7 +5414,7 @@ ...@@ -5414,7 +5414,7 @@
}, },
"normalize-wheel": { "normalize-wheel": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", "resolved": "http://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz",
"integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
}, },
"npm-run-path": { "npm-run-path": {
...@@ -7269,8 +7269,8 @@ ...@@ -7269,8 +7269,8 @@
}, },
"resize-observer-polyfill": { "resize-observer-polyfill": {
"version": "1.5.1", "version": "1.5.1",
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", "resolved": "http://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz",
"integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ="
}, },
"resolve": { "resolve": {
"version": "1.8.1", "version": "1.8.1",
...@@ -8283,8 +8283,8 @@ ...@@ -8283,8 +8283,8 @@
}, },
"throttle-debounce": { "throttle-debounce": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz", "resolved": "http://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz",
"integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==" "integrity": "sha1-UYU9o3vmihVctugns1FKPEIuic0="
}, },
"time-stamp": { "time-stamp": {
"version": "2.2.0", "version": "2.2.0",
......
...@@ -7,6 +7,7 @@ const itemComponent = r => require.ensure([], () => r(require('../views/educatio ...@@ -7,6 +7,7 @@ const itemComponent = r => require.ensure([], () => r(require('../views/educatio
const createComponent = r => require.ensure([], () => r(require('../views/education/create-component.vue')),'create-component') const createComponent = r => require.ensure([], () => r(require('../views/education/create-component.vue')),'create-component')
const roleManager = r => require.ensure([], () => r(require('../views/system/role.vue')),'role') const roleManager = r => require.ensure([], () => r(require('../views/system/role.vue')),'role')
const addManager = r => require.ensure([], () => r(require('../views/education/add-manager.vue')), 'add-manager') const addManager = r => require.ensure([], () => r(require('../views/education/add-manager.vue')), 'add-manager')
const itemRole = r => require.ensure([], () => r(require('../views/system/item-role.vue')), 'item-role')
export default [{ export default [{
path: '/', path: '/',
...@@ -39,6 +40,9 @@ export default [{ ...@@ -39,6 +40,9 @@ export default [{
},{ },{
path: '/create-component', path: '/create-component',
component: createComponent component: createComponent
} },{
path: '/item-role',
component: itemRole
},
] ]
}] }]
\ No newline at end of file
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb> <bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb>
<el-row class="step-content"> <el-row class="step-content">
<el-col :span="14"> <el-col :span="14">
<el-steps :active="active" simple style="background: #fff;"> <el-steps :active="active" simple style="background: #F0F2F5;">
<span class="step-num" v-bind:class="{ 'on-step': stepData[0] }">1</span> <span class="step-num" v-bind:class="{ 'on-step': stepData[0] }">1</span>
<el-step title="基础信息"></el-step> <el-step title="基础信息"></el-step>
<span class="step-num" v-bind:class="{ 'on-step': stepData[1] }">2</span> <span class="step-num" v-bind:class="{ 'on-step': stepData[1] }">2</span>
...@@ -191,7 +191,7 @@ ...@@ -191,7 +191,7 @@
</el-select> </el-select>
<el-table <el-table
class="department" class="department"
ref="multipleTable" ref="multipleDepartment"
:data="tableDepartment" :data="tableDepartment"
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%" style="width: 100%"
...@@ -222,7 +222,7 @@ ...@@ -222,7 +222,7 @@
</el-form> </el-form>
<el-table <el-table
class="rim" class="rim"
ref="multipleTablePerson" ref="multiplePerson"
:data="tablePerson" :data="tablePerson"
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%" style="width: 100%"
...@@ -236,6 +236,15 @@ ...@@ -236,6 +236,15 @@
<el-table-column prop="city" label="所属城市"></el-table-column> <el-table-column prop="city" label="所属城市"></el-table-column>
<el-table-column prop="district" label="所属区县" show-overflow-tooltip></el-table-column> <el-table-column prop="district" label="所属区县" show-overflow-tooltip></el-table-column>
</el-table> </el-table>
<el-pagination
@size-change="handleSizePerson"
@current-change="handleCurrentPerson"
:current-page="currentPerson"
:page-sizes="[2, 3, 4]"
:page-size="pageSizePerson"
layout="total, sizes, prev, pager, next, jumper"
:total="totalPerson"
></el-pagination>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
...@@ -386,6 +395,9 @@ export default { ...@@ -386,6 +395,9 @@ export default {
department: "" department: ""
}, },
tablePerson: new Array(), tablePerson: new Array(),
currentPerson: 1,
pageSizePerson: 2,
totalPerson: 10,
//选择项目组件 数据 //选择项目组件 数据
optionsComponent: [ optionsComponent: [
{ {
...@@ -504,8 +516,10 @@ export default { ...@@ -504,8 +516,10 @@ export default {
this.initPerson(); this.initPerson();
let that = this; let that = this;
setTimeout(function() { this.$nextTick(function() {
that.checkAll(true); this.$refs.multipleOrganization.toggleAllSelection();
this.$refs.multipleDepartment.toggleAllSelection();
this.$refs.multiplePerson.toggleAllSelection();
}); });
}, },
methods: { methods: {
...@@ -683,7 +697,7 @@ export default { ...@@ -683,7 +697,7 @@ export default {
console.log(tagsRegion); console.log(tagsRegion);
let treeKeyList = []; let treeKeyList = [];
for (let index = 0; index < tagsRegion.length; index++) { for (let index = 0; index < tagsRegion.length; index++) {
treeKeyList[index] = tagsRegion[index].key treeKeyList[index] = tagsRegion[index].key;
} }
console.log(treeKeyList); console.log(treeKeyList);
this.$refs.tree.setCheckedKeys(treeKeyList); this.$refs.tree.setCheckedKeys(treeKeyList);
...@@ -697,7 +711,7 @@ export default { ...@@ -697,7 +711,7 @@ export default {
handleSelectionOrganization(val) { handleSelectionOrganization(val) {
this.multipleSelectionOrganization = val; this.multipleSelectionOrganization = val;
console.log(this.multipleSelectionOrganization); console.log(this.multipleSelectionOrganization);
this.updatePerson(this.multipleSelectionOrganization) this.updatePerson(this.multipleSelectionOrganization);
}, },
//改变 table的check状态 //改变 table的check状态
handleSelectionChange(val) { handleSelectionChange(val) {
...@@ -705,19 +719,28 @@ export default { ...@@ -705,19 +719,28 @@ export default {
console.log(this.multipleSelection); console.log(this.multipleSelection);
}, },
//设定机构table全选 //设定机构table全选
checkAll(flag) { checkAll(flag, name) {
console.log(flag + " " + name);
if (flag === true) { if (flag === true) {
this.$refs.multipleOrganization.toggleAllSelection(); this.$refs[name].toggleAllSelection();
} else { } else {
this.$refs.multipleOrganization.clearSelection(); //this.$refs[name].clearSelection();
} }
}, },
//机构table修改
handleSizeOrganization(val) { handleSizeOrganization(val) {
console.log(`每页 ${val} 条`); console.log(`每页 ${val} 条`);
}, },
handleCurrentOrganization(val) { handleCurrentOrganization(val) {
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`);
}, },
//角色table修改
handleSizePerson(val) {
console.log(`每页 ${val} 条`);
},
handleCurrentPerson(val) {
console.log(`当前页: ${val}`);
},
//初始化机构数据 //初始化机构数据
initOrganization() { initOrganization() {
//console.log(returnData()); //console.log(returnData());
...@@ -736,8 +759,7 @@ export default { ...@@ -736,8 +759,7 @@ export default {
}, },
//设定机构改变更新设定人员 //设定机构改变更新设定人员
updatePerson(organization) { updatePerson(organization) {
if (this.hasOrganizationInit === true) {
if(this.hasOrganizationInit === true) {
this.tablePerson = []; this.tablePerson = [];
} }
this.hasOrganizationInit = true; this.hasOrganizationInit = true;
...@@ -773,7 +795,7 @@ export default { ...@@ -773,7 +795,7 @@ export default {
.step-content { .step-content {
overflow: hidden; overflow: hidden;
height: 60px; height: 60px;
margin-top: 60px; margin-top: 80px;
border-bottom: 1px solid #efefef; border-bottom: 1px solid #efefef;
} }
.is-finish { .is-finish {
...@@ -879,7 +901,7 @@ export default { ...@@ -879,7 +901,7 @@ export default {
} }
.department { .department {
margin-top: 20px; margin-top: 20px;
min-height: 700px; // min-height: 700px;
border: 1px solid #dddddd; border: 1px solid #dddddd;
} }
.is-text { .is-text {
......
<template> <template>
<div class="main-container"> <div class="main-container">
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb> <bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb>
<el-main> <div class="component-content">
<el-header class="header"> <div class="header-title">项目管理</div>
<h3 class="title">项目管理</h3>
</el-header>
<el-form :inline="true" :model="formInline" class="demo-form-inline"> <el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="项目名称:"> <el-form-item label="项目名称:">
<el-input v-model="formInline.name" placeholder="审批人"></el-input> <el-input v-model="formInline.name" placeholder="审批人"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目时间:"> <el-form-item label="项目时间:">
<el-date-picker <el-date-picker
v-model="formInline.date" v-model="formInline.startDates"
type="daterange" type="date"
unlink-panels placeholder="请选择开始时间"
range-separator="~" ></el-date-picker>
start-placeholder="请选择开始时间" <el-date-picker
end-placeholder="请选择结束时间" v-model="formInline.endDate"
:picker-options="pickerOptions" type="date"
value-format="yyyy-MM-dd hh:mm:ss" placeholder="请选择结束时间"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -71,7 +69,7 @@ ...@@ -71,7 +69,7 @@
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="400" :total="400"
></el-pagination> ></el-pagination>
</el-main> </div>
</div> </div>
</template> </template>
<script> <script>
...@@ -101,7 +99,8 @@ export default { ...@@ -101,7 +99,8 @@ export default {
currentPage: 1, currentPage: 1,
formInline: { formInline: {
name: "", name: "",
date: "", startDate: "",
endDate: "",
type: "" type: ""
}, },
pickerOptions: { pickerOptions: {
...@@ -172,18 +171,14 @@ export default { ...@@ -172,18 +171,14 @@ export default {
</script> </script>
<style lang="scss"> <style lang="scss">
.main-container { .main-container {
width: 100%; .component-content {
.el-header { margin-top: 50px;
margin-top: 20px; padding: 10px;
color: #333; .header-title {
line-height: 60px; padding: 10px 12px;
text-align: left;
font-size: 12px; font-size: 12px;
background-color: #fff;
border-bottom: 1px solid #fff;
.title {
color: #409eff; color: #409eff;
} border-bottom: 1px solid #efefef;
} }
.table-option span { .table-option span {
color: #409eff; color: #409eff;
...@@ -198,5 +193,6 @@ export default { ...@@ -198,5 +193,6 @@ export default {
font-weight: bold; font-weight: bold;
color: #000; color: #000;
} }
}
} }
</style> </style>
\ No newline at end of file
...@@ -52,12 +52,6 @@ export default { ...@@ -52,12 +52,6 @@ export default {
icon: 'el-icon-menu', icon: 'el-icon-menu',
index: '2', index: '2',
subs: [ subs: [
{
title: '基础数据管理',
icon: 'el-icon-setting',
index: 'role',
subs: []
},
{ {
title: '角色管理', title: '角色管理',
icon: 'el-icon-setting', icon: 'el-icon-setting',
......
<template>
<div class="main-container">
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond" :curmbThird="curmbThird"></bread-crumb>
<div class="component-content">
<div class="header-title">查询条件</div>
<el-form :inline="true" :model="formInline" class="form-inline">
<el-form-item label="姓名:">
<el-input v-model="formInline.name" placeholder="审批人"></el-input>
</el-form-item>
<el-form-item label="所属机构:">
<el-select v-model="formInline.organization" placeholder="请选择所属机构">
<el-option label="机构1" value="organization1"></el-option>
<el-option label="机构2" value="organization2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="所属科室:">
<el-select v-model="formInline.department" placeholder="请选择所属科室">
<el-option label="科室1" value="department1"></el-option>
<el-option label="科室2" value="department12"></el-option>
</el-select>
</el-form-item>
<el-form-item class="to-right">
<el-button class="button-green" type="primary" plain>重置</el-button>
</el-form-item>
<el-form-item class="to-right">
<el-button class="button-white" type="primary">查询</el-button>
</el-form-item>
</el-form>
<el-table
v-loading="loading"
:data="tableData"
:header-cell-style="{background:'#FAFAFA',color:'#000'}"
>
<el-table-column prop="id" label="用户ID" ></el-table-column>
<el-table-column prop="name" label="姓名" ></el-table-column>
<el-table-column prop="role" label="角色"></el-table-column>
<el-table-column prop="organization" label="所属机构"></el-table-column>
<el-table-column prop="department" label="科室"></el-table-column>
<el-table-column fixed="right" label="操作" width="200">
<template slot-scope="scope">
<el-button class="title" type="text" size="small" @click="toPage()">升级项目负责人</el-button>
<el-button class="title" type="text" size="small" @click="toPage()">降为普通用户</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[100, 200, 300, 400]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="400"
></el-pagination>
</div>
</div>
</template>
<script>
import BreadCrumb from "../../components/breadcrumb.vue";
import { create } from "domain";
export default {
components: {
BreadCrumb
},
data() {
const item = {
id: "298490",
name: "李雪",
role: "项目负责人",
organization: "浙江省人民医院",
department: "外科",
};
return {
curmbFirst: "系统管理",
curmbSecond: "角色管理",
curmbThird: "项目角色",
tableData: Array(10).fill(item),
loading: false,
timingTime: "",
currentPage: 1,
formInline: {
name: "",
role: "",
organization: "",
department: ""
},
pickerOptions: {
shortcuts: [
{
text: "最近一周",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", [start, end]);
}
},
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit("pick", [start, end]);
}
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit("pick", [start, end]);
}
}
]
}
};
},
create() {},
methods: {
toPage() {
this.$router.push("item-role");
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
}
}
};
</script>
<style lang="scss">
.main-container {
.component-content {
margin-top: 50px;
margin-left: 10px;
padding: 10px;
.form-inline {
margin-left: 30px;
}
.button-green {
color: #ffffff;
background: #449284;
border-color: #bfdad5;
border-radius: 2px;
}
.button-white {
color: #606266;
background: #ffffff;
border-color: #ecedf1;
border-radius: 2px;
}
.header-title {
padding: 10px 12px;
font-size: 12px;
color: #409eff;
border-bottom: 1px solid #efefef;
}
.to-right {
float: right;
}
.table-option span {
color: #409eff;
}
.add-button {
float: right;
}
.el-table .cell {
color: #929292;
}
.el-table th > .cell {
font-weight: bold;
color: #000;
}
}
}
</style>
\ No newline at end of file
<template> <template>
<div> <div class="main-container">
<el-tree <bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb>
:data="data2" <div class="component-content">
show-checkbox <div class="header-title">查询条件</div>
default-expand-all <el-form :inline="true" :model="formInline" class="demo-form-inline">
node-key="id" <el-form-item label="项目名称:">
ref="tree" <el-input v-model="formInline.name" placeholder="审批人"></el-input>
highlight-current </el-form-item>
:props="defaultProps" <el-form-item label="项目时间:">
@check="onChecked" <el-date-picker v-model="formInline.startDates" type="date" placeholder="请选择开始时间"></el-date-picker>
></el-tree> <el-date-picker v-model="formInline.endDate" type="date" placeholder="请选择结束时间"></el-date-picker>
<span></span> </el-form-item>
<div class="buttons"> <el-form-item class="to-right">
<el-button @click="getCheckedNodes">通过 node 获取</el-button> <el-button class="button-white" plain>重置</el-button>
<el-button @click="getCheckedKeys">通过 key 获取</el-button> </el-form-item>
<el-button @click="setCheckedNodes">通过 node 设置</el-button> <el-form-item class="to-right">
<el-button @click="setCheckedKeys">通过 key 设置</el-button> <el-button class="button-green" type="primary">查询</el-button>
<el-button @click="resetChecked">清空</el-button> </el-form-item>
</el-form>
<el-table
v-loading="loading"
:data="tableData"
:header-cell-style="{background:'#FAFAFA',color:'#000'}"
>
<el-table-column prop="id" label="ID编号" width="140"></el-table-column>
<el-table-column prop="projectName" label="项目名称" width="120"></el-table-column>
<el-table-column prop="createName" label="创建人"></el-table-column>
<el-table-column prop="projectBrief" label="项目简介"></el-table-column>
<el-table-column prop="address" label="所属地区"></el-table-column>
<el-table-column prop="startTime" label="项目开始时间"></el-table-column>
<el-table-column prop="endTime" label="项目结束时间"></el-table-column>
<el-table-column prop="state" label="状态"></el-table-column>
<el-table-column fixed="right" label="操作" width="200">
<template slot-scope="scope">
<el-button class="title" type="text" size="small" @click="toPage()">查看项目人员</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[100, 200, 300, 400]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="400"
></el-pagination>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { ELTree1 } from "element-ui/lib/checkbox"; import BreadCrumb from "../../components/breadcrumb.vue";
// import Vue from 'vue' import { create } from "domain";
// require("element-ui/lib/checkbox"
export default { export default {
// components: { components: {
// base1 BreadCrumb
// },
mounted() {
// const base1 = Vue.extend(ELTree)
// Vue.component('base1', base1)
}, },
data() { data() {
const item = {
id: "298490",
projectName: "浙江省防控中心指空中...",
createName: "李雷",
projectBrief: "显示项目简介简介",
address: "浙江省",
startTime: "2018-12-15 15:39:23",
endTime: "2018-12-15 15:39:23",
state: "草稿"
};
return { return {
data2: [ curmbFirst: "系统管理",
{ curmbSecond: "角色管理",
id: 11, tableData: Array(10).fill(item),
label: "一级 1", loading: false,
children: [ timingTime: "",
{ currentPage: 1,
id: 1, formInline: {
label: "一级 1", name: "",
children: [ startDate: "",
{ endDate: "",
id: 4, type: ""
label: "二级 1-1",
children: [
{
id: 9,
label: "三级 1-1-1"
}, },
pickerOptions: {
shortcuts: [
{ {
id: 10, text: "最近一周",
label: "三级 1-1-2" onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", [start, end]);
} }
]
}
]
}, },
{ {
id: 2, text: "最近一个月",
label: "一级 2", onClick(picker) {
children: [ const end = new Date();
{ const start = new Date();
id: 5, start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
label: "二级 2-1" picker.$emit("pick", [start, end]);
},
{
id: 6,
label: "二级 2-2"
} }
]
},
{
id: 3,
label: "一级 3",
children: [
{
id: 7,
label: "二级 3-1"
}, },
{ {
id: 8, text: "最近三个月",
label: "二级 3-2" onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit("pick", [start, end]);
} }
]
} }
] ]
} }
],
defaultProps: {
children: "children",
label: "label"
}
}; };
}, },
create() {},
methods: { methods: {
getCheckedNodes() { toPage() {
console.log(this.$refs.tree.getCheckedNodes()); this.$router.push("item-role");
}, },
getCheckedKeys() { handleSizeChange(val) {
console.log(this.$refs.tree.getCheckedKeys()); console.log(`每页 ${val} 条`);
}, },
setCheckedNodes() { handleCurrentChange(val) {
this.$refs.tree.setCheckedNodes([ console.log(`当前页: ${val}`);
{
id: 5,
label: "二级 2-1"
},
{
id: 9,
label: "三级 1-1-1"
}
]);
},
setCheckedKeys() {
this.$refs.tree.setCheckedKeys([3]);
}, },
resetChecked() {
this.$refs.tree.setCheckedKeys([]);
},
onChecked() {
let cData = [],
oldData = (this.data2.length && this.data2.slice()) || [],
checkedKeys = this.$refs.tree.getCheckedKeys(),
halfCheckedKeys = this.$refs.tree.getHalfCheckedKeys(),
savedCheckedKeys = this.handlerCheckedData(oldData, checkedKeys).map(
key => {
return { type: 2, key: key };
}
),
savedHalfCheckedKeys = halfCheckedKeys.map(key => {
return { type: 1, key: key };
}),
allSelectedKeys = savedCheckedKeys.concat(savedHalfCheckedKeys);
console.log(allSelectedKeys);
},
// 递归删除列表中所有子节点
delSubKeysByNode(node, checkedKeys) {
let idIndex;
if (node.children && node.children.length) {
if (node.children && node.children.length) {
node.children.forEach(elm => {
idIndex = checkedKeys.findIndex(id => {
return id === elm.id;
});
if (idIndex > -1) {
checkedKeys.splice(idIndex, 1);
}
if (elm.children && elm.children.length) {
this.delSubKeysByNode(elm, checkedKeys);
}
});
}
}
},
// 去除子节点
handlerCheckedData(oldData, checkedKeys) {
oldData.forEach(element => {
for (let i = 0; i < checkedKeys.length; i++) {
// 如果此节点被选中,则删除所有子节点
if (element.id === checkedKeys[i]) {
this.delSubKeysByNode(element, checkedKeys);
} else {
if (element.children && element.children.length) {
this.handlerCheckedData(element.children, checkedKeys);
}
}
}
});
return checkedKeys;
}
} }
}; };
</script> </script>
<style lang="scss">
.main-container {
.component-content {
margin-top: 50px;
padding: 10px;
.button-green {
color: #ffffff;
background: #449284;
border-color: #bfdad5;
border-radius: 2px;
}
.button-white {
color: #606266;
background: #ffffff;
border-color: #ecedf1;
border-radius: 2px;
}
.header-title {
padding: 10px 12px;
font-size: 12px;
color: #409eff;
border-bottom: 1px solid #efefef;
}
.to-right {
float: right;
}
.table-option span {
color: #409eff;
}
.add-button {
float: right;
}
.el-table .cell {
color: #929292;
}
.el-table th > .cell {
font-weight: bold;
color: #000;
}
}
}
</style>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册