first commit

This commit is contained in:
2026-09-08 19:49:21 +08:00
commit ebffbab428
7320 changed files with 1477614 additions and 0 deletions
@@ -0,0 +1,126 @@
<!--#
layout("/mobile/platform.html"){
#-->
<div id="app">
<van-nav-bar title="职工之家场地预约分工会审核" left-arrow placeholder fixed
@click-left="history.back()"></van-nav-bar>
<site_h5_info :id="id">
<template #audit>
<div class="van-cell-group__title mt10">
<div class="van-sidebar-item van-sidebar-item--select">
分工会审核
</div>
</div>
<van-form>
<van-field readonly
value="${@shiro.getPrincipalProperty('username')}"
name="username"
label="审核人员"
></van-field>
<van-field :value="moment().format('YYYY-MM-DD')"
label="审核时间"
readonly></van-field>
<van-field v-model="formData.unionOption"
rows="1"
required
autosize
label="审核意见"
type="textarea"
placeholder="请输入审核意见"
></van-field>
<!-- <van-field label="签字" required style="flex-flow: column">-->
<!-- <template #label>-->
<!-- <div class="mb10">签&emsp;&emsp;字</div>-->
<!-- </template>-->
<!-- <template #input>-->
<!-- <mobile-sign ref="signature" :my_sign.sync="formData.sign"></mobile-sign>-->
<!-- </template>-->
<!-- </van-field>-->
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
<van-col span="12">
<van-button :color="themeColor" plain block @click="doAudit(false)">拒 绝
</van-button>
</van-col>
<!-- <van-col span="8">-->
<!-- <van-button color="red" block plain @click="doAudit(2)">返回修改-->
<!-- </van-button>-->
<!-- </van-col>-->
<van-col span="12">
<van-button :color="themeColor" block @click="doAudit(true)">通 过
</van-button>
</van-col>
</van-row>
</van-form>
</template>
</site_h5_info>
</div>
<script>
var vue = new Vue({
el: '#app',
mixins: [mobileMixins],
components: {
'site_h5_info': httpVueLoader('/components/activity/site/SiteH5Info.vue'),
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
},
data() {
return {
id: GetQueryString("id"),
formData: {}
}
},
methods: {
async doAudit(pass) {
if (this.formData.unionOption == null || this.formData.unionOption === '') {
this.$toast('请填写审核意见')
return
}
this.$dialog.confirm({
title: '提示',
message: '您确定要' + (pass ? '通过' : '拒绝') + '吗?',
}).then(async () => {
const loading = this.$toast.loading({
message: '提交中...',
forbidClick: true,
})
const {
data,
code,
msg
} = await $.post('/platform/activity/site/unionProcess/doProcess',
{
id: this.id,
unionOption: this.formData.unionOption,
isPass: pass
}
)
loading.clear()
if (code === 0) {
this.$toast.success(msg)
setTimeout(() => {
window.history.back()
}, 500)
} else {
this.$toast.fail(msg)
}
}).catch(() => {
})
}
},
created() {
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,214 @@
<!--#
layout("/mobile/platform.html"){
#-->
<style>
#app {
background: #ececec;
}
.table-list {
margin-top: 64px;
}
.table-item {
margin: 16px;
background: #fff;
border-radius: 10px;
padding: 16px;
font-size: 14px;
color: #5b5a5a;
position: relative;
}
.table-item .header-title {
font-size: 18px;
font-weight: bold;
width: calc(100% - 100px);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.table-item .header-title-extra {
position: absolute;
right: 10px;
top: 10px;
}
.cell {
display: flex;
padding: 2px;
flex-wrap: nowrap;
}
.cell .title {
}
.cell .content {
}
.extra {
padding: 10px 0 0 0;
display: flex;
justify-content: flex-end;
gap: 10px;
}
.van-dropdown-menu__bar .van-dropdown-menu__item{
flex: 1;
}
</style>
<div id="app" v-cloak>
<div>
<van-nav-bar title="职工之家场地预约分工会审核" left-arrow placeholder fixed
@click-left="history.back()"></van-nav-bar>
<div class="search-fixed">
<van-dropdown-menu active-color="rgb(0, 78, 100)">
<van-dropdown-item :title="pageForm.time" ref="dropItemYearMonth">
<van-datetime-picker
v-model="currentDate"
type="year-month"
:max-date="maxDate"
title="选择年月"
@confirm="onConfirmDate"
@cancel="onCancelDate"
></van-datetime-picker>
</van-dropdown-item>
<van-dropdown-item v-model="pageForm.isAudit" :options="auditOptions"
@change="doSearch"></van-dropdown-item>
</van-dropdown-menu>
</div>
<div class="table-list">
<van-list v-model="loading"
:finished="finished"
:finished-text="tableData.length>0?'没有更多了':''"
@load="pageData">
<div v-for="item in tableData" :key="item.id" class="table-item">
<div>
<div class="header-title">
{{item.reserve_cause}}
</div>
<van-tag class="header-title-extra" :type="tagType(item.reserve_state)">
{{item.state_name}}
</van-tag>
<div class="cell">
<div class="title">预约场地:</div>
<div class="content">{{item.site_name}}</div>
</div>
<div class="cell">
<div class="title">开始时间:</div>
<div class="content">{{item.reserve_start_time}}</div>
</div>
<div class="cell">
<div class="title">结束时间:</div>
<div class="content">{{item.reserve_end_time}}</div>
</div>
<div class="cell">
<div class="title">预约人姓名:</div>
<div class="content">{{item.reserve_person_username}}</div>
</div>
<div class="cell">
<div class="title">预约人工号:</div>
<div class="content">{{item.reserve_person_loginname}}</div>
</div>
<div class="cell">
<div class="title">预约人部门:</div>
<div class="content">{{item.reserve_person_unitname}}</div>
</div>
<div class="cell">
<div class="title">预约人工会:</div>
<div class="content">{{item.reserve_person_unionname}}</div>
</div>
<div class="extra">
<van-button size="small" type="info" @click="openView(item.id)">查看详情</van-button>
<van-button size="small" type="info" @click="openAudit(item.id)"
v-if="item.reserve_state===6098">审核预约
</van-button>
</div>
</div>
</div>
</van-list>
</div>
<van-empty v-if="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 {
tableData: [],
pageForm: {
isAudit: false,
time: moment().format('YYYY-MM')
},
pageDataUrl: '/platform/activity/site/unionProcess/pageData',
maxDate: new Date(),
currentDate: new Date(),
auditOptions: [
{text: '全部', value: null},
{text: '已审核', value: true},
{text: '未审核', value: false},
]
}
},
computed: {
tagType() {
return (reserveState) => {
if (reserveState === 6138) {
return 'success';
} else if ([6108, 6128].includes(reserveState)) {
return 'danger';
}
return 'primary';
};
},
},
methods: {
async openAudit(id) {
window.location.href = loc() + '/audit?id=' + id
},
openView(id) {
window.location.href = '/mobile/activity/site/mine/detail?id=' + id
},
onCancelDate() {
this.$refs.dropItemYearMonth.toggle();
},
onConfirmDate(val) {
this.pageForm.time = moment(val).format('YYYY-MM')
this.$refs.dropItemYearMonth.toggle()
this.doSearch()
}
},
created() {
// this.pageData()
}
})
window.addEventListener('pageshow', e => {
if (e.persisted || (window.performance && window.performance.navigation.type === 2)) {
vue.doSearch()
}
})
</script>
<!--#
}
#-->