first commit
This commit is contained in:
@@ -0,0 +1,290 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.query-row {
|
||||
height: 70px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.query-row:not(:last-child) {
|
||||
border-bottom: 1px dashed rgb(230, 230, 230);
|
||||
}
|
||||
|
||||
.query-row-title {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.el-table-container {
|
||||
padding-top: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<!--# include("/platform/proposal/include/searchCnd.html"){}#-->
|
||||
|
||||
<el-card shadow="never" style="margin-top: 10px">
|
||||
|
||||
<table-tool label="提案信息" :app="this">
|
||||
<template #func>
|
||||
<el-button @click="exportAllProposal" type="primary" size="small">导出立案汇总表</el-button>
|
||||
</template>
|
||||
</table-tool>
|
||||
|
||||
|
||||
<el-table :data="tableData" style="width: 100%" stripe border
|
||||
:header-cell-style="{background:'#FAFAFA'}" row-key="id" @sort-change="pageOrder"
|
||||
v-loading="tableLoading">
|
||||
|
||||
<el-table-column align="center" header-align="center" type="index" :index="indexMethod"
|
||||
label="序号"
|
||||
width="80px"></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
align="center"
|
||||
header-align="center"
|
||||
v-for="column in tableColumns"
|
||||
show-overflow-tooltip
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
>
|
||||
<template scope="{row}" v-if="column.prop=='proposalName'">
|
||||
<el-link @click="openView(row)" type="primary">{{ row.proposalName }}</el-link>
|
||||
</template>
|
||||
<template scope="{row:{resultName}}" v-else-if="column.prop==='resultName'">
|
||||
{{resultName?resultName:'暂无' }}
|
||||
</template>
|
||||
<template v-else-if="column.prop==='pruMaster'" scope="{row:{pruMaster}}">
|
||||
{{pruMaster?pruMaster:'暂无' }}
|
||||
</template>
|
||||
<template v-else-if="column.prop==='pruSlave'" scope="{row:{pruSlave}}">
|
||||
{{pruSlave?pruSlave:'暂无' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" header-align="center" label="操作"
|
||||
fixed="right" width="130px">
|
||||
<template scope="{row}">
|
||||
<el-button size="mini" icon="el-icon-printer" type="primary"
|
||||
@click="oneProposalExport(row.id)">导出提案
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
</el-table>
|
||||
|
||||
|
||||
<!-- <proposal-table :loading="tableLoading" :page="pageForm" :data="tableData" @order="pageOrder"
|
||||
@view="openView">
|
||||
<template #column>
|
||||
<el-table-column label="提案结果" prop="resultName" align="center" header-align="center"
|
||||
sortable>
|
||||
<template scope="{row:{resultName}}">
|
||||
<span>{{ resultName?resultName:'暂无' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="主办单位" prop="pruMaster" align="center" header-align="center"
|
||||
sortable>
|
||||
<template scope="{row:{pruMaster}}">
|
||||
<span>{{ pruMaster?pruMaster:'暂无' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="协办单位" prop="pruSlave" align="center" header-align="center"
|
||||
sortable>
|
||||
<template scope="{row:{pruSlave}}">
|
||||
<span>{{ pruSlave?pruSlave:'暂无' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
</template>
|
||||
</proposal-table>-->
|
||||
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<proposal-info ref="info"></proposal-info>
|
||||
</template>
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
resultOptions: [],
|
||||
determineTypeOptions: [],
|
||||
typeOptions: [],
|
||||
meetingOptions: [],
|
||||
stateOptions: [],
|
||||
delegationOptions: [],
|
||||
undertakeOptions: [],
|
||||
unionOptions: [],
|
||||
unitOptions: [],
|
||||
pageForm: {
|
||||
searchName: "proposalName",
|
||||
searchName2: "su.username",
|
||||
searchKeyword2: '',
|
||||
stateCode: '',
|
||||
meetingId: '',
|
||||
unionId: '',
|
||||
unitId: '',
|
||||
delegationId: '',
|
||||
proposalResult: [],
|
||||
proposalTypes: [],
|
||||
proposalDetermineTypes: []
|
||||
},
|
||||
tableColumns: [
|
||||
{prop: 'proposalCode', label: '提案编号', width: "120", sortable: true, disabled: true},
|
||||
{prop: 'proposalName', label: '提案名称', width: "300", disabled: true},
|
||||
{prop: 'username', label: '提案人', disabled: true},
|
||||
{prop: 'typeCode', label: '提案类型编码', sortable: true, checked: 0},
|
||||
{prop: 'typeName', label: '提案类型', sortable: true},
|
||||
{prop: 'delegationCode', label: '代表团编码', sortable: true, checked: 0},
|
||||
{prop: 'delegationName', label: '代表团', sortable: true},
|
||||
// {prop: '1', label: '是否立案'},
|
||||
// {prop: '2', label: '重点提案', checked: 0},
|
||||
{prop: 'resultName', label: '立案结果'},
|
||||
{prop: 'pruMasterCode', label: '主办单位编码', sortable: true},
|
||||
{prop: 'pruMaster', label: '主办单位'},
|
||||
{prop: 'pruSlave', label: '协办单位'},
|
||||
],
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
||||
'proposal-info': httpVueLoader('/components/proposal/ProposalInfo.vue'),
|
||||
'proposal-table': httpVueLoader('/components/proposal/ProposalTable.vue'),
|
||||
},
|
||||
methods: {
|
||||
exportAllProposal() {
|
||||
const proposalTypes = JSON.stringify(this.pageForm.proposalTypes)
|
||||
const proposalResult = JSON.stringify(this.pageForm.proposalResult)
|
||||
const searchName2 = this.pageForm.searchName2
|
||||
const searchKeyword2 = this.pageForm.searchKeyword2
|
||||
const stateCode = this.pageForm.stateCode
|
||||
const searchKeyword = this.pageForm.searchKeyword
|
||||
const searchName = this.pageForm.searchName
|
||||
const delegationId = this.pageForm.delegationId
|
||||
const unionId = this.pageForm.unionId
|
||||
const unitId = this.pageForm.unitId
|
||||
const meetingId = this.pageForm.meetingId
|
||||
let props = {}
|
||||
this.tableColumns.forEach(v => {
|
||||
props[v.prop] = v.label
|
||||
})
|
||||
window.open(loc() + "/exportAllProposal?proposalTypes=" + proposalTypes +
|
||||
"&proposalResult=" + proposalResult +
|
||||
"&searchName2=" + searchName2 +
|
||||
"&searchKeyword2=" + searchKeyword2 +
|
||||
"&stateCode=" + stateCode +
|
||||
"&searchKeyword=" + searchKeyword +
|
||||
"&searchName=" + searchName +
|
||||
"&delegationId=" + delegationId +
|
||||
"&unionId=" + unionId +
|
||||
"&unitId=" + unitId +
|
||||
"&meetingId=" + meetingId +
|
||||
"&props=" + JSON.stringify(props))
|
||||
},
|
||||
oneProposalExport(id) {
|
||||
window.open(loc() + '/oneProposalExport?proposalId=' + id)
|
||||
},
|
||||
async meetingChange(val) {
|
||||
this.pageForm.delegationId = ''
|
||||
this.delegationOptions = await proposal.getDelegation(val)
|
||||
this.undertakeOptions = await proposal.getUndertakeByMeeting(val)
|
||||
this.doSearch()
|
||||
},
|
||||
async delegationChange(val) {
|
||||
this.pageForm.unionId = null
|
||||
this.unionOptions = await getUnions(val)
|
||||
this.doSearch()
|
||||
},
|
||||
async unionChange(val) {
|
||||
this.pageForm.unitId = null
|
||||
this.unitOptions = await getUnits(val)
|
||||
this.doSearch()
|
||||
},
|
||||
tagToggle(optionsName, result) {
|
||||
let idx = this.pageForm[optionsName].indexOf(result)
|
||||
if (idx !== -1) {
|
||||
this.pageForm[optionsName].splice(idx, 1)
|
||||
} else {
|
||||
this.pageForm[optionsName].push(result)
|
||||
}
|
||||
this.doSearch()
|
||||
},
|
||||
|
||||
|
||||
checkProposalResult(result) {
|
||||
let idx = this.pageForm.proposalResult.indexOf(result)
|
||||
if (idx !== -1) {
|
||||
this.pageForm.proposalResult.splice(idx, 1)
|
||||
} else {
|
||||
this.pageForm.proposalResult.push(result)
|
||||
}
|
||||
this.doSearch()
|
||||
},
|
||||
checkProposalType(type) {
|
||||
let idx = this.pageForm.proposalTypes.indexOf(type)
|
||||
if (idx !== -1) {
|
||||
this.pageForm.proposalTypes.splice(idx, 1)
|
||||
} else {
|
||||
this.pageForm.proposalTypes.push(type)
|
||||
}
|
||||
this.doSearch()
|
||||
},
|
||||
openView(row) {
|
||||
this.$refs.guava.view()
|
||||
this.$refs.info.openView(row.id)
|
||||
},
|
||||
pageData() {
|
||||
sublime.showLoadingbar();
|
||||
this.tableLoading = true
|
||||
|
||||
const pageForm = clone(this.pageForm)
|
||||
pageForm.proposalTypes = JSON.stringify(pageForm.proposalTypes)
|
||||
pageForm.proposalResult = JSON.stringify(pageForm.proposalResult)
|
||||
pageForm.determineTypeOptions = JSON.stringify(pageForm.proposalDetermineTypes)
|
||||
|
||||
$.post(loc() + "/pageData", pageForm, (data) => {
|
||||
sublime.closeLoadingbar();
|
||||
this.tableLoading = false
|
||||
if (data.code === 0) {
|
||||
this.tableData = data.data.list;
|
||||
this.pageForm.totalCount = data.data.totalCount;
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.meetingOptions = await proposal.getAllMeeting()
|
||||
this.pageForm.meetingId = this.meetingOptions.length ? this.meetingOptions[0].id : ''
|
||||
|
||||
this.stateOptions = await proposal.getOpenProposalState()
|
||||
this.typeOptions = await proposal.getProposalType()
|
||||
this.resultOptions = await getDictOptions("proposal_result")
|
||||
this.determineTypeOptions = await getDictOptions("proposal_determine_type")
|
||||
|
||||
this.delegationOptions = await proposal.getDelegation(this.pageForm.meetingId)
|
||||
this.undertakeOptions = await proposal.getUndertakeByMeeting(this.pageForm.meetingId)
|
||||
this.unionOptions = await getUnions(null)
|
||||
this.unitOptions = await getUnits(null)
|
||||
this.pageData();
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,215 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<el-card shadow="never" class="mb20">
|
||||
<div class="d-search-item btn-group tool-button">
|
||||
<el-select v-model="pageForm.meetingId" placeholder="请选择教代会" @change="meetingChange"
|
||||
filterable>
|
||||
<el-option
|
||||
v-for="item in meetingOptions"
|
||||
:label="item.jdhallname"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="d-search-item btn-group tool-button">
|
||||
<el-input placeholder="请输入内容" clearable v-model="pageForm.searchKeyword"
|
||||
@keyup.enter.native="doSearch">
|
||||
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询类型"
|
||||
style="width: 110px;">
|
||||
<el-option label="提案名称" value="proposalName"></el-option>
|
||||
<el-option label="提案编号" value="proposalCode"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="d-search-item btn-group tool-button">
|
||||
<el-input placeholder="请输入内容" v-model="pageForm.username" @keyup.enter.native="doSearch" clearable>
|
||||
<template slot="prepend">提案人</template>
|
||||
</el-input>
|
||||
</div>
|
||||
|
||||
<div class="d-search-item btn-group tool-button">
|
||||
<el-select v-model="pageForm.leaderId" placeholder="请选择分管校领导" filterable clearable
|
||||
@change="leaderChange">
|
||||
<el-option
|
||||
v-for="i in leaderList"
|
||||
:label="i.username"
|
||||
:value="i.id"
|
||||
:key="i.id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="btn-group tool-button" style="margin-left: 10px">
|
||||
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
||||
</div>
|
||||
|
||||
<div style="position: absolute;right: 20px;top: 20px;">
|
||||
<el-button type="primary" @click="oneProposalExport">导出</el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="mt20">
|
||||
<table-tool :app="this" label="提案信息" ref="tableTool">
|
||||
|
||||
</table-tool>
|
||||
<el-table :data="tableData" v-loading="tableLoading" @sort-change="pageOrder"
|
||||
row-key="id"
|
||||
:key="tableKey"
|
||||
:size="tableSize"
|
||||
:tree-props="{children: 'children'}">
|
||||
<el-table-column align="center" header-align="center" label="序号" type="index" width="80">
|
||||
<template scope="scope">
|
||||
<span>{{ scope.$index + (pageForm.pageNumber - 1) * pageForm.pageSize + 1 }} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
align="center"
|
||||
header-align="center"
|
||||
show-overflow-tooltip
|
||||
v-for="column in tableColumns"
|
||||
>
|
||||
<template scope="{row}" v-if="column.prop=='proposalName'">
|
||||
<el-link @click="openView(row)" type="primary">{{ row.proposalName }}</el-link>
|
||||
</template>
|
||||
|
||||
<template scope="{row}" v-else-if="column.prop=='underTakeTypeName'">
|
||||
<span>{{row.underTakeTypeName}}</span>
|
||||
</template>
|
||||
|
||||
<template scope="{row}" v-else-if="column.prop=='secretary'">
|
||||
<span>{{row.secretaryUserName}}</span>
|
||||
</template>
|
||||
|
||||
<template scope="{row}" v-else-if="column.prop=='secretaryAuditInfo'">
|
||||
<span class="text-primary" v-if="row.secretaryAuditInfo">已审批</span>
|
||||
<span class="text-danger" v-else>未审批</span>
|
||||
</template>
|
||||
|
||||
<template scope="{row}" v-else-if="column.prop=='leaderUserName'">
|
||||
<span>{{row.leaderUserName}}</span>
|
||||
</template>
|
||||
<template scope="{row}" v-else-if="column.prop=='isAuditByLeaderSpla'">
|
||||
<span class="text-primary" v-if="row.isAuditByLeaderSpla">已审批</span>
|
||||
<span class="text-danger" v-else>未审批</span>
|
||||
</template>
|
||||
<template scope="{row}" v-else-if="column.prop=='isAuditByLeaderSpdf'">
|
||||
<template v-if="row.resultCode==='determine'">
|
||||
<span class="text-primary" v-if="row.isAuditByLeaderSpdf">已审批</span>
|
||||
<span class="text-danger" v-else>未审批</span>
|
||||
</template>
|
||||
<template v-else>
|
||||
<span class="text-muted">无需审批</span>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
|
||||
<!-- <template scope="{row}" v-else-if="column.prop=='isBranchLeaderAuditCase'">-->
|
||||
<!-- <span :class="[row.branchLeaderReadUserName?'text-primary':'']">{{row.branchLeaderReadUserName?'已审批立案':'未审批立案'}}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- <template scope="{row}" v-else-if="column.prop=='isSecretaryAuditCase'">-->
|
||||
<!-- <span :class="[row.secretaryReadUserName?'text-primary':'']">{{row.secretaryReadUserName?'已审批立案':'未审批立案'}}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- <template scope="{row}" v-else-if="column.prop=='leaderId'">-->
|
||||
<!-- <span :class="[row.leaderId?'text-primary':'']">{{row.leaderId?'已审批答复':'未审批答复'}}</span>-->
|
||||
<!-- </template>-->
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
|
||||
<template #view>
|
||||
<proposal-info ref="info"></proposal-info>
|
||||
</template>
|
||||
|
||||
</guava>
|
||||
</div>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
components: {
|
||||
'proposal-info': httpVueLoader('/components/proposal/ProposalInfo.vue'),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
meetingOptions: [],
|
||||
tableLoading: false,
|
||||
leaderList: [],
|
||||
pageForm: {
|
||||
searchName: "proposalName",
|
||||
leaderId: '',
|
||||
username: ''
|
||||
},
|
||||
tableColumns: [
|
||||
{prop: 'proposalCode', label: '提案编号', width: "120", sortable: true, disabled: true},
|
||||
{prop: 'proposalName', label: '提案名称', width: "300", disabled: true},
|
||||
{prop: 'username', label: '提案人', disabled: true},
|
||||
{prop: 'typeCode', label: '提案类型编码', sortable: true, checked: 0},
|
||||
{prop: 'typeName', label: '提案类型', sortable: true, checked: 0},
|
||||
{prop: 'unitName', label: '承办单位', sortable: true},
|
||||
{prop: 'underTakeTypeName', label: '承办类型', sortable: true},
|
||||
{prop: 'secretary', label: '校长、书记', sortable: true},
|
||||
{prop: 'secretaryAuditInfo', label: '校长、书记审批', sortable: true},
|
||||
{prop: 'leaderUserName', label: '分管校领导', sortable: true},
|
||||
{prop: 'isAuditByLeaderSpla', label: '审批立案', sortable: true},
|
||||
{prop: 'isAuditByLeaderSpdf', label: '审批答复', sortable: true}
|
||||
],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openView(row) {
|
||||
this.$refs.guava.view()
|
||||
this.$refs.info.openView(row.proposalId)
|
||||
},
|
||||
meetingChange() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.pageData()
|
||||
},
|
||||
leaderChange() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.pageData()
|
||||
},
|
||||
oneProposalExport() {
|
||||
const {meetingId, searchKeyword, searchName, username, leaderId} = this.pageForm
|
||||
window.open(loc() + "/exportAllProposal?meetingId=" + meetingId
|
||||
+ "&searchKeyword=" + searchKeyword
|
||||
+ "&searchName=" + searchName
|
||||
+ "&username=" + username
|
||||
+ "&leaderId=" + leaderId
|
||||
)
|
||||
},
|
||||
async getLeaderList() {
|
||||
const resp_data = await $.post(loc() + '/getLeaderList', this.pageForm)
|
||||
this.leaderList = resp_data.data
|
||||
},
|
||||
async initTableColumns() {
|
||||
// if (await proposal.getProposalIsNodeState(proposal.BRANCHLEADERREAD)) {
|
||||
// this.tableColumns.splice(5, 0, {prop: 'branchLeaderReadUserName', label: '分管校领导', sortable: true},
|
||||
// {prop: 'isBranchLeaderAuditCase', label: '审批立案', sortable: true})
|
||||
// }
|
||||
// if (await proposal.getProposalIsNodeState(proposal.PRINCIPALREAD)) {
|
||||
// this.tableColumns.splice(5, 0, {prop: 'secretaryReadUserName', label: '校长、书记', sortable: true},
|
||||
// {prop: 'isSecretaryAuditCase', label: '审批立案', sortable: true},)
|
||||
// }
|
||||
// //动态增加列 调用子组件生成列的方法重新生成
|
||||
// this.$refs['tableTool'].getColumns()
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.meetingOptions = await proposal.getAllMeeting()
|
||||
this.pageForm.meetingId = this.meetingOptions.length ? this.meetingOptions[0].id : ''
|
||||
await this.getLeaderList()
|
||||
this.pageData()
|
||||
this.initTableColumns()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,226 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.query-row {
|
||||
height: 70px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.query-row:not(:last-child) {
|
||||
border-bottom: 1px dashed rgb(230, 230, 230);
|
||||
}
|
||||
|
||||
.query-row-title {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.el-table-container {
|
||||
padding-top: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<!--# include("/platform/proposal/include/searchCnd.html"){}#-->
|
||||
|
||||
<el-card shadow="never" style="margin-top: 10px">
|
||||
<table-tool :app="this" label="提案信息">
|
||||
<template #func>
|
||||
|
||||
</template>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" :row-key="(row)=>{row.id}" :size="tableSize" @sort-change="pageOrder"
|
||||
align="center"
|
||||
header-align="center">
|
||||
<el-table-column align="center" header-align="center" label="序号" type="index" width="80">
|
||||
<template scope="scope">
|
||||
<span>{{ scope.$index + (pageForm.pageNumber - 1) * pageForm.pageSize + 1 }} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
:width="column.width"
|
||||
align="center"
|
||||
header-align="center"
|
||||
show-overflow-tooltip
|
||||
v-for="column in tableColumns"
|
||||
>
|
||||
<template scope="{row}" v-if="column.prop=='proposalName'">
|
||||
<el-link @click="openView(row)" type="primary">{{ row.proposalName }}</el-link>
|
||||
</template>
|
||||
<template scope="{row:{resultName}}" v-else-if="column.prop=='resultName'">
|
||||
<span>{{ resultName?resultName:'暂无' }}</span>
|
||||
</template>
|
||||
<template scope="{row:{pruMaster}}" v-else-if="column.prop==='pruMaster'">
|
||||
<span>{{ pruMaster?pruMaster:'暂无' }}</span>
|
||||
</template>
|
||||
<template scope="{row:{pruSlave}}" v-else-if="column.prop==='pruSlave'">
|
||||
<span>{{ pruSlave?pruSlave:'暂无' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" header-align="center" label="操作"
|
||||
label="操作" width="130px">
|
||||
<template scope="{row}">
|
||||
<el-button @click="oneProposalExport(row.id)" icon="el-icon-printer" size="mini"
|
||||
type="primary">导出提案
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<proposal-info ref="info"></proposal-info>
|
||||
</template>
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
resultOptions: [],
|
||||
typeOptions: [],
|
||||
meetingOptions: [],
|
||||
stateOptions: [],
|
||||
delegationOptions: [],
|
||||
undertakeOptions: [],
|
||||
unionOptions: [],
|
||||
unitOptions: [],
|
||||
pageForm: {
|
||||
searchName: "proposalName",
|
||||
searchName2: "su.username",
|
||||
searchKeyword2: '',
|
||||
stateCode: '',
|
||||
meetingId: '',
|
||||
delegationId: '',
|
||||
proposalResult: [],
|
||||
proposalTypes: [],
|
||||
proposalDetermineTypes: []
|
||||
},
|
||||
tableColumns: [
|
||||
{prop: 'proposalCode', label: '提案编号', width: "120", sortable: true, disabled: true},
|
||||
{prop: 'proposalName', label: '提案名称', width: "300", disabled: true},
|
||||
{prop: 'username', label: '提案人', disabled: true},
|
||||
{prop: 'typeCode', label: '提案类型编码', sortable: true, checked: 0},
|
||||
{prop: 'typeName', label: '提案类型', sortable: true},
|
||||
{prop: 'meetingName', label: '届次', sortable: true},
|
||||
{prop: 'delegationCode', label: '代表团编码', sortable: true, checked: 0},
|
||||
{prop: 'delegationName', label: '代表团', sortable: true},
|
||||
{prop: 'resultName', label: '立案结果', sortable: true},
|
||||
{prop: 'stateName', label: '提案状态', sortable: true},
|
||||
{prop: 'pruMaster', label: '主办单位', sortable: true},
|
||||
{prop: 'pruMasterCode', label: '主办单位编码', sortable: true, checked: 0},
|
||||
{prop: 'pruSlave', label: '协办单位', sortable: true},
|
||||
],
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
||||
'proposal-info': httpVueLoader('/components/proposal/ProposalInfo.vue'),
|
||||
'proposal-table': httpVueLoader('/components/proposal/ProposalTable.vue'),
|
||||
},
|
||||
methods: {
|
||||
oneProposalExport(id) {
|
||||
window.open(loc() + '/oneProposalExport?proposalId=' + id)
|
||||
},
|
||||
async meetingChange(val) {
|
||||
this.pageForm.delegationId = null
|
||||
this.delegationOptions = await proposal.getDelegation(val)
|
||||
this.undertakeOptions = await proposal.getUndertakeByMeeting(val)
|
||||
this.doSearch()
|
||||
},
|
||||
async delegationChange(val) {
|
||||
this.pageForm.unionId = null
|
||||
this.unionOptions = await getUnions(val)
|
||||
this.doSearch()
|
||||
},
|
||||
async unionChange(val) {
|
||||
this.pageForm.unitId = null
|
||||
this.unitOptions = await getUnits(val)
|
||||
this.doSearch()
|
||||
},
|
||||
tagToggle(optionsName, result) {
|
||||
let idx = this.pageForm[optionsName].indexOf(result)
|
||||
if (idx !== -1) {
|
||||
this.pageForm[optionsName].splice(idx, 1)
|
||||
} else {
|
||||
this.pageForm[optionsName].push(result)
|
||||
}
|
||||
this.doSearch()
|
||||
},
|
||||
checkProposalResult(result) {
|
||||
let idx = this.pageForm.proposalResult.indexOf(result)
|
||||
if (idx !== -1) {
|
||||
this.pageForm.proposalResult.splice(idx, 1)
|
||||
} else {
|
||||
this.pageForm.proposalResult.push(result)
|
||||
}
|
||||
this.doSearch()
|
||||
},
|
||||
checkProposalType(type) {
|
||||
let idx = this.pageForm.proposalTypes.indexOf(type)
|
||||
if (idx !== -1) {
|
||||
this.pageForm.proposalTypes.splice(idx, 1)
|
||||
} else {
|
||||
this.pageForm.proposalTypes.push(type)
|
||||
}
|
||||
this.doSearch()
|
||||
},
|
||||
openView(row) {
|
||||
this.$refs.guava.view()
|
||||
this.$refs.info.openView(row.id)
|
||||
},
|
||||
pageData() {
|
||||
sublime.showLoadingbar();
|
||||
this.tableLoading = true
|
||||
|
||||
const pageForm = clone(this.pageForm)
|
||||
pageForm.proposalTypes = JSON.stringify(pageForm.proposalTypes)
|
||||
pageForm.proposalResult = JSON.stringify(pageForm.proposalResult)
|
||||
pageForm.determineTypeOptions = JSON.stringify(pageForm.proposalDetermineTypes)
|
||||
|
||||
$.post(loc() + "/pageData", pageForm, (data) => {
|
||||
sublime.closeLoadingbar();
|
||||
this.tableLoading = false
|
||||
if (data.code === 0) {
|
||||
this.tableData = data.data.list;
|
||||
this.pageForm.totalCount = data.data.totalCount;
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.meetingOptions = await proposal.getAllMeeting()
|
||||
this.pageForm.meetingId = this.meetingOptions.length ? this.meetingOptions[0].id : ''
|
||||
|
||||
this.stateOptions = await proposal.getOpenProposalState()
|
||||
this.typeOptions = await proposal.getProposalType()
|
||||
this.resultOptions = await getDictOptions("proposal_result")
|
||||
this.determineTypeOptions = await getDictOptions("proposal_determine_type")
|
||||
|
||||
this.delegationOptions = await proposal.getDelegation(this.pageForm.meetingId)
|
||||
this.undertakeOptions = await proposal.getUndertakeByMeeting(this.pageForm.meetingId)
|
||||
this.unionOptions = await getUnions(null)
|
||||
this.unitOptions = await getUnits(null)
|
||||
this.pageData();
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,263 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.query-row {
|
||||
height: 70px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.query-row:not(:last-child) {
|
||||
border-bottom: 1px dashed rgb(230, 230, 230);
|
||||
}
|
||||
|
||||
.query-row-title {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.el-table-container {
|
||||
padding-top: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<!--# include("/platform/proposal/include/searchCnd.html"){}#-->
|
||||
|
||||
<el-card shadow="never" style="margin-top: 10px">
|
||||
<table-tool :app="this" label="提案信息">
|
||||
<template #func>
|
||||
<el-button @click="exportByTypeName" type="primary" size="small">按类型导出</el-button>
|
||||
<el-button @click="exportByCnd" type="primary" size="small">按条件导出</el-button>
|
||||
</template>
|
||||
</table-tool>
|
||||
<el-row>
|
||||
<el-table :data="tableData" :row-key="()=>{new Date().getTime()}"
|
||||
:size="tableSize"
|
||||
@sort-change="pageOrder"
|
||||
class="vi-table" style="width: 100%;margin-bottom: 20px" v-loading="tableLoading">
|
||||
<el-table-column :index="indexMethod" align="center" header-align="center" label="序号"
|
||||
type="index"
|
||||
width="80px"></el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
align="center"
|
||||
header-align="center"
|
||||
v-for="column in tableColumns"
|
||||
>
|
||||
<template scope="{row}" v-if="column.prop=='proposalName'">
|
||||
<el-link @click="$refs.info.openView(row.id);$refs.guava.view()" type="primary">
|
||||
{{row.proposalName}}
|
||||
</el-link>
|
||||
</template>
|
||||
<template scope="{row:{pruMaster}}" v-else-if="column.prop=='pruMaster'">
|
||||
<span>{{ pruMaster?pruMaster:'暂无' }}</span>
|
||||
</template>
|
||||
<template scope="{row:{pruSlave}}" v-else-if="column.prop=='pruSlave'">
|
||||
<span>{{ pruSlave?pruSlave:'暂无' }}</span>
|
||||
</template>
|
||||
<template scope="{row}" v-else-if="column.prop==='brief'">
|
||||
<span>{{removeHTMLTag(row.brief)}}</span>
|
||||
</template>
|
||||
<template scope="{row}" v-else-if="column.prop==='measures'">
|
||||
<span>{{removeHTMLTag(row.measures)}}</span>
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
|
||||
<!-- <proposal-table :loading="tableLoading" :page="pageForm" :data="tableData" @order="pageOrder"-->
|
||||
<!-- @view="openView">-->
|
||||
<!-- <template #column>-->
|
||||
<!-- <el-table-column label="提案结果" prop="resultName" align="center" header-align="center"-->
|
||||
<!-- sortable>-->
|
||||
<!-- <template scope="{row:{resultName}}">-->
|
||||
<!-- <span>{{ resultName?resultName:'暂无' }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column label="主办单位" prop="pruMaster" align="center" header-align="center"-->
|
||||
<!-- sortable>-->
|
||||
<!-- <template scope="{row:{pruMaster}}">-->
|
||||
<!-- <span>{{ pruMaster?pruMaster:'暂无' }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column label="协办单位" prop="pruSlave" align="center" header-align="center"-->
|
||||
<!-- sortable>-->
|
||||
<!-- <template scope="{row:{pruSlave}}">-->
|
||||
<!-- <span>{{ pruSlave?pruSlave:'暂无' }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column label="操作" header-align="center" label="操作"-->
|
||||
<!-- fixed="right" width="130px">-->
|
||||
<!-- <template scope="{row}">-->
|
||||
<!-- <el-button size="mini" icon="el-icon-printer" type="primary"-->
|
||||
<!-- @click="oneProposalExport(row.id)">导出提案信息-->
|
||||
<!-- </el-button>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- </template>-->
|
||||
<!-- </proposal-table>-->
|
||||
</el-row>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<proposal-info ref="info"></proposal-info>
|
||||
</template>
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
resultOptions: [],
|
||||
typeOptions: [],
|
||||
meetingOptions: [],
|
||||
stateOptions: [],
|
||||
delegationOptions: [],
|
||||
undertakeOptions: [],
|
||||
unionOptions: [],
|
||||
unitOptions: [],
|
||||
pageForm: {
|
||||
searchName: "proposalName",
|
||||
searchName2: "su.username",
|
||||
searchKeyword2: '',
|
||||
stateCode: '',
|
||||
meetingId: '',
|
||||
delegationId: '',
|
||||
proposalResult: [],
|
||||
proposalTypes: [],
|
||||
proposalDetermineTypes: []
|
||||
},
|
||||
tableColumns: [
|
||||
{prop: 'proposalCode', label: '提案编号', sortable: true},
|
||||
{prop: 'proposalName', label: '提案名称'},
|
||||
{prop: 'username', label: '提案人'},
|
||||
{prop: 'typeCode', label: '提案类型编码', sortable: true},
|
||||
{prop: 'typeName', label: '提案类型', sortable: true},
|
||||
{prop: 'brief', label: '案由', checked: 0},
|
||||
{prop: 'measures', label: '建议措施', checked: 0},
|
||||
{prop: 'meetingName', label: '教代会届次'},
|
||||
{prop: 'delegationCode', label: '代表团编码', sortable: true, checked: 0},
|
||||
{prop: 'delegationName', label: '代表团', sortable: true},
|
||||
{prop: 'stateName', label: '提案状态'},
|
||||
{prop: 'resultName', label: '立案结果', sortable: true},
|
||||
{prop: 'pruMaster', label: '主办单位', sortable: true},
|
||||
{prop: 'pruMasterCode', label: '主办单位编码', sortable: true, checked: 0},
|
||||
{prop: 'pruSlave', label: '协办单位', sortable: true},
|
||||
],
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
||||
'proposal-info': httpVueLoader('/components/proposal/ProposalInfo.vue'),
|
||||
'proposal-table': httpVueLoader('/components/proposal/ProposalTable.vue'),
|
||||
},
|
||||
methods: {
|
||||
exportByCnd() {
|
||||
window.open(loc() + '/exportByCnd?cnd=' + JSON.stringify(this.pageForm) + '&tableColumns=' + JSON.stringify(this.tableColumns))
|
||||
},
|
||||
exportByTypeName(){
|
||||
window.open(loc() + '/exportByTypeName?cnd=' + JSON.stringify(this.pageForm) + '&tableColumns=' + JSON.stringify(this.tableColumns))
|
||||
},
|
||||
oneProposalExport(id) {
|
||||
window.location.href = "/platform/proposal/statistics/summary/oneProposalExport?proposalId=" + id
|
||||
},
|
||||
async meetingChange(val) {
|
||||
this.pageForm.delegationId = null
|
||||
this.delegationOptions = await proposal.getDelegation(val)
|
||||
this.undertakeOptions = await proposal.getUndertakeByMeeting(val)
|
||||
this.doSearch()
|
||||
},
|
||||
async delegationChange(val) {
|
||||
this.pageForm.unionId = null
|
||||
this.unionOptions = await getUnions(val)
|
||||
this.doSearch()
|
||||
},
|
||||
async unionChange(val) {
|
||||
this.pageForm.unitId = null
|
||||
this.unitOptions = await getUnits(val)
|
||||
this.doSearch()
|
||||
},
|
||||
tagToggle(optionsName, result) {
|
||||
let idx = this.pageForm[optionsName].indexOf(result)
|
||||
if (idx !== -1) {
|
||||
this.pageForm[optionsName].splice(idx, 1)
|
||||
} else {
|
||||
this.pageForm[optionsName].push(result)
|
||||
}
|
||||
this.doSearch()
|
||||
},
|
||||
checkProposalResult(result) {
|
||||
let idx = this.pageForm.proposalResult.indexOf(result)
|
||||
if (idx !== -1) {
|
||||
this.pageForm.proposalResult.splice(idx, 1)
|
||||
} else {
|
||||
this.pageForm.proposalResult.push(result)
|
||||
}
|
||||
this.doSearch()
|
||||
},
|
||||
checkProposalType(type) {
|
||||
let idx = this.pageForm.proposalTypes.indexOf(type)
|
||||
if (idx !== -1) {
|
||||
this.pageForm.proposalTypes.splice(idx, 1)
|
||||
} else {
|
||||
this.pageForm.proposalTypes.push(type)
|
||||
}
|
||||
this.doSearch()
|
||||
},
|
||||
openView(row) {
|
||||
this.$refs.guava.view()
|
||||
this.$refs.info.openView(row.id)
|
||||
},
|
||||
pageData() {
|
||||
sublime.showLoadingbar();
|
||||
this.tableLoading = true
|
||||
|
||||
const pageForm = clone(this.pageForm)
|
||||
pageForm.proposalTypes = JSON.stringify(pageForm.proposalTypes)
|
||||
pageForm.proposalResult = JSON.stringify(pageForm.proposalResult)
|
||||
pageForm.determineTypeOptions = JSON.stringify(pageForm.proposalDetermineTypes)
|
||||
|
||||
$.post(loc() + "/pageData", pageForm, (data) => {
|
||||
sublime.closeLoadingbar();
|
||||
this.tableLoading = false
|
||||
if (data.code === 0) {
|
||||
this.tableData = data.data.list;
|
||||
this.pageForm.totalCount = data.data.totalCount;
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.meetingOptions = await proposal.getAllMeeting()
|
||||
this.pageForm.meetingId = this.meetingOptions.length ? this.meetingOptions[0].id : ''
|
||||
|
||||
this.stateOptions = await proposal.getOpenProposalState()
|
||||
this.typeOptions = await proposal.getProposalType()
|
||||
this.resultOptions = await getDictOptions("proposal_result")
|
||||
this.determineTypeOptions = await getDictOptions("proposal_determine_type")
|
||||
|
||||
this.delegationOptions = await proposal.getDelegation(this.pageForm.meetingId)
|
||||
this.undertakeOptions = await proposal.getUndertakeByMeeting(this.pageForm.meetingId)
|
||||
this.unionOptions = await getUnions(null)
|
||||
this.unitOptions = await getUnits(null)
|
||||
this.pageData();
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,256 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.query-row {
|
||||
height: 70px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.query-row:not(:last-child) {
|
||||
border-bottom: 1px dashed rgb(230, 230, 230);
|
||||
}
|
||||
|
||||
.query-row-title {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.el-table-container {
|
||||
padding-top: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<!--# include("/platform/proposal/include/searchCnd.html"){}#-->
|
||||
|
||||
<el-card shadow="never" style="margin-top: 10px">
|
||||
|
||||
<table-tool label="提案信息" :app="this">
|
||||
<template #func>
|
||||
<el-button type="primary" size="small" @click="exportAllProposal">导出全部提案</el-button>
|
||||
</template>
|
||||
</table-tool>
|
||||
|
||||
<el-table :data="tableData" style="width: 100%"
|
||||
:header-cell-style="{background:'#FAFAFA'}" row-key="id" @sort-change="pageOrder"
|
||||
v-loading="tableLoading">
|
||||
|
||||
<el-table-column align="center" header-align="center" type="index" :index="indexMethod"
|
||||
label="序号"
|
||||
width="80px"></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
align="center"
|
||||
header-align="center"
|
||||
v-for="column in tableColumns"
|
||||
show-overflow-tooltip
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
>
|
||||
<template scope="{row}" v-if="column.prop=='proposalName'">
|
||||
<el-link @click="openView(row)" type="primary">{{ row.proposalName }}</el-link>
|
||||
</template>
|
||||
<template scope="{row:{resultName}}" v-else-if="column.prop==='resultName'">
|
||||
{{resultName?resultName:'暂无' }}
|
||||
</template>
|
||||
<template v-else-if="column.prop==='pruMaster'" scope="{row:{pruMaster}}">
|
||||
{{pruMaster?pruMaster:'暂未分配' }}
|
||||
</template>
|
||||
<template v-else-if="column.prop==='pruSlave'" scope="{row:{pruSlave}}">
|
||||
{{pruSlave?pruSlave:'暂未分配' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" header-align="center" label="操作"
|
||||
fixed="right" width="130px">
|
||||
<template scope="{row}">
|
||||
<el-button size="mini" icon="el-icon-printer" type="primary"
|
||||
@click="oneProposalExport(row.id)">导出提案
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
<proposal-info ref="info"></proposal-info>
|
||||
</template>
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
resultOptions: [],
|
||||
typeOptions: [],
|
||||
meetingOptions: [],
|
||||
stateOptions: [],
|
||||
delegationOptions: [],
|
||||
undertakeOptions: [],
|
||||
unionOptions: [],
|
||||
unitOptions: [],
|
||||
pageForm: {
|
||||
unionId: '',
|
||||
unitId: '',
|
||||
searchName: "proposalName",
|
||||
searchName2: "su.username",
|
||||
searchKeyword2: '',
|
||||
stateCode: '',
|
||||
meetingId: '',
|
||||
delegationId: '',
|
||||
proposalResult: [],
|
||||
proposalTypes: [],
|
||||
proposalDetermineTypes: []
|
||||
},
|
||||
tableColumns: [
|
||||
{prop: 'proposalCode', label: '提案编号', width: "120", sortable: true, disabled: true},
|
||||
{prop: 'proposalName', label: '提案名称', width: "300", disabled: true},
|
||||
{prop: 'username', label: '提案人', disabled: true},
|
||||
{prop: 'typeCode', label: '提案类型编码', sortable: true, checked: 0},
|
||||
{prop: 'typeName', label: '提案类型', sortable: true},
|
||||
{prop: 'meetingName', label: '届次', sortable: true},
|
||||
{prop: 'delegationCode', label: '代表团编码', sortable: true, checked: 0},
|
||||
{prop: 'delegationName', label: '代表团', sortable: true},
|
||||
{prop: 'resultName', label: '立案结果', sortable: true},
|
||||
{prop: 'stateName', label: '提案状态', sortable: true},
|
||||
{prop: 'pruMaster', label: '主办单位', sortable: true},
|
||||
{prop: 'pruMasterCode', label: '主办单位编码', sortable: true, checked: 0},
|
||||
{prop: 'pruSlave', label: '协办单位', sortable: true},
|
||||
],
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
||||
'proposal-info': httpVueLoader('/components/proposal/ProposalInfo.vue'),
|
||||
'proposal-table': httpVueLoader('/components/proposal/ProposalTable.vue'),
|
||||
},
|
||||
methods: {
|
||||
exportAllProposal() {
|
||||
const proposalTypes = JSON.stringify(this.pageForm.proposalTypes)
|
||||
const proposalResult = JSON.stringify(this.pageForm.proposalResult)
|
||||
const searchName2 = this.pageForm.searchName2
|
||||
const searchKeyword2 = this.pageForm.searchKeyword2
|
||||
const stateCode = this.pageForm.stateCode
|
||||
const searchKeyword = this.pageForm.searchKeyword
|
||||
const searchName = this.pageForm.searchName
|
||||
const delegationId = this.pageForm.delegationId
|
||||
const unionId = this.pageForm.unionId
|
||||
const unitId = this.pageForm.unitId
|
||||
const meetingId = this.pageForm.meetingId
|
||||
window.open(
|
||||
loc() + "/exportAllProposal?proposalTypes=" + proposalTypes +
|
||||
"&proposalResult=" + proposalResult +
|
||||
"&searchName2=" + searchName2 +
|
||||
"&searchKeyword2=" + searchKeyword2 +
|
||||
"&stateCode=" + stateCode +
|
||||
"&searchKeyword=" + searchKeyword +
|
||||
"&searchName=" + searchName +
|
||||
"&delegationId=" + delegationId +
|
||||
"&unionId=" + unionId +
|
||||
"&unitId=" + unitId +
|
||||
"&meetingId=" + meetingId
|
||||
)
|
||||
},
|
||||
oneProposalExport(id) {
|
||||
window.open(loc() + '/oneProposalExport?proposalId=' + id)
|
||||
},
|
||||
async meetingChange(val) {
|
||||
this.pageForm.delegationId = null
|
||||
this.delegationOptions = await getDelegation(val)
|
||||
this.undertakeOptions = await proposal.getUndertakeByMeeting(val)
|
||||
this.doSearch()
|
||||
},
|
||||
async delegationChange(val) {
|
||||
this.pageForm.unionId = null
|
||||
this.unionOptions = await getUnions(val)
|
||||
this.doSearch()
|
||||
},
|
||||
async unionChange(val) {
|
||||
this.pageForm.unitId = null
|
||||
this.unitOptions = await getUnits(val)
|
||||
this.doSearch()
|
||||
},
|
||||
tagToggle(optionsName, result) {
|
||||
let idx = this.pageForm[optionsName].indexOf(result)
|
||||
if (idx !== -1) {
|
||||
this.pageForm[optionsName].splice(idx, 1)
|
||||
} else {
|
||||
this.pageForm[optionsName].push(result)
|
||||
}
|
||||
this.doSearch()
|
||||
},
|
||||
checkProposalResult(result) {
|
||||
let idx = this.pageForm.proposalResult.indexOf(result)
|
||||
if (idx !== -1) {
|
||||
this.pageForm.proposalResult.splice(idx, 1)
|
||||
} else {
|
||||
this.pageForm.proposalResult.push(result)
|
||||
}
|
||||
this.doSearch()
|
||||
},
|
||||
checkProposalType(type) {
|
||||
let idx = this.pageForm.proposalTypes.indexOf(type)
|
||||
if (idx !== -1) {
|
||||
this.pageForm.proposalTypes.splice(idx, 1)
|
||||
} else {
|
||||
this.pageForm.proposalTypes.push(type)
|
||||
}
|
||||
this.doSearch()
|
||||
},
|
||||
openView(row) {
|
||||
this.$refs.guava.view()
|
||||
this.$refs.info.openView(row.id)
|
||||
},
|
||||
pageData() {
|
||||
sublime.showLoadingbar();
|
||||
this.tableLoading = true
|
||||
|
||||
const pageForm = clone(this.pageForm)
|
||||
pageForm.proposalTypes = JSON.stringify(pageForm.proposalTypes)
|
||||
pageForm.proposalResult = JSON.stringify(pageForm.proposalResult)
|
||||
pageForm.determineTypeOptions = JSON.stringify(pageForm.proposalDetermineTypes)
|
||||
|
||||
$.post(loc() + "/pageData", pageForm, (data) => {
|
||||
sublime.closeLoadingbar();
|
||||
this.tableLoading = false
|
||||
if (data.code === 0) {
|
||||
this.tableData = data.data.list;
|
||||
this.pageForm.totalCount = data.data.totalCount;
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.meetingOptions = await proposal.getAllMeeting()
|
||||
this.pageForm.meetingId = this.meetingOptions.length ? this.meetingOptions[0].id : ''
|
||||
|
||||
this.stateOptions = await getOpenProposalState()
|
||||
this.typeOptions = await getProposalType()
|
||||
this.resultOptions = await getDictOptions("proposal_result")
|
||||
this.determineTypeOptions = await getDictOptions("proposal_determine_type")
|
||||
|
||||
this.delegationOptions = await getDelegation(this.pageForm.meetingId)
|
||||
this.undertakeOptions = await proposal.getUndertakeByMeeting(this.pageForm.meetingId)
|
||||
this.unionOptions = await getUnions(null)
|
||||
this.unitOptions = await getUnits(null)
|
||||
this.pageData();
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
Reference in New Issue
Block a user