first commit
This commit is contained in:
@@ -0,0 +1,231 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.el-table {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<el-card shadow="never">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col>
|
||||
<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>
|
||||
|
||||
<el-select v-model="pageForm.delegationId" filterable clearable placeholder="请选择代表团"
|
||||
@change="pageData()">
|
||||
<el-option v-for="item in delegationOptions" :key="item.id" :label="item.dbtname"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
||||
<el-select v-model="pageForm.undertakeId" placeholder="请选择承办单位" @change="pageData()"
|
||||
filterable clearable>
|
||||
<el-option
|
||||
v-for="item in undertakeOptions"
|
||||
:label="item.unitName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
||||
<el-select v-model="pageForm.typeId" filterable clearable placeholder="请选择提案类型"
|
||||
@change="pageData()">
|
||||
<el-option
|
||||
v-for="item in typeOptions"
|
||||
:key="item.id"
|
||||
:label="item.typeName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
||||
<el-select v-model="pageForm.stateCode" filterable clearable placeholder="请选择提案状态"
|
||||
@change="pageData()">
|
||||
<el-option v-for="item in stateOptions"
|
||||
:key="item.stateCode"
|
||||
:label="item.stateName"
|
||||
:value="item.stateCode">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
||||
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<el-card shadow="never" class="mt10">
|
||||
<table-tool label="提案列表" :app="this">
|
||||
<template #func>
|
||||
<el-button icon="el-icon-printer" size="medium" type="primary" @click="sessionExport"
|
||||
:disabled="!pageForm.meetingId">
|
||||
按条件导出提案
|
||||
</el-button>
|
||||
</template>
|
||||
</table-tool>
|
||||
|
||||
<el-table :data="tableData" style="width: 100%;margin-bottom: 20px" :row-key="()=>{new Date().getTime()}"
|
||||
@sort-change="pageOrder"
|
||||
v-loading="tableLoading" :size="tableSize" class="vi-table">
|
||||
<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"
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
>
|
||||
<template v-if="column.prop=='proposalName'" scope="{row}">
|
||||
<el-link @click="$refs.info.openView(row.id);$refs.guava.view()" type="primary">
|
||||
{{row.proposalName}}
|
||||
</el-link>
|
||||
</template>
|
||||
|
||||
<template v-else-if="column.prop=='stateId'" scope="{row}">
|
||||
<span v-if="(!row.isReplyPass||!row.isCommitteePass)&&row.isAudit&&!row.isMake&&!row.isReply"
|
||||
:style="'color:'+row.stateColor">退回修改</span>
|
||||
<vi-table-state v-else :state="row"></vi-table-state>
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column align="center" header-align="center" label="操作" fixed="right" width="100px">
|
||||
<template scope="{row}">
|
||||
<el-button size="mini" 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 {
|
||||
stateOptions: [],
|
||||
undertakeOptions: [],
|
||||
meetingOptions: [],
|
||||
delegationOptions: [],
|
||||
typeOptions: [],
|
||||
proposalIds: [],
|
||||
pageForm: {
|
||||
delegationId: "",
|
||||
stateCode: "",
|
||||
typeId: ""
|
||||
},
|
||||
tableColumns: [
|
||||
{prop: 'proposalCode', label: '提案编号'},
|
||||
{prop: 'proposalName', label: '提案名称'},
|
||||
{prop: 'username', label: '提案人'},
|
||||
{prop: 'createTime', label: '提案时间'},
|
||||
{prop: 'typeName', label: '提案类型'},
|
||||
{prop: 'meetingName', label: '教代会届次'},
|
||||
{prop: 'delegationName', label: '所属代表团'},
|
||||
{prop: 'stateId', label: '提案状态'},
|
||||
],
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
||||
'proposal-info': httpVueLoader('/components/proposal/ProposalInfo.vue'),
|
||||
'proposal-table': httpVueLoader('/components/proposal/ProposalTable.vue'),
|
||||
},
|
||||
methods: {
|
||||
dropdownCommand(command) {
|
||||
const {type, data} = command
|
||||
if (type === 'undertake') {
|
||||
this.undertakeExport()
|
||||
} else if (type === 'workersCongressSession') {
|
||||
this.sessionExport()
|
||||
} else if (type === 'proposal') {
|
||||
this.proposalExport(data.id)
|
||||
} else if (type === 'info') {
|
||||
this.oneProposalExport(data.id)
|
||||
}
|
||||
},
|
||||
async meetingChange(val) {
|
||||
this.undertakeOptions = await proposal.getUndertakeByMeeting(val)
|
||||
this.pageData()
|
||||
},
|
||||
openView(row) {
|
||||
this.$refs.guava.view()
|
||||
this.$refs.info.openView(row.id)
|
||||
},
|
||||
|
||||
/**
|
||||
* 按届次导出提案
|
||||
*/
|
||||
sessionExport() {
|
||||
const {meetingId, undertakeId, stateCode, delegationId} = this.pageForm
|
||||
let props = {}
|
||||
this.tableColumns.forEach(v => {
|
||||
props[v.prop] = v.label
|
||||
})
|
||||
if (meetingId) {
|
||||
window.location.href = loc() + "/sessionExport?meetingId=" + meetingId + "&stateCode=" + stateCode + "&delegationId=" + delegationId + "&props=" + JSON.stringify(props)
|
||||
}
|
||||
/* if (undertakeId && meetingId) {
|
||||
window.location.href = loc() + "/undertakeExport?meetingId=" + meetingId + "&undertakeId=" + undertakeId
|
||||
}
|
||||
*/
|
||||
},
|
||||
/**
|
||||
* 按承办单位导出
|
||||
*/
|
||||
undertakeExport() {
|
||||
const {meetingId, undertakeId} = this.pageForm
|
||||
if (!undertakeId) {
|
||||
this.$notify.warning({title: '警告', message: '请选择承办单位'});
|
||||
return
|
||||
}
|
||||
window.location.href = loc() + "/undertakeExport?meetingId=" + meetingId + "&undertakeId=" + undertakeId
|
||||
},
|
||||
/**
|
||||
* 按提案导出承办
|
||||
*/
|
||||
proposalExport(id) {
|
||||
window.location.href = loc() + "/proposalExport?proposalId=" + id
|
||||
},
|
||||
/**
|
||||
* 导出单个提案信息
|
||||
*/
|
||||
oneProposalExport(id) {
|
||||
window.location.href = loc() + "/oneProposalExport?proposalId=" + id
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.meetingOptions = await proposal.getAllMeeting()
|
||||
this.pageForm.meetingId = this.meetingOptions.length ? this.meetingOptions[0].id : ''
|
||||
this.undertakeOptions = await proposal.getUndertakeByMeeting(this.pageForm.meetingId)
|
||||
this.stateOptions = await proposal.getOpenProposalState()
|
||||
this.delegationOptions = await proposal.getDelegation(this.pageForm.meetingId)
|
||||
this.typeOptions = await proposal.getProposalType()
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
Reference in New Issue
Block a user