体育活动-福利

This commit is contained in:
=
2025-12-17 18:26:01 +08:00
parent 6351aaba48
commit 58dc4a0d85
5 changed files with 129 additions and 43 deletions
@@ -143,6 +143,32 @@ const optionSelect = {
<div class="confirm-section-title">联系信息</div>
<el-form :model="contactForm" ref="contactForm" :rules="contactRules" label-width="80px">
<el-row :gutter="10">
<el-col :span="20">
<el-form-item v-if="projectInfo.provideMode == 3" prop="receiveAddress"
label="收货地址"
:rules="[{ required: true, message: '请选择收货地址', trigger: 'change' }]">
<el-select v-model="contactForm.receiveAddress" placeholder="请选择收货地址"
style="width: 100%" @change="onAddressChange">
<el-option v-for="item in addressOptions"
:key="item.id"
:label="item.province+ item.city+ item.county+ item.addressDetail"
:value="item.province + item.city + item.county + item.addressDetail">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button @click="openAddress" type="primary">添加地址</el-button>
</el-col>
<el-col :span="24">
<el-form-item prop="userName" label="收货人">
<el-input
v-model="contactForm.userName"
placeholder="请输入收货人"
clearable>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="mobile" label="联系电话">
<el-input
@@ -153,23 +179,11 @@ const optionSelect = {
</el-input>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item v-if="projectInfo.provideMode == 3" prop="receiveAddress"
label="收货地址"
:rules="[{ required: true, message: '请选择收货地址', trigger: 'change' }]">
<el-select v-model="contactForm.receiveAddress" placeholder="请选择收货地址"
style="width: 100%">
<el-option v-for="item in addressOptions"
:key="item.id"
:label="'收货人:'+item.userName + ',联系电话:' + item.tel + ',收货地址:' + item.province+ item.city+ item.county+ item.addressDetail"
:value="'收货人:'+item.userName + ',联系电话:' + item.tel + ',收货地址:' + item.province+ item.city+ item.county+ item.addressDetail">
</el-option>
</el-select>
<el-col :span="24">
<el-form-item prop="sign" label="签字">
<pc-signature v-model="contactForm.userSign"></pc-signature>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button @click="openAddress" type="primary">添加地址</el-button>
</el-col>
</el-row>
@@ -249,10 +263,15 @@ const optionSelect = {
showOptionDetailDialog: false, // 选项详情弹窗
selectedOption: null, // 当前选中的选项
contactForm: {
mobile: "", // 联系电话,
receiveAddress: ""
mobile: "", // 联系电话
receiveAddress: "",
userName: "", // 收货人
userSign: ""
},
contactRules: {
userName: [
{required: true, message: "请输入收货人", trigger: "blur"}
],
mobile: [
{required: true, message: "请输入联系电话", trigger: "blur"},
{
@@ -341,6 +360,22 @@ const optionSelect = {
}
},
methods: {
// 地址选择变更处理
onAddressChange(value) {
if (value) {
const selectedAddress = this.addressOptions.find(item =>
(item.province + item.city + item.county + item.addressDetail) === value
);
if (selectedAddress) {
// 自动填充收货人和电话
this.contactForm.userName = selectedAddress.userName;
this.contactForm.mobile = selectedAddress.tel;
// const data = selectedAddress.province + selectedAddress.city + selectedAddress.county + selectedAddress.addressDetail
// debugger
// this.$set(this.contactForm, "receiveAddress", data)
}
}
},
openAddress() {
this.$refs.addressDialog.dialogVisible = true
this.$refs.addressDialog.formData = {userId: this.userId}
@@ -420,6 +455,8 @@ const optionSelect = {
if (this.projectInfo.provideMode === 3) {
if (this.userSelection.length > 0 && this.userSelection[0].receiveAddress) {
this.contactForm.receiveAddress = this.userSelection[0].receiveAddress
this.contactForm.userName = this.userSelection[0].userName;
this.contactForm.mobile = this.userSelection[0].mobile;
}
}
@@ -470,6 +507,7 @@ const optionSelect = {
selectOptionId: this.selectedRadioId,
selectNum: 1,
mobile: this.contactForm.mobile,
userName: this.contactForm.userName,
receiveAddress: this.contactForm.receiveAddress
}
]
@@ -481,6 +519,7 @@ const optionSelect = {
selectOptionId: option.id,
selectNum: option.selectNum,
mobile: this.contactForm.mobile,
userName: this.contactForm.userName,
receiveAddress: this.contactForm.receiveAddress
}))
}