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

137 lines
5.0 KiB
HTML

<!--#
layout("/mobile/platform.html"){
#-->
<div id="app" v-cloak>
<van-nav-bar title="团长审核" fixed placeholder safe-area-inset-top @click-left="history.back()"
:left-arrow="leftArrow"></van-nav-bar>
<proposal-info :proposal_id="proposalId" title="团长审核" :handle="handle" ref="info">
<template #handle>
<div class="van-cell-group__title">
<div class="van-sidebar-item van-sidebar-item--select">
团长审核
</div>
</div>
<van-form>
<van-cell-group class="info">
<van-cell title="审核时间" :value="formData.auditTime"></van-cell>
<van-field
input-align="right"
v-model="formData.opinion"
rows="2"
autosize
label="审核意见"
type="textarea"
maxlength="1000"
placeholder="请输入审核意见"
show-word-limit
></van-field>
</van-cell-group>
<van-row type="flex" :gutter="20" style="padding: 20px 0px">
<van-col span="12" style="padding: 0 10px">
<van-button plain size="large" @click="doAudit(0)">退回</van-button>
</van-col>
<van-col span="12" style="padding: 0 10px">
<van-button :color="themeColor" block size="large" @click="doAudit(1)">通过</van-button>
</van-col>
</van-row>
</van-form>
</template>
</proposal-info>
</div>
<script>
var vue = new Vue({
el: '#app',
mixins: [mobileMixins],
data() {
return {
leftArrow: false,
handle: true,
proposalId: GetQueryString('proposal_id'),
formData: {
username: "${@shiro.getPrincipalProperty('username')}",
loginName: "${@shiro.getPrincipalProperty('loginname')}",
auditTime: moment().format('YYYY-MM-DD'),
opinion: '',
proposalId: GetQueryString('proposal_id')
}
}
},
components: {
'proposal-info': httpVueLoader('/components/proposal/mobile/ProposalInfo.vue?v=' + new Date().getTime()),
},
methods: {
async doAudit(flag) {
if (this.formData.opinion === '') {
vant.Toast('请输入审核意见');
return
}
const res = flag === 1 ? '通过' : '退回'
vant.Dialog.confirm({
title: '提示',
message: '您确定' + res + '该提案吗?',
}).then(async () => {
const loading = this.$toast({
duration: 0,
message: '提交中...',
forbidClick: true,
loadingType: 'spinner',
type: 'loading',
overlay: true
});
const resp = await $.post("/platform/proposal/transact/audit/doAudit", {
audit: JSON.stringify(this.formData),
flag: flag
})
if (resp.code === 0) {
setTimeout(async () => {
loading.type = 'success'
loading.message = '提交成功'
loading.close()
this.handle = await mProposal.GetProposalStateCode(this.proposalId) === 200
this.$refs.info.openView(this.proposalId)
}, 1200)
} else {
loading.type = 'fail'
loading.message = '提交失败,请联系管理员'
}
})
}
},
async created() {
if (GetQueryString("mobile")) this.leftArrow = true
const proposal_id = GetQueryString("proposal_id")
const biz_key = GetQueryString("biz_key")
if (proposal_id === '' || biz_key === '') {
vant.Dialog.alert({
title: '提示',
message: '非法参数',
showConfirmButton: false
}).then(() => {
})
return
}
this.handle = await mProposal.GetProposalStateCode(this.proposalId) === 200
const lastIndex = window.location.href.lastIndexOf('&')
if (window.location.href.substr(lastIndex + 1, 6) === 'ticket') {
window.document.location.replace(window.location.href.substring(0, lastIndex))
}
}
})
</script>
<!--#
}
#-->