Files
dvcp_v2_webapp/packages/work/processManagement/mattersConfig/AppMattersConfig.vue
2022-05-10 20:02:37 +08:00

83 lines
2.2 KiB
Vue

<template>
<section class="matters-config">
<ai-list v-if="!showDetail">
<template #title>
<ai-title title="事项配置" :isShowBottomBorder="false"></ai-title>
</template>
<template slot="tabs">
<el-tabs class="tabs-page" v-model="currIndex">
<el-tab-pane v-for="(tab,i) in tabs" :key="i" :label="tab.label" :name="String(i)">
<component :is="tab.comp" v-if="currIndex==i" :ref="currIndex" :instance="instance" :dict="dict"
:permissions="permissions" @goPage="goPage" :tab="currentTab"/>
</el-tab-pane>
</el-tabs>
</template>
</ai-list>
<component v-else :is="currentComp" :instance="instance" :dict="dict"
:processType="currentTab.value" :row="row"></component>
</section>
</template>
<script>
import addConfig from './components/addConfig'
import configList from "./components/configList";
import guidance from "./components/guidance";
export default {
name: "AppMattersConfig",
label: '事项配置',
components: {addConfig,guidance},
props: {
instance: Function,
dict: Object,
permissions: Function
},
data() {
return {
currIndex: "0",
row: {},
currentComp: "",
}
},
computed: {
tabs() {
return [
{label: "网上办事", name: "configList", value: "0", comp: configList, detail: addConfig, permission: ""},
{label: "办事指南", name: "configList", value: "2", comp: configList, detail: guidance, permission: ""},
]
},
currentTab() {
return this.tabs?.[this.currIndex] || {}
},
showDetail() {
return !!this.$route.query?.id || !!this.$route.query?.processType
}
},
methods: {
goPage(params) {
this.row = params.row
this.currentComp = params.comp
this.$router.push({query: {processType: this.currentTab.value}})
}
},
created() {
this.$router.push({query: {}});
this.$dict.load("hbDepartment", 'sex', 'nation', 'marital', 'native_place', 'education', 'candidateApproverType', 'scopeCandidates', 'nodeType')
}
}
</script>
<style lang="scss" scoped>
.matters-config {
height: 100%;
background: #f3f6f9;
overflow: auto;
.iconfont {
user-select: none;
cursor: pointer;
}
}
</style>