commit
This commit is contained in:
+4
@@ -402,6 +402,10 @@ public class ProposalCommonServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
||||
keywordCondition.orLike("info.createUserName", keyword);
|
||||
keywordCondition.orLike("info.createUserLoginName", keyword);
|
||||
}
|
||||
// 立案编号由立案环节生成,选中该搜索来源时按编号进行模糊匹配。
|
||||
if (ArrayUtil.contains(pageForm.getOrigins(), "caseFilingCode")) {
|
||||
keywordCondition.orLike("info.caseFilingCode", keyword);
|
||||
}
|
||||
if (searchAnswer) {
|
||||
keywordCondition.orLike("JSON_EXTRACT(replyTask.variable,'$.tf_opinion')", keyword);
|
||||
}
|
||||
|
||||
+53
-6
@@ -29,6 +29,7 @@ import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.config.Configure;
|
||||
import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.usermodel.BorderStyle;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.CellStyle;
|
||||
import org.apache.poi.ss.usermodel.Font;
|
||||
@@ -75,6 +76,7 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
||||
|
||||
private static final String WORK_SUGGESTION_SECTION_MARKER = "__WORK_SUGGESTION_SECTION__";
|
||||
private static final int UNDERTAKE_UNIT_EXPORT_COLUMN_COUNT = 6;
|
||||
private static final int UNDERTAKE_UNIT_SECOND_TITLE_ROW_INDEX = 1;
|
||||
|
||||
@Inject
|
||||
private ProposalCommonService proposalCommonService;
|
||||
@@ -448,12 +450,12 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
||||
*/
|
||||
private Workbook buildUndertakeUnitWorkbook(String title, String unitName, List<NutMap> excelRows) {
|
||||
List<ExcelExportEntity> exportEntities = new ArrayList<>();
|
||||
exportEntities.add(new ExcelExportEntity("立案编号", "caseFilingCode", 18));
|
||||
exportEntities.add(new ExcelExportEntity("提案名称", "name", 65));
|
||||
exportEntities.add(new ExcelExportEntity("提案人", "createUserName", 15));
|
||||
exportEntities.add(new ExcelExportEntity("主办单位", "masterUnitNames", 28));
|
||||
exportEntities.add(new ExcelExportEntity("协办单位", "slaveUnitNames", 28));
|
||||
exportEntities.add(new ExcelExportEntity("工作建议送达单位", "workSuggestionUnitNames", 32));
|
||||
exportEntities.add(new ExcelExportEntity("立案编号", "caseFilingCode", 11));
|
||||
exportEntities.add(new ExcelExportEntity("提案名称", "name", 43));
|
||||
exportEntities.add(new ExcelExportEntity("提案人", "createUserName", 13));
|
||||
exportEntities.add(new ExcelExportEntity("主办单位", "masterUnitNames", 19));
|
||||
exportEntities.add(new ExcelExportEntity("协办单位", "slaveUnitNames", 25));
|
||||
exportEntities.add(new ExcelExportEntity("工作建议送达单位", "workSuggestionUnitNames", 17));
|
||||
for (ExcelExportEntity exportEntity : exportEntities) {
|
||||
exportEntity.setWrap(true);
|
||||
}
|
||||
@@ -467,9 +469,54 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
||||
exportParams.setHeight((short) 13);
|
||||
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, exportEntities, excelRows);
|
||||
mergeWorkSuggestionSection(workbook);
|
||||
applyUndertakeUnitWorkbookStyle(workbook);
|
||||
return workbook;
|
||||
}
|
||||
|
||||
/**
|
||||
* 为承办单位表的全部有效单元格设置细实线边框,并保证第二行承办单位名称加粗且水平、垂直居中。
|
||||
* 相同原始样式复用同一个克隆样式,避免按单元格重复创建样式导致工作簿样式数量过多。
|
||||
*/
|
||||
private void applyUndertakeUnitWorkbookStyle(Workbook workbook) {
|
||||
Sheet sheet = workbook.getSheetAt(0);
|
||||
Map<String, CellStyle> borderedStyles = new HashMap<>();
|
||||
Font unitNameFont = workbook.createFont();
|
||||
unitNameFont.setFontName("宋体");
|
||||
unitNameFont.setFontHeightInPoints((short) 11);
|
||||
unitNameFont.setBold(true);
|
||||
for (int rowIndex = 0; rowIndex <= sheet.getLastRowNum(); rowIndex++) {
|
||||
Row row = sheet.getRow(rowIndex);
|
||||
if (row == null) {
|
||||
continue;
|
||||
}
|
||||
boolean centerUnitName = rowIndex == UNDERTAKE_UNIT_SECOND_TITLE_ROW_INDEX;
|
||||
for (int columnIndex = 0; columnIndex < UNDERTAKE_UNIT_EXPORT_COLUMN_COUNT; columnIndex++) {
|
||||
Cell cell = row.getCell(columnIndex);
|
||||
if (cell == null) {
|
||||
cell = row.createCell(columnIndex);
|
||||
}
|
||||
CellStyle sourceStyle = cell.getCellStyle();
|
||||
String styleKey = sourceStyle.getIndex() + ":" + centerUnitName;
|
||||
CellStyle borderedStyle = borderedStyles.get(styleKey);
|
||||
if (borderedStyle == null) {
|
||||
borderedStyle = workbook.createCellStyle();
|
||||
borderedStyle.cloneStyleFrom(sourceStyle);
|
||||
borderedStyle.setBorderTop(BorderStyle.THIN);
|
||||
borderedStyle.setBorderRight(BorderStyle.THIN);
|
||||
borderedStyle.setBorderBottom(BorderStyle.THIN);
|
||||
borderedStyle.setBorderLeft(BorderStyle.THIN);
|
||||
if (centerUnitName) {
|
||||
borderedStyle.setAlignment(HorizontalAlignment.CENTER);
|
||||
borderedStyle.setVerticalAlignment(VerticalAlignment.CENTER);
|
||||
borderedStyle.setFont(unitNameFont);
|
||||
}
|
||||
borderedStyles.put(styleKey, borderedStyle);
|
||||
}
|
||||
cell.setCellStyle(borderedStyle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查找工作建议标记行,将承办单位表的全部单元格合并并设置为居中的分组标题。
|
||||
*/
|
||||
|
||||
@@ -56,7 +56,7 @@ const PROPOSAL_INFO = {
|
||||
<div class="process-title">
|
||||
并案信息
|
||||
</div>
|
||||
<el-table :data="viewData.merges" size="medium">
|
||||
<el-table v-loading="tableLoading" :data="viewData.merges" size="medium">
|
||||
<el-table-column label="序号" type="index" width="100px"></el-table-column>
|
||||
<el-table-column label="提案编号" prop="code" sortable></el-table-column>
|
||||
<el-table-column label="提案名称" prop="name" show-overflow-tooltip></el-table-column>
|
||||
@@ -76,7 +76,7 @@ const PROPOSAL_INFO = {
|
||||
<div class="process-title">
|
||||
委员会成员意见
|
||||
</div>
|
||||
<el-table :data="viewData.commissionerOpinions" size="medium">
|
||||
<el-table v-loading="tableLoading" :data="viewData.commissionerOpinions" size="medium">
|
||||
<el-table-column label="序号" type="index" width="100px"></el-table-column>
|
||||
<el-table-column label="委员" prop="commissionerName">
|
||||
<template slot-scope="{row}">
|
||||
@@ -145,7 +145,7 @@ const PROPOSAL_INFO = {
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="办理时间" :span="2">{{ task.finishTime }}</el-descriptions-item>
|
||||
<el-descriptions-item label="附议人" :span="3" v-if="task.taskName === 'invite'">
|
||||
<el-table :data="task?.taskFormData?.seconder">
|
||||
<el-table v-loading="tableLoading" :data="task?.taskFormData?.seconder">
|
||||
<el-table-column label="姓名" prop="userName"></el-table-column>
|
||||
<el-table-column label="工号" prop="loginName"></el-table-column>
|
||||
<el-table-column label="性别" prop="sex"></el-table-column>
|
||||
@@ -230,6 +230,7 @@ const PROPOSAL_INFO = {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tableLoading: false,
|
||||
viewData: {},
|
||||
doneTasks: [],
|
||||
activeTaskIds: [],
|
||||
@@ -238,20 +239,41 @@ const PROPOSAL_INFO = {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 打开
|
||||
onOpen(row) {
|
||||
/**
|
||||
* 加载提案详情和已办审核记录,两个请求都结束后执行完成回调。
|
||||
*
|
||||
* @param row 当前提案列表行,必须包含提案 id 及流程实例信息
|
||||
* @param loadComplete 可选完成回调;未传入时由组件自动创建并关闭全屏加载遮罩
|
||||
* @return 无返回值;详情通过 viewData、doneTasks 回显,并通过 done-tasks 事件通知审核页面
|
||||
*/
|
||||
onOpen(row, loadComplete) {
|
||||
// 公共详情组件统一管理加载提示,保证所有查看和审核入口使用相同交互。
|
||||
const loading = loadComplete ? null : createLoading("数据加载中")
|
||||
const handleLoadComplete = loadComplete || (() => {
|
||||
loading.close()
|
||||
})
|
||||
this.row = row
|
||||
this.visible = true
|
||||
// 详情中的表格与详情、审核记录请求共用加载状态,两个请求全部完成后再关闭。
|
||||
this.$set(this, "tableLoading", true)
|
||||
// 切换提案时先清空上一条提案的审核记录和展开状态,避免异步加载期间展示旧数据。
|
||||
this.doneTasks = []
|
||||
this.activeTaskIds = []
|
||||
this.getInfo()
|
||||
this.getDoneTasks()
|
||||
let pendingRequestCount = 2
|
||||
const handleRequestComplete = () => {
|
||||
pendingRequestCount--
|
||||
if (pendingRequestCount === 0) {
|
||||
this.$set(this, "tableLoading", false)
|
||||
handleLoadComplete()
|
||||
}
|
||||
}
|
||||
this.getInfo().finally(handleRequestComplete)
|
||||
this.getDoneTasks().finally(handleRequestComplete)
|
||||
},
|
||||
|
||||
// 获取申请信息
|
||||
getInfo() {
|
||||
this.$axios.post("/platform/proposal/common/proposalInfo", {id: this.row.id}).then((res) => {
|
||||
return this.$axios.post("/platform/proposal/common/proposalInfo", {id: this.row.id}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.viewData = res.data
|
||||
}
|
||||
@@ -268,7 +290,7 @@ const PROPOSAL_INFO = {
|
||||
|
||||
// 获取已办任务审批记录
|
||||
getDoneTasks() {
|
||||
this.$axios.post("/flow/common/doneTasks", {bizId: this.row.id}).then((res) => {
|
||||
return this.$axios.post("/flow/common/doneTasks", {bizId: this.row.id}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
const tasks = res.data || []
|
||||
this.doneTasks = tasks
|
||||
|
||||
@@ -15,7 +15,7 @@ layout("/layouts/platform.html"){
|
||||
<table-tool>
|
||||
<el-button type="primary" size="mini" icon="el-icon-plus" @click="openAdd">新增</el-button>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" border stripe @sort-change="pageOrder">
|
||||
<el-table v-loading="tableLoading" :data="tableData" border stripe @sort-change="pageOrder">
|
||||
<el-table-column label="序号" type="index" :index="indexMethod" width="50px"></el-table-column>
|
||||
<el-table-column prop="name" label="名称" sortable="custom"></el-table-column>
|
||||
<el-table-column prop="code" label="编码" sortable="custom"></el-table-column>
|
||||
|
||||
@@ -4,7 +4,7 @@ const BASIC_XC_FORM_COMPONENT = {
|
||||
<table-tool>
|
||||
<el-button type="primary" size="small" icon="el-icon-plus" @click="openAdd()">新建机构</el-button>
|
||||
</table-tool>
|
||||
<el-table key="1" :data="tableData" ref="tableRef">
|
||||
<el-table v-loading="tableLoading" key="1" :data="tableData" ref="tableRef">
|
||||
<el-table-column label="序号" type="index" :index="indexMethod"></el-table-column>
|
||||
<el-table-column prop="name" label="机构名称"></el-table-column>
|
||||
<el-table-column prop="name" label="机构编码"></el-table-column>
|
||||
|
||||
@@ -23,7 +23,7 @@ layout("/layouts/platform.html"){
|
||||
<table-tool>
|
||||
<el-button type="primary" size="small" icon="el-icon-refresh" @click="syncSysUnit">同步系统单位</el-button>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" border ref="tableRef" height="100%" @sort-change="pageOrder">
|
||||
<el-table v-loading="tableLoading" :data="tableData" border ref="tableRef" height="100%" @sort-change="pageOrder">
|
||||
<el-table-column label="序号" type="index" :index="indexMethod" width="60"></el-table-column>
|
||||
<el-table-column prop="name" label="单位名称" sortable="custom" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="code" label="单位编码" sortable="custom" width="150px"></el-table-column>
|
||||
|
||||
@@ -194,7 +194,7 @@ layout("/layouts/platform.html"){
|
||||
<div slot="header" class="clearfix">
|
||||
<span class="nodes-title">{{ tableCardTitle }}</span>
|
||||
</div>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"></el-table-column>
|
||||
<el-table-column label="提案编号" prop="code" sortable="custom" width="100px" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="提案名称" prop="name" sortable="custom" show-overflow-tooltip></el-table-column>
|
||||
|
||||
+6
-1
@@ -107,7 +107,7 @@ layout("/layouts/platform.html"){
|
||||
<!-- <el-button type="primary" size="small" @click="exportProposalRegisterSummaryAsExcel">导出立案汇总表-->
|
||||
<el-button type="primary" size="small" @click="exportCustomAsExcel">自定义导出</el-button>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"
|
||||
fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
@@ -364,6 +364,8 @@ layout("/layouts/platform.html"){
|
||||
this.$businessTool.listUnit(this.pageForm.unionId).then((res) => (this.unitOptions = res))
|
||||
},
|
||||
pageData() {
|
||||
// 自定义查询覆盖了公共 mixin,请求期间手动维护表格加载状态。
|
||||
this.$set(this, "tableLoading", true)
|
||||
this.$axios
|
||||
.post(loc() + "/pageData", {
|
||||
pageForm: JSON.stringify(this.pageForm)
|
||||
@@ -378,6 +380,9 @@ layout("/layouts/platform.html"){
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
this.$set(this, "tableLoading", false)
|
||||
})
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
+5
-1
@@ -24,7 +24,7 @@ layout("/layouts/platform.html"){
|
||||
|
||||
<el-card shadow="never">
|
||||
<table-tool :columns.sync="tableColumns"></table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod" fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
@@ -164,6 +164,8 @@ layout("/layouts/platform.html"){
|
||||
this.exportDialogVisible = false
|
||||
},
|
||||
pageData() {
|
||||
// 自定义查询覆盖了公共 mixin,请求期间手动维护表格加载状态。
|
||||
this.$set(this, "tableLoading", true)
|
||||
this.$axios.post(loc() + "/pageData", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = res.data.list
|
||||
@@ -171,6 +173,8 @@ layout("/layouts/platform.html"){
|
||||
this.pageSize = res.data.pageSize
|
||||
this.pageNumber = res.data.pageNumber
|
||||
}
|
||||
}).finally(() => {
|
||||
this.$set(this, "tableLoading", false)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
+6
-1
@@ -75,7 +75,7 @@ layout("/layouts/platform.html"){
|
||||
<table-tool :columns="tableColumns" @update:columns="handleTableColumnsChange">
|
||||
<el-button type="primary" size="small" @click="exportCustomAsExcel">自定义导出</el-button>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" :key="tableKey" ref="tableRef" @sort-change="pageOrder"
|
||||
<el-table v-loading="tableLoading" :data="tableData" :key="tableKey" ref="tableRef" @sort-change="pageOrder"
|
||||
header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"></el-table-column>
|
||||
<el-table-column
|
||||
@@ -225,6 +225,8 @@ layout("/layouts/platform.html"){
|
||||
this.$businessTool.listUnit(this.pageForm.unionId).then((res) => (this.unitOptions = res))
|
||||
},
|
||||
pageData() {
|
||||
// 自定义查询覆盖了公共 mixin,请求期间手动维护表格加载状态。
|
||||
this.$set(this, "tableLoading", true)
|
||||
this.$axios
|
||||
.post(loc() + "/pageData", {
|
||||
pageForm: JSON.stringify(this.pageForm)
|
||||
@@ -235,6 +237,9 @@ layout("/layouts/platform.html"){
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
this.$set(this, "tableLoading", false)
|
||||
})
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
+6
-2
@@ -157,7 +157,7 @@ layout("/layouts/platform.html"){
|
||||
</el-tag>
|
||||
</div>
|
||||
</div>
|
||||
<div class="filter-row">
|
||||
<!-- <div class="filter-row">
|
||||
<div class="filter-label">立案类型</div>
|
||||
<div class="filter-tags">
|
||||
<el-tag
|
||||
@@ -169,7 +169,7 @@ layout("/layouts/platform.html"){
|
||||
{{ item.label }}
|
||||
</el-tag>
|
||||
</div>
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
<search @search="doSearch" class="mt10">
|
||||
<search-item label="代表团">
|
||||
@@ -308,6 +308,10 @@ layout("/layouts/platform.html"){
|
||||
{
|
||||
label: '提案人',
|
||||
value: 'createUserName'
|
||||
},
|
||||
{
|
||||
label: '立案编号',
|
||||
value: 'caseFilingCode'
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+7
-2
@@ -16,7 +16,7 @@ layout("/layouts/platform.html"){
|
||||
<table-tool label="代表团列表" :columns="tableColumns" @update:columns="handleTableColumnsChange">
|
||||
<el-button type="primary" size="small" @click="exportCustomAsExcel">自定义导出</el-button>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" :key="tableKey" ref="tableRef" header-align="center" style="width: 100%" row-key="id"
|
||||
<el-table v-loading="tableLoading" :data="tableData" :key="tableKey" ref="tableRef" header-align="center" style="width: 100%" row-key="id"
|
||||
show-summary @sort-change="pageOrder">
|
||||
<el-table-column
|
||||
:index="indexMethod"
|
||||
@@ -69,7 +69,7 @@ layout("/layouts/platform.html"){
|
||||
<!-- 提案明细组件模板独立放在页面中,避免在JavaScript中使用模板字符串。 -->
|
||||
<script type="text/x-template" id="proposal-table-template" nonce="${cspNonce!}">
|
||||
<div>
|
||||
<el-table :data="tableData" ref="tableRef" header-align="center" style="width: 100%" row-key="id"
|
||||
<el-table v-loading="tableLoading" :data="tableData" ref="tableRef" header-align="center" style="width: 100%" row-key="id"
|
||||
@sort-change="pageOrder">
|
||||
<el-table-column label="序号" width="50px" type="index" :index="indexMethod"></el-table-column>
|
||||
<el-table-column label="提案编号" prop="code" sortable="custom" width="200px"></el-table-column>
|
||||
@@ -179,6 +179,8 @@ layout("/layouts/platform.html"){
|
||||
})
|
||||
},
|
||||
pageData() {
|
||||
// 代表团统计为自定义查询,请求结束后统一关闭表格加载状态。
|
||||
this.$set(this, "tableLoading", true)
|
||||
this.$axios
|
||||
.post(loc() + "/pageData", {
|
||||
sessionId: this.sessionId,
|
||||
@@ -190,6 +192,9 @@ layout("/layouts/platform.html"){
|
||||
this.tableData = res.data
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
this.$set(this, "tableLoading", false)
|
||||
})
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
+4
@@ -21,11 +21,15 @@ const PROPOSAL_TABLE = {
|
||||
pageData() {
|
||||
this.pageForm.sessionId = this.sessionId
|
||||
this.pageForm.delegationId = this.delegationId
|
||||
// 弹窗明细表使用组件自身的加载状态,不影响外层代表团统计表。
|
||||
this.$set(this, "tableLoading", true)
|
||||
this.$axios.post("/platform/proposal/query/delegation/getProposalsByDelegation", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = res.data.list
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
}
|
||||
}).finally(() => {
|
||||
this.$set(this, "tableLoading", false)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ layout("/layouts/platform.html"){
|
||||
</el-card>
|
||||
<el-card shadow="never">
|
||||
<table-tool></table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"></el-table-column>
|
||||
<el-table-column label="提案编号" prop="code" width="120px" sortable="custom"></el-table-column>
|
||||
<el-table-column label="提案名称" prop="name" sortable="custom" show-overflow-tooltip></el-table-column>
|
||||
@@ -262,6 +262,8 @@ layout("/layouts/platform.html"){
|
||||
this.$businessTool.listUnit(this.pageForm.unionId).then((res) => (this.unitOptions = res))
|
||||
},
|
||||
pageData() {
|
||||
// 自定义查询覆盖了公共 mixin,请求期间手动维护表格加载状态。
|
||||
this.$set(this, "tableLoading", true)
|
||||
this.$axios
|
||||
.post(loc() + "/pageData", {
|
||||
pageForm: JSON.stringify(this.pageForm)
|
||||
@@ -272,6 +274,9 @@ layout("/layouts/platform.html"){
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
this.$set(this, "tableLoading", false)
|
||||
})
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
+5
-1
@@ -27,7 +27,7 @@ layout("/layouts/platform.html"){
|
||||
<table-tool :columns="tableColumns" @update:columns="handleTableColumnsChange">
|
||||
<el-button type="primary" size="small" @click="exportCustomAsExcel">自定义导出</el-button>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" :key="tableKey" ref="tableRef" @sort-change="pageOrder">
|
||||
<el-table v-loading="tableLoading" :data="tableData" :key="tableKey" ref="tableRef" @sort-change="pageOrder">
|
||||
<el-table-column label="序号" type="index" width="50"></el-table-column>
|
||||
<el-table-column v-for="column in normalTableColumns" :key="column.prop" :label="column.label"
|
||||
:prop="column.prop" :width="column.width" sortable="custom"
|
||||
@@ -141,12 +141,16 @@ layout("/layouts/platform.html"){
|
||||
})
|
||||
},
|
||||
pageData() {
|
||||
// 自定义统计查询执行期间显示表格加载动画,异常时也能正常关闭。
|
||||
this.$set(this, "tableLoading", true)
|
||||
this.$axios.post(loc() + "/data", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = res.data.tableData
|
||||
this.$set(this, "slaveNeedReply", res.data.slaveNeedReply)
|
||||
this.syncSlaveReplyColumns(res.data.slaveNeedReply)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.$set(this, "tableLoading", false)
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
+5
-1
@@ -25,7 +25,7 @@ layout("/layouts/platform.html"){
|
||||
<table-tool :columns="tableColumns" @update:columns="handleTableColumnsChange">
|
||||
<el-button type="primary" size="small" @click="exportCustomAsExcel">自定义导出</el-button>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" :key="tableKey" ref="tableRef" @sort-change="pageOrder">
|
||||
<el-table v-loading="tableLoading" :data="tableData" :key="tableKey" ref="tableRef" @sort-change="pageOrder">
|
||||
<el-table-column label="序号" type="index" width="50"></el-table-column>
|
||||
<el-table-column v-for="column in tableColumns" v-if="column.visible !== false" :key="column.prop"
|
||||
:label="column.label" :prop="column.prop" :width="column.width"
|
||||
@@ -113,10 +113,14 @@ layout("/layouts/platform.html"){
|
||||
})
|
||||
},
|
||||
pageData() {
|
||||
// 自定义统计查询执行期间显示表格加载动画,异常时也能正常关闭。
|
||||
this.$set(this, "tableLoading", true)
|
||||
this.$axios.post(loc() + "/data", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = res.data
|
||||
}
|
||||
}).finally(() => {
|
||||
this.$set(this, "tableLoading", false)
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
+6
-1
@@ -67,7 +67,7 @@ layout("/layouts/platform.html"){
|
||||
<table-tool>
|
||||
<el-button type="primary" size="small" @click="exportYearReport">导出提案报告</el-button>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"></el-table-column>
|
||||
<el-table-column label="提案编号" prop="code" sortable="custom" width="100px" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="立案编号" prop="caseFilingCode" sortable="custom" width="100px" show-overflow-tooltip></el-table-column>
|
||||
@@ -232,6 +232,8 @@ layout("/layouts/platform.html"){
|
||||
this.$businessTool.listUnit(this.pageForm.unionId).then((res) => (this.unitOptions = res))
|
||||
},
|
||||
pageData() {
|
||||
// 自定义查询覆盖了公共 mixin,请求期间手动维护表格加载状态。
|
||||
this.$set(this, "tableLoading", true)
|
||||
this.$axios
|
||||
.post(loc() + "/pageData", {
|
||||
pageForm: JSON.stringify(this.pageForm)
|
||||
@@ -242,6 +244,9 @@ layout("/layouts/platform.html"){
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
this.$set(this, "tableLoading", false)
|
||||
})
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
@@ -52,7 +52,7 @@ layout("/layouts/platform.html"){
|
||||
</el-card>
|
||||
<el-card shadow="never">
|
||||
<table-tool></table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"></el-table-column>
|
||||
<el-table-column label="提案编号" prop="code" sortable="custom" width="100px" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="立案编号" prop="caseFilingCode" width="100px" show-overflow-tooltip></el-table-column>
|
||||
|
||||
@@ -46,7 +46,7 @@ layout("/layouts/platform.html"){
|
||||
</el-card>
|
||||
<el-card shadow="never">
|
||||
<table-tool></table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"></el-table-column>
|
||||
<el-table-column label="提案编号" prop="code" sortable="custom" width="100px" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="立案编号" prop="caseFilingCode" sortable="custom" width="100px" show-overflow-tooltip></el-table-column>
|
||||
|
||||
+2
-2
@@ -37,7 +37,7 @@ layout("/layouts/platform.html"){
|
||||
批量催办
|
||||
</el-button>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%"
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" style="width: 100%"
|
||||
@selection-change="handleSelectionChange" row-key="id">
|
||||
<el-table-column type="selection" reserve-selection width="55"></el-table-column>
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"></el-table-column>
|
||||
@@ -76,7 +76,7 @@ layout("/layouts/platform.html"){
|
||||
|
||||
<template #edit>
|
||||
<div class="process-title">所选提案列表</div>
|
||||
<el-table :data="chooseTableData" style="width: 100%" max-height="600">
|
||||
<el-table v-loading="tableLoading" :data="chooseTableData" style="width: 100%" max-height="600">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"></el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
|
||||
+6
-1
@@ -52,7 +52,7 @@ layout("/layouts/platform.html"){
|
||||
</el-card>
|
||||
<el-card shadow="never">
|
||||
<table-tool></table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"></el-table-column>
|
||||
<el-table-column label="提案编号" prop="code" sortable="custom" width="100px" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="立案编号" prop="caseFilingCode" sortable="custom" width="100px" show-overflow-tooltip></el-table-column>
|
||||
@@ -235,6 +235,8 @@ layout("/layouts/platform.html"){
|
||||
},
|
||||
|
||||
pageData() {
|
||||
// 自定义查询覆盖了公共 mixin,请求期间手动维护表格加载状态。
|
||||
this.$set(this, "tableLoading", true)
|
||||
this.$axios
|
||||
.post(loc() + "/pageData", {
|
||||
pageForm: JSON.stringify(this.pageForm)
|
||||
@@ -245,6 +247,9 @@ layout("/layouts/platform.html"){
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
this.$set(this, "tableLoading", false)
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
@@ -46,7 +46,7 @@ layout("/layouts/platform.html"){
|
||||
</el-card>
|
||||
<el-card shadow="never">
|
||||
<table-tool></table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"></el-table-column>
|
||||
<el-table-column label="提案编号" prop="code" sortable="custom" width="100px" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="立案编号" prop="caseFilingCode" sortable="custom" width="100px" show-overflow-tooltip></el-table-column>
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ layout("/layouts/platform.html"){
|
||||
<el-card shadow="never">
|
||||
<table-tool :columns.sync="tableColumns">
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"
|
||||
fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ layout("/layouts/platform.html"){
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod" fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ layout("/layouts/platform.html"){
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" ref="tableRef" row-key="id" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" ref="tableRef" row-key="id" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"
|
||||
fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
|
||||
+41
@@ -139,6 +139,7 @@ layout("/layouts/platform.html"){
|
||||
prop="tf_masterUnitIds"
|
||||
>
|
||||
<el-select v-model="formData.tf_masterUnitIds" filterable clearable multiple
|
||||
@change="updateFilingOpinion"
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in underTakeOptions"
|
||||
@@ -154,6 +155,7 @@ layout("/layouts/platform.html"){
|
||||
prop="tf_slaveUnitIds"
|
||||
>
|
||||
<el-select v-model="formData.tf_slaveUnitIds" filterable clearable multiple
|
||||
@change="updateFilingOpinion"
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in underTakeOptions"
|
||||
@@ -259,12 +261,50 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
if (caseFilingResult === "SUGGESTION") {
|
||||
this.$set(this.formData, "tf_slaveUnitIds", [])
|
||||
this.updateFilingOpinion()
|
||||
return
|
||||
}
|
||||
if (caseFilingResult !== "CONFIRM_FILING") {
|
||||
this.$set(this.formData, "tf_masterUnitIds", [])
|
||||
this.$set(this.formData, "tf_slaveUnitIds", [])
|
||||
}
|
||||
this.updateFilingOpinion()
|
||||
},
|
||||
/**
|
||||
* 确定立案时根据主办、协办单位生成标准审核意见;
|
||||
* 工作建议根据办理单位自动补充“此提案建议由XX办理”。
|
||||
*/
|
||||
updateFilingOpinion() {
|
||||
const caseFilingResult = this.formData.tf_caseFilingResult
|
||||
if (!["CONFIRM_FILING", "SUGGESTION"].includes(caseFilingResult)) {
|
||||
return
|
||||
}
|
||||
const masterUnitIds = this.formData.tf_masterUnitIds || []
|
||||
const slaveUnitIds = this.formData.tf_slaveUnitIds || []
|
||||
const masterUnitNames = masterUnitIds.map((unitId) => {
|
||||
const unit = this.underTakeOptions.find((item) => item.id === unitId)
|
||||
return unit ? unit.name : ""
|
||||
}).filter((unitName) => unitName)
|
||||
const slaveUnitNames = slaveUnitIds.map((unitId) => {
|
||||
const unit = this.underTakeOptions.find((item) => item.id === unitId)
|
||||
return unit ? unit.name : ""
|
||||
}).filter((unitName) => unitName)
|
||||
if (caseFilingResult === "SUGGESTION") {
|
||||
let suggestionOpinion = "经提案委员会审理,该提案作为意见建议。"
|
||||
if (masterUnitNames.length) {
|
||||
suggestionOpinion = "经提案委员会审理,该提案作为意见建议,此提案建议由"
|
||||
+ masterUnitNames.join("、") + "办理。"
|
||||
}
|
||||
this.$set(this.formData, "tf_opinion", suggestionOpinion)
|
||||
return
|
||||
}
|
||||
let opinion = "经提案工作委员会研究,符合提案立案条件,予以立案。"
|
||||
if (masterUnitNames.length) {
|
||||
opinion = "经提案工作委员会研究,符合提案立案条件,予以立案,此提案建议由"
|
||||
+ masterUnitNames.join("、") + "办理,"
|
||||
+ (slaveUnitNames.length ? "由" + slaveUnitNames.join("、") + "协办。" : "暂无协办。")
|
||||
}
|
||||
this.$set(this.formData, "tf_opinion", opinion)
|
||||
},
|
||||
openView(row) {
|
||||
this.$refs.guava.edit(() => {
|
||||
@@ -448,6 +488,7 @@ layout("/layouts/platform.html"){
|
||||
this.$axios.post("/platform/proposal/common/listUnderTake").then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.underTakeOptions = res.data
|
||||
this.updateFilingOpinion()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
+47
-2
@@ -4,7 +4,7 @@ const merge = {
|
||||
<div class="process-title">
|
||||
预选并案提案
|
||||
</div>
|
||||
<el-table :data="selection" ref="tableRef" row-key="id" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="selection" ref="tableRef" row-key="id" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index"></el-table-column>
|
||||
<el-table-column label="提案编号" prop="code"></el-table-column>
|
||||
<el-table-column label="提案名称" prop="name" show-overflow-tooltip></el-table-column>
|
||||
@@ -47,7 +47,8 @@ const merge = {
|
||||
:rules="[{required:['CONFIRM_FILING','SUGGESTION'].includes(formData.tf_caseFilingResult),message:formData.tf_caseFilingResult === 'SUGGESTION' ? '请选择办理单位' : '请选择主办单位',trigger:['change','blur']}]"
|
||||
prop="tf_masterUnitIds"
|
||||
>
|
||||
<el-select v-model="formData.tf_masterUnitIds" filterable clearable multiple style="width: 100%">
|
||||
<el-select v-model="formData.tf_masterUnitIds" filterable clearable multiple
|
||||
@change="updateFilingOpinion" style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in underTakeOptions"
|
||||
:label="item.name"
|
||||
@@ -62,6 +63,7 @@ const merge = {
|
||||
prop="tf_slaveUnitIds"
|
||||
>
|
||||
<el-select v-model="formData.tf_slaveUnitIds" filterable clearable multiple
|
||||
@change="updateFilingOpinion"
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in underTakeOptions"
|
||||
@@ -89,6 +91,7 @@ const merge = {
|
||||
dicts: ["PROPOSAL_CASE_FILING_RESULT", "PROPOSAL_CASE_FILING_TYPE"],
|
||||
data() {
|
||||
return {
|
||||
tableLoading: false,
|
||||
selection: [],
|
||||
formData: {
|
||||
tf_masterUnitIds: [],
|
||||
@@ -122,12 +125,49 @@ const merge = {
|
||||
}
|
||||
if (caseFilingResult === "SUGGESTION") {
|
||||
this.$set(this.formData, "tf_slaveUnitIds", [])
|
||||
this.updateFilingOpinion()
|
||||
return
|
||||
}
|
||||
if (caseFilingResult !== "CONFIRM_FILING") {
|
||||
this.$set(this.formData, "tf_masterUnitIds", [])
|
||||
this.$set(this.formData, "tf_slaveUnitIds", [])
|
||||
}
|
||||
this.updateFilingOpinion()
|
||||
},
|
||||
/**
|
||||
* 并案审核根据确定立案的主协办单位或工作建议的办理单位生成标准审核意见。
|
||||
*/
|
||||
updateFilingOpinion() {
|
||||
const caseFilingResult = this.formData.tf_caseFilingResult
|
||||
if (!["CONFIRM_FILING", "SUGGESTION"].includes(caseFilingResult)) {
|
||||
return
|
||||
}
|
||||
const masterUnitIds = this.formData.tf_masterUnitIds || []
|
||||
const slaveUnitIds = this.formData.tf_slaveUnitIds || []
|
||||
const masterUnitNames = masterUnitIds.map((unitId) => {
|
||||
const unit = this.underTakeOptions.find((item) => item.id === unitId)
|
||||
return unit ? unit.name : ""
|
||||
}).filter((unitName) => unitName)
|
||||
const slaveUnitNames = slaveUnitIds.map((unitId) => {
|
||||
const unit = this.underTakeOptions.find((item) => item.id === unitId)
|
||||
return unit ? unit.name : ""
|
||||
}).filter((unitName) => unitName)
|
||||
if (caseFilingResult === "SUGGESTION") {
|
||||
let suggestionOpinion = "经提案委员会审理,该提案作为意见建议。"
|
||||
if (masterUnitNames.length) {
|
||||
suggestionOpinion = "经提案委员会审理,该提案作为意见建议,此提案建议由"
|
||||
+ masterUnitNames.join("、") + "办理。"
|
||||
}
|
||||
this.$set(this.formData, "tf_opinion", suggestionOpinion)
|
||||
return
|
||||
}
|
||||
let opinion = "经提案工作委员会研究,符合提案立案条件,予以立案。"
|
||||
if (masterUnitNames.length) {
|
||||
opinion = "经提案工作委员会研究,符合提案立案条件,予以立案,此提案建议由"
|
||||
+ masterUnitNames.join("、") + "办理,"
|
||||
+ (slaveUnitNames.length ? "由" + slaveUnitNames.join("、") + "协办。" : "暂无协办。")
|
||||
}
|
||||
this.$set(this.formData, "tf_opinion", opinion)
|
||||
},
|
||||
onOpen(selection, formData) {
|
||||
this.selection = selection
|
||||
@@ -144,10 +184,15 @@ const merge = {
|
||||
},
|
||||
// 查询办理单位
|
||||
listUnderTake() {
|
||||
// 并案弹窗初始化期间同步遮罩预选提案表格,避免辅助数据未就绪时继续操作。
|
||||
this.$set(this, "tableLoading", true)
|
||||
this.$axios.post("/platform/proposal/common/listUnderTake").then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.underTakeOptions = res.data
|
||||
this.updateFilingOpinion()
|
||||
}
|
||||
}).finally(() => {
|
||||
this.$set(this, "tableLoading", false)
|
||||
})
|
||||
},
|
||||
handleTaskAction(val) {
|
||||
|
||||
+42
-1
@@ -67,7 +67,7 @@ layout("/layouts/platform.html"){
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" ref="tableRef" row-key="id" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" ref="tableRef" row-key="id" style="width: 100%">
|
||||
<el-table-column type="selection" width="50" fixed="left" v-if="!pageForm.approval"></el-table-column>
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"
|
||||
fixed="left"></el-table-column>
|
||||
@@ -139,6 +139,7 @@ layout("/layouts/platform.html"){
|
||||
prop="tf_masterUnitIds"
|
||||
>
|
||||
<el-select v-model="formData.tf_masterUnitIds" filterable clearable multiple
|
||||
@change="updateFilingOpinion"
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in underTakeOptions"
|
||||
@@ -154,6 +155,7 @@ layout("/layouts/platform.html"){
|
||||
prop="tf_slaveUnitIds"
|
||||
>
|
||||
<el-select v-model="formData.tf_slaveUnitIds" filterable clearable multiple
|
||||
@change="updateFilingOpinion"
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in underTakeOptions"
|
||||
@@ -252,12 +254,50 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
if (caseFilingResult === "SUGGESTION") {
|
||||
this.$set(this.formData, "tf_slaveUnitIds", [])
|
||||
this.updateFilingOpinion()
|
||||
return
|
||||
}
|
||||
if (caseFilingResult !== "CONFIRM_FILING") {
|
||||
this.$set(this.formData, "tf_masterUnitIds", [])
|
||||
this.$set(this.formData, "tf_slaveUnitIds", [])
|
||||
}
|
||||
this.updateFilingOpinion()
|
||||
},
|
||||
/**
|
||||
* 确认承办单位时,根据确定立案的主协办单位或工作建议的办理单位生成审核意见。
|
||||
* 单位数据尚未加载完成时保留默认意见,加载完成后再次补充实际单位名称。
|
||||
*/
|
||||
updateFilingOpinion() {
|
||||
const caseFilingResult = this.formData.tf_caseFilingResult
|
||||
if (!["CONFIRM_FILING", "SUGGESTION"].includes(caseFilingResult)) {
|
||||
return
|
||||
}
|
||||
const masterUnitIds = this.formData.tf_masterUnitIds || []
|
||||
const slaveUnitIds = this.formData.tf_slaveUnitIds || []
|
||||
const masterUnitNames = masterUnitIds.map((unitId) => {
|
||||
const unit = this.underTakeOptions.find((item) => item.id === unitId)
|
||||
return unit ? unit.name : ""
|
||||
}).filter((unitName) => unitName)
|
||||
const slaveUnitNames = slaveUnitIds.map((unitId) => {
|
||||
const unit = this.underTakeOptions.find((item) => item.id === unitId)
|
||||
return unit ? unit.name : ""
|
||||
}).filter((unitName) => unitName)
|
||||
if (caseFilingResult === "SUGGESTION") {
|
||||
let suggestionOpinion = "经提案委员会审理,该提案作为意见建议。"
|
||||
if (masterUnitNames.length) {
|
||||
suggestionOpinion = "经提案委员会审理,该提案作为意见建议,此提案建议由"
|
||||
+ masterUnitNames.join("、") + "办理。"
|
||||
}
|
||||
this.$set(this.formData, "tf_opinion", suggestionOpinion)
|
||||
return
|
||||
}
|
||||
let opinion = "经提案工作委员会研究,符合提案立案条件,予以立案。"
|
||||
if (masterUnitNames.length) {
|
||||
opinion = "经提案工作委员会研究,符合提案立案条件,予以立案,此提案建议由"
|
||||
+ masterUnitNames.join("、") + "办理,"
|
||||
+ (slaveUnitNames.length ? "由" + slaveUnitNames.join("、") + "协办。" : "暂无协办。")
|
||||
}
|
||||
this.$set(this.formData, "tf_opinion", opinion)
|
||||
},
|
||||
doUpData(){
|
||||
this.$.axios.post(loc()+"/doUpData")
|
||||
@@ -471,6 +511,7 @@ layout("/layouts/platform.html"){
|
||||
this.$axios.post("/platform/proposal/common/listUnderTake").then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.underTakeOptions = res.data
|
||||
this.updateFilingOpinion()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ layout("/layouts/platform.html"){
|
||||
|
||||
<el-card shadow="never">
|
||||
<table-tool :columns.sync="tableColumns"></table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod" fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ layout("/layouts/platform.html"){
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod" fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ layout("/layouts/platform.html"){
|
||||
<el-radio-button :label="false">未反馈</el-radio-button>
|
||||
</el-radio-group>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"></el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
</el-radio-group>
|
||||
</table-tool>
|
||||
<el-table
|
||||
v-loading="tableLoading"
|
||||
:data="tableData"
|
||||
ref="tableRef"
|
||||
@sort-change="pageOrder"
|
||||
@@ -71,6 +72,8 @@
|
||||
|
||||
// 数据查询
|
||||
pageData() {
|
||||
// 邀请人员查询为组件自定义逻辑,请求结束后统一关闭表格加载状态。
|
||||
this.$set(this, "tableLoading", true)
|
||||
this.$axios
|
||||
.post("/platform/proposal/invite/listSeconder", {
|
||||
...this.pageForm,
|
||||
@@ -83,6 +86,9 @@
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
this.$set(this, "tableLoading", false)
|
||||
})
|
||||
},
|
||||
|
||||
//查询代表团
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ layout("/layouts/platform.html"){
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"></el-table-column>
|
||||
<el-table-column label="提案编号" prop="code" sortable="custom"></el-table-column>
|
||||
<el-table-column label="提案名称" prop="name" sortable="custom" show-overflow-tooltip></el-table-column>
|
||||
|
||||
@@ -27,7 +27,7 @@ layout("/layouts/platform.html"){
|
||||
@click="openImport">导入提案
|
||||
</el-button>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod" fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
@@ -175,7 +175,7 @@ layout("/layouts/platform.html"){
|
||||
<el-radio-button :label="false">可邀请</el-radio-button>
|
||||
</el-radio-group>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" ref="tableRef" @sort-change="pageOrder" header-align="center"
|
||||
<el-table v-loading="tableLoading" :data="tableData" ref="tableRef" @sort-change="pageOrder" header-align="center"
|
||||
style="width: 100%" :row-key="getRowKey">
|
||||
<el-table-column type="selection" reserve-selection
|
||||
v-if="!pageForm.isInvite"></el-table-column>
|
||||
@@ -196,7 +196,7 @@ layout("/layouts/platform.html"){
|
||||
<el-divider class="mt10 mb10"></el-divider>
|
||||
<div v-if="$refs.tableRef">
|
||||
<table-tool label="当前已选择"></table-tool>
|
||||
<el-table :data="$refs.tableRef.selection">
|
||||
<el-table v-loading="tableLoading" :data="$refs.tableRef.selection">
|
||||
<el-table-column label="序号" width="50px" type="index"></el-table-column>
|
||||
<el-table-column label="工号" prop="loginName" sortable></el-table-column>
|
||||
<el-table-column label="姓名" prop="userName" sortable></el-table-column>
|
||||
|
||||
+4
@@ -76,6 +76,8 @@ const PROPOSAL_INVITE_SECONDER_COMPONENT = {
|
||||
})
|
||||
},
|
||||
pageData() {
|
||||
// 附议人弹窗使用组件自己的加载状态,避免主列表与弹窗同时转圈。
|
||||
this.$set(this, "tableLoading", true)
|
||||
this.$axios.post("/platform/proposal/mine/listSeconder", {
|
||||
...this.pageForm,
|
||||
sessionId: this.record.sessionId,
|
||||
@@ -85,6 +87,8 @@ const PROPOSAL_INVITE_SECONDER_COMPONENT = {
|
||||
this.tableData = res.data.list
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
}
|
||||
}).finally(() => {
|
||||
this.$set(this, "tableLoading", false)
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ layout("/layouts/platform.html"){
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod" fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
|
||||
+1
-1
@@ -65,7 +65,7 @@ layout("/layouts/platform.html"){
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod" fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ layout("/layouts/platform.html"){
|
||||
<el-radio-button :label="false">未附议</el-radio-button>
|
||||
</el-radio-group>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"
|
||||
fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
|
||||
+1
-1
@@ -102,7 +102,7 @@ layout("/layouts/platform.html"){
|
||||
<el-radio-button :label="false">未反馈</el-radio-button>
|
||||
</el-radio-group>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod" fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ layout("/layouts/platform.html"){
|
||||
</el-card>
|
||||
<el-card shadow="never">
|
||||
<table-tool label="提案列表" :columns.sync="tableColumns"></table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod" fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
|
||||
+1
@@ -47,6 +47,7 @@ layout("/layouts/platform.html"){
|
||||
<!-- </el-radio-group>-->
|
||||
</table-tool>
|
||||
<el-table
|
||||
v-loading="tableLoading"
|
||||
:data="tableData"
|
||||
@sort-change="pageOrder"
|
||||
header-align="center"
|
||||
|
||||
+1
-1
@@ -102,7 +102,7 @@ layout("/layouts/platform.html"){
|
||||
<el-radio-button :label="false">未答复</el-radio-button>
|
||||
</el-radio-group>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod" fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ layout("/layouts/platform.html"){
|
||||
<!-- <el-radio-button :label="false">未审核</el-radio-button>-->
|
||||
<!-- </el-radio-group>-->
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table v-loading="tableLoading" :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
|
||||
Reference in New Issue
Block a user