231 lines
8.4 KiB
HTML
231 lines
8.4 KiB
HTML
<!--#
|
|
layout("/mobile/platform.html"){
|
|
#-->
|
|
<style>
|
|
.van-doc-card {
|
|
margin: 14px;
|
|
padding: 12px 12px 12px 12px;
|
|
background-color: #fff;
|
|
border-radius: 10px;
|
|
box-shadow: 0 8px 12px #ebedf0;
|
|
line-height: 20px;
|
|
font-size: 12px;
|
|
position: relative;
|
|
}
|
|
|
|
.van-divider {
|
|
margin: 12px 0 12px 0px;
|
|
border-color: lightgray;
|
|
}
|
|
|
|
.van-button--small {
|
|
border-top-right-radius: 16px;
|
|
border-bottom-left-radius: 16px;
|
|
height: 26px;
|
|
}
|
|
|
|
.van-col {
|
|
line-height: 25px;
|
|
}
|
|
|
|
.title_span {
|
|
font-size: 16px;
|
|
font-weight: bold;
|
|
position: absolute;
|
|
left: -1px;
|
|
top: 11px;
|
|
}
|
|
</style>
|
|
<div id="app" v-cloak>
|
|
<m-page-loading v-if="mLoading"></m-page-loading>
|
|
<van-nav-bar
|
|
@click-left="location.href='/mobile/index/toHome?type=民主管理'"
|
|
fixed
|
|
left-arrow
|
|
placeholder
|
|
title="团长审议"
|
|
></van-nav-bar>
|
|
|
|
<div class="search-fixed">
|
|
<van-search
|
|
@search="doSearch"
|
|
maxlength="10"
|
|
placeholder="请输入提案名称或者提案编号进行查询"
|
|
shape="round"
|
|
v-model="pageForm.searchKeyWord"
|
|
>
|
|
|
|
</van-search>
|
|
|
|
|
|
<van-dropdown-menu>
|
|
<van-dropdown-item :options="sessionList" @change="doSearch"
|
|
v-model="pageForm.meetingId"></van-dropdown-item>
|
|
<van-dropdown-item :options="proposalTypeList" @change="doSearch"
|
|
v-model="pageForm.proposalTypeId"></van-dropdown-item>
|
|
<van-dropdown-item :options="resultList" @change="doSearch"
|
|
v-model="pageForm.proposalResultCode"></van-dropdown-item>
|
|
</van-dropdown-menu>
|
|
|
|
<van-tabs @click="doSearch" v-model="pageForm.isAudit">
|
|
<van-tab :name="false" title="未审核"></van-tab>
|
|
<van-tab :name="true" title="已审核"></van-tab>
|
|
</van-tabs>
|
|
</div>
|
|
|
|
<div style="margin: 170px auto 0">
|
|
<van-list
|
|
:finished="finished"
|
|
:finished-text="tableData.length>0?'没有更多了':''"
|
|
@load="onLoad"
|
|
v-model="mLoading">
|
|
<div @click="openView(o.id)" class="van-doc-card" v-for="o in tableData">
|
|
<div @click="openView(o.id)">
|
|
<div>
|
|
<div class="van-ellipsis"
|
|
style="font-size: 13px;font-weight: bold;flex: 1;width:80%;overflow: hidden;white-space: nowrap">
|
|
<span :style="'color:'+o.stateColor" class="title_span">|</span>提案名称:{{o.proposalName}}
|
|
</div>
|
|
<div style="position: absolute; right: 14px;top: 12.3px;text-align: right">
|
|
<van-tag :style="'color:'+o.stateColor" plain round size="medium" type="primary">{{
|
|
o.stateName }}
|
|
</van-tag>
|
|
</div>
|
|
</div>
|
|
<van-divider></van-divider>
|
|
<div>
|
|
<van-row>
|
|
<van-col span="12"><span style="color: grey">提案编号:</span>{{o.proposalCode}}</van-col>
|
|
<van-col span="12"><span style="color: grey">提案类型:</span>{{o.typeName}}</van-col>
|
|
</van-row>
|
|
<van-row>
|
|
<van-col span="12" style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
|
|
<span style="color: grey">代 表 团:</span>{{o.delegationName}}
|
|
</van-col>
|
|
<van-col span="12"><span style="color: grey">提案届次:</span>{{o.meetingName}}</van-col>
|
|
</van-row>
|
|
<van-divider></van-divider>
|
|
</div>
|
|
<div class="train-title" style="margin-top: 11px">
|
|
<span style="color: grey">立案结果:</span>{{o.resultName ? o.resultName : '暂无'}}
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</van-list>
|
|
<van-empty
|
|
class="custom-image"
|
|
description="暂无数据"
|
|
image="/none.svg"
|
|
v-if="mLoading==false&&tableData.length==0"
|
|
></van-empty>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<script>
|
|
let vue = new Vue({
|
|
el: '#app',
|
|
mixins: [mobileMixins],
|
|
data() {
|
|
return {
|
|
pageForm: {
|
|
isAudit: false
|
|
},
|
|
list: [],
|
|
state: '0',
|
|
loading: false,
|
|
finished: false,
|
|
refreshing: false,
|
|
sessionList: [],
|
|
delegationList: [],
|
|
proposalTypeList: [],
|
|
resultList: []
|
|
}
|
|
},
|
|
methods: {
|
|
doSearch() {
|
|
this.pageForm.pageNumber = 1
|
|
this.tableData = []
|
|
this.finished = false
|
|
this.onLoad()
|
|
},
|
|
async onLoad() {
|
|
this.mLoading = true
|
|
$.post('/platform/proposal/transact/delegation/pageData', this.pageForm).then(res => {
|
|
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++
|
|
}
|
|
}
|
|
this.mLoading = false
|
|
})
|
|
},
|
|
openAudit(id) {
|
|
this.formData = {
|
|
proposalId: id,
|
|
username: "${@shiro.getPrincipalProperty('username')}",
|
|
loginName: "${@shiro.getPrincipalProperty('loginname')}",
|
|
auditTime: moment().format('YYYY-MM-DD'),
|
|
opinion: '',
|
|
sign: '',
|
|
}
|
|
this.state = '0'
|
|
this.show = true
|
|
},
|
|
validateForm(action, done) {
|
|
done(false)
|
|
},
|
|
async doHandle() {
|
|
this.$refs['handleForm'].validate().then(valid => {
|
|
$.post('/platform/proposal/transact/audit/doAudit', {
|
|
audit: JSON.stringify(this.formData),
|
|
flag: this.state === 0
|
|
}).then((res) => {
|
|
console.log(res)
|
|
if (res.code === 0) {
|
|
this.show = false
|
|
this.pageForm = {
|
|
pageNumber: 1,
|
|
pageSize: 5,
|
|
totalCount: 0
|
|
}
|
|
this.tableData = []
|
|
this.onLoad()
|
|
vant.Toast.success('审核成功!')
|
|
} else {
|
|
vant.Toast.error('审核失败!')
|
|
}
|
|
})
|
|
})
|
|
},
|
|
openView(id) {
|
|
// window.location.href = '/platform/mobile/proposal/compose/detail?id=' + id
|
|
window.location.href = '/platform/mobile/proposal/delegation/view?biz_key=' + id + '&proposal_id=' + id + '&mobile=' + true
|
|
}
|
|
},
|
|
async created() {
|
|
this.sessionList = await mProposal.getAllSession()
|
|
this.proposalTypeList = await mProposal.getProposalType()
|
|
this.resultList = await mProposal.getProposalDict()
|
|
if (this.sessionList && this.sessionList.length > 0) {
|
|
this.$set(this.pageForm, "meetingId", this.sessionList[0].value)
|
|
}
|
|
if (this.proposalTypeList && this.proposalTypeList.length > 0) {
|
|
this.$set(this.pageForm, "proposalTypeId", this.proposalTypeList[0].value)
|
|
}
|
|
if (this.resultList && this.resultList.length > 0) {
|
|
this.$set(this.pageForm, "proposalResultCode", this.resultList[0].value)
|
|
}
|
|
}
|
|
})
|
|
</script>
|
|
|
|
<!--#
|
|
}
|
|
#-->
|