提交 251e03af 编写于 作者: zhentian.jia's avatar zhentian.jia

合并发布

上级 b84306d3
//求并集
export function getUnion(a,b){
if(a.constructor === Array && b.constructor === Array){
export function getUnion(a, b) {
if (a.constructor === Array && b.constructor === Array) {
let set1 = new Set(a);
let set2 = new Set(b);
return Array.from(new Set([...set1,...set2]));
return Array.from(new Set([...set1, ...set2]));
}
return null;
}
//求差集
export function getDifference(a,b){
if(a.constructor === Array && b.constructor === Array){
export function getDifference(a, b) {
if (a.constructor === Array && b.constructor === Array) {
let set1 = new Set(a);
let set2 = new Set(b);
return Array.from(new Set([...set1].filter(x => !set2.has(x))));
......@@ -17,31 +17,31 @@ export function getDifference(a,b){
return null;
}
//求交集
export function getIntersect(a,b){
if(a.constructor === Array && b.constructor === Array){
export function getIntersect(a, b) {
if (a.constructor === Array && b.constructor === Array) {
let set1 = new Set(a);
let set2 = new Set(b);
return Array.from(new Set([...set1].filter( x => set2.has(x))));
return Array.from(new Set([...set1].filter(x => set2.has(x))));
}
return null;
}
//获取id的list
export function getIdList(data) {
let list = [];
for(let i=0;i<data.length;i++) {
for (let i = 0; i < data.length; i++) {
list.push(data[i].id);
}
return list;
}
//区域
export function getDivision(data) {
if(data === null) {
if (data === null) {
let empty = [];
return empty;
}
let list = data.split('|');
let num = [];
for(let i=0;i<list.length;i++) {
for (let i = 0; i < list.length; i++) {
num[i] = parseInt(list[i]);
}
//console.log(list);
......@@ -51,7 +51,7 @@ export function getLevelList(data) {
let level = [];
level[0] = {
id: '0',
label: '全部',
label: '全部医院等级',
}
for (let i = 0; i < data.length; i++) {
let obj = {
......@@ -63,22 +63,22 @@ export function getLevelList(data) {
//console.log(level);
return level;
}
function inTags(id,tags) {
function inTags(id, tags) {
let flag = false;
for(let i = 0;i<tags.length;i++) {
if(tags[i].key == id) {
for (let i = 0; i < tags.length; i++) {
if (tags[i].key == id) {
flag = true;
}
}
return flag;
}
export function inOrganization(list,id) {
export function inOrganization(list, id) {
let flag = false;
if(list.length == 0) {
if (list.length == 0) {
flag = true;
}
for(let i=0;i<list.length;i++) {
if(list[i].id != id) {
for (let i = 0; i < list.length; i++) {
if (list[i].id != id) {
flag = true;
}
}
......@@ -98,9 +98,9 @@ export function getOrganizationList(data) {
let list = [];
list[0] = {
value: '0',
label: '全部',
label: '全部机构',
};
for(let i=0;i<data.length;i++) {
for (let i = 0; i < data.length; i++) {
let obj = {
value: data[i].key,
label: data[i].name,
......@@ -114,9 +114,9 @@ export function getHospitalList(data) {
let list = [];
list[0] = {
value: 0,
label: '全部',
label: '全部医院',
};
for(let i=0;i<data.length;i++) {
for (let i = 0; i < data.length; i++) {
let obj = {
value: data[i].id,
label: data[i].name,
......@@ -156,8 +156,8 @@ function handlerAction(treeData, selData) {
return treeData;
}
function isValuable(val, selData) {
for(let i = 0; i < selData.length; i ++) {
if(selData[i]['value'].indexOf(val) >= 0) {
for (let i = 0; i < selData.length; i++) {
if (selData[i]['value'].indexOf(val) >= 0) {
return true
}
}
......@@ -186,12 +186,37 @@ function deleteTreeKey(oData, delKeys) {
})
return oData
}
function deleteEmptyChild(oData) {
oData = [...oData]
oData.forEach(elem => {
if (elem.children && elem.children.length == 0) {
delete elem.children
} else if (elem.children) {
deleteEmptyChild(elem.children)
}
})
return oData
}
function addEmpty(data) {
let after = [];
after[0] = {
label: "全部地区",
value: "0",
}
for(let i=0;i<data.length;i++) {
after.push(data[i]);
}
return after;
}
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')
let endData = deleteEmptyChild(handlerAction(treeData, selData));
// console.log(treeData, selData)
return handlerAction(treeData, selData);
//return handlerAction(treeData, selData);
let returnData = addEmpty(endData);
return returnData;
}
\ No newline at end of file
......@@ -237,7 +237,7 @@
<el-tab-pane label="设定机构" name="second">
<el-form :inline="true" :model="formOrganization" class="demo-form-inline">
<el-form-item label>
<el-select
<!-- <el-select
size="mini"
v-model="formOrganization.administrativeId"
placeholder="全部地区"
......@@ -249,14 +249,14 @@
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<!-- <el-cascader
</el-select> -->
<el-cascader
v-if="idType !== 2"
size="mini"
expand-trigger="hover"
:options="organizationRegion"
v-model="formOrganization.administrativeId"
></el-cascader>-->
v-model="formOrganization.administrativeIdList"
></el-cascader>
</el-form-item>
<el-form-item>
<el-select size="mini" v-model="formOrganization.level" placeholder="全部医院级别">
......@@ -619,6 +619,7 @@ export default {
formOrganization: {
name: "",
administrativeId: "0",
administrativeIdList: ['0'],
level: "0",
chechAll: true,
pageNum: 1,
......@@ -674,6 +675,9 @@ export default {
scopeOfPeopleLast: [],
setKindOfOrganizationLast: '',
setKindOfPeopleLast: '',
//搜索类型
searchOrganizationType: '',
searchPeopleType: '',
//选择项目组件 数据
optionsComponent: [],
optionsCertificate: [],
......@@ -1499,17 +1503,19 @@ export default {
},
//获取勾选树
getCheckedTree() {
//let allTree = Object.assign({}, this.treeData[0].children);
// let changedTags = Object.assign({},this.tagsRegion);
// let organizationArea = operationData.treeHandler(this.treeData[0].children,this.tagsRegion);
//console.log('多级树:',organizationArea);
//this.organizationRegion = organizationArea;
if(this.idType != 2) {
let allTree = JSON.parse(JSON.stringify(this.treeData[0].children));
let changedTags = JSON.parse(JSON.stringify(this.tagsRegion));
let organizationArea = operationData.treeHandler(allTree,changedTags);
console.log('多级树:',organizationArea);
this.organizationRegion = organizationArea;
//debugger;
//改
this.organizationRegion = operationData.getOrganizationList(
this.tagsRegion
);
// this.organizationRegion = operationData.getOrganizationList(
// this.tagsRegion
// );
//console.log(this.organizationRegion);
}
},
//初始化范围树
setTreeData(administrative) {
......@@ -1968,25 +1974,33 @@ export default {
},
//选择搜索机构方式
searchOrganization() {
this.formOrganization.pageNum = 1;
let searchForm = this.formOrganization;
if (
searchForm.administrativeId == "0" &&
searchForm.administrativeIdList[searchForm.administrativeIdList.length-1] == "0" &&
searchForm.level == "0" &&
searchForm.name == ""
) {
this.searchOrganizationType = '';
this.getOrganization();
} else {
this.searchOrganizationType = 'choose';
this.getOrganizationChoose();
}
},
//机构搜索
getOrganizationChoose() {
// console.log('formOrganization',this.formOrganization);
let lastNum = this.formOrganization.administrativeIdList.length - 1
let administrativeIdItem = this.formOrganization.administrativeIdList[lastNum];
console.log('多级选中administrativeIdItem:',administrativeIdItem)
let req = {
projectId: this.projectId,
setKind: this.getKind("administrative"),
// scope: "000_110",
administrativeId: this.formOrganization.administrativeId,
//administrativeId: this.formOrganization.administrativeId,
administrativeId: administrativeIdItem,
departmentLevel: this.formOrganization.level,
organizationName: this.formOrganization.name,
pageNum: this.formOrganization.pageNum,
......@@ -2002,6 +2016,37 @@ export default {
if (res.code == "000000") {
this.tableOrganization = res.data.organizationList;
this.totalOrganization = res.data.total;
let idList = operationData.getIdList(this.tableOrganization);
let intersect = operationData.getIntersect(
idList,
this.changedOrganization
);
this.lookedOrganization = operationData.getUnion(
this.lookedOrganization,
idList
);
this.changedOrganization2 = operationData.getDifference(
this.lookedOrganization,
this.changedOrganization
);
//console.log('全部看过的:',this.lookedOrganization);
if (vm.checkTableState.multipleOrganization === "") {
if (intersect.length == 0) {
this.initOrganizationStatus();
}
} 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();
}
}
}
});
},
......@@ -2175,14 +2220,17 @@ export default {
},
//选择搜索机构方式
searchPeople() {
this.formPerson.pageNum = 1;
let searchForm = this.formPerson;
if (
searchForm.hospitalId === 0 &&
searchForm.departmentId === -1 &&
searchForm.name == ""
) {
this.searchPeopleType = '';
this.getPeople();
} else {
this.searchPeopleType = 'choose';
this.getPeopleChoose();
}
},
......@@ -2221,6 +2269,37 @@ export default {
if (res.code == "000000") {
this.tablePerson = res.data.people;
this.totalPerson = res.data.total;
let idList = operationData.getIdList(this.tablePerson);
let intersect = operationData.getIntersect(
idList,
this.changedPerson
);
this.lookedPerson = operationData.getUnion(
this.lookedPerson,
idList
);
this.changedPerson2 = operationData.getDifference(
this.lookedPerson,
this.changedPerson
);
//console.log('全部看过的:',this.lookedPerson);
if (vm.checkTableState.multiplePerson === "") {
if (intersect.length == 0) {
this.initPeopleStatus();
}
debugger;
} else if (vm.checkTableState.multiplePerson === true) {
let intersect2 = operationData.getIntersect(
idList,
this.changedPerson
);
// console.log('intersect2',intersect2);
if (intersect2.length == 0) {
this.$refs.multiplePerson.toggleAllSelection();
}
}
}
});
},
......@@ -2292,7 +2371,7 @@ export default {
let list = [];
list[0] = {
value: -1,
label: '全部',
label: '全部科室',
};
for (let i = 0; i < this.tableDepartment.length; i++) {
if (this.tableDepartment[i].status == 1) {
......@@ -2313,7 +2392,11 @@ export default {
handleCurrentOrganization(val) {
//console.log(`当前页: ${val}`);
this.formOrganization.pageNum = val;
if(this.searchOrganizationType == 'choose') {
this.getOrganizationChoose();
} else {
this.getOrganization();
}
},
//角色table修改
handleSizePerson(val) {
......@@ -2323,7 +2406,11 @@ export default {
handleCurrentPerson(val) {
console.log(`当前页: ${val}`);
this.formPerson.pageNum = val;
if(this.searchPeopleType == 'choose') {
this.getPeopleChoose();
} else {
this.getPeople();
}
},
//行政范围改变更新设定机构和设定人员
updateOrganizationAndPerson(allSelectedKeys) {
......@@ -2416,9 +2503,9 @@ export default {
.step-content {
overflow: hidden;
height: 60px;
margin-top: 66px;
padding-top: 15px;
border-bottom: 1px solid #fff;
// margin-top: 66px;
padding: 15px 0 50px 0;
border-bottom: 1px solid #efefef;
.is-text {
display: none;
}
......@@ -2439,21 +2526,28 @@ export default {
}
.step-num {
display: block;
margin-top: 1.5px;
font-size: 12px;
border: 2px solid #b8babe;
border: 1px solid #999 !important;
border-radius: 50%;
width: 25px;
height: 20px;
height: 18px;
line-height: 15px;
text-align: center;
color: #b8babe;
color: #999;
}
.el-step__title.is-wait {
color: #999;
}
.el-step__title.is-process {
color: #449284;
}
.is-finish {
color: #c0c4cc;
color: #999 !important;
}
.on-step {
color: #747476;
border-color: #747476;
color: #449284;
border: 1px solid #449284 !important;
}
}
.first-step {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册