commit
This commit is contained in:
+1
-1
@@ -89,7 +89,7 @@ public class ProposalSeniorBasicController {
|
||||
@ApiOperation(value = "提案内容修改")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result update(@Valid @Param("info") ProposalInfo proposalInfo) {
|
||||
dao.update(proposalInfo,"^name|typeId|brief|measures|excerpt|suggestUnits$");
|
||||
dao.update(proposalInfo,"^name|code|typeId|brief|measures|excerpt|suggestUnits$");
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
-3
@@ -143,9 +143,6 @@ public class ProposalCommonServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
||||
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and(ProposalUndertakeSuggestion::getProposalId, "=", id);
|
||||
if (!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())) {
|
||||
cnd.and(ProposalUndertakeSuggestion::getUnitId, "=", getSelfManageUndertake().getId());
|
||||
}
|
||||
cnd.desc(ProposalUndertakeSuggestion::getTime);
|
||||
List<ProposalUndertakeSuggestion> undertakeSuggestions = dao().query(ProposalUndertakeSuggestion.class, cnd);
|
||||
info.put("undertakeSuggestions", undertakeSuggestions);
|
||||
|
||||
+4
-1
@@ -164,6 +164,7 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
||||
info.id,
|
||||
info.name,
|
||||
info.code,
|
||||
info.suggestUnits,
|
||||
info.researchFindings,
|
||||
info.brief,
|
||||
info.measures,
|
||||
@@ -194,6 +195,8 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
||||
list.get(i).put("index", i + 1);
|
||||
list.get(i).put("brief", HtmlUtil.cleanHtmlTag(list.get(i).getString("brief")));
|
||||
list.get(i).put("measures", HtmlUtil.cleanHtmlTag(list.get(i).getString("measures")));
|
||||
list.get(i).put("suggestUnits", list.get(i).getString("suggestUnits").replace("[", "").replace("]", ""));
|
||||
|
||||
|
||||
// 流程实例
|
||||
ProcessInstance instance = dao().fetch(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "=", list.get(i).getString("id")));
|
||||
@@ -224,7 +227,7 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
||||
exportEntities.add(new ExcelExportEntity("提案人电话", "mobile", 20));
|
||||
exportEntities.add(new ExcelExportEntity("附议人(两名)", "secondedUserNames", 20));
|
||||
exportEntities.add(new ExcelExportEntity("提案单位", "unitName", 20));
|
||||
exportEntities.add(new ExcelExportEntity("拟交办单位", "", 20));
|
||||
exportEntities.add(new ExcelExportEntity("拟交办单位", "suggestUnits", 20));
|
||||
|
||||
Teacher_congress_session session = dao().fetch(Teacher_congress_session.class, pageForm.getSessionId());
|
||||
String title = StrUtil.format("{}第{}{}教代会提案征集汇总表", Globals.AppName, session.getJ(), session.getC());
|
||||
|
||||
+2
-1
@@ -432,6 +432,7 @@ public class TeacherCongressDelegatePushController {
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
SqlExpressionGroup group = new SqlExpressionGroup();
|
||||
group.or("t.taskName", "=", "0cacd1e7-7bb2-47dd-818b-6a73062e0c62");
|
||||
group.or("t.taskName", "=", "900217e4-4332-4a21-90dd-363b8be17801");
|
||||
group.or("t.taskName", "is", null);
|
||||
cnd.and(group);
|
||||
@@ -561,7 +562,7 @@ public class TeacherCongressDelegatePushController {
|
||||
if (AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())){
|
||||
sql = getSql(pageForm, sessionId, unionId, isFormalOrAttendance);
|
||||
} else {
|
||||
sql = getSql(pageForm, sessionId, SecurityUtil.getUnitId(), isFormalOrAttendance);
|
||||
sql = getSql(pageForm, sessionId, SecurityUtil.getUnionId(), isFormalOrAttendance);
|
||||
}
|
||||
|
||||
List<NutMap> exportList = baseService.listMap(sql);
|
||||
|
||||
+13
-7
@@ -20,6 +20,7 @@ import com.budwk.app.base.utils.PageUtil;
|
||||
import com.budwk.app.base.utils.SysOfficeTemplateUtil;
|
||||
import com.budwk.app.flow.engine.FlowEngine;
|
||||
import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.enums.ProcessInstanceStateEnum;
|
||||
import com.budwk.app.flow.enums.ProcessTaskStateEnum;
|
||||
import com.budwk.app.flow.service.FlowCommonService;
|
||||
import com.budwk.app.flow.vo.ProcessTaskVO;
|
||||
@@ -126,6 +127,11 @@ public class TeacherCongressDelegatePushZgAuditController {
|
||||
item.put("worker", item.getBoolean("worker") ? "是" : "否");
|
||||
item.put("intermediateBelow", item.getBoolean("intermediateBelow") ? "是" : "否");
|
||||
item.put("seniorTeacher", item.getBoolean("seniorTeacher") ? "是" : "否");
|
||||
if (item.getInt("instanceState") == ProcessInstanceStateEnum.FINISHED.getCode()) {
|
||||
item.put("instanceStateName", "已通过");
|
||||
} else if (item.getInt("instanceState") == ProcessInstanceStateEnum.REJECT.getCode()) {
|
||||
item.put("instanceStateName", "已拒绝");
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
@@ -146,6 +152,7 @@ public class TeacherCongressDelegatePushZgAuditController {
|
||||
entityList.add(new ExcelExportEntity("教代会代表", "isJdh", 20));
|
||||
entityList.add(new ExcelExportEntity("工代会代表", "isGdh", 20));
|
||||
entityList.add(new ExcelExportEntity("代表类型", "representativeType", 20));
|
||||
entityList.add(new ExcelExportEntity("状态", "instanceStateName", 20));
|
||||
|
||||
ExportParams exportParams = new ExportParams();
|
||||
exportParams.setType(ExcelType.XSSF);
|
||||
@@ -231,11 +238,11 @@ public class TeacherCongressDelegatePushZgAuditController {
|
||||
@SaCheckPermission("tc.delegate.push.zcAudit")
|
||||
@SLog(tag = "代表管理-代表资格审查", msg = "审查通过")
|
||||
public Result submit(@Param("data") String param, @Valid String id) {
|
||||
|
||||
Dict args = Json.fromJson(Dict.class, param);
|
||||
TeacherCongressDelegatePush delegatePush = baseService.dao().fetch(TeacherCongressDelegatePush.class, id);
|
||||
View_user user = baseService.dao().fetch(View_user.class, Cnd.where("id", "=", delegatePush.getUserId()));
|
||||
|
||||
if (delegatePush.getIsJdh()) {
|
||||
if (delegatePush.getIsJdh() && args.getInt("submitType") == 1) {
|
||||
Teacher_congress_delegate delegate = new Teacher_congress_delegate();
|
||||
Sys_user_role userRole = new Sys_user_role();
|
||||
|
||||
@@ -257,8 +264,8 @@ public class TeacherCongressDelegatePushZgAuditController {
|
||||
.and(Teacher_congress_delegation_union::getSessionId, "=", delegatePush.getSessionId()));
|
||||
|
||||
if (ObjectUtil.isNotEmpty(delegation_unit)) {
|
||||
delegate.setDelegationId(delegation_unit.getId());
|
||||
userRole.setTcDelegationId(delegation_unit.getId());
|
||||
delegate.setDelegationId(delegation_unit.getDelegationId());
|
||||
userRole.setTcDelegationId(delegation_unit.getDelegationId());
|
||||
} else {
|
||||
return Result.error(user.getUnitName() + "没有设置到代表团,请先在代表团管理里设置。");
|
||||
}
|
||||
@@ -277,9 +284,8 @@ public class TeacherCongressDelegatePushZgAuditController {
|
||||
userRole.setTcSessionId(delegatePush.getSessionId());
|
||||
baseService.dao().insert(delegate);
|
||||
baseService.dao().insert(userRole);
|
||||
|
||||
}
|
||||
Dict args = Json.fromJson(Dict.class, param);
|
||||
|
||||
flowCommonService.executeTask(args);
|
||||
return Result.success();
|
||||
}
|
||||
@@ -298,7 +304,7 @@ public class TeacherCongressDelegatePushZgAuditController {
|
||||
try {
|
||||
response.setContentType("application/octet-stream");
|
||||
response.setHeader("Content-Disposition", "attachment;filename=" +
|
||||
java.net.URLEncoder.encode("教代会代表推荐表.zip", "UTF-8"));
|
||||
java.net.URLEncoder.encode("教代会代表推荐表.zip", "UTF-8"));
|
||||
|
||||
ZipOutputStream zipOut = new ZipOutputStream(response.getOutputStream());
|
||||
Sql sql = getSql(pageForm, sessionId, unionId, approval, isFormalOrAttendance);
|
||||
|
||||
@@ -16,7 +16,7 @@ const initTableMixins = {
|
||||
searchName: "",
|
||||
searchKeyword: "",
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
pageSize: 20,
|
||||
totalCount: 0,
|
||||
pageOrderName: "",
|
||||
pageOrderBy: "",
|
||||
|
||||
+1
-1
@@ -199,7 +199,7 @@ layout("/layouts/platform.html"){
|
||||
{label: "届次", prop: "sessionName"},
|
||||
{label: "代表团", prop: "delegationName"},
|
||||
{label: "立案结果", prop: "caseFilingResult"},
|
||||
{label: "立案类型", prop: "caseFilingType"},
|
||||
// {label: "立案类型", prop: "caseFilingType"},
|
||||
{label: "是否并案", prop: "merge"},
|
||||
{label: "案由", prop: "brief", visible: false},
|
||||
{label: "建议措施", prop: "measures", visible: false},
|
||||
|
||||
@@ -134,15 +134,22 @@ layout("/layouts/platform.html"){
|
||||
<el-input maxlength="100" placeholder="提案名称" v-model="formData.name"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="提案编号" prop="code"
|
||||
:rules="[{required:true,message:'请输入提案编号',trigger:'blur'}]">
|
||||
<el-input maxlength="100" placeholder="提案编号" v-model="formData.code"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20" type="flex">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="提案方式" prop="source">
|
||||
<el-input :value="dict.type.PROPOSAL_SOURCE.find(v=>v.code === formData.source)?.name"
|
||||
disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20" type="flex">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="提案类别" prop="typeId">
|
||||
<el-select v-model="formData.typeId" style="width: 100%">
|
||||
@@ -170,6 +177,9 @@ layout("/layouts/platform.html"){
|
||||
v-for="item in suggestUnitOptions"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="调研情况" prop="researchFindings">
|
||||
<text-editor v-model="formData.researchFindings" key="researchFindings" placeholder="调研情况"></text-editor>
|
||||
</el-form-item>
|
||||
<el-form-item label="案由" prop="brief">
|
||||
<text-editor v-model="formData.brief" key="brief" placeholder="案由"></text-editor>
|
||||
</el-form-item>
|
||||
|
||||
+2
-2
@@ -92,7 +92,7 @@ layout("/layouts/platform.html"){
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
|
||||
</el-form-item>
|
||||
<template v-if="['SATISFIED','FAIRLY_SATISFIED'].includes(formData.tf_feedback)">
|
||||
<!-- <template v-if="['SATISFIED','FAIRLY_SATISFIED'].includes(formData.tf_feedback)">
|
||||
<el-form-item label="通讯地址" prop="tf_address" :rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input v-model="formData.tf_address" placeholder="请输入通讯地址" clearable></el-input>
|
||||
</el-form-item>
|
||||
@@ -102,7 +102,7 @@ layout("/layouts/platform.html"){
|
||||
<el-form-item label="邮政编码" prop="tf_postcode" :rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input v-model="formData.tf_postcode" placeholder="请输入邮政编码" clearable></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</template>-->
|
||||
</el-form>
|
||||
<el-row type="flex" justify="end">
|
||||
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
|
||||
|
||||
@@ -131,6 +131,9 @@ layout("/layouts/platform.html"){
|
||||
v-for="item in suggestUnitOptions"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="调研情况" prop="researchFindings">
|
||||
<text-editor v-model="formData.researchFindings" key="researchFindings" placeholder="调研情况"></text-editor>
|
||||
</el-form-item>
|
||||
<el-form-item label="案由" prop="brief">
|
||||
<text-editor v-model="formData.brief" key="brief" placeholder="案由"></text-editor>
|
||||
</el-form-item>
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ layout("/layouts/platform.html"){
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="分工会" v-if="$auth.hasRole('SYSADMIN') || $auth.hasRole('SCHOOL_UNION_ADMIN')">
|
||||
<el-select v-model="pageForm.unionId" filterable @change="listUnit" clearable style="width: 100%">
|
||||
<el-select v-model="pageForm.unionId" filterable clearable style="width: 100%">
|
||||
<el-option v-for="i in unionOptions" :label="i.name" :key="i.id" :value="i.id"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
|
||||
+5
-6
@@ -63,7 +63,7 @@ const pushProgress = {
|
||||
</div>
|
||||
</div>
|
||||
<div class="progress-bar">
|
||||
<div class="progress-bar-inner bg-primary"
|
||||
<div class="progress-bar-inner bg-success"
|
||||
:style="{width: metrics.seniorTeacher.progress * 100 + '%'}"></div>
|
||||
</div>
|
||||
<div class="progress-info">
|
||||
@@ -96,7 +96,7 @@ const pushProgress = {
|
||||
</div>
|
||||
<div class="progress-bar">
|
||||
<div
|
||||
class="progress-bar-inner bg-primary"
|
||||
class="progress-bar-inner bg-success"
|
||||
:style="{width: metrics.intermediateBelow.progress * 100 + '%'}"
|
||||
></div>
|
||||
</div>
|
||||
@@ -128,9 +128,8 @@ const pushProgress = {
|
||||
</div>
|
||||
</div>
|
||||
<div class="progress-bar">
|
||||
<div class="progress-bar-inner bg-primary"
|
||||
:style="{width: metrics.cadre.progress * 100 + '%'}"
|
||||
></div>
|
||||
<div class="progress-bar-inner bg-success"
|
||||
:style="{width: metrics.cadre.progress * 100 + '%'}"></div>
|
||||
</div>
|
||||
<div class="progress-info">
|
||||
<span v-if="metrics.cadre.progress>=1 || metrics.cadre.target===0"
|
||||
@@ -160,7 +159,7 @@ const pushProgress = {
|
||||
</div>
|
||||
</div>
|
||||
<div class="progress-bar">
|
||||
<div class="progress-bar-inner bg-primary"
|
||||
<div class="progress-bar-inner bg-success"
|
||||
:style="{width: metrics.worker.progress * 100 + '%'}"
|
||||
></div>
|
||||
</div>
|
||||
|
||||
+2
-2
@@ -96,8 +96,8 @@ const write = {
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="政治面貌" prop="political">
|
||||
<el-input maxlength="100" placeholder="政治面貌"
|
||||
v-model="formData.political"></el-input>
|
||||
<dict-select v-model="formData.political" style="width: 100%" placeholder="请选择政治面貌"
|
||||
code="USER_POLITICAL"></dict-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
||||
+4
-4
@@ -83,7 +83,7 @@ layout("/layouts/platform_h5.html"){
|
||||
show-word-limit
|
||||
></van-field>
|
||||
|
||||
<template v-if="['SATISFIED','FAIRLY_SATISFIED'].includes(formData.tf_feedback)">
|
||||
<!-- <template v-if="['SATISFIED','FAIRLY_SATISFIED'].includes(formData.tf_feedback)">
|
||||
<van-field
|
||||
v-model="formData.tf_address"
|
||||
name="tf_address"
|
||||
@@ -93,7 +93,7 @@ layout("/layouts/platform_h5.html"){
|
||||
required
|
||||
show-word-limit
|
||||
></van-field>
|
||||
<!--联系电话-->
|
||||
<!–联系电话–>
|
||||
<van-field
|
||||
v-model="formData.tf_phone"
|
||||
name="tf_phone"
|
||||
@@ -103,7 +103,7 @@ layout("/layouts/platform_h5.html"){
|
||||
required
|
||||
show-word-limit
|
||||
></van-field>
|
||||
<!--邮政编码-->
|
||||
<!–邮政编码–>
|
||||
<van-field
|
||||
v-model="formData.tf_postcode"
|
||||
name="tf_postcode"
|
||||
@@ -112,7 +112,7 @@ layout("/layouts/platform_h5.html"){
|
||||
:rules="[{ required: true, message: '请输入邮政编码' }]"
|
||||
required
|
||||
show-word-limit
|
||||
></van-field>
|
||||
></van-field>-->
|
||||
</template>
|
||||
</van-form>
|
||||
<div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px">
|
||||
|
||||
+32
-42
@@ -235,9 +235,9 @@ layout("/layouts/platform_h5.html"){
|
||||
<!-- 搜索框 -->
|
||||
<div class="search-container">
|
||||
<van-search
|
||||
v-model="suggestionUnitSearchText"
|
||||
placeholder="搜索承办单位"
|
||||
@input="onSuggestionUnitSearch"
|
||||
v-model="suggestionUnitSearchText"
|
||||
placeholder="搜索承办单位"
|
||||
@input="onSuggestionUnitSearch"
|
||||
></van-search>
|
||||
</div>
|
||||
|
||||
@@ -246,18 +246,18 @@ layout("/layouts/platform_h5.html"){
|
||||
<van-checkbox-group v-model="selectedSuggestionUnits">
|
||||
<van-cell-group>
|
||||
<van-cell
|
||||
v-for="item in filteredSuggestionUnits"
|
||||
:key="item.id"
|
||||
clickable
|
||||
@click="toggleSuggestionUnit(item)"
|
||||
v-for="item in filteredSuggestionUnits"
|
||||
:key="item.id"
|
||||
clickable
|
||||
@click="toggleSuggestionUnit(item)"
|
||||
>
|
||||
<template #title>
|
||||
<div class="option-item">
|
||||
<van-checkbox
|
||||
:name="item.name"
|
||||
:checked="selectedSuggestionUnits.includes(item.name)"
|
||||
@click.stop
|
||||
/>
|
||||
:name="item.name"
|
||||
:checked="selectedSuggestionUnits.includes(item.name)"
|
||||
@click.stop
|
||||
></van-checkbox>
|
||||
<span class="option-text">{{ item.name }}</span>
|
||||
</div>
|
||||
</template>
|
||||
@@ -270,39 +270,29 @@ layout("/layouts/platform_h5.html"){
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group title="提案内容" class="form-group">
|
||||
<van-field
|
||||
v-model="formData.researchFindings"
|
||||
name="researchFindings"
|
||||
label="调研情况"
|
||||
type="textarea"
|
||||
rows="4"
|
||||
autosize
|
||||
placeholder="请输入调研情况"
|
||||
:rules="[{ required: true, message: '请填写调研情况' }]"
|
||||
required
|
||||
></van-field>
|
||||
<van-field class="direction-column-field" name="researchFindings" label="调研情况" required
|
||||
:rules="[{ required: true, message: '请填写调研情况' }]">
|
||||
<template #input>
|
||||
<text-editor v-model="formData.researchFindings" key="researchFindings"
|
||||
placeholder="调研情况"></text-editor>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field
|
||||
v-model="formData.brief"
|
||||
label="提案案由"
|
||||
type="textarea"
|
||||
rows="6"
|
||||
autosize
|
||||
placeholder="请输入案由"
|
||||
:rules="[{ required: true, message: '请填写案由' }]"
|
||||
required
|
||||
></van-field>
|
||||
<van-field class="direction-column-field" name="brief" label="提案案由" required
|
||||
:rules="[{ required: true, message: '请填写案由' }]">
|
||||
<template #input>
|
||||
<text-editor v-model="formData.brief" key="brief"
|
||||
placeholder="提案案由"></text-editor>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field
|
||||
v-model="formData.measures"
|
||||
label="建议措施"
|
||||
type="textarea"
|
||||
rows="6"
|
||||
autosize
|
||||
placeholder="请输入建议措施"
|
||||
:rules="[{ required: true, message: '请填写建议措施' }]"
|
||||
required
|
||||
></van-field>
|
||||
<van-field class="direction-column-field" name="measures" label="建议措施" required
|
||||
:rules="[{ required: true, message: '请填写建议措施' }]">
|
||||
<template #input>
|
||||
<text-editor v-model="formData.measures" key="measures"
|
||||
placeholder="建议措施"></text-editor>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
</van-cell-group>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user