|
|
- <template>
- <div class="study-enter">
- <div class="content-list">
- <div class="search-box" v-show="!showDetail">
- <div class="search-item" :class="active === item.key ? 'active' : ''" v-for="(item, index) in tabList"
- :key="index" @click="changeTab(item)">
- {{ $t(item.name) }}
- </div>
- </div>
-
- <div class="content-box" v-if="study.id!='' && study.id!=undefined">
- <ytbd v-if="active === 'ytbd'" :study="study" @showDetail="showDetailCallback" @changeTab="changeTab" />
- <tbbd v-if="active === 'tbbd'" :study="study" @showDetail="showDetailCallback" @changeTab="changeTab"/>
- <syxx v-if="active === 'syxx'" :study="study" @showDetail="showDetailCallback" @changeTab="changeTab"/>
- <syff v-if="active === 'syff'" :study="study" @showDetail="showDetailCallback" @changeTab="changeTab"/>
- <wzlb v-if="active === 'wzlb'" :study="study" @showDetail="showDetailCallback" @changeTab="changeTab"/>
- <syj v-if="active === 'syj'" :study="study" @showDetail="showDetailCallback" @changeTab="changeTab"/>
- </div>
- </div>
- </div>
- </template>
-
- <script>
- import { checkPermi } from "@/utils/permission";
- import { study_info} from "@/api/business/study/study";
- import ytbd from './ytbd.vue'
- import tbbd from './tbbd.vue'
- import syxx from './syxx.vue'
- import syff from './syff.vue'
- import wzlb from './wzlb.vue'
- import syj from './syj.vue'
- export default {
- name: 'StudyEnter',
- props: {},
- components: { ytbd, tbbd ,syxx,syff,wzlb, syj},
- computed: {},
- filters: {},
- data() {
- return {
- showDetail: false,
- tabList: [],
- active: '',
-
- study: {},
- }
- },
- created() {
- // let x = this.$route.params
- // let y = this.$route.query
- // debugger
- this.initTab()
- this.getInfo()
-
- },
- methods: {
- checkPermi,
- initTab(){
- this.tabList = []
- if(this.checkPermi(['business:studyFormPreTab'])){
- this.tabList.push({ key: 'ytbd', name: 'page.business.study.studyEnter.ytbdlb' })
- }
- if(this.checkPermi(['business:studyFormFillTab'])){
- this.tabList.push({ key: 'tbbd', name: 'page.business.study.studyEnter.tbbdlb' })
- }
- if(this.checkPermi(['business:studyFormPlanTab'])){
- this.tabList.push({ key: 'syxx', name: 'page.business.study.studyEnter.syxx' })
- }
- if(this.checkPermi(['business:studyWzlbTab'])){
- this.tabList.push({ key: 'wzlb', name: 'page.business.study.studyEnter.wzlb' })
- }
- if(this.checkPermi(['business:studyMethodTab'])){
- this.tabList.push({ key: 'syff', name: 'page.business.study.studyEnter.syfflb' })
- }
- if(this.checkPermi(['business:studyRoomTab'])){
- this.tabList.push({ key: 'syj', name: 'page.business.study.studyEnter.syjsygl' })
- }
- this.active = this.$route.params.tab && _.findIndex(this.tabList,(o)=>{return o.key===this.$route.params.tab})>-1 ? this.$route.params.tab: this.tabList.length>0 ? this.tabList[0].key :''
- if(this.active){
- let name = this.tabList[_.findIndex(this.tabList,(o)=>{return o.key===this.active})].name
- if(name){
- this.saveSimpleLog({name:this.$t(name,'zh_CN'),nameEn:this.$t(name,'en_US'),jcmc:this.$t('system.enterPage','zh_CN'),jcmcEn:this.$t('system.enterPage','en_US')})
- }
- }
- },
- getInfo(){
- this.$modal.loading()
- study_info({id:this.$route.params.studyId}).then(({data}) => {
- this.study = data
- const obj = Object.assign({}, this.$route, { title: this.study.name+'('+this.study.sn+')' })
- this.$tab.updatePage(obj);
- }).finally(() => {
- this.$modal.closeLoading()
- })
- },
- show(row) {
- this.study = row
- },
- showDetailCallback(val) {
- this.showDetail = val
- },
- changeTab(item) {
- if (this.active !== item.key) {
- this.saveSimpleLog({name:this.$t(item.name,'zh_CN'),nameEn:this.$t(item.name,'en_US'),jcmc:this.$t('system.enterPage','zh_CN'),jcmcEn:this.$t('system.enterPage','en_US')})
- this.active = item.key
- }
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .study-enter {
- margin: 10px 10px;
- .search-box {
- background: #fff;
- padding: 0;
- border-radius: 3px;
- margin-bottom: 10px;
-
- display: flex;
- flex-direction: row;
- align-items: center;
-
- .search-item {
- padding: 10px 20px;
- font-size: 14px;
- cursor: pointer;
-
- &.active {
- background: #1890ff;
- color: #fff;
- }
-
- &:hover {
- background: #46a6ff;
- color: #fff;
- }
-
- &:first-child {
- border-top-left-radius: 3px;
- border-bottom-left-radius: 3px;
- }
-
- &:last-child {
- border-top-right-radius: 3px;
- border-bottom-right-radius: 3px;
- }
- }
- }
-
- .content-box {}
- }
- </style>
|