This commit is contained in:
2026-03-19 17:58:38 +08:00
parent b07029c57c
commit a9169e4c9e
12 changed files with 292 additions and 242 deletions
@@ -77,6 +77,7 @@ public class CondolenceBranchUnionApprovalController {
t.finishTime, t.finishTime,
t.taskParentId, t.taskParentId,
t.variable taskVariable, t.variable taskVariable,
GROUP_CONCAT(DISTINCT ta.actorName, '(', ta.actorAccount, ')' ) AS auditUser,
IFNULL(GROUP_CONCAT(DISTINCT nt.displayName),'结束') curTaskName, IFNULL(GROUP_CONCAT(DISTINCT nt.displayName),'结束') curTaskName,
IF(rt.id IS NOT NULL, 1, 0) AS canRevoke IF(rt.id IS NOT NULL, 1, 0) AS canRevoke
FROM FROM
@@ -113,7 +114,7 @@ public class CondolenceBranchUnionApprovalController {
} else { } else {
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy())); cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
} }
cnd.groupBy("t.id"); cnd.groupBy("info.id");
sql.setCondition(cnd); sql.setCondition(cnd);
Pagination<NutMap> pageVO = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); Pagination<NutMap> pageVO = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
return Result.success(pageVO); return Result.success(pageVO);
@@ -93,12 +93,14 @@ public class CondolenceMineController {
@At("/") @At("/")
@Ok("beetl:/platform/zhgh/staffbenefit/condolence/mine/index.html") @Ok("beetl:/platform/zhgh/staffbenefit/condolence/mine/index.html")
@SaCheckPermission("condolence.mine") @SaCheckPermission("condolence.mine")
public void index() {} public void index() {
}
@At("/h5") @At("/h5")
@Ok("beetl:/platform/zhghh5/staffbenefit/condolence/mine/index.html") @Ok("beetl:/platform/zhghh5/staffbenefit/condolence/mine/index.html")
@SaCheckPermission("h5.condolence.mine") @SaCheckPermission("h5.condolence.mine")
public void h5Index() {} public void h5Index() {
}
@At @At
@ApiOperation("分页查询") @ApiOperation("分页查询")
@@ -124,6 +126,7 @@ public class CondolenceMineController {
t.finishTime, t.finishTime,
t.taskParentId, t.taskParentId,
t.variable taskVariable, t.variable taskVariable,
GROUP_CONCAT(DISTINCT ta.actorName, '(', ta.actorAccount, ')' ) AS auditUser,
IF((SELECT taskName FROM wf_process_task tt WHERE tt.id = t.taskParentId) = 'startTask', 1, 0) canRevoke, IF((SELECT taskName FROM wf_process_task tt WHERE tt.id = t.taskParentId) = 'startTask', 1, 0) canRevoke,
(select MAX(id) from wf_process_task where processInstanceId = ins.id and taskName = 'startTask') AS startTaskId (select MAX(id) from wf_process_task where processInstanceId = ins.id and taskName = 'startTask') AS startTaskId
FROM FROM
@@ -150,7 +153,7 @@ public class CondolenceMineController {
} else { } else {
cnd.desc("info.createTime"); cnd.desc("info.createTime");
} }
cnd.groupBy("info.id");
sql.setCondition(cnd); sql.setCondition(cnd);
Pagination<NutMap> pagination = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); Pagination<NutMap> pagination = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
return Result.success(pagination); return Result.success(pagination);
@@ -102,7 +102,7 @@ public class CondolenceSchoolPrincipalApprovalController {
cnd.andEX("info.applyUnitId", "=", unitId); cnd.andEX("info.applyUnitId", "=", unitId);
cnd.and("t.taskName", "=", "34f7938e-47a3-4b3a-b4e0-92b7a3f47865"); cnd.and("t.taskName", "=", "34f7938e-47a3-4b3a-b4e0-92b7a3f47865");
// cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId())); cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
if (approval) { if (approval) {
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode())); cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
@@ -115,7 +115,7 @@ public class CondolenceSchoolPrincipalApprovalController {
} else { } else {
cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy())); cnd.orderBy(pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
} }
cnd.groupBy("t.id"); cnd.groupBy("info.id");
sql.setCondition(cnd); sql.setCondition(cnd);
Pagination<NutMap> pageVO = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql); Pagination<NutMap> pageVO = condolenceService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
return Result.success(pageVO); return Result.success(pageVO);
@@ -81,6 +81,10 @@ layout("/layouts/platform.html"){
:rules="[{required:true,message:'必填',trigger:['change','blur']}]"> :rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea> <user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
</el-form-item> </el-form-item>
<el-form-item label="电子签名" prop="tf_userSign"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<pc-signature v-model="formData.tf_userSign"></pc-signature>
</el-form-item>
</el-form> </el-form>
<el-row type="flex" justify="end"> <el-row type="flex" justify="end">
<el-button @click="$refs.guava.index()" size="small">取消</el-button> <el-button @click="$refs.guava.index()" size="small">取消</el-button>
@@ -75,9 +75,15 @@ const condolenceInfo = {
<dict-tag :options="dict.type.PROCESS_TASK_SUBMIT_TYPE" <dict-tag :options="dict.type.PROCESS_TASK_SUBMIT_TYPE"
:value="task.ext.submitType"></dict-tag> :value="task.ext.submitType"></dict-tag>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="办理意见" v-if="!task.ext.isFirstTaskNode">{{ <el-descriptions-item label="办理意见" v-if="!task.ext.isFirstTaskNode":span="3">{{
task.taskFormData.opinion }} task.taskFormData.opinion }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="签字" :span="3" v-if="!task.ext.isFirstTaskNode">
<el-image :src="task.taskFormData.tf_userSign"
v-if="task.taskFormData.tf_userSign"
class="signature-image"></el-image>
<span v-else>暂无签字</span>
</el-descriptions-item>
</el-descriptions> </el-descriptions>
</div> </div>
</template> </template>
@@ -101,6 +101,10 @@ layout("/layouts/platform.html"){
:rules="[{required:true,message:'必填',trigger:['change','blur']}]"> :rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea> <user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
</el-form-item> </el-form-item>
<el-form-item label="电子签名" prop="tf_userSign"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<pc-signature v-model="formData.tf_userSign"></pc-signature>
</el-form-item>
</el-form> </el-form>
<el-row type="flex" justify="end"> <el-row type="flex" justify="end">
<el-button @click="$refs.guava.index()" size="small">取消</el-button> <el-button @click="$refs.guava.index()" size="small">取消</el-button>
@@ -101,6 +101,10 @@ layout("/layouts/platform.html"){
:rules="[{required:true,message:'必填',trigger:['change','blur']}]"> :rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea> <user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
</el-form-item> </el-form-item>
<el-form-item label="电子签名" prop="tf_userSign"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<pc-signature v-model="formData.tf_userSign"></pc-signature>
</el-form-item>
</el-form> </el-form>
<el-row type="flex" justify="end"> <el-row type="flex" justify="end">
<el-button @click="$refs.guava.index()" size="small">取消</el-button> <el-button @click="$refs.guava.index()" size="small">取消</el-button>
@@ -38,7 +38,7 @@ layout("/layouts/platform_h5.html"){
<table-column label="所属工会">{{row.applyUnionName}}</table-column> <table-column label="所属工会">{{row.applyUnionName}}</table-column>
<table-column label="所属单位">{{row.applyUnitName}}</table-column> <table-column label="所属单位">{{row.applyUnitName}}</table-column>
<table-column label="慰问类型">{{row.typeName}}</table-column> <table-column label="慰问类型">{{row.typeName}}</table-column>
<table-column label="当前节点">{{row.curTaskName}}</table-column> <table-column label="当前节点">{{row.curTaskName}}<span v-if="row.auditUser">-{{row.auditUser}}</span></table-column>
</template> </template>
<template #actions="{index,row}"> <template #actions="{index,row}">
<div class="action-btn" @click="onView(row)"> <div class="action-btn" @click="onView(row)">
@@ -70,6 +70,13 @@ layout("/layouts/platform_h5.html"){
maxlength="100" maxlength="100"
show-word-limit show-word-limit
></van-field> ></van-field>
<van-cell-group title="电子签名" class="form-section">
<van-field class="more-text" name="tf_userSign" label="">
<template #input>
<h5-signature v-model="formData.tf_userSign" slot="input"></h5-signature>
</template>
</van-field>
</van-cell-group>
</van-form> </van-form>
<div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px"> <div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px">
<van-button type="danger" block @click="handleTaskAction(6)">退回</van-button> <van-button type="danger" block @click="handleTaskAction(6)">退回</van-button>
@@ -68,6 +68,11 @@ const condolenceInfo = {
<van-cell title="办理意见" v-if="!task.ext.isFirstTaskNode" class="direction-column-cell"> <van-cell title="办理意见" v-if="!task.ext.isFirstTaskNode" class="direction-column-cell">
<div v-html="task.taskFormData.tf_opinion"></div> <div v-html="task.taskFormData.tf_opinion"></div>
</van-cell> </van-cell>
<van-cell class="direction-column-cell" title="签字"v-if="!task.ext.isFirstTaskNode">
<van-image :src="task.taskFormData.tf_userSign" v-if="task.taskFormData.tf_userSign"
class="signature-image"></van-image>
<span v-else>暂无签字</span>
</van-cell>
</van-cell-group> </van-cell-group>
</template> </template>
</div> </div>
@@ -33,7 +33,8 @@ layout("/layouts/platform_h5.html"){
<table-column label="所属工会">{{row.applyUnionName}}</table-column> <table-column label="所属工会">{{row.applyUnionName}}</table-column>
<table-column label="所属单位">{{row.applyUnitName}}</table-column> <table-column label="所属单位">{{row.applyUnitName}}</table-column>
<table-column label="慰问类型">{{row.typeName}}</table-column> <table-column label="慰问类型">{{row.typeName}}</table-column>
<table-column label="当前节点">{{row.taskName}}</table-column> <table-column label="当前节点">{{row.taskName}}<span v-if="row.auditUser">-{{row.auditUser}}</span>
</table-column>
</template> </template>
<template #actions="{index,row}"> <template #actions="{index,row}">
<div class="action-btn" @click="onView(row)"> <div class="action-btn" @click="onView(row)">
@@ -78,7 +79,7 @@ layout("/layouts/platform_h5.html"){
year: new Date().getFullYear(), year: new Date().getFullYear(),
type: null type: null
}, },
typeOptions: [], typeOptions: []
} }
}, },
methods: { methods: {
@@ -129,10 +130,11 @@ layout("/layouts/platform_h5.html"){
} }
}) })
}) })
.catch(() => {}) .catch(() => {
})
}, },
async queryCondolenceType() { async queryCondolenceType() {
const res = await this.$axios.post('/platform/condolence/type/queryCondolenceType') const res = await this.$axios.post("/platform/condolence/type/queryCondolenceType")
return res.data return res.data
}, },
doSearch() { doSearch() {
@@ -142,7 +144,7 @@ layout("/layouts/platform_h5.html"){
this.$refs.tableListRef.doSearch() this.$refs.tableListRef.doSearch()
}) })
} }
}, }
}) })
</script> </script>
@@ -70,6 +70,13 @@ layout("/layouts/platform_h5.html"){
maxlength="100" maxlength="100"
show-word-limit show-word-limit
></van-field> ></van-field>
<van-cell-group title="电子签名" class="form-section">
<van-field class="more-text" name="tf_userSign" label="">
<template #input>
<h5-signature v-model="formData.tf_userSign" slot="input"></h5-signature>
</template>
</van-field>
</van-cell-group>
</van-form> </van-form>
<div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px"> <div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px">
<van-button type="danger" block @click="handleTaskAction(6)">退回</van-button> <van-button type="danger" block @click="handleTaskAction(6)">退回</van-button>
@@ -70,6 +70,13 @@ layout("/layouts/platform_h5.html"){
maxlength="100" maxlength="100"
show-word-limit show-word-limit
></van-field> ></van-field>
<van-cell-group title="电子签名" class="form-section">
<van-field class="more-text" name="tf_userSign" label="">
<template #input>
<h5-signature v-model="formData.tf_userSign" slot="input"></h5-signature>
</template>
</van-field>
</van-cell-group>
</van-form> </van-form>
<div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px"> <div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px">
<van-button type="danger" block @click="handleTaskAction(6)">退回</van-button> <van-button type="danger" block @click="handleTaskAction(6)">退回</van-button>