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

View File

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

View File

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

View File

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