|
@@ -4,10 +4,10 @@
|
|
|
:multiple="multiple"
|
|
|
filterable
|
|
|
remote
|
|
|
- size="small"
|
|
|
+ :size="size"
|
|
|
clearable
|
|
|
collapse-tags
|
|
|
- style="width: 100%"
|
|
|
+ :style="itemStyles"
|
|
|
:placeholder="placeholder"
|
|
|
:remote-method="remoteMethod"
|
|
|
@change="changeCascader"
|
|
@@ -19,9 +19,25 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-
|
|
|
+/**
|
|
|
+ * 提炼自月报的团队选择器
|
|
|
+ * 使用前,需要在组件渲染前,配合 vuex 中的获取部门数据的 actions 的方法来使页面自动获取数据
|
|
|
+ * 在 created 或者 mounted 中 放入下面这句函数即可
|
|
|
+ * 示例:获取部门数据
|
|
|
+ * this.$store.dispatch('monthlyReportEdit/setSelectEnum')
|
|
|
+ * 模版中的用法
|
|
|
+ * <!-- 团队选择 -->
|
|
|
+ * <selectCascader
|
|
|
+ * v-else-if="type === 'cascader'"
|
|
|
+ * v-model="val"
|
|
|
+ * :size="size"
|
|
|
+ * :placeholder="placeholder"
|
|
|
+ * :style="itemStyles"
|
|
|
+ * @change="(e) => $emit('onChange', e)"
|
|
|
+ * />
|
|
|
+ */
|
|
|
export default {
|
|
|
- name: 'CascaderInfo',
|
|
|
+ name: 'SelectCascader',
|
|
|
props: {
|
|
|
multiple: {
|
|
|
type: Boolean,
|
|
@@ -33,6 +49,16 @@ export default {
|
|
|
required: false,
|
|
|
default: () => []
|
|
|
},
|
|
|
+ itemStyles: {
|
|
|
+ type: Object,
|
|
|
+ default: () => ({ width: '100%' }),
|
|
|
+ required: false
|
|
|
+ },
|
|
|
+ size: {
|
|
|
+ type: String,
|
|
|
+ required: false,
|
|
|
+ default: 'small'
|
|
|
+ },
|
|
|
placeholder: {
|
|
|
type: String,
|
|
|
required: false,
|
|
@@ -50,11 +76,11 @@ export default {
|
|
|
return this.$store.state.monthlyReportEdit.selectEnum
|
|
|
}
|
|
|
},
|
|
|
- // watch: {
|
|
|
- // value() {
|
|
|
- // this.init()
|
|
|
- // }
|
|
|
- // },
|
|
|
+ watch: {
|
|
|
+ selectEnum() {
|
|
|
+ this.init()
|
|
|
+ }
|
|
|
+ },
|
|
|
mounted() {
|
|
|
// this.selectValue = this.value
|
|
|
this.init()
|
|
@@ -112,6 +138,7 @@ export default {
|
|
|
},
|
|
|
changeCascader(value) {
|
|
|
this.$emit('input', value)
|
|
|
+ console.log(141, value)
|
|
|
this.$emit('change', value)
|
|
|
}
|
|
|
}
|