83 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			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>
 |