|
@@ -1,49 +1,50 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <z-paging ref="paging" v-model="list" :auto="false" :height="safeScrollHeight" auto-show-system-loading
|
|
|
|
|
- @query="handleQuery">
|
|
|
|
|
- <template #top>
|
|
|
|
|
- <slot name="top"/>
|
|
|
|
|
- <mx-condition-dropdown ref="dropdown" x layout="fx-row items-center gap-20 w-max"/>
|
|
|
|
|
- </template>
|
|
|
|
|
- <voluntary-search @search="handleSearch"/>
|
|
|
|
|
- <view class="fx-col p-20 gap-20">
|
|
|
|
|
- <voluntary-item v-for="item in list" :item="item" @major="openMajorPopup(item)" @notify="showNotify"/>
|
|
|
|
|
- <!-- <vip-guide-more v-if="isNotVip"/> -->
|
|
|
|
|
- </view>
|
|
|
|
|
- <template #bottom>
|
|
|
|
|
- <voluntary-bottom @modify="$refs.modifyPopup.open()" @cart="$refs.cartPopup.open()"/>
|
|
|
|
|
- </template>
|
|
|
|
|
- </z-paging>
|
|
|
|
|
- <!-- 这里渲染的弹窗不会被back-to-top遮挡 -->
|
|
|
|
|
- <score-batch-popup ref="modifyPopup"/>
|
|
|
|
|
- <voluntary-cart-popup ref="cartPopup"/>
|
|
|
|
|
- <major-popup ref="majorPopup" @notify="showNotify"/>
|
|
|
|
|
- <uv-notify ref="notifier"/>
|
|
|
|
|
|
|
+ <z-paging ref="paging" v-model="list" :auto="false" :height="safeScrollHeight" auto-show-system-loading
|
|
|
|
|
+ @query="handleQuery">
|
|
|
|
|
+ <template #top>
|
|
|
|
|
+ <slot name="top" />
|
|
|
|
|
+ <mx-condition-dropdown ref="dropdown" x layout="fx-row items-center gap-20 w-max" />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <voluntary-search @search="handleSearch" />
|
|
|
|
|
+ <view class="fx-col p-20 gap-20">
|
|
|
|
|
+ <voluntary-item v-for="item in list" :item="item" @major="openMajorPopup(item)" @notify="showNotify" />
|
|
|
|
|
+ <vip-guide-more v-if="isNotVip" />
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <template #bottom>
|
|
|
|
|
+ <voluntary-bottom @modify="$refs.modifyPopup.open()" @cart="$refs.cartPopup.open()" />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </z-paging>
|
|
|
|
|
+
|
|
|
|
|
+ <score-batch-popup ref="modifyPopup" />
|
|
|
|
|
+ <voluntary-cart-popup ref="cartPopup" />
|
|
|
|
|
+ <major-popup ref="majorPopup" @notify="showNotify" />
|
|
|
|
|
+ <uv-notify ref="notifier" />
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
|
-import {computed, ref, watch} from 'vue';
|
|
|
|
|
-import {toValue} from "@vueuse/core";
|
|
|
|
|
-import {createPropDefine} from "@/utils";
|
|
|
|
|
-import {sleep} from "@/uni_modules/uv-ui-tools/libs/function";
|
|
|
|
|
-import {getRecommendVoluntary, getVoluntaryMarjors} from "@/api/webApi/volunteer";
|
|
|
|
|
-import {useUserStore} from "@/hooks/useUserStore";
|
|
|
|
|
-import {useInjectVoluntaryForm} from "@/pagesOther/pages/voluntary/hooks/useVoluntaryFormInjection";
|
|
|
|
|
-import {useInjectVoluntaryAssistant} from "@/pagesOther/pages/voluntary/hooks/useVoluntaryAssistantInjection";
|
|
|
|
|
-import {useInjectVoluntaryStep} from "@/pagesOther/pages/voluntary/hooks/useVoluntaryStepInjection";
|
|
|
|
|
-import {useInjectVoluntaryHeader} from "@/pagesOther/pages/voluntary/hooks/useVoluntaryHeaderInjection";
|
|
|
|
|
-import {useVoluntaryMajorGroupIdentifier} from "@/pagesOther/pages/voluntary/hooks/useVoluntaryMajorGroupIdentifier";
|
|
|
|
|
-import {useInjectVoluntaryCart} from "@/pagesOther/pages/voluntary/hooks/useVoluntaryCartInjection";
|
|
|
|
|
|
|
+import { useUserStore as newUseUserStore } from '@/store/userStore';
|
|
|
|
|
+import { computed, ref, watch } from 'vue';
|
|
|
|
|
+import { toValue } from "@vueuse/core";
|
|
|
|
|
+import { createPropDefine } from "@/utils";
|
|
|
|
|
+import { sleep } from "@/uni_modules/uv-ui-tools/libs/function";
|
|
|
|
|
+import { getRecommendVoluntary, getVoluntaryMarjors } from "@/api/webApi/volunteer";
|
|
|
|
|
+import { useUserStore } from "@/hooks/useUserStore";
|
|
|
|
|
+import { useInjectVoluntaryForm } from "@/pagesOther/pages/voluntary/hooks/useVoluntaryFormInjection";
|
|
|
|
|
+import { useInjectVoluntaryAssistant } from "@/pagesOther/pages/voluntary/hooks/useVoluntaryAssistantInjection";
|
|
|
|
|
+import { useInjectVoluntaryStep } from "@/pagesOther/pages/voluntary/hooks/useVoluntaryStepInjection";
|
|
|
|
|
+import { useInjectVoluntaryHeader } from "@/pagesOther/pages/voluntary/hooks/useVoluntaryHeaderInjection";
|
|
|
|
|
+import { useVoluntaryMajorGroupIdentifier } from "@/pagesOther/pages/voluntary/hooks/useVoluntaryMajorGroupIdentifier";
|
|
|
|
|
+import { useInjectVoluntaryCart } from "@/pagesOther/pages/voluntary/hooks/useVoluntaryCartInjection";
|
|
|
import VoluntaryItem from "@/pagesOther/pages/voluntary/index/components/voluntary-item.vue";
|
|
import VoluntaryItem from "@/pagesOther/pages/voluntary/index/components/voluntary-item.vue";
|
|
|
import VoluntaryBottom from "@/pagesOther/pages/voluntary/index/components/voluntary-bottom.vue";
|
|
import VoluntaryBottom from "@/pagesOther/pages/voluntary/index/components/voluntary-bottom.vue";
|
|
|
import MajorPopup from "@/pagesOther/pages/voluntary/index/components/major-popup.vue";
|
|
import MajorPopup from "@/pagesOther/pages/voluntary/index/components/major-popup.vue";
|
|
|
import ScoreBatchPopup from "@/pagesOther/pages/voluntary/index/components/score-batch-popup.vue";
|
|
import ScoreBatchPopup from "@/pagesOther/pages/voluntary/index/components/score-batch-popup.vue";
|
|
|
import VoluntaryCartPopup from "@/pagesOther/pages/voluntary/index/components/voluntary-cart-popup.vue";
|
|
import VoluntaryCartPopup from "@/pagesOther/pages/voluntary/index/components/voluntary-cart-popup.vue";
|
|
|
import VoluntarySearch from "@/pagesOther/pages/voluntary/index/components/voluntary-search.vue";
|
|
import VoluntarySearch from "@/pagesOther/pages/voluntary/index/components/voluntary-search.vue";
|
|
|
-import {useProvideVoluntarySearch} from "@/pagesOther/pages/voluntary/hooks/useVoluntarySearchInjection";
|
|
|
|
|
|
|
+import { useProvideVoluntarySearch } from "@/pagesOther/pages/voluntary/hooks/useVoluntarySearchInjection";
|
|
|
|
|
|
|
|
const props = defineProps({
|
|
const props = defineProps({
|
|
|
- editMode: createPropDefine(false, Boolean)
|
|
|
|
|
|
|
+ editMode: createPropDefine(false, Boolean)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
const paging = ref(null)
|
|
const paging = ref(null)
|
|
@@ -51,176 +52,187 @@ const notifier = ref(null)
|
|
|
const majorPopup = ref(null)
|
|
const majorPopup = ref(null)
|
|
|
const cartPopup = ref(null)
|
|
const cartPopup = ref(null)
|
|
|
const dropdown = ref(null)
|
|
const dropdown = ref(null)
|
|
|
-const {currentUser, GetInfo, isBind} = useUserStore()
|
|
|
|
|
-const {model, batch, mode} = useInjectVoluntaryForm()
|
|
|
|
|
-const {currentStep} = useInjectVoluntaryStep()
|
|
|
|
|
|
|
+const { currentUser, GetInfo, isBind } = useUserStore()
|
|
|
|
|
+const { model, batch, mode } = useInjectVoluntaryForm()
|
|
|
|
|
+const { currentStep } = useInjectVoluntaryStep()
|
|
|
|
|
+const userStore = newUseUserStore();
|
|
|
const {
|
|
const {
|
|
|
- resetCart, total, list, selectedList,
|
|
|
|
|
- syncMajorGroupToSelected, syncMajorsToSelectedGroup
|
|
|
|
|
|
|
+ resetCart, total, list, selectedList,
|
|
|
|
|
+ syncMajorGroupToSelected, syncMajorsToSelectedGroup
|
|
|
} = useInjectVoluntaryCart()
|
|
} = useInjectVoluntaryCart()
|
|
|
-const {scrollHeight, onBeforeBack, save} = useInjectVoluntaryAssistant() // 填报页下面有原生tabs,必须手动设置高度
|
|
|
|
|
-const {isMock, ensureHistoryYears} = useInjectVoluntaryHeader()
|
|
|
|
|
|
|
+const { scrollHeight, onBeforeBack, save } = useInjectVoluntaryAssistant() // 填报页下面有原生tabs,必须手动设置高度
|
|
|
|
|
+const { isMock, ensureHistoryYears } = useInjectVoluntaryHeader()
|
|
|
|
|
|
|
|
-const {formatQueryParams, onSearch, reset: resetCondition} = useProvideVoluntarySearch()
|
|
|
|
|
|
|
+const { formatQueryParams, onSearch, reset: resetCondition } = useProvideVoluntarySearch()
|
|
|
|
|
|
|
|
const safeScrollHeight = computed(() => scrollHeight ? toValue(scrollHeight) + 'px' : undefined)
|
|
const safeScrollHeight = computed(() => scrollHeight ? toValue(scrollHeight) + 'px' : undefined)
|
|
|
const isNotVip = computed(() => {
|
|
const isNotVip = computed(() => {
|
|
|
- return !toValue(isBind) && toValue(total) > 1
|
|
|
|
|
|
|
+ return !toValue(isBind) && toValue(total) > 1
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
const showNotify = (message) => {
|
|
const showNotify = (message) => {
|
|
|
- const msg = message || '未发布详细的征集信息'
|
|
|
|
|
- notifier.value.show({
|
|
|
|
|
- message: msg,
|
|
|
|
|
- type: 'warning',
|
|
|
|
|
- top: 1
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ const msg = message || '未发布详细的征集信息'
|
|
|
|
|
+ notifier.value.show({
|
|
|
|
|
+ message: msg,
|
|
|
|
|
+ type: 'warning',
|
|
|
|
|
+ top: 1
|
|
|
|
|
+ })
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const openMajorPopup = (item) => {
|
|
const openMajorPopup = (item) => {
|
|
|
- if (item.isExpand) {
|
|
|
|
|
- return majorPopup.value.open(item)
|
|
|
|
|
- } else {
|
|
|
|
|
- item.isExpand = true
|
|
|
|
|
- loadMajorDetails(item)
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (item.isExpand) {
|
|
|
|
|
+ return majorPopup.value.open(item)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ item.isExpand = true
|
|
|
|
|
+ loadMajorDetails(item)
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const loadMajorDetails = (item) => {
|
|
const loadMajorDetails = (item) => {
|
|
|
- uni.showLoading()
|
|
|
|
|
- getVoluntaryMarjors({
|
|
|
|
|
- batchName: toValue(batch).name,
|
|
|
|
|
- collegeCode: item.recruitPlan.collegeCode,
|
|
|
|
|
- jCode: item.jCode,
|
|
|
|
|
- mode: toValue(mode),
|
|
|
|
|
- universityId: item.recruitPlan.universityId,
|
|
|
|
|
- year: item.recruitPlan.year,
|
|
|
|
|
- score: toValue(model).score
|
|
|
|
|
- }).then(res => {
|
|
|
|
|
- syncMajorsToSelectedGroup(res.data, item)
|
|
|
|
|
- item.majors = res.data
|
|
|
|
|
- majorPopup.value.open(item)
|
|
|
|
|
- }).finally(() => uni.hideLoading())
|
|
|
|
|
|
|
+ uni.showLoading()
|
|
|
|
|
+ getVoluntaryMarjors({
|
|
|
|
|
+ batchName: toValue(batch).name,
|
|
|
|
|
+ collegeCode: item.recruitPlan.collegeCode,
|
|
|
|
|
+ jCode: item.jCode,
|
|
|
|
|
+ mode: toValue(mode),
|
|
|
|
|
+ universityId: item.recruitPlan.universityId,
|
|
|
|
|
+ year: item.recruitPlan.year,
|
|
|
|
|
+ score: toValue(model).score
|
|
|
|
|
+ }).then(res => {
|
|
|
|
|
+ syncMajorsToSelectedGroup(res.data, item)
|
|
|
|
|
+ item.majors = res.data
|
|
|
|
|
+ majorPopup.value.open(item)
|
|
|
|
|
+ }).finally(() => uni.hideLoading())
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
const syncUserScoreByNeed = (query) => {
|
|
const syncUserScoreByNeed = (query) => {
|
|
|
- const {score, seatInput/*, mode*/} = toValue(currentUser)
|
|
|
|
|
- // if query score mode seatInput changed, re-call getInfo.
|
|
|
|
|
- if (query.score != score ||
|
|
|
|
|
- // query.mode != mode ||
|
|
|
|
|
- query.seatInput != seatInput) {
|
|
|
|
|
- GetInfo()
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ const { score, seatInput/*, mode*/ } = toValue(currentUser)
|
|
|
|
|
+ // if query score mode seatInput changed, re-call getInfo.
|
|
|
|
|
+ if (query.score != score ||
|
|
|
|
|
+ // query.mode != mode ||
|
|
|
|
|
+ query.seatInput != seatInput) {
|
|
|
|
|
+ GetInfo()
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const handleQuery = async (pageNum, pageSize) => {
|
|
const handleQuery = async (pageNum, pageSize) => {
|
|
|
- const batchVal = toValue(batch)
|
|
|
|
|
- const modelVal = toValue(model)
|
|
|
|
|
- const batchData = {
|
|
|
|
|
- batchName: batchVal.name,
|
|
|
|
|
- batch: batchVal.batch,
|
|
|
|
|
- batchMinScore: batchVal.score2 || batchVal.score1
|
|
|
|
|
- }
|
|
|
|
|
- const modelData = {
|
|
|
|
|
- mode: toValue(mode),
|
|
|
|
|
- score: modelVal.score,
|
|
|
|
|
- seatInput: modelVal.seatInput
|
|
|
|
|
- }
|
|
|
|
|
- const data = {
|
|
|
|
|
- ...batchData,
|
|
|
|
|
- ...modelData,
|
|
|
|
|
- ...formatQueryParams()
|
|
|
|
|
- }
|
|
|
|
|
- const res = await getRecommendVoluntary(data, {pageNum, pageSize})
|
|
|
|
|
-
|
|
|
|
|
- if (pageNum == 1) syncUserScoreByNeed(data)
|
|
|
|
|
- total.value = res.total
|
|
|
|
|
- // make reactive properties
|
|
|
|
|
- let rows = {}
|
|
|
|
|
- rows = res.rows.map(item => {
|
|
|
|
|
- item.isExpand = false
|
|
|
|
|
- item.majors = []
|
|
|
|
|
- return item
|
|
|
|
|
- })
|
|
|
|
|
- rows.forEach(useVoluntaryMajorGroupIdentifier)
|
|
|
|
|
- // 回显
|
|
|
|
|
- syncMajorGroupToSelected(rows)
|
|
|
|
|
|
|
+ const batchVal = toValue(batch)
|
|
|
|
|
+ const modelVal = toValue(model)
|
|
|
|
|
+ const batchData = {
|
|
|
|
|
+ batchName: batchVal.name,
|
|
|
|
|
+ batch: batchVal.batch,
|
|
|
|
|
+ batchMinScore: batchVal.score2 || batchVal.score1
|
|
|
|
|
+ }
|
|
|
|
|
+ const modelData = {
|
|
|
|
|
+ mode: toValue(mode),
|
|
|
|
|
+ score: modelVal.score,
|
|
|
|
|
+ seatInput: modelVal.seatInput
|
|
|
|
|
+ }
|
|
|
|
|
+ const data = {
|
|
|
|
|
+ ...batchData,
|
|
|
|
|
+ ...modelData,
|
|
|
|
|
+ ...formatQueryParams()
|
|
|
|
|
+ }
|
|
|
|
|
+ const res = await getRecommendVoluntary(data, { pageNum, pageSize })
|
|
|
|
|
+
|
|
|
|
|
+ if (pageNum == 1) syncUserScoreByNeed(data)
|
|
|
|
|
+ total.value = res.total
|
|
|
|
|
+ // make reactive properties
|
|
|
|
|
+ let rows = {}
|
|
|
|
|
+ rows = res.rows.map(item => {
|
|
|
|
|
+ item.isExpand = false
|
|
|
|
|
+ item.majors = []
|
|
|
|
|
+ return item
|
|
|
|
|
+ })
|
|
|
|
|
+ rows.forEach(useVoluntaryMajorGroupIdentifier)
|
|
|
|
|
+ // 回显
|
|
|
|
|
+ syncMajorGroupToSelected(rows)
|
|
|
|
|
+ if (!userStore.isVip) {
|
|
|
|
|
+ paging.value.completeByNoMore(rows, true)
|
|
|
|
|
+ } else {
|
|
|
paging.value.completeByTotal(rows, total.value)
|
|
paging.value.completeByTotal(rows, total.value)
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const checkPopupBlock = async () => {
|
|
const checkPopupBlock = async () => {
|
|
|
- // major popup
|
|
|
|
|
- if (majorPopup.value.show) {
|
|
|
|
|
- majorPopup.value.close()
|
|
|
|
|
- return Promise.reject('popup close')
|
|
|
|
|
- }
|
|
|
|
|
- if (dropdown.value.getShow()) {
|
|
|
|
|
- dropdown.value.terminate()
|
|
|
|
|
- return Promise.reject('popup close')
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // major popup
|
|
|
|
|
+ if (majorPopup.value.show) {
|
|
|
|
|
+ majorPopup.value.close()
|
|
|
|
|
+ return Promise.reject('popup close')
|
|
|
|
|
+ }
|
|
|
|
|
+ if (dropdown.value.getShow()) {
|
|
|
|
|
+ dropdown.value.terminate()
|
|
|
|
|
+ return Promise.reject('popup close')
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const confirmSave = async () => {
|
|
const confirmSave = async () => {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
|
|
- uni.showModal({
|
|
|
|
|
- content: '是否要保存当前志愿表',
|
|
|
|
|
- showCancel: true,
|
|
|
|
|
- cancelText: '放弃保存',
|
|
|
|
|
- confirmText: '保存志愿表',
|
|
|
|
|
- success: res => {
|
|
|
|
|
- if (res.confirm) {
|
|
|
|
|
- reject() // to prevent back operation.
|
|
|
|
|
- save(isMock.value)
|
|
|
|
|
- } else {
|
|
|
|
|
- resolve() // to continue back operation.
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
|
+ uni.showModal({
|
|
|
|
|
+ content: '是否要保存当前志愿表',
|
|
|
|
|
+ showCancel: true,
|
|
|
|
|
+ cancelText: '放弃保存',
|
|
|
|
|
+ confirmText: '保存志愿表',
|
|
|
|
|
+ success: res => {
|
|
|
|
|
+ if (res.confirm) {
|
|
|
|
|
+ reject() // to prevent back operation.
|
|
|
|
|
+ save(isMock.value)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ resolve() // to continue back operation.
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
})
|
|
})
|
|
|
|
|
+ })
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const handleSearch = () => paging.value.reload() // 输入框触发
|
|
const handleSearch = () => paging.value.reload() // 输入框触发
|
|
|
onSearch(() => paging.value.reload()) // 条件选择器触发
|
|
onSearch(() => paging.value.reload()) // 条件选择器触发
|
|
|
onBeforeBack(async () => {
|
|
onBeforeBack(async () => {
|
|
|
- if (currentStep.value == 2) {
|
|
|
|
|
- // 先控制弹层元素 专业详情/条件筛选
|
|
|
|
|
- await checkPopupBlock()
|
|
|
|
|
- // 再判定志愿表
|
|
|
|
|
- if (selectedList.value.length) {
|
|
|
|
|
- await confirmSave()
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (currentStep.value == 2) {
|
|
|
|
|
+ // 先控制弹层元素 专业详情/条件筛选
|
|
|
|
|
+ await checkPopupBlock()
|
|
|
|
|
+ // 再判定志愿表
|
|
|
|
|
+ if (selectedList.value.length) {
|
|
|
|
|
+ await confirmSave()
|
|
|
}
|
|
}
|
|
|
|
|
+ }
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
const reloadWatches = [
|
|
const reloadWatches = [
|
|
|
- currentStep,
|
|
|
|
|
- () => model.value.score * 1,
|
|
|
|
|
- () => model.value.seatInput * 1,
|
|
|
|
|
- () => batch.value.batch * 1
|
|
|
|
|
|
|
+ currentStep,
|
|
|
|
|
+ () => model.value.score * 1,
|
|
|
|
|
+ () => model.value.seatInput * 1,
|
|
|
|
|
+ () => batch.value.batch * 1
|
|
|
]
|
|
]
|
|
|
-watch(reloadWatches, async ([step, score, input, batch], arg2) => {
|
|
|
|
|
|
|
+onMounted(() => {
|
|
|
|
|
+ watch(reloadWatches, async ([step, score, input, batch], arg2) => {
|
|
|
if (step == 2) {
|
|
if (step == 2) {
|
|
|
- if (!props.editMode) resetCart() // 编辑模式下保留cart数据
|
|
|
|
|
- cartPopup.value.close()
|
|
|
|
|
- majorPopup.value.close()
|
|
|
|
|
- dropdown.value.terminate()
|
|
|
|
|
- await sleep(400) // wait for animation complete
|
|
|
|
|
- resetCondition()
|
|
|
|
|
|
|
+ if (!props.editMode) resetCart() // 编辑模式下保留cart数据
|
|
|
|
|
+ cartPopup.value.close()
|
|
|
|
|
+ majorPopup.value.close()
|
|
|
|
|
+ dropdown.value.terminate()
|
|
|
|
|
+ await sleep(400) // wait for animation complete
|
|
|
|
|
+ resetCondition()
|
|
|
}
|
|
}
|
|
|
-})
|
|
|
|
|
-watch(currentStep, async (step) => {
|
|
|
|
|
|
|
+ }, {
|
|
|
|
|
+ immediate: true
|
|
|
|
|
+ })
|
|
|
|
|
+ watch(currentStep, async (step) => {
|
|
|
if (step == 2) {
|
|
if (step == 2) {
|
|
|
- const payload = {mode: toValue(mode), year: toValue(batch).year, isMock: toValue(isMock)}
|
|
|
|
|
- await ensureHistoryYears(payload)
|
|
|
|
|
|
|
+ const payload = { mode: toValue(mode), year: toValue(batch).year, isMock: toValue(isMock) }
|
|
|
|
|
+ await ensureHistoryYears(payload)
|
|
|
}
|
|
}
|
|
|
|
|
+ }, {
|
|
|
|
|
+ immediate: true
|
|
|
|
|
+ })
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
-defineExpose({checkPopupBlock, confirmSave})
|
|
|
|
|
|
|
+defineExpose({ checkPopupBlock, confirmSave })
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|
|
|
::v-deep .zp-page-bottom-container {
|
|
::v-deep .zp-page-bottom-container {
|
|
|
- z-index: 10;
|
|
|
|
|
|
|
+ z-index: 10;
|
|
|
}
|
|
}
|
|
|
</style>
|
|
</style>
|