|
@@ -163,7 +163,6 @@
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
-
|
|
|
|
|
<el-col :span="24">
|
|
<el-col :span="24">
|
|
|
<el-form-item label="是否收取参会费用" prop="meetingCharge.hasFee">
|
|
<el-form-item label="是否收取参会费用" prop="meetingCharge.hasFee">
|
|
|
<div class="d-flex a-c">
|
|
<div class="d-flex a-c">
|
|
@@ -191,20 +190,20 @@
|
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <div class="d-flex flex-cln" v-if="form?.meetingCharge?.hasFee == '1'&& form?.meetingCharge?.hasFlatFee =='1'">
|
|
|
|
|
|
|
+ <div ref="hasFee" class="d-flex flex-cln" v-if="form?.meetingCharge?.hasFee == '1' && form?.meetingCharge?.hasFlatFee == '1'">
|
|
|
<div class="pl-10 pr-10 pt-5 pb-5 border">
|
|
<div class="pl-10 pr-10 pt-5 pb-5 border">
|
|
|
<template v-for="(item, index) in form.meetingCharge.typeCharge" :key="index">
|
|
<template v-for="(item, index) in form.meetingCharge.typeCharge" :key="index">
|
|
|
<div class="d-flex a-c" v-if="checkedVipLevels.some(items => items.vipLevel === item.vipLevel)">
|
|
<div class="d-flex a-c" v-if="checkedVipLevels.some(items => items.vipLevel === item.vipLevel)">
|
|
|
<el-checkbox v-model="item.check" true-value="1" false-value="0" :label="selectDictLabels(dm_check_join_type, item.vipLevel, ',') + '每个单位参会人员'" size="large" />
|
|
<el-checkbox v-model="item.check" true-value="1" false-value="0" :label="selectDictLabels(dm_check_join_type, item.vipLevel, ',') + '每个单位参会人员'" size="large" />
|
|
|
<el-select v-model="item.certType" placeholder="" clearable style="width: 100px" :disabled="!+item.check">
|
|
<el-select v-model="item.certType" placeholder="" clearable style="width: 100px" :disabled="!+item.check">
|
|
|
- <el-option v-for="items in hasPartialFree" :key="items.value" :label="items.label" :value="items.value"/>
|
|
|
|
|
|
|
+ <el-option v-for="items in hasPartialFree" :key="items.value" :label="items.label" :value="items.value" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
<div class="d-flex a-c">
|
|
<div class="d-flex a-c">
|
|
|
<div v-if="item.vipLevel != 'P'" class="pl-10 f-s-14" style="white-space: nowrap;">每个单位免费</div>
|
|
<div v-if="item.vipLevel != 'P'" class="pl-10 f-s-14" style="white-space: nowrap;">每个单位免费</div>
|
|
|
<div v-else class="pl-10 f-s-14" style="white-space: nowrap;">免费</div>
|
|
<div v-else class="pl-10 f-s-14" style="white-space: nowrap;">免费</div>
|
|
|
- <el-input class="pl-10" v-model="item.total" maxlength="20" placeholder="请输入免费人数" style="width: 130px" :disabled="!+item.check || item?.certType !=='1'" />
|
|
|
|
|
|
|
+ <el-input class="pl-10" v-model="item.total" maxlength="20" placeholder="请输入免费人数" style="width: 130px" :disabled="!+item.check || item?.certType !== '1'" />
|
|
|
<div class="f-s-14" style="white-space: nowrap;">人,其余每人收费</div>
|
|
<div class="f-s-14" style="white-space: nowrap;">人,其余每人收费</div>
|
|
|
- <el-input class="pl-10" v-model="item.cost" maxlength="20" placeholder="请输入费用" style="width: 130px" :disabled="!+item.check || item?.certType!=='1'" />
|
|
|
|
|
|
|
+ <el-input class="pl-10" v-model="item.cost" maxlength="20" placeholder="请输入费用" style="width: 130px" :disabled="!+item.check || item?.certType !== '1'" />
|
|
|
<div f-s-14>元</div>
|
|
<div f-s-14>元</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -213,7 +212,6 @@
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
-
|
|
|
|
|
</el-row>
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
@@ -350,6 +348,7 @@ const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
|
const { lm_training_join_type, yes_no, dm_training_cert, dm_check_join_type } = toRefs<any>(proxy?.useDict('lm_training_join_type', 'yes_no', 'dm_training_cert', 'dm_check_join_type'));
|
|
const { lm_training_join_type, yes_no, dm_training_cert, dm_check_join_type } = toRefs<any>(proxy?.useDict('lm_training_join_type', 'yes_no', 'dm_training_cert', 'dm_check_join_type'));
|
|
|
const fields = ref<FieldDefinition[]>([])
|
|
const fields = ref<FieldDefinition[]>([])
|
|
|
const showSignIn = ref(false);
|
|
const showSignIn = ref(false);
|
|
|
|
|
+const hasFee = ref<any>()
|
|
|
const fixedField = ref<FieldDefinition[]>([{
|
|
const fixedField = ref<FieldDefinition[]>([{
|
|
|
name: `ent-${generateSecureRandomString()}`,
|
|
name: `ent-${generateSecureRandomString()}`,
|
|
|
label: '企业名称', type: '1',
|
|
label: '企业名称', type: '1',
|
|
@@ -582,6 +581,18 @@ const rules = reactive({
|
|
|
const formRef = ref();
|
|
const formRef = ref();
|
|
|
const save = debounce(async () => {
|
|
const save = debounce(async () => {
|
|
|
await formRef.value.validate();
|
|
await formRef.value.validate();
|
|
|
|
|
+ if (+form.value?.meetingCharge?.hasFee && +form.value?.meetingCharge?.hasFlatFee) {
|
|
|
|
|
+ form.value.meetingCharge.typeCharge.forEach((i) => {
|
|
|
|
|
+ if (+i.check && +i.certType) {
|
|
|
|
|
+ if (!+i.cost || !+i.total) {
|
|
|
|
|
+ hasFee.value.scrollIntoView({
|
|
|
|
|
+ behavior: 'smooth',
|
|
|
|
|
+ block: 'nearest'
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
form?.value?.conditions?.typeCheck?.forEach(typeItem => {
|
|
form?.value?.conditions?.typeCheck?.forEach(typeItem => {
|
|
|
if (typeItem.check === "0") {
|
|
if (typeItem.check === "0") {
|
|
|
// Update cpyCheck
|
|
// Update cpyCheck
|
|
@@ -643,7 +654,7 @@ const getMeetingDetail = async () => {
|
|
|
meetingCharge: res.data?.meetingCharge || form.value.meetingCharge
|
|
meetingCharge: res.data?.meetingCharge || form.value.meetingCharge
|
|
|
};
|
|
};
|
|
|
fields.value = res.data.questions
|
|
fields.value = res.data.questions
|
|
|
- if(form.value?.meetingCharge.pricing && typeof form.value?.meetingCharge.pricing === 'string'){
|
|
|
|
|
|
|
+ if (form.value?.meetingCharge.pricing && typeof form.value?.meetingCharge.pricing === 'string') {
|
|
|
form.value.meetingCharge.pricing = Number(form.value?.meetingCharge.pricing)
|
|
form.value.meetingCharge.pricing = Number(form.value?.meetingCharge.pricing)
|
|
|
}
|
|
}
|
|
|
form.value?.conditions?.typeCheck?.forEach((i) => {
|
|
form.value?.conditions?.typeCheck?.forEach((i) => {
|