Merge branch 'feature/FCRS-1048投保流程优化需求' of http://112.124.100.131/GFRS/ebiz-h5 into feature/FCRS-1048投保流程优化需求

This commit is contained in:
hz
2025-11-03 09:07:38 +08:00
4 changed files with 46 additions and 31 deletions

View File

@@ -54,7 +54,7 @@ export default {
TotalPremium: ()=> import ("@/views/ebiz/saleFlowProImprove/components/TotalPremium.vue")
},
methods: {},
created() {
beforeEnter() {
if(process.env.NODE_ENV === "development") return
if (this.$route.query.orderNo) {
this.$router.push("/")

View File

@@ -198,15 +198,16 @@
style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;"
v-if="manageComCode == '45'"
>
<van-radio-group v-model="userInfo.isNewPeopleFlag" class="flex">
<van-radio-group v-model="userInfo.isNewPeopleFlag" :disabled="isReadonly" class="flex">
<label>
<i class="red">*</i>
新市民身份
<van-icon class="red" name="question-o" size="20" @click="isNewPeopleFlagTip" />
</label>
<van-radio name="1" class="ml30"></van-radio>
<van-radio name="0" class="ml20"></van-radio>
</van-radio-group>
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTip" />
</div>
<van-field
v-if="userInfo.isNewPeopleFlag == 1"
@@ -262,6 +263,7 @@
label="职业类别"
name="职业类别"
required
:readonly="isReadonly"
v-validate="'required'"
placeholder="请选择"
:parentShowPicker.sync="occupationShowPicker"
@@ -487,22 +489,22 @@
</template>
<script>
import { Field, CellGroup, Checkbox, Popup, Picker, Area, Dialog, RadioGroup, Radio } from 'vant'
import { Area, CellGroup, Checkbox, Dialog, Field, Picker, Popup, Radio, RadioGroup } from 'vant'
import SelectRadio from '@/components/ebiz/SelectRadio'
import FieldDatePicter from '@/components/ebiz/FieldDatePicter'
import OccupationPicker from '@/components/ebiz/occipation/OccupationPicker'
import OccupationPicker from './components/OccupationPicker.vue'
import CustomerPicker from '@/components/ebiz/customer/CustomerPicker'
import DataDictionary from '@/assets/js/utils/data-dictionary'
import areaList from '@/assets/js/utils/areaForSale'
import areaLists from '@/assets/js/utils/areaNewForSale'
import countCredentialValidity from '@/assets/js/utils/countCredentialValidity'
import { saveOrUpdateOrderInfo, getAuthCode, getOrderDetail } from '@/api/ebiz/sale/sale'
import { getAuthCode, getOrderDetail, saveOrUpdateOrderInfo } from '@/api/ebiz/sale/sale'
import utilsAge from '@/assets/js/utils/age'
import getAreaName from '@/assets/js/utils/getAreaNameForSale'
import idNoCheck from '@/assets/js/utils/idNoCheck'
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
import { idToData } from './js/verification'
import { selectComp, getIdentityInfo } from './js/methods'
import { getIdentityInfo, selectComp } from './js/methods'
import IndexBar from '@/components/ebiz/sale/IndexBar'
import SearchField from './components/SearchField'
import riskRules from '@/views/ebiz/common/risk-rules'
@@ -813,6 +815,7 @@ export default {
}
},
async mounted() {
window.cvThis = this
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
@@ -860,6 +863,10 @@ export default {
this.isMarriageStatusShow = false
},
setMarriageStatus() {
// 投被同人不允许编辑
if (this.isReadonly) {
return
}
this.isMarriageStatusShow = true
this.columns = DataDictionary.marriage
},
@@ -947,7 +954,6 @@ export default {
},
//确认选择字段
onConfirm(value) {
console.log(value)
this.popupShow = false
if (this.pickerType == '1') {
this.userInfo.nativeplace = value.id
@@ -1107,7 +1113,7 @@ export default {
this.userInfo.npType = value.id
}
// 如果是主动选择本人, 那么不让填写了
this.source = ""
this.source = ''
},
//证件起始截止日期
onDateConfirm(val, type) {
@@ -1347,8 +1353,8 @@ export default {
this.getRelatedData(this.userInfo.idNo, 'select')
},
//下一步
async nextStep() {
let valid = await this.$validator.validate()
async nextStep({ passValidate = false }) {
let valid = passValidate ? true : await this.$validator.validate()
if (this.manageComCode == '45') {
if (this.userInfo.isNewPeopleFlag == '' || this.userInfo.isNewPeopleFlag == null || this.userInfo.isNewPeopleFlag == undefined) {
this.$toast('新市民身份不能为空')
@@ -1833,16 +1839,16 @@ export default {
this.timeId = null
this.countDown = 60
this.codeDisabled = false
this.$jump({
flag: 'h5',
extra: {
forbidSwipeBack: '1',
url: location.origin + `/#/common/selectedProduct?${str}` + '&orderNo=' + this.$route.query.orderNo
},
routerInfo: {
path: `/common/selectedProduct?${str}` + '&orderNo=' + this.$route.query.orderNo
}
})
// this.$jump({
// flag: 'h5',
// extra: {
// forbidSwipeBack: '1',
// url: location.origin + `/#/common/selectedProduct?${str}` + '&orderNo=' + this.$route.query.orderNo
// },
// routerInfo: {
// path: `/common/selectedProduct?${str}` + '&orderNo=' + this.$route.query.orderNo
// }
// })
} else {
return this.$toast(resultData.resultMessage)
}
@@ -2083,15 +2089,17 @@ export default {
userInfo: {
deep: true,
async handler() {
if (await this.$validator.validate()) {
if (this.timer) {
clearTimeout(this.timer)
} else {
this.timer = setTimeout(() => {
this.nextStep()
}, 2000)
}
} else console.log(`validate error`)
await this.$nextTick()
if (this.timer) {
console.log(`clear timer`)
clearTimeout(this.timer)
}
this.timer = setTimeout(async () => {
if (await this.$validator.validate()) {
console.log(`form input success`)
this.nextStep({ passValidate: true })
} else console.log(`validate error`)
}, 1000)
}
},
async 'withRootUser.value'(n) {

View File

@@ -71,6 +71,10 @@ export default {
parentShowPicker: {
type: Boolean,
default: false
},
readonly: {
type: Boolean,
default: false
}
},
data() {
@@ -119,7 +123,7 @@ export default {
return
}
this.$emit('on-click')
this.showPicker = true
!this.readonly &&( this.showPicker = true)
},
cancel() {
this.showPicker = false

View File

@@ -56,6 +56,9 @@ module.exports = {
port: 8082
},
configureWebpack: config => {
config.cache = {
type: "memory"
}
config.devtool = 'source-map'
config.optimization = {
minimizer: [