|
@@ -94,7 +94,8 @@
|
|
|
<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="报名信息" min-width="100" fixed="right">
|
|
|
|
|
|
|
+ <vxe-column title="参会费用" field="joinFee" min-width="100" :formatter="colNoData" />
|
|
|
|
|
+ <vxe-column title="报名信息" min-width="80" fixed="right">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<div class="c-s-p"><u @click="checkRegostrationInfo(row)">查看报名信息</u></div>
|
|
<div class="c-s-p"><u @click="checkRegostrationInfo(row)">查看报名信息</u></div>
|
|
|
</template>
|
|
</template>
|
|
@@ -106,6 +107,21 @@
|
|
|
<div v-else>-</div>
|
|
<div v-else>-</div>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-column>
|
|
</vxe-column>
|
|
|
|
|
+ <vxe-column title="支付方式" field="payType" min-width="100" :formatter="colNoData">
|
|
|
|
|
+ <template #default="{ row }">
|
|
|
|
|
+ <div v-if="row.payType === '1'">微信支付</div>
|
|
|
|
|
+ <div v-if="row.payType === '2'">对公转账</div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </vxe-column>
|
|
|
|
|
+ <vxe-column title="支付状态" field="remark" min-width="100" :formatter="colNoData">
|
|
|
|
|
+ <template #default="{ row }">
|
|
|
|
|
+ {{ selectDictLabel(dm_pay_status, row?.payStatus)}}
|
|
|
|
|
+ <el-tooltip content="系统单号" placement="top" effect="light">
|
|
|
|
|
+ <el-icon v-if="row.payStatus == '1'"><QuestionFilled /></el-icon>
|
|
|
|
|
+ </el-tooltip>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </vxe-column>
|
|
|
|
|
+ <vxe-column title="开票信息" field="remark" min-width="100" :formatter="colNoData" />
|
|
|
<vxe-column title="特殊说明" min-width="100" fixed="right">
|
|
<vxe-column title="特殊说明" min-width="100" fixed="right">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
{{ +row?.tempJoin?'通过临时报名通道报名':'-' }}
|
|
{{ +row?.tempJoin?'通过临时报名通道报名':'-' }}
|
|
@@ -123,10 +139,12 @@
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-column>
|
|
</vxe-column>
|
|
|
- <vxe-column v-if="form?.conditions?.totalCheck == '1'" title="操作" width="250" align="center" fixed="right">
|
|
|
|
|
|
|
+ <vxe-column v-if="form?.conditions?.totalCheck == '1' || form?.meetingCharge?.hasFee == '1'" title="操作" width="250" align="center" fixed="right">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
- <el-button type="danger" size="small" v-if="row?.res !== '0' && row?.signInFlag !=='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'">审核</el-button>
|
|
|
|
|
|
|
+ <el-button type="danger" size="small" v-if="row?.res !== '0' && row?.signInFlag !=='1' && form?.conditions?.totalCheck == '1'&& row?.payStatus == '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'&& row?.payStatus == '1'">审核</el-button>
|
|
|
|
|
+ <el-button v-if="row.payStatus !== '1'" size="small" color="#e99d42" style="color: white" @click="openModification(row)">修改费用金额</el-button>
|
|
|
|
|
+ <el-button v-if="row.payType === '2'" size="small" color="#81b337" style="color: white" @click="openTransfer(row)">确认收到转账</el-button>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-column>
|
|
</vxe-column>
|
|
|
</vxe-table>
|
|
</vxe-table>
|
|
@@ -151,10 +169,33 @@
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
+ <el-dialog v-model="modiFication" title="修改费用金额" width="300" center>
|
|
|
|
|
+ <div class="d-flex a-c">
|
|
|
|
|
+ <span class="flex1" style="white-space: nowrap;">参会费用:</span>
|
|
|
|
|
+ <el-input v-model.number="participationFee" placeholder="请填写费用金额" />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <template #footer>
|
|
|
|
|
+ <div class="dialog-footer">
|
|
|
|
|
+ <el-button @click="modiFication = false">我再看看</el-button>
|
|
|
|
|
+ <el-button type="primary" @click="changeEditPrice">确认修改</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+ <el-dialog v-model="showTransfer" title="系统提示" width="360" center>
|
|
|
|
|
+ <div class="d-flex a-c">
|
|
|
|
|
+ <span>确认收款后将直接改为已支付状态,并进入报名审核流程,操作无法撤回请慎重操作。是否确认收款?</span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <template #footer>
|
|
|
|
|
+ <div class="dialog-footer">
|
|
|
|
|
+ <el-button @click="modiFication = false">我再看看</el-button>
|
|
|
|
|
+ <el-button type="primary" @click="confirmTransfer">确认收到转账</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-dialog>
|
|
|
<registrationInfo v-if="showTemporary" v-model:show="showTemporary" :info="temporaryRegistration"></registrationInfo>
|
|
<registrationInfo v-if="showTemporary" v-model:show="showTemporary" :info="temporaryRegistration"></registrationInfo>
|
|
|
</template>
|
|
</template>
|
|
|
<script setup name="MeetingDetailInfo" lang="ts">
|
|
<script setup name="MeetingDetailInfo" lang="ts">
|
|
|
-import { exportTrainingMembers, signupApproval, signupCount, trainingMembers } from '@/api/training';
|
|
|
|
|
|
|
+import { exportTrainingMembers, signupApproval, signupCount, trainingMembers,editPrice,confirmSigPublicPay} from '@/api/training';
|
|
|
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';
|
|
@@ -162,7 +203,7 @@ import { onMounted, reactive, ref } from 'vue';
|
|
|
import registrationInfo from './registration-info.vue';
|
|
import registrationInfo from './registration-info.vue';
|
|
|
import { AreaCascader } from '@/views/components';
|
|
import { AreaCascader } from '@/views/components';
|
|
|
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 } = toRefs<any>(proxy?.useDict('cpy_res_status', 'lm_signup_status_app_show', 'dm_check_join_type','temp_join_type'));
|
|
|
|
|
|
|
+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 props = defineProps({
|
|
const props = defineProps({
|
|
|
form: {
|
|
form: {
|
|
@@ -185,6 +226,10 @@ const rules = reactive({
|
|
|
const showTemporary = ref(false);
|
|
const showTemporary = ref(false);
|
|
|
const dialogVisible = ref(false);
|
|
const dialogVisible = ref(false);
|
|
|
const temporaryRegistration = ref();
|
|
const temporaryRegistration = ref();
|
|
|
|
|
+const modiFication=ref<any>(false)
|
|
|
|
|
+const showTransfer = ref(false)
|
|
|
|
|
+const participationFee = ref()
|
|
|
|
|
+const editPricedata = ref()
|
|
|
const fromvalue = ref({
|
|
const fromvalue = ref({
|
|
|
targetId: '',
|
|
targetId: '',
|
|
|
msg: ''
|
|
msg: ''
|
|
@@ -221,8 +266,6 @@ const getList = async () => {
|
|
|
const res = await trainingMembers(queryParams.value);
|
|
const res = await trainingMembers(queryParams.value);
|
|
|
if (!res || res.code !== 200) return;
|
|
if (!res || res.code !== 200) return;
|
|
|
list.value = res.rows;
|
|
list.value = res.rows;
|
|
|
- console.log(list.value);
|
|
|
|
|
-
|
|
|
|
|
total.value = res.total;
|
|
total.value = res.total;
|
|
|
loading.value = false;
|
|
loading.value = false;
|
|
|
};
|
|
};
|
|
@@ -250,6 +293,29 @@ const exportSearch = debounce(() => {
|
|
|
delete params.pageSize;
|
|
delete params.pageSize;
|
|
|
exportTrainingMembers(params);
|
|
exportTrainingMembers(params);
|
|
|
}, 500);
|
|
}, 500);
|
|
|
|
|
+// 打开修改金额的按钮
|
|
|
|
|
+const openModification = (row)=>{
|
|
|
|
|
+ modiFication.value = true;
|
|
|
|
|
+ participationFee.value = row.joinFee
|
|
|
|
|
+ editPricedata.value = row
|
|
|
|
|
+}
|
|
|
|
|
+const openTransfer = (row)=>{
|
|
|
|
|
+ showTransfer.value = true
|
|
|
|
|
+ editPricedata.value = row
|
|
|
|
|
+}
|
|
|
|
|
+const confirmTransfer = async()=>{
|
|
|
|
|
+ await confirmSigPublicPay(editPricedata.value?.id)
|
|
|
|
|
+ showTransfer.value = false
|
|
|
|
|
+}
|
|
|
|
|
+const changeEditPrice = async ()=>{
|
|
|
|
|
+ await editPrice({
|
|
|
|
|
+ id:editPricedata.value?.id,
|
|
|
|
|
+ price:participationFee.value
|
|
|
|
|
+ });
|
|
|
|
|
+ modiFication.value = false
|
|
|
|
|
+ getList();
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
getList();
|
|
getList();
|
|
|
getExpertPersonCount();
|
|
getExpertPersonCount();
|
|
@@ -293,4 +359,11 @@ onMounted(() => {
|
|
|
:deep(.reject-radio.el-radio.is-bordered.is-checked) {
|
|
:deep(.reject-radio.el-radio.is-bordered.is-checked) {
|
|
|
border-color: #F56C6C !important;
|
|
border-color: #F56C6C !important;
|
|
|
}
|
|
}
|
|
|
|
|
+.single{
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: -20px;
|
|
|
|
|
+ right: 30px;
|
|
|
|
|
+ width: 200px;
|
|
|
|
|
+ left: 70px;
|
|
|
|
|
+}
|
|
|
</style>
|
|
</style>
|