提交 3efab049 编写于 作者: kai.wang's avatar kai.wang

解决fetch.js冲突

...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<div class="member-management" id="screenSet"> <div class="member-management" id="screenSet">
<el-row type="flex" justify="space-around" class="mm-nav" align="middle"> <el-row type="flex" justify="space-around" class="mm-nav" align="middle">
<el-col :span="20"> <el-col :span="20">
<el-button :type="areabtn" round class="margin-l" @click="checkTab(0)" v-show='isAraeEdit' >可访问本圈的地区</el-button>
<el-button :type="orgbtn" round class="margin-l" @click="checkTab(1)">可访问本圈的机构 ({{orgTotal}})</el-button> <el-button :type="orgbtn" round class="margin-l" @click="checkTab(1)">可访问本圈的机构 ({{orgTotal}})</el-button>
<el-button :type="plebtn" round class="margin-l" @click="checkTab(2)">可访问本圈的人员 ({{pleTotal}})</el-button> <el-button :type="plebtn" round class="margin-l" @click="checkTab(2)">可访问本圈的人员 ({{pleTotal}})</el-button>
<span class="text inlin" @click="goBalck">黑名单</span> <span class="text inlin" @click="goBalck">黑名单</span>
...@@ -11,6 +12,12 @@ ...@@ -11,6 +12,12 @@
</el-col> </el-col>
</el-row> </el-row>
<div class="member-main"> <div class="member-main">
<region
v-show="tab == 0"
:circleId='circleId'
:roleType='roleType'
@setOrgAndPeople="setOrgAndPeople"
></region>
<org <org
v-show="tab == 1" v-show="tab == 1"
:circleId='circleId' :circleId='circleId'
...@@ -26,6 +33,7 @@ ...@@ -26,6 +33,7 @@
@setPleTotal="setPleTotal" @setPleTotal="setPleTotal"
ref='renyaun' ref='renyaun'
></renyaun> ></renyaun>
</div> </div>
</div> </div>
</template> </template>
...@@ -34,6 +42,7 @@ ...@@ -34,6 +42,7 @@
import * as commonUtil from "@/utils/utils"; import * as commonUtil from "@/utils/utils";
import org from '@/components/yqrange/member-management/org' import org from '@/components/yqrange/member-management/org'
import renyaun from '@/components/yqrange/member-management/renyuan' import renyaun from '@/components/yqrange/member-management/renyuan'
import region from '@/components/yqrange/member-management/region'
import { getCircleRole } from '@/utils/yqrange/rangeApi' import { getCircleRole } from '@/utils/yqrange/rangeApi'
export default { export default {
props: { props: {
...@@ -51,20 +60,34 @@ export default { ...@@ -51,20 +60,34 @@ export default {
}, },
data() { data() {
return { return {
tab: 1, tab: 0,
orgbtn: 'primary', areabtn: 'primary',
plebtn: '', plebtn: '',
orgbtn:'',
orgTotal: 0, orgTotal: 0,
pleTotal: 0, pleTotal: 0,
role: 0 role: 0,
isAraeEdit:false,//是否显示可访问本圈的地区
} }
}, },
components: { components: {
org, org,
renyaun renyaun,
region
}, },
created() { created() {
this.getRole() this.getRole()
let idType = localStorage.getItem("storageIdType");
if(idType == 1){
//内部可以访问本圈的地区
this.isAraeEdit = true
this.tab = 0
this.areabtn = 'primary'
}else{
this.isAraeEdit = false
this.tab = 1
this.orgbtn = 'primary'
}
}, },
// 挂载到Dom完成时 // 挂载到Dom完成时
mounted: function() { mounted: function() {
...@@ -87,9 +110,15 @@ export default { ...@@ -87,9 +110,15 @@ export default {
if (v == 1) { if (v == 1) {
this.orgbtn = 'primary' this.orgbtn = 'primary'
this.plebtn = '' this.plebtn = ''
} else { this.areabtn = ''
}else if (v ==2) {
this.orgbtn = '' this.orgbtn = ''
this.plebtn = 'primary' this.plebtn = 'primary'
this.areabtn = ''
} else {
this.areabtn = 'primary'
this.orgbtn = ''
this.plebtn = ''
} }
}, },
setOrgTotal(n) { setOrgTotal(n) {
...@@ -98,6 +127,11 @@ export default { ...@@ -98,6 +127,11 @@ export default {
setPleTotal(n) { setPleTotal(n) {
this.pleTotal = n this.pleTotal = n
}, },
//刷新机构和人员
setOrgAndPeople(){
this.$refs.org.initRange();
this.$refs.renyaun.initRange();
},
goManger() { goManger() {
this.$router.push(`/admin-manage?circleId=${this.circleId}&circleName=${this.circleName}`) this.$router.push(`/admin-manage?circleId=${this.circleId}&circleName=${this.circleName}`)
}, },
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<el-button size="small" @click="resetOrgOrPerson()" :disabled="checked"huang>取消搜索</el-button> <el-button size="small" @click="resetOrgOrPerson()" :disabled="checked"huang>取消搜索</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-checkbox v-if="showSelectAll" v-model="checked" @change="handleCheckAllChange" >全部({{ totalOrganization }})</el-checkbox> <!-- <el-checkbox v-if="showSelectAll" v-model="checked" @change="handleCheckAllChange" >全部({{ totalOrganization }})</el-checkbox> -->
<el-table class="rim" ref="multipleOrganization" :data="tableOrganization" tooltip-effect="dark" @select-all="selectAllOrganization" @select="selectOrganization" > <el-table class="rim" ref="multipleOrganization" :data="tableOrganization" tooltip-effect="dark" @select-all="selectAllOrganization" @select="selectOrganization" >
<el-table-column type="selection" :selectable="selectableTableList"></el-table-column> <el-table-column type="selection" :selectable="selectableTableList"></el-table-column>
<el-table-column prop="orgName" label="医院名称" align="center"></el-table-column> <el-table-column prop="orgName" label="医院名称" align="center"></el-table-column>
......
...@@ -47,13 +47,14 @@ ...@@ -47,13 +47,14 @@
<el-table-column prop="cityName" label="所属城市" align="center"></el-table-column> <el-table-column prop="cityName" label="所属城市" align="center"></el-table-column>
<el-table-column prop="countyName" label="所属区县" align="center"></el-table-column> <el-table-column prop="countyName" label="所属区县" align="center"></el-table-column>
<el-table-column prop="townName" label="所属街道" align="center"></el-table-column> <el-table-column prop="townName" label="所属街道" align="center"></el-table-column>
<el-table-column prop="sourceName" label="来源" align="center"></el-table-column>
<el-table-column <el-table-column
fixed="right" fixed="right"
label="操作" label="操作"
align="center" align="center"
width="140"> width="140">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="detel(scope.row)" type="text" size="small" style="color:red">删除</el-button> <el-button @click="detel(scope.row)" type="text" size="small" style="color:red" v-if="scope.row.source != 1">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
<div slot="empty"> <div slot="empty">
......
<template>
<div class="organization">
<el-row :gutter="20">
<el-col class="rim" :span="12">
<el-tree
default-expand-all
:data="treeData"
show-checkbox
node-key="regionId"
ref="tree"
highlight-current
:props="defaultProps"
@check="onChecked"
>
<span class="custom-tree-node" slot-scope="{ node, data }">
<span>{{ node.label }}</span>
<span>
<el-button
v-if="node.level < 5"
type="text"
icon="el-icon-caret-bottom"
size="small"
@click="() => append(data,node)"
></el-button>
</span>
</span>
</el-tree>
</el-col>
</el-row>
<div style="margin-top: 60px;margin-left: 250px;">
<el-button type="primary" size="small" @click="save">保存</el-button>
</div>
</div>
</template>
<script>
import { openLoading, closeLoading } from "@/utils/utils";
import { doUpload, getFilePath } from "@/utils/qiniu-util";
import * as operationData from "@/utils/operation";
import { moRelSearch, morDeleteOrg } from '@/utils/yqrange/memberApi';
import { getOrgProvincesReq } from '@/utils/yqrange/rangeApi';
import { getCircleTree,postCircleTree } from '@/utils/yqrange/yqrangeApi';
let vm = null;
export default {
props: {
circleId: {
type: Number | String,
default: 1
},
roleType: {
type: Number | String,
default: 1
},
},
data() {
return {
allSelectedKeys: [],
updatedTree: false,
organizationRegion: [],
defaultProps: {
children: "children",
label: "name",
isLeaf: "isLeaf"
},
treeData: []
}
},
created() {
vm = this;
this.getAdministrative();
},
mounted() {
},
methods: {
//通过key设置tree
// setCheckedKeys(tagsRegion) {
// let treeKeyList = [];
// for (let index = 0; index < tagsRegion.length; index++) {
// treeKeyList[index] = tagsRegion].key;
// }
// this.$refs.tree.setCheckedKeys(treeKeyList);
// },
//初始化范围树
setTreeData(administrative) {
let treeIdList = [];
for (let i = 0; i < administrative.length; i++) {
treeIdList.push(administrative[i]);
}
console.log(treeIdList);
this.$refs.tree.setCheckedKeys(treeIdList);
},
//查询行政范围(树)
getAdministrative() {
let req = {
circleId: this.circleId//826,874,832
};
openLoading(vm);
getCircleTree(req).then(res => {
closeLoading(vm);
if (res.code == "000000") {
let administrativeAll = res.data.regionTreeDto;
//获取已选的区域
let administrative = [];
res.data.provinceIds.forEach(element => {
administrative.push(element);
});
res.data.cityIds.forEach(element => {
administrative.push(element);
});
res.data.countryIds.forEach(element => {
administrative.push(element);
});
res.data.townIds.forEach(element => {
administrative.push(element);
});
// let administrative = res.data.administrative;
this.treeData = [];
this.treeData[0] = administrativeAll;
console.log("administrative",administrative);
this.setTreeData(administrative);
}
});
},
onChecked(node, data) {
console.log("11node",node);
console.log("11data",data);
vm.checkUpdate(node, data);
//重构归并树
let checkedTree = operationData.getSimpleCheckedNodes(
this.$refs.tree.store
);
console.log("checkedtree",checkedTree);
let halfCheckedTree = this.$refs.tree.getHalfCheckedKeys();
console.log("halfcheckedtree",halfCheckedTree);
let allSelectedKeys = operationData.setSelectedKeys(
checkedTree,
halfCheckedTree
);
//重构内容
this.allSelectedKeys = allSelectedKeys;
//处理原始数据
//1. 设置选中数据
let selectedData = data.checkedKeys;
let halfSelectedData = data.halfCheckedKeys;
let selectedAll = {};
selectedData.forEach(element => {
selectedAll[element] = 1;
});
//2.设置半选数据
halfSelectedData.forEach(element => {
selectedAll[element] = 2;
});
console.log("seledAll",selectedAll);
// selectedAll.forEach(element => {
//特殊处理全国选择状态
let allSelectRegionId = this.treeData[0].regionId;
let isExit = selectedAll[allSelectRegionId];
if(isExit){
this.treeData[0].checkStatus = isExit
}else{
this.treeData[0].checkStatus = 0;
}
this.dealOrgData(this.treeData[0].children,selectedAll);
},
// type 1:选中 2:半选
dealOrgData(orgData,selectedAll){
orgData.forEach(element => {
let type = selectedAll[element.regionId];
if(type){
//如果是在选中列表(包含半选)里面
console.log("elementregionid",type);
element.checkStatus = type;
if(element.children){
this.dealOrgData(element.children,selectedAll);
}
}else{
element.checkStatus = 0;
if(element.children){
this.dealOrgData(element.children,selectedAll);
}
}
});
},
checkUpdate(node, data) {
let flag = -1;
flag = data.checkedKeys.indexOf(node.regionId);
console.log("flag",flag);
if(flag >=0){
//选中
this.$refs.tree.setChecked(data,false)
}else{
//取消
}
// this.dealTreeData(flag,node,this.treeData[0].children,false);
// if (vm.status4Flag == 1 && flag >= 0) {
// console.log(node, data, flag, vm.status4Flag);
// vm.nowCheck = node;
// vm.warnType = 0;
// vm.dialogWarn = true;
// // this.$refs.tree.setChecked(data,false)
// }
},
//处理原始数据 isHaveFlag 是否直接赋值
dealTreeData(flag,node,orgTreeData,isHaveFlag){
orgTreeData.forEach(element => {
if(isHaveFlag){
element.checkStatus = flag >0 ? 1 : 0
}else{
if(element.regionId == node.regionId){
element.checkStatus = flag >0 ? 1 : 0
}
}
if(element.children){
//处理原始数据
this.dealTreeData(flag,node,element.children,true);
}
});
},
//1.如果选中父,子节点存在,全部选中
//子节点选中
appendCheck(administrative, checked) {
let checkList = [];
checkList = this.$refs.tree.getCheckedKeys();
if (checked) {
for (let i = 0; i < administrative.length; i++) {
checkList.push(administrative[i].regionId);
}
}
this.$nextTick(function() {
this.$refs.tree.setCheckedKeys(checkList);
});
},
//添加子节点
append(data, node) {
console.log("data:", data);
console.log("node:", node);
if (node.level-1 == 1) {
let req = {
provinceId: node.data.regionId
};
vm.GET("basic-data/position/cities", req).then(res => {
vm.setMoreOption(data,res.data.cityList, "cities",node);
});
} else if (node.level-1 == 2) {
let req = {
cityId: node.data.regionId
};
vm.GET("basic-data/position/counties", req).then(res => {
vm.setMoreOption(data,res.data.countyList, "counties",node);
//添加数据
});
} else if (node.level-1 == 3) {
let req = {
countyId: node.data.regionId
};
vm.GET("basic-data/position/towns", req).then(res => {
vm.setMoreOption(data,res.data.townList, "towns",node);
});
}
},
//设置数据
// data 父节点,newdata新节点
setMoreOption(data,newdata, type,node) {
if (data.children !=null) return;
let statusValue = 0;
if (node.checked == true) {
statusValue = 1;
}
let option = [];
for (let i = 0; i < newdata.length; i++) {
let obj = {};
if (type == "cities") {
obj.name = newdata[i].cityName;
obj.regionId =newdata[i].cityId;
} else if (type == "counties") {
obj.name = newdata[i].countyName;
obj.regionId = newdata[i].countyId;
// obj.leaf = true;
} else if (type == "towns") {
obj.name = newdata[i].townName;
obj.regionId = newdata[i].townId;
// obj.leaf = true;
}
obj.checkStatus = statusValue;
// obj.disabled = false;
obj.children = null;
obj.id = null
option.push(obj);
}
console.log("childrenlist:",option);
data.children = option;
vm.appendCheck(option,node.checked);
},
//保存
save(){
console.log("treedata",this.treeData[0]);
let res = this.treeData[0];
openLoading(vm);
postCircleTree(res).then(res => {
closeLoading(vm);
if (res.code == "000000") {
this.$message("保存成功");
this.$emit('setOrgAndPeople');
} else {
this.$message(res.message);
}
}).catch(err => {
this.$message.error('请求失败');
});
},
}
}
</script>
<style >
/*.organization .el-dialog {*/
/*max-height: 90%;*/
/*overflow: scroll;*/
/*}*/
</style>
<style lang="scss" >
.rim {
.el-icon-caret-right:before {
content: " "!important;
}
}
</style>
<style lang="scss" scoped>
.organization {
.add-organization {
margin-left: 36px;
line-height: 20px;
width: 120px;
cursor: pointer;
padding-top: 10px;
i {
font-size: 18px;
margin-right: 2px;
}
.rim {
border: 1px solid #dddddd;
}
}
}
</style>
...@@ -257,7 +257,7 @@ export default { ...@@ -257,7 +257,7 @@ export default {
value: 0 value: 0
}, },
{ {
label: '可访问本圈的机构', label: '可访问本圈的地区/机构',
value: 1 value: 1
}, },
{ {
......
...@@ -56,6 +56,7 @@ service.interceptors.request.use(config => { ...@@ -56,6 +56,7 @@ service.interceptors.request.use(config => {
// console.log('环境变量>>>> ', process.env.BUILD_ENV); // console.log('环境变量>>>> ', process.env.BUILD_ENV);
// config.headers['token'] = '00AB2FF7626D4F5FB627399EDF23F5DC'; // config.headers['token'] = '00AB2FF7626D4F5FB627399EDF23F5DC';
config.headers['token'] = localStorage.getItem('storageToken') config.headers['token'] = localStorage.getItem('storageToken')
}else{ }else{
config.headers['token'] = localStorage.getItem('storageToken') config.headers['token'] = localStorage.getItem('storageToken')
} }
......
...@@ -276,3 +276,21 @@ export const getExamAwardList = (params) => { ...@@ -276,3 +276,21 @@ export const getExamAwardList = (params) => {
}) })
}; };
export const getCircleTree = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/region/tree/${params.circleId}`),
method: 'get',
data: params,
description: '根据圈子id获取树结构',
})
};
export const postCircleTree = (params) => {
return fetch({
headers,
url: getBaseUrl('circle/region/tree'),
method: 'post',
data: params,
description: '保存区域',
})
};
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册