|
@@ -71,7 +71,7 @@
|
|
|
<div class="d-flex mb-16 ">
|
|
<div class="d-flex mb-16 ">
|
|
|
<div class="info-title">
|
|
<div class="info-title">
|
|
|
<span>参会人员信息</span>
|
|
<span>参会人员信息</span>
|
|
|
- <span class="f-s-14 c-666">(提交报名:{{ form?.submitCount || 0 }}人 | 已缴费:{{ form?.payCount || 0 }} 人 | 审核通过:{{ form?.joinCount || 0 }}人 | 签到:{{ form?.signCount || 0 }}人 | 领取证书:{{ form?.certCount || 0 }}人)</span>
|
|
|
|
|
|
|
+ <span class="f-s-14 c-666">(提交报名:{{ form?.submitCount || 0 }}人 | 已缴费:{{ form?.payCount || 0 }} 人 |待审核:{{ form?.resWaitingCount }} 审核通过:{{ form?.joinCount || 0 }}人 | 签到:{{ form?.signCount || 0 }}人 | 领取证书:{{ form?.certCount || 0 }}人)</span>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="d-flex j-sb">
|
|
<div class="d-flex j-sb">
|
|
@@ -142,19 +142,24 @@
|
|
|
<!-- <vxe-column title="职务" field="position" min-width="100" :formatter="colNoData" /> -->
|
|
<!-- <vxe-column title="职务" field="position" min-width="100" :formatter="colNoData" /> -->
|
|
|
<vxe-column title="联系方式" field="contact" min-width="100" :formatter="colNoData" />
|
|
<vxe-column title="联系方式" field="contact" min-width="100" :formatter="colNoData" />
|
|
|
<vxe-column title="备注" field="remark" min-width="100" :formatter="colNoData" />
|
|
<vxe-column title="备注" field="remark" min-width="100" :formatter="colNoData" />
|
|
|
- <vxe-column title="参会费用" field="joinFee" min-width="100" :formatter="colNoData" v-if="form?.meetingCharge?.hasFee =='1'" />
|
|
|
|
|
|
|
+ <vxe-column title="参会费用" field="joinFee" min-width="100" :formatter="colNoData" v-if="form?.meetingCharge?.hasFee =='1'">
|
|
|
|
|
+ <template #default="{ row }">
|
|
|
|
|
+ <div class="f-w-5">{{ row?.joinFee }}</div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </vxe-column>
|
|
|
<vxe-column title="支付方式" field="payType" min-width="100" :formatter="colNoData" v-if="form?.meetingCharge?.hasFee =='1'">
|
|
<vxe-column title="支付方式" field="payType" min-width="100" :formatter="colNoData" v-if="form?.meetingCharge?.hasFee =='1'">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- <div v-if="row.payType === '1'">微信支付</div>
|
|
|
|
|
- <div v-if="row.payType === '2'">对公转账</div>
|
|
|
|
|
|
|
+ <div v-if="row.payType === '1'" class="f-w-5">微信支付</div>
|
|
|
|
|
+ <div v-if="row.payType === '2'" class="f-w-5">对公转账</div>
|
|
|
<div v-if="row?.payType !=='1'&& row?.payType !=='2'">-</div>
|
|
<div v-if="row?.payType !=='1'&& row?.payType !=='2'">-</div>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-column>
|
|
</vxe-column>
|
|
|
<vxe-column title="开票信息" field="remark" min-width="100" :formatter="colNoData" v-if="form?.meetingCharge?.hasFee =='1'">
|
|
<vxe-column title="开票信息" field="remark" min-width="100" :formatter="colNoData" v-if="form?.meetingCharge?.hasFee =='1'">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- <div v-if="row.payStatus == '1'&& !+row?.invoiceStatus && +row?.hasInvoice" @click="checkInvoiceData(row.invoiceInfo)" class="pointer">查看</div>
|
|
|
|
|
- <div v-if="row.payStatus == '1' && +row?.invoiceStatus && +row?.hasInvoice" @click="checkInvoiceData(row.invoiceInfo)" class="pointer" style="color: red;">已开票,点击查看</div>
|
|
|
|
|
- <div v-if="!+row?.hasInvoice">{{ '不需要' }}</div>
|
|
|
|
|
|
|
+ <div v-if="row.payStatus == '1'&& !+row?.invoiceStatus && +row?.hasInvoice" @click="checkInvoiceData(row?.invoiceInfo)" class="pointer">查看</div>
|
|
|
|
|
+ <div v-if="row.payStatus == '1' && +row?.invoiceStatus && +row?.hasInvoice" @click="openPDF(row?.invoiceUrl?.url)" class="pointer" style="color: red;">已开票,点击查看</div>
|
|
|
|
|
+ <div v-if="row?.payStatus == '0'">{{ '-' }}</div>
|
|
|
|
|
+ <div v-if="row?.payStatus !== '0' &&!+row?.hasInvoice">{{ '不需要' }}</div>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-column>
|
|
</vxe-column>
|
|
|
<vxe-column title="报名时间" align="center" field="createTime" min-width="100" :formatter="colNoData" />
|
|
<vxe-column title="报名时间" align="center" field="createTime" min-width="100" :formatter="colNoData" />
|
|
@@ -165,7 +170,7 @@
|
|
|
</vxe-column>
|
|
</vxe-column>
|
|
|
<vxe-column title="支付状态" field="payStatus" min-width="100" :formatter="colNoData" v-if="form?.meetingCharge?.hasFee =='1'">
|
|
<vxe-column title="支付状态" field="payStatus" min-width="100" :formatter="colNoData" v-if="form?.meetingCharge?.hasFee =='1'">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- {{ selectDictLabel(dm_pay_status, row?.payStatus)}}
|
|
|
|
|
|
|
+ <div class="f-w-5">{{ selectDictLabel(dm_pay_status, row?.payStatus)}}</div>
|
|
|
<el-tooltip :content="`系统单号${row?.outTradeNo}`" placement="top" effect="light">
|
|
<el-tooltip :content="`系统单号${row?.outTradeNo}`" placement="top" effect="light">
|
|
|
<el-icon v-if="row.payStatus == '1'"><QuestionFilled /></el-icon>
|
|
<el-icon v-if="row.payStatus == '1'"><QuestionFilled /></el-icon>
|
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
@@ -196,18 +201,18 @@
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-column>
|
|
</vxe-column>
|
|
|
- <vxe-column v-if="form?.conditions?.totalCheck == '1' || form?.meetingCharge?.hasFee == '1'" title="操作" width="180" align="center" fixed="right">
|
|
|
|
|
|
|
+ <vxe-column v-if="form?.conditions?.totalCheck == '1' || form?.meetingCharge?.hasFee == '1'" title="操作" width="260" align="center" fixed="right">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<el-button type="danger" size="small" v-if="row?.res !== '0' && row?.signInFlag !=='1' && form?.conditions?.totalCheck == '1'&& row?.payStatus == '1' && form?.meetingCharge?.hasFee !== '1'" @click="openDialog(row)" style="color: white">重审</el-button>
|
|
<el-button type="danger" size="small" v-if="row?.res !== '0' && row?.signInFlag !=='1' && form?.conditions?.totalCheck == '1'&& row?.payStatus == '1' && form?.meetingCharge?.hasFee !== '1'" @click="openDialog(row)" style="color: white">重审</el-button>
|
|
|
<el-button size="small" color="#33aeeb" @click="openDialog(row)" style="color: white" v-if="row?.res == '0' && form?.conditions?.totalCheck == '1' &&form?.trainingStatus !== '2'">审核</el-button>
|
|
<el-button size="small" color="#33aeeb" @click="openDialog(row)" style="color: white" v-if="row?.res == '0' && form?.conditions?.totalCheck == '1' &&form?.trainingStatus !== '2'">审核</el-button>
|
|
|
<el-button v-if="row.res=='3' || row.res== '5'" size="small" color="#e99d42" style="color: white" @click="openModification(row)">修改费用金额</el-button>
|
|
<el-button v-if="row.res=='3' || row.res== '5'" size="small" color="#e99d42" style="color: white" @click="openModification(row)">修改费用金额</el-button>
|
|
|
<el-button v-if="row.res== '5' && row?.payType=='2'" size="small" color="#81b337" style="color: white" @click="openTransfer(row)">确认收到转账</el-button>
|
|
<el-button v-if="row.res== '5' && row?.payType=='2'" size="small" color="#81b337" style="color: white" @click="openTransfer(row)">确认收到转账</el-button>
|
|
|
- <div v-if="row.payStatus == '1' && row?.res == '0'&& form?.trainingStatus == '2'">用户报名未成功,请至微信商户号进行退款</div>
|
|
|
|
|
|
|
+ <div v-if="row.payStatus == '1' && (row?.res == '0'|| row?.res == '2') && form?.trainingStatus == '2' && !+row?.joinFee && row.payStatus !== '10'">用户报名未成功,请至微信商户号进行退款</div>
|
|
|
<div v-if="row.payStatus === '10'">该报名已退款</div>
|
|
<div v-if="row.payStatus === '10'">该报名已退款</div>
|
|
|
- <el-upload v-if="form?.trainingStatus == '2' && +row.joinFee && +row?.hasInvoice && !+row?.invoiceStatus && row.payType !== '10' &&form?.meetingCharge?.hasFee =='1' && row?.res !== '0' && row?.res !== '2'" class="upload-demo" :action="uploadFileUrl" multiple :limit="1" :on-success="handleSuccess" :headers="headers" :show-file-list="false" accept=".pdf,.PDF">
|
|
|
|
|
|
|
+ <el-upload v-if="form?.trainingStatus == '2' && +row.joinFee && +row?.hasInvoice && !+row?.invoiceStatus && row.payStatus == '1' &&form?.meetingCharge?.hasFee =='1' && row?.res !== '0' && row?.res !== '2'" class="upload-demo" :action="uploadFileUrl" multiple :limit="1" :on-success="handleSuccess" :headers="headers" :show-file-list="false" accept=".pdf,.PDF">
|
|
|
<el-button size="small" color="#33aeeb" style="color: white" @click=" invoiceId = row.id">上传发票</el-button>
|
|
<el-button size="small" color="#33aeeb" style="color: white" @click=" invoiceId = row.id">上传发票</el-button>
|
|
|
</el-upload>
|
|
</el-upload>
|
|
|
- <el-upload v-if="form?.trainingStatus == '2' && +row.joinFee && +row?.hasInvoice && +row?.invoiceStatus && row.payType !== '10' &&form?.meetingCharge?.hasFee =='1'&& row?.res !== '0' && row?.res !== '2'" class="upload-demo" :action="uploadFileUrl" multiple :limit="1" :on-success="handleSuccess" :headers="headers" :show-file-list="false" accept=".pdf,.PDF">
|
|
|
|
|
|
|
+ <el-upload v-if="form?.trainingStatus == '2' && +row.joinFee && +row?.hasInvoice && +row?.invoiceStatus && row.payStatus == '1' &&form?.meetingCharge?.hasFee =='1'&& row?.res !== '0' && row?.res !== '2'" class="upload-demo" :action="uploadFileUrl" multiple :limit="1" :on-success="handleSuccess" :headers="headers" :show-file-list="false" accept=".pdf,.PDF">
|
|
|
<el-button type="primary" color="#33aeeb" style="color: white" @click=" invoiceId = row.id">重新上传</el-button>
|
|
<el-button type="primary" color="#33aeeb" style="color: white" @click=" invoiceId = row.id">重新上传</el-button>
|
|
|
</el-upload>
|
|
</el-upload>
|
|
|
</template>
|
|
</template>
|
|
@@ -291,10 +296,11 @@ import { exportTrainingMembers, signupApproval, signupCount, trainingMembers,edi
|
|
|
import { colNoData } from '@/utils/noData';
|
|
import { colNoData } from '@/utils/noData';
|
|
|
import { searchTabs } from '@/views/models';
|
|
import { searchTabs } from '@/views/models';
|
|
|
import { debounce } from 'lodash';
|
|
import { debounce } from 'lodash';
|
|
|
-import { onMounted, reactive, ref } from 'vue';
|
|
|
|
|
|
|
+import { onMounted, reactive, ref ,ComponentPublicInstance} from 'vue';
|
|
|
import registrationInfo from './registration-info.vue';
|
|
import registrationInfo from './registration-info.vue';
|
|
|
import { AreaCascader } from '@/views/components';
|
|
import { AreaCascader } from '@/views/components';
|
|
|
import { globalHeaders } from '@/utils/request';
|
|
import { globalHeaders } from '@/utils/request';
|
|
|
|
|
+import { isWindow } from 'element-plus/es/utils';
|
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
|
const { cpy_res_status, lm_signup_status_app_show, dm_check_join_type,temp_join_type,dm_pay_status } = toRefs<any>(proxy?.useDict('cpy_res_status', 'lm_signup_status_app_show', 'dm_check_join_type','temp_join_type','dm_pay_status'));
|
|
const { cpy_res_status, lm_signup_status_app_show, dm_check_join_type,temp_join_type,dm_pay_status } = toRefs<any>(proxy?.useDict('cpy_res_status', 'lm_signup_status_app_show', 'dm_check_join_type','temp_join_type','dm_pay_status'));
|
|
|
// 获取详情
|
|
// 获取详情
|
|
@@ -432,6 +438,9 @@ const handleSuccess = async(res,uploadFile)=>{
|
|
|
})
|
|
})
|
|
|
getList();
|
|
getList();
|
|
|
}
|
|
}
|
|
|
|
|
+const openPDF = (url)=>{
|
|
|
|
|
+ window.open(url)
|
|
|
|
|
+}
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
getList();
|
|
getList();
|
|
|
getExpertPersonCount();
|
|
getExpertPersonCount();
|