This commit is contained in:
2025-12-23 16:00:40 +08:00
11 changed files with 71 additions and 27 deletions
@@ -8,6 +8,7 @@ import com.budwk.app.base.annotation.SLog;
import com.budwk.app.base.page.Pagination; import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.param.PageForm; import com.budwk.app.base.param.PageForm;
import com.budwk.app.base.result.Result; import com.budwk.app.base.result.Result;
import com.budwk.app.flow.engine.FlowEngine;
import com.budwk.app.zhgh.dayofficework.outlay.activityBudget.models.ActivityBudget; import com.budwk.app.zhgh.dayofficework.outlay.activityBudget.models.ActivityBudget;
import com.budwk.app.zhgh.dayofficework.outlay.activityBudget.models.ActivityBudgetDetails; import com.budwk.app.zhgh.dayofficework.outlay.activityBudget.models.ActivityBudgetDetails;
import com.budwk.app.zhgh.dayofficework.outlay.activityBudget.service.ActivityBudgetService; import com.budwk.app.zhgh.dayofficework.outlay.activityBudget.service.ActivityBudgetService;
@@ -45,7 +46,8 @@ public class ActivityBudgetApplyListController {
@Inject @Inject
private ActivityBudgetService activityBudgetService; private ActivityBudgetService activityBudgetService;
@Inject
private FlowEngine flowEngine;
@At("") @At("")
@Ok("beetl:/platform/zhgh/dayofficework/outlay/activityBudget/applyList/index.html") @Ok("beetl:/platform/zhgh/dayofficework/outlay/activityBudget/applyList/index.html")
@@ -53,7 +55,6 @@ public class ActivityBudgetApplyListController {
public void index() { public void index() {
} }
@At @At
@ApiOperation("分页查询") @ApiOperation("分页查询")
@SaCheckPermission("activity.budget.applyList") @SaCheckPermission("activity.budget.applyList")
@@ -72,6 +73,10 @@ public class ActivityBudgetApplyListController {
if (ObjectUtil.isNotEmpty(ids)) { if (ObjectUtil.isNotEmpty(ids)) {
activityBudgetService.clear(Cnd.where("id", "in", ids)); activityBudgetService.clear(Cnd.where("id", "in", ids));
activityBudgetService.dao().clear(ActivityBudgetDetails.class, Cnd.where("budgetId", "in", ids)); activityBudgetService.dao().clear(ActivityBudgetDetails.class, Cnd.where("budgetId", "in", ids));
for (String id : ids) {
flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(id);
}
} }
return Result.success(); return Result.success();
} }
@@ -84,6 +89,8 @@ public class ActivityBudgetApplyListController {
public Result doDelete(String id) { public Result doDelete(String id) {
activityBudgetService.dao().delete(ActivityBudget.class, id); activityBudgetService.dao().delete(ActivityBudget.class, id);
activityBudgetService.dao().clear(ActivityBudgetDetails.class, Cnd.where("budgetId", "=", id)); activityBudgetService.dao().clear(ActivityBudgetDetails.class, Cnd.where("budgetId", "=", id));
flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(id);
return Result.success(); return Result.success();
} }
@@ -7,6 +7,7 @@ import com.budwk.app.base.param.PageForm;
import com.budwk.app.base.result.Result; import com.budwk.app.base.result.Result;
import com.budwk.app.base.service.BaseService; import com.budwk.app.base.service.BaseService;
import com.budwk.app.zhgh.democratic.teachercongress.meetings.models.Teacher_congress_meeting; import com.budwk.app.zhgh.democratic.teachercongress.meetings.models.Teacher_congress_meeting;
import com.budwk.app.zhgh.democratic.teachercongress.meetings.models.Teacher_congress_meeting_file;
import org.nutz.aop.interceptor.ioc.TransAop; import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.dao.Cnd; import org.nutz.dao.Cnd;
import org.nutz.dao.Dao; import org.nutz.dao.Dao;
@@ -72,7 +72,7 @@ public class WelfareUserSelectController {
cnd.andEX("YEAR(wp.choiceTimeStart)", "in", year); cnd.andEX("YEAR(wp.choiceTimeStart)", "in", year);
cnd.and("wp.isDisabled", "=", 0); cnd.and("wp.isDisabled", "=", 0);
cnd.groupBy("wp.id"); cnd.groupBy("wp.id");
cnd.desc("YEAR(wp.choiceTimeStart)"); cnd.desc("wp.choiceTimeStart");
sql.setCondition(cnd); sql.setCondition(cnd);
Pagination pagination = welfareProjectService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); Pagination pagination = welfareProjectService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
return Result.success(pagination); return Result.success(pagination);
@@ -104,7 +104,7 @@ layout("/layouts/platform.html"){
<el-button v-if="row.canRevoke" @click="onRevoke(row)" size="mini" type="danger">撤回 <el-button v-if="row.canRevoke" @click="onRevoke(row)" size="mini" type="danger">撤回
</el-button> </el-button>
<el-button @click="doDelete(row.id)" size="mini" type="danger" <el-button @click="doDelete(row.id)" size="mini" type="danger"
v-if="row.taskKey === 'startTask' || !row.instanceId"> v-if="row.taskKey === 'startTask' || !row.instanceId || $auth.hasRole('SYSADMIN')">
删除 删除
</el-button> </el-button>
</template> </template>
@@ -410,7 +410,7 @@ layout("/layouts/platform.html"){
} }
}) })
} else { } else {
// this.noticeDialogVisible = true this.noticeDialogVisible = true
this.listOpenSession(false) this.listOpenSession(false)
this.$set(this.formData, "createUserId", this.$store.state.user.id) this.$set(this.formData, "createUserId", this.$store.state.user.id)
@@ -59,7 +59,7 @@ layout("/layouts/platform.html"){
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="primary" @click="openView(scope.row.id)">查看</el-button> <el-button size="mini" type="primary" @click="openView(scope.row.id)">查看</el-button>
<el-button size="mini" type="primary" @click="openEdit(scope.row.id)">编辑</el-button> <el-button size="mini" type="primary" @click="openEdit(scope.row.id)">编辑</el-button>
<el-button size="mini" type="danger" @click="doDelete([scope.row.id])">删除</el-button> <el-button size="mini" type="danger" @click="doDelete(scope.row.id)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -204,6 +204,20 @@ layout("/layouts/platform.html"){
} }
}, },
methods: { methods: {
doDelete(id) {
this.$confirm("您确定要删除吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
$.post(loc() + "/delete", { id }).then((res) => {
if (res.code === 0) {
this.$message.success(res.msg)
this.doSearch()
}
})
})
},
openAdd() { openAdd() {
this.formData = { this.formData = {
userId: this.$store.state.user.id, userId: this.$store.state.user.id,
@@ -388,7 +388,6 @@ layout("/layouts/platform.html"){
top: 8px; top: 8px;
right: 8px; right: 8px;
z-index: 2; z-index: 2;
padding: 4px 8px;
border-radius: 12px; border-radius: 12px;
font-size: 12px; font-size: 12px;
font-weight: 500; font-weight: 500;
@@ -143,8 +143,8 @@ const optionSelect = {
<div class="confirm-section-title">联系信息</div> <div class="confirm-section-title">联系信息</div>
<el-form :model="contactForm" ref="contactForm" :rules="contactRules" label-width="80px"> <el-form :model="contactForm" ref="contactForm" :rules="contactRules" label-width="80px">
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="20"> <el-col :span="20" v-if="projectInfo.provideMode == 3">
<el-form-item v-if="projectInfo.provideMode == 3" prop="receiveAddress" <el-form-item prop="receiveAddress"
label="收货地址" label="收货地址"
:rules="[{ required: true, message: '请选择收货地址', trigger: 'change' }]"> :rules="[{ required: true, message: '请选择收货地址', trigger: 'change' }]">
<el-select v-model="contactForm.receiveAddress" placeholder="请选择收货地址" <el-select v-model="contactForm.receiveAddress" placeholder="请选择收货地址"
@@ -157,10 +157,10 @@ const optionSelect = {
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4" v-if="projectInfo.provideMode == 3">
<el-button @click="openAddress" type="primary">添加地址</el-button> <el-button @click="openAddress" type="primary" size="small">添加地址</el-button>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24" v-if="projectInfo.provideMode == 3">
<el-form-item prop="userName" label="收货人"> <el-form-item prop="userName" label="收货人">
<el-input <el-input
v-model="contactForm.userName" v-model="contactForm.userName"
@@ -886,7 +886,6 @@ const optionSelect = {
top: 8px; top: 8px;
right: 8px; right: 8px;
z-index: 2; z-index: 2;
padding: 4px 8px;
border-radius: 12px; border-radius: 12px;
font-size: 12px; font-size: 12px;
font-weight: 500; font-weight: 500;
@@ -72,6 +72,19 @@ layout("/layouts/platform_h5.html"){
.van-cell:active { .van-cell:active {
background-color: #f2f3f5; background-color: #f2f3f5;
} }
.notice-dialog-content {
max-width: 100%;
width: 100%;
padding: 0 16px; /* 左右留白 */
box-sizing: border-box;
}
.notice-dialog-content p {
width: 100% !important;
max-width: 100% !important;
text-indent: 2em; /* 中文首行缩进更规范 */
}
</style> </style>
<div id="app" v-cloak> <div id="app" v-cloak>
@@ -331,15 +344,12 @@ layout("/layouts/platform_h5.html"){
</div> </div>
<!-- 提案撰写须知弹窗 --> <!-- 提案撰写须知弹窗 -->
<van-dialog <van-action-sheet v-model="noticeDialogVisible"
v-model="noticeDialogVisible" title="提案撰写须知"
title="提案撰写须知" cancel-text="我已知晓"
show-cancel-button close-on-click-action>
confirm-button-text="我已知晓"
@confirm="noticeDialogVisible = false"
>
<div class="notice-dialog-content" v-html="proposalConfig.writeRemind"></div> <div class="notice-dialog-content" v-html="proposalConfig.writeRemind"></div>
</van-dialog> </van-action-sheet>
</div> </div>
<script nonce="${cspNonce!}"> <script nonce="${cspNonce!}">
@@ -714,7 +724,7 @@ layout("/layouts/platform_h5.html"){
} }
}); });
} else { } else {
// this.noticeDialogVisible = true; this.noticeDialogVisible = true;
this.listOpenSession(false); this.listOpenSession(false);
// 设置用户信息 // 设置用户信息
@@ -92,6 +92,10 @@ const home = {
}, },
//点击进入活动 //点击进入活动
enterAct(item) { enterAct(item) {
if(this.$moment().unix() < this.$moment(item.startDate).unix()) {
this.$toast('活动即将开始')
return
}
this.$pjaxReplace(item.h5Url) this.$pjaxReplace(item.h5Url)
} }
}, },
@@ -82,7 +82,7 @@ layout("/layouts/platform_h5.html"){
} }
.welfare-info-header { .welfare-info-header {
padding: 16px; /*padding: 16px;*/
color: var(--text-primary); color: var(--text-primary);
font-weight: 600; font-weight: 600;
font-size: 17px; font-size: 17px;
@@ -192,7 +192,7 @@ layout("/layouts/platform_h5.html"){
} }
.welfare-option-content { .welfare-option-content {
padding: 12px; padding: 6px 12px;
flex: 1; flex: 1;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -277,8 +277,8 @@ layout("/layouts/platform_h5.html"){
.welfare-tag { .welfare-tag {
position: absolute; position: absolute;
right: 8px; right: 41px;
top: 8px; top: -3px;
z-index: 2; z-index: 2;
} }
@@ -531,6 +531,16 @@ layout("/layouts/platform_h5.html"){
text-align: center; text-align: center;
margin-top: 6px; margin-top: 6px;
} }
.welfare-info-card .van-collapse-item__content {
padding: 0;
}
.welfare-info-card .welfare-cell-group .van-cell__title {
max-width: 70px;
}
.welfare-info-card .welfare-cell-group .van-cell {
padding: 8px 16px;
}
</style> </style>
<div id="app" v-cloak> <div id="app" v-cloak>
@@ -635,7 +645,7 @@ layout("/layouts/platform_h5.html"){
<!-- 查看详情按钮 --> <!-- 查看详情按钮 -->
<div class="welfare-detail-btn" @click.stop="showOptionDetail(option)"> <div class="welfare-detail-btn" @click.stop="showOptionDetail(option)">
<van-icon name="info-o"/> <van-icon name="info-o"/>
<span>查看详情</span> <span style="position: relative; top: -0.5px">查看详情</span>
</div> </div>
<!-- 单选模式使用单选按钮 --> <!-- 单选模式使用单选按钮 -->