Files
2026-09-08 19:49:21 +08:00

175 lines
6.3 KiB
HTML

<!--#
layout("/mobile/platform.html"){
#-->
<style>
</style>
<div id="app" v-cloak>
<m-page-loading v-if="mLoading"></m-page-loading>
<van-nav-bar
title="提案查询"
left-arrow
placeholder
fixed
@click-left="history.back()"
></van-nav-bar>
<div class="search-fixed">
<van-search
v-model="pageForm.searchKeyWord"
shape="round"
maxlength="10"
@search="doSearch"
placeholder="请输入提案名称或者提案编号进行查询"
>
</van-search>
<van-dropdown-menu>
<van-dropdown-item v-model="pageForm.meetingId" :options="sessionList"
@change="doSearch"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.delegationId" :options="delegationList"
@change="doSearch"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.proposalTypeId" :options="proposalTypeList"
@change="doSearch"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.proposalResultCode" :options="resultList"
@change="doSearch"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.proposalStateCode" :options="stateList"
@change="doSearch"></van-dropdown-item>
</van-dropdown-menu>
</div>
<div style="margin: 120px auto">
<van-list
v-model="mLoading" :immediate-check="false"
:finished="finished"
:finished-text="tableData.length>0?'没有更多了':''"
@load="onLoad">
<div v-for="o in tableData" class="list-card" @click="openView(o.id)">
<van-cell-group inset>
<van-cell title="提案名称" :border="false">
<div style="display: flex;align-items: center">
<span v-if="o.resultName=='不予立案'" style="font-size: 16px;color: red" class="van-ellipsis">{{o.proposalName}}</span>
<span v-else-if="o.resultName=='意见建议'" style="color: #0000FF" style="font-size: 16px"
class="van-ellipsis">{{o.proposalName}}</span>
<span v-else-if="o.resultName=='确定立案'" style="color: green" style="font-size: 16px"
class="van-ellipsis">{{o.proposalName}}</span>
<span v-else style="color: #7f8481" style="font-size: 16px" class="van-ellipsis">{{o.proposalName}}</span>
</div>
</van-cell>
<van-cell :border="false" title="提案编号">{{o.proposalCode}}</van-cell>
<van-cell :border="false" title="提&emsp14;&emsp14;案&emsp14;&emsp14;人">{{o.username}}</van-cell>
<van-cell :border="false" title="提案类型">{{o.typeName}}</van-cell>
<van-cell :border="false" title="代&emsp14;&emsp14;表&emsp14;&emsp14;团">{{o.delegationName}}
</van-cell>
<!-- <van-cell :border="false" title="立案结果">{{o.resultName ? o.resultName : '暂无'}}</van-cell>-->
<van-cell :border="false" title="提案状态">
<span :style="'color:'+o.stateColor">{{ o.stateName }}</span>
</van-cell>
</van-cell-group>
</div>
</van-list>
<van-empty
v-if="mLoading==false&&tableData.length==0"
class="custom-image"
image="/none.svg"
description="暂无数据"
></van-empty>
</div>
</div>
<script>
var vue = new Vue({
el: '#app',
mixins: [mobileMixins],
data() {
return {
list: [],
sessionList: [],
delegationList: [],
proposalTypeList: [],
resultList: [],
stateList: [],
}
},
methods: {
doSearch() {
this.pageForm.pageNumber = 1
this.tableData = []
this.finished = false
this.onLoad()
},
async onLoad() {
this.mLoading = true
const res = await $.post(loc()+'/pageData', this.pageForm)
this.mLoading = false
if (res.code === 0) {
this.tableData = this.tableData.concat(res.data.list)
if (this.tableData.length >= res.data.totalCount) {
this.finished = true
} else {
this.pageForm.pageNumber++
}
}
},
openView(id) {
window.location.href = '/mobile/proposal/compose/view?biz_key=' + null + '&proposal_id=' + id + '&mobile=' + true
}
},
async created() {
this.sessionList = await mProposal.getAllSession()
this.proposalTypeList = await mProposal.getProposalType()
this.resultList = await mProposal.getProposalDict()
const stateResp = await $.get("/platform/proposal/common/getOpenProposalState")
this.stateList = stateResp.data.map(v => {
return {
text: v.stateName,
value: v.stateCode
}
})
this.stateList.unshift({text: '状态(全部)', value: null})
if (this.proposalTypeList && this.proposalTypeList.length > 0) {
this.$set(this.pageForm, "proposalTypeId", this.proposalTypeList[0].value)
}
if (this.stateList && this.stateList.length > 0) {
this.$set(this.pageForm, "proposalStateCode", this.stateList[0].value)
}
if (this.resultList && this.resultList.length > 0) {
this.$set(this.pageForm, "proposalResultCode", this.resultList[0].value)
}
if (this.sessionList && this.sessionList.length > 0) {
this.$set(this.pageForm, "meetingId", this.sessionList[0].value)
let delegationList = await mProposal.getDelegation(this.pageForm.meetingId)
delegationList = delegationList.map(v => {
return {
text: v.dbtname,
value: v.id
}
})
delegationList.unshift({text: '代表团(全部)', value: null})
this.delegationList = delegationList
if (this.delegationList && this.delegationList.length > 0) {
this.pageForm.delegationId = this.delegationList[0].value
}
if (this.delegateTypeList && this.delegateTypeList.length > 0) {
this.pageForm.delegateTypeId = this.delegateTypeList[0].value
}
}
this.sessionList.unshift({text: '全部届次', value: ''});
this.$set(this.pageForm, "meetingId", this.sessionList[0].value)
this.onLoad()
}
})
</script>
<!--#
}
#-->