Commit b18bf865 authored by 周远喜's avatar 周远喜

类型转换啊,亲

parent e6124e49
<template>
<TreeSelect v-model="dep" :data="data" @on-change="change" :disabled="disabled" :multiple="multiple" :transfer="true"/>
<TreeSelect
v-model="dep"
:data="data"
@on-change="change"
:disabled="disabled"
:multiple="multiple"
:transfer="true"
/>
</template>
<script>
export default {
model: {
prop: 'value',
event: 'on-change'
prop: "value",
event: "on-change"
},
data() {
return {
dep: '',
dep: "",
data: [],
list:[]
}
list: []
};
},
created() {
this.dep=this.value|'';
this.$api.get(`${systemUrl}/Department/GetDepartments`).then((r) => {
var items=r.result.items;
this.list=r.result.items;
if(this.type==-1){
var data=this.$u.toTree(r.result.items,0,u=>{
u.title=u.name;
u.value=u.id;
u.expand=true;
u.selected=false;
u.checked=false;
},"parent_Id")
this.data = this.$u.clone(data) ;
} else{
this.data=items.filter(u=>{
if(u.property){
// return true
return u.property.split(',').indexOf(this.type)>-1;
this.dep = this.value | "";
this.$api.get(`${systemUrl}/Department/GetDepartments`).then(r => {
var items = r.result.items;
this.list = r.result.items;
if (this.type == -1) {
var data = this.$u.toTree(
r.result.items,
0,
u => {
u.title = u.name;
u.value = u.id;
u.expand = true;
u.selected = false;
u.checked = false;
},
"parent_Id"
);
this.data = this.$u.clone(data);
} else {
var result = [];
items.map(u => {
if (u["property"]) {
var ps = u["property"].split(",");
if (ps.length > 0 && ps.indexOf(this.type+'') > -1) {
result.push(u);
}
}
}).map(u=>{
});
this.data = result.map(u => {
return {
title:u.name,
value:u.id
}
})
console.warn("type",this.type,this.data)
title: u.name,
value: u.id
};
});
}
})
});
},
props: {
value: [String, Number, Array],
placeholder: {
type: String,
default: '请选择部门'
default: "请选择部门"
},
multiple: {
type: Boolean,
default: false
},
type:{
type:Number,
default:-1
type: {
type: Number,
default: -1
/*
默认返回所有部门
1 返回所有生产班组
......@@ -70,30 +84,29 @@ export default {
disabled: {
type: Boolean,
default: false
},
}
},
methods: {
change(v){
console.log(v)
this.dep=v;
var item;
var items=this.list.filter(u=>{
return u.id==v
})
if(items&&items.length>0){
item=items[0];
}
this.$emit("on-change",v,item)
},
change(v) {
console.log(v);
this.dep = v;
var item;
var items = this.list.filter(u => {
return u.id == v;
});
if (items && items.length > 0) {
item = items[0];
}
this.$emit("on-change", v, item);
}
},
watch: {
value: {
handler(v, o) {
this.dep = v|''
this.dep = v | "";
},
deep: true
}
}
}
};
</script>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment