first commit

This commit is contained in:
2026-09-23 09:38:39 +08:00
commit 98a8b8cace
6257 changed files with 1266718 additions and 0 deletions
@@ -0,0 +1,106 @@
<!--#
layout("/mobile/platform.html"){
#-->
<style>
.register-icon {
position: absolute;
bottom: 8px;
right: 16px;
z-index: 1;
}
</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="location.href='/mobile/index'"
></van-nav-bar>
<div style="margin: 20px auto 0">
<van-list
v-model="mLoading"
:finished="finished"
:finished-text="tableData.length>0?'没有更多了':''"
@load="onLoad">
<div v-for="o in tableData" class="list-card" @click.stop="openView(o)">
<van-cell-group inset>
<van-cell title="登记类型" :border="false">
<div style="display: flex;align-items: center">
<span :style="{color:themeColor}" style="font-size: 16px" class="van-ellipsis">{{o.dj_djlx==1?'幼儿园':o.dj_djlx==2?'幼升小':'小升初'}}</span>
</div>
</van-cell>
<van-cell :border="false" title="子女姓名">{{o.dj_znname}}</van-cell>
<van-cell :border="false" title="出生日期" v-if="o.dj_djlx===2">{{o.dj_znzsny}}</van-cell>
<van-cell :border="false" title="教职工姓名">{{o.jzgname}}</van-cell>
<van-cell :border="false" title="所属单位">{{o.dwname}}</van-cell>
<van-cell :border="false" title="所属部门工会">{{o.jzgfghname}}</van-cell>
<van-cell :border="false" title="手机号码">{{o.dj_iphone}}</van-cell>
<van-cell :border="false" title="申请状态">
<span style="color: #e6a23c" v-if="o.dj_sqzt==1">待部门工会审核</span>
<span style="color: #f56c6c" v-if="o.dj_sqzt==3">部门工会审核拒绝</span>
<span v-if="o.dj_sqzt==2" style="color: #e6a23c">待校工会审核</span>
<span v-if="o.dj_sqzt==4" style="color: #f56c6c">校工会审核拒绝</span>
<span v-if="o.dj_sqzt==5" style="color: #67c23a">审核通过</span>
<span v-if="o.dj_sqzt==0">待重新提交</span>
</van-cell>
<image class="register-icon" src="/assets/mobile/svg/rxdj/applyEdit.svg"
@click.stop="openEdit(o)"
v-if="o.dj_sqzt==1||o.dj_sqzt==0"
></image>
</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>
let vue = new Vue({
el: '#app',
mixins: [mobileMixins],
data() {
return {}
},
methods: {
async onLoad() {
this.mLoading = true
$.post('/platform/zgfw/rxdjxx/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
})
},
openView(o) {
window.location.href = "/platform/zgfw/mobile/rxdj/apply/info?dj_id=" + o.dj_id
},
openEdit(o) {
window.location.href = "/platform/zgfw/mobile/rxdj/psms?client=mobile&dj_id=" + o.dj_id + "&dj_djlx=" + o.dj_djlx
}
},
async created() {
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,38 @@
<!--#
layout("/mobile/platform.html"){
#-->
<style>
</style>
<div id="app" v-cloak>
<van-nav-bar title="登记信息" left-arrow placeholder fixed @click-left="history.back()"></van-nav-bar>
<div>
<rxdj-mobile-info :dj_id="dj_id" title="登记信息"></rxdj-mobile-info>
</div>
</div>
<script>
const vue = new Vue({
el: '#app',
mixins: [mobileMixins],
data() {
return {
dj_id: GetQueryString('dj_id'),
}
},
components: {
'rxdj-mobile-info': httpVueLoader('/components/zgfw/rxdj/mobileRxdj.vue?v=' + new Date().getTime()),
},
methods: {
},
async created() {
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,98 @@
<!--#
layout("/mobile/platform.html"){
#-->
<div id="app" v-cloak>
<m-page-loading v-if="mLoading"></m-page-loading>
<van-nav-bar
title="登记列表"
left-arrow
placeholder
fixed
@click-left="location.href='/mobile/index'"
></van-nav-bar>
<div style="margin: 20px auto 0">
<van-list
v-model="mLoading"
:finished="finished"
:finished-text="tableData.length>0?'没有更多了':''"
@load="onLoad">
<div v-for="o in tableData" class="list-card" @click="openView(o)">
<van-cell-group inset>
<van-cell :border="false" title="年度">{{o.bmyear}}</van-cell>
<van-cell title="登记类型" :border="false">
<div style="display: flex;align-items: center">
<span :style="{color:themeColor}" style="font-size: 16px" class="van-ellipsis">{{o.bmlx==1?'幼儿园':o.bmlx==2?'幼升小':'小升初'}}</span>
</div>
</van-cell>
<van-cell :border="false" title="开始时间">{{o.bmkssj}}</van-cell>
<van-cell :border="false" title="结束时间">{{o.bmjssj}}</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>
let vue = new Vue({
el: '#app',
mixins: [mobileMixins],
data() {
return {}
},
methods: {
async onLoad() {
this.mLoading = true
$.post(loc() + '/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
})
},
openView(o) {
const {bmlx, bmyear, bmkssj, bmjssj} = o
if (moment().format("YYYY-MM-DD") < bmkssj) {
vant.Toast('报名暂未开始!')
return
} else if (moment().format("YYYY-MM-DD") > bmjssj) {
vant.Toast('报名已结束!')
return
}
switch (bmlx) {
case 1:
window.location.href = '/platform/zgfw/mobile/rxdj/kindergarten?client=mobile'
break;
case 2:
window.location.href = '/platform/zgfw/mobile/rxdj/psms?client=mobile&dj_djlx=' + bmlx
break;
case 3:
window.location.href = '/platform/zgfw/mobile/rxdj/psms?client=mobile&dj_djlx=' + bmlx
break;
}
}
},
async created() {
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,146 @@
<!--#
layout("/mobile/platform.html"){
#-->
<div id="app" v-cloak>
<m-page-loading v-if="mLoading"></m-page-loading>
<van-nav-bar
title="我的审核"
left-arrow
placeholder
fixed
@click-left="location.href='/mobile/index'"
></van-nav-bar>
<div class="search-fixed">
<van-dropdown-menu active-color="RGB(8,23,118)">
<van-dropdown-item v-model="pageForm.year" @change="yearChange" :options="yearList"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.isAudit" @change="yearChange" :options="auditList"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.unionId" @change="yearChange"
v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('H03')||@shiro.hasRole('wyh02')||@shiro.hasRole('wyh03')}"
:options="mCommon.unionList"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.unitId" @change="yearChange"
:options="mCommon.unitList"></van-dropdown-item>
</van-dropdown-menu>
</div>
<div style="margin: 70px auto 0">
<van-list
v-model="mLoading"
:finished="finished"
:finished-text="tableData.length>0?'没有更多了':''"
@load="onLoad">
<div v-for="o in tableData" class="list-card" @click="openView(o)">
<van-cell-group inset>
<van-cell title="登记类型" :border="false">
<div style="display: flex;align-items: center">
<span :style="{color:themeColor}" style="font-size: 16px" class="van-ellipsis">{{o.dj_djlx==1?'幼儿园':o.dj_djlx==2?'幼升小':'小升初'}}</span>
</div>
</van-cell>
<van-cell :border="false" title="子女姓名">{{o.dj_znname}}</van-cell>
<van-cell :border="false" title="出生日期" v-if="o.dj_djlx===2">{{o.dj_znzsny}}</van-cell>
<van-cell :border="false" title="教职工姓名">{{o.jzgname}}</van-cell>
<van-cell :border="false" title="所属单位">{{o.dj_szdw}}</van-cell>
<van-cell :border="false" title="所属部门工会">{{o.jzgfghname}}</van-cell>
<van-cell :border="false" title="手机号码">{{o.dj_iphone}}</van-cell>
<van-cell :border="false" title="申请状态">
<span style="color: #e6a23c" v-if="o.dj_sqzt==1">待部门工会审核</span>
<span style="color: #f56c6c" v-if="o.dj_sqzt==3">部门工会审核拒绝</span>
<span v-if="o.dj_sqzt==2" style="color: #e6a23c">待校工会审核</span>
<span v-if="o.dj_sqzt==4" style="color: #f56c6c">校工会审核拒绝</span>
<span v-if="o.dj_sqzt==5" style="color: #67c23a">审核通过</span>
<span v-if="o.dj_sqzt==0">待重新提交</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>
let vue = new Vue({
el: '#app',
mixins: [mobileMixins],
data() {
return {
pageForm: {
lx: GetQueryString('lx'),
year: new Date().getFullYear(),
isAudit: false,
},
unitList: [],
unionList: [],
yearList: [],
auditList: [
{text: '未审核', value: false},
{text: '已审核', value: true},
],
}
},
methods: {
yearChange() {
this.pageForm.pageNumber = 1
this.tableData = []
this.flushUnits()
this.onLoad()
},
async onLoad() {
this.mLoading = true
$.post('/platform/zgfw/mobile/rxdj/audit/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
})
},
openView(o) {
window.location.href = "/platform/zgfw/mobile/rxdj/audit/auditHtml?dj_id=" + o.dj_id + "&dj_sqzt=" + o.dj_sqzt
},
async flushUnits() {
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('wyh03')||@shiro.hasRole('wyh02')||@shiro.hasRole('H03')}" === 'true') {
await mCommon.getUnitList(this.pageForm.unionId)
} else {
await mCommon.getUnitList("${@shiro.getPrincipalProperty('unit').getUnionid()}")
}
}, async init() {
let nowYear = new Date().getFullYear()
for (let i = nowYear; i >= nowYear - 9; i--) {
this.yearList.push({text: i, value: i})
}
await mCommon.getUnionList()
if (mCommon.unionList && mCommon.unionList.length > 0) {
this.$set(this.pageForm, "unionId", mCommon.unionList[0].value)
}
if (mCommon.unitList && mCommon.unitList.length > 0) {
this.$set(this.pageForm, "unitId", mCommon.unitList[0].value)
}
}
},
async created() {
this.flushUnits()
this.init()
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,112 @@
<!--#
layout("/mobile/platform.html"){
#-->
<div id="app" v-cloak>
<van-nav-bar @click-left="history.back()" title="校工会审核" fixed placeholder left-arrow></van-nav-bar>
<rxdj-mobile-info :dj_id="dj_id" title="校工会审核" :handle="handle">
<template #handle>
<div class="handle">
<van-form>
<van-field
readonly
value="${@shiro.getPrincipalProperty('username')}"
name="username"
label="审核人员"
></van-field>
<van-field v-model="formData.auditTime" label="审核时间" readonly></van-field>
<van-field v-model="formData.dj_xghshyj"
required
rows="1"
autosize
label="审核意见"
type="textarea"
placeholder="请输入审核意见"
></van-field>
</van-form>
<div style="display: flex;justify-content: space-around;padding: 5px 0 20px 0;">
<van-button type="danger" plain style="flex: 1;margin: 0 10px 0 10px" @click="doHandle(4)">拒绝
</van-button>
<van-button color="RGB(8,23,118)" plain style="flex: 1;margin: 0 10px 0 10px" @click="doHandle(1)">
退回
</van-button>
<van-button color="RGB(8,23,118)" style="flex: 1;margin: 0 10px 0 10px" @click="doHandle(5)">通过
</van-button>
</div>
</div>
</template>
</rxdj-mobile-info>
</div>
<script>
const vue = new Vue({
el: '#app',
data() {
return {
formData: {},
dj_id: GetQueryString('dj_id'),
handle: true,
}
},
components: {
'rxdj-mobile-info': httpVueLoader('/components/zgfw/rxdj/mobileRxdj.vue?v=' + new Date().getTime()),
},
methods: {
async doHandle(s) {
this.formData.dj_sqzt = s
if (this.formData.dj_xghshyj == "") {
vant.Toast('请填写审核意见');
return
}
vant.Dialog.confirm({
title: '标题',
message: '您确定要提交吗?',
}).then(async () => {
const loading = this.$toast({
duration: 0,
message: '提交中...',
forbidClick: true,
loadingType: 'spinner',
type: 'loading',
overlay: true
});
const res = await $.post('/platform/zgfw/rxdj/sh/doxghSh', this.formData)
if (res.code === 0) {
window.setTimeout(() => {
loading.type = 'success'
loading.message = '提交成功'
window.history.back()
}, 500)
}
}).catch(() => {
});
}
},
async created() {
this.formData = {
dj_id: this.dj_id,
username: "${@shiro.getPrincipalProperty('username')}",
auditTime: moment().format('YYYY-MM-DD'),
dj_xghshyj: '',
}
const {data} = await $.get("/platform/zgfw/mobile/rxdj/audit/GetRxdjDjSqzt", {dj_id: this.dj_id})
this.handle = data == 2
},
mounted() {
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,114 @@
<!--#
layout("/mobile/platform.html"){
#-->
<div id="app" v-cloak>
<van-nav-bar @click-left="history.back()" fixed left-arrow placeholder title="部门工会审核"></van-nav-bar>
<rxdj-mobile-info :dj_id="dj_id" :handle="handle" title="部门工会审核">
<template #handle>
<div class="handle">
<van-form>
<van-field
readonly
value="${@shiro.getPrincipalProperty('username')}"
name="username"
label="审核人员"
></van-field>
<van-field v-model="formData.auditTime" label="审核时间" readonly></van-field>
<van-field v-model="formData.dj_fghshyj"
required
rows="1"
autosize
label="审核意见"
type="textarea"
placeholder="请输入审核意见"
></van-field>
</van-form>
<div style="display: flex;justify-content: space-around;padding: 5px 0 20px 0;">
<van-button type="danger" plain style="flex: 1;margin: 0 10px 0 10px" @click="doHandle(3)">拒绝
</van-button>
<van-button color="RGB(8,23,118)" plain style="flex: 1;margin: 0 10px 0 10px" @click="doHandle(0)">
退回
</van-button>
<van-button color="RGB(8,23,118)" style="flex: 1;margin: 0 10px 0 10px" @click="doHandle(2)">通过
</van-button>
</div>
</div>
</template>
</rxdj-mobile-info>
</div>
<script>
const vue = new Vue({
el: '#app',
data() {
return {
formData: {},
dj_id: GetQueryString('dj_id'),
handle: true,
}
},
components: {
'rxdj-mobile-info': httpVueLoader('/components/zgfw/rxdj/mobileRxdj.vue?v=' + new Date().getTime()),
},
methods: {
async doHandle(s) {
this.formData.dj_sqzt = s
if (this.formData.dj_fghshyj == "") {
vant.Toast('请填写审核意见');
return
}
vant.Dialog.confirm({
title: '标题',
message: '您确定要提交吗?',
}).then(async () => {
const loading = this.$toast({
duration: 0,
message: '提交中...',
forbidClick: true,
loadingType: 'spinner',
type: 'loading',
overlay: true
});
const res = await $.post('/platform/zgfw/rxdj/sh/dofghSh', this.formData)
if (res.code === 0) {
setTimeout(() => {
loading.type = 'success'
loading.message = '提交成功'
window.history.back()
}, 500)
}
}).catch(() => {
});
}
},
async created() {
this.formData = {
dj_id: this.dj_id,
username: "${@shiro.getPrincipalProperty('username')}",
auditTime: moment().format('YYYY-MM-DD'),
dj_fghshyj: '',
}
const {data} = await $.get("/platform/zgfw/mobile/rxdj/audit/GetRxdjDjSqzt", {dj_id: this.dj_id})
this.handle = data == 1
},
mounted() {
}
})
</script>
<!--#
}
#-->