bug整改
This commit is contained in:
+1
-1
@@ -94,7 +94,7 @@ public class OpinionOfficeAuditController {
|
||||
cnd.andEX("info.sessionId", "=", sessionId);
|
||||
// cnd.and("t.taskName", "=", "office");
|
||||
cnd.and("t.taskName", "=", "schoolAudit");
|
||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||
// cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||
|
||||
if (approval) {
|
||||
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
||||
|
||||
@@ -76,26 +76,26 @@ public class OpinionInfo extends BaseModel {
|
||||
private String delegationId;
|
||||
|
||||
@Column
|
||||
@Comment("建议人ID")
|
||||
@Comment("记录人ID")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String suggestUserId;
|
||||
|
||||
@Column
|
||||
@Comment("建议人name")
|
||||
@Comment("记录人name")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String suggestUserName;
|
||||
|
||||
@Column
|
||||
@Comment("建议人code")
|
||||
@Comment("记录人code")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 120)
|
||||
private String suggestUserLoginName;
|
||||
|
||||
@Column
|
||||
@Comment("建议人所属代表团ID")
|
||||
@Comment("记录人所属讨论组ID")
|
||||
private String suggestUserDelegationId;
|
||||
|
||||
@Column
|
||||
@Comment("建议人所属代表团名称")
|
||||
@Comment("记录人所属讨论组名称")
|
||||
private String suggestUserDelegationName;
|
||||
|
||||
@Column
|
||||
|
||||
@@ -12,10 +12,10 @@ const OPINION_INFO = {
|
||||
</h3>
|
||||
<el-descriptions :column="3" border>
|
||||
<el-descriptions-item label="意见编号">{{ viewData.code }}</el-descriptions-item>
|
||||
<el-descriptions-item label="意见人">{{viewData.createUserName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="建议人">{{viewData.createUserName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="意见时间">{{ viewData.createTime }}</el-descriptions-item>
|
||||
<el-descriptions-item label="教代会届次"> {{ viewData.sessionName || '暂无' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="意见人单位">{{ viewData.unitName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="建议人单位">{{ viewData.unitName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="代表团名称">{{ viewData.delegationName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="意见类别">
|
||||
{{viewData.typeName}}
|
||||
|
||||
+7
-3
@@ -13,8 +13,8 @@ layout("/layouts/platform.html"){
|
||||
v-for="item in sessionOptions"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="意见名称">
|
||||
<el-input v-model="pageForm.name" placeholder="请输入意见名称" @keyup.enter.native="doSearch" clearable
|
||||
<search-item label="意见和建议">
|
||||
<el-input v-model="pageForm.name" placeholder="请输入意见和建议" @keyup.enter.native="doSearch" clearable
|
||||
style="width: 100%"></el-input>
|
||||
</search-item>
|
||||
<search-item label="姓名/工号">
|
||||
@@ -105,8 +105,12 @@ layout("/layouts/platform.html"){
|
||||
return {
|
||||
tableColumns: [
|
||||
{label: "意见编号", prop: "code"},
|
||||
{label: "意见名称", prop: "name", width: "200px"},
|
||||
{label: "意见和建议", prop: "name", width: "200px"},
|
||||
{label: "意见类别", prop: "typeName"},
|
||||
{label: "建议人", prop: "createUserName"},
|
||||
{label: "建议人所属代表团", prop: "delegationName"},
|
||||
{label: "记录人", prop: "suggestUserName"},
|
||||
{label: "记录人所属讨论组", prop: "suggestUserDelegationName"},
|
||||
{label: "届次", prop: "sessionName"},
|
||||
{label: "代表团", prop: "delegationName"},
|
||||
{label: "当前节点", prop: "curTaskName"},
|
||||
|
||||
@@ -15,8 +15,8 @@ layout("/layouts/platform.html"){
|
||||
v-for="item in sessionOptions"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="意见名称">
|
||||
<el-input v-model="pageForm.name" placeholder="请输入意见名称" @keyup.enter.native="doSearch" clearable
|
||||
<search-item label="意见和建议">
|
||||
<el-input v-model="pageForm.name" placeholder="请输入意见和建议" @keyup.enter.native="doSearch" clearable
|
||||
style="width: 100%"></el-input>
|
||||
</search-item>
|
||||
</search>
|
||||
@@ -84,11 +84,13 @@ layout("/layouts/platform.html"){
|
||||
businessNo: null,
|
||||
tableColumns: [
|
||||
{label: "意见编号", prop: "code"},
|
||||
{label: "意见名称", prop: "name", width: "200px"},
|
||||
{label: "意见和建议", prop: "name", width: "200px"},
|
||||
{label: "建议人", prop: "createUserName"},
|
||||
{label: "建议人所属代表团", prop: "delegationName"},
|
||||
{label: "记录人", prop: "suggestUserName"},
|
||||
{label: "记录人所属讨论组", prop: "suggestUserDelegationName"},
|
||||
{label: "意见类别", prop: "typeName"},
|
||||
{label: "届次", prop: "sessionName"},
|
||||
{label: "建议人所属代表团", prop: "delegationName"},
|
||||
{label: "当前节点", prop: "curTaskName"},
|
||||
{label: "流程状态", prop: "instanceState"}
|
||||
]
|
||||
|
||||
+7
-7
@@ -13,8 +13,8 @@ layout("/layouts/platform.html"){
|
||||
v-for="item in sessionOptions"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="意见名称">
|
||||
<el-input v-model="pageForm.name" placeholder="请输入意见名称" @keyup.enter.native="doSearch" clearable
|
||||
<search-item label="意见和建议">
|
||||
<el-input v-model="pageForm.name" placeholder="请输入意见和建议" @keyup.enter.native="doSearch" clearable
|
||||
style="width: 100%"></el-input>
|
||||
</search-item>
|
||||
<search-item label="姓名/工号">
|
||||
@@ -25,10 +25,6 @@ layout("/layouts/platform.html"){
|
||||
|
||||
<el-card shadow="never">
|
||||
<table-tool :columns.sync="tableColumns">
|
||||
<el-radio-group v-model="pageForm.approval" size="small" @change="doSearch">
|
||||
<el-radio-button :label="true">已审核</el-radio-button>
|
||||
<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-column label="序号" width="50" type="index" :index="indexMethod" fixed="left"></el-table-column>
|
||||
@@ -129,8 +125,12 @@ layout("/layouts/platform.html"){
|
||||
return {
|
||||
tableColumns: [
|
||||
{label: "意见编号", prop: "code"},
|
||||
{label: "意见名称", prop: "name", width: "200px"},
|
||||
{label: "意见和建议", prop: "name", width: "200px"},
|
||||
{label: "意见类别", prop: "typeName"},
|
||||
{label: "建议人", prop: "createUserName"},
|
||||
{label: "建议人所属代表团", prop: "delegationName"},
|
||||
{label: "记录人", prop: "suggestUserName"},
|
||||
{label: "记录人所属讨论组", prop: "suggestUserDelegationName"},
|
||||
{label: "届次", prop: "sessionName"},
|
||||
{label: "代表团", prop: "delegationName"},
|
||||
{label: "当前节点", prop: "curTaskName"},
|
||||
|
||||
+7
-3
@@ -13,8 +13,8 @@ layout("/layouts/platform.html"){
|
||||
v-for="item in sessionOptions"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="意见名称">
|
||||
<el-input v-model="pageForm.name" placeholder="请输入意见名称" @keyup.enter.native="doSearch" clearable
|
||||
<search-item label="意见和建议">
|
||||
<el-input v-model="pageForm.name" placeholder="请输入意见和建议" @keyup.enter.native="doSearch" clearable
|
||||
style="width: 100%"></el-input>
|
||||
</search-item>
|
||||
<search-item label="姓名/工号">
|
||||
@@ -152,8 +152,12 @@ layout("/layouts/platform.html"){
|
||||
return {
|
||||
tableColumns: [
|
||||
{label: "意见编号", prop: "code"},
|
||||
{label: "意见名称", prop: "name", width: "200px"},
|
||||
{label: "意见和建议", prop: "name", width: "200px"},
|
||||
{label: "意见类别", prop: "typeName"},
|
||||
{label: "建议人", prop: "createUserName"},
|
||||
{label: "建议人所属代表团", prop: "delegationName"},
|
||||
{label: "记录人", prop: "suggestUserName"},
|
||||
{label: "记录人所属讨论组", prop: "suggestUserDelegationName"},
|
||||
{label: "届次", prop: "sessionName"},
|
||||
{label: "代表团", prop: "delegationName"},
|
||||
{label: "当前节点", prop: "curTaskName"},
|
||||
|
||||
+7
-3
@@ -13,8 +13,8 @@ layout("/layouts/platform.html"){
|
||||
v-for="item in sessionOptions"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="意见名称">
|
||||
<el-input v-model="pageForm.name" placeholder="请输入意见名称" @keyup.enter.native="doSearch" clearable
|
||||
<search-item label="意见和建议">
|
||||
<el-input v-model="pageForm.name" placeholder="请输入意见和建议" @keyup.enter.native="doSearch" clearable
|
||||
style="width: 100%"></el-input>
|
||||
</search-item>
|
||||
<search-item label="姓名/工号">
|
||||
@@ -81,8 +81,12 @@ layout("/layouts/platform.html"){
|
||||
return {
|
||||
tableColumns: [
|
||||
{label: "意见编号", prop: "code"},
|
||||
{label: "意见名称", prop: "name", width: "200px"},
|
||||
{label: "意见和建议", prop: "name", width: "200px"},
|
||||
{label: "意见类别", prop: "typeName"},
|
||||
{label: "建议人", prop: "createUserName"},
|
||||
{label: "建议人所属代表团", prop: "delegationName"},
|
||||
{label: "记录人", prop: "suggestUserName"},
|
||||
{label: "记录人所属讨论组", prop: "suggestUserDelegationName"},
|
||||
{label: "届次", prop: "sessionName"},
|
||||
{label: "代表团", prop: "delegationName"},
|
||||
{label: "当前节点", prop: "curTaskName"},
|
||||
|
||||
+7
-3
@@ -13,8 +13,8 @@ layout("/layouts/platform.html"){
|
||||
v-for="item in sessionOptions"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="意见名称">
|
||||
<el-input v-model="pageForm.name" placeholder="请输入意见名称" @keyup.enter.native="doSearch" clearable
|
||||
<search-item label="意见和建议">
|
||||
<el-input v-model="pageForm.name" placeholder="请输入意见和建议" @keyup.enter.native="doSearch" clearable
|
||||
style="width: 100%"></el-input>
|
||||
</search-item>
|
||||
<search-item label="姓名/工号">
|
||||
@@ -70,8 +70,12 @@ layout("/layouts/platform.html"){
|
||||
return {
|
||||
tableColumns: [
|
||||
{label: "意见编号", prop: "code"},
|
||||
{label: "意见名称", prop: "name", width: "200px"},
|
||||
{label: "意见和建议", prop: "name", width: "200px"},
|
||||
{label: "意见类别", prop: "typeName"},
|
||||
{label: "建议人", prop: "createUserName"},
|
||||
{label: "建议人所属代表团", prop: "delegationName"},
|
||||
{label: "记录人", prop: "suggestUserName"},
|
||||
{label: "记录人所属讨论组", prop: "suggestUserDelegationName"},
|
||||
{label: "届次", prop: "sessionName"},
|
||||
{label: "代表团", prop: "delegationName"},
|
||||
{label: "流程状态", prop: "instanceState"}
|
||||
|
||||
+7
-3
@@ -13,8 +13,8 @@ layout("/layouts/platform.html"){
|
||||
v-for="item in sessionOptions"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="意见名称">
|
||||
<el-input v-model="pageForm.name" placeholder="请输入意见名称" @keyup.enter.native="doSearch" clearable
|
||||
<search-item label="意见和建议">
|
||||
<el-input v-model="pageForm.name" placeholder="请输入意见和建议" @keyup.enter.native="doSearch" clearable
|
||||
style="width: 100%"></el-input>
|
||||
</search-item>
|
||||
<search-item label="姓名/工号">
|
||||
@@ -111,8 +111,12 @@ layout("/layouts/platform.html"){
|
||||
return {
|
||||
tableColumns: [
|
||||
{label: "意见编号", prop: "code"},
|
||||
{label: "意见名称", prop: "name", width: "200px"},
|
||||
{label: "意见和建议", prop: "name", width: "200px"},
|
||||
{label: "意见类别", prop: "typeName"},
|
||||
{label: "建议人", prop: "createUserName"},
|
||||
{label: "建议人所属代表团", prop: "delegationName"},
|
||||
{label: "记录人", prop: "suggestUserName"},
|
||||
{label: "记录人所属讨论组", prop: "suggestUserDelegationName"},
|
||||
{label: "届次", prop: "sessionName"},
|
||||
{label: "代表团", prop: "delegationName"},
|
||||
{label: "承办单位", prop: "underTakeName"},
|
||||
|
||||
@@ -87,7 +87,8 @@ const BASIC_FORM = {
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col> <el-col :span="12">
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="意见类别" prop="typeId">
|
||||
<el-select v-model="formData.typeId" style="width: 100%" placeholder="请选择意见类别">
|
||||
<el-option
|
||||
@@ -101,19 +102,13 @@ const BASIC_FORM = {
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20" type="flex">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="意见名称" prop="name">
|
||||
<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="createTime">
|
||||
<el-input readonly v-model="formData.createTime" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12"></el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item label="建议承办单位" prop="suggestUnits">
|
||||
<el-select v-model="formData.suggestUnits" multiple filterable style="width: 100%" placeholder="请选择建议承办单位">
|
||||
<el-option
|
||||
@@ -125,8 +120,8 @@ const BASIC_FORM = {
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="意见和建议" prop="brief">
|
||||
<text-editor v-model="formData.brief" key="brief" placeholder="请输入意见和建议"></text-editor>
|
||||
<el-form-item label="意见和建议" prop="name">
|
||||
<el-input v-model="formData.name" key="name" placeholder="请输入意见和建议" type="textarea" maxlength="100"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<!-- <el-form-item label="工作措施" prop="measures">-->
|
||||
@@ -158,10 +153,9 @@ const BASIC_FORM = {
|
||||
sessionId: [{ required: true, message: "请选择所属教代会", trigger: ["blur", "change"] }],
|
||||
suggestUserId: [{ required: true, message: "请选择建议人", trigger: ["blur", "change"] }],
|
||||
suggestUserDelegationName: [{ required: true, message: "请先选择建议人并自动带出所属代表团", trigger: ["blur", "change"] }],
|
||||
name: [{ required: true, message: "请输入意见名称", trigger: ["blur", "change"] }],
|
||||
name: [{ required: true, message: "请输入意见和建议", trigger: ["blur", "change"] }],
|
||||
typeId: [{ required: true, message: "请选择意见类别", trigger: ["blur", "change"] }],
|
||||
suggestUnits: [{ required: true, message: "请选择建议承办单位", trigger: ["blur", "change"] }],
|
||||
brief: [{ required: true, message: "请输入意见和建议", trigger: ["blur", "change"] }],
|
||||
measures: [{ required: true, message: "请输入工作措施", trigger: ["blur", "change"] }],
|
||||
unitName: [{ required: true, message: "请先选择建议人自动带出单位", trigger: ["blur", "change"] }],
|
||||
mobile: [{ required: true, message: "请输入联系电话", trigger: ["blur", "change"] }]
|
||||
@@ -318,6 +312,18 @@ const BASIC_FORM = {
|
||||
this.formData.createUserName = currentUser.username
|
||||
this.formData.createUserLoginName = currentUser.loginname
|
||||
},
|
||||
getObjectValue(data, camelKey, lowerKey) {
|
||||
if (!data) {
|
||||
return ""
|
||||
}
|
||||
if (data[camelKey] !== undefined && data[camelKey] !== null) {
|
||||
return data[camelKey]
|
||||
}
|
||||
if (data[lowerKey] !== undefined && data[lowerKey] !== null) {
|
||||
return data[lowerKey]
|
||||
}
|
||||
return ""
|
||||
},
|
||||
normalizeDetailFormData(data) {
|
||||
// Convert persisted model fields back into the current page layout fields during detail echo.
|
||||
// The detail API may return lower-case keys, so echo must support both camelCase and lower-case names.
|
||||
@@ -404,6 +410,28 @@ const BASIC_FORM = {
|
||||
}
|
||||
})
|
||||
},
|
||||
ensureDiscussionGroupOption(groupId) {
|
||||
if (!groupId) {
|
||||
return Promise.resolve()
|
||||
}
|
||||
if (this.discussionGroupOptions.find((item) => item.id === groupId)) {
|
||||
return Promise.resolve()
|
||||
}
|
||||
// Keep the current discussion group visible during edit echo even if it is outside the filtered option list.
|
||||
return this.$axios.post("/platform/opinion/write/discussionGroupDetail", { id: groupId }).then((res) => {
|
||||
if (res.code !== 0 || !res.data) {
|
||||
return
|
||||
}
|
||||
this.discussionGroupOptions = this.mergeOptions(this.discussionGroupOptions, [{
|
||||
id: this.getObjectValue(res.data, "id", "id"),
|
||||
code: this.getObjectValue(res.data, "code", "code"),
|
||||
name: this.getObjectValue(res.data, "name", "name"),
|
||||
recorderUserId: this.getObjectValue(res.data, "recorderUserId", "recorderuserid"),
|
||||
recorderUserCode: this.getObjectValue(res.data, "recorderUserCode", "recorderusercode"),
|
||||
recorderUserName: this.getObjectValue(res.data, "recorderUserName", "recorderusername")
|
||||
}], "id")
|
||||
})
|
||||
},
|
||||
async meetingChange() {
|
||||
this.formData.delegationId = ""
|
||||
this.fillCurrentRecorder()
|
||||
@@ -446,10 +474,10 @@ const BASIC_FORM = {
|
||||
return this.$axios.post("/platform/opinion/write/discussionGroupDetail", { id: groupId }).then((res) => {
|
||||
const selectedGroup = this.discussionGroupOptions.find((item) => item.id === groupId) || {}
|
||||
const group = res.code === 0 && res.data ? res.data : selectedGroup
|
||||
this.formData.createUserId = group.recorderUserId || selectedGroup.recorderUserId || ""
|
||||
this.formData.createUserName = group.recorderUserName || selectedGroup.recorderUserName || ""
|
||||
this.formData.createUserLoginName = group.recorderUserCode || selectedGroup.recorderUserCode || ""
|
||||
this.formData.discussionGroupName = group.name || selectedGroup.name || ""
|
||||
this.formData.createUserId = this.getObjectValue(group, "recorderUserId", "recorderuserid") || this.getObjectValue(selectedGroup, "recorderUserId", "recorderuserid")
|
||||
this.formData.createUserName = this.getObjectValue(group, "recorderUserName", "recorderusername") || this.getObjectValue(selectedGroup, "recorderUserName", "recorderusername")
|
||||
this.formData.createUserLoginName = this.getObjectValue(group, "recorderUserCode", "recorderusercode") || this.getObjectValue(selectedGroup, "recorderUserCode", "recorderusercode")
|
||||
this.formData.discussionGroupName = this.getObjectValue(group, "name", "name") || this.getObjectValue(selectedGroup, "name", "name")
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addForm && this.$refs.addForm.clearValidate(["createUserId"])
|
||||
})
|
||||
@@ -524,9 +552,7 @@ const BASIC_FORM = {
|
||||
}
|
||||
await this.listSession(true)
|
||||
await this.listDiscussionGroup()
|
||||
if (this.discussionGroupOptions.length && !this.discussionGroupOptions.find((item) => item.id === this.formData.delegationId)) {
|
||||
this.formData.delegationId = this.discussionGroupOptions[0].id
|
||||
}
|
||||
await this.ensureDiscussionGroupOption(this.formData.delegationId)
|
||||
if (this.formData.suggestUserId) {
|
||||
this.suggestUserOptions = [{
|
||||
id: this.formData.suggestUserId,
|
||||
|
||||
+5
-5
@@ -18,11 +18,11 @@ layout("/layouts/platform.html"){
|
||||
<el-button slot="append" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</el-input>
|
||||
</search-item>
|
||||
<search-item label="代表团编码">
|
||||
<el-input clearable placeholder="请输入代表团编码" v-model="pageForm.delegationCode" @keyup.enter.native="doSearch"></el-input>
|
||||
</search-item>
|
||||
<search-item label="记录人">
|
||||
<el-input clearable placeholder="请输入记录人姓名或编码" v-model="pageForm.recorderUserName" @keyup.enter.native="doSearch"></el-input>
|
||||
</search-item>
|
||||
<search-item label="代表团编码">
|
||||
<el-input clearable placeholder="请输入代表团编码" v-model="pageForm.delegationCode" @keyup.enter.native="doSearch"></el-input>
|
||||
<el-input clearable placeholder="请输入记录人姓名或工号" v-model="pageForm.recorderUserName" @keyup.enter.native="doSearch"></el-input>
|
||||
</search-item>
|
||||
</search>
|
||||
</el-card>
|
||||
@@ -37,7 +37,7 @@ layout("/layouts/platform.html"){
|
||||
<el-table :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%">
|
||||
<el-table-column type="index" :index="indexMethod" label="序号" width="70"></el-table-column>
|
||||
<el-table-column prop="code" label="讨论组编码" min-width="140"></el-table-column>
|
||||
<el-table-column prop="name" label="讨论组名称" min-width="180"></el-table-column>
|
||||
<el-table-column prop="name" label="讨论组名称" min-width="180" sortable></el-table-column>
|
||||
<el-table-column prop="recorderUserName" label="记录人" min-width="140">
|
||||
<template slot-scope="{row}">
|
||||
{{ row.recorderUserName }}<span v-if="row.recorderUserCode">({{ row.recorderUserCode }})</span>
|
||||
|
||||
Reference in New Issue
Block a user