70 lines
1.6 KiB
Vue
70 lines
1.6 KiB
Vue
<template>
|
|
<ai-list v-if="!isShowDetail">
|
|
<template slot="title">
|
|
<ai-title title="客户群发" :isShowBottomBorder="true"></ai-title>
|
|
</template>
|
|
<template slot="tabs">
|
|
<component :ref="activeName" :is="activeName" @change="change" :instance="instance" :dict="dict"
|
|
:permissions="permissions"/>
|
|
</template>
|
|
</ai-list>
|
|
<component v-else :is="activeName" :params="params" @change="change" :instance="instance" :dict="dict" :permissions="permissions"/>
|
|
</template>
|
|
|
|
<script>
|
|
import TableList from './components/TableList.vue'
|
|
import NewClientMass from './components/NewClientMass.vue'
|
|
import {mapState} from 'vuex'
|
|
|
|
export default {
|
|
name: 'AppClientMassTextin',
|
|
label: '客户群发',
|
|
components: {
|
|
TableList,
|
|
NewClientMass,
|
|
},
|
|
props: {
|
|
instance: Function,
|
|
dict: Object,
|
|
permissions: Function
|
|
},
|
|
|
|
computed: {
|
|
...mapState(['user']),
|
|
},
|
|
|
|
data() {
|
|
return {
|
|
activeName: 'TableList',
|
|
params: {},
|
|
isShowDetail: false,
|
|
}
|
|
},
|
|
|
|
methods: {
|
|
change(val) {
|
|
console.log(val);
|
|
if (val.type) {
|
|
this.activeName = val.type
|
|
switch (val.type) {
|
|
case "NewClientMass":
|
|
this.isShowDetail = true
|
|
this.params = val.row
|
|
break;
|
|
case "TableList":
|
|
this.isShowDetail = false
|
|
this.$nextTick(() => {
|
|
this.$refs[this.activeName].getList()
|
|
})
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
</style>
|