Commit 3f768f39 authored by 周远喜's avatar 周远喜

ook

parent 26eaf6b0
...@@ -31,9 +31,9 @@ export default { ...@@ -31,9 +31,9 @@ export default {
data.map(u => { data.map(u => {
u.title = u.name; u.title = u.name;
u.value = u.id; u.value = u.id;
// u.expand = true; u.expand = true;
// u.selected = false; u.selected = false;
// u.checked = false; u.checked = false;
if (u.children) { if (u.children) {
setTree(u.children); setTree(u.children);
} }
...@@ -47,7 +47,7 @@ export default { ...@@ -47,7 +47,7 @@ export default {
value: [String, Number, Array], value: [String, Number, Array],
placeholder: { placeholder: {
type: String, type: String,
default: "请选择部门" default: "请选择产品"
}, },
multiple: { multiple: {
type: Boolean, type: Boolean,
...@@ -59,7 +59,7 @@ export default { ...@@ -59,7 +59,7 @@ export default {
} }
}, },
methods: { methods: {
change(v) { change(v,item,items) {
console.log(v); console.log(v);
this.dep = v; this.dep = v;
var item; var item;
...@@ -70,6 +70,7 @@ export default { ...@@ -70,6 +70,7 @@ export default {
item = items[0]; item = items[0];
} }
this.$emit("on-change", v, item); this.$emit("on-change", v, item);
console.log(v,item,items)
} }
}, },
watch: { watch: {
......
<template>
<Cascader :data="data" v-model="name" @on-change="change" trigger="hover"></Cascader>
</template>
<script>
export default {
name: "roleSelect",
model: {
prop: "value",
event: "on-change"
},
data() {
return {
name: this.value,
data: [],
resources: [],
types: []
};
},
mounted() {
//
this.types = this.$store.getters.dictionaryByKey(
"aps.resource.type"
);
let url = `${systemUrl}/planresource/list`;
this.$api
.post(url, {
pageSize: 2000
})
.then(r => {
this.resources = r.result;
this.init();
});
},
props: {
value: [Array]
},
methods: {
init(data) {
var data = [];
this.types.map(u => {
let item = {
label: u.name,
value: u.code
};
var children = this.resources.filter(r => {
return r.type == u.code;
});
if (children && children.length > 0) {
var ul = [];
children.map(u => {
ul.push({
label: u.title,
value: u.id
});
});
item.children = ul;
}else{
item.disabled=true
}
data.push(item);
});
this.data = data;
},
change(value,selected) {
// console.log(event)
this.$emit("on-change", value,selected);
},
//获取所有的选中项
getSelectItems() {
var items = [];
this.value.forEach(v => {
var item = this.dic.filter(u => u.value == v);
if (item && item[0]) {
items.push(item[0]);
}
});
return items;
},
//获取所有选中项的名称
getSelectNames() {
var names = [];
this.getSelectItems().forEach(v => {
names.push(v.label);
});
return names;
}
},
computed: {
dic() {
let result = [];
this.data.forEach(u => {
result.push({
value: u.id,
label: u.name
});
});
return result;
}
},
watch: {
value: {
handler(v, o) {
this.name = v;
},
deep: true
}
}
};
</script>
\ No newline at end of file
...@@ -123,8 +123,8 @@ ...@@ -123,8 +123,8 @@
this.isChangeValueInTree = true; this.isChangeValueInTree = true;
this.$emit('input', this.currentValue); this.$emit('input', this.currentValue,currentNode,selectedNodes);
this.$emit('on-change', this.currentValue); this.$emit('on-change', this.currentValue,currentNode,selectedNodes);
this.dispatch('FormItem', 'on-form-change', this.currentValue); this.dispatch('FormItem', 'on-form-change', this.currentValue);
}, },
handleUpdateTreeNodes (data, isInit = false) { handleUpdateTreeNodes (data, isInit = false) {
......
<style lang="less"> <style lang="less">
.test_layout { .test_layout {
height: 100%; height: 100%;
.bg1{ .bg1 {
background:#fefefe ; background: #fefefe;
} }
// &.fg { // &.fg {
// // overflow: auto; // // overflow: auto;
// } // }
...@@ -21,17 +21,21 @@ ...@@ -21,17 +21,21 @@
<div class="layout-assistant"> <div class="layout-assistant">
<MenuItem name="1" to="/test/user">人员选择</MenuItem> <MenuItem name="1" to="/test/user">人员选择</MenuItem>
<MenuItem name="2" to="/test/com">异步组件</MenuItem> <MenuItem name="2" to="/test/com">异步组件</MenuItem>
<MenuItem name="4" to="/test/resource">资源选择</MenuItem>
<MenuItem name="3">Option 3</MenuItem> <MenuItem name="3">Option 3</MenuItem>
</div> </div>
</Menu> </Menu>
</div> </div>
<div class="fg"> <div class="fg">
<nuxt-child></nuxt-child> <nuxt-child></nuxt-child>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
layout: "empty" layout: "empty",
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
}
}; };
</script> </script>
\ No newline at end of file
<template>
<div>
<ResourceSelect v-model="model" @on-change="change"></ResourceSelect>
<p>{{model}}</p>
<p>{{text}}</p>
<Button @click="set">赋值</Button>
<ProductSelect v-model="product" @on-change="pchange"></ProductSelect>
</div>
</template>
<script>
import ResourceSelect from "@/components/page/resourceSelect"
export default {
components:{ResourceSelect},
name: '',
data() {
return {
model:[],
text:"",
product:"",
}
},
methods:{
change(v,items){
this.text=items.map(u=>u.label).join('/');
},
set(){
this.model=[ "1", 91 ];
},
pchange(v){
// this.text=items.map(u=>u.label).join('/');
},
}
}
</script>
<style lang="less" >
</style>
\ 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