This commit is contained in:
2025-12-16 20:57:55 +08:00
parent f5b642c252
commit 74970eacb5
12 changed files with 422 additions and 167 deletions
@@ -38,6 +38,12 @@ const selectView = {
<div class="info-item">
<div class="info-label">联系电话</div>
<div class="info-value">{{ mergedSelections[0]?.mobile || '暂无' }}</div>
</div>
<div class="info-item">
<div class="info-label">收货地址</div>
<div class="info-value">{{ mergedSelections[0]?.receiveAddress || '暂无' }}</div>
</div>
</div>
</div>
@@ -1,3 +1,4 @@
<!--#include("../addressManage/addressDialog.js"){}#-->
const optionSelect = {
template: /*language=HTML*/ `
<div class="welfare-select-container" v-if="projectInfo.id">
@@ -23,9 +24,9 @@ const optionSelect = {
<i class="el-icon-info"></i>
<span>项目信息</span>
</div>
<div class="project-cover" v-if="projectInfo.cover">
<el-image :src="projectInfo.cover" fit="cover"></el-image>
</div>
<!-- <div class="project-cover" v-if="projectInfo.cover">
<el-image :src="projectInfo.cover" fit="cover"></el-image>
</div>-->
<div class="welfare-info-content">
<div class="info-item">
<div class="info-label">项目名称</div>
@@ -133,7 +134,7 @@ const optionSelect = {
<el-dialog
title="确认选择"
:visible.sync="showConfirmDialog"
width="500px"
width="60%"
append-to-body
custom-class="welfare-confirm-dialog">
<div class="confirm-content">
@@ -141,25 +142,37 @@ const optionSelect = {
<div class="confirm-mobile-section">
<div class="confirm-section-title">联系信息</div>
<el-form :model="contactForm" ref="contactForm" :rules="contactRules" label-width="80px">
<el-form-item prop="mobile" label="联系电话">
<el-input
v-model="contactForm.mobile"
placeholder="请输入手机号码"
maxlength="11"
clearable>
</el-input>
</el-form-item>
<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-form-item>
<el-row :gutter="10">
<el-col :span="24">
<el-form-item prop="mobile" label="联系电话">
<el-input
v-model="contactForm.mobile"
placeholder="请输入手机号码"
maxlength="11"
clearable>
</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-form-item>
</el-col>
<el-col :span="4">
<el-button @click="openAddress" type="primary">添加地址</el-button>
</el-col>
</el-row>
</el-form>
</div>
@@ -217,6 +230,8 @@ const optionSelect = {
<el-button type="primary" :loading="isSubmitting" @click="doSubmit">{{ hasSubmittedBefore ? '确认修改' : '确认提交' }}</el-button>
</span>
</el-dialog>
<address-dialog ref="addressDialog" @select_user_address="getAddress"></address-dialog>
</div>
`,
store,
@@ -250,6 +265,9 @@ const optionSelect = {
addressOptions: []
}
},
components: {
"address-dialog": ADDRESS_DIALOG
},
computed: {
// 是否有选择
hasSelection() {
@@ -323,6 +341,10 @@ const optionSelect = {
}
},
methods: {
openAddress() {
this.$refs.addressDialog.dialogVisible = true
this.$refs.addressDialog.formData = {userId: this.userId}
},
// 打开选择项目弹窗 userId为null默认则是本人
onOpen(projectId, userId = null) {
this.projectId = projectId
@@ -75,6 +75,10 @@ layout("/layouts/platform.html"){
<el-button type="primary" size="small" icon="el-icon-download" style="margin-left: 10px" @click="exportXlsx">
导出选择情况表
</el-button>
<el-button type="primary" size="small" icon="el-icon-download" style="margin-left: 10px" @click="receiveXlsx">
导出领取表
</el-button>
</table-tool>
<el-table
@@ -195,6 +199,11 @@ layout("/layouts/platform.html"){
this.$downLoad("/platform/welfare/selection/situation/exportXlsx", { pageForm: JSON.stringify(this.pageForm) })
},
// 导出选择情况表
receiveXlsx() {
this.$downLoad("/platform/welfare/selection/situation/receiveXlsx", { pageForm: JSON.stringify(this.pageForm) })
},
// 管理员待选
proxySelect(row) {
this.optionSelectVisible = true