Merge remote-tracking branch 'origin/main'

This commit is contained in:
server
2025-09-22 10:43:13 +08:00
18 changed files with 215 additions and 74 deletions
@@ -40,7 +40,7 @@ layout("/layouts/platform.html"){
</el-table-column>
</el-table-column>
<el-table-column label="流程节点" prop="processInstanceNodeName"></el-table-column>
<el-table-column label="操作" width="200px" fixed="right">
<el-table-column label="操作" width="300px" fixed="right">
<template scope="{row}">
<el-button size="mini" type="primary"
@click="onOpen(row.id)">
@@ -50,6 +50,10 @@ layout("/layouts/platform.html"){
type="primary">
审核
</el-button>
<el-button v-if="$auth.hasPermission('sys.branch.union.authorization.approval.delete')" size="mini"
type="danger" @click="deleteDo(row)">
删除
</el-button>
<!-- <el-button-->
<!-- v-if="row.processInstanceTaskStatus==='COMPLETE' && !row.nextTaskIsComplete"-->
<!-- @click="openRevoke(row.processInstanceTaskId)"-->
@@ -104,10 +108,25 @@ layout("/layouts/platform.html"){
}
},
methods: {
async deleteDo(row) {
const confirm = await this.$confirm("您确定要删除吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
if (confirm === "confirm") {
const resp = await this.$axios.post("/platform/branchUnionUser/authorization/approval/deleteDo", {
id: row.id,
processInstanceId: row.processInstanceId
})
this.$message.success(resp.msg)
this.doSearch()
}
},
onOpen(id) {
this.dialogVisible = true
this.showApprovalForm = false
this.$nextTick(()=>{
this.$nextTick(() => {
this.$refs.infoRef.onOpen(id)
})
},
@@ -116,7 +135,7 @@ layout("/layouts/platform.html"){
this.showApprovalForm = true
this.formData = row.approvalParam
this.formData.approvalOpinion = '同意'
this.$nextTick(()=>{
this.$nextTick(() => {
this.$refs.infoRef.onOpen(row.id)
})
},
@@ -144,7 +163,7 @@ layout("/layouts/platform.html"){
cancelButtonText: "取消",
type: "info"
}).then(() => {
this.$axios.post("/platform/branchUnionUser/authorization/approval/revoke", { taskId }).then((res) => {
this.$axios.post("/platform/branchUnionUser/authorization/approval/revoke", {taskId}).then((res) => {
if (res.code === 0) {
this.$message.success(res.msg)
this.doSearch()
@@ -54,8 +54,7 @@ layout("/layouts/platform.html"){
<el-select v-model="pageForm.activityType" @change="doSearch" style="width: 100%"
placeholder="请选择活动状态" filterable>
<el-option :value="1" label="全部"></el-option>
<el-option :value="4" label="即将开始"></el-option>
<el-option :value="2" label="报名中"></el-option>
<el-option :value="2" label="即将开始 & 报名中"></el-option>
<el-option :value="3" label="已结束"></el-option>
</el-select>
</search-item>
@@ -90,8 +89,13 @@ layout("/layouts/platform.html"){
</el-table-column>
<el-table-column label="操作" width="300">
<template v-slot="{row}">
<el-button @click="onView(row)" size="mini" type="primary">查看介绍</el-button>
<el-button @click="onOpen(row)" size="mini" type="primary">去报名</el-button>
<template v-if="$moment().isBefore($moment(row.activitySignUpEndTime))">
<el-button @click="onView(row)" size="mini" type="primary">查看介绍</el-button>
<el-button @click="onOpen(row)" size="mini" type="primary">去报名</el-button>
</template>
<template v-if="$moment().isAfter($moment(row.activitySignUpEndTime))">
<el-button size="mini" type="info">已结束</el-button>
</template>
</template>
</el-table-column>
</el-table>
@@ -143,7 +147,7 @@ layout("/layouts/platform.html"){
return {
pageForm: {
year: this.$moment().format("YYYY"),
activityType: 4
activityType: 2
},
tableColumns: [
{ label: "活动名称", prop: "activityName", width: 600},
@@ -18,7 +18,7 @@ const clubUserJoin = {
{{viewData.sex}}
</el-descriptions-item>
<el-descriptions-item label="出生年月">
{{viewData.birthday}}
{{$moment(viewData.birthday).format('YYYY-MM-DD')}}
</el-descriptions-item>
<el-descriptions-item label="联系电话">
{{viewData.mobile}}
@@ -131,6 +131,7 @@ const CLUB_INFO_MANAGE_TEMPLATE = {
<el-checkbox label="CLUB_SECRETARY">协会秘书长</el-checkbox>
<el-checkbox label="CLUB_VICE_SECRETARY">协会副秘书长</el-checkbox>
<el-checkbox label="CLUB_OPERATOR">协会操作员</el-checkbox>
<el-checkbox label="CLUB_MEMBER">协会会员</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
@@ -212,6 +212,7 @@ layout("/layouts/platform.html"){
this.$set(this.formData, "unionName", user.union ? user.union.name : null)
this.$set(this.formData, "sex", user.sex)
this.$set(this.formData, "birthday", "${@auth.getPrincipalProperty('birthday'),'yyyy-MM-dd'}")
this.$set(this.formData, "mobile", user.mobile)
this.$set(this.formData, "nation", user.nation)
this.$set(this.formData, "political", user.political)
this.$set(this.formData, "education", user.education)
@@ -316,7 +316,7 @@ layout("/layouts/platform.html"){
if (this.honorTypeList && this.honorLevelList) {
this.$set(this.pageForm, "honorType", this.honorTypeList[0].id)
this.$set(this.pageForm, "queryTypeCode", this.honorTypeList[0].queryTypeCode)
this.honorPrizeList = await this.getHonorPrize(this.formData.honorType)
this.honorPrizeList = await this.getHonorPrize(this.pageForm.honorType)
console.log(this.pageForm)
}
},
@@ -24,6 +24,11 @@ layout("/layouts/platform_h5.html"){
.van-count-down {
color: #fff;
}
.item-header .van-tag {
font-size: 12px;
padding: 3px 6px;
border-radius: 6px;
}
</style>
<div id="app">
@@ -40,10 +45,25 @@ layout("/layouts/platform_h5.html"){
<table-list api="/platform/family/apply/activityPageData"
:page_form.sync="pageForm"
ref="tableListRef"
title="activityName"
img="cover"
@ready="onReady"
>
<template #header="{index,row}">
<div class="item-header">
<div class="item-title">{{ row.activityName }}</div>
<div>
<van-tag type="primary" v-if="$moment().isBefore($moment(row.activitySignUpStartTime))">
即将开始
</van-tag>
<van-tag type="success" v-if="$moment().isAfter($moment(row.activitySignUpStartTime)) && $moment().isBefore($moment(row.activitySignUpEndTime))">
进行中
</van-tag>
<van-tag class="grey" v-if="$moment().isAfter($moment(row.activitySignUpEndTime))">
已结束
</van-tag>
</div>
</div>
</template>
<template v-slot="{index,row}">
<table-column label="面向对象">{{row.activityGroupName}}</table-column>
<table-column label="报名时间">
@@ -54,14 +74,16 @@ layout("/layouts/platform_h5.html"){
</table-column>
</template>
<template #actions="{index,row}">
<div class="action-btn" @click="onView(row)">
<i class="fa fa-eye"></i>
<span>查看介绍</span>
</div>
<div class="action-btn" @click="onApply(row)">
<i class="fa fa-edit"></i>
<span>去报名</span>
</div>
<template v-if="$moment().isBefore($moment(row.activitySignUpEndTime))">
<div class="action-btn" @click="onView(row)">
<i class="fa fa-eye"></i>
<span>查看介绍</span>
</div>
<div class="action-btn" @click="onApply(row)">
<i class="fa fa-edit"></i>
<span>去报名</span>
</div>
</template>
</template>
</table-list>
@@ -105,12 +127,11 @@ layout("/layouts/platform_h5.html"){
totalCount: 0,
searchKeyword: '',
year: new Date().getFullYear(),
activityType: 4,
activityType: 2,
},
typeOptions: [
{text: '全部', value: 1},
{text: '即将开始', value: 4},
{text: '报名中', value: 2},
{text: '即将开始 & 报名中', value: 2},
{text: '已结束', value: 3},
],
infoVisible: false,
@@ -125,6 +125,7 @@ layout("/layouts/platform_h5.html"){
return {
list: [],
id: GetQueryString("id"),
H5JumpTo: GetQueryString("H5JumpTo"),
subjects: [],
activity: {},
// remainingTime: 0,
@@ -161,8 +162,23 @@ layout("/layouts/platform_h5.html"){
this.activity = res.data.activity
this.subjects = res.data.subjects
this.answerRecordId = res.data.answerRecordId
this.checkGroupPermission()
this.getAnswerRecord()
debugger
if (!this.H5JumpTo && this.activity.repeatable && res.data.repeatTips){
// 如果是可重复答题,第二次答题进来弹出提示
vant.Dialog.confirm({
title: '温馨提示',
message: '您已完成本次答题,是否要重新答题?',
confirmButtonText: '重新答题',
cancelButtonText: '查看答题记录',
}).then(() => {
this.getAnswerRecord()
}).catch(() => {
pjaxReplace("/platform/h5/qsv/quiz/result?answerRecordId=" + this.answerRecordId)
});
} else {
this.getAnswerRecord()
}
}
})
},
@@ -208,6 +208,7 @@ layout("/layouts/platform_h5.html"){
</div>
<div class="button-control">
<van-button v-if="canAgainQuestion" type="primary" @click="againQuestion" block>重新答题</van-button>
<van-button type="primary" @click="openHistory" block>查看全部答题记录</van-button>
</div>
</div>
@@ -239,7 +240,9 @@ layout("/layouts/platform_h5.html"){
activity: {},
list: [],
historyShow: false,
historyList: []
historyList: [],
canAgainQuestion: false
}
},
computed: {
@@ -268,12 +271,26 @@ layout("/layouts/platform_h5.html"){
}
},
methods: {
/**
* 重新答题
*/
againQuestion() {
vant.Dialog.confirm({
title: '温馨提示',
message: '确定要重新答题吗?',
}).then(() => {
pjaxReplace('/platform/h5/qsv/quiz?id=' + this.activity.id + "&H5JumpTo=true")
}).catch(() => {
// on cancel
});
},
getAnswerResult() {
this.$axios.post("/platform/h5/qsv/quiz/answerResult", { answerRecordId: this.answerRecordId }).then((res) => {
if (res.code === 0) {
this.subjects = res.data.subjects
this.activity = res.data.activity
this.getAnswerRecord()
this.getHistoryQuestion()
}
})
},
@@ -317,6 +334,16 @@ layout("/layouts/platform_h5.html"){
this.historyList = res.data
}
})
},
getHistoryQuestion() {
$.post("/platform/h5/qsv/quiz/historyScore", { activityId: this.activity.id }).then((res) => {
if (res.code === 0) {
this.historyList = res.data
if (this.activity.maxAttempts > res.data.length) {
this.canAgainQuestion = true
}
}
})
}
},
created() {
@@ -261,6 +261,8 @@ layout("/layouts/platform_h5.html"){
this.formData.loginName = user.loginname;
this.formData.unitName = user.unit ? user.unit.name : null;
this.formData.unionName = user.union ? user.union.name : null;
this.formData.birthday = this.$moment(user.birthday).format('YYYY-MM-DD');
this.formData.mobile = user.mobile;
this.formData.sex = user.sex;
this.formData.education = user.education;
this.formData.technicalTitle = user.technicalTitle;