招工就业

This commit is contained in:
yanran200730
2021-12-21 16:47:07 +08:00
parent 47e0b485ab
commit 0dc777d02b
5 changed files with 436 additions and 176 deletions

View File

@@ -1,68 +1,105 @@
<template>
<div class="appjob">
<keep-alive :include="['List']">
<component ref="component" :is="component" @change="onChange" :params="params" :instance="instance" :dict="dict"></component>
</keep-alive>
</div>
<ai-list v-if="!isShowDetail">
<template slot="title">
<ai-title title="居民管理" :isShowBottomBorder="false"></ai-title>
</template>
<template slot="tabs">
<el-tabs v-model="currIndex">
<el-tab-pane v-for="(tab,i) in tabs" :key="i" :label="tab.label">
<component :ref="String(i)" v-if="currIndex == i" :is="tab.comp" @change="onChange" lazy :instance="instance" :dict="dict" :permissions="permissions"/>
</el-tab-pane>
</el-tabs>
</template>
</ai-list>
<AddJob v-else-if="componentName === 'AddJob' && isShowDetail" :params="params" :instance="instance" :dict="dict" :permissions="permissions" @change="onChange"></AddJob>
<Add v-else-if="componentName === 'Add' && isShowDetail" :params="params" :instance="instance" :dict="dict" :permissions="permissions" @change="onChange"></Add>
</template>
<script>
import List from './components/List'
import Add from './components/Add'
import List from './components/List.vue'
import JobList from './components/JobList'
import Add from './components/Add'
import AddJob from './components/AddJob'
import { mapState } from 'vuex'
export default {
label: '招工就业',
name: 'AppJob',
// 组件
components: { Add, List },
props: {
instance: Function,
dict: Object,
permissions: Function,
},
data() {
return {
component: 'List',
params: {},
include: [],
}
},
// 计算
computed: {},
// 监听
watch: {},
// 实例创建后
created() {},
// 实例创建后
onShow() {},
// 实例渲染后
mounted() {},
// 方法
methods: {
onChange(data) {
if (data.type === 'Add') {
this.component = 'Add'
this.params = data.params
}
export default {
name: 'AppJob',
label: '招工就业',
if (data.type === 'list') {
this.component = 'List'
this.params = data.params
components: {
JobList,
AddJob,
List,
Add
},
this.$nextTick(() => {
if (data.isRefresh) {
this.$refs.component.getList()
}
props: {
instance: Function,
dict: Object,
permissions: Function
},
computed: {
...mapState(['user']),
tabs () {
const tabList = [
{label: '找能人', name: 'List', comp: List, permission: ''},
{label: '找工作', name: 'Statistics', comp: JobList, permission: ''}
].filter(item => {
return true
})
return tabList
}
},
},
}
data () {
return {
activeName: 'List',
currIndex: '0',
componentName: '',
params: {},
isShowDetail: false
}
},
created () {
if (this.$route.query.id) {
this.componentName = this.$route.query?.type
this.params = {id: this.$route.query?.id}
this.isShowDetail = true
}
},
methods: {
onChange (data) {
if (data.type === 'List') {
this.componentName = 'List'
this.isShowDetail = false
this.params = data.params
}
if (data.type === 'Add') {
this.componentName = 'Add'
this.isShowDetail = true
this.params = data.params
}
if (data.type === 'JobList') {
this.componentName = 'JobList'
this.isShowDetail = false
this.params = data.params
}
if (data.type === 'AddJob') {
this.componentName = 'AddJob'
this.isShowDetail = true
this.params = data.params
}
}
}
}
</script>
<style scoped lang="scss">
.appjob {
width: 100%;
height: 100%;
}
<style lang="scss" scoped>
</style>