Преглед на файлове

feat: 修复系列BUG

master
leiyun преди 2 дни
родител
ревизия
2c5fad9461
променени са 2 файла, в които са добавени 45 реда и са изтрити 3 реда
  1. +36
    -2
      pages/myinfo/myinfo.vue
  2. +9
    -1
      pages/sign/sign.vue

+ 36
- 2
pages/myinfo/myinfo.vue Целия файл

@@ -177,6 +177,14 @@ const showRegionPicker = ref(false)
const showConfirmPopup = ref(false)
const subscribeTmplId = ref('')

// 签署时的额外信息(用于重签回显)
const signExtra = reactive({
income_amount: '',
guardian_name: '',
guardian_id_card: '',
guardian_relation: ''
})

// 加载订阅消息模板配置
const loadSubscribeConfig = async () => {
try {
@@ -271,11 +279,17 @@ const regionText = computed(() => {
const onSignResult = (data) => {
if (data.type === 'income') {
form.sign_income = data.url
if (data.amount) form.income_amount = data.amount
if (data.amount) {
form.income_amount = data.amount
signExtra.income_amount = data.amount
}
} else if (data.type === 'privacy') {
form.sign_privacy = data.url
} else if (data.type === 'privacy_jhr') {
form.sign_privacy_jhr = data.url
if (data.guardianName) signExtra.guardian_name = data.guardianName
if (data.guardianIdCard) signExtra.guardian_id_card = data.guardianIdCard
if (data.guardianRelation) signExtra.guardian_relation = data.guardianRelation
} else if (data.type === 'promise') {
form.sign_promise = data.url
}
@@ -293,7 +307,20 @@ onBeforeUnmount(() => {
})

const goSign = (type) => {
uni.navigateTo({ url: `/pages/sign/sign?type=${type}` })
let url = `/pages/sign/sign?type=${type}`
if (type === 'income') {
const amt = form.income_amount || signExtra.income_amount || ''
if (amt) url += `&amount=${encodeURIComponent(amt)}`
}
if (type === 'privacy_jhr') {
const gn = signExtra.guardian_name || ''
const gi = signExtra.guardian_id_card || ''
const gr = signExtra.guardian_relation || ''
if (gn) url += `&guardianName=${encodeURIComponent(gn)}`
if (gi) url += `&guardianIdCard=${encodeURIComponent(gi)}`
if (gr) url += `&guardianRelation=${encodeURIComponent(gr)}`
}
uni.navigateTo({ url })
}

const previewSign = (type) => {
@@ -368,6 +395,10 @@ const loadInfo = async () => {
form.sign_privacy_jhr = res.data.sign_privacy_jhr || ''
form.sign_promise = res.data.sign_promise || ''
form.income_amount = res.data.income_amount || ''
signExtra.income_amount = res.data.income_amount || ''
signExtra.guardian_name = res.data.guardian_name || ''
signExtra.guardian_id_card = res.data.guardian_id_card || ''
signExtra.guardian_relation = res.data.guardian_relation || ''
// 设置地区选择器默认索引
if (form.province_code && allRegions.value.length) {
const pIdx = allRegions.value.findIndex(r => r.code === form.province_code)
@@ -457,6 +488,9 @@ const doSubmit = async () => {
sign_privacy_jhr: form.sign_privacy_jhr,
sign_promise: form.sign_promise,
income_amount: form.income_amount || null,
guardian_name: signExtra.guardian_name || '',
guardian_id_card: signExtra.guardian_id_card || '',
guardian_relation: signExtra.guardian_relation || '',
// #ifdef MP-WEIXIN
mp_env_version: uni.getAccountInfoSync().miniProgram.envVersion || 'release'
// #endif


+ 9
- 1
pages/sign/sign.vue Целия файл

@@ -75,6 +75,11 @@ const onSignatureResult = (data) => {

onLoad((options) => {
signType.value = options.type || 'privacy'
// 回显上次填写的数据
if (options.amount) incomeAmount.value = decodeURIComponent(options.amount)
if (options.guardianName) guardianName.value = decodeURIComponent(options.guardianName)
if (options.guardianIdCard) guardianIdCard.value = decodeURIComponent(options.guardianIdCard)
if (options.guardianRelation) guardianRelation.value = decodeURIComponent(options.guardianRelation)
uni.$on('signatureResult', onSignatureResult)
loadContent()
})
@@ -125,7 +130,10 @@ const confirmSign = async () => {
uni.$emit('signResult', {
type: signType.value,
url: res.data.url,
amount: signType.value === 'income' ? incomeAmount.value : undefined
amount: signType.value === 'income' ? incomeAmount.value : undefined,
guardianName: signType.value === 'privacy_jhr' ? guardianName.value.trim() : undefined,
guardianIdCard: signType.value === 'privacy_jhr' ? guardianIdCard.value.trim() : undefined,
guardianRelation: signType.value === 'privacy_jhr' ? guardianRelation.value.trim() : undefined
})

uni.showToast({ title: '签署成功', icon: 'success' })


Зареждане…
Отказ
Запис