提交 031bac95 编写于 作者: zhentian.jia's avatar zhentian.jia

选择范围的设计机构

上级 ac4c0a37
......@@ -77,242 +77,9 @@ export function inOrganization(list,id) {
}
return flag;
}
function recursiveTraverse (node,tags) {
let afterTree = [];
let add = 0;
node.forEach(function(item, index) {
let obj = {
value: item.id,
label: item.label,
}
if(inTags(item.id,tags)) {
afterTree[add] = obj;
add++;
} else if(item.children.length > 0) {
afterTree[add] = obj;
afterTree[add].children = [];
add++;
let add2 = 0;
item.children.forEach(function(item2, index2) {
let obj = {
value: item2.id,
label: item2.label,
}
console.log(afterTree[add],add2)
//afterTree[add].children[add2] = obj;
});
}
});
return afterTree;
}
//拼装选择的tree
export function getTreeData(data,tags) {
console.log('allTree', data.children,'tags',tags);
console.log(JSON.stringify(data.children));
console.log(JSON.stringify(tags));
let afterTree = recursiveTraverse(data.children,tags);
console.log('afterTree ',afterTree);
let options = [
{
value: 'zhinan',
label: '指南',
children: [{
value: 'shejiyuanze',
label: '设计原则',
children: [{
value: 'yizhi',
label: '一致'
}, {
value: 'fankui',
label: '反馈'
}, {
value: 'xiaolv',
label: '效率'
}, {
value: 'kekong',
label: '可控'
}]
}, {
value: 'daohang',
label: '导航',
children: [{
value: 'cexiangdaohang',
label: '侧向导航'
}, {
value: 'dingbudaohang',
label: '顶部导航'
}]
}]
}, {
value: 'zujian',
label: '组件',
children: [{
value: 'basic',
label: 'Basic',
children: [{
value: 'layout',
label: 'Layout 布局'
}, {
value: 'color',
label: 'Color 色彩'
}, {
value: 'typography',
label: 'Typography 字体'
}, {
value: 'icon',
label: 'Icon 图标'
}, {
value: 'button',
label: 'Button 按钮'
}]
}, {
value: 'form',
label: 'Form',
children: [{
value: 'radio',
label: 'Radio 单选框'
}, {
value: 'checkbox',
label: 'Checkbox 多选框'
}, {
value: 'input',
label: 'Input 输入框'
}, {
value: 'input-number',
label: 'InputNumber 计数器'
}, {
value: 'select',
label: 'Select 选择器'
}, {
value: 'cascader',
label: 'Cascader 级联选择器'
}, {
value: 'switch',
label: 'Switch 开关'
}, {
value: 'slider',
label: 'Slider 滑块'
}, {
value: 'time-picker',
label: 'TimePicker 时间选择器'
}, {
value: 'date-picker',
label: 'DatePicker 日期选择器'
}, {
value: 'datetime-picker',
label: 'DateTimePicker 日期时间选择器'
}, {
value: 'upload',
label: 'Upload 上传'
}, {
value: 'rate',
label: 'Rate 评分'
}, {
value: 'form',
label: 'Form 表单'
}]
}, {
value: 'data',
label: 'Data',
children: [{
value: 'table',
label: 'Table 表格'
}, {
value: 'tag',
label: 'Tag 标签'
}, {
value: 'progress',
label: 'Progress 进度条'
}, {
value: 'tree',
label: 'Tree 树形控件'
}, {
value: 'pagination',
label: 'Pagination 分页'
}, {
value: 'badge',
label: 'Badge 标记'
}]
}, {
value: 'notice',
label: 'Notice',
children: [{
value: 'alert',
label: 'Alert 警告'
}, {
value: 'loading',
label: 'Loading 加载'
}, {
value: 'message',
label: 'Message 消息提示'
}, {
value: 'message-box',
label: 'MessageBox 弹框'
}, {
value: 'notification',
label: 'Notification 通知'
}]
}, {
value: 'navigation',
label: 'Navigation',
children: [{
value: 'menu',
label: 'NavMenu 导航菜单'
}, {
value: 'tabs',
label: 'Tabs 标签页'
}, {
value: 'breadcrumb',
label: 'Breadcrumb 面包屑'
}, {
value: 'dropdown',
label: 'Dropdown 下拉菜单'
}, {
value: 'steps',
label: 'Steps 步骤条'
}]
}, {
value: 'others',
label: 'Others',
children: [{
value: 'dialog',
label: 'Dialog 对话框'
}, {
value: 'tooltip',
label: 'Tooltip 文字提示'
}, {
value: 'popover',
label: 'Popover 弹出框'
}, {
value: 'card',
label: 'Card 卡片'
}, {
value: 'carousel',
label: 'Carousel 走马灯'
}, {
value: 'collapse',
label: 'Collapse 折叠面板'
}]
}]
}, {
value: 'ziyuan',
label: '资源',
children: [{
value: 'axure',
label: 'Axure Components'
}, {
value: 'sketch',
label: 'Sketch Templates'
}, {
value: 'jiaohu',
label: '组件交互文档'
}]
}];
return afterTree;
}
export function organizationList(data) {
//机构列表
export function getOrganizationList(data) {
let list = [];
list[0] = {
value: '0',
......@@ -327,3 +94,73 @@ export function organizationList(data) {
}
return list;
}
//拼树
export function changeTags(option) {
let list = [];
// for(let i=0;i<option.length;i++) {
// console.log(option[i].label);
// let obj = {
// name: option[i].name,
// key: option[i].key,
// }
// list.push(obj);
// }
console.log(option);
return option;
}
// 递归删除多余的节点
function handlerAction(treeData, selData) {
treeData.forEach((elem, index) => {
if (!isValuable(elem.value, selData)) {
treeData.splice(index, 1)
handlerAction(treeData, selData)
} else {
if (elem.children) {
handlerAction(elem.children, selData)
}
}
})
return treeData;
}
function isValuable(val, selData) {
for(let i = 0; i < selData.length; i ++) {
if(selData[i]['value'].indexOf(val) >= 0) {
return true
}
}
return false
}
function changeTreeKey(oData, orgKey, targetKey) {
oData = [...oData]
oData.forEach(elem => {
elem[targetKey] = elem[orgKey]
delete elem[orgKey]
if (elem.children) {
changeTreeKey(elem.children, orgKey, targetKey)
}
})
return oData
}
function deleteTreeKey(oData, delKeys) {
oData = [...oData]
oData.forEach(elem => {
delKeys.forEach(key => {
delete elem[key]
})
if (elem.children) {
deleteTreeKey(elem.children, delKeys)
}
})
return oData
}
export function treeHandler(treeData, selData) {
//console.log('treeData',treeData,'selData',selData);
treeData = deleteTreeKey(treeData, ['status', 'disabled'])
treeData = changeTreeKey(treeData, 'id', 'value')
selData = changeTreeKey(selData, 'name', 'label')
selData = changeTreeKey(selData, 'key', 'value')
// console.log(treeData, selData)
return handlerAction(treeData, selData);
}
\ No newline at end of file
......@@ -253,8 +253,8 @@
size="mini"
expand-trigger="hover"
:options="organizationRegion"
v-model="formOrganization.region"
></el-cascader>-->
v-model="formOrganization.administrativeId"
></el-cascader> -->
</el-form-item>
<el-form-item>
<el-select size="mini" v-model="formOrganization.level" placeholder="全部医院级别">
......@@ -1421,10 +1421,13 @@ export default {
//获取勾选树
getCheckedTree() {
let allTree = Object.assign({}, this.treeData[0].children);
//this.organizationRegion =
//operationData.getTreeData(this.treeData[0],this.tagsRegion);
// let changedTags = Object.assign({},this.tagsRegion);
// let organizationArea = operationData.treeHandler(this.treeData[0].children,this.tagsRegion);
//console.log('多级树:',organizationArea);
//this.organizationRegion = organizationArea;
//debugger;
//改
this.organizationRegion = operationData.organizationList(this.tagsRegion);
this.organizationRegion = operationData.getOrganizationList(this.tagsRegion);
},
//初始化范围树
setTreeData(administrative) {
......@@ -1499,16 +1502,11 @@ export default {
console.log("data:", data);
console.log("node:", node);
if (data.children.length == 0) {
let id = data.id + "add";
const newChild = [
{ id: id, label: "testtest", children: [] },
{ id: id, label: "22", children: [] }
];
//let id = data.id + "add";
let statusValue = 0;
if (node.checked == true) {
statusValue = 1;
}
//data.children.push(newChild);
let req = {
id: data.id,
status: statusValue,
......@@ -1519,7 +1517,6 @@ export default {
let administrative = res.data.administrative;
//console.log(administrative);
data.children = administrative;
//data.children.push(newChild);
this.appendCheck(administrative, node.checked);
}
});
......@@ -1679,23 +1676,39 @@ export default {
checkAll(flag, name) {
//console.log(flag + " " + name);
if (name == "multipleOrganization") {
//机构
this.changedOrganization = [];
if (flag === true) {
//机构全选
let checkItem = this.checkTableState[name];
if (checkItem !== true) {
console.log(this.tableOrganization);
//let che
if (flag === true) {
let idList = operationData.getIdList(this.tableOrganization);
//console.log('idList',idList,'changedOrganization',this.changedOrganization);
let difference = operationData.getDifference(
idList,
this.changedOrganization
);
//console.log('difference',difference);
if (difference.length > 0) {
this.$refs[name].toggleAllSelection();
this.checkTableState[name] = true;
}
this.checkTableState[name] = true;
this.changedOrganization2 = [];
this.changedOrganization = operationData.getDifference(
this.lookedOrganization,
this.changedOrganization2
);
} else {
this.$refs[name].clearSelection();
this.checkTableState[name] = false;
this.changedOrganization = [];
this.changedOrganization2 = operationData.getDifference(
this.lookedOrganization,
this.changedOrganization
);
}
//置空
} else if (name == "multiplePerson") {
//人员
this.changedPerson = [];
//人员全选
if (flag === true) {
let checkItem = this.checkTableState[name];
if (checkItem !== true) {
......@@ -1706,6 +1719,8 @@ export default {
this.$refs[name].clearSelection();
this.checkTableState[name] = false;
}
//置空
this.changedPerson = [];
}
},
//获取用户类型
......@@ -1727,7 +1742,7 @@ export default {
if (this.changedOrganization2.length > 0) {
kind = 2;
}
} else if(this.checkTableState.multipleOrganization == false) {
} else if (this.checkTableState.multipleOrganization == false) {
//全部不选
kind = 0;
if (this.changedOrganization.length > 0) {
......@@ -1867,12 +1882,25 @@ export default {
this.lookedOrganization,
idList
);
this.changedOrganization2 = operationData.getDifference(
this.lookedOrganization,
this.changedOrganization
);
//console.log('全部看过的:',this.lookedOrganization);
if (vm.checkTableState.multipleOrganization == "") {
if (vm.checkTableState.multipleOrganization === "") {
if (intersect.length == 0) {
this.initOrganizationStatus();
}
} else if (vm.checkTableState.multipleOrganization == true) {
} else if (vm.checkTableState.multipleOrganization === true) {
let intersect2 = operationData.getIntersect(
idList,
this.changedOrganization
);
// console.log('intersect2',intersect2);
if (intersect2.length == 0) {
this.$refs.multipleOrganization.toggleAllSelection();
}
}
}
});
......@@ -1901,7 +1929,7 @@ export default {
getScopeOrganization(type) {
let scope = "";
//2:去掉 3:选中
if (type == 2 ) {
if (type == 2) {
for (let i = 0; i < this.changedOrganization2.length; i++) {
scope += this.changedOrganization2[i] + "|";
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册