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

类型转换啊,亲

parent e6124e49
<template> <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> </template>
<script> <script>
export default { export default {
model: { model: {
prop: 'value', prop: "value",
event: 'on-change' event: "on-change"
}, },
data() { data() {
return { return {
dep: '', dep: "",
data: [], data: [],
list:[] list: []
} };
}, },
created() { created() {
this.dep=this.value|''; this.dep = this.value | "";
this.$api.get(`${systemUrl}/Department/GetDepartments`).then((r) => { this.$api.get(`${systemUrl}/Department/GetDepartments`).then(r => {
var items=r.result.items; var items = r.result.items;
this.list=r.result.items; this.list = r.result.items;
if(this.type==-1){ if (this.type == -1) {
var data=this.$u.toTree(r.result.items,0,u=>{ var data = this.$u.toTree(
u.title=u.name; r.result.items,
u.value=u.id; 0,
u.expand=true; u => {
u.selected=false; u.title = u.name;
u.checked=false; u.value = u.id;
},"parent_Id") u.expand = true;
this.data = this.$u.clone(data) ; u.selected = false;
} else{ u.checked = false;
this.data=items.filter(u=>{ },
if(u.property){ "parent_Id"
// return true );
return u.property.split(',').indexOf(this.type)>-1; 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 { return {
title:u.name, title: u.name,
value:u.id value: u.id
} };
}) });
console.warn("type",this.type,this.data)
} }
});
})
}, },
props: { props: {
value: [String, Number, Array], value: [String, Number, Array],
placeholder: { placeholder: {
type: String, type: String,
default: '请选择部门' default: "请选择部门"
}, },
multiple: { multiple: {
type: Boolean, type: Boolean,
default: false default: false
}, },
type:{ type: {
type:Number, type: Number,
default:-1 default: -1
/* /*
默认返回所有部门 默认返回所有部门
1 返回所有生产班组 1 返回所有生产班组
...@@ -70,30 +84,29 @@ export default { ...@@ -70,30 +84,29 @@ export default {
disabled: { disabled: {
type: Boolean, type: Boolean,
default: false default: false
}, }
}, },
methods: { methods: {
change(v){ change(v) {
console.log(v) console.log(v);
this.dep=v; this.dep = v;
var item; var item;
var items=this.list.filter(u=>{ var items = this.list.filter(u => {
return u.id==v return u.id == v;
}) });
if(items&&items.length>0){ if (items && items.length > 0) {
item=items[0]; item = items[0];
} }
this.$emit("on-change",v,item) this.$emit("on-change", v, item);
}, }
}, },
watch: { watch: {
value: { value: {
handler(v, o) { handler(v, o) {
this.dep = v|'' this.dep = v | "";
}, },
deep: true deep: true
} }
} }
} };
</script> </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