This commit is contained in:
@jyuhsin
2025-06-03 11:47:23 +08:00
parent 19982cb0cf
commit 5a15b9dd71
8 changed files with 42 additions and 21 deletions
@@ -120,9 +120,9 @@ public class TheRapyRecuperationLine extends BaseModel {
private Integer estimatedFamilyNumbers;
@Column
@ColDefine(type = ColType.MYSQL_JSON)
@ColDefine(type = ColType.VARCHAR, width = 100)
@Comment("缩略图")
private List<Sys_file> files;
private String files;
@Column
@ColDefine(type = ColType.INT)
@@ -75,9 +75,9 @@ public class TheRapyRecuperationTravelAgency extends BaseModel {
private boolean isDisabled;
@Column
@ColDefine(type = ColType.MYSQL_JSON)
@ColDefine(type = ColType.VARCHAR, width = 100)
@Comment("缩略图")
private List<Sys_file> files;
private String files;
@Column
@ColDefine(type = ColType.MYSQL_JSON)
@@ -637,6 +637,23 @@ public class TheRapyRecuperationEnrollServiceImpl extends ViServiceImpl<TheRapyR
if (Lang.isNotEmpty(threeYearOutMapList)) {
return Map.of(false, "近三年内您已参加过省外线路,不能再次报名");
}
//获取今年的所有线路
List<TheRapyRecuperationLine> lineList = dao().query(TheRapyRecuperationLine.class, Cnd.where("year", "=", DateUtil.thisYear())
.and("isDisabled", "=", false));
List<String> lineIds = lineList.stream().map(TheRapyRecuperationLine::getId).collect(Collectors.toList());
//获取这些线路在选择表中的选择id,因为报名表存的是选择id
List<TheRapyRecuperationLineUnionSelect> selectList = dao().query(TheRapyRecuperationLineUnionSelect.class, Cnd.where("lineId", "in", lineIds));
List<String> selectIds = selectList.stream().map(TheRapyRecuperationLineUnionSelect::getId).collect(Collectors.toList());
//获取这些省外线路的总报名人数
List<TheRapyRecuperationEnroll> enrollList = dao().query(TheRapyRecuperationEnroll.class, Cnd.where("takePartInLineId", "in", selectIds)
.and("isNormal", "=", true).and("signingUptime", "=", DateUtil.thisYear())
.and("stateId", "not in", Lang.array(TheRapyRecuperationState.UNITFAIL, TheRapyRecuperationState.LINEUNITFAIL, TheRapyRecuperationState.SCHOOLFAIL)));
//活动范围总人数
List<ActivityUserScope> userScopes = dao().query(ActivityUserScope.class, Cnd.where("groupId", "=", config.getActivityGroupId()));
int result = (int) Math.floor((double) userScopes.size() / 3);
if (enrollList.size() >= result) {
return Map.of(false, "已报人数超过三分之一,不能报名");
}
}
}
}
@@ -839,17 +839,20 @@ layout("/mobile/platform.html"){
pdfh5 = new Pdfh5('#demo', {
pdfurl: href,
})
this.readPDFPicture(pdfh5)
})
}catch (e) {
this.isPdf = true
//document.addEventListener('click', (event) => this.handleClick(event, [], []))
}
this.$nextTick(() => {
this.readPDFPicture(pdfh5)
})
},
mounted() {
//window.addEventListener('scroll', this.scrollToTop)
},
destroyed() {
beforeDestroy() {
//window.removeEventListener('scroll', this.scrollToTop)
},
})
@@ -522,6 +522,7 @@ layout("/layouts/platform.html"){
baseContactNumber: '',
weekIn: 1,
allowDay: [],
travelAgencyPlace: '',
},
tableColumns: [
{label: '年度', prop: 'year', sortable: true},
@@ -261,7 +261,7 @@ layout("/layouts/platform.html"){
<el-col :md="12" :sm="24" :xs="24">
<el-form-item label="成团类型" prop="groupType">
<el-select v-model="formData.groupType" style="width: 100%" @change="groupTypeChange" placeholder="请选择成团类型">
<el-option label="常规团" :value="1"></el-option>
<el-option v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" label="常规团" :value="1"></el-option>
<el-option label="精品团" :value="2"></el-option>
</el-select>
</el-form-item>
@@ -390,11 +390,11 @@ layout("/layouts/platform.html"){
<el-row :gutter="20">
<el-col :md="24" :sm="24" :xs="24">
<el-form-item label="移动端缩略图" prop="files">
<file-upload :files.sync="formData.files"
picture_card
:max="1"
:type="['jpg', 'jpeg', 'png']"
></file-upload>
<image-Upload ref="imageUpload" :height="100"
:width="100" :limit="1"
:file-type="['png','jpg']"
:file-size="10"
v-model="formData.files"></image-Upload>
</el-form-item>
</el-col>
</el-row>
@@ -595,7 +595,7 @@ layout("/layouts/platform.html"){
signUpStartTime: null,
signUpEndTime: null,
changeEndTime: null,
files: [],
files: null,
signUpMode: null,
createMode: null,
playStartTime: null,
@@ -190,11 +190,11 @@ layout("/layouts/platform.html"){
<el-row :gutter="20">
<el-col :md="24" :sm="24" :xs="24">
<el-form-item label="移动端缩略图" prop="files">
<file-upload :files.sync="formData.files"
picture_card
:max="1"
:type="['jpg', 'jpeg', 'png']"
></file-upload>
<image-Upload ref="imageUpload" :height="100"
:width="100" :limit="1"
:file-type="['png','jpg']"
:file-size="10"
v-model="formData.files"></image-Upload>
</el-form-item>
</el-col>
</el-row>
@@ -359,7 +359,7 @@ layout("/layouts/platform.html"){
<el-form-item :prop="'times.' + $index + '.contact'"
:rules="{required:true,message:'联系人',trigger:['change','blur']}"
label-width="0">
<el-input clearable maxlength="10" v-model="row.contact"></el-input>
<el-input placeholder="请输入联系人" clearable maxlength="10" v-model="row.contact"></el-input>
</el-form-item>
</el-descriptions-item>
@@ -374,7 +374,7 @@ layout("/layouts/platform.html"){
{ pattern: /^1[34578]\d{9}$/, message: '手机号码格式不正确', trigger: 'blur' }
]"
label-width="0">
<el-input clearable maxlength="11" v-model="row.contactPhone"></el-input>
<el-input placeholder="请输入联系方式" clearable maxlength="11" v-model="row.contactPhone"></el-input>
</el-form-item>
</el-descriptions-item>
@@ -405,7 +405,7 @@ layout("/layouts/platform.html"){
<el-form-item :prop="'times.' + $index + '.estimatedCost'"
:rules="{required:true,message:'预计费用',trigger:['change','blur']}"
label-width="0">
<el-input clearable v-model="row.estimatedCost"></el-input>
<el-input placeholder="请输入预计费用" clearable v-model="row.estimatedCost"></el-input>
</el-form-item>
</el-descriptions-item>