commit
This commit is contained in:
@@ -24,57 +24,47 @@ layout("/mobile/platform.html"){
|
||||
.list-card .van-cell__value {
|
||||
flex: 2;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar :title="title" @click-left="history.back()" fixed left-arrow
|
||||
placeholder></van-nav-bar>
|
||||
<van-nav-bar :title="title" @click-left="pjaxReplace('/mobile/index')" fixed left-arrow placeholder></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
<!-- <van-dropdown-item v-model="pageForm.isMenWomen" @change="yearChange"
|
||||
:options="sexList"></van-dropdown-item>-->
|
||||
<van-dropdown-item v-model="pageForm.groupName" @change="yearChange"
|
||||
:options="groupList"></van-dropdown-item>
|
||||
<van-dropdown-item :options="eventList" @change="yearChange"
|
||||
v-model="pageForm.eventId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="auditList" @change="yearChange"
|
||||
v-model="pageForm.isAudit"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.groupName" @change="yearChange" :options="groupList"></van-dropdown-item>
|
||||
<van-dropdown-item :options="eventList" @change="yearChange" v-model="pageForm.eventId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="auditList" @change="yearChange" v-model="pageForm.isAudit"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
|
||||
<div style="margin: 60px auto 0 auto">
|
||||
<van-list :finished="finished" :finished-text="tableData.length>0?'没有更多了':''"
|
||||
v-model="loading"
|
||||
@load="pageData">
|
||||
<van-list :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" v-model="loading" @load="pageData">
|
||||
<div v-for="o in tableData" class="list-card">
|
||||
<van-cell-group inset>
|
||||
<image class="register-icon" src="/assets/mobile/svg/activity/wbm.svg"
|
||||
@click="openActivity(o)"
|
||||
v-if="o.userApply==0&&o.applyWay.includes(1)"></image>
|
||||
<image class="register-icon" src="/assets/mobile/svg/activity/qxbm.svg"
|
||||
@click="openActivity(o)"
|
||||
v-if="o.userApply>0&&o.applyWay.includes(1)"></image>
|
||||
<image
|
||||
class="register-icon"
|
||||
src="/assets/mobile/svg/activity/wbm.svg"
|
||||
@click="openActivity(o)"
|
||||
v-if="o.userApply==0&&o.applyWay.includes(1)"
|
||||
></image>
|
||||
<image
|
||||
class="register-icon"
|
||||
src="/assets/mobile/svg/activity/qxbm.svg"
|
||||
@click="openActivity(o)"
|
||||
v-if="o.userApply>0&&o.applyWay.includes(1)"
|
||||
></image>
|
||||
<van-cell :border="false" title="项目名称">
|
||||
<span :style="{color:themeColor}" class="van-ellipsis"
|
||||
style="font-size: 16px;">
|
||||
{{o.allName}}
|
||||
</span>
|
||||
<span :style="{color:themeColor}" class="van-ellipsis" style="font-size: 16px">{{o.allName}}</span>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="项目类型">{{o.projectType==1?'单项':'团体'}}</van-cell>
|
||||
<van-cell :border="false" title="您报队伍">
|
||||
{{o.activityTeamName?o.activityTeamName:'暂无'}}
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="您报队伍">{{o.activityTeamName?o.activityTeamName:'暂无'}}</van-cell>
|
||||
<van-cell :border="false" title="年龄限制" v-if="o.projectType==1">
|
||||
<span v-if="o.startAgeDate!=null">{{o.startAgeDate}}至{{o.endAgeDate}}</span>
|
||||
<span v-else>暂无</span>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="可报队数" v-if="o.projectType==2">
|
||||
{{o.restrictTotalTeam}}队
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="可报队数" v-if="o.projectType==2">{{o.restrictTotalTeam}}队</van-cell>
|
||||
<van-cell :border="false" title="每队可报人数" v-if="o.applyUserModel===1">
|
||||
<span v-if="o.athletesMaxNum">{{o.athletesMaxNum}}人</span>
|
||||
<span v-else-if="o.applyType==1">{{o.athletesMaxNum*o.restrictTotalTeam}}人</span>
|
||||
@@ -87,15 +77,19 @@ layout("/mobile/platform.html"){
|
||||
<span v-else-if="o.totalApplyNum>0&&o.applyType==3">{{o.totalApplyNum}}人</span>
|
||||
<span v-else>0人</span>
|
||||
</van-cell>
|
||||
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</van-list>
|
||||
</div>
|
||||
|
||||
<van-dialog @confirm="doActivityConfirm" show-cancel-button title="您确定要报名此活动吗?"
|
||||
v-model="activityDialog"
|
||||
@cancel="activityDialog = false" :before-close="onBeforeClose">
|
||||
<van-dialog
|
||||
@confirm="doActivityConfirm"
|
||||
show-cancel-button
|
||||
title="您确定要报名此活动吗?"
|
||||
v-model="activityDialog"
|
||||
@cancel="activityDialog = false"
|
||||
:before-close="onBeforeClose"
|
||||
>
|
||||
<van-radio-group v-model="formData.teamId" v-if="projectType==2">
|
||||
<van-cell-group>
|
||||
<template v-for="i in teams">
|
||||
@@ -105,21 +99,16 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-cell>
|
||||
</template>
|
||||
|
||||
</van-cell-group>
|
||||
</van-radio-group>
|
||||
</van-dialog>
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -139,27 +128,27 @@ layout("/mobile/platform.html"){
|
||||
events: [],
|
||||
eventList: [],
|
||||
groupList: [
|
||||
{text: '按组别', value: null},
|
||||
{text: '甲组', value: '甲组'},
|
||||
{text: '乙组', value: '乙组'},
|
||||
{text: '丙组', value: '丙组'},
|
||||
{text: '丁组', value: '丁组'},
|
||||
{ text: "按组别", value: null },
|
||||
{ text: "甲组", value: "甲组" },
|
||||
{ text: "乙组", value: "乙组" },
|
||||
{ text: "丙组", value: "丙组" },
|
||||
{ text: "丁组", value: "丁组" }
|
||||
],
|
||||
sexList: [
|
||||
{text: '按性别', value: 1},
|
||||
{text: '男子', value: 2},
|
||||
{text: '女子', value: 3},
|
||||
{text: '团体', value: 4},
|
||||
{ text: "按性别", value: 1 },
|
||||
{ text: "男子", value: 2 },
|
||||
{ text: "女子", value: 3 },
|
||||
{ text: "团体", value: 4 }
|
||||
],
|
||||
auditList: [
|
||||
{text: '全部', value: null},
|
||||
{text: '已报名', value: "true"},
|
||||
{text: '未报名', value: "false"},
|
||||
{ text: "全部", value: null },
|
||||
{ text: "已报名", value: "true" },
|
||||
{ text: "未报名", value: "false" }
|
||||
],
|
||||
teams: [],
|
||||
yearOption: [],
|
||||
pageForm: {
|
||||
year: '',
|
||||
year: "",
|
||||
isMenWomen: "1"
|
||||
}
|
||||
}
|
||||
@@ -173,14 +162,14 @@ layout("/mobile/platform.html"){
|
||||
this.$toast("请选择报名的小队")
|
||||
return
|
||||
} else {
|
||||
const {data} = await $.post("/mobile/activity/Sports/list/getTeamUserData", {
|
||||
const { data } = await $.post("/mobile/activity/Sports/list/getTeamUserData", {
|
||||
teamId: this.formData.teamId,
|
||||
activityId: this.formData.activityId,
|
||||
eventId: this.formData.eventId,
|
||||
applyType: this.applyType
|
||||
})
|
||||
const nv = data.filter(v => v.sex === '女')
|
||||
const nan = data.filter(v => v.sex === '男')
|
||||
const nv = data.filter((v) => v.sex === "女")
|
||||
const nan = data.filter((v) => v.sex === "男")
|
||||
let title = this.projectType === 1 ? "项目" : "小队"
|
||||
/* if (this.applyType !== 3) {
|
||||
if (this.isManGirlNum === false && "${@shiro.getPrincipalProperty('sex')}" == '男' && nan.length == (this.applyType === 1 ? (this.athletesMaxNum - this.restrictGirlNum) : this.restrictBoyNum)) {
|
||||
@@ -192,11 +181,11 @@ layout("/mobile/platform.html"){
|
||||
return
|
||||
}
|
||||
}*/
|
||||
if (this.athletesMaxNum && (data.length >= this.athletesMaxNum)) {
|
||||
if (this.athletesMaxNum && data.length >= this.athletesMaxNum) {
|
||||
this.$toast("该" + title + "人员已报满!")
|
||||
return
|
||||
}
|
||||
if (this.formData.teamId != null) this.$set(this.formData, "teamName", this.teams.find(v => v.id == this.formData.teamId).name)
|
||||
if (this.formData.teamId != null) this.$set(this.formData, "teamName", this.teams.find((v) => v.id == this.formData.teamId).name)
|
||||
await $.post("/mobile/activity/Sports/list/doActivity", this.formData)
|
||||
|
||||
await this.onRefresh()
|
||||
@@ -222,7 +211,7 @@ layout("/mobile/platform.html"){
|
||||
this.applyType = applyType
|
||||
this.isManGirlNum = isManGirlNum
|
||||
|
||||
const res = await $.get("/mobile/activity/Sports/list/getScopeUser", {activityGroupId: activityGroupId})
|
||||
const res = await $.get("/mobile/activity/Sports/list/getScopeUser", { activityGroupId: activityGroupId })
|
||||
if (res.data == 0) {
|
||||
this.$toast("您不在报名人员内!")
|
||||
return
|
||||
@@ -238,10 +227,10 @@ layout("/mobile/platform.html"){
|
||||
}*/
|
||||
if (userApply == 1) {
|
||||
const confirm = await vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '确定取消此次报名吗?',
|
||||
title: "提示",
|
||||
message: "确定取消此次报名吗?"
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
if (confirm === "confirm") {
|
||||
await $.get("/platform/activity/apply/doDeleteApply", {
|
||||
userId: "${@shiro.getPrincipalProperty('id')}",
|
||||
activityId: activityId,
|
||||
@@ -253,16 +242,11 @@ layout("/mobile/platform.html"){
|
||||
return
|
||||
}
|
||||
this.events = []
|
||||
const data = await $.get("/platform/activity/apply/getEvents", {activityId: activityId})
|
||||
const data = await $.get("/platform/activity/apply/getEvents", { activityId: activityId })
|
||||
this.events = data
|
||||
const {
|
||||
athletesMaxNum,
|
||||
startAgeDate,
|
||||
endAgeDate,
|
||||
isMenWomen,
|
||||
restrictBoyNum,
|
||||
restrictGirlNum
|
||||
} = this.events.find(v => v.id == eventId)
|
||||
const { athletesMaxNum, startAgeDate, endAgeDate, isMenWomen, restrictBoyNum, restrictGirlNum } = this.events.find(
|
||||
(v) => v.id == eventId
|
||||
)
|
||||
if (isMenWomen) {
|
||||
this.restrictBoyNum = athletesMaxNum
|
||||
this.restrictGirlNum = athletesMaxNum
|
||||
@@ -272,24 +256,24 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
this.athletesMaxNum = athletesMaxNum
|
||||
if (projectType == 1) {
|
||||
if (isMenWomen != null && isMenWomen === 1 && "${@shiro.getPrincipalProperty('sex')}" != '男') {
|
||||
if (isMenWomen != null && isMenWomen === 1 && "${@shiro.getPrincipalProperty('sex')}" != "男") {
|
||||
this.$toast("此项目只能男性老师才能报名!")
|
||||
return
|
||||
}
|
||||
if (isMenWomen != null && isMenWomen === 2 && "${@shiro.getPrincipalProperty('sex')}" != '女') {
|
||||
if (isMenWomen != null && isMenWomen === 2 && "${@shiro.getPrincipalProperty('sex')}" != "女") {
|
||||
this.$toast("此项目只能女性老师才能报名!")
|
||||
return
|
||||
}
|
||||
if (restrictRegNumber > 0) {
|
||||
const {data} = await $.post("/platform/activity/apply/getActivityData", {activityId})
|
||||
const userApplyNum = data.filter(v => v.userId == "${@shiro.getPrincipalProperty('id')}").length
|
||||
const { data } = await $.post("/platform/activity/apply/getActivityData", { activityId })
|
||||
const userApplyNum = data.filter((v) => v.userId == "${@shiro.getPrincipalProperty('id')}").length
|
||||
if (userApplyNum >= restrictRegNumber) {
|
||||
this.$toast('单项项目,每人限报' + restrictRegNumber + '个!团体项目除外')
|
||||
this.$toast("单项项目,每人限报" + restrictRegNumber + "个!团体项目除外")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
const {data} = await $.post("/mobile/activity/Sports/list/getTeamUserData", {
|
||||
const { data } = await $.post("/mobile/activity/Sports/list/getTeamUserData", {
|
||||
activityId: this.formData.activityId,
|
||||
applyType: applyType,
|
||||
eventId: eventId
|
||||
@@ -303,18 +287,15 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
unionLimit = JSON.parse(unionLimit)
|
||||
const limit = unionLimit.find(v => v.id === "${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
const limit = unionLimit.find((v) => v.id === "${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
this.athletesMaxNum = limit.limitCount
|
||||
if (data.length >= limit.limitCount) {
|
||||
this.$toast("此项目报名人数已满!此项目只需报" + limit.limitCount + "人")
|
||||
return
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (startAgeDate != null) {
|
||||
const birthday = moment("${@shiro.getPrincipalProperty('birthday')}").valueOf()
|
||||
if (birthday < moment(startAgeDate).valueOf() || birthday > moment(endAgeDate).valueOf()) {
|
||||
@@ -322,27 +303,24 @@ layout("/mobile/platform.html"){
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
if (isMenWomen != null && isMenWomen == 1 && "${@shiro.getPrincipalProperty('sex')}" != '男') {
|
||||
if (isMenWomen != null && isMenWomen == 1 && "${@shiro.getPrincipalProperty('sex')}" != "男") {
|
||||
this.$toast("此项目只能男性老师才能报名!")
|
||||
return
|
||||
}
|
||||
if (isMenWomen != null && isMenWomen == 2 && "${@shiro.getPrincipalProperty('sex')}" != '女') {
|
||||
if (isMenWomen != null && isMenWomen == 2 && "${@shiro.getPrincipalProperty('sex')}" != "女") {
|
||||
this.$toast("此项目只能女性老师才能报名!")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if (projectType == 2) {
|
||||
const {data} = await $.get("/platform/activity/apply/getActivityTeamId", {
|
||||
const { data } = await $.get("/platform/activity/apply/getActivityTeamId", {
|
||||
activityId: activityId,
|
||||
eventId: eventId
|
||||
})
|
||||
this.teams = data
|
||||
if (data.length && data.length > 0) this.$set(this.formData, "teamId", data[0].id)
|
||||
|
||||
}
|
||||
this.activityDialog = true
|
||||
},
|
||||
@@ -355,7 +333,7 @@ layout("/mobile/platform.html"){
|
||||
async pageData() {
|
||||
this.loading = true
|
||||
|
||||
const {data} = await $.get('/platform/activity/apply/pageData', this.pageForm)
|
||||
const { data } = await $.get("/platform/activity/apply/pageData", this.pageForm)
|
||||
setTimeout(() => {
|
||||
this.tableData = this.tableData.concat(data.list)
|
||||
if (this.tableData.length === data.totalCount) {
|
||||
@@ -366,31 +344,26 @@ layout("/mobile/platform.html"){
|
||||
this.loading = false
|
||||
this.pageForm.totalCount = data.totalCount
|
||||
}, 300)
|
||||
|
||||
}
|
||||
,
|
||||
},
|
||||
async created() {
|
||||
const id = GetQueryString('id')
|
||||
const applyType = GetQueryString('applyType')
|
||||
const id = GetQueryString("id")
|
||||
const applyType = GetQueryString("applyType")
|
||||
this.pageForm.activityId = id
|
||||
this.pageForm.applyType = applyType
|
||||
const data = await $.post("/platform/activity/apply/getEvents", {activityId: id})
|
||||
data.forEach(v => {
|
||||
this.eventList.push({value: v.eventId, text: v.allName})
|
||||
const data = await $.post("/platform/activity/apply/getEvents", { activityId: id })
|
||||
data.forEach((v) => {
|
||||
this.eventList.push({ value: v.eventId, text: v.allName })
|
||||
})
|
||||
this.eventList.unshift({value: null, text: "按项目"})
|
||||
this.eventList.unshift({ value: null, text: "按项目" })
|
||||
this.$set(this.pageForm, "eventId", this.eventList[0].value)
|
||||
this.$set(this.pageForm, "isMenWomen", 1)
|
||||
this.$set(this.pageForm, "groupName", null)
|
||||
this.$set(this.pageForm, "isAudit", null)
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -18,14 +18,12 @@ layout("/mobile/platform.html"){
|
||||
</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>
|
||||
<van-nav-bar title="活动列表" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
<van-dropdown-item v-model="pageForm.year" :options="yearList"
|
||||
@change="getActivityData"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.isActivity" :options="activityList"
|
||||
@change="getActivityData"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.year" :options="yearList" @change="getActivityData"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.isActivity" :options="activityList" @change="getActivityData"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
@@ -34,27 +32,33 @@ layout("/mobile/platform.html"){
|
||||
<div v-for="o in tableData" class="list-card" @click="openInfo(o.id,o.applyEndTime,o.applyType)">
|
||||
<van-cell-group inset>
|
||||
<van-cell :border="false" title="活动名称">
|
||||
<span class="van-ellipsis" style="font-size: 16px;" :style="{color:themeColor}">
|
||||
{{o.NAME}}
|
||||
</span>
|
||||
<span class="van-ellipsis" style="font-size: 16px" :style="{color:themeColor}">{{o.NAME}}</span>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="活动地址">{{o.address}}</van-cell>
|
||||
<van-cell :border="false" title="报名时间">
|
||||
<span style="font-size: 12px">
|
||||
{{moment(o.applyStartTime).format('YYYY/MM/DD HH:mm')}} 至
|
||||
{{moment(o.applyEndTime).format('YYYY/MM/DD HH:mm')}}
|
||||
{{moment(o.applyStartTime).format('YYYY/MM/DD HH:mm')}} 至 {{moment(o.applyEndTime).format('YYYY/MM/DD HH:mm')}}
|
||||
</span>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="活动时间">
|
||||
<span style="font-size: 12px">
|
||||
{{moment(o.startTime).format('YYYY/MM/DD HH:mm')}} 至
|
||||
{{moment(o.endTime).format('YYYY/MM/DD HH:mm')}}
|
||||
{{moment(o.startTime).format('YYYY/MM/DD HH:mm')}} 至 {{moment(o.endTime).format('YYYY/MM/DD HH:mm')}}
|
||||
</span>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="活动状态">
|
||||
<van-tag type="warning" v-if="moment(o.applyStartTime).valueOf() > moment().valueOf()">未开始</van-tag>
|
||||
<van-tag type="primary" v-else-if="moment(o.applyEndTime).valueOf() > moment().valueOf() && moment().valueOf() > moment(o.applyStartTime).valueOf()">报名中</van-tag>
|
||||
<van-tag type="success" v-else-if="moment(o.startTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.endTime).valueOf()">进行中</van-tag>
|
||||
<van-tag
|
||||
type="primary"
|
||||
v-else-if="moment(o.applyEndTime).valueOf() > moment().valueOf() && moment().valueOf() > moment(o.applyStartTime).valueOf()"
|
||||
>
|
||||
报名中
|
||||
</van-tag>
|
||||
<van-tag
|
||||
type="success"
|
||||
v-else-if="moment(o.startTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.endTime).valueOf()"
|
||||
>
|
||||
进行中
|
||||
</van-tag>
|
||||
<van-tag type="danger" v-else-if="moment().valueOf() > moment(o.endTime).valueOf()">活动结束</van-tag>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
@@ -62,27 +66,24 @@ layout("/mobile/platform.html"){
|
||||
</van-list>
|
||||
</div>
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
activityList: [
|
||||
{text: '全部', value: 1},
|
||||
{text: '未开始', value: 5},
|
||||
{text: '报名中', value: 2},
|
||||
{text: '进行中', value: 4},
|
||||
{text: '已结束', value: 3},
|
||||
{ text: "全部", value: 1 },
|
||||
{ text: "未开始", value: 5 },
|
||||
{ text: "报名中", value: 2 },
|
||||
{ text: "进行中", value: 4 },
|
||||
{ text: "已结束", value: 3 }
|
||||
],
|
||||
pageForm: {
|
||||
year: '',
|
||||
year: "",
|
||||
isActivity: "1"
|
||||
}
|
||||
}
|
||||
@@ -94,7 +95,7 @@ layout("/mobile/platform.html"){
|
||||
this.pageData()
|
||||
},
|
||||
async getActivityData() {
|
||||
const {data} = await $.post("/platform/activity/apply/activityData", {
|
||||
const { data } = await $.post("/platform/activity/apply/activityData", {
|
||||
year: this.pageForm.year,
|
||||
isActivity: this.pageForm.isActivity
|
||||
})
|
||||
@@ -105,7 +106,7 @@ layout("/mobile/platform.html"){
|
||||
this.$toast("活动已结束,暂不能报名")
|
||||
return
|
||||
}
|
||||
window.location.href = '/mobile/activity/Sports/list/activityEventList?id=' + id + "&applyType=" + applyType
|
||||
window.location.href = "/mobile/activity/Sports/list/activityEventList?id=" + id + "&applyType=" + applyType
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
@@ -114,12 +115,10 @@ layout("/mobile/platform.html"){
|
||||
this.$set(this.pageForm, "isActivity", 1)
|
||||
await this.getActivityData()
|
||||
this.mLoading = false
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -20,20 +20,19 @@ layout("/mobile/platform.html"){
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="报名详情" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="报名详情" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div style="margin: 20px auto 0 auto">
|
||||
<div v-for="o in tableData" class="list-card">
|
||||
<van-cell-group inset>
|
||||
<image class="register-icon" src="/assets/mobile/svg/activity/ybm.svg"
|
||||
@click="openActivity(o)"
|
||||
v-if="o.userApply>0&&o.applyWay.includes(1)"></image>
|
||||
<image
|
||||
class="register-icon"
|
||||
src="/assets/mobile/svg/activity/ybm.svg"
|
||||
@click="openActivity(o)"
|
||||
v-if="o.userApply>0&&o.applyWay.includes(1)"
|
||||
></image>
|
||||
<van-cell :border="false" title="项目名称">
|
||||
<span class="van-ellipsis" style="font-size: 16px;"
|
||||
:style="{color:themeColor}">
|
||||
{{o.allName}}
|
||||
</span>
|
||||
<span class="van-ellipsis" style="font-size: 16px" :style="{color:themeColor}">{{o.allName}}</span>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="项目类型">{{o.projectType==1?'单项':'团体'}}</van-cell>
|
||||
<van-cell :border="false" title="年龄限制" v-if="o.projectType==1">
|
||||
@@ -47,7 +46,6 @@ layout("/mobile/platform.html"){
|
||||
<span v-else-if="o.applyType==2&&o.projectType==1">{{o.athletesMaxNum}}人</span>
|
||||
<span v-else-if="o.applyType==2&&o.projectType==2">{{o.restrictGirlNum+o.restrictBoyNum}}人</span>
|
||||
<span v-else>暂无</span>
|
||||
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="已报名人数">
|
||||
<span v-if="o.applyNum>0&&o.applyType!=3">{{o.applyNum}}人</span>
|
||||
@@ -57,24 +55,22 @@ layout("/mobile/platform.html"){
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
activityId: '',
|
||||
activityId: "",
|
||||
o: {},
|
||||
projectInfo: null
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getActivityInfo() {
|
||||
const resp = await $.get('/mobile/activity/unionActivity/findOne', {id: this.activityId})
|
||||
const resp = await $.get("/mobile/activity/unionActivity/findOne", { id: this.activityId })
|
||||
if (resp.code === 0) {
|
||||
this.o = resp.data
|
||||
this.$nextTick(() => {
|
||||
@@ -83,36 +79,26 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
async getSchoolActivityProjectInfoByMine() {
|
||||
const resp = await $.get('/mobile/activity/myActivity/getSchoolActivityProjectInfoByMine', {activityId: this.activityId})
|
||||
const resp = await $.get("/mobile/activity/myActivity/getSchoolActivityProjectInfoByMine", { activityId: this.activityId })
|
||||
if (resp.code === 0) {
|
||||
this.projectInfo = resp.data
|
||||
}
|
||||
},
|
||||
async getHasRegEventProject() {
|
||||
const resp = await $.get('/platform/activity/apply/pageData', this.pageForm)
|
||||
const resp = await $.get("/platform/activity/apply/pageData", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
this.tableData = resp.data.list
|
||||
}
|
||||
},
|
||||
async openActivity(o) {
|
||||
const {
|
||||
applyType,
|
||||
eventId,
|
||||
activityId,
|
||||
projectType,
|
||||
userApply,
|
||||
applyNum,
|
||||
name,
|
||||
activityGroupId,
|
||||
restrictRegNumber
|
||||
} = o
|
||||
const { applyType, eventId, activityId, projectType, userApply, applyNum, name, activityGroupId, restrictRegNumber } = o
|
||||
const confirm = await vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '确定取消此次报名吗?',
|
||||
title: "提示",
|
||||
message: "确定取消此次报名吗?"
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
if (confirm === "confirm") {
|
||||
const loading = this.$toast.loading({
|
||||
message: '取消中...',
|
||||
message: "取消中...",
|
||||
forbidClick: true,
|
||||
overlay: true,
|
||||
duration: 0
|
||||
@@ -124,20 +110,18 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
loading.close()
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success('取消成功')
|
||||
this.$toast.success("取消成功")
|
||||
this.getHasRegEventProject()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
created() {
|
||||
const id = GetQueryString("id")
|
||||
if (id) {
|
||||
this.$set(this.pageForm, 'isAudit', 'true')
|
||||
this.$set(this.pageForm, 'activityId', id)
|
||||
this.$set(this.pageForm, 'pageSize', 100)
|
||||
this.$set(this.pageForm, "isAudit", "true")
|
||||
this.$set(this.pageForm, "activityId", id)
|
||||
this.$set(this.pageForm, "pageSize", 100)
|
||||
this.activityId = id
|
||||
this.getActivityInfo()
|
||||
this.getHasRegEventProject()
|
||||
@@ -147,4 +131,4 @@ layout("/mobile/platform.html"){
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -7,7 +7,6 @@ layout("/mobile/platform.html"){
|
||||
background: #ececec;
|
||||
}
|
||||
|
||||
|
||||
.tips .content {
|
||||
height: calc(80vh - 49px);
|
||||
overflow-y: scroll;
|
||||
@@ -15,7 +14,12 @@ layout("/mobile/platform.html"){
|
||||
/*padding: 5px*/
|
||||
}
|
||||
|
||||
.tips .content h1, h2, h3, h4, h5, h6 {
|
||||
.tips .content h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-weight: unset;
|
||||
margin: 10px;
|
||||
}
|
||||
@@ -58,7 +62,6 @@ layout("/mobile/platform.html"){
|
||||
/*border-left: none;*/
|
||||
}
|
||||
|
||||
|
||||
.table-container table td {
|
||||
/*background-color: #f2f2f2;*/
|
||||
}
|
||||
@@ -81,180 +84,188 @@ layout("/mobile/platform.html"){
|
||||
.siteUsageTabs .van-tabs__line {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<div>
|
||||
<van-nav-bar title="场地预约" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="场地预约" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
|
||||
<div class="van-sidebar-item van-sidebar-item--select" style="margin-top: 10px!important;">
|
||||
近一周预约情况
|
||||
</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select" style="margin-top: 10px !important">近一周预约情况</div>
|
||||
|
||||
<van-tabs v-model="tabActive" class="siteUsageTabs">
|
||||
<van-tab :title="k" v-for="(v,k) in allSiteUsageInfo" :item="k">
|
||||
<template #title>
|
||||
<svg t="1702637676312" class="icon" viewBox="0 0 1111 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" p-id="7468" width="20" height="20">
|
||||
<path d="M463.784229 127.356343a9.698743 9.698743 0 0 1-9.713372-9.669486c0-5.3248 4.344686-9.654857 9.713372-9.654857h103.658057c5.339429 0 9.698743 4.330057 9.698743 9.654857 0 5.3248-4.359314 9.654857-9.698743 9.654857h-103.658057z m150.176914 0a9.698743 9.698743 0 0 1-9.713372-9.669486c0-5.3248 4.359314-9.654857 9.713372-9.654857h34.040686c5.354057 0 9.713371 4.330057 9.713371 9.654857 0 5.3248-4.359314 9.654857-9.713371 9.654857H613.961143zM51.243886 36.571429a14.599314 14.599314 0 0 0-14.555429 14.584685v549.653943l3.364572-1.243428c67.978971-25.1904 125.952-66.706286 172.295314-123.406629 71.723886-87.771429 103.892114-197.778286 118.272-274.578286 15.4624-82.7392 14.218971-147.265829 14.160457-149.972114a18.139429 18.139429 0 0 1 3.349943-11.044571l2.735543-3.9936H51.243886z m703.619657 4.008228c2.296686 3.2768 3.466971 7.109486 3.364571 11.044572-0.073143 2.633143-1.579886 65.8432 14.160457 149.942857 14.336 76.8 46.4896 186.748343 118.286629 274.578285 46.928457 57.431771 105.632914 99.240229 174.4896 124.298972 2.048 0.731429 3.949714 1.872457 5.792914 3.4816l4.125257 3.554743V51.170743a14.599314 14.599314 0 0 0-14.555428-14.584686H752.054857l2.779429 4.008229zM36.688457 752.7424c0 8.045714 6.538971 14.584686 14.555429 14.584686h215.508114l0.146286-2.369829a18.578286 18.578286 0 0 1 5.983085-12.682971c51.258514-47.162514 60.298971-119.456914 46.518858-170.174172-4.8128-17.495771-20.3776-60.430629-61.513143-80.866743l-12.551315-6.2464-9.025828 10.708115C185.782857 565.496686 123.318857 609.206857 50.673371 635.611429a18.870857 18.870857 0 0 1-6.436571 1.170285c-1.418971 0-2.779429-0.321829-4.447086-0.731428l-3.101257-0.775315v117.4528z m755.712 14.584686l-3.569371-4.183772c-43.680914-51.156114-59.538286-124.269714-41.428115-190.829714 11.790629-43.344457 37.156571-78.599314 71.402058-99.240229l15.594057-9.376914-9.654857-15.433143a597.825829 597.825829 0 0 1-48.405943-96.241371c-17.759086-44.704914-31.6416-93.622857-41.194057-145.393372-16.325486-88.298057-14.5408-153.365943-14.453029-156.086857 0.117029-3.584 1.2288-7.021714 3.232914-9.991314l2.691657-3.949714H376.290743l2.735543 3.949714c2.048 2.954971 3.1744 6.407314 3.291428 9.976686 0.087771 2.720914 1.872457 67.774171-14.482285 156.086857-9.537829 51.755886-23.405714 100.688457-41.179429 145.408a601.512229 601.512229 0 0 1-48.391314 96.241371l-9.654857 15.433143 15.5648 9.376914c34.230857 20.626286 59.582171 55.851886 71.402057 99.210972 18.154057 66.603886 2.296686 139.717486-41.398857 190.858971l-3.569372 4.183772h481.792z m268.127086 0a14.599314 14.599314 0 0 0 14.555428-14.584686v-124.416l-4.139885 3.627886c-2.530743 2.194286-6.685257 4.827429-12.214857 4.827428a19.017143 19.017143 0 0 1-6.392686-1.141028c-72.630857-26.433829-135.080229-70.158629-185.636572-129.9456l-9.040457-10.708115-12.551314 6.2464c-41.150171 20.450743-56.700343 63.370971-61.483886 80.881372-13.809371 50.702629-4.783543 122.997029 46.533486 170.159543 3.569371 3.262171 5.690514 7.767771 5.968457 12.668343l0.146286 2.384457h224.256zM51.243886 803.913143A51.273143 51.273143 0 0 1 0 752.7424V51.170743A51.273143 51.273143 0 0 1 51.243886 0h1009.283657A51.273143 51.273143 0 0 1 1111.771429 51.170743v701.571657a51.273143 51.273143 0 0 1-51.243886 51.170743H51.243886z m-6.977829 105.003886a18.768457 18.768457 0 0 1-18.768457-18.724572c0-10.327771 8.426057-18.724571 18.768457-18.724571h234.8032c10.3424 0 18.768457 8.3968 18.768457 18.724571 0 10.313143-8.426057 18.724571-18.768457 18.724572H44.266057z m394.210743 0a18.768457 18.768457 0 0 1-18.753829-18.724572c0-10.327771 8.411429-18.724571 18.753829-18.724571h234.832457c10.3424 0 18.753829 8.3968 18.753829 18.724571 0 10.313143-8.411429 18.724571-18.753829 18.724572H438.4768z m394.210743 0a18.753829 18.753829 0 0 1-18.753829-18.724572c0-10.327771 8.411429-18.724571 18.753829-18.724571h234.832457c10.3424 0 18.753829 8.3968 18.753829 18.724571 0 10.313143-8.411429 18.724571-18.753829 18.724572H832.687543zM236.982857 1024a18.768457 18.768457 0 0 1-18.768457-18.724571c0-10.313143 8.426057-18.724571 18.768457-18.724572h234.832457c10.3424 0 18.768457 8.411429 18.768457 18.724572 0 10.327771-8.426057 18.724571-18.768457 18.724571H236.982857z m394.210743 0a18.753829 18.753829 0 0 1-18.753829-18.724571c0-10.313143 8.411429-18.724571 18.753829-18.724572H866.011429c10.3424 0 18.753829 8.411429 18.753828 18.724572 0 10.327771-8.411429 18.724571-18.753828 18.724571H631.1936z"
|
||||
fill="#44BBE0" p-id="7469"></path>
|
||||
<svg
|
||||
t="1702637676312"
|
||||
class="icon"
|
||||
viewBox="0 0 1111 1024"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="7468"
|
||||
width="20"
|
||||
height="20"
|
||||
>
|
||||
<path
|
||||
d="M463.784229 127.356343a9.698743 9.698743 0 0 1-9.713372-9.669486c0-5.3248 4.344686-9.654857 9.713372-9.654857h103.658057c5.339429 0 9.698743 4.330057 9.698743 9.654857 0 5.3248-4.359314 9.654857-9.698743 9.654857h-103.658057z m150.176914 0a9.698743 9.698743 0 0 1-9.713372-9.669486c0-5.3248 4.359314-9.654857 9.713372-9.654857h34.040686c5.354057 0 9.713371 4.330057 9.713371 9.654857 0 5.3248-4.359314 9.654857-9.713371 9.654857H613.961143zM51.243886 36.571429a14.599314 14.599314 0 0 0-14.555429 14.584685v549.653943l3.364572-1.243428c67.978971-25.1904 125.952-66.706286 172.295314-123.406629 71.723886-87.771429 103.892114-197.778286 118.272-274.578286 15.4624-82.7392 14.218971-147.265829 14.160457-149.972114a18.139429 18.139429 0 0 1 3.349943-11.044571l2.735543-3.9936H51.243886z m703.619657 4.008228c2.296686 3.2768 3.466971 7.109486 3.364571 11.044572-0.073143 2.633143-1.579886 65.8432 14.160457 149.942857 14.336 76.8 46.4896 186.748343 118.286629 274.578285 46.928457 57.431771 105.632914 99.240229 174.4896 124.298972 2.048 0.731429 3.949714 1.872457 5.792914 3.4816l4.125257 3.554743V51.170743a14.599314 14.599314 0 0 0-14.555428-14.584686H752.054857l2.779429 4.008229zM36.688457 752.7424c0 8.045714 6.538971 14.584686 14.555429 14.584686h215.508114l0.146286-2.369829a18.578286 18.578286 0 0 1 5.983085-12.682971c51.258514-47.162514 60.298971-119.456914 46.518858-170.174172-4.8128-17.495771-20.3776-60.430629-61.513143-80.866743l-12.551315-6.2464-9.025828 10.708115C185.782857 565.496686 123.318857 609.206857 50.673371 635.611429a18.870857 18.870857 0 0 1-6.436571 1.170285c-1.418971 0-2.779429-0.321829-4.447086-0.731428l-3.101257-0.775315v117.4528z m755.712 14.584686l-3.569371-4.183772c-43.680914-51.156114-59.538286-124.269714-41.428115-190.829714 11.790629-43.344457 37.156571-78.599314 71.402058-99.240229l15.594057-9.376914-9.654857-15.433143a597.825829 597.825829 0 0 1-48.405943-96.241371c-17.759086-44.704914-31.6416-93.622857-41.194057-145.393372-16.325486-88.298057-14.5408-153.365943-14.453029-156.086857 0.117029-3.584 1.2288-7.021714 3.232914-9.991314l2.691657-3.949714H376.290743l2.735543 3.949714c2.048 2.954971 3.1744 6.407314 3.291428 9.976686 0.087771 2.720914 1.872457 67.774171-14.482285 156.086857-9.537829 51.755886-23.405714 100.688457-41.179429 145.408a601.512229 601.512229 0 0 1-48.391314 96.241371l-9.654857 15.433143 15.5648 9.376914c34.230857 20.626286 59.582171 55.851886 71.402057 99.210972 18.154057 66.603886 2.296686 139.717486-41.398857 190.858971l-3.569372 4.183772h481.792z m268.127086 0a14.599314 14.599314 0 0 0 14.555428-14.584686v-124.416l-4.139885 3.627886c-2.530743 2.194286-6.685257 4.827429-12.214857 4.827428a19.017143 19.017143 0 0 1-6.392686-1.141028c-72.630857-26.433829-135.080229-70.158629-185.636572-129.9456l-9.040457-10.708115-12.551314 6.2464c-41.150171 20.450743-56.700343 63.370971-61.483886 80.881372-13.809371 50.702629-4.783543 122.997029 46.533486 170.159543 3.569371 3.262171 5.690514 7.767771 5.968457 12.668343l0.146286 2.384457h224.256zM51.243886 803.913143A51.273143 51.273143 0 0 1 0 752.7424V51.170743A51.273143 51.273143 0 0 1 51.243886 0h1009.283657A51.273143 51.273143 0 0 1 1111.771429 51.170743v701.571657a51.273143 51.273143 0 0 1-51.243886 51.170743H51.243886z m-6.977829 105.003886a18.768457 18.768457 0 0 1-18.768457-18.724572c0-10.327771 8.426057-18.724571 18.768457-18.724571h234.8032c10.3424 0 18.768457 8.3968 18.768457 18.724571 0 10.313143-8.426057 18.724571-18.768457 18.724572H44.266057z m394.210743 0a18.768457 18.768457 0 0 1-18.753829-18.724572c0-10.327771 8.411429-18.724571 18.753829-18.724571h234.832457c10.3424 0 18.753829 8.3968 18.753829 18.724571 0 10.313143-8.411429 18.724571-18.753829 18.724572H438.4768z m394.210743 0a18.753829 18.753829 0 0 1-18.753829-18.724572c0-10.327771 8.411429-18.724571 18.753829-18.724571h234.832457c10.3424 0 18.753829 8.3968 18.753829 18.724571 0 10.313143-8.411429 18.724571-18.753829 18.724572H832.687543zM236.982857 1024a18.768457 18.768457 0 0 1-18.768457-18.724571c0-10.313143 8.426057-18.724571 18.768457-18.724572h234.832457c10.3424 0 18.768457 8.411429 18.768457 18.724572 0 10.327771-8.426057 18.724571-18.768457 18.724571H236.982857z m394.210743 0a18.753829 18.753829 0 0 1-18.753829-18.724571c0-10.313143 8.411429-18.724571 18.753829-18.724572H866.011429c10.3424 0 18.753829 8.411429 18.753828 18.724572 0 10.327771-8.411429 18.724571-18.753828 18.724571H631.1936z"
|
||||
fill="#44BBE0"
|
||||
p-id="7469"
|
||||
></path>
|
||||
</svg>
|
||||
{{k}}
|
||||
</template>
|
||||
<div class="table-container">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>开始时间</td>
|
||||
<td>结束时间</td>
|
||||
<td>联系人</td>
|
||||
<td>联系人部门</td>
|
||||
<td>活动名称</td>
|
||||
<td>活动性质</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>开始时间</td>
|
||||
<td>结束时间</td>
|
||||
<td>联系人</td>
|
||||
<td>联系人部门</td>
|
||||
<td>活动名称</td>
|
||||
<td>活动性质</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="item in v" :key="item.id">
|
||||
<td>{{item.reserve_start_time}}</td>
|
||||
<td>{{item.reserve_end_time}}</td>
|
||||
<td>{{item.reserve_person_username}}</td>
|
||||
<td>{{item.reserve_person_unitname}}</td>
|
||||
<td>{{item.reserve_activity}}</td>
|
||||
<td>{{item.activity_nature}}</td>
|
||||
</tr>
|
||||
<tr v-for="item in v" :key="item.id">
|
||||
<td>{{item.reserve_start_time}}</td>
|
||||
<td>{{item.reserve_end_time}}</td>
|
||||
<td>{{item.reserve_person_username}}</td>
|
||||
<td>{{item.reserve_person_unitname}}</td>
|
||||
<td>{{item.reserve_activity}}</td>
|
||||
<td>{{item.activity_nature}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
|
||||
<div class="van-sidebar-item van-sidebar-item--select" style="margin-top: 10px!important;">
|
||||
填写预约信息
|
||||
</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select" style="margin-top: 10px !important">填写预约信息</div>
|
||||
<van-form @submit="onSubmit">
|
||||
<van-cell-group class="">
|
||||
<van-field v-model="formData.reserve_activity"
|
||||
name="reserve_activity"
|
||||
rows="1"
|
||||
autosize
|
||||
type="textarea"
|
||||
:rules="[{ required: true, message: '请填写' }]"
|
||||
placeholder="请填写活动名称"
|
||||
required
|
||||
label="活动名称"></van-field>
|
||||
<van-field
|
||||
v-model="formData.reserve_activity"
|
||||
name="reserve_activity"
|
||||
rows="1"
|
||||
autosize
|
||||
type="textarea"
|
||||
:rules="[{ required: true, message: '请填写' }]"
|
||||
placeholder="请填写活动名称"
|
||||
required
|
||||
label="活动名称"
|
||||
></van-field>
|
||||
|
||||
<van-field readonly
|
||||
clickable
|
||||
name="activity_nature"
|
||||
:value="formData.activity_nature"
|
||||
label="活动性质"
|
||||
placeholder="点击选择活动性质"
|
||||
:rules="[{ required: true, message: '请选择' }]"
|
||||
required
|
||||
@click="showSiteNaturePicker = true"
|
||||
>
|
||||
</van-field>
|
||||
<van-field
|
||||
readonly
|
||||
clickable
|
||||
name="activity_nature"
|
||||
:value="formData.activity_nature"
|
||||
label="活动性质"
|
||||
placeholder="点击选择活动性质"
|
||||
:rules="[{ required: true, message: '请选择' }]"
|
||||
required
|
||||
@click="showSiteNaturePicker = true"
|
||||
></van-field>
|
||||
|
||||
<van-field v-model="formData.reserve_join_user_num"
|
||||
name="reserve_join_user_num"
|
||||
rows="1"
|
||||
autosize
|
||||
type="textarea"
|
||||
:rules="[{ required: true, message: '请填写' }]"
|
||||
placeholder="请填写活动人数"
|
||||
required
|
||||
label="活动人数"></van-field>
|
||||
<van-field
|
||||
v-model="formData.reserve_join_user_num"
|
||||
name="reserve_join_user_num"
|
||||
rows="1"
|
||||
autosize
|
||||
type="textarea"
|
||||
:rules="[{ required: true, message: '请填写' }]"
|
||||
placeholder="请填写活动人数"
|
||||
required
|
||||
label="活动人数"
|
||||
></van-field>
|
||||
|
||||
<van-field
|
||||
v-model="formData.site_responsible_person"
|
||||
name="site_responsible_person"
|
||||
rows="1"
|
||||
autosize
|
||||
type="textarea"
|
||||
:rules="[{ required: true, message: '请填写' }]"
|
||||
placeholder="请填写活动现场负责人"
|
||||
required
|
||||
label="现场负责人"
|
||||
></van-field>
|
||||
|
||||
<van-field v-model="formData.site_responsible_person"
|
||||
name="site_responsible_person"
|
||||
rows="1"
|
||||
autosize
|
||||
type="textarea"
|
||||
:rules="[{ required: true, message: '请填写' }]"
|
||||
placeholder="请填写活动现场负责人"
|
||||
required
|
||||
label="现场负责人"></van-field>
|
||||
<van-field readonly :value="formData.reserve_person_username" name="reserve_person_username" label="联系人"></van-field>
|
||||
<van-field readonly :value="formData.reserve_person_loginname" name="reserve_person_loginname" label="联系人工号"></van-field>
|
||||
<van-field readonly :value="formData.reserve_person_sex" name="reserve_person_sex" label="联系人性别"></van-field>
|
||||
<van-field readonly :value="formData.reserve_person_phone" name="reserve_person_phone" label="联系电话"></van-field>
|
||||
<van-field readonly :value="formData.reserve_person_unitname" name="reserve_person_unitname" label="申请部门"></van-field>
|
||||
<van-field readonly :value="formData.reserve_person_unionname" name="reserve_person_unionname" label="申请工会"></van-field>
|
||||
|
||||
<van-field
|
||||
readonly
|
||||
clickable
|
||||
name="site_name"
|
||||
:value="formData.site_name"
|
||||
label="预约场地"
|
||||
placeholder="点击选择预约场地"
|
||||
:rules="[{ required: true, message: '请选择' }]"
|
||||
required
|
||||
@click="showSitePicker = true"
|
||||
></van-field>
|
||||
|
||||
<van-field readonly :value="formData.reserve_person_username" name="reserve_person_username"
|
||||
label="联系人"></van-field>
|
||||
<van-field readonly :value="formData.reserve_person_loginname" name="reserve_person_loginname"
|
||||
label="联系人工号"></van-field>
|
||||
<van-field readonly :value="formData.reserve_person_sex" name="reserve_person_sex"
|
||||
label="联系人性别"></van-field>
|
||||
<van-field readonly :value="formData.reserve_person_phone" name="reserve_person_phone"
|
||||
label="联系电话"></van-field>
|
||||
<van-field readonly :value="formData.reserve_person_unitname" name="reserve_person_unitname"
|
||||
label="申请部门"></van-field>
|
||||
<van-field readonly :value="formData.reserve_person_unionname" name="reserve_person_unionname"
|
||||
label="申请工会"></van-field>
|
||||
<van-field
|
||||
readonly
|
||||
clickable
|
||||
name="selectList"
|
||||
:value="selectList"
|
||||
label="使用设备"
|
||||
placeholder="点击选择使用设备"
|
||||
@click="showSiteEquipmentPicker = true"
|
||||
></van-field>
|
||||
|
||||
<van-field readonly
|
||||
clickable
|
||||
name="site_name"
|
||||
:value="formData.site_name"
|
||||
label="预约场地"
|
||||
placeholder="点击选择预约场地"
|
||||
:rules="[{ required: true, message: '请选择' }]"
|
||||
required
|
||||
@click="showSitePicker = true"
|
||||
>
|
||||
</van-field>
|
||||
<van-field
|
||||
readonly
|
||||
clickable
|
||||
label="预约开始时间"
|
||||
:value="formData.reserve_start_time"
|
||||
name="reserve_start_time"
|
||||
:rules="[{ required: true, message: '请选择' }]"
|
||||
placeholder="请选择预约开始时间"
|
||||
required
|
||||
@click="startTimePicker = true"
|
||||
></van-field>
|
||||
<van-field
|
||||
readonly
|
||||
clickable
|
||||
label="预约结束时间"
|
||||
:value="formData.reserve_end_time"
|
||||
name="reserve_end_time"
|
||||
:rules="[{ required: true, message: '请选择' }]"
|
||||
placeholder="请选择预约结束时间"
|
||||
required
|
||||
@click="endTimePicker = true"
|
||||
></van-field>
|
||||
|
||||
<van-field readonly
|
||||
clickable
|
||||
name="selectList"
|
||||
:value="selectList"
|
||||
label="使用设备"
|
||||
placeholder="点击选择使用设备"
|
||||
@click="showSiteEquipmentPicker = true"
|
||||
>
|
||||
</van-field>
|
||||
|
||||
<van-field readonly clickable
|
||||
label="预约开始时间"
|
||||
:value="formData.reserve_start_time"
|
||||
name="reserve_start_time"
|
||||
:rules="[{ required: true, message: '请选择' }]"
|
||||
placeholder="请选择预约开始时间"
|
||||
required
|
||||
@click="startTimePicker = true">
|
||||
</van-field>
|
||||
<van-field readonly clickable
|
||||
label="预约结束时间"
|
||||
:value="formData.reserve_end_time"
|
||||
name="reserve_end_time"
|
||||
:rules="[{ required: true, message: '请选择' }]"
|
||||
placeholder="请选择预约结束时间"
|
||||
required
|
||||
@click="endTimePicker = true">
|
||||
</van-field>
|
||||
|
||||
<van-field v-model="formData.banner_slogans"
|
||||
name="banner_slogans"
|
||||
rows="2"
|
||||
autosize
|
||||
type="textarea"
|
||||
placeholder="请填写横幅标语内容"
|
||||
label="是否有横幅标语"></van-field>
|
||||
<van-field v-model="formData.off_campus_personnel"
|
||||
name="off_campus_personnel"
|
||||
rows="3"
|
||||
autosize
|
||||
type="textarea"
|
||||
placeholder="请在此注明参加的校外人员"
|
||||
label="是否有校外人员参加"></van-field>
|
||||
<van-field
|
||||
v-model="formData.banner_slogans"
|
||||
name="banner_slogans"
|
||||
rows="2"
|
||||
autosize
|
||||
type="textarea"
|
||||
placeholder="请填写横幅标语内容"
|
||||
label="是否有横幅标语"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.off_campus_personnel"
|
||||
name="off_campus_personnel"
|
||||
rows="3"
|
||||
autosize
|
||||
type="textarea"
|
||||
placeholder="请在此注明参加的校外人员"
|
||||
label="是否有校外人员参加"
|
||||
></van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<div style="margin: 16px;">
|
||||
<div style="margin: 16px">
|
||||
<van-button round block type="info" native-type="submit">提交</van-button>
|
||||
</div>
|
||||
|
||||
</van-form>
|
||||
|
||||
<!--<van-popup v-model="showTips" :style="{ height: '80%',width:'90%' }" round>
|
||||
@@ -320,33 +331,28 @@ layout("/mobile/platform.html"){
|
||||
</van-popup>-->
|
||||
<van-popup v-model="startTimePicker" position="bottom">
|
||||
<van-datetime-picker
|
||||
v-model="startTime"
|
||||
type="datetime"
|
||||
title="选择预约开始时间"
|
||||
@confirm="onStartTimeConfirm"
|
||||
@cancel="startTimePicker = false"
|
||||
:min-date="startMinDate"
|
||||
v-model="startTime"
|
||||
type="datetime"
|
||||
title="选择预约开始时间"
|
||||
@confirm="onStartTimeConfirm"
|
||||
@cancel="startTimePicker = false"
|
||||
:min-date="startMinDate"
|
||||
></van-datetime-picker>
|
||||
</van-popup>
|
||||
<van-popup v-model="endTimePicker" position="bottom">
|
||||
<van-datetime-picker
|
||||
v-model="endTime"
|
||||
type="datetime"
|
||||
title="选择预约结束时间"
|
||||
@confirm="onEndTimeConfirm"
|
||||
@cancel="endTimePicker = false"
|
||||
:min-date="endMinDate"
|
||||
v-model="endTime"
|
||||
type="datetime"
|
||||
title="选择预约结束时间"
|
||||
@confirm="onEndTimeConfirm"
|
||||
@cancel="endTimePicker = false"
|
||||
:min-date="endMinDate"
|
||||
></van-datetime-picker>
|
||||
</van-popup>
|
||||
<van-popup v-model="showSitePicker" position="bottom">
|
||||
<van-picker
|
||||
title="请选择需要预约的场地"
|
||||
show-toolbar
|
||||
:columns="siteColumns"
|
||||
@confirm="onSiteConfirm"
|
||||
@cancel="showSitePicker = false">
|
||||
<van-picker title="请选择需要预约的场地" show-toolbar :columns="siteColumns" @confirm="onSiteConfirm" @cancel="showSitePicker = false">
|
||||
<template #option="option">
|
||||
<div style="display: flex; flex-direction: column; align-items: center;">
|
||||
<div style="display: flex; flex-direction: column; align-items: center">
|
||||
<div>{{ option.name }}</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -354,37 +360,37 @@ layout("/mobile/platform.html"){
|
||||
</van-popup>
|
||||
<van-popup v-model="showSiteNaturePicker" position="bottom">
|
||||
<van-picker
|
||||
title="请选择活动性质"
|
||||
show-toolbar
|
||||
:columns="siteNatureColumns"
|
||||
@confirm="onsiteNatureConfirm"
|
||||
@cancel="showSiteNaturePicker = false">
|
||||
title="请选择活动性质"
|
||||
show-toolbar
|
||||
:columns="siteNatureColumns"
|
||||
@confirm="onsiteNatureConfirm"
|
||||
@cancel="showSiteNaturePicker = false"
|
||||
>
|
||||
<template #option="option">
|
||||
<div style="display: flex; flex-direction: column; align-items: center;">
|
||||
<div style="display: flex; flex-direction: column; align-items: center">
|
||||
<div>{{ option.name }}</div>
|
||||
</div>
|
||||
</template>
|
||||
</van-picker>
|
||||
</van-popup>
|
||||
|
||||
<!-- <van-popup v-model="showSiteEquipmentPicker" position="bottom">-->
|
||||
<!-- <van-picker-->
|
||||
<!-- title="请选择使用设备"-->
|
||||
<!-- show-toolbar-->
|
||||
<!-- :columns="siteEquipmentColumns"-->
|
||||
<!-- @confirm="onsiteEquipmentConfirm"-->
|
||||
<!-- @cancel="showSiteEquipmentPicker = false">-->
|
||||
<!-- <template #option="option">-->
|
||||
<!-- <div style="display: flex; flex-direction: column; align-items: center;">-->
|
||||
<!-- <div>{{ option.name }}</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </template>-->
|
||||
<!-- </van-picker>-->
|
||||
<!-- </van-popup>-->
|
||||
|
||||
<!-- <van-popup v-model="showSiteEquipmentPicker" position="bottom">-->
|
||||
<!-- <van-picker-->
|
||||
<!-- title="请选择使用设备"-->
|
||||
<!-- show-toolbar-->
|
||||
<!-- :columns="siteEquipmentColumns"-->
|
||||
<!-- @confirm="onsiteEquipmentConfirm"-->
|
||||
<!-- @cancel="showSiteEquipmentPicker = false">-->
|
||||
<!-- <template #option="option">-->
|
||||
<!-- <div style="display: flex; flex-direction: column; align-items: center;">-->
|
||||
<!-- <div>{{ option.name }}</div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </template>-->
|
||||
<!-- </van-picker>-->
|
||||
<!-- </van-popup>-->
|
||||
|
||||
<van-popup v-model="showSiteEquipmentPicker" position="bottom" :style="{ height: '50%' }">
|
||||
<div style="display: flex;justify-content: space-between;height: 44px;line-height: 44px;">
|
||||
<div style="display: flex; justify-content: space-between; height: 44px; line-height: 44px">
|
||||
<van-button style="border: none; color: #969799" @click="showSiteEquipmentPicker = false" size="normal">取消</van-button>
|
||||
<div style="border: none; color: #000" size="normal">确认</div>
|
||||
<van-button style="border: none; color: #6398fb" @click="checkedChange" size="normal">确认</van-button>
|
||||
@@ -402,7 +408,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -416,156 +422,155 @@ layout("/mobile/platform.html"){
|
||||
startTime: null,
|
||||
endTime: null,
|
||||
siteColumns: [],
|
||||
siteNatureColumns:[{name:'测试',id:'测试'}],
|
||||
siteEquipmentColumns:[],
|
||||
siteNatureColumns: [{ name: "测试", id: "测试" }],
|
||||
siteEquipmentColumns: [],
|
||||
showSiteUsage: false,
|
||||
allSiteUsageInfo: {},
|
||||
tabActive: null,
|
||||
startMinDate: moment().add(2, 'days').toDate(),
|
||||
endMinDate: moment().add(2, 'days').add(30, 'minute').toDate(),
|
||||
selectList:[],
|
||||
selectEquipmentList:[]
|
||||
startMinDate: moment().add(2, "days").toDate(),
|
||||
endMinDate: moment().add(2, "days").add(30, "minute").toDate(),
|
||||
selectList: [],
|
||||
selectEquipmentList: []
|
||||
// endMaxDate: moment().add(2, 'days').toDate()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
checkedChange(){
|
||||
this.selectList = this.selectEquipmentList.map(v=>{return v.equipmentName})
|
||||
this.formData.equipment_ids = this.selectEquipmentList.map(v=> {return v.id})
|
||||
checkedChange() {
|
||||
this.selectList = this.selectEquipmentList.map((v) => {
|
||||
return v.equipmentName
|
||||
})
|
||||
this.formData.equipment_ids = this.selectEquipmentList.map((v) => {
|
||||
return v.id
|
||||
})
|
||||
this.showSiteEquipmentPicker = false
|
||||
},
|
||||
async onSubmit(values) {
|
||||
console.log(this.formData)
|
||||
const resp = await $.get('/platform/activity/site/apply/checkApplyTime', {
|
||||
const resp = await $.get("/platform/activity/site/apply/checkApplyTime", {
|
||||
time: this.formData.reserve_start_time,
|
||||
endTime: this.formData.reserve_end_time,
|
||||
siteId: this.formData.site_id
|
||||
})
|
||||
if (resp.code === 1) {
|
||||
this.$toast(resp.msg)
|
||||
this.formData.reserve_start_time = ''
|
||||
this.formData.reserve_end_time = ''
|
||||
this.formData.reserve_start_time = ""
|
||||
this.formData.reserve_end_time = ""
|
||||
return
|
||||
}
|
||||
|
||||
const {site_name, reserve_start_time, reserve_end_time} = this.formData
|
||||
this.$dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确定要提交' + site_name + '\n' + reserve_start_time + "\n至\n" + reserve_end_time + '\n的预约吗?',
|
||||
}).then(async () => {
|
||||
const loading = this.$toast.loading({
|
||||
message: '提交中...',
|
||||
forbidClick: true,
|
||||
});
|
||||
const {
|
||||
data,
|
||||
code,
|
||||
msg
|
||||
} = await $.post('/platform/activity/site/apply/insert', {"siteReserve": JSON.stringify(this.formData)})
|
||||
loading.clear()
|
||||
if (code === 0) {
|
||||
this.$toast.success(msg)
|
||||
setTimeout(() => {
|
||||
location.href = '/mobile/activity/site/mine'
|
||||
}, 500)
|
||||
} else {
|
||||
this.$toast.fail(msg)
|
||||
}
|
||||
}).catch(() => {
|
||||
})
|
||||
const { site_name, reserve_start_time, reserve_end_time } = this.formData
|
||||
this.$dialog
|
||||
.confirm({
|
||||
title: "提示",
|
||||
message: "您确定要提交" + site_name + "\n" + reserve_start_time + "\n至\n" + reserve_end_time + "\n的预约吗?"
|
||||
})
|
||||
.then(async () => {
|
||||
const loading = this.$toast.loading({
|
||||
message: "提交中...",
|
||||
forbidClick: true
|
||||
})
|
||||
const { data, code, msg } = await $.post("/platform/activity/site/apply/insert", {
|
||||
siteReserve: JSON.stringify(this.formData)
|
||||
})
|
||||
loading.clear()
|
||||
if (code === 0) {
|
||||
this.$toast.success(msg)
|
||||
setTimeout(() => {
|
||||
location.href = "/mobile/activity/site/mine"
|
||||
}, 500)
|
||||
} else {
|
||||
this.$toast.fail(msg)
|
||||
}
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
onStartTimeConfirm(time) {
|
||||
const hours = time.getHours();
|
||||
const minutes = time.getMinutes();
|
||||
const hours = time.getHours()
|
||||
const minutes = time.getMinutes()
|
||||
const day = time.getDay()
|
||||
|
||||
if (day === 0 || day === 6) {
|
||||
this.$toast('周六周日预约不了喔')
|
||||
this.$toast("周六周日预约不了喔")
|
||||
return
|
||||
}
|
||||
|
||||
if (hours < 8 || (hours === 8 && minutes < 30)) {
|
||||
this.$toast('请预约上午8点半之后的时间')
|
||||
this.$toast("请预约上午8点半之后的时间")
|
||||
return
|
||||
}
|
||||
this.formData.reserve_start_time = moment(time).format('YYYY-MM-DD HH:mm:ss');
|
||||
this.startTimePicker = false;
|
||||
this.formData.reserve_start_time = moment(time).format("YYYY-MM-DD HH:mm:ss")
|
||||
this.startTimePicker = false
|
||||
},
|
||||
onEndTimeConfirm(time) {
|
||||
if (!this.formData.reserve_start_time) {
|
||||
this.$toast('请先选择预约开始时间')
|
||||
this.$toast("请先选择预约开始时间")
|
||||
return
|
||||
}
|
||||
|
||||
const day = time.getDay()
|
||||
const hours = time.getHours();
|
||||
const minutes = time.getMinutes();
|
||||
const hours = time.getHours()
|
||||
const minutes = time.getMinutes()
|
||||
|
||||
if (day === 0 || day === 6) {
|
||||
this.$toast('周六周日预约不了喔')
|
||||
this.$toast("周六周日预约不了喔")
|
||||
return
|
||||
}
|
||||
|
||||
if (hours > 17 || (hours >= 17 && minutes > 0)) {
|
||||
this.$toast('结束时间不能超过下午5点')
|
||||
this.$toast("结束时间不能超过下午5点")
|
||||
return
|
||||
}
|
||||
|
||||
const isSameDay = moment(this.formData.reserve_start_time).isSame(moment(time), 'day')
|
||||
const isSameDay = moment(this.formData.reserve_start_time).isSame(moment(time), "day")
|
||||
if (!isSameDay) {
|
||||
this.$toast('不能跨天预约喔')
|
||||
this.$toast("不能跨天预约喔")
|
||||
return
|
||||
}
|
||||
|
||||
this.formData.reserve_end_time = moment(time).format('YYYY-MM-DD HH:mm:ss');
|
||||
this.endTimePicker = false;
|
||||
this.formData.reserve_end_time = moment(time).format("YYYY-MM-DD HH:mm:ss")
|
||||
this.endTimePicker = false
|
||||
},
|
||||
onSiteConfirm(value, index) {
|
||||
this.$set(this.formData, 'site_name', value.name)
|
||||
this.$set(this.formData, 'site_id', value.id)
|
||||
this.$set(this.formData, "site_name", value.name)
|
||||
this.$set(this.formData, "site_id", value.id)
|
||||
this.showSitePicker = false
|
||||
this.listSiteEquipment(value.id)
|
||||
},
|
||||
async listSite() {
|
||||
const {data} = await $.get(loc() + '/listSite')
|
||||
const { data } = await $.get(loc() + "/listSite")
|
||||
this.siteColumns = data
|
||||
},
|
||||
onsiteNatureConfirm(value, index){
|
||||
this.$set(this.formData, 'activity_nature', value.name)
|
||||
onsiteNatureConfirm(value, index) {
|
||||
this.$set(this.formData, "activity_nature", value.name)
|
||||
// this.$set(this.formData, 'site_id', value.id)
|
||||
this.showSiteNaturePicker = false
|
||||
},
|
||||
async listSiteNature(){
|
||||
|
||||
},
|
||||
onsiteEquipmentConfirm(value, index){
|
||||
|
||||
},
|
||||
async listSiteEquipment(siteId){
|
||||
const {data} = await $.get('/platform/activity/site/apply/getSiteEquipmentList',{siteId:siteId})
|
||||
async listSiteNature() {},
|
||||
onsiteEquipmentConfirm(value, index) {},
|
||||
async listSiteEquipment(siteId) {
|
||||
const { data } = await $.get("/platform/activity/site/apply/getSiteEquipmentList", { siteId: siteId })
|
||||
this.siteEquipmentColumns = data
|
||||
},
|
||||
async applyUserInfo() {
|
||||
const {data} = await $.get('/platform/activity/site/apply/applyUserInfo')
|
||||
this.$set(this.formData, 'reserve_person_id', data.reserve_person_id)
|
||||
this.$set(this.formData, 'reserve_person_username', data.reserve_person_username)
|
||||
this.$set(this.formData, 'reserve_person_loginname', data.reserve_person_loginname)
|
||||
this.$set(this.formData, 'reserve_person_sex', data.reserve_person_sex)
|
||||
this.$set(this.formData, 'reserve_person_phone', data.reserve_person_phone)
|
||||
this.$set(this.formData, 'reserve_person_unitname', data.reserve_person_unitname)
|
||||
this.$set(this.formData, 'reserve_person_unionname', data.reserve_person_unionname)
|
||||
this.$set(this.formData, 'reserve_person_unionid', data.reserve_person_unionid)
|
||||
const { data } = await $.get("/platform/activity/site/apply/applyUserInfo")
|
||||
this.$set(this.formData, "reserve_person_id", data.reserve_person_id)
|
||||
this.$set(this.formData, "reserve_person_username", data.reserve_person_username)
|
||||
this.$set(this.formData, "reserve_person_loginname", data.reserve_person_loginname)
|
||||
this.$set(this.formData, "reserve_person_sex", data.reserve_person_sex)
|
||||
this.$set(this.formData, "reserve_person_phone", data.reserve_person_phone)
|
||||
this.$set(this.formData, "reserve_person_unitname", data.reserve_person_unitname)
|
||||
this.$set(this.formData, "reserve_person_unionname", data.reserve_person_unionname)
|
||||
this.$set(this.formData, "reserve_person_unionid", data.reserve_person_unionid)
|
||||
},
|
||||
async init() {
|
||||
const id = GetQueryString('id')
|
||||
const id = GetQueryString("id")
|
||||
if (id) {
|
||||
|
||||
} else {
|
||||
await this.applyUserInfo()
|
||||
}
|
||||
},
|
||||
async allSiteUsage() {
|
||||
const {data} = await $.get('/platform/activity/site/apply/allSiteUsage')
|
||||
const { data } = await $.get("/platform/activity/site/apply/allSiteUsage")
|
||||
this.allSiteUsageInfo = data
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3,8 +3,8 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.van-hairline--top-bottom::after, .van-hairline-unset--top-bottom::after {
|
||||
.van-hairline--top-bottom::after,
|
||||
.van-hairline-unset--top-bottom::after {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
@@ -185,48 +185,32 @@ layout("/mobile/platform.html"){
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<m-page-loading v-if="mLoading"></m-page-loading>
|
||||
|
||||
<!--top栏-->
|
||||
<van-nav-bar
|
||||
title="场地预约审核"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="history.go(-1)"
|
||||
safe-area-inset-top
|
||||
></van-nav-bar>
|
||||
<van-nav-bar title="场地预约审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')" safe-area-inset-top></van-nav-bar>
|
||||
|
||||
<!--筛选框-->
|
||||
<div class="search-fixed">
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyword"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入场地名称、场地地点进行查询"
|
||||
>
|
||||
</van-search>
|
||||
v-model="pageForm.searchKeyword"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入场地名称、场地地点进行查询"
|
||||
></van-search>
|
||||
<van-dropdown-menu>
|
||||
<!--<van-dropdown-item v-model="pageForm.meetingTime" :options="meetingTimeList"
|
||||
@change="doSearch"></van-dropdown-item>-->
|
||||
<van-dropdown-item v-model="pageForm.typeId" :options="typeList"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.typeId" :options="typeList" @change="doSearch"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<!--列表-->
|
||||
<div style="margin-top: 116px">
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:finished="finished" :immediate-check="false"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
|
||||
<van-list v-model="loading" :finished="finished" :immediate-check="false" :finished-text="tableData.length>0?'没有更多了':''" @load="onLoad">
|
||||
<div class="van-doc-card" v-for="o in tableData">
|
||||
<div @click="openView(o.id, o.modulename)">
|
||||
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 74%">
|
||||
<div class="van-ellipsis title">
|
||||
@@ -235,21 +219,23 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<div style="color: grey">{{o.address}}</div>
|
||||
</div>
|
||||
<div style="color: #1867b0;">
|
||||
{{o.meetingtypename}}
|
||||
</div>
|
||||
<div style="color: #1867b0">{{o.meetingtypename}}</div>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
|
||||
<div style="margin-top: 10px">
|
||||
<van-row>
|
||||
<van-col span="12"><span style="color: grey"> 联系人:</span>{{o.unitname ? (o.unitname +
|
||||
'') : '' + '' + o.contact_person}}
|
||||
<van-col span="12">
|
||||
<span style="color: grey"> 联系人:</span>
|
||||
{{o.unitname ? (o.unitname + '') : '' + '' + o.contact_person}}
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="12"><span style="color: grey">联系方式:</span>{{o.contact_phone}}</van-col>
|
||||
<van-col span="12">
|
||||
<span style="color: grey">联系方式:</span>
|
||||
{{o.contact_phone}}
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
@@ -263,25 +249,32 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div style="display: flex; justify-content: flex-end; margin-top: 4px">
|
||||
<div>
|
||||
<van-button @click.stop="getAuditList(o)" class="cus_button"
|
||||
type="primary" size="small" color="#1867b0"
|
||||
style="margin-right: 8px; width: auto;">已审{{o.audit}}
|
||||
<van-button
|
||||
@click.stop="getAuditList(o)"
|
||||
class="cus_button"
|
||||
type="primary"
|
||||
size="small"
|
||||
color="#1867b0"
|
||||
style="margin-right: 8px; width: auto"
|
||||
>
|
||||
已审{{o.audit}}
|
||||
</van-button>
|
||||
<van-button @click.stop="openView(o.id, o.modulename)" class="cus_button"
|
||||
type="primary" size="small" color="#1867b0"
|
||||
style="margin-right: 8px; width: auto;">未审{{o.no_audit}}
|
||||
<van-button
|
||||
@click.stop="openView(o.id, o.modulename)"
|
||||
class="cus_button"
|
||||
type="primary"
|
||||
size="small"
|
||||
color="#1867b0"
|
||||
style="margin-right: 8px; width: auto"
|
||||
>
|
||||
未审{{o.no_audit}}
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty
|
||||
v-if="mLoading==false&&tableData.length==0"
|
||||
class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据"
|
||||
></van-empty>
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<!--弹出框-->
|
||||
@@ -292,13 +285,10 @@ layout("/mobile/platform.html"){
|
||||
<van-icon @click="popupShow = false" class="cus_icon" v-if="popupShow" name="close"></van-icon>
|
||||
|
||||
<!--审核人员-->
|
||||
<van-action-sheet v-model:show="userShow" :title="queryType === 'notAudit' ? '预约列表' : '预约列表'"
|
||||
class="userPopup" @close="popClose">
|
||||
<van-action-sheet v-model:show="userShow" :title="queryType === 'notAudit' ? '预约列表' : '预约列表'" class="userPopup" @close="popClose">
|
||||
<div :class="queryType == 'notAudit' ? 'content' : 'no_content'">
|
||||
<div v-if="queryType === 'notAudit'" style="text-align: right; width: 96%">
|
||||
<van-tag color="#1867b0" style="margin-right: 10px" @click="cancelAll" size="large" type="primary">
|
||||
取消选中
|
||||
</van-tag>
|
||||
<van-tag color="#1867b0" style="margin-right: 10px" @click="cancelAll" size="large" type="primary">取消选中</van-tag>
|
||||
<van-tag color="#1867b0" @click="allIn" size="large" type="primary">全选</van-tag>
|
||||
</div>
|
||||
<div class="van-doc-card in-sheet-card" v-for="(item, i) in userList">
|
||||
@@ -319,19 +309,22 @@ layout("/mobile/platform.html"){
|
||||
<span class="unit">{{item.unitname}}</span>
|
||||
</div>
|
||||
<div style="width: 94%; display: flex">
|
||||
<div style="color: grey;">预约时间:</div>
|
||||
<div style="color: grey">预约时间:</div>
|
||||
<div>
|
||||
<div v-for="(d,index) in item.concat_day.split(',')">{{getTime(item, d)}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 94%;">
|
||||
<span style="color: grey">参加人员:</span><span>{{item.joinUser}}</span>
|
||||
<div style="width: 94%">
|
||||
<span style="color: grey">参加人员:</span>
|
||||
<span>{{item.joinUser}}</span>
|
||||
</div>
|
||||
<div style="width: 94%;">
|
||||
<span style="color: grey">预约事由:</span><span>{{item.reserve_cause}}</span>
|
||||
<div style="width: 94%">
|
||||
<span style="color: grey">预约事由:</span>
|
||||
<span>{{item.reserve_cause}}</span>
|
||||
</div>
|
||||
<div style="width: 94%;">
|
||||
<span style="color: grey">审核状态:</span><span>{{item.stateName}}</span>
|
||||
<div style="width: 94%">
|
||||
<span style="color: grey">审核状态:</span>
|
||||
<span>{{item.stateName}}</span>
|
||||
</div>
|
||||
<!--<div v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('xghng')||@shiro.hasRole('A06')}"
|
||||
style="width: 94%;">
|
||||
@@ -340,17 +333,19 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<van-checkbox-group v-model="result" ref="checkboxGroup">
|
||||
<van-cell-group>
|
||||
<van-cell
|
||||
clickable class="cus_cell"
|
||||
:key="item.id"
|
||||
@click="toggle(i)">
|
||||
|
||||
<van-icon class="audit_icon" color="green"
|
||||
v-if="queryType === 'hasAudit' && item.auditState == true"
|
||||
name="passed"></van-icon>
|
||||
<van-icon class="audit_icon" color="grey"
|
||||
v-if="queryType === 'hasAudit' && item.auditState == false"
|
||||
name="close"></van-icon>
|
||||
<van-cell clickable class="cus_cell" :key="item.id" @click="toggle(i)">
|
||||
<van-icon
|
||||
class="audit_icon"
|
||||
color="green"
|
||||
v-if="queryType === 'hasAudit' && item.auditState == true"
|
||||
name="passed"
|
||||
></van-icon>
|
||||
<van-icon
|
||||
class="audit_icon"
|
||||
color="grey"
|
||||
v-if="queryType === 'hasAudit' && item.auditState == false"
|
||||
name="close"
|
||||
></van-icon>
|
||||
<template #right-icon v-if="queryType === 'notAudit'">
|
||||
<van-checkbox :name="item.id" ref="checkboxes"></van-checkbox>
|
||||
</template>
|
||||
@@ -363,32 +358,34 @@ layout("/mobile/platform.html"){
|
||||
<van-button @click="audit('all', 'pass')" color="#1867b0" size="small" style="height: 38px">一键全部通过</van-button>
|
||||
</div>-->
|
||||
</div>
|
||||
<div style="position: absolute; bottom: 20px; width: 100%;z-index: 9999">
|
||||
<div style="position: absolute; bottom: 20px; width: 100%; z-index: 9999">
|
||||
<div v-if="queryType === 'notAudit'" style="display: flex; justify-content: center">
|
||||
<van-button @click="audit('many', 'reject')" color="#ff976a" size="small"
|
||||
style="height: 38px;border-radius: 10px;margin-right: 20px">拒绝
|
||||
</van-button>
|
||||
<van-button @click="audit('many', 'pass')" color="#1867b0" size="small"
|
||||
style="height: 38px;border-radius: 10px">通过
|
||||
<van-button
|
||||
@click="audit('many', 'reject')"
|
||||
color="#ff976a"
|
||||
size="small"
|
||||
style="height: 38px; border-radius: 10px; margin-right: 20px"
|
||||
>
|
||||
拒绝
|
||||
</van-button>
|
||||
<van-button @click="audit('many', 'pass')" color="#1867b0" size="small" style="height: 38px; border-radius: 10px">通过</van-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</van-action-sheet>
|
||||
|
||||
<!--审核弹框-->
|
||||
<van-dialog v-model:show="auditShow" @confirm="auditDo" title="温馨提示" show-cancel-button>
|
||||
<div style="padding-top: 8px; text-align: center; font-size: 14px; color: #646566">{{str}}</div>
|
||||
<van-divider style="margin: 12px 0 1px 0px;"></van-divider>
|
||||
<van-divider style="margin: 12px 0 1px 0px"></van-divider>
|
||||
<van-field
|
||||
v-model="reason"
|
||||
rows="2"
|
||||
label="审核意见:"
|
||||
autosize
|
||||
type="textarea"
|
||||
maxlength="50"
|
||||
placeholder="请输入审核意见"
|
||||
show-word-limit
|
||||
v-model="reason"
|
||||
rows="2"
|
||||
label="审核意见:"
|
||||
autosize
|
||||
type="textarea"
|
||||
maxlength="50"
|
||||
placeholder="请输入审核意见"
|
||||
show-word-limit
|
||||
></van-field>
|
||||
</van-dialog>
|
||||
</div>
|
||||
@@ -397,43 +394,47 @@ layout("/mobile/platform.html"){
|
||||
<!--# include("/platform/activity/includeJs/activityUtil.js"){} #-->
|
||||
const siteTypeUtil = new typeUtil()
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
desc: '',
|
||||
list: ['a', 'b'],
|
||||
desc: "",
|
||||
list: ["a", "b"],
|
||||
result: [],
|
||||
reason: '',
|
||||
reason: "",
|
||||
auditShow: false,
|
||||
popupShow: false,
|
||||
userShow: false,
|
||||
userList: [],
|
||||
userClickList: [],
|
||||
str: '',
|
||||
type: '',
|
||||
auditType: '',
|
||||
queryType: '',
|
||||
str: "",
|
||||
type: "",
|
||||
auditType: "",
|
||||
queryType: "",
|
||||
typeList: [],
|
||||
meetingTimeList: [{text: '全部时间', value: null}, {text: '即将开始', value: 0}, {text: '已结束', value: 1}],
|
||||
meetingTimeList: [
|
||||
{ text: "全部时间", value: null },
|
||||
{ text: "即将开始", value: 0 },
|
||||
{ text: "已结束", value: 1 }
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getTime(o, day) {
|
||||
const week = new Date(day).getDay()
|
||||
const arr = ['日', '一', '二', '三', '四', '五', '六']
|
||||
return moment(day).format('MM月DD日') + ' 周' + arr[week] + ' ' + o.start_time + '-' + o.end_time
|
||||
const arr = ["日", "一", "二", "三", "四", "五", "六"]
|
||||
return moment(day).format("MM月DD日") + " 周" + arr[week] + " " + o.start_time + "-" + o.end_time
|
||||
},
|
||||
async getAuditList(o) {
|
||||
this.queryType = 'hasAudit'
|
||||
const resp = await $.post('/mobile/activity/site/audit/getLeaveUser', {
|
||||
this.queryType = "hasAudit"
|
||||
const resp = await $.post("/mobile/activity/site/audit/getLeaveUser", {
|
||||
siteId: o.id,
|
||||
auditType: 'hasAudit',
|
||||
auditType: "hasAudit"
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
this.userList = resp.data
|
||||
if (this.userList.length === 0) {
|
||||
vant.Toast('暂无数据')
|
||||
vant.Toast("暂无数据")
|
||||
return
|
||||
}
|
||||
this.userList.sort((a, b) => {
|
||||
@@ -443,73 +444,73 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
cancelAll() {
|
||||
this.$refs.checkboxes.forEach(item => item.toggle(false))
|
||||
this.$refs.checkboxes.forEach((item) => item.toggle(false))
|
||||
},
|
||||
allIn() {
|
||||
this.$refs.checkboxes.forEach(item => item.toggle(true))
|
||||
this.$refs.checkboxes.forEach((item) => item.toggle(true))
|
||||
},
|
||||
checkAll(i) {
|
||||
this.$refs.checkboxGroup[i].children.forEach(item => item.toggle(true))
|
||||
this.$refs.checkboxGroup[i].children.forEach((item) => item.toggle(true))
|
||||
},
|
||||
toggleAll(i) {
|
||||
this.$refs.checkboxGroup[i].children.forEach(item => item.toggle())
|
||||
this.$refs.checkboxGroup[i].children.forEach((item) => item.toggle())
|
||||
},
|
||||
toggle(i) {
|
||||
this.$refs.checkboxes[i].toggle();
|
||||
this.$refs.checkboxes[i].toggle()
|
||||
},
|
||||
async auditDo() {
|
||||
let idList = this.result
|
||||
if (this.type === 'all') {
|
||||
idList = this.userList.map(o => o.id)
|
||||
if (this.type === "all") {
|
||||
idList = this.userList.map((o) => o.id)
|
||||
}
|
||||
const resp = await $.post('/mobile/activity/site/audit/audit', {
|
||||
const resp = await $.post("/mobile/activity/site/audit/audit", {
|
||||
ids: JSON.stringify(idList),
|
||||
auditOpinion: this.reason,
|
||||
isPass: this.auditType === 'pass'
|
||||
isPass: this.auditType === "pass"
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
vant.Toast(resp.msg)
|
||||
this.doSearch()
|
||||
} else {
|
||||
vant.Toast('操作失败')
|
||||
vant.Toast("操作失败")
|
||||
}
|
||||
this.userShow = false
|
||||
},
|
||||
audit(type, auditType) {
|
||||
this.type = type
|
||||
this.auditType = auditType
|
||||
if (type === 'many' && this.result.length === 0) {
|
||||
vant.Toast('请先选择人员')
|
||||
if (type === "many" && this.result.length === 0) {
|
||||
vant.Toast("请先选择人员")
|
||||
return
|
||||
}
|
||||
this.str = type === 'many' ? '您选择了' + this.result.length + '个人,请确认您的选择' : '您确定要一键全部审核吗?'
|
||||
this.reason = auditType === 'pass' ? '同意' : '拒绝'
|
||||
this.str = type === "many" ? "您选择了" + this.result.length + "个人,请确认您的选择" : "您确定要一键全部审核吗?"
|
||||
this.reason = auditType === "pass" ? "同意" : "拒绝"
|
||||
this.auditShow = true
|
||||
},
|
||||
async openView(id, modulename) {
|
||||
this.queryType = 'notAudit'
|
||||
this.queryType = "notAudit"
|
||||
this.userList = []
|
||||
const resp = await $.post('/mobile/activity/site/audit/getLeaveUser', {
|
||||
const resp = await $.post("/mobile/activity/site/audit/getLeaveUser", {
|
||||
siteId: id,
|
||||
moduleName: modulename,
|
||||
auditType: 'canAudit',
|
||||
auditType: "canAudit"
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
this.userList = resp.data
|
||||
this.userClickList = []
|
||||
if (this.userList.length === 0) {
|
||||
vant.Toast('暂无预约数据')
|
||||
vant.Toast("暂无预约数据")
|
||||
} else {
|
||||
this.userShow = true
|
||||
}
|
||||
return
|
||||
}
|
||||
vant.Toast('系统错误,请联系管理员')
|
||||
vant.Toast("系统错误,请联系管理员")
|
||||
},
|
||||
popClose() {
|
||||
this.$nextTick(function () {
|
||||
if (this.$refs.checkboxes !== undefined) {
|
||||
this.$refs.checkboxes.forEach(item => item.toggle(false));
|
||||
this.$refs.checkboxes.forEach((item) => item.toggle(false))
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -521,7 +522,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async onLoad() {
|
||||
this.loading = true
|
||||
$.post('/mobile/activity/site/audit/pageData', this.pageForm).then(res => {
|
||||
$.post("/mobile/activity/site/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) {
|
||||
@@ -532,11 +533,11 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.typeList = await siteTypeUtil.getAllType()
|
||||
this.typeList.unshift({text: '全部场地类型'})
|
||||
this.typeList.unshift({ text: "全部场地类型" })
|
||||
if (this.typeList && this.typeList.length > 0) {
|
||||
this.$set(this.pageForm, "typeId", this.typeList[0].value)
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.van-index-bar__sidebar {
|
||||
display: none;
|
||||
}
|
||||
@@ -174,46 +173,30 @@ layout("/mobile/platform.html"){
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<m-page-loading v-if="mLoading"></m-page-loading>
|
||||
|
||||
<!--top栏-->
|
||||
<van-nav-bar
|
||||
title="场地预约"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="history.go(-1)"
|
||||
safe-area-inset-top
|
||||
></van-nav-bar>
|
||||
<van-nav-bar title="场地预约" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')" safe-area-inset-top></van-nav-bar>
|
||||
|
||||
<!--筛选框-->
|
||||
<div class="search-fixed">
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyword"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入场地名称、场地地点进行查询"
|
||||
>
|
||||
</van-search>
|
||||
v-model="pageForm.searchKeyword"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入场地名称、场地地点进行查询"
|
||||
></van-search>
|
||||
<van-dropdown-menu>
|
||||
<van-dropdown-item v-model="pageForm.typeId" :options="typeList"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.typeId" :options="typeList" @change="doSearch"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<!--列表-->
|
||||
<div style="margin-top: 116px">
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:finished="finished" :immediate-check="false"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
|
||||
<van-list v-model="loading" :finished="finished" :immediate-check="false" :finished-text="tableData.length>0?'没有更多了':''" @load="onLoad">
|
||||
<div class="van-doc-card" v-for="o in tableData">
|
||||
<div @click="openView(o)">
|
||||
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 74%">
|
||||
<div class="van-ellipsis title">
|
||||
@@ -222,28 +205,31 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<div style="color: grey">{{o.address}}</div>
|
||||
</div>
|
||||
<div style="color: #1867b0;">
|
||||
{{o.meetingtypename}}
|
||||
</div>
|
||||
<div style="color: #1867b0">{{o.meetingtypename}}</div>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
|
||||
<div style="margin-top: 10px">
|
||||
<van-row>
|
||||
<van-col span="24"><span style="color: grey"> 联系人:</span>{{(o.unitname ? o.unitname :
|
||||
'') + ' ' + o.contact_person}}
|
||||
<van-col span="24">
|
||||
<span style="color: grey"> 联系人:</span>
|
||||
{{(o.unitname ? o.unitname : '') + ' ' + o.contact_person}}
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="24"><span style="color: grey">联系方式:</span>{{o.contact_phone}}</van-col>
|
||||
<van-col span="24">
|
||||
<span style="color: grey">联系方式:</span>
|
||||
{{o.contact_phone}}
|
||||
</van-col>
|
||||
</van-row>
|
||||
<!--<van-row>
|
||||
<van-col span="24"><span style="color: grey">已预约人数:</span>{{o.count}}</van-col>
|
||||
</van-row>-->
|
||||
<van-row>
|
||||
<van-col span="24"><span style="color: grey">开放时间:</span><span
|
||||
v-if="o.workday === true">工作日</span>
|
||||
<van-col span="24">
|
||||
<span style="color: grey">开放时间:</span>
|
||||
<span v-if="o.workday === true">工作日</span>
|
||||
{{o.open_time}}
|
||||
</van-col>
|
||||
</van-row>
|
||||
@@ -251,18 +237,13 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty
|
||||
v-if="mLoading==false&&tableData.length==0"
|
||||
class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据"
|
||||
></van-empty>
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<van-popup round v-model:show="show" class="pop">
|
||||
<div style="text-align: center;padding: 10px 0; font-size: 20px">爱心母婴室管理规定</div>
|
||||
<div style="text-align: center; padding: 10px 0; font-size: 20px">爱心母婴室管理规定</div>
|
||||
<div>一、基本原则</div>
|
||||
<div style="padding-left: 30px;">
|
||||
<div style="padding-left: 30px">
|
||||
<p>1.使用对象:有哺乳需求的本校在职女教职工。</p>
|
||||
<p>2.开放时间:工作日8:00--17:30。</p>
|
||||
<p>3.使用制度:实行预约登记制。凡有哺乳需求的女教职工提前向校工会提出使用申请,经审核通过并开通权限后即可使用。</p>
|
||||
@@ -270,14 +251,14 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
|
||||
<div>二、管理人员</div>
|
||||
<div style="padding-left: 30px;">
|
||||
<div style="padding-left: 30px">
|
||||
<p>1.负责爱心母婴室使用登记管理。</p>
|
||||
<p>2.定期保养设备,确保正常使用。</p>
|
||||
<p>3.保持室内整洁、卫生安全,做好保洁消毒记录。</p>
|
||||
<p>4.定期收集意见和建议,不断改进服务。</p>
|
||||
</div>
|
||||
<div>三、使用人员</div>
|
||||
<div style="padding-left: 30px;">
|
||||
<div style="padding-left: 30px">
|
||||
<p>1.遵守学校安全管理制度和爱心母婴室管理规定。</p>
|
||||
<p>2.严禁吸烟,安全使用电器,爱护公物,损坏赔偿。</p>
|
||||
<p>3.保持室内卫生清洁,勿大声喧哗,不影响楼内工作秩序。</p>
|
||||
@@ -285,7 +266,7 @@ layout("/mobile/platform.html"){
|
||||
<p>5.不得擅自携他人入内,不做和哺乳无关事宜,使用完毕及时离开。</p>
|
||||
<p>6.欢迎在《爱心母婴室使用意见簿》上留下您宝贵的意见和建议。</p>
|
||||
</div>
|
||||
<br/>
|
||||
<br />
|
||||
<p>联系人:曾钰媛梦 84894774、15850692181</p>
|
||||
|
||||
<van-button color="#246fb4" @click="toReserve" type="primary" style="width: 100%">已知晓并遵守</van-button>
|
||||
@@ -296,32 +277,32 @@ layout("/mobile/platform.html"){
|
||||
<!--# include("/platform/activity/includeJs/activityUtil.js"){} #-->
|
||||
const siteTypeUtil = new typeUtil()
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
list: ['a', 'b'],
|
||||
list: ["a", "b"],
|
||||
typeList: [],
|
||||
show: false,
|
||||
siteId: '',
|
||||
siteId: ""
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openView(o) {
|
||||
this.siteId = o.id
|
||||
if (o.sexlimit === 1 || o.sexlimit === 2) {
|
||||
const sex = o.sexlimit === 1 ? '男' : '女'
|
||||
const sex = o.sexlimit === 1 ? "男" : "女"
|
||||
if ("${@shiro.getPrincipalProperty('sex')}" === sex) {
|
||||
location.href = '/mobile/activity/site/info/reserve?id=' + o.id
|
||||
location.href = "/mobile/activity/site/info/reserve?id=" + o.id
|
||||
} else {
|
||||
vant.Toast('抱歉,该场地仅限' + sex + '性会员预约')
|
||||
vant.Toast("抱歉,该场地仅限" + sex + "性会员预约")
|
||||
}
|
||||
} else {
|
||||
location.href = '/mobile/activity/site/info/reserve?id=' + o.id
|
||||
location.href = "/mobile/activity/site/info/reserve?id=" + o.id
|
||||
}
|
||||
},
|
||||
toReserve() {
|
||||
location.href = '/mobile/activity/site/info/reserve?id=' + this.siteId
|
||||
location.href = "/mobile/activity/site/info/reserve?id=" + this.siteId
|
||||
this.show = false
|
||||
},
|
||||
doSearch() {
|
||||
@@ -332,7 +313,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async onLoad() {
|
||||
this.loading = true
|
||||
$.post('/mobile/activity/site/info/pageData', this.pageForm).then(res => {
|
||||
$.post("/mobile/activity/site/info/pageData", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -343,11 +324,11 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.typeList = await siteTypeUtil.getAllType()
|
||||
this.typeList.unshift({text: '全部场地类型'})
|
||||
this.typeList.unshift({ text: "全部场地类型" })
|
||||
if (this.typeList && this.typeList.length > 0) {
|
||||
this.$set(this.pageForm, "typeId", this.typeList[0].value)
|
||||
}
|
||||
@@ -358,4 +339,4 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -3,17 +3,16 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app">
|
||||
<van-nav-bar title="场地预约详细信息" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="场地预约详细信息" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<site_h5_info :id="id"></site_h5_info>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
components: {
|
||||
'site_h5_info': httpVueLoader('/components/activity/site/SiteH5Info.vue')
|
||||
site_h5_info: httpVueLoader("/components/activity/site/SiteH5Info.vue")
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -21,9 +20,7 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {},
|
||||
created() {
|
||||
|
||||
}
|
||||
created() {}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -43,11 +43,9 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.cell .title {
|
||||
|
||||
}
|
||||
|
||||
.cell .content {
|
||||
|
||||
}
|
||||
|
||||
.extra {
|
||||
@@ -56,38 +54,28 @@ layout("/mobile/platform.html"){
|
||||
justify-content: flex-end;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<div>
|
||||
<van-nav-bar title="职工之家我的场地预约" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="职工之家我的场地预约" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyword"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入场地名称进行查询"
|
||||
>
|
||||
</van-search>
|
||||
v-model="pageForm.searchKeyword"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入场地名称进行查询"
|
||||
></van-search>
|
||||
</div>
|
||||
|
||||
<div class="table-list">
|
||||
<van-list v-model="loading"
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="pageData">
|
||||
<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="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>
|
||||
@@ -119,9 +107,7 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<div class="extra">
|
||||
<van-button size="small" type="info" @click="openView(item.id)">查看详情</van-button>
|
||||
<van-button size="small" type="danger" @click="revoke(item)"
|
||||
v-if="item.reserve_state===6098">撤销预约
|
||||
</van-button>
|
||||
<van-button size="small" type="danger" @click="revoke(item)" v-if="item.reserve_state===6098">撤销预约</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -132,56 +118,54 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
pageDataUrl: '/platform/activity/site/reserve/pageData'
|
||||
pageDataUrl: "/platform/activity/site/reserve/pageData"
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
tagType() {
|
||||
return (reserveState) => {
|
||||
if (reserveState === 6138) {
|
||||
return 'success';
|
||||
return "success"
|
||||
} else if ([6108, 6128].includes(reserveState)) {
|
||||
return 'danger';
|
||||
return "danger"
|
||||
}
|
||||
return 'primary';
|
||||
};
|
||||
},
|
||||
return "primary"
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async revoke(item) {
|
||||
const {id, site_name, reserve_start_time, reserve_end_time} = item
|
||||
this.$dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确定要撤销' + site_name + '\n' + reserve_start_time + "\n至\n" + reserve_end_time + '\n的预约吗?',
|
||||
}).then(async () => {
|
||||
const loading = this.$toast.loading({
|
||||
message: '提交中...',
|
||||
forbidClick: true,
|
||||
});
|
||||
const { id, site_name, reserve_start_time, reserve_end_time } = item
|
||||
this.$dialog
|
||||
.confirm({
|
||||
title: "提示",
|
||||
message: "您确定要撤销" + site_name + "\n" + reserve_start_time + "\n至\n" + reserve_end_time + "\n的预约吗?"
|
||||
})
|
||||
.then(async () => {
|
||||
const loading = this.$toast.loading({
|
||||
message: "提交中...",
|
||||
forbidClick: true
|
||||
})
|
||||
|
||||
const {
|
||||
code,
|
||||
msg
|
||||
} = await $.post('/platform/activity/site/apply/revoke', {id})
|
||||
loading.clear()
|
||||
if (code === 0) {
|
||||
this.doSearch()
|
||||
this.$toast.success(msg)
|
||||
} else {
|
||||
this.$toast.fail(msg)
|
||||
}
|
||||
}).catch(() => {
|
||||
})
|
||||
const { code, msg } = await $.post("/platform/activity/site/apply/revoke", { id })
|
||||
loading.clear()
|
||||
if (code === 0) {
|
||||
this.doSearch()
|
||||
this.$toast.success(msg)
|
||||
} else {
|
||||
this.$toast.fail(msg)
|
||||
}
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
openView(id) {
|
||||
window.location.href = loc() + '/detail?id=' + id
|
||||
window.location.href = loc() + "/detail?id=" + id
|
||||
}
|
||||
|
||||
},
|
||||
created() {
|
||||
// this.pageData()
|
||||
@@ -191,4 +175,4 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -3,7 +3,6 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.van-index-bar__sidebar {
|
||||
display: none;
|
||||
}
|
||||
@@ -162,29 +161,20 @@ layout("/mobile/platform.html"){
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<m-page-loading v-if="mLoading"></m-page-loading>
|
||||
|
||||
<!--top栏-->
|
||||
<van-nav-bar
|
||||
title="我的预约"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="history.go(-1)"
|
||||
safe-area-inset-top
|
||||
></van-nav-bar>
|
||||
<van-nav-bar title="我的预约" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')" safe-area-inset-top></van-nav-bar>
|
||||
|
||||
<!--筛选框-->
|
||||
<div class="search-fixed">
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyword"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入场地名称、场地地点进行查询"
|
||||
>
|
||||
</van-search>
|
||||
v-model="pageForm.searchKeyword"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入场地名称、场地地点进行查询"
|
||||
></van-search>
|
||||
<van-dropdown-menu>
|
||||
<van-dropdown-item :title="pageForm.time" ref="item" @open="">
|
||||
<van-cell center title="查询全部">
|
||||
@@ -192,34 +182,28 @@ layout("/mobile/platform.html"){
|
||||
<van-switch v-model="pageForm.timeSwitch" size="24" active-color="#246fb4"></van-switch>
|
||||
</template>
|
||||
</van-cell>
|
||||
<van-datetime-picker v-show="pageForm.timeSwitch === false"
|
||||
v-model="time" cancel-button-text=" " confirm-button-text=" "
|
||||
type="year-month"
|
||||
title="选择年月"
|
||||
:formatter="timeFormatter"
|
||||
<van-datetime-picker
|
||||
v-show="pageForm.timeSwitch === false"
|
||||
v-model="time"
|
||||
cancel-button-text=" "
|
||||
confirm-button-text=" "
|
||||
type="year-month"
|
||||
title="选择年月"
|
||||
:formatter="timeFormatter"
|
||||
></van-datetime-picker>
|
||||
<div style="padding: 5px 16px;margin-top: 6px">
|
||||
<van-button type="danger" color="#246fb4" block round @click="onConfirm" style="height: 36px">
|
||||
确认
|
||||
</van-button>
|
||||
<div style="padding: 5px 16px; margin-top: 6px">
|
||||
<van-button type="danger" color="#246fb4" block round @click="onConfirm" style="height: 36px">确认</van-button>
|
||||
</div>
|
||||
</van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.typeId" :options="typeList"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.typeId" :options="typeList" @change="doSearch"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<!--列表-->
|
||||
<div style="margin-top: 116px">
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:finished="finished" :immediate-check="false"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
|
||||
<van-list v-model="loading" :finished="finished" :immediate-check="false" :finished-text="tableData.length>0?'没有更多了':''" @load="onLoad">
|
||||
<div class="van-doc-card" v-for="o in tableData">
|
||||
<div @click="openView(o.id, o.modulename)">
|
||||
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 74%">
|
||||
<div class="van-ellipsis title">
|
||||
@@ -228,9 +212,7 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<div style="color: grey">{{o.address}}</div>
|
||||
</div>
|
||||
<div style="color: #1867b0;">
|
||||
{{o.meetingtypename}}
|
||||
</div>
|
||||
<div style="color: #1867b0">{{o.meetingtypename}}</div>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
@@ -253,8 +235,7 @@ layout("/mobile/platform.html"){
|
||||
<van-row>
|
||||
<van-col span="24">
|
||||
<span style="color: grey">审核状态:</span>
|
||||
<span v-if="[0].includes(o.stateaudittype)"
|
||||
style="color: #e6a23c">{{o.statename}}</span>
|
||||
<span v-if="[0].includes(o.stateaudittype)" style="color: #e6a23c">{{o.statename}}</span>
|
||||
<span v-if="o.stateaudittype==3" style="color: #67c23a">{{o.statename}}</span>
|
||||
<span v-if="o.stateaudittype==1" style="color: #f56c6c">{{o.statename}}</span>
|
||||
</van-col>
|
||||
@@ -269,38 +250,44 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div style="display: flex; justify-content: flex-end; margin-top: 4px">
|
||||
<div>
|
||||
<van-button @click.stop="rollback(o)" class="cus_button"
|
||||
type="primary" size="small" color="#1867b0"
|
||||
style="margin-right: 8px; width: auto;">撤销预约
|
||||
<van-button
|
||||
@click.stop="rollback(o)"
|
||||
class="cus_button"
|
||||
type="primary"
|
||||
size="small"
|
||||
color="#1867b0"
|
||||
style="margin-right: 8px; width: auto"
|
||||
>
|
||||
撤销预约
|
||||
</van-button>
|
||||
<van-button @click.stop="backOption(o)" class="cus_button"
|
||||
type="primary" size="small" color="#1867b0"
|
||||
style="margin-right: 8px; width: auto;">反馈意见
|
||||
<van-button
|
||||
@click.stop="backOption(o)"
|
||||
class="cus_button"
|
||||
type="primary"
|
||||
size="small"
|
||||
color="#1867b0"
|
||||
style="margin-right: 8px; width: auto"
|
||||
>
|
||||
反馈意见
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty
|
||||
v-if="mLoading==false&&tableData.length==0"
|
||||
class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据"
|
||||
></van-empty>
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
|
||||
<van-dialog v-model="show" title="反馈意见" show-cancel-button @confirm="backDo">
|
||||
<van-field
|
||||
v-model="option"
|
||||
rows="4"
|
||||
label="反馈意见:"
|
||||
autosize
|
||||
type="textarea"
|
||||
maxlength="50"
|
||||
placeholder="请输入反馈意见"
|
||||
show-word-limit
|
||||
v-model="option"
|
||||
rows="4"
|
||||
label="反馈意见:"
|
||||
autosize
|
||||
type="textarea"
|
||||
maxlength="50"
|
||||
placeholder="请输入反馈意见"
|
||||
show-word-limit
|
||||
></van-field>
|
||||
</van-dialog>
|
||||
</div>
|
||||
@@ -309,74 +296,77 @@ layout("/mobile/platform.html"){
|
||||
<!--# include("/platform/activity/includeJs/activityUtil.js"){} #-->
|
||||
const siteTypeUtil = new typeUtil()
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
time: new Date(),
|
||||
option: '',
|
||||
option: "",
|
||||
show: false,
|
||||
list: ['a', 'b'],
|
||||
list: ["a", "b"],
|
||||
typeList: [],
|
||||
timeList: [],
|
||||
info: {},
|
||||
info: {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onConfirm() {
|
||||
if (this.pageForm.timeSwitch === true) {
|
||||
this.timeList = [{text: '全部', value: '全部'}]
|
||||
this.timeList = [{ text: "全部", value: "全部" }]
|
||||
} else {
|
||||
this.timeList = [{
|
||||
text: moment(this.time).format('YYYY-MM'),
|
||||
value: moment(this.time).format('YYYY-MM')
|
||||
}]
|
||||
this.timeList = [
|
||||
{
|
||||
text: moment(this.time).format("YYYY-MM"),
|
||||
value: moment(this.time).format("YYYY-MM")
|
||||
}
|
||||
]
|
||||
}
|
||||
this.$set(this.pageForm, "time", this.timeList[0].value)
|
||||
this.$refs.item.toggle()
|
||||
this.doSearch()
|
||||
},
|
||||
timeFormatter(type, val) {
|
||||
if (type === 'year') {
|
||||
return val + `年`;
|
||||
if (type === "year") {
|
||||
return val + `年`
|
||||
}
|
||||
if (type === 'month') {
|
||||
return val + `月`;
|
||||
if (type === "month") {
|
||||
return val + `月`
|
||||
}
|
||||
return val;
|
||||
return val
|
||||
},
|
||||
async rollback(o) {
|
||||
const self = this
|
||||
const res = await $.post("/platform/activity/site/reserve/isCanRollBack", {id: o.id});
|
||||
const res = await $.post("/platform/activity/site/reserve/isCanRollBack", { id: o.id })
|
||||
if (res === true) {
|
||||
vant.Toast('此预约状态下不能进行撤回操作!')
|
||||
vant.Toast("此预约状态下不能进行撤回操作!")
|
||||
return
|
||||
}
|
||||
vant.Dialog.confirm({
|
||||
title: '温馨提示',
|
||||
message: '您是否要撤销此预约?',
|
||||
}).then(async () => {
|
||||
const resp = await $.post('/mobile/activity/site/info/rollback', {
|
||||
id: o.id
|
||||
title: "温馨提示",
|
||||
message: "您是否要撤销此预约?"
|
||||
})
|
||||
.then(async () => {
|
||||
const resp = await $.post("/mobile/activity/site/info/rollback", {
|
||||
id: o.id
|
||||
})
|
||||
vant.Toast(resp.msg)
|
||||
if (resp.code === 0) {
|
||||
self.doSearch()
|
||||
}
|
||||
})
|
||||
vant.Toast(resp.msg)
|
||||
if (resp.code === 0) {
|
||||
self.doSearch()
|
||||
}
|
||||
}).catch(() => {
|
||||
});
|
||||
.catch(() => {})
|
||||
},
|
||||
backOption(o) {
|
||||
this.info = o
|
||||
this.option = ''
|
||||
this.option = ""
|
||||
this.show = true
|
||||
},
|
||||
async backDo() {
|
||||
if (this.option === '') {
|
||||
vant.Toast('请填写反馈意见')
|
||||
if (this.option === "") {
|
||||
vant.Toast("请填写反馈意见")
|
||||
return
|
||||
}
|
||||
const res = await $.post('/mobile/activity/site/info/backOption', {
|
||||
const res = await $.post("/mobile/activity/site/info/backOption", {
|
||||
id: this.info.id,
|
||||
option: this.option
|
||||
})
|
||||
@@ -384,13 +374,13 @@ layout("/mobile/platform.html"){
|
||||
this.doSearch()
|
||||
vant.Toast(res.msg)
|
||||
} else {
|
||||
vant.Toast('操作失败')
|
||||
vant.Toast("操作失败")
|
||||
}
|
||||
},
|
||||
getTime(o, day) {
|
||||
const week = new Date(day).getDay()
|
||||
const arr = ['日', '一', '二', '三', '四', '五', '六']
|
||||
return moment(day).format('MM月DD日') + ' 周' + arr[week] + ' ' + o.start_time + '-' + o.end_time
|
||||
const arr = ["日", "一", "二", "三", "四", "五", "六"]
|
||||
return moment(day).format("MM月DD日") + " 周" + arr[week] + " " + o.start_time + "-" + o.end_time
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
@@ -400,7 +390,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async onLoad() {
|
||||
this.loading = true
|
||||
$.post('/mobile/activity/site/info/myReserve', this.pageForm).then(res => {
|
||||
$.post("/mobile/activity/site/info/myReserve", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -411,16 +401,16 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.typeList = await siteTypeUtil.getAllType()
|
||||
this.typeList.unshift({text: '全部场地类型'})
|
||||
this.typeList.unshift({ text: "全部场地类型" })
|
||||
if (this.typeList && this.typeList.length > 0) {
|
||||
this.$set(this.pageForm, "typeId", this.typeList[0].value)
|
||||
}
|
||||
//this.timeList.unshift({text: moment().format('YYYY-MM'), value: moment().format('YYYY-MM')})
|
||||
this.timeList = [{text: '全部', value: '全部'}]
|
||||
this.timeList = [{ text: "全部", value: "全部" }]
|
||||
this.$set(this.pageForm, "time", this.timeList[0].value)
|
||||
this.$set(this.pageForm, "timeSwitch", true)
|
||||
this.onLoad()
|
||||
@@ -430,4 +420,4 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -60,7 +60,6 @@ layout("/mobile/platform.html"){
|
||||
color: grey;
|
||||
}
|
||||
|
||||
|
||||
.top-calendar {
|
||||
height: 70px;
|
||||
max-height: 70px;
|
||||
@@ -89,7 +88,7 @@ layout("/mobile/platform.html"){
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #FFF;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.left-day-active {
|
||||
@@ -97,7 +96,6 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.day-info-month {
|
||||
|
||||
}
|
||||
|
||||
.day-info-week {
|
||||
@@ -126,36 +124,33 @@ layout("/mobile/platform.html"){
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<!--top栏-->
|
||||
<van-nav-bar
|
||||
:title="site.name"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="history.go(-1)"
|
||||
safe-area-inset-top
|
||||
></van-nav-bar>
|
||||
<van-nav-bar :title="site.name" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')" safe-area-inset-top></van-nav-bar>
|
||||
|
||||
<div class="top-calendar">
|
||||
<div class="calendar-left">
|
||||
<div class="calendar-left-day" :class="moment(item).unix() == selectDate.unix() ? 'left-day-active':''"
|
||||
@click="dayClick(item)"
|
||||
v-for="item in weekList">
|
||||
<div class="day-info-week">
|
||||
{{getWeekTextByDate(item)}}
|
||||
</div>
|
||||
<div class="day-info-month">
|
||||
{{moment(item).format('MM-DD')}}
|
||||
</div>
|
||||
<div
|
||||
class="calendar-left-day"
|
||||
:class="moment(item).unix() == selectDate.unix() ? 'left-day-active':''"
|
||||
@click="dayClick(item)"
|
||||
v-for="item in weekList"
|
||||
>
|
||||
<div class="day-info-week">{{getWeekTextByDate(item)}}</div>
|
||||
<div class="day-info-month">{{moment(item).format('MM-DD')}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="calendar-right">
|
||||
<van-icon size="16" color="white" name="arrow-down" @click="calendarVisible=true"></van-icon>
|
||||
<van-calendar class="top_pop" v-model="calendarVisible" color="#246fb4" position="top" @confirm="onConfirm"
|
||||
:default-date="selectDate.toDate()"
|
||||
:formatter="calendarFormatter"
|
||||
title="选择开始日期"></van-calendar>
|
||||
<van-calendar
|
||||
class="top_pop"
|
||||
v-model="calendarVisible"
|
||||
color="#246fb4"
|
||||
position="top"
|
||||
@confirm="onConfirm"
|
||||
:default-date="selectDate.toDate()"
|
||||
:formatter="calendarFormatter"
|
||||
title="选择开始日期"
|
||||
></van-calendar>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -165,21 +160,20 @@ layout("/mobile/platform.html"){
|
||||
<td class="time">{{item.start_time + '-' + item.end_time}}</td>
|
||||
|
||||
<td>
|
||||
<div v-if="isCanRe(item)===3" class="state" style="background-color: #0e78c5;color: #fff3f3">
|
||||
已预约
|
||||
</div>
|
||||
<div v-if="isCanRe(item) === 2" class="state" style="background-color: #fff4f2; color: #cc5a45">约满
|
||||
</div>
|
||||
<div @click="chooseTime(item)" v-if="isCanRe(item) === 1" class="state"
|
||||
style="background-color: #e8ffef; color: #52986a">
|
||||
<span v-if="!times.map(o => o.fullDay).includes(selectDate.format('YYYY-MM-DD') + ' ' + item.start_time + '-' + item.end_time)">可预约</span>
|
||||
<div v-if="isCanRe(item)===3" class="state" style="background-color: #0e78c5; color: #fff3f3">已预约</div>
|
||||
<div v-if="isCanRe(item) === 2" class="state" style="background-color: #fff4f2; color: #cc5a45">约满</div>
|
||||
<div @click="chooseTime(item)" v-if="isCanRe(item) === 1" class="state" style="background-color: #e8ffef; color: #52986a">
|
||||
<span
|
||||
v-if="!times.map(o => o.fullDay).includes(selectDate.format('YYYY-MM-DD') + ' ' + item.start_time + '-' + item.end_time)"
|
||||
>
|
||||
可预约
|
||||
</span>
|
||||
<span v-else>
|
||||
<van-icon name="passed" size="26" style="line-height: 36px;position: unset"></van-icon>
|
||||
<van-icon name="passed" size="26" style="line-height: 36px; position: unset"></van-icon>
|
||||
</span>
|
||||
</div>
|
||||
<div v-if="isCanRe(item) === 0" class="state">已过期</div>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@@ -197,82 +191,90 @@ layout("/mobile/platform.html"){
|
||||
<van-cell title="联系电话">{{phone}}</van-cell>
|
||||
<van-cell title="预约时间">
|
||||
<div v-for="time in times">
|
||||
<van-tag closeable size="medium" type="primary" @close="close(time.fullDay)">
|
||||
{{time.fullDay}}
|
||||
</van-tag>
|
||||
<van-tag closeable size="medium" type="primary" @close="close(time.fullDay)">{{time.fullDay}}</van-tag>
|
||||
</div>
|
||||
</van-cell>
|
||||
<van-cell title="预约地点">{{site.name}}</van-cell>
|
||||
|
||||
<van-field
|
||||
v-model="message"
|
||||
rows="1"
|
||||
autosize
|
||||
label="预约事由"
|
||||
type="textarea"
|
||||
maxlength="50"
|
||||
required
|
||||
placeholder="请输入预约事由"
|
||||
show-word-limit
|
||||
:rules="[{required:true,message:'请填写预约事由'}]"
|
||||
v-model="message"
|
||||
rows="1"
|
||||
autosize
|
||||
label="预约事由"
|
||||
type="textarea"
|
||||
maxlength="50"
|
||||
required
|
||||
placeholder="请输入预约事由"
|
||||
show-word-limit
|
||||
:rules="[{required:true,message:'请填写预约事由'}]"
|
||||
></van-field>
|
||||
|
||||
<van-field
|
||||
v-model="joinUser"
|
||||
rows="2"
|
||||
autosize
|
||||
label="参加人员"
|
||||
type="textarea"
|
||||
maxlength="50"
|
||||
placeholder="请输入参加人员"
|
||||
show-word-limit
|
||||
v-model="joinUser"
|
||||
rows="2"
|
||||
autosize
|
||||
label="参加人员"
|
||||
type="textarea"
|
||||
maxlength="50"
|
||||
placeholder="请输入参加人员"
|
||||
show-word-limit
|
||||
></van-field>
|
||||
</van-form>
|
||||
|
||||
|
||||
<div style="margin: 20px 0px; display: flex; justify-content: space-between;padding: 0px 22px;">
|
||||
<van-button @click="message = '';show = false" color="#246fb4" style="width: 47%" size="small" plain
|
||||
type="info">关闭
|
||||
</van-button>
|
||||
<div style="margin: 20px 0px; display: flex; justify-content: space-between; padding: 0px 22px">
|
||||
<van-button @click="message = '';show = false" color="#246fb4" style="width: 47%" size="small" plain type="info">关闭</van-button>
|
||||
<van-button @click="reserveDo" color="#246fb4" style="width: 47%" size="small" type="info">确认</van-button>
|
||||
</div>
|
||||
</van-action-sheet>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
moment.locale('zh_cn');
|
||||
moment.locale("zh_cn")
|
||||
|
||||
function getQueryString(name) {
|
||||
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
||||
var r = window.location.search.substr(1).match(reg);
|
||||
if (r != null) return decodeURI(r[2]);
|
||||
return null;
|
||||
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i")
|
||||
var r = window.location.search.substr(1).match(reg)
|
||||
if (r != null) return decodeURI(r[2])
|
||||
return null
|
||||
}
|
||||
|
||||
<!--# include("/platform/activity/includeJs/activityUtil.js"){} #-->
|
||||
const siteTypeUtil = new typeUtil()
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
person: "${@shiro.getPrincipalProperty('username')}",
|
||||
unit: "${@shiro.getPrincipalProperty('unit').getName()}",
|
||||
phone: "${@shiro.getPrincipalProperty('mobile')}",
|
||||
message: '',
|
||||
message: "",
|
||||
show: false,
|
||||
site_id: '',
|
||||
site_id: "",
|
||||
site: {},
|
||||
timeData: [],
|
||||
times: [],
|
||||
weekList: [],
|
||||
joinUser: '',
|
||||
joinUser: "",
|
||||
calendarVisible: false,
|
||||
selectDate: null,
|
||||
//已经预约的记录
|
||||
alreadyReserveRecord: [],
|
||||
holidays: ['2022-06-03', '2022-06-04', '2022-06-05', '2022-09-10', '2022-09-11', '2022-09-12',
|
||||
'2022-10-01', '2022-10-02', '2022-10-03', '2022-10-04', '2022-10-05', '2022-10-06', '2022-10-07',],
|
||||
holidays: [
|
||||
"2022-06-03",
|
||||
"2022-06-04",
|
||||
"2022-06-05",
|
||||
"2022-09-10",
|
||||
"2022-09-11",
|
||||
"2022-09-12",
|
||||
"2022-10-01",
|
||||
"2022-10-02",
|
||||
"2022-10-03",
|
||||
"2022-10-04",
|
||||
"2022-10-05",
|
||||
"2022-10-06",
|
||||
"2022-10-07"
|
||||
]
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -281,19 +283,19 @@ layout("/mobile/platform.html"){
|
||||
const weekNum = moment(date).day()
|
||||
switch (weekNum) {
|
||||
case 0:
|
||||
return '周日'
|
||||
return "周日"
|
||||
case 1:
|
||||
return '周一'
|
||||
return "周一"
|
||||
case 2:
|
||||
return '周二'
|
||||
return "周二"
|
||||
case 3:
|
||||
return '周三'
|
||||
return "周三"
|
||||
case 4:
|
||||
return '周四'
|
||||
return "周四"
|
||||
case 5:
|
||||
return '周五'
|
||||
return "周五"
|
||||
case 6:
|
||||
return '周六'
|
||||
return "周六"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -303,7 +305,7 @@ layout("/mobile/platform.html"){
|
||||
if (this.site.workday === true) {
|
||||
let week = day.date.getDay()
|
||||
if (week === 0 || week === 6) {
|
||||
day.type = 'disabled'
|
||||
day.type = "disabled"
|
||||
}
|
||||
}
|
||||
return day
|
||||
@@ -313,10 +315,10 @@ layout("/mobile/platform.html"){
|
||||
methods: {
|
||||
close(f) {
|
||||
if (this.times.length === 1) {
|
||||
vant.Toast('必须保留一个时间段')
|
||||
vant.Toast("必须保留一个时间段")
|
||||
return
|
||||
}
|
||||
const index = this.times.findIndex(v => v.fullDay === f)
|
||||
const index = this.times.findIndex((v) => v.fullDay === f)
|
||||
this.times.splice(index, 1)
|
||||
},
|
||||
onConfirm(date) {
|
||||
@@ -330,9 +332,9 @@ layout("/mobile/platform.html"){
|
||||
wk.push(moment(startDate))
|
||||
let count = 1
|
||||
while (wk.length < 7) {
|
||||
const addDate = moment(startDate).add(count, 'd')
|
||||
const addDate = moment(startDate).add(count, "d")
|
||||
//这里不是休息日才能加到数组里
|
||||
if (addDate.day() !== 0 && addDate.day() !== 6 && !this.holidays.includes(moment(addDate).format('YYYY-MM-DD'))) {
|
||||
if (addDate.day() !== 0 && addDate.day() !== 6 && !this.holidays.includes(moment(addDate).format("YYYY-MM-DD"))) {
|
||||
wk.push(addDate)
|
||||
}
|
||||
count++
|
||||
@@ -345,7 +347,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
reserve() {
|
||||
if (this.times.length === 0) {
|
||||
vant.Toast('请选择要预约的时段')
|
||||
vant.Toast("请选择要预约的时段")
|
||||
return
|
||||
}
|
||||
this.show = true
|
||||
@@ -373,27 +375,27 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
chooseTime(item) {
|
||||
const cloneItem = clone(item)
|
||||
const map = this.times.map(o => o.fullDay)
|
||||
const index = map.indexOf(this.selectDate.format('YYYY-MM-DD') + ' ' + cloneItem.start_time + '-' + cloneItem.end_time)
|
||||
const map = this.times.map((o) => o.fullDay)
|
||||
const index = map.indexOf(this.selectDate.format("YYYY-MM-DD") + " " + cloneItem.start_time + "-" + cloneItem.end_time)
|
||||
if (index > -1) {
|
||||
this.times.splice(index, 1)
|
||||
} else {
|
||||
cloneItem.day = this.selectDate.format('YYYY-MM-DD')
|
||||
cloneItem.fullDay = cloneItem.day + ' ' + cloneItem.start_time + '-' + cloneItem.end_time
|
||||
cloneItem.day = this.selectDate.format("YYYY-MM-DD")
|
||||
cloneItem.fullDay = cloneItem.day + " " + cloneItem.start_time + "-" + cloneItem.end_time
|
||||
this.times.push(cloneItem)
|
||||
}
|
||||
},
|
||||
isCanRe(item) {
|
||||
const now = new Date()
|
||||
const end = moment().format('YYYY-MM-DD') + ' ' + item.end_time + ':00'
|
||||
const end = moment().format("YYYY-MM-DD") + " " + item.end_time + ":00"
|
||||
|
||||
const itemFullTime = this.selectDate.format('YYYY-MM-DD') + " " + item.start_time + "-" + item.end_time
|
||||
const itemFullTime = this.selectDate.format("YYYY-MM-DD") + " " + item.start_time + "-" + item.end_time
|
||||
|
||||
if (this.alreadyReserveRecord.includes(itemFullTime)) {
|
||||
return 3
|
||||
}
|
||||
|
||||
if (now.getTime() >= new Date(end).getTime() && this.selectDate.format('YYYY-MM-DD') === moment().format('YYYY-MM-DD')) {
|
||||
if (now.getTime() >= new Date(end).getTime() && this.selectDate.format("YYYY-MM-DD") === moment().format("YYYY-MM-DD")) {
|
||||
return 0
|
||||
} else {
|
||||
if (this.site.multiple) {
|
||||
@@ -406,7 +408,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
async onLoad() {
|
||||
this.loading = true
|
||||
$.post('/mobile/activity/site/info/getDetail', {id: this.site_id}).then(res => {
|
||||
$.post("/mobile/activity/site/info/getDetail", { id: this.site_id }).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.site = res.data
|
||||
}
|
||||
@@ -414,23 +416,23 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
},
|
||||
async getReserve() {
|
||||
const resp = await $.post('/mobile/activity/site/info/getReserve', {
|
||||
const resp = await $.post("/mobile/activity/site/info/getReserve", {
|
||||
siteId: this.site_id,
|
||||
day: moment(this.selectDate).format('YYYY-MM-DD'),
|
||||
day: moment(this.selectDate).format("YYYY-MM-DD")
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
resp.data.forEach(item => {
|
||||
resp.data.forEach((item) => {
|
||||
item.isClick = true
|
||||
})
|
||||
this.timeData = resp.data
|
||||
}
|
||||
},
|
||||
async getMyReservation() {
|
||||
const resp = await $.post('/mobile/activity/site/info/getMyReservation', {
|
||||
const resp = await $.post("/mobile/activity/site/info/getMyReservation", {
|
||||
site_id: this.site_id
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
this.alreadyReserveRecord = resp.data.map(v => v.reserve_day + " " + v.start_time + "-" + v.end_time)
|
||||
this.alreadyReserveRecord = resp.data.map((v) => v.reserve_day + " " + v.start_time + "-" + v.end_time)
|
||||
}
|
||||
},
|
||||
//获取最新的一个工作日设为当前时间
|
||||
@@ -440,10 +442,10 @@ layout("/mobile/platform.html"){
|
||||
let selectDate = null
|
||||
if (weekNum === 0) {
|
||||
//周日
|
||||
selectDate = moment().add(1, 'd')
|
||||
selectDate = moment().add(1, "d")
|
||||
} else if (weekNum === 6) {
|
||||
//周六
|
||||
selectDate = moment().add(2, 'd')
|
||||
selectDate = moment().add(2, "d")
|
||||
} else {
|
||||
selectDate = moment()
|
||||
}
|
||||
@@ -451,13 +453,12 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.site_id = getQueryString('id')
|
||||
this.site_id = getQueryString("id")
|
||||
this.selectDate = this.getLatestWorkDay()
|
||||
this.setWeekList(this.selectDate)
|
||||
await this.getReserve()
|
||||
await this.onLoad()
|
||||
await this.getMyReservation()
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -3,57 +3,47 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app">
|
||||
<van-nav-bar title="场地预约离退休工作处审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="场地预约离退休工作处审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></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 class="van-sidebar-item van-sidebar-item--select">离退休工作处审核</div>
|
||||
</div>
|
||||
<van-form>
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
<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.auditOpinion"
|
||||
rows="1"
|
||||
required
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<van-field :value="moment().format('YYYY-MM-DD')"
|
||||
label="审核时间"
|
||||
readonly></van-field>
|
||||
<!-- <van-field label="签字" required style="flex-flow: column">-->
|
||||
<!-- <template #label>-->
|
||||
<!-- <div class="mb10">签  字</div>-->
|
||||
<!-- </template>-->
|
||||
<!-- <template #input>-->
|
||||
<!-- <mobile-sign ref="signature" :my_sign.sync="formData.auditSign"></mobile-sign>-->
|
||||
<!-- </template>-->
|
||||
<!-- </van-field>-->
|
||||
|
||||
<van-field v-model="formData.auditOpinion"
|
||||
rows="1"
|
||||
required
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<!-- <van-field label="签字" required style="flex-flow: column">-->
|
||||
<!-- <template #label>-->
|
||||
<!-- <div class="mb10">签  字</div>-->
|
||||
<!-- </template>-->
|
||||
<!-- <template #input>-->
|
||||
<!-- <mobile-sign ref="signature" :my_sign.sync="formData.auditSign"></mobile-sign>-->
|
||||
<!-- </template>-->
|
||||
<!-- </van-field>-->
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<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-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-button :color="themeColor" block @click="doAudit(true)">通 过</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</van-form>
|
||||
@@ -63,11 +53,11 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
components: {
|
||||
'site_h5_info': httpVueLoader('/components/activity/site/SiteH5Info.vue'),
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
site_h5_info: httpVueLoader("/components/activity/site/SiteH5Info.vue"),
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue")
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -77,41 +67,40 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
methods: {
|
||||
async doAudit(pass) {
|
||||
if (this.formData.auditOpinion == null || this.formData.auditOpinion === '') {
|
||||
this.$toast('请填写审核意见')
|
||||
if (this.formData.auditOpinion == null || this.formData.auditOpinion === "") {
|
||||
this.$toast("请填写审核意见")
|
||||
return
|
||||
}
|
||||
|
||||
this.$dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确定要' + (pass ? '通过' : '拒绝') + '吗?',
|
||||
}).then(async () => {
|
||||
const loading = this.$toast.loading({
|
||||
message: '提交中...',
|
||||
forbidClick: true,
|
||||
this.$dialog
|
||||
.confirm({
|
||||
title: "提示",
|
||||
message: "您确定要" + (pass ? "通过" : "拒绝") + "吗?"
|
||||
})
|
||||
this.formData.auditPass = pass
|
||||
const {data, code, msg} = await $.post('/platform/activity/site/unionProcess/doProcess',
|
||||
{
|
||||
.then(async () => {
|
||||
const loading = this.$toast.loading({
|
||||
message: "提交中...",
|
||||
forbidClick: true
|
||||
})
|
||||
this.formData.auditPass = pass
|
||||
const { data, code, msg } = await $.post("/platform/activity/site/unionProcess/doProcess", {
|
||||
id: this.id,
|
||||
audit: this.formData,
|
||||
});
|
||||
loading.clear()
|
||||
if (code === 0) {
|
||||
this.$toast.success(msg)
|
||||
setTimeout(() => {
|
||||
window.history.back()
|
||||
}, 500)
|
||||
} else {
|
||||
this.$toast.fail(msg)
|
||||
}
|
||||
}).catch(() => {
|
||||
})
|
||||
audit: this.formData
|
||||
})
|
||||
loading.clear()
|
||||
if (code === 0) {
|
||||
this.$toast.success(msg)
|
||||
setTimeout(() => {
|
||||
window.history.back()
|
||||
}, 500)
|
||||
} else {
|
||||
this.$toast.fail(msg)
|
||||
}
|
||||
})
|
||||
.catch(() => {})
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
}
|
||||
created() {}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -46,11 +46,9 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.cell .title {
|
||||
|
||||
}
|
||||
|
||||
.cell .content {
|
||||
|
||||
}
|
||||
|
||||
.extra {
|
||||
@@ -63,45 +61,34 @@ layout("/mobile/platform.html"){
|
||||
.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>
|
||||
<van-nav-bar title="场地预约离退休工作处审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></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"
|
||||
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-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">
|
||||
<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="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>
|
||||
@@ -129,41 +116,36 @@ layout("/mobile/platform.html"){
|
||||
</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===6090">审核预约
|
||||
</van-button>
|
||||
<van-button size="small" type="info" @click="openAudit(item.id)" v-if="item.reserve_state===6090">审核预约</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
</div>
|
||||
|
||||
<van-empty v-if="tableData.length==0" class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
<van-empty v-if="tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
isAudit: false,
|
||||
time: moment().format('YYYY-MM')
|
||||
time: moment().format("YYYY-MM")
|
||||
// time:moment(moment().format('YYYY-MM')).add(1, 'months').format('YYYY-MM')
|
||||
},
|
||||
pageDataUrl: '/platform/activity/site/retireProcess/pageData',
|
||||
pageDataUrl: "/platform/activity/site/retireProcess/pageData",
|
||||
maxDate: null,
|
||||
currentDate: new Date(),
|
||||
auditOptions: [
|
||||
{text: '全部', value: null},
|
||||
{text: '已审核', value: true},
|
||||
{text: '未审核', value: false},
|
||||
{ text: "全部", value: null },
|
||||
{ text: "已审核", value: true },
|
||||
{ text: "未审核", value: false }
|
||||
]
|
||||
}
|
||||
},
|
||||
@@ -171,45 +153,43 @@ layout("/mobile/platform.html"){
|
||||
tagType() {
|
||||
return (reserveState) => {
|
||||
if (reserveState === 6138) {
|
||||
return 'success';
|
||||
return "success"
|
||||
} else if ([6095, 6128].includes(reserveState)) {
|
||||
return 'danger';
|
||||
return "danger"
|
||||
}
|
||||
return 'primary';
|
||||
};
|
||||
},
|
||||
return "primary"
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async openAudit(id) {
|
||||
window.location.href = loc() + '/audit?id=' + id
|
||||
window.location.href = loc() + "/audit?id=" + id
|
||||
},
|
||||
openView(id) {
|
||||
window.location.href = '/mobile/activity/site/mine/detail?id=' + id
|
||||
window.location.href = "/mobile/activity/site/mine/detail?id=" + id
|
||||
},
|
||||
onCancelDate() {
|
||||
this.$refs.dropItemYearMonth.toggle();
|
||||
this.$refs.dropItemYearMonth.toggle()
|
||||
},
|
||||
onConfirmDate(val) {
|
||||
this.pageForm.time = moment(val).format('YYYY-MM')
|
||||
this.pageForm.time = moment(val).format("YYYY-MM")
|
||||
this.$refs.dropItemYearMonth.toggle()
|
||||
this.doSearch()
|
||||
}
|
||||
|
||||
},
|
||||
created() {
|
||||
let maxDate = new Date();
|
||||
maxDate.setMonth(maxDate.getMonth() + 1);
|
||||
let maxDate = new Date()
|
||||
maxDate.setMonth(maxDate.getMonth() + 1)
|
||||
this.maxDate = maxDate
|
||||
// this.pageData()
|
||||
}
|
||||
})
|
||||
|
||||
window.addEventListener('pageshow', e => {
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
if (e.persisted || (window.performance && window.performance.navigation.type === 2)) {
|
||||
vue.doSearch()
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
|
||||
@@ -3,58 +3,47 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app">
|
||||
<van-nav-bar title="场地预约校工会审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="场地预约校工会审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></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 class="van-sidebar-item van-sidebar-item--select">校工会审核</div>
|
||||
</div>
|
||||
<van-form>
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
<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.auditOpinion"
|
||||
rows="1"
|
||||
required
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<van-field :value="moment().format('YYYY-MM-DD')"
|
||||
label="审核时间"
|
||||
readonly></van-field>
|
||||
<!-- <van-field label="签字" required style="flex-flow: column">-->
|
||||
<!-- <template #label>-->
|
||||
<!-- <div class="mb10">签  字</div>-->
|
||||
<!-- </template>-->
|
||||
<!-- <template #input>-->
|
||||
<!-- <mobile-sign ref="signature" :my_sign.sync="formData.auditSign"></mobile-sign>-->
|
||||
<!-- </template>-->
|
||||
<!-- </van-field>-->
|
||||
|
||||
<van-field v-model="formData.auditOpinion"
|
||||
rows="1"
|
||||
required
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<!-- <van-field label="签字" required style="flex-flow: column">-->
|
||||
<!-- <template #label>-->
|
||||
<!-- <div class="mb10">签  字</div>-->
|
||||
<!-- </template>-->
|
||||
<!-- <template #input>-->
|
||||
<!-- <mobile-sign ref="signature" :my_sign.sync="formData.auditSign"></mobile-sign>-->
|
||||
<!-- </template>-->
|
||||
<!-- </van-field>-->
|
||||
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<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-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-button :color="themeColor" block @click="doAudit(true)">通 过</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</van-form>
|
||||
@@ -64,11 +53,11 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
components: {
|
||||
'site_h5_info': httpVueLoader('/components/activity/site/SiteH5Info.vue'),
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
site_h5_info: httpVueLoader("/components/activity/site/SiteH5Info.vue"),
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue")
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -78,40 +67,40 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
methods: {
|
||||
async doAudit(pass) {
|
||||
if (this.formData.auditOpinion == null || this.formData.auditOpinion === '') {
|
||||
this.$toast('请填写审核意见')
|
||||
if (this.formData.auditOpinion == null || this.formData.auditOpinion === "") {
|
||||
this.$toast("请填写审核意见")
|
||||
return
|
||||
}
|
||||
|
||||
this.$dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确定要' + (pass ? '通过' : '拒绝') + '吗?',
|
||||
}).then(async () => {
|
||||
const loading = this.$toast.loading({
|
||||
message: '提交中...',
|
||||
forbidClick: true,
|
||||
this.$dialog
|
||||
.confirm({
|
||||
title: "提示",
|
||||
message: "您确定要" + (pass ? "通过" : "拒绝") + "吗?"
|
||||
})
|
||||
this.formData.auditPass = pass
|
||||
const {data, code, msg} = await $.post('/platform/activity/site/review/doProcess', {
|
||||
id: this.id,
|
||||
audit: JSON.stringify(this.formData)
|
||||
.then(async () => {
|
||||
const loading = this.$toast.loading({
|
||||
message: "提交中...",
|
||||
forbidClick: true
|
||||
})
|
||||
this.formData.auditPass = pass
|
||||
const { data, code, msg } = await $.post("/platform/activity/site/review/doProcess", {
|
||||
id: this.id,
|
||||
audit: JSON.stringify(this.formData)
|
||||
})
|
||||
loading.clear()
|
||||
if (code === 0) {
|
||||
this.$toast.success(msg)
|
||||
setTimeout(() => {
|
||||
window.history.back()
|
||||
}, 500)
|
||||
} else {
|
||||
this.$toast.fail(msg)
|
||||
}
|
||||
})
|
||||
loading.clear()
|
||||
if (code === 0) {
|
||||
this.$toast.success(msg)
|
||||
setTimeout(() => {
|
||||
window.history.back()
|
||||
}, 500)
|
||||
} else {
|
||||
this.$toast.fail(msg)
|
||||
}
|
||||
}).catch(() => {
|
||||
})
|
||||
.catch(() => {})
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
}
|
||||
created() {}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -46,11 +46,9 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.cell .title {
|
||||
|
||||
}
|
||||
|
||||
.cell .content {
|
||||
|
||||
}
|
||||
|
||||
.extra {
|
||||
@@ -63,46 +61,35 @@ layout("/mobile/platform.html"){
|
||||
.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>
|
||||
<van-nav-bar title="场地预约校工会审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
<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"
|
||||
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-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">
|
||||
<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>
|
||||
<div class="header-title">{{item.reserve_cause}}</div>
|
||||
|
||||
<van-tag class="header-title-extra" :type="tagType(item.reserve_state)">
|
||||
{{item.state_name}}
|
||||
</van-tag>
|
||||
<van-tag class="header-title-extra" :type="tagType(item.reserve_state)">{{item.state_name}}</van-tag>
|
||||
|
||||
<div class="cell">
|
||||
<div class="title">预约场地:</div>
|
||||
@@ -134,40 +121,35 @@ layout("/mobile/platform.html"){
|
||||
</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===6118">审核预约
|
||||
</van-button>
|
||||
<van-button size="small" type="info" @click="openAudit(item.id)" v-if="item.reserve_state===6118">审核预约</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
</div>
|
||||
|
||||
<van-empty v-if="tableData.length==0" class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
<van-empty v-if="tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
isAudit: false,
|
||||
time: moment().format('YYYY-MM')
|
||||
time: moment().format("YYYY-MM")
|
||||
},
|
||||
pageDataUrl: '/platform/activity/site/review/pageData',
|
||||
pageDataUrl: "/platform/activity/site/review/pageData",
|
||||
maxDate: null,
|
||||
currentDate: new Date(),
|
||||
auditOptions: [
|
||||
{text: '全部', value: null},
|
||||
{text: '已审核', value: true},
|
||||
{text: '未审核', value: false},
|
||||
{ text: "全部", value: null },
|
||||
{ text: "已审核", value: true },
|
||||
{ text: "未审核", value: false }
|
||||
]
|
||||
}
|
||||
},
|
||||
@@ -175,43 +157,42 @@ layout("/mobile/platform.html"){
|
||||
tagType() {
|
||||
return (reserveState) => {
|
||||
if (reserveState === 6138) {
|
||||
return 'success';
|
||||
return "success"
|
||||
} else if (reserveState === 6128) {
|
||||
return 'danger';
|
||||
return "danger"
|
||||
}
|
||||
return 'primary';
|
||||
};
|
||||
},
|
||||
return "primary"
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async openAudit(id) {
|
||||
window.location.href = loc() + '/audit?id=' + id
|
||||
window.location.href = loc() + "/audit?id=" + id
|
||||
},
|
||||
openView(id) {
|
||||
window.location.href = '/mobile/activity/site/mine/detail?id=' + id
|
||||
window.location.href = "/mobile/activity/site/mine/detail?id=" + id
|
||||
},
|
||||
onCancelDate() {
|
||||
this.$refs.dropItemYearMonth.toggle();
|
||||
this.$refs.dropItemYearMonth.toggle()
|
||||
},
|
||||
onConfirmDate(val) {
|
||||
this.pageForm.time = moment(val).format('YYYY-MM')
|
||||
this.pageForm.time = moment(val).format("YYYY-MM")
|
||||
this.$refs.dropItemYearMonth.toggle()
|
||||
this.doSearch()
|
||||
}
|
||||
},
|
||||
created() {
|
||||
let maxDate = new Date();
|
||||
maxDate.setMonth(maxDate.getMonth() + 1);
|
||||
let maxDate = new Date()
|
||||
maxDate.setMonth(maxDate.getMonth() + 1)
|
||||
this.maxDate = maxDate
|
||||
}
|
||||
})
|
||||
|
||||
window.addEventListener('pageshow', e => {
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
if (e.persisted || (window.performance && window.performance.navigation.type === 2)) {
|
||||
vue.doSearch()
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
|
||||
@@ -3,57 +3,47 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app">
|
||||
<van-nav-bar title="场地预约分工会审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="场地预约分工会审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></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 class="van-sidebar-item van-sidebar-item--select">分工会审核</div>
|
||||
</div>
|
||||
<van-form>
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
<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.auditOpinion"
|
||||
rows="1"
|
||||
required
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<van-field :value="moment().format('YYYY-MM-DD')"
|
||||
label="审核时间"
|
||||
readonly></van-field>
|
||||
<!-- <van-field label="签字" required style="flex-flow: column">-->
|
||||
<!-- <template #label>-->
|
||||
<!-- <div class="mb10">签  字</div>-->
|
||||
<!-- </template>-->
|
||||
<!-- <template #input>-->
|
||||
<!-- <mobile-sign ref="signature" :my_sign.sync="formData.auditSign"></mobile-sign>-->
|
||||
<!-- </template>-->
|
||||
<!-- </van-field>-->
|
||||
|
||||
<van-field v-model="formData.auditOpinion"
|
||||
rows="1"
|
||||
required
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<!-- <van-field label="签字" required style="flex-flow: column">-->
|
||||
<!-- <template #label>-->
|
||||
<!-- <div class="mb10">签  字</div>-->
|
||||
<!-- </template>-->
|
||||
<!-- <template #input>-->
|
||||
<!-- <mobile-sign ref="signature" :my_sign.sync="formData.auditSign"></mobile-sign>-->
|
||||
<!-- </template>-->
|
||||
<!-- </van-field>-->
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<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-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-button :color="themeColor" block @click="doAudit(true)">通 过</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</van-form>
|
||||
@@ -63,11 +53,11 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
components: {
|
||||
'site_h5_info': httpVueLoader('/components/activity/site/SiteH5Info.vue'),
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
site_h5_info: httpVueLoader("/components/activity/site/SiteH5Info.vue"),
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue")
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -77,41 +67,40 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
methods: {
|
||||
async doAudit(pass) {
|
||||
if (this.formData.auditOpinion == null || this.formData.auditOpinion === '') {
|
||||
this.$toast('请填写审核意见')
|
||||
if (this.formData.auditOpinion == null || this.formData.auditOpinion === "") {
|
||||
this.$toast("请填写审核意见")
|
||||
return
|
||||
}
|
||||
|
||||
this.$dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确定要' + (pass ? '通过' : '拒绝') + '吗?',
|
||||
}).then(async () => {
|
||||
const loading = this.$toast.loading({
|
||||
message: '提交中...',
|
||||
forbidClick: true,
|
||||
this.$dialog
|
||||
.confirm({
|
||||
title: "提示",
|
||||
message: "您确定要" + (pass ? "通过" : "拒绝") + "吗?"
|
||||
})
|
||||
this.formData.auditPass = pass
|
||||
const {data, code, msg} = await $.post('/platform/activity/site/unionProcess/doProcess',
|
||||
{
|
||||
.then(async () => {
|
||||
const loading = this.$toast.loading({
|
||||
message: "提交中...",
|
||||
forbidClick: true
|
||||
})
|
||||
this.formData.auditPass = pass
|
||||
const { data, code, msg } = await $.post("/platform/activity/site/unionProcess/doProcess", {
|
||||
id: this.id,
|
||||
audit: this.formData,
|
||||
});
|
||||
loading.clear()
|
||||
if (code === 0) {
|
||||
this.$toast.success(msg)
|
||||
setTimeout(() => {
|
||||
window.history.back()
|
||||
}, 500)
|
||||
} else {
|
||||
this.$toast.fail(msg)
|
||||
}
|
||||
}).catch(() => {
|
||||
})
|
||||
audit: this.formData
|
||||
})
|
||||
loading.clear()
|
||||
if (code === 0) {
|
||||
this.$toast.success(msg)
|
||||
setTimeout(() => {
|
||||
window.history.back()
|
||||
}, 500)
|
||||
} else {
|
||||
this.$toast.fail(msg)
|
||||
}
|
||||
})
|
||||
.catch(() => {})
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
}
|
||||
created() {}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -46,11 +46,9 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.cell .title {
|
||||
|
||||
}
|
||||
|
||||
.cell .content {
|
||||
|
||||
}
|
||||
|
||||
.extra {
|
||||
@@ -63,45 +61,34 @@ layout("/mobile/platform.html"){
|
||||
.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>
|
||||
<van-nav-bar title="场地预约分工会审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></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"
|
||||
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-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">
|
||||
<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="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>
|
||||
@@ -133,40 +120,35 @@ layout("/mobile/platform.html"){
|
||||
</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>
|
||||
<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>
|
||||
<van-empty v-if="tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
isAudit: false,
|
||||
time: moment().format('YYYY-MM')
|
||||
time: moment().format("YYYY-MM")
|
||||
},
|
||||
pageDataUrl: '/platform/activity/site/unionProcess/pageData',
|
||||
pageDataUrl: "/platform/activity/site/unionProcess/pageData",
|
||||
maxDate: new Date(),
|
||||
currentDate: new Date(),
|
||||
auditOptions: [
|
||||
{text: '全部', value: null},
|
||||
{text: '已审核', value: true},
|
||||
{text: '未审核', value: false},
|
||||
{ text: "全部", value: null },
|
||||
{ text: "已审核", value: true },
|
||||
{ text: "未审核", value: false }
|
||||
]
|
||||
}
|
||||
},
|
||||
@@ -174,42 +156,40 @@ layout("/mobile/platform.html"){
|
||||
tagType() {
|
||||
return (reserveState) => {
|
||||
if (reserveState === 6138) {
|
||||
return 'success';
|
||||
return "success"
|
||||
} else if ([6108, 6128].includes(reserveState)) {
|
||||
return 'danger';
|
||||
return "danger"
|
||||
}
|
||||
return 'primary';
|
||||
};
|
||||
},
|
||||
return "primary"
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async openAudit(id) {
|
||||
window.location.href = loc() + '/audit?id=' + id
|
||||
window.location.href = loc() + "/audit?id=" + id
|
||||
},
|
||||
openView(id) {
|
||||
window.location.href = '/mobile/activity/site/mine/detail?id=' + id
|
||||
window.location.href = "/mobile/activity/site/mine/detail?id=" + id
|
||||
},
|
||||
onCancelDate() {
|
||||
this.$refs.dropItemYearMonth.toggle();
|
||||
this.$refs.dropItemYearMonth.toggle()
|
||||
},
|
||||
onConfirmDate(val) {
|
||||
this.pageForm.time = moment(val).format('YYYY-MM')
|
||||
this.pageForm.time = moment(val).format("YYYY-MM")
|
||||
this.$refs.dropItemYearMonth.toggle()
|
||||
this.doSearch()
|
||||
}
|
||||
|
||||
},
|
||||
created() {
|
||||
// this.pageData()
|
||||
}
|
||||
})
|
||||
|
||||
window.addEventListener('pageshow', e => {
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
if (e.persisted || (window.performance && window.performance.navigation.type === 2)) {
|
||||
vue.doSearch()
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
|
||||
@@ -14,7 +14,8 @@ layout("/mobile/platform.html"){
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.activity_card .van-image, .activity_card .van-image img {
|
||||
.activity_card .van-image,
|
||||
.activity_card .van-image img {
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
@@ -52,55 +53,41 @@ layout("/mobile/platform.html"){
|
||||
max-width: 80px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="活动列表" left-arrow placeholder fixed
|
||||
@click-left="history.go(-1)"></van-nav-bar>
|
||||
<van-nav-bar title="活动列表" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
<van-dropdown-item v-model="pageForm.year" :options="yearList"
|
||||
@change="formChange"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.activityStatus" :options="activityStatusList"
|
||||
@change="formChange"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.activityLevel" :options="activityLevelList"
|
||||
@change="formChange"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.year" :options="yearList" @change="formChange"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.activityStatus" :options="activityStatusList" @change="formChange"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.activityLevel" :options="activityLevelList" @change="formChange"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<div style="margin: 60px auto 80px auto">
|
||||
<van-list v-model="loading" :finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="pageData">
|
||||
<van-list v-model="loading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="pageData">
|
||||
<div v-for="o in tableData" class="list-card" @click="openReg(o)">
|
||||
|
||||
<div class="activity_card">
|
||||
<van-image
|
||||
fit="cover"
|
||||
width="100%"
|
||||
height="200"
|
||||
:src="FILE_DOMAIN + '/fileStreamPreview?id=' + o.cover"
|
||||
></van-image>
|
||||
<van-image fit="cover" width="100%" height="200" :src="FILE_DOMAIN + '/fileStreamPreview?id=' + o.cover"></van-image>
|
||||
<div class="activity_content">
|
||||
<div class="activity_name van-ellipsis">
|
||||
<van-icon name="fire" color="red"></van-icon>
|
||||
<div style="margin-left: 10px;width: calc(100% - 26px);text-overflow: ellipsis;overflow: hidden;white-space: nowrap">
|
||||
<div style="margin-left: 10px; width: calc(100% - 26px); text-overflow: ellipsis; overflow: hidden; white-space: nowrap">
|
||||
{{o.name}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="activity_bottom">
|
||||
<div class="left" style="width: 100%">
|
||||
<van-icon name="clock" size="1em"></van-icon>
|
||||
<span style="margin-left: 10px;">
|
||||
报名时间:{{o.applyStartTime}}至{{o.applyEndTime}}
|
||||
<span style="margin-left: 10px">
|
||||
报名时间:{{o.applyStartTime}}至{{o.applyEndTime}}
|
||||
<!-- {{moment(o.activityStartTime).format('YYYY/MM/DD HH:mm')}} 至-->
|
||||
<!-- {{moment(o.activityEndTime).format('YYYY/MM/DD HH:mm')}}-->
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- <div class="right">-->
|
||||
<!-- <span v-if="moment(o.applyEndTime).valueOf() > moment().valueOf() && moment().valueOf() > moment(o.applyStartTime).valueOf()"-->
|
||||
<!-- style="color: forestgreen">-->
|
||||
@@ -124,39 +111,37 @@ layout("/mobile/platform.html"){
|
||||
<div class="activity_bottom">
|
||||
<div class="left">
|
||||
<van-icon name="clock" size="1em"></van-icon>
|
||||
<span style="margin-left: 10px;">
|
||||
<span style="margin-left: 10px">
|
||||
活动时间:{{o.startTime}}
|
||||
<!-- {{moment(o.activityStartTime).format('YYYY/MM/DD HH:mm')}} 至-->
|
||||
<!-- {{moment(o.activityEndTime).format('YYYY/MM/DD HH:mm')}}-->
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="right">
|
||||
<span v-if="moment(o.applyStartTime).valueOf() > moment().valueOf()"
|
||||
style="color: forestgreen">
|
||||
未开始报名
|
||||
</span>
|
||||
<span v-else-if="moment(o.applyEndTime).valueOf() > moment().valueOf() && moment().valueOf() > moment(o.applyStartTime).valueOf()"
|
||||
style="color: forestgreen">
|
||||
<span v-if="moment(o.applyStartTime).valueOf() > moment().valueOf()" style="color: forestgreen">未开始报名</span>
|
||||
<span
|
||||
v-else-if="moment(o.applyEndTime).valueOf() > moment().valueOf() && moment().valueOf() > moment(o.applyStartTime).valueOf()"
|
||||
style="color: forestgreen"
|
||||
>
|
||||
报名中
|
||||
</span>
|
||||
<span v-else-if="moment(o.applyEndTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.startTime).valueOf()"
|
||||
style="color: #ee1919">
|
||||
<span
|
||||
v-else-if="moment(o.applyEndTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.startTime).valueOf()"
|
||||
style="color: #ee1919"
|
||||
>
|
||||
报名结束
|
||||
</span>
|
||||
<span v-else-if="moment(o.startTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.endTime).valueOf()"
|
||||
style="color: forestgreen">
|
||||
<span
|
||||
v-else-if="moment(o.startTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.endTime).valueOf()"
|
||||
style="color: forestgreen"
|
||||
>
|
||||
活动进行中
|
||||
</span>
|
||||
<span v-else-if="moment().valueOf() > moment(o.endTime).valueOf()"
|
||||
style="color: #ee1919">
|
||||
活动结束
|
||||
</span>
|
||||
<span v-else-if="moment().valueOf() > moment(o.endTime).valueOf()" style="color: #ee1919">活动结束</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- <div class="activity_content" style="font-size: 12px; color: #c4bebe;">-->
|
||||
<!-- <div class="left">-->
|
||||
<!-- <van-icon name="clock" size="1em"></van-icon>-->
|
||||
@@ -166,48 +151,40 @@ layout("/mobile/platform.html"){
|
||||
<!-- </span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
</div>
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
|
||||
<div>
|
||||
<van-tabbar v-model="tabBarIndex" :active-color="themeColor">
|
||||
<van-tabbar-item icon="home-o" url="/mobile/activity/unionActivity">全部活动
|
||||
</van-tabbar-item>
|
||||
<van-tabbar-item icon="friends-o" url="/mobile/activity/myActivity">我的活动
|
||||
</van-tabbar-item>
|
||||
<van-tabbar-item icon="home-o" url="/mobile/activity/unionActivity">全部活动</van-tabbar-item>
|
||||
<van-tabbar-item icon="friends-o" url="/mobile/activity/myActivity">我的活动</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
pageDataUrl: '/mobile/activity/unionActivity/pageData',
|
||||
pageDataUrl: "/mobile/activity/unionActivity/pageData",
|
||||
pageForm: {
|
||||
year: '',
|
||||
year: "",
|
||||
activityStatus: null
|
||||
},
|
||||
tabBarIndex: 0,
|
||||
activityLevelList: [],
|
||||
activityStatusList: [
|
||||
{text: '全部', value: 1},
|
||||
{text: '未开始', value: 5},
|
||||
{text: '报名中', value: 2},
|
||||
{text: '进行中', value: 3},
|
||||
{text: '已结束', value: 4}
|
||||
{ text: "全部", value: 1 },
|
||||
{ text: "未开始", value: 5 },
|
||||
{ text: "报名中", value: 2 },
|
||||
{ text: "进行中", value: 3 },
|
||||
{ text: "已结束", value: 4 }
|
||||
]
|
||||
}
|
||||
},
|
||||
@@ -219,7 +196,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async pageData() {
|
||||
this.mLoading = true
|
||||
const resp = await $.post('/mobile/activity/unionActivity/pageData', this.pageForm)
|
||||
const resp = await $.post("/mobile/activity/unionActivity/pageData", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
if (resp.data.list.length === 0) {
|
||||
this.tableData = []
|
||||
@@ -239,30 +216,30 @@ layout("/mobile/platform.html"){
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
}
|
||||
this.loading = false;
|
||||
this.loading = false
|
||||
this.mLoading = false
|
||||
},
|
||||
//跳转页面
|
||||
openReg(o) {
|
||||
console.log(o)
|
||||
if (moment(o.applyStartTime).valueOf() > moment().valueOf()) {
|
||||
this.$toast('活动未开始报名')
|
||||
return;
|
||||
this.$toast("活动未开始报名")
|
||||
return
|
||||
}
|
||||
if (o.projectTypeCode === '50004') {
|
||||
window.location.href = '/mobile/activity/Sports/list/activityEventList?id=' + o.id
|
||||
if (o.projectTypeCode === "50004") {
|
||||
window.location.href = "/mobile/activity/Sports/list/activityEventList?id=" + o.id
|
||||
} else {
|
||||
window.location.href = '/mobile/activity/unionActivity/goReg?id=' + o.id + '&signUpMethod=' + o.signUpMethod
|
||||
window.location.href = "/mobile/activity/unionActivity/goReg?id=" + o.id + "&signUpMethod=" + o.signUpMethod
|
||||
}
|
||||
},
|
||||
async init() {
|
||||
this.$set(this.pageForm, "activityStatus", 1)
|
||||
this.$set(this.pageForm, "year", new Date().getFullYear())
|
||||
const {data} = await $.get("/platform/activity/basic/basic/settings/getActivityTwoLevelType", {code: 40000})
|
||||
const { data } = await $.get("/platform/activity/basic/basic/settings/getActivityTwoLevelType", { code: 40000 })
|
||||
this.activityLevelList = []
|
||||
this.activityLevelList.push({value: null, text: "全部类别"})
|
||||
data.forEach(v => {
|
||||
this.activityLevelList.push({value: v.code, text: v.name})
|
||||
this.activityLevelList.push({ value: null, text: "全部类别" })
|
||||
data.forEach((v) => {
|
||||
this.activityLevelList.push({ value: v.code, text: v.name })
|
||||
})
|
||||
|
||||
this.$set(this.pageForm, "activityLevel", this.activityLevelList[0].value)
|
||||
@@ -272,7 +249,7 @@ layout("/mobile/platform.html"){
|
||||
this.init()
|
||||
}
|
||||
})
|
||||
window.addEventListener('pageshow', e => {
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
if (e.persisted || (window.performance && window.performance.navigation.type === 2)) {
|
||||
vue.init()
|
||||
}
|
||||
|
||||
@@ -12,20 +12,22 @@ layout("/mobile/platform.html"){
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="签到" left-arrow placeholder fixed @click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="签到" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<!--#include("/mobile/activity/unionActivity/common/activityInfo.html"){}#-->
|
||||
|
||||
<div style="margin: 20px 20px 10px 20px" v-if="o.needSign">
|
||||
<van-button
|
||||
:disabled="moment().valueOf() > moment(o.endTime).valueOf() || moment().valueOf() < moment(o.startTime).valueOf() || isSign"
|
||||
@click="doSign()" style="border-radius: 10px" block type="info"
|
||||
:color="themeColor">
|
||||
:disabled="moment().valueOf() > moment(o.endTime).valueOf() || moment().valueOf() < moment(o.startTime).valueOf() || isSign"
|
||||
@click="doSign()"
|
||||
style="border-radius: 10px"
|
||||
block
|
||||
type="info"
|
||||
:color="themeColor"
|
||||
>
|
||||
{{isSign?'签到成功':'立即签到'}}
|
||||
</van-button>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
@@ -35,26 +37,26 @@ layout("/mobile/platform.html"){
|
||||
<script>
|
||||
let geolocation = null
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins, self_mixin],
|
||||
data() {
|
||||
return {
|
||||
activityId: '',
|
||||
activityId: "",
|
||||
o: {},
|
||||
isSign: null
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getSignStatus() {
|
||||
const resp = await $.post('/mobile/activity/unionActivity/isSign', {activityId: this.activityId})
|
||||
const resp = await $.post("/mobile/activity/unionActivity/isSign", { activityId: this.activityId })
|
||||
if (resp.code === 0) {
|
||||
this.isSign = resp.data
|
||||
}
|
||||
},
|
||||
async doSign() {
|
||||
geolocation.getCurrentPosition(async (status, result) => {
|
||||
if (status !== 'complete') {
|
||||
this.$toast.fail('定位失败!')
|
||||
if (status !== "complete") {
|
||||
this.$toast.fail("定位失败!")
|
||||
return
|
||||
}
|
||||
console.log(status)
|
||||
@@ -62,27 +64,30 @@ layout("/mobile/platform.html"){
|
||||
const lat = result.position.lat
|
||||
const lng = result.position.lng
|
||||
const params = {
|
||||
lat1: lat, lng1: lng, lat2: this.o.location[1], lng2: this.o.location[0]
|
||||
lat1: lat,
|
||||
lng1: lng,
|
||||
lat2: this.o.location[1],
|
||||
lng2: this.o.location[0]
|
||||
}
|
||||
const distance = this.getMapDistance(params)
|
||||
console.log(distance)
|
||||
console.log(this.o.rangeMeter)
|
||||
if (distance > this.o.rangeMeter) {
|
||||
this.$toast('距离活动打卡点还有' + distance + '米')
|
||||
this.$toast("距离活动打卡点还有" + distance + "米")
|
||||
return
|
||||
}
|
||||
const confirm = await this.$dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确认要签到吗?',
|
||||
title: "提示",
|
||||
message: "您确认要签到吗?"
|
||||
})
|
||||
const loading = this.$toast.loading({
|
||||
message: '签到中...',
|
||||
message: "签到中...",
|
||||
forbidClick: true,
|
||||
overlay: true,
|
||||
duration: 0
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
const resp = await $.post('/mobile/activity/unionActivity/singleSignUp', {activityId: this.activityId})
|
||||
if (confirm === "confirm") {
|
||||
const resp = await $.post("/mobile/activity/unionActivity/singleSignUp", { activityId: this.activityId })
|
||||
if (resp.code === 0) {
|
||||
await this.getSignStatus()
|
||||
loading.close()
|
||||
@@ -90,8 +95,6 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -107,4 +110,4 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -12,45 +12,55 @@ layout("/mobile/platform.html"){
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="个人报名" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="个人报名" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<!--#include("/mobile/activity/unionActivity/common/activityInfo.html"){}#-->
|
||||
|
||||
<div style="margin: 20px 20px 10px 20px"
|
||||
v-if="moment(o.applyStartTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.applyEndTime).valueOf()">
|
||||
<van-button v-if="!isRegister && !isRegisterFull" @click="doSave()"
|
||||
style="border-radius: 10px" block
|
||||
type="info"
|
||||
:color="themeColor">
|
||||
<div
|
||||
style="margin: 20px 20px 10px 20px"
|
||||
v-if="moment(o.applyStartTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.applyEndTime).valueOf()"
|
||||
>
|
||||
<van-button v-if="!isRegister && !isRegisterFull" @click="doSave()" style="border-radius: 10px" block type="info" :color="themeColor">
|
||||
立即报名
|
||||
</van-button>
|
||||
<van-button v-else-if="!isRegister && isRegisterFull" @click="doSave()"
|
||||
style="border-radius: 10px" block
|
||||
disabled
|
||||
type="info"
|
||||
:color="themeColor">
|
||||
<van-button
|
||||
v-else-if="!isRegister && isRegisterFull"
|
||||
@click="doSave()"
|
||||
style="border-radius: 10px"
|
||||
block
|
||||
disabled
|
||||
type="info"
|
||||
:color="themeColor"
|
||||
>
|
||||
名额已满
|
||||
</van-button>
|
||||
<van-button v-else-if="isRegister && moment().valueOf() < moment(o.applyEndTime).valueOf()"
|
||||
@click="doCancel"
|
||||
style="border-radius: 10px" block type="info"
|
||||
color="red">
|
||||
<van-button
|
||||
v-else-if="isRegister && moment().valueOf() < moment(o.applyEndTime).valueOf()"
|
||||
@click="doCancel"
|
||||
style="border-radius: 10px"
|
||||
block
|
||||
type="info"
|
||||
color="red"
|
||||
>
|
||||
取消报名
|
||||
</van-button>
|
||||
</div>
|
||||
|
||||
<div style="margin: 20px 20px 10px 20px"
|
||||
v-if="isRegister && moment().valueOf() < moment(o.endTime).valueOf() && moment().valueOf() > moment(o.startTime).valueOf()">
|
||||
<div
|
||||
style="margin: 20px 20px 10px 20px"
|
||||
v-if="isRegister && moment().valueOf() < moment(o.endTime).valueOf() && moment().valueOf() > moment(o.startTime).valueOf()"
|
||||
>
|
||||
<van-button
|
||||
:disabled="moment().valueOf() > moment(o.endTime).valueOf() || moment().valueOf() < moment(o.startTime).valueOf() || isSign"
|
||||
@click="doSign()" style="border-radius: 10px" block type="info"
|
||||
:color="themeColor">
|
||||
:disabled="moment().valueOf() > moment(o.endTime).valueOf() || moment().valueOf() < moment(o.startTime).valueOf() || isSign"
|
||||
@click="doSign()"
|
||||
style="border-radius: 10px"
|
||||
block
|
||||
type="info"
|
||||
:color="themeColor"
|
||||
>
|
||||
{{isSign?'签到成功':'立即签到'}}
|
||||
</van-button>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
@@ -59,11 +69,11 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins, self_mixin],
|
||||
data() {
|
||||
return {
|
||||
activityId: '',
|
||||
activityId: "",
|
||||
o: {},
|
||||
tagCloseable: true,
|
||||
isRegister: false,
|
||||
@@ -72,36 +82,35 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
methods: {
|
||||
async isRegisterForMe() {
|
||||
const resp = await $.get('/mobile/activity/unionActivity/isRegisterForMe', {activityId: this.activityId})
|
||||
const resp = await $.get("/mobile/activity/unionActivity/isRegisterForMe", { activityId: this.activityId })
|
||||
if (resp.code === 0) {
|
||||
this.isRegister = resp.data
|
||||
}
|
||||
},
|
||||
async doSave() {
|
||||
let message = ''
|
||||
let message = ""
|
||||
if (this.o.needSign) {
|
||||
message = '报名后若未参加,将有可能影响到其它活动的报名,同时活动开启了现场签到!'
|
||||
message = "报名后若未参加,将有可能影响到其它活动的报名,同时活动开启了现场签到!"
|
||||
}
|
||||
const confirm = await this.$dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确认要报名吗?' + message,
|
||||
title: "提示",
|
||||
message: "您确认要报名吗?" + message
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
if (confirm === "confirm") {
|
||||
const loading = this.$toast.loading({
|
||||
message: '报名中...',
|
||||
message: "报名中...",
|
||||
forbidClick: true,
|
||||
overlay: true,
|
||||
duration: 0
|
||||
})
|
||||
await this.getHasRegUserNum()
|
||||
const resp = await $.post('/mobile/activity/unionActivity/doSingleRegister', {activityId: this.activityId})
|
||||
const resp = await $.post("/mobile/activity/unionActivity/doSingleRegister", { activityId: this.activityId })
|
||||
loading.close()
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success(resp.msg)
|
||||
setTimeout(() => {
|
||||
window.history.back()
|
||||
}, 1000)
|
||||
|
||||
} else {
|
||||
this.$toast.fail(resp.msg)
|
||||
}
|
||||
@@ -109,17 +118,17 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async doCancel() {
|
||||
const confirm = await this.$dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确认要取消报名吗?',
|
||||
title: "提示",
|
||||
message: "您确认要取消报名吗?"
|
||||
})
|
||||
const loading = this.$toast.loading({
|
||||
message: '取消中...',
|
||||
message: "取消中...",
|
||||
forbidClick: true,
|
||||
overlay: true,
|
||||
duration: 0
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
const resp = await $.post('/mobile/activity/unionActivity/doSingleCancelRegister', {activityId: this.activityId})
|
||||
if (confirm === "confirm") {
|
||||
const resp = await $.post("/mobile/activity/unionActivity/doSingleCancelRegister", { activityId: this.activityId })
|
||||
loading.close()
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success(resp.msg)
|
||||
@@ -132,18 +141,18 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
async getSignStatus() {
|
||||
const resp = await $.post('/mobile/activity/unionActivity/isSign', {activityId: this.activityId})
|
||||
const resp = await $.post("/mobile/activity/unionActivity/isSign", { activityId: this.activityId })
|
||||
if (resp.code === 0) {
|
||||
this.isSign = resp.data
|
||||
}
|
||||
},
|
||||
async doSign() {
|
||||
const confirm = await this.$dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确认要签到吗?',
|
||||
title: "提示",
|
||||
message: "您确认要签到吗?"
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
const resp = await $.post('/mobile/activity/unionActivity/singleSignUp', {activityId: this.activityId})
|
||||
if (confirm === "confirm") {
|
||||
const resp = await $.post("/mobile/activity/unionActivity/singleSignUp", { activityId: this.activityId })
|
||||
if (resp.code === 0) {
|
||||
await this.getSignStatus()
|
||||
this.$toast.success(resp.msg)
|
||||
@@ -168,4 +177,4 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -37,13 +37,12 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.van-search__action {
|
||||
background-color: #edf0ff
|
||||
background-color: #edf0ff;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar :title="title" @click-left="history.back()" fixed left-arrow
|
||||
placeholder></van-nav-bar>
|
||||
<van-nav-bar :title="title" @click-left="pjaxReplace('/mobile/index')" fixed left-arrow placeholder></van-nav-bar>
|
||||
|
||||
<!--#include("/mobile/activity/unionActivity/common/activityInfo.html"){}#-->
|
||||
|
||||
@@ -51,47 +50,40 @@ layout("/mobile/platform.html"){
|
||||
<van-cell class="regCell" title="报名人员">
|
||||
<template #label>
|
||||
<div>
|
||||
<span v-if="o.userNumberLimit===1">
|
||||
本活动限制总报名人数:({{o.totalUserNumberLimit}})人
|
||||
</span>
|
||||
<span v-if="o.userNumberLimit===1">本活动限制总报名人数:({{o.totalUserNumberLimit}})人</span>
|
||||
<span v-else-if="o.userNumberLimit===2">
|
||||
当前分工会报名限额 <span style="color: orange">({{o.limitUnion.limitNum}})人</span>
|
||||
当前分工会报名限额
|
||||
<span style="color: orange">({{o.limitUnion.limitNum}})人</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="mt5" v-loading="tagCloseable">
|
||||
<div v-if="registerList && registerList.length>0">
|
||||
<template v-for="item in registerList">
|
||||
<van-tag :closeable="tagCloseable" :color="themeColor"
|
||||
@close="removeRegUser(item)"
|
||||
size="medium"
|
||||
type="primary">
|
||||
<van-tag :closeable="tagCloseable" :color="themeColor" @close="removeRegUser(item)" size="medium" type="primary">
|
||||
{{item.userName}}
|
||||
</van-tag>
|
||||
</template>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div style="text-align: center;margin-top: 20px;">
|
||||
无报名人员
|
||||
</div>
|
||||
<div style="text-align: center; margin-top: 20px">无报名人员</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt5" style="text-align: right"
|
||||
v-if="moment(o.applyStartTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.applyEndTime).valueOf()">
|
||||
<van-button :color="themeColor" @click="openUserActionSheet" size="mini"
|
||||
type="info" v-if="tagCloseable">选择报名人员
|
||||
</van-button>
|
||||
<div
|
||||
class="mt5"
|
||||
style="text-align: right"
|
||||
v-if="moment(o.applyStartTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.applyEndTime).valueOf()"
|
||||
>
|
||||
<van-button :color="themeColor" @click="openUserActionSheet" size="mini" type="info" v-if="tagCloseable">选择报名人员</van-button>
|
||||
</div>
|
||||
</template>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
|
||||
<van-action-sheet class="userActionPopup" title="选择报名人员" v-model="userActionSheet">
|
||||
<van-search @search="onSearchUser" placeholder="请输入姓名搜索" show-action
|
||||
v-model="searchKey">
|
||||
<van-search @search="onSearchUser" placeholder="请输入姓名搜索" show-action v-model="searchKey">
|
||||
<template #action>
|
||||
<div @click="onSearchUser(searchKey)">搜索</div>
|
||||
</template>
|
||||
|
||||
</van-search>
|
||||
|
||||
<!-- <div class="van-hairline--bottom">-->
|
||||
@@ -101,48 +93,29 @@ layout("/mobile/platform.html"){
|
||||
<van-loading size="24px" vertical>搜索中...</van-loading>
|
||||
</template>
|
||||
|
||||
<div class="van-action-sheet__content mt5"
|
||||
v-else-if="searchUserList && searchUserList.length>0">
|
||||
|
||||
<div class="van-action-sheet__content mt5" v-else-if="searchUserList && searchUserList.length>0">
|
||||
<template>
|
||||
<template v-for="item in searchUserList"
|
||||
v-if="!registerList.map(v=>v.id).includes(item.id)">
|
||||
<button @click="searchUserAdd(item)"
|
||||
class="van-action-sheet__item van-hairline--bottom">
|
||||
<template v-for="item in searchUserList" v-if="!registerList.map(v=>v.id).includes(item.id)">
|
||||
<button @click="searchUserAdd(item)" class="van-action-sheet__item van-hairline--bottom">
|
||||
<span class="van-action-sheet__name">{{item.userName}}({{item.loginName}})</span>
|
||||
</button>
|
||||
</template>
|
||||
<!--<van-empty description="没有更多了" style="position:absolute;height: 70%"
|
||||
v-else></van-empty>-->
|
||||
</template>
|
||||
|
||||
</div>
|
||||
<van-empty description="暂无数据" style="position:absolute;height: 70%"
|
||||
v-else-if="searchUserList.length===0"></van-empty>
|
||||
<van-empty description="暂无数据" style="position: absolute; height: 70%" v-else-if="searchUserList.length===0"></van-empty>
|
||||
</van-action-sheet>
|
||||
|
||||
|
||||
<div style="margin: 20px 20px 10px 20px"
|
||||
v-if="moment(o.applyStartTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.applyEndTime).valueOf()">
|
||||
<van-button :color="themeColor" @click="doSave()" block style="border-radius: 10px"
|
||||
type="info"
|
||||
v-if="tagCloseable">
|
||||
提 交
|
||||
</van-button>
|
||||
<div
|
||||
style="margin: 20px 20px 10px 20px"
|
||||
v-if="moment(o.applyStartTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.applyEndTime).valueOf()"
|
||||
>
|
||||
<van-button :color="themeColor" @click="doSave()" block style="border-radius: 10px" type="info" v-if="tagCloseable">提 交</van-button>
|
||||
<template v-else="!tagCloseable">
|
||||
<van-button :color="themeColor" @click="tagCloseable = true"
|
||||
block style="border-radius: 10px"
|
||||
type="info">
|
||||
修 改
|
||||
</van-button>
|
||||
<van-button
|
||||
@click="doCancel"
|
||||
block color="red" style="border-radius: 10px;margin-top: 10px"
|
||||
type="info">
|
||||
取消报名
|
||||
</van-button>
|
||||
<van-button :color="themeColor" @click="tagCloseable = true" block style="border-radius: 10px" type="info">修 改</van-button>
|
||||
<van-button @click="doCancel" block color="red" style="border-radius: 10px; margin-top: 10px" type="info">取消报名</van-button>
|
||||
</template>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- <div style="margin: 20px 20px 10px 20px" v-if="tagCloseable">-->
|
||||
@@ -153,26 +126,25 @@ layout("/mobile/platform.html"){
|
||||
<!-- 立即签到-->
|
||||
<!-- </van-button>-->
|
||||
<!-- </div>-->
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
<!--#include("/mobile/activity/unionActivity/common/initMap.js"){}#-->
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins, self_mixin],
|
||||
data() {
|
||||
return {
|
||||
title: "",
|
||||
userId: "${@shiro.getPrincipalProperty('id')}",
|
||||
userName: "${@shiro.getPrincipalProperty('username')}",
|
||||
activityId: '',
|
||||
activityId: "",
|
||||
o: {},
|
||||
registerList: [],
|
||||
addRegisterList: [],
|
||||
userActionSheet: false,
|
||||
searchKey: '',
|
||||
searchKey: "",
|
||||
searchUserList: [],
|
||||
tagCloseable: true,
|
||||
searchLoading: false
|
||||
@@ -181,17 +153,17 @@ layout("/mobile/platform.html"){
|
||||
methods: {
|
||||
async doCancel() {
|
||||
const confirm = await this.$dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确认要取消报名吗?',
|
||||
title: "提示",
|
||||
message: "您确认要取消报名吗?"
|
||||
})
|
||||
const loading = this.$toast.loading({
|
||||
message: '取消中...',
|
||||
message: "取消中...",
|
||||
forbidClick: true,
|
||||
overlay: true,
|
||||
duration: 0
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
const resp = await $.post('/mobile/activity/unionActivity/doSingleCancelRegister', {activityId: this.activityId})
|
||||
if (confirm === "confirm") {
|
||||
const resp = await $.post("/mobile/activity/unionActivity/doSingleCancelRegister", { activityId: this.activityId })
|
||||
if (resp.code === 0) {
|
||||
setTimeout(() => {
|
||||
loading.close()
|
||||
@@ -206,10 +178,10 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
async getRegisterUser() {
|
||||
const resp = await $.get('/mobile/activity/myActivity/selectRegisterList', {activityId: this.activityId})
|
||||
const resp = await $.get("/mobile/activity/myActivity/selectRegisterList", { activityId: this.activityId })
|
||||
if (resp.code === 0) {
|
||||
if (this.o.signUpMethod === 3) {
|
||||
this.registerList = resp.data.filter(v => v.applyUserId === this.userId)
|
||||
this.registerList = resp.data.filter((v) => v.applyUserId === this.userId)
|
||||
} else {
|
||||
this.registerList = resp.data
|
||||
}
|
||||
@@ -220,7 +192,7 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
openUserActionSheet() {
|
||||
this.searchKey = ''
|
||||
this.searchKey = ""
|
||||
this.searchUserList = []
|
||||
this.userActionSheet = true
|
||||
},
|
||||
@@ -230,21 +202,20 @@ layout("/mobile/platform.html"){
|
||||
return
|
||||
}
|
||||
this.searchLoading = true
|
||||
const resp = await $.get('/mobile/activity/unionActivity/searchNoRegisterUser', {
|
||||
const resp = await $.get("/mobile/activity/unionActivity/searchNoRegisterUser", {
|
||||
activityId: this.activityId,
|
||||
searchKey: val
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
this.searchLoading = false
|
||||
this.searchUserList = resp.data.list
|
||||
|
||||
} else {
|
||||
this.$toast.fail(resp.msg)
|
||||
}
|
||||
},
|
||||
searchUserAdd(item) {
|
||||
const {id, userName} = item
|
||||
this.registerList.push({id, userName})
|
||||
const { id, userName } = item
|
||||
this.registerList.push({ id, userName })
|
||||
this.$toast.success("添加成功")
|
||||
},
|
||||
async removeRegUser(item) {
|
||||
@@ -253,46 +224,42 @@ layout("/mobile/platform.html"){
|
||||
return
|
||||
}
|
||||
const confirm = await this.$dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确认要移除吗?',
|
||||
title: "提示",
|
||||
message: "您确认要移除吗?"
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
const index = this.registerList.findIndex(v => v.id === item.id)
|
||||
if (confirm === "confirm") {
|
||||
const index = this.registerList.findIndex((v) => v.id === item.id)
|
||||
this.registerList.splice(index, 1)
|
||||
}
|
||||
},
|
||||
//保存
|
||||
async doSave() {
|
||||
if (this.registerList.length === 0) {
|
||||
this.$toast('请添加报名人员后再提交!')
|
||||
this.$toast("请添加报名人员后再提交!")
|
||||
return
|
||||
}
|
||||
if (this.o.signUpMethod === 3) {
|
||||
if (this.registerList.length !== this.o.teamNum) {
|
||||
vant.Dialog.alert({
|
||||
title: '温馨提示',
|
||||
message: '此活动是双人报名模式您需要报名' + this.o.teamNum + '人!',
|
||||
}).then(() => {
|
||||
|
||||
});
|
||||
title: "温馨提示",
|
||||
message: "此活动是双人报名模式您需要报名" + this.o.teamNum + "人!"
|
||||
}).then(() => {})
|
||||
return
|
||||
}
|
||||
if (!this.registerList.map(v => v.id).includes(this.userId)) {
|
||||
if (!this.registerList.map((v) => v.id).includes(this.userId)) {
|
||||
vant.Dialog.alert({
|
||||
title: '温馨提示',
|
||||
message: '此活动是组队模式请您找' + this.o.teamNum + '朋友一起报名!',
|
||||
}).then(() => {
|
||||
|
||||
});
|
||||
title: "温馨提示",
|
||||
message: "此活动是组队模式请您找" + this.o.teamNum + "朋友一起报名!"
|
||||
}).then(() => {})
|
||||
return
|
||||
}
|
||||
// await this.getRegisterUser()
|
||||
const resp = await $.get('/mobile/activity/myActivity/selectRegisterList', {activityId: this.activityId})
|
||||
const resp = await $.get("/mobile/activity/myActivity/selectRegisterList", { activityId: this.activityId })
|
||||
this.addRegisterList = resp.data
|
||||
let arr = []
|
||||
if (this.addRegisterList && this.addRegisterList.length > 0) {
|
||||
this.addRegisterList.forEach(v => {
|
||||
this.registerList.forEach(r => {
|
||||
this.addRegisterList.forEach((v) => {
|
||||
this.registerList.forEach((r) => {
|
||||
if (v.id === r.id && v.applyUserId !== this.userId) {
|
||||
arr.push(r.userName)
|
||||
}
|
||||
@@ -302,11 +269,9 @@ layout("/mobile/platform.html"){
|
||||
|
||||
if (arr && arr.length > 0) {
|
||||
vant.Dialog.alert({
|
||||
title: '温馨提示',
|
||||
message: '【' + arr.toString() + '】已成功报名您无需再报名!',
|
||||
}).then(() => {
|
||||
|
||||
});
|
||||
title: "温馨提示",
|
||||
message: "【" + arr.toString() + "】已成功报名您无需再报名!"
|
||||
}).then(() => {})
|
||||
return
|
||||
}
|
||||
|
||||
@@ -319,28 +284,27 @@ layout("/mobile/platform.html"){
|
||||
});
|
||||
return
|
||||
}*/
|
||||
|
||||
}
|
||||
let message = ''
|
||||
let message = ""
|
||||
if (this.o.needSign) {
|
||||
message = '此活动开启了签到,需要您活动当天前往签到点位核实活动报名人员后进行签到!'
|
||||
message = "此活动开启了签到,需要您活动当天前往签到点位核实活动报名人员后进行签到!"
|
||||
}
|
||||
const confirm = await this.$dialog.confirm({
|
||||
title: '提示',
|
||||
message: message + '您确认要报名吗?',
|
||||
title: "提示",
|
||||
message: message + "您确认要报名吗?"
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
if (confirm === "confirm") {
|
||||
const loading = this.$toast.loading({
|
||||
message: '报名中...',
|
||||
message: "报名中...",
|
||||
forbidClick: true,
|
||||
overlay: true,
|
||||
duration: 0
|
||||
})
|
||||
const params = {
|
||||
activityId: this.activityId,
|
||||
personIds: JSON.stringify(this.registerList.map(v => v.id))
|
||||
personIds: JSON.stringify(this.registerList.map((v) => v.id))
|
||||
}
|
||||
const resp = await $.post('/mobile/activity/unionActivity/doSaveUnionRegister', params)
|
||||
const resp = await $.post("/mobile/activity/unionActivity/doSaveUnionRegister", params)
|
||||
|
||||
if (resp.code === 0) {
|
||||
await this.getRegisterUser()
|
||||
@@ -362,14 +326,12 @@ layout("/mobile/platform.html"){
|
||||
await this.getActivityInfo()
|
||||
await this.getRegisterUser()
|
||||
if (this.o.signUpMethod === 3 && this.registerList.length === 0) {
|
||||
this.registerList.push({id: this.userId, userName: this.userName})
|
||||
this.registerList.push({ id: this.userId, userName: this.userName })
|
||||
}
|
||||
this.title = (this.o.signUpMethod === 2 ? '分工会报名' : '组队报名')
|
||||
this.title = this.o.signUpMethod === 2 ? "分工会报名" : "组队报名"
|
||||
if (moment(this.o.applyStartTime).valueOf() < moment().valueOf() && moment().valueOf() > moment(this.o.applyEndTime).valueOf()) {
|
||||
this.$toast.fail("不在活动范围内")
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -3,7 +3,6 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.van-index-bar__sidebar {
|
||||
display: none;
|
||||
}
|
||||
@@ -88,55 +87,36 @@ layout("/mobile/platform.html"){
|
||||
.van-cell-group__title {
|
||||
padding: 5px 0 5px 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<m-page-loading v-if="mLoading"></m-page-loading>
|
||||
|
||||
<!--top栏-->
|
||||
<van-nav-bar
|
||||
title="社团审核"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="history.go(-1)"
|
||||
safe-area-inset-top
|
||||
></van-nav-bar>
|
||||
<van-nav-bar title="社团审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')" safe-area-inset-top></van-nav-bar>
|
||||
|
||||
<!--筛选框-->
|
||||
<div class="search-fixed">
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyword"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入工号或姓名进行查询"
|
||||
>
|
||||
</van-search>
|
||||
v-model="pageForm.searchKeyword"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入工号或姓名进行查询"
|
||||
></van-search>
|
||||
|
||||
<van-dropdown-menu>
|
||||
<van-dropdown-item v-model="pageForm.radioType" :options="auditOptions"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.clubId" :options="clubOptions"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.userType" :options="userTypeOptions"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.radioType" :options="auditOptions" @change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.clubId" :options="clubOptions" @change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.userType" :options="userTypeOptions" @change="doSearch"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<!--列表-->
|
||||
<div style="margin-top: 116px">
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:finished="finished" :immediate-check="false"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
|
||||
<van-list v-model="loading" :finished="finished" :immediate-check="false" :finished-text="tableData.length>0?'没有更多了':''" @load="onLoad">
|
||||
<div class="van-doc-card" v-for="o in tableData">
|
||||
<div @click="openView(o.id)">
|
||||
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 74%">
|
||||
<div class="van-ellipsis title">
|
||||
@@ -144,9 +124,7 @@ layout("/mobile/platform.html"){
|
||||
<span>{{o.username}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="color: #1867b0;">
|
||||
|
||||
</div>
|
||||
<div style="color: #1867b0"></div>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
@@ -180,14 +158,10 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div style="display: flex; justify-content: flex-end; margin-top: 4px">
|
||||
<div>
|
||||
<van-button @click.stop="openView(o)"
|
||||
type="primary" size="small" color="#1867b0"
|
||||
style="margin-right: 8px; width: auto;">
|
||||
<van-button @click.stop="openView(o)" type="primary" size="small" color="#1867b0" style="margin-right: 8px; width: auto">
|
||||
查看
|
||||
</van-button>
|
||||
<van-button @click.stop="openAudit(o)"
|
||||
type="primary" size="small" color="#1867b0"
|
||||
style="margin-right: 8px; width: auto;">
|
||||
<van-button @click.stop="openAudit(o)" type="primary" size="small" color="#1867b0" style="margin-right: 8px; width: auto">
|
||||
审核
|
||||
</van-button>
|
||||
</div>
|
||||
@@ -195,47 +169,29 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty
|
||||
v-if="mLoading==false&&tableData.length==0"
|
||||
class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据"
|
||||
></van-empty>
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<van-popup v-model="infoShow" position="right" :style="{width: '100%', height: '100%' }">
|
||||
<van-nav-bar
|
||||
title="详细信息"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="infoShow = false"
|
||||
safe-area-inset-top
|
||||
></van-nav-bar>
|
||||
<van-nav-bar title="详细信息" left-arrow placeholder fixed @click-left="infoShow = false" safe-area-inset-top></van-nav-bar>
|
||||
<club-user-apply-info ref="applyInfo" :handle="handle">
|
||||
<template #handle>
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
社团审核
|
||||
</div>
|
||||
<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 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.auditOpinion"
|
||||
required
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
<van-field
|
||||
v-model="formData.auditOpinion"
|
||||
required
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<van-field label="审核签字" required style="flex-flow: column">
|
||||
@@ -247,27 +203,23 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<van-row gutter="20" style="margin-top: 30px; padding: 0 25px">
|
||||
<van-col span="12">
|
||||
<van-button :color="themeColor" plain block @click="doReview(false)">拒 绝
|
||||
</van-button>
|
||||
<van-button :color="themeColor" plain block @click="doReview(false)">拒 绝</van-button>
|
||||
</van-col>
|
||||
<van-col span="12">
|
||||
<van-button :color="themeColor" block @click="doReview(true)">通 过
|
||||
</van-button>
|
||||
<van-button :color="themeColor" block @click="doReview(true)">通 过</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
</club-user-apply-info>
|
||||
</van-popup>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -275,26 +227,26 @@ layout("/mobile/platform.html"){
|
||||
clubOptions: [],
|
||||
userTypeOptions: [],
|
||||
auditOptions: [
|
||||
{text: '全部', value: 1},
|
||||
{text: '已审核', value: 2},
|
||||
{text: '未审核', value: 3},
|
||||
{ text: "全部", value: 1 },
|
||||
{ text: "已审核", value: 2 },
|
||||
{ text: "未审核", value: 3 }
|
||||
],
|
||||
pageForm: {
|
||||
radioType: 3
|
||||
},
|
||||
infoShow: false,
|
||||
formData: {},
|
||||
formData: {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'club-user-apply-info': httpVueLoader('/components/mobile/club/mobileClubUserApplyInfo.vue?v=1.0.1'),
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
"club-user-apply-info": httpVueLoader("/components/mobile/club/mobileClubUserApplyInfo.vue?v=1.0.1"),
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue")
|
||||
},
|
||||
methods: {
|
||||
openAudit(row) {
|
||||
this.formData = {
|
||||
id: row.id,
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
auditTime: moment().format("YYYY-MM-DD"),
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditOpinion: null,
|
||||
auditSign: ""
|
||||
@@ -314,11 +266,11 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async doReview(flag) {
|
||||
if (!this.formData.auditOpinion) {
|
||||
vant.Toast('请填写审核意见');
|
||||
vant.Toast("请填写审核意见")
|
||||
return
|
||||
}
|
||||
if (this.$refs.signature.checkNull()) {
|
||||
vant.Toast('请签字')
|
||||
vant.Toast("请签字")
|
||||
return
|
||||
}
|
||||
this.$refs.signature.submitSign()
|
||||
@@ -338,7 +290,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async onLoad() {
|
||||
this.loading = true
|
||||
$.post('/platform/sys/club/sh/pageData', this.pageForm).then(res => {
|
||||
$.post("/platform/sys/club/sh/pageData", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -351,21 +303,21 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
},
|
||||
async getMyMangeClub() {
|
||||
const {data} = await $.get("/platform/sys/club/users/getMyMangeClub")
|
||||
const { data } = await $.get("/platform/sys/club/users/getMyMangeClub")
|
||||
return data
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
const data = await this.getMyMangeClub()
|
||||
data.forEach(item => {
|
||||
this.clubOptions.push({text: item.name, value: item.id})
|
||||
data.forEach((item) => {
|
||||
this.clubOptions.push({ text: item.name, value: item.id })
|
||||
})
|
||||
this.clubOptions.unshift({text: '全部社团'})
|
||||
const userType = await getDictOptions('UserType')
|
||||
userType.forEach(item => {
|
||||
this.userTypeOptions.push({text: item.name, value: item.code})
|
||||
this.clubOptions.unshift({ text: "全部社团" })
|
||||
const userType = await getDictOptions("UserType")
|
||||
userType.forEach((item) => {
|
||||
this.userTypeOptions.push({ text: item.name, value: item.code })
|
||||
})
|
||||
this.userTypeOptions.unshift({text: '人员类型'})
|
||||
this.userTypeOptions.unshift({ text: "人员类型" })
|
||||
this.onLoad()
|
||||
}
|
||||
})
|
||||
|
||||
@@ -3,7 +3,6 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.van-index-bar__sidebar {
|
||||
display: none;
|
||||
}
|
||||
@@ -69,7 +68,8 @@ layout("/mobile/platform.html"){
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.van-cell__title, .van-cell__value{
|
||||
.van-cell__title,
|
||||
.van-cell__value {
|
||||
flex: none;
|
||||
}
|
||||
|
||||
@@ -97,52 +97,35 @@ layout("/mobile/platform.html"){
|
||||
background-color: #0e78c5;
|
||||
color: white;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<m-page-loading v-if="mLoading"></m-page-loading>
|
||||
|
||||
<!--top栏-->
|
||||
<van-nav-bar
|
||||
title="加入社团"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="history.go(-1)"
|
||||
safe-area-inset-top
|
||||
></van-nav-bar>
|
||||
<van-nav-bar title="加入社团" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')" safe-area-inset-top></van-nav-bar>
|
||||
|
||||
<!--筛选框-->
|
||||
<div class="search-fixed">
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyword"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入社团名称进行查询"
|
||||
>
|
||||
</van-search>
|
||||
v-model="pageForm.searchKeyword"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入社团名称进行查询"
|
||||
></van-search>
|
||||
|
||||
<van-dropdown-menu>
|
||||
<van-dropdown-item v-model="pageForm.isjr" :options="clubType"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.clubType" :options="typeOptions"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.isjr" :options="clubType" @change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.clubType" :options="typeOptions" @change="doSearch"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<!--列表-->
|
||||
<div style="margin-top: 116px">
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:finished="finished" :immediate-check="false" @load="onLoad"
|
||||
:finished-text="tableData.length>0?'没有更多了':''">
|
||||
|
||||
<van-list v-model="loading" :finished="finished" :immediate-check="false" @load="onLoad" :finished-text="tableData.length>0?'没有更多了':''">
|
||||
<div class="van-doc-card" v-for="o in tableData">
|
||||
<div>
|
||||
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 74%">
|
||||
<div class="van-ellipsis title">
|
||||
@@ -151,7 +134,7 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<div style="color: grey">{{o.location}}</div>
|
||||
</div>
|
||||
<div style="color: #1867b0; white-space: nowrap;">
|
||||
<div style="color: #1867b0; white-space: nowrap">
|
||||
<span v-if="o.status==1">待社团审核</span>
|
||||
<span v-if="o.status==2" style="color: red">社团拒绝</span>
|
||||
<span v-if="o.status==3">待校工会审核</span>
|
||||
@@ -162,14 +145,20 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div style="margin-top: 4px">
|
||||
<van-row>
|
||||
<van-col span="12"><span style="color: grey">联 系 人:</span>{{o.fzrname}}</van-col>
|
||||
<van-col span="12">
|
||||
<span style="color: grey">联 系 人:</span>
|
||||
{{o.fzrname}}
|
||||
</van-col>
|
||||
<van-col span="12">
|
||||
<span style="color: grey">电  话:</span>
|
||||
<span>{{o.fzr_mobile}}</span>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="12"><span style="color: grey">会  长:</span>{{o.hz}}</van-col>
|
||||
<van-col span="12">
|
||||
<span style="color: grey">会  长:</span>
|
||||
{{o.hz}}
|
||||
</van-col>
|
||||
<van-col span="12">
|
||||
<span style="color: grey">成立时间:</span>
|
||||
<span>{{moment(o.foundTime).format('YYYY-MM-DD')}}</span>
|
||||
@@ -181,17 +170,27 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div style="display: flex; justify-content: flex-end">
|
||||
<div>
|
||||
<van-button @click="openInfo(o, 'view')" color="#1867b0"
|
||||
size="small" style="margin-right: 8px" type="primary">
|
||||
<van-button @click="openInfo(o, 'view')" color="#1867b0" size="small" style="margin-right: 8px" type="primary">
|
||||
查看
|
||||
</van-button>
|
||||
<van-button @click="rollback(o)" color="#1867b0"
|
||||
size="small" style="margin-right: 8px" type="primary"
|
||||
v-if="pageForm.isjr === true && (o.status==1 || o.status==3)">撤销申请
|
||||
<van-button
|
||||
@click="rollback(o)"
|
||||
color="#1867b0"
|
||||
size="small"
|
||||
style="margin-right: 8px"
|
||||
type="primary"
|
||||
v-if="pageForm.isjr === true && (o.status==1 || o.status==3)"
|
||||
>
|
||||
撤销申请
|
||||
</van-button>
|
||||
<van-button @click="openInfo(o, 'join')"
|
||||
color="#1867b0" v-if="pageForm.isjr === false"
|
||||
size="small" style="margin-right: 8px" type="primary">
|
||||
<van-button
|
||||
@click="openInfo(o, 'join')"
|
||||
color="#1867b0"
|
||||
v-if="pageForm.isjr === false"
|
||||
size="small"
|
||||
style="margin-right: 8px"
|
||||
type="primary"
|
||||
>
|
||||
我要加入
|
||||
</van-button>
|
||||
</div>
|
||||
@@ -199,22 +198,11 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty
|
||||
v-if="mLoading==false&&tableData.length==0"
|
||||
class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据"
|
||||
></van-empty>
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<van-popup v-model="infoShow" get-container="#app" position="right" :style="{ height: '100%', width: '100%' }">
|
||||
<van-nav-bar
|
||||
title="社团详细信息"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="infoShow = false"
|
||||
safe-area-inset-top></van-nav-bar>
|
||||
<van-nav-bar title="社团详细信息" left-arrow placeholder fixed @click-left="infoShow = false" safe-area-inset-top></van-nav-bar>
|
||||
<van-tabs v-model="infoActive">
|
||||
<van-tab title="社团信息">
|
||||
<van-cell-group inset>
|
||||
@@ -237,50 +225,130 @@ layout("/mobile/platform.html"){
|
||||
<van-tab v-if="viewType === 'join'" title="个人信息">
|
||||
<van-form @submit="needJoin" ref="form" :show-error-message="false">
|
||||
<van-cell-group inset class="mt10">
|
||||
<van-field readonly v-model="formData.username" name="username"
|
||||
label="姓名" :rules="[{ required: true }]"></van-field>
|
||||
<van-field readonly v-model="formData.sex" name="sex"
|
||||
label="性别" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.birthday" name="birthday" required
|
||||
@click="showPicker = true"
|
||||
placeholder="请填写出生年月" label="出生年月" :rules="[{ required: true }]">
|
||||
</van-field>
|
||||
<van-field readonly v-model="formData.username" name="username" label="姓名" :rules="[{ required: true }]"></van-field>
|
||||
<van-field readonly v-model="formData.sex" name="sex" label="性别" :rules="[{ required: true }]"></van-field>
|
||||
<van-field
|
||||
v-model="formData.birthday"
|
||||
name="birthday"
|
||||
required
|
||||
@click="showPicker = true"
|
||||
placeholder="请填写出生年月"
|
||||
label="出生年月"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-popup v-model="showPicker" position="bottom">
|
||||
<van-datetime-picker
|
||||
type="date"
|
||||
title="选择年月日"
|
||||
@confirm="(val) => {formData.birthday = moment(val).format('YYYY-MM-DD'); showPicker = false}"
|
||||
@cancel="showPicker = false"
|
||||
type="date"
|
||||
title="选择年月日"
|
||||
@confirm="(val) => {formData.birthday = moment(val).format('YYYY-MM-DD'); showPicker = false}"
|
||||
@cancel="showPicker = false"
|
||||
></van-datetime-picker>
|
||||
</van-popup>
|
||||
<van-field v-model="formData.birthPlace" name="birthPlace" required
|
||||
placeholder="请填写出生地" label="出生地" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.education" name="education" required
|
||||
placeholder="请填写文化程度" label="文化程度" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.hobby" name="hobby" required
|
||||
placeholder="请填写爱好" label="爱好" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.unitName" name="unitName" required
|
||||
readonly label="工作部门" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.position" name="position" required
|
||||
placeholder="请填写职务" label="职务" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.mobile" name="mobile" required
|
||||
placeholder="请填写电话" label="电话" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.email" name="email" required
|
||||
placeholder="请填写电子邮箱" label="电子邮箱" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.homeAddress" name="homeAddress" required
|
||||
placeholder="请填写家庭住址" label="家庭住址" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.QQNumber" name="QQNumber" required
|
||||
placeholder="请填写QQ" label="QQ" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.bodyHeight" name="bodyHeight" required
|
||||
placeholder="请填写身高" label="身高" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.bodyWeight" name="bodyWeight" required
|
||||
placeholder="请填写体重" label="体重" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.health" name="health" required
|
||||
placeholder="请填写身体状况" label="身体状况" :rules="[{ required: true }]"></van-field>
|
||||
<van-field v-model="formData.sport" name="sport" required
|
||||
placeholder="请填写经常从事的运动" label="经常从事的运动" :rules="[{ required: true }]"></van-field>
|
||||
<van-field name="medicalHistory" required
|
||||
placeholder="是否有过特殊病史" label="是否有过特殊病史">
|
||||
<van-field
|
||||
v-model="formData.birthPlace"
|
||||
name="birthPlace"
|
||||
required
|
||||
placeholder="请填写出生地"
|
||||
label="出生地"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.education"
|
||||
name="education"
|
||||
required
|
||||
placeholder="请填写文化程度"
|
||||
label="文化程度"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.hobby"
|
||||
name="hobby"
|
||||
required
|
||||
placeholder="请填写爱好"
|
||||
label="爱好"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.unitName"
|
||||
name="unitName"
|
||||
required
|
||||
readonly
|
||||
label="工作部门"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.position"
|
||||
name="position"
|
||||
required
|
||||
placeholder="请填写职务"
|
||||
label="职务"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.mobile"
|
||||
name="mobile"
|
||||
required
|
||||
placeholder="请填写电话"
|
||||
label="电话"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.email"
|
||||
name="email"
|
||||
required
|
||||
placeholder="请填写电子邮箱"
|
||||
label="电子邮箱"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.homeAddress"
|
||||
name="homeAddress"
|
||||
required
|
||||
placeholder="请填写家庭住址"
|
||||
label="家庭住址"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.QQNumber"
|
||||
name="QQNumber"
|
||||
required
|
||||
placeholder="请填写QQ"
|
||||
label="QQ"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.bodyHeight"
|
||||
name="bodyHeight"
|
||||
required
|
||||
placeholder="请填写身高"
|
||||
label="身高"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.bodyWeight"
|
||||
name="bodyWeight"
|
||||
required
|
||||
placeholder="请填写体重"
|
||||
label="体重"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.health"
|
||||
name="health"
|
||||
required
|
||||
placeholder="请填写身体状况"
|
||||
label="身体状况"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.sport"
|
||||
name="sport"
|
||||
required
|
||||
placeholder="请填写经常从事的运动"
|
||||
label="经常从事的运动"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field name="medicalHistory" required placeholder="是否有过特殊病史" label="是否有过特殊病史">
|
||||
<template #input>
|
||||
<van-radio-group v-model="formData.medicalHistory" direction="horizontal">
|
||||
<van-radio :name="true">是</van-radio>
|
||||
@@ -288,8 +356,7 @@ layout("/mobile/platform.html"){
|
||||
</van-radio-group>
|
||||
</template>
|
||||
</van-field>
|
||||
<van-field name="joinActivity" required
|
||||
placeholder="是否愿意参加本协会的活动" label="是否愿意参加本协会的活动">
|
||||
<van-field name="joinActivity" required placeholder="是否愿意参加本协会的活动" label="是否愿意参加本协会的活动">
|
||||
<template #input>
|
||||
<van-radio-group v-model="formData.joinActivity" direction="horizontal">
|
||||
<van-radio :name="true">是</van-radio>
|
||||
@@ -297,25 +364,30 @@ layout("/mobile/platform.html"){
|
||||
</van-radio-group>
|
||||
</template>
|
||||
</van-field>
|
||||
<van-field v-model="formData.otherThing" name="otherThing"
|
||||
rows="1"
|
||||
autosize
|
||||
type="textarea"
|
||||
placeholder="是否有特别需要说明的问题(身体或心理)" label="是否有特别需要说明的问题"></van-field>
|
||||
<van-field v-model="formData.remark" name="remark"
|
||||
rows="1"
|
||||
autosize
|
||||
type="textarea"
|
||||
placeholder="备注" label="备注"></van-field>
|
||||
<van-field name="photo" label="两寸登记照" required
|
||||
style="flex-flow: column" input-align="left">
|
||||
<van-field
|
||||
v-model="formData.otherThing"
|
||||
name="otherThing"
|
||||
rows="1"
|
||||
autosize
|
||||
type="textarea"
|
||||
placeholder="是否有特别需要说明的问题(身体或心理)"
|
||||
label="是否有特别需要说明的问题"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.remark"
|
||||
name="remark"
|
||||
rows="1"
|
||||
autosize
|
||||
type="textarea"
|
||||
placeholder="备注"
|
||||
label="备注"
|
||||
></van-field>
|
||||
<van-field name="photo" label="两寸登记照" required style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">两寸登记照</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<vant-file-upload
|
||||
:max="1"
|
||||
:files.sync="formData.photo"></vant-file-upload>
|
||||
<vant-file-upload :max="1" :files.sync="formData.photo"></vant-file-upload>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
@@ -326,12 +398,11 @@ layout("/mobile/platform.html"){
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
</van-popup>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -339,20 +410,23 @@ layout("/mobile/platform.html"){
|
||||
infoActive: 0,
|
||||
clickRow: {},
|
||||
typeOptions: [],
|
||||
clubType: [{text: '未加入', value: false}, {text: '已加入', value: true}],
|
||||
clubType: [
|
||||
{ text: "未加入", value: false },
|
||||
{ text: "已加入", value: true }
|
||||
],
|
||||
infoShow: false,
|
||||
detailData: {},
|
||||
viewType: '',
|
||||
viewType: ""
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
showCode(type) {
|
||||
if(type === 'QQ' && this.clickRow.qqgroupcode) {
|
||||
const ids = JSON.parse(this.clickRow.qqgroupcode).map(o => FILE_DOMAIN + '/fileStreamPreview?id=' + o.id)
|
||||
vant.ImagePreview({images: ids})
|
||||
} else if(type === 'weChat' && this.clickRow.wechatgroupcode) {
|
||||
const ids = JSON.parse(this.clickRow.wechatgroupcode).map(o => FILE_DOMAIN + '/fileStreamPreview?id=' + o.id)
|
||||
vant.ImagePreview({images: ids})
|
||||
if (type === "QQ" && this.clickRow.qqgroupcode) {
|
||||
const ids = JSON.parse(this.clickRow.qqgroupcode).map((o) => FILE_DOMAIN + "/fileStreamPreview?id=" + o.id)
|
||||
vant.ImagePreview({ images: ids })
|
||||
} else if (type === "weChat" && this.clickRow.wechatgroupcode) {
|
||||
const ids = JSON.parse(this.clickRow.wechatgroupcode).map((o) => FILE_DOMAIN + "/fileStreamPreview?id=" + o.id)
|
||||
vant.ImagePreview({ images: ids })
|
||||
}
|
||||
},
|
||||
doSearch() {
|
||||
@@ -363,7 +437,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async onLoad() {
|
||||
this.loading = true
|
||||
$.post('/platform/sys/club/sq/pageData', this.pageForm).then(res => {
|
||||
$.post("/platform/sys/club/sq/pageData", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -377,8 +451,8 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
openInfo(row, type) {
|
||||
this.viewType = type
|
||||
this.infoActive = type === 'view' ? 0 : 1
|
||||
if(type === 'join') {
|
||||
this.infoActive = type === "view" ? 0 : 1
|
||||
if (type === "join") {
|
||||
this.formData = {
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
sex: "${@shiro.getPrincipalProperty('sex')}",
|
||||
@@ -390,80 +464,97 @@ layout("/mobile/platform.html"){
|
||||
position: "${@shiro.getPrincipalProperty('position')}",
|
||||
mobile: "${@shiro.getPrincipalProperty('mobile')}",
|
||||
email: "${@shiro.getPrincipalProperty('email')}",
|
||||
homeAddress: "${@shiro.getPrincipalProperty('homeAddress')}",
|
||||
homeAddress: "${@shiro.getPrincipalProperty('homeAddress')}"
|
||||
}
|
||||
}
|
||||
this.clickRow = row
|
||||
$.get("/platform/sys/club/mange/findOne", {id: row.id}, (data) => {
|
||||
if (data.code === 0) {
|
||||
this.detailData = data.data
|
||||
this.infoShow = true
|
||||
}
|
||||
}, "json");
|
||||
$.get(
|
||||
"/platform/sys/club/mange/findOne",
|
||||
{ id: row.id },
|
||||
(data) => {
|
||||
if (data.code === 0) {
|
||||
this.detailData = data.data
|
||||
this.infoShow = true
|
||||
}
|
||||
},
|
||||
"json"
|
||||
)
|
||||
},
|
||||
async needJoin() {
|
||||
const row = this.clickRow
|
||||
if(this.formData.medicalHistory === '' || this.formData.medicalHistory === undefined || this.formData.medicalHistory === null) {
|
||||
vant.Toast('请选择是否有过特殊病史')
|
||||
if (this.formData.medicalHistory === "" || this.formData.medicalHistory === undefined || this.formData.medicalHistory === null) {
|
||||
vant.Toast("请选择是否有过特殊病史")
|
||||
return
|
||||
}
|
||||
if(this.formData.joinActivity === '' || this.formData.joinActivity === undefined || this.formData.joinActivity === null) {
|
||||
vant.Toast('请选择是否愿意参加本协会的活动')
|
||||
if (this.formData.joinActivity === "" || this.formData.joinActivity === undefined || this.formData.joinActivity === null) {
|
||||
vant.Toast("请选择是否愿意参加本协会的活动")
|
||||
return
|
||||
}
|
||||
if(this.formData.photo === '' || this.formData.photo === undefined || this.formData.photo === null) {
|
||||
vant.Toast('请上传两寸登记照')
|
||||
if (this.formData.photo === "" || this.formData.photo === undefined || this.formData.photo === null) {
|
||||
vant.Toast("请上传两寸登记照")
|
||||
return
|
||||
}
|
||||
const {code, data} = await $.post('/platform/sys/club/sq/getInClubByCurUser')
|
||||
let str = ''
|
||||
const { code, data } = await $.post("/platform/sys/club/sq/getInClubByCurUser")
|
||||
let str = ""
|
||||
if (data && data.length > 0) {
|
||||
str = '您已经加入了'
|
||||
str = "您已经加入了"
|
||||
data.forEach((item) => {
|
||||
str += '【' + item.name + '】'
|
||||
str += "【" + item.name + "】"
|
||||
})
|
||||
str += ','
|
||||
str += ","
|
||||
}
|
||||
str += '请确认是否申请加入【' + row.name + '】?'
|
||||
vant.Dialog.confirm({title: '提示', message: str,}).then(() => {
|
||||
this.formData.clubid = row.id
|
||||
this.formData.photo = this.formData.photo[0].filepath
|
||||
$.post("/platform/sys/club/sq/submit", this.formData, (data) => {
|
||||
if (data.code === 0) {
|
||||
vant.Toast(data.msg)
|
||||
this.doSearch()
|
||||
this.infoShow = false
|
||||
} else {
|
||||
vant.Toast(data.msg)
|
||||
}
|
||||
}, "json");
|
||||
}).catch(() => {
|
||||
});
|
||||
str += "请确认是否申请加入【" + row.name + "】?"
|
||||
vant.Dialog.confirm({ title: "提示", message: str })
|
||||
.then(() => {
|
||||
this.formData.clubid = row.id
|
||||
this.formData.photo = this.formData.photo[0].filepath
|
||||
$.post(
|
||||
"/platform/sys/club/sq/submit",
|
||||
this.formData,
|
||||
(data) => {
|
||||
if (data.code === 0) {
|
||||
vant.Toast(data.msg)
|
||||
this.doSearch()
|
||||
this.infoShow = false
|
||||
} else {
|
||||
vant.Toast(data.msg)
|
||||
}
|
||||
},
|
||||
"json"
|
||||
)
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
rollback(o) {
|
||||
vant.Dialog.confirm({title: '提示', message: '请确定是否撤销申请?',}).then(() => {
|
||||
const id = o.id
|
||||
$.post("/platform/sys/club/sq/revocation", {id}, (data) => {
|
||||
if (data.code === 0) {
|
||||
vant.Toast('撤销申请成功');
|
||||
this.doSearch();
|
||||
} else {
|
||||
vant.Toast(data.msg);
|
||||
}
|
||||
}, "json");
|
||||
}).catch(() => {
|
||||
});
|
||||
vant.Dialog.confirm({ title: "提示", message: "请确定是否撤销申请?" })
|
||||
.then(() => {
|
||||
const id = o.id
|
||||
$.post(
|
||||
"/platform/sys/club/sq/revocation",
|
||||
{ id },
|
||||
(data) => {
|
||||
if (data.code === 0) {
|
||||
vant.Toast("撤销申请成功")
|
||||
this.doSearch()
|
||||
} else {
|
||||
vant.Toast(data.msg)
|
||||
}
|
||||
},
|
||||
"json"
|
||||
)
|
||||
})
|
||||
.catch(() => {})
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
const data = await getClubType()
|
||||
data.forEach(item => {
|
||||
this.typeOptions.push({text: item.name, value: item.code})
|
||||
data.forEach((item) => {
|
||||
this.typeOptions.push({ text: item.name, value: item.code })
|
||||
})
|
||||
this.typeOptions.unshift({text: '全部类型'})
|
||||
this.typeOptions.unshift({ text: "全部类型" })
|
||||
this.$set(this.pageForm, "clubType", this.typeOptions[0].value)
|
||||
this.$set(this.pageForm, "isjr", this.clubType[0].value)
|
||||
this.pageForm.searchName = 'club.name'
|
||||
this.pageForm.searchName = "club.name"
|
||||
this.onLoad()
|
||||
}
|
||||
})
|
||||
|
||||
@@ -3,7 +3,6 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.van-index-bar__sidebar {
|
||||
display: none;
|
||||
}
|
||||
@@ -83,51 +82,34 @@ layout("/mobile/platform.html"){
|
||||
.userPopup .van-cell {
|
||||
padding: 10px 0px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<m-page-loading v-if="mLoading"></m-page-loading>
|
||||
|
||||
<!--top栏-->
|
||||
<van-nav-bar
|
||||
@click-left="history.go(-1)"
|
||||
fixed
|
||||
left-arrow
|
||||
placeholder
|
||||
safe-area-inset-top
|
||||
title="校工会审核"
|
||||
></van-nav-bar>
|
||||
<van-nav-bar @click-left="pjaxReplace('/mobile/index')" fixed left-arrow placeholder safe-area-inset-top title="校工会审核"></van-nav-bar>
|
||||
|
||||
<!--筛选框-->
|
||||
<div class="search-fixed">
|
||||
<van-search
|
||||
@search="doSearch"
|
||||
maxlength="10"
|
||||
placeholder="请输入社团名称进行查询"
|
||||
shape="round"
|
||||
v-model="pageForm.searchKeyword"
|
||||
>
|
||||
</van-search>
|
||||
@search="doSearch"
|
||||
maxlength="10"
|
||||
placeholder="请输入社团名称进行查询"
|
||||
shape="round"
|
||||
v-model="pageForm.searchKeyword"
|
||||
></van-search>
|
||||
|
||||
<van-dropdown-menu>
|
||||
<van-dropdown-item :options="typeOptions" @change="doSearch"
|
||||
v-model="pageForm.clubType"></van-dropdown-item>
|
||||
<van-dropdown-item :options="typeOptions" @change="doSearch" v-model="pageForm.clubType"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<!--列表-->
|
||||
<div style="margin-top: 116px">
|
||||
<van-list
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''" :immediate-check="false" @load="onLoad"
|
||||
v-model="loading"
|
||||
>
|
||||
|
||||
<van-list :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" :immediate-check="false" @load="onLoad" v-model="loading">
|
||||
<div class="van-doc-card" v-for="o in tableData">
|
||||
<div @click="openView(o.id)">
|
||||
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 74%">
|
||||
<div class="van-ellipsis title">
|
||||
@@ -147,19 +129,34 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div style="margin-top: 4px">
|
||||
<van-row>
|
||||
<van-col span="12"><span style="color: grey">联 系 人:</span>{{o.fzrname}}</van-col>
|
||||
<van-col span="12"><span style="color: grey">电  话:</span>{{o.fzr_mobile}}
|
||||
<van-col span="12">
|
||||
<span style="color: grey">联 系 人:</span>
|
||||
{{o.fzrname}}
|
||||
</van-col>
|
||||
<van-col span="12">
|
||||
<span style="color: grey">电  话:</span>
|
||||
{{o.fzr_mobile}}
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="12"><span style="color: grey">限定人数:</span>{{o.number}}人</van-col>
|
||||
<van-col span="12"><span style="color: grey">当前人数:</span>{{o.people_num}}</van-col>
|
||||
<van-col span="12">
|
||||
<span style="color: grey">限定人数:</span>
|
||||
{{o.number}}人
|
||||
</van-col>
|
||||
<van-col span="12">
|
||||
<span style="color: grey">当前人数:</span>
|
||||
{{o.people_num}}
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col class="cus_overflow" span="24">
|
||||
<span style="color: grey">介绍链接:</span>
|
||||
<span @click.stop="window.open(o.introduce_href.indexOf('http') !== -1 ? o.introduce_href : 'https://' + o.introduce_href)"
|
||||
style="color: #236eb4">{{o.introduce_href}}</span>
|
||||
<span
|
||||
@click.stop="window.open(o.introduce_href.indexOf('http') !== -1 ? o.introduce_href : 'https://' + o.introduce_href)"
|
||||
style="color: #236eb4"
|
||||
>
|
||||
{{o.introduce_href}}
|
||||
</span>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
@@ -168,25 +165,32 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div style="display: flex; justify-content: flex-end">
|
||||
<div>
|
||||
<van-button @click.stop="getAuditList(o)" class="cus_button"
|
||||
color="#1867b0" size="small" style="margin-right: 8px; width: auto;"
|
||||
type="primary">已审{{o.has_audit}}
|
||||
<van-button
|
||||
@click.stop="getAuditList(o)"
|
||||
class="cus_button"
|
||||
color="#1867b0"
|
||||
size="small"
|
||||
style="margin-right: 8px; width: auto"
|
||||
type="primary"
|
||||
>
|
||||
已审{{o.has_audit}}
|
||||
</van-button>
|
||||
<van-button @click.stop="openView(o)" class="cus_button"
|
||||
color="#1867b0" size="small" style="margin-right: 8px; width: auto;"
|
||||
type="primary">未审{{o.no_audit}}
|
||||
<van-button
|
||||
@click.stop="openView(o)"
|
||||
class="cus_button"
|
||||
color="#1867b0"
|
||||
size="small"
|
||||
style="margin-right: 8px; width: auto"
|
||||
type="primary"
|
||||
>
|
||||
未审{{o.no_audit}}
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty
|
||||
class="custom-image"
|
||||
description="暂无数据"
|
||||
image="/none.svg"
|
||||
v-if="mLoading==false&&tableData.length==0"
|
||||
></van-empty>
|
||||
<van-empty class="custom-image" description="暂无数据" image="/none.svg" v-if="mLoading==false&&tableData.length==0"></van-empty>
|
||||
</div>
|
||||
|
||||
<!--审核人员-->
|
||||
@@ -196,35 +200,50 @@ layout("/mobile/platform.html"){
|
||||
<div style="display: flex; justify-content: space-between; margin-bottom: 10px">
|
||||
<div v-if="queryType === 'notAudit'">
|
||||
<van-tag @click="checkAll()" plain size="large" type="primary">全选</van-tag>
|
||||
<van-tag @click="toggleAll()" plain size="large" style="margin-left: 6px" type="primary">反选
|
||||
</van-tag>
|
||||
<van-tag @click="toggleAll()" plain size="large" style="margin-left: 6px" type="primary">反选</van-tag>
|
||||
</div>
|
||||
</div>
|
||||
<van-checkbox-group ref="checkboxGroup" v-if="userList !== null" v-model="result">
|
||||
<van-cell-group>
|
||||
<van-cell
|
||||
:key="obj.id"
|
||||
@click="toggle(index)" class="cus_cell"
|
||||
clickable
|
||||
v-for="(obj, index) in userList">
|
||||
|
||||
<div><span style="color: grey">姓  名:</span>{{obj.username}}</div>
|
||||
<div><span style="color: grey">工  号:</span>{{obj.loginname}}</div>
|
||||
<div><span style="color: grey">单  位:</span>{{obj.unitname}}</div>
|
||||
<div><span style="color: grey">性  别:</span>{{obj.sex}}</div>
|
||||
<div><span style="color: grey">联系方式:</span>{{obj.mobile}}</div>
|
||||
<van-cell :key="obj.id" @click="toggle(index)" class="cus_cell" clickable v-for="(obj, index) in userList">
|
||||
<div>
|
||||
<span style="color: grey">姓  名:</span>
|
||||
{{obj.username}}
|
||||
</div>
|
||||
<div>
|
||||
<span style="color: grey">工  号:</span>
|
||||
{{obj.loginname}}
|
||||
</div>
|
||||
<div>
|
||||
<span style="color: grey">单  位:</span>
|
||||
{{obj.unitname}}
|
||||
</div>
|
||||
<div>
|
||||
<span style="color: grey">性  别:</span>
|
||||
{{obj.sex}}
|
||||
</div>
|
||||
<div>
|
||||
<span style="color: grey">联系方式:</span>
|
||||
{{obj.mobile}}
|
||||
</div>
|
||||
<!--<span style="display: inline-block; width: 86px">{{obj.username}}</span>
|
||||
<span class="unit">{{obj.unitname}}</span>
|
||||
<br/>
|
||||
<span style="display: inline-block; width: 85px">{{obj.sex}}</span>
|
||||
<span style="display: inline-block; width: 106px">13296575967</span>
|
||||
<span style="display: inline-block;">{{obj.loginname}}</span>-->
|
||||
<van-icon class="audit_icon" color="green"
|
||||
name="passed"
|
||||
v-if="queryType === 'hasAudit' && obj.auditstate === true"></van-icon>
|
||||
<van-icon class="audit_icon" color="grey"
|
||||
name="close"
|
||||
v-if="queryType === 'hasAudit' && obj.auditstate === false"></van-icon>
|
||||
<van-icon
|
||||
class="audit_icon"
|
||||
color="green"
|
||||
name="passed"
|
||||
v-if="queryType === 'hasAudit' && obj.auditstate === true"
|
||||
></van-icon>
|
||||
<van-icon
|
||||
class="audit_icon"
|
||||
color="grey"
|
||||
name="close"
|
||||
v-if="queryType === 'hasAudit' && obj.auditstate === false"
|
||||
></van-icon>
|
||||
<template #right-icon v-if="queryType === 'notAudit'">
|
||||
<van-checkbox :name="obj.id" ref="checkboxes"></van-checkbox>
|
||||
</template>
|
||||
@@ -232,22 +251,15 @@ layout("/mobile/platform.html"){
|
||||
</van-cell-group>
|
||||
</van-checkbox-group>
|
||||
<div style="margin-top: 4px; text-align: center" v-else>暂无申请人员</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div style="display: flex; justify-content: space-evenly; position: fixed; bottom: 56px; width: 95%"
|
||||
v-if="queryType === 'notAudit'">
|
||||
<van-button @click="audit('many', 'reject')" color="#ff976a" size="small" style="height: 38px">驳回
|
||||
</van-button>
|
||||
<van-button @click="audit('many', 'pass')" color="#1867b0" size="small" style="height: 38px">通过
|
||||
</van-button>
|
||||
<div style="display: flex; justify-content: space-evenly; position: fixed; bottom: 56px; width: 95%" v-if="queryType === 'notAudit'">
|
||||
<van-button @click="audit('many', 'reject')" color="#ff976a" size="small" style="height: 38px">驳回</van-button>
|
||||
<van-button @click="audit('many', 'pass')" color="#1867b0" size="small" style="height: 38px">通过</van-button>
|
||||
</div>
|
||||
<div style="display: flex; justify-content: space-evenly; position: fixed; bottom: 10px; width: 95%"
|
||||
v-if="queryType === 'notAudit'">
|
||||
<van-button @click="audit('all', 'reject')" color="#ff976a" size="small" style="height: 38px">一键全部驳回
|
||||
</van-button>
|
||||
<van-button @click="audit('all', 'pass')" color="#1867b0" size="small" style="height: 38px">一键全部通过
|
||||
</van-button>
|
||||
<div style="display: flex; justify-content: space-evenly; position: fixed; bottom: 10px; width: 95%" v-if="queryType === 'notAudit'">
|
||||
<van-button @click="audit('all', 'reject')" color="#ff976a" size="small" style="height: 38px">一键全部驳回</van-button>
|
||||
<van-button @click="audit('all', 'pass')" color="#1867b0" size="small" style="height: 38px">一键全部通过</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</van-action-sheet>
|
||||
@@ -255,65 +267,66 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
queryType: '',
|
||||
queryType: "",
|
||||
result: [],
|
||||
userList: [],
|
||||
userShow: false,
|
||||
clickRow: {},
|
||||
typeOptions: [],
|
||||
typeOptions: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async audit(type, auditType) {
|
||||
if (type === 'many' && this.result.length === 0) {
|
||||
vant.Toast('请先选择人员')
|
||||
if (type === "many" && this.result.length === 0) {
|
||||
vant.Toast("请先选择人员")
|
||||
return
|
||||
}
|
||||
const str = type === 'many' ? '您选择了' + this.result.length + '个人,请确认您的选择!' : '您确定要一键全部审核吗?'
|
||||
vant.Dialog.confirm({title: '提示', message: str,}).then(async () => {
|
||||
let idList = this.result
|
||||
if (type === 'all') {
|
||||
idList = this.userList.map(o => o.id)
|
||||
}
|
||||
const resp = await $.post('/platform/sys/club/sh/check', {
|
||||
ids: JSON.stringify(idList),
|
||||
flag: auditType === 'pass',
|
||||
type: 2,
|
||||
const str = type === "many" ? "您选择了" + this.result.length + "个人,请确认您的选择!" : "您确定要一键全部审核吗?"
|
||||
vant.Dialog.confirm({ title: "提示", message: str })
|
||||
.then(async () => {
|
||||
let idList = this.result
|
||||
if (type === "all") {
|
||||
idList = this.userList.map((o) => o.id)
|
||||
}
|
||||
const resp = await $.post("/platform/sys/club/sh/check", {
|
||||
ids: JSON.stringify(idList),
|
||||
flag: auditType === "pass",
|
||||
type: 2
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
this.doSearch()
|
||||
}
|
||||
vant.Toast(resp.msg)
|
||||
this.userShow = false
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
this.doSearch()
|
||||
}
|
||||
vant.Toast(resp.msg)
|
||||
this.userShow = false
|
||||
}).catch(() => {
|
||||
});
|
||||
.catch(() => {})
|
||||
},
|
||||
checkAll() {
|
||||
this.$refs.checkboxGroup.children.forEach(item => item.toggle(true))
|
||||
this.$refs.checkboxGroup.children.forEach((item) => item.toggle(true))
|
||||
},
|
||||
toggleAll() {
|
||||
this.$refs.checkboxGroup.children.forEach(item => item.toggle())
|
||||
this.$refs.checkboxGroup.children.forEach((item) => item.toggle())
|
||||
},
|
||||
toggle(index) {
|
||||
this.$refs.checkboxes[index].toggle();
|
||||
this.$refs.checkboxes[index].toggle()
|
||||
},
|
||||
popClose() {
|
||||
this.$nextTick(function () {
|
||||
if (this.$refs.checkboxes !== undefined) {
|
||||
this.$refs.checkboxes.forEach(item => item.toggle(false));
|
||||
this.$refs.checkboxes.forEach((item) => item.toggle(false))
|
||||
}
|
||||
})
|
||||
},
|
||||
async getAuditList(o) {
|
||||
this.queryType = 'hasAudit'
|
||||
const resp = await $.post('/platform/sys/club/sh/getClubUser', {
|
||||
this.queryType = "hasAudit"
|
||||
const resp = await $.post("/platform/sys/club/sh/getClubUser", {
|
||||
id: o.id,
|
||||
auditType: 'hasAudit',
|
||||
type: 2,
|
||||
auditType: "hasAudit",
|
||||
type: 2
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
this.userList = resp.data
|
||||
@@ -324,24 +337,24 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
async openView(o) {
|
||||
this.queryType = 'notAudit'
|
||||
this.queryType = "notAudit"
|
||||
this.userList = []
|
||||
const resp = await $.post('/platform/sys/club/sh/getClubUser', {
|
||||
const resp = await $.post("/platform/sys/club/sh/getClubUser", {
|
||||
id: o.id,
|
||||
auditType: 'notAudit',
|
||||
type: 2,
|
||||
auditType: "notAudit",
|
||||
type: 2
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
this.userList = resp.data
|
||||
this.userClickList = []
|
||||
if (this.userList.length === 0) {
|
||||
vant.Toast('暂无申请人员')
|
||||
vant.Toast("暂无申请人员")
|
||||
} else {
|
||||
this.userShow = true
|
||||
}
|
||||
return
|
||||
}
|
||||
vant.Toast('系统错误,请联系管理员')
|
||||
vant.Toast("系统错误,请联系管理员")
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
@@ -352,7 +365,7 @@ layout("/mobile/platform.html"){
|
||||
async onLoad() {
|
||||
this.loading = true
|
||||
this.pageForm.type = 2
|
||||
$.post('/platform/sys/club/sh/getMyClub', this.pageForm).then(res => {
|
||||
$.post("/platform/sys/club/sh/getMyClub", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -363,14 +376,14 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
const data = await getClubType()
|
||||
data.forEach(item => {
|
||||
this.typeOptions.push({text: item.name, value: item.code})
|
||||
data.forEach((item) => {
|
||||
this.typeOptions.push({ text: item.name, value: item.code })
|
||||
})
|
||||
this.typeOptions.unshift({text: '全部类型'})
|
||||
this.typeOptions.unshift({ text: "全部类型" })
|
||||
this.$set(this.pageForm, "clubType", this.typeOptions[0].value)
|
||||
this.onLoad()
|
||||
}
|
||||
|
||||
@@ -3,149 +3,208 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="填写慰问申请" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="填写慰问申请" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-form ref="addForm" :show-error-message="false" input-align="right" style="margin-bottom: 60px">
|
||||
<van-cell-group inset class="mt10">
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('username')}" name="manager_name"
|
||||
label="经办人姓名"></van-field>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('loginname')}" name="manager_name"
|
||||
label="经办人工号"></van-field>
|
||||
<van-field @input="userRemoteMethod" name="be_user_name"
|
||||
required
|
||||
v-model="formData.be_user_name" label="慰问对象" placeholder="请输入慰问对象"
|
||||
:rules="[{ required: true, message: '请填写慰问对象' }]"></van-field>
|
||||
<van-action-sheet v-model="sheetShow"
|
||||
:actions="userList"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
@cancel="userList = []; formData.be_user_name = ''"
|
||||
:close-on-click-overlay="false"
|
||||
@select="onUserSelect">
|
||||
</van-action-sheet>
|
||||
|
||||
<van-field readonly :value="formData.apply_time" name="apply_time"
|
||||
label="申请时间"
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('username')}" name="manager_name" label="经办人姓名"></van-field>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('loginname')}" name="manager_name" label="经办人工号"></van-field>
|
||||
<van-field
|
||||
@input="userRemoteMethod"
|
||||
name="be_user_name"
|
||||
required
|
||||
v-model="formData.be_user_name"
|
||||
label="慰问对象"
|
||||
placeholder="请输入慰问对象"
|
||||
:rules="[{ required: true, message: '请填写慰问对象' }]"
|
||||
></van-field>
|
||||
<van-action-sheet
|
||||
v-model="sheetShow"
|
||||
:actions="userList"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
@cancel="userList = []; formData.be_user_name = ''"
|
||||
:close-on-click-overlay="false"
|
||||
@select="onUserSelect"
|
||||
></van-action-sheet>
|
||||
|
||||
<van-field readonly :value="formData.apply_time" name="apply_time" label="申请时间"></van-field>
|
||||
|
||||
<van-field @input="payeeUserRemoteMethod" name="payee_name"
|
||||
required :rules="[{ required: true, message: '请选择收款人' }]"
|
||||
v-model="formData.payee_name" label="收款人" placeholder="请输入收款人"></van-field>
|
||||
<van-action-sheet v-model="payeeSheetShow"
|
||||
:actions="payeeUserList"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
@cancel="payeeUserList = []; formData.payee_name = ''"
|
||||
:close-on-click-overlay="false"
|
||||
@select="payeeOnUserSelect">
|
||||
</van-action-sheet>
|
||||
<van-field
|
||||
@input="payeeUserRemoteMethod"
|
||||
name="payee_name"
|
||||
required
|
||||
:rules="[{ required: true, message: '请选择收款人' }]"
|
||||
v-model="formData.payee_name"
|
||||
label="收款人"
|
||||
placeholder="请输入收款人"
|
||||
></van-field>
|
||||
<van-action-sheet
|
||||
v-model="payeeSheetShow"
|
||||
:actions="payeeUserList"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
@cancel="payeeUserList = []; formData.payee_name = ''"
|
||||
:close-on-click-overlay="false"
|
||||
@select="payeeOnUserSelect"
|
||||
></van-action-sheet>
|
||||
<!--<van-field v-model="formData.payee_bank_number" name="payee_bank_number" type="number"
|
||||
label="收款人银行卡" placeholder="请输入收款人银行卡"></van-field>
|
||||
<van-field v-model="formData.payee_bank_name" name="payee_bank_name"
|
||||
label="收款人开户行" placeholder="请输入收款人开户行"></van-field>-->
|
||||
|
||||
|
||||
<van-field readonly clickable name="type" :value="formData.typeName"
|
||||
required
|
||||
label="慰问类型"
|
||||
@click="showTypePicker = true" placeholder="点击选择慰问类型"
|
||||
:rules="[{ required:true, message: '请选择慰问类型'}]"></van-field>
|
||||
<van-field
|
||||
readonly
|
||||
clickable
|
||||
name="type"
|
||||
:value="formData.typeName"
|
||||
required
|
||||
label="慰问类型"
|
||||
@click="showTypePicker = true"
|
||||
placeholder="点击选择慰问类型"
|
||||
:rules="[{ required:true, message: '请选择慰问类型'}]"
|
||||
></van-field>
|
||||
<van-popup v-model:show="showTypePicker" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="typeColumns" @confirm="onTypeConfirm"
|
||||
@cancel="showTypePicker = false">
|
||||
</van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field readonly clickable name="way" :value="formData.wayName"
|
||||
label="慰问方式"
|
||||
required
|
||||
placeholder="点击选择慰问方式"
|
||||
:rules="[{ required:true, message: '请选择慰问方式'}]"></van-field>
|
||||
<van-popup v-model:show="showWayPicker" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="wayColumns" @confirm="onWayConfirm"
|
||||
@cancel="showWayPicker = false">
|
||||
</van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field v-model="formData.money" name="money" type="number" label="慰问金额"
|
||||
placeholder="请填写慰问金额"
|
||||
:rules="[{ required:true, message: '请填写慰问金额' }]"></van-field>
|
||||
|
||||
<!-- 孩次 -->
|
||||
<van-field readonly clickable name="type" v-model="formData.birth_child_num"
|
||||
required v-if="formData.type==='2'"
|
||||
label="孩次"
|
||||
@click="showChildPicker = true" placeholder="点击选择孩次"
|
||||
:rules="[{ required:true, message: '请选择孩次'}]"></van-field>
|
||||
<van-popup v-model:show="showChildPicker" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="childColumns" @confirm="onChildConfirm"
|
||||
@cancel="showChildPicker = false">
|
||||
</van-picker>
|
||||
<van-picker show-toolbar :columns="typeColumns" @confirm="onTypeConfirm" @cancel="showTypePicker = false"></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写慰问时间' }]"
|
||||
readonly
|
||||
clickable
|
||||
name="occur_time"
|
||||
:value="formData.occur_time"
|
||||
label="慰问时间"
|
||||
placeholder="点击选择慰问时间"
|
||||
@click="showOccurTime = true"
|
||||
readonly
|
||||
clickable
|
||||
name="way"
|
||||
:value="formData.wayName"
|
||||
label="慰问方式"
|
||||
required
|
||||
placeholder="点击选择慰问方式"
|
||||
:rules="[{ required:true, message: '请选择慰问方式'}]"
|
||||
></van-field>
|
||||
<van-calendar v-model="showOccurTime"
|
||||
@confirm="onOccurTimeConfirm"
|
||||
:min-date="minDate"
|
||||
:max-date="maxDate"
|
||||
:color="themeColor"></van-calendar>
|
||||
<van-popup v-model:show="showWayPicker" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="wayColumns" @confirm="onWayConfirm" @cancel="showWayPicker = false"></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field
|
||||
v-model="formData.money"
|
||||
name="money"
|
||||
type="number"
|
||||
label="慰问金额"
|
||||
placeholder="请填写慰问金额"
|
||||
:rules="[{ required:true, message: '请填写慰问金额' }]"
|
||||
></van-field>
|
||||
|
||||
<!-- 孩次 -->
|
||||
<van-field
|
||||
readonly
|
||||
clickable
|
||||
name="type"
|
||||
v-model="formData.birth_child_num"
|
||||
required
|
||||
v-if="formData.type==='2'"
|
||||
label="孩次"
|
||||
@click="showChildPicker = true"
|
||||
placeholder="点击选择孩次"
|
||||
:rules="[{ required:true, message: '请选择孩次'}]"
|
||||
></van-field>
|
||||
<van-popup v-model:show="showChildPicker" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="childColumns" @confirm="onChildConfirm" @cancel="showChildPicker = false"></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写慰问时间' }]"
|
||||
readonly
|
||||
clickable
|
||||
name="occur_time"
|
||||
:value="formData.occur_time"
|
||||
label="慰问时间"
|
||||
placeholder="点击选择慰问时间"
|
||||
@click="showOccurTime = true"
|
||||
></van-field>
|
||||
<van-calendar
|
||||
v-model="showOccurTime"
|
||||
@confirm="onOccurTimeConfirm"
|
||||
:min-date="minDate"
|
||||
:max-date="maxDate"
|
||||
:color="themeColor"
|
||||
></van-calendar>
|
||||
|
||||
<template v-if="['3','4'].includes(formData.type)">
|
||||
<van-field v-model="formData.the_hospital" name="the_hospital" label="治疗医院"
|
||||
placeholder="请填写治疗医院" required
|
||||
:rules="[{ required:true, message: '请填写治疗医院' }]"></van-field>
|
||||
<van-field v-model="formData.the_hospital_house_num" name="the_hospital_house_num" label="病房号"
|
||||
placeholder="请填写病房号" required
|
||||
:rules="[{ required:true, message: '请填写病房号' }]"></van-field>
|
||||
<van-field v-model="formData.the_hospital_house_bed_num" name="the_hospital_house_bed_num" label="床号"
|
||||
placeholder="请填写床号" required
|
||||
:rules="[{ required:true, message: '请填写床号' }]"></van-field>
|
||||
<van-field
|
||||
v-model="formData.the_hospital"
|
||||
name="the_hospital"
|
||||
label="治疗医院"
|
||||
placeholder="请填写治疗医院"
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写治疗医院' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.the_hospital_house_num"
|
||||
name="the_hospital_house_num"
|
||||
label="病房号"
|
||||
placeholder="请填写病房号"
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写病房号' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.the_hospital_house_bed_num"
|
||||
name="the_hospital_house_bed_num"
|
||||
label="床号"
|
||||
placeholder="请填写床号"
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写床号' }]"
|
||||
></van-field>
|
||||
</template>
|
||||
|
||||
<template v-if="['4'].includes(formData.type)">
|
||||
<van-field v-model="formData.hospital_by" name="hospital_by" label="患病病种"
|
||||
placeholder="请填写患病病种" required
|
||||
:rules="[{ required:true, message: '请填写患病病种' }]"></van-field>
|
||||
<van-field
|
||||
v-model="formData.hospital_by"
|
||||
name="hospital_by"
|
||||
label="患病病种"
|
||||
placeholder="请填写患病病种"
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写患病病种' }]"
|
||||
></van-field>
|
||||
</template>
|
||||
|
||||
<template v-if="['6'].includes(formData.type)">
|
||||
<van-field v-model="formData.deadImmediateFamily" name="deadImmediateFamily" label="直系亲属"
|
||||
placeholder="配偶、父亲、母亲、子女" required
|
||||
:rules="[{ required:true, message: '必填' }]"></van-field>
|
||||
<van-field
|
||||
v-model="formData.deadImmediateFamily"
|
||||
name="deadImmediateFamily"
|
||||
label="直系亲属"
|
||||
placeholder="配偶、父亲、母亲、子女"
|
||||
required
|
||||
:rules="[{ required:true, message: '必填' }]"
|
||||
></van-field>
|
||||
</template>
|
||||
|
||||
<!-- <template-->
|
||||
<!-- v-if="['c7175af55693441e8233be4552cef9d5','0872ea0b95aa463fb8d98c46bdf72537'].includes(formData.type)">-->
|
||||
<!-- <van-field :value="formData.hospital_stay"-->
|
||||
<!-- readonly clickable required-->
|
||||
<!-- @click="hospital_stay = true"-->
|
||||
<!-- name="hospital_stay" label="住院时间"-->
|
||||
<!-- placeholder="请选择住院时间"-->
|
||||
<!-- :rules="[{ required:true, message: '请选择住院时间' }]"></van-field>-->
|
||||
<!-- <van-calendar v-model="hospital_stay" type="range" @confirm="onConfirm"-->
|
||||
<!-- :min-date="new Date('1999-01-01')"-->
|
||||
<!-- :color="themeColor"></van-calendar>-->
|
||||
<!-- <template-->
|
||||
<!-- v-if="['c7175af55693441e8233be4552cef9d5','0872ea0b95aa463fb8d98c46bdf72537'].includes(formData.type)">-->
|
||||
<!-- <van-field :value="formData.hospital_stay"-->
|
||||
<!-- readonly clickable required-->
|
||||
<!-- @click="hospital_stay = true"-->
|
||||
<!-- name="hospital_stay" label="住院时间"-->
|
||||
<!-- placeholder="请选择住院时间"-->
|
||||
<!-- :rules="[{ required:true, message: '请选择住院时间' }]"></van-field>-->
|
||||
<!-- <van-calendar v-model="hospital_stay" type="range" @confirm="onConfirm"-->
|
||||
<!-- :min-date="new Date('1999-01-01')"-->
|
||||
<!-- :color="themeColor"></van-calendar>-->
|
||||
|
||||
<!-- <van-field v-model="formData.the_hospital" name="the_hospital" name="type" label="所在医院"-->
|
||||
<!-- placeholder="请填写所在医院" required-->
|
||||
<!-- :rules="[{ required:true, message: '请填写所在医院' }]"></van-field>-->
|
||||
<!-- </template>-->
|
||||
<!-- <van-field v-model="formData.the_hospital" name="the_hospital" name="type" label="所在医院"-->
|
||||
<!-- placeholder="请填写所在医院" required-->
|
||||
<!-- :rules="[{ required:true, message: '请填写所在医院' }]"></van-field>-->
|
||||
<!-- </template>-->
|
||||
|
||||
<van-field v-model="formData.remark" name="remark" label="申请事由" style="flex-flow: column"
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写申请事由' }]"
|
||||
placeholder="请填写申请事由"
|
||||
input-align="left"
|
||||
rows="3" maxlength="200" type="textarea" show-word-limit autosize>
|
||||
<van-field
|
||||
v-model="formData.remark"
|
||||
name="remark"
|
||||
label="申请事由"
|
||||
style="flex-flow: column"
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写申请事由' }]"
|
||||
placeholder="请填写申请事由"
|
||||
input-align="left"
|
||||
rows="3"
|
||||
maxlength="200"
|
||||
type="textarea"
|
||||
show-word-limit
|
||||
autosize
|
||||
>
|
||||
<template #label>
|
||||
<div class="mb10">申请事由</div>
|
||||
</template>
|
||||
@@ -153,8 +212,7 @@ layout("/mobile/platform.html"){
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group inset class="mt10" v-if="isUploadFile === true">
|
||||
<van-field name="files" label="附  件" required
|
||||
style="flex-flow: column" input-align="left">
|
||||
<van-field name="files" label="附  件" required style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">附  件</div>
|
||||
</template>
|
||||
@@ -162,8 +220,8 @@ layout("/mobile/platform.html"){
|
||||
<vant-file-upload :files.sync="formData.files"></vant-file-upload>
|
||||
</template>
|
||||
</van-field>
|
||||
<div style="margin: 0 0 7px 15px;" v-if="isUploadFile && uploadFileDesc">
|
||||
<span style="color:red;">上传附件说明:{{ uploadFileDesc }}</span>
|
||||
<div style="margin: 0 0 7px 15px" v-if="isUploadFile && uploadFileDesc">
|
||||
<span style="color: red">上传附件说明:{{ uploadFileDesc }}</span>
|
||||
</div>
|
||||
</van-cell-group>
|
||||
|
||||
@@ -179,26 +237,21 @@ layout("/mobile/platform.html"){
|
||||
</van-cell-group>
|
||||
|
||||
<div style="margin: 20px 20px 10px 20px">
|
||||
<van-button @click="onSubmit()" style="border-radius: 10px" block type="info" :color="themeColor">
|
||||
提 交
|
||||
</van-button>
|
||||
<van-button @click="onSubmit()" style="border-radius: 10px" block type="info" :color="themeColor">提 交</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
|
||||
<div>
|
||||
<van-tabbar v-model="tarBarActive" style="z-index: 99">
|
||||
<van-tabbar-item icon="home-o" replace url="/mobile/condolence/apply/for">慰问申请
|
||||
</van-tabbar-item>
|
||||
<van-tabbar-item icon="manager-o" replace url="/mobile/condolence/apply">慰问记录
|
||||
</van-tabbar-item>
|
||||
<van-tabbar-item icon="home-o" replace url="/mobile/condolence/apply/for">慰问申请</van-tabbar-item>
|
||||
<van-tabbar-item icon="manager-o" replace url="/mobile/condolence/apply">慰问记录</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -222,34 +275,38 @@ layout("/mobile/platform.html"){
|
||||
money: 0,
|
||||
isUploadFile: true,
|
||||
uploadFileDesc: null,
|
||||
showChildPicker:false,
|
||||
childColumns:[{value:'一孩',text:'一孩'},{value:'二孩',text:'二孩'},{value:'三孩',text:'三孩'}],
|
||||
showChildPicker: false,
|
||||
childColumns: [
|
||||
{ value: "一孩", text: "一孩" },
|
||||
{ value: "二孩", text: "二孩" },
|
||||
{ value: "三孩", text: "三孩" }
|
||||
]
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
"formData.money"(val) {
|
||||
if (val > this.money) {
|
||||
this.$notify({
|
||||
title: '警告',
|
||||
message: '金额超过规定金额' + this.money + "(元)",
|
||||
type: 'warning'
|
||||
});
|
||||
title: "警告",
|
||||
message: "金额超过规定金额" + this.money + "(元)",
|
||||
type: "warning"
|
||||
})
|
||||
this.$set(this.formData, "money", this.money)
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue?v='+new Date().getTime()),
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {
|
||||
onChildConfirm(data){
|
||||
onChildConfirm(data) {
|
||||
console.log(data)
|
||||
this.formData.birth_child_num = data.value
|
||||
this.showChildPicker = false
|
||||
},
|
||||
priceInput() {
|
||||
let num = 0
|
||||
this.goods.forEach(v => {
|
||||
this.goods.forEach((v) => {
|
||||
num += parseFloat(v.price)
|
||||
})
|
||||
this.$set(this.formData, "money", num)
|
||||
@@ -259,18 +316,19 @@ layout("/mobile/platform.html"){
|
||||
this.showOccurTime = false
|
||||
},
|
||||
onConfirm(date) {
|
||||
const [start, end] = date;
|
||||
this.hospital_stay = false;
|
||||
this.formData.hospital_stay = moment(start).format('YYYY-MM-DD') + "-" + moment(end).format('YYYY-MM-DD');
|
||||
this.$set(this.formData, "hospital_stay_1", moment(start).format('YYYY-MM-DD'))
|
||||
this.$set(this.formData, "hospital_stay_2", moment(end).format('YYYY-MM-DD'))
|
||||
const [start, end] = date
|
||||
this.hospital_stay = false
|
||||
this.formData.hospital_stay = moment(start).format("YYYY-MM-DD") + "-" + moment(end).format("YYYY-MM-DD")
|
||||
this.$set(this.formData, "hospital_stay_1", moment(start).format("YYYY-MM-DD"))
|
||||
this.$set(this.formData, "hospital_stay_2", moment(end).format("YYYY-MM-DD"))
|
||||
},
|
||||
async userRemoteMethod(event) {
|
||||
if (event) {
|
||||
const arr = await this.queryUser(event)
|
||||
this.userList = arr.map(v => {
|
||||
this.userList = arr.map((v) => {
|
||||
return {
|
||||
name: v.username + "(" + v.loginname + ")", id: v.id
|
||||
name: v.username + "(" + v.loginname + ")",
|
||||
id: v.id
|
||||
}
|
||||
})
|
||||
this.sheetShow = true
|
||||
@@ -279,32 +337,33 @@ layout("/mobile/platform.html"){
|
||||
async payeeUserRemoteMethod(event) {
|
||||
if (event) {
|
||||
const arr = await this.queryUser(event)
|
||||
this.payeeUserList = arr.map(v => {
|
||||
this.payeeUserList = arr.map((v) => {
|
||||
return {
|
||||
name: v.username + "(" + v.loginname + ")", id: v.id
|
||||
name: v.username + "(" + v.loginname + ")",
|
||||
id: v.id
|
||||
}
|
||||
})
|
||||
this.payeeSheetShow = true
|
||||
}
|
||||
},
|
||||
async queryUser(query) {
|
||||
const {data} = await $.get("/platform/fw/condolence/apply/queryUser", {query})
|
||||
const { data } = await $.get("/platform/fw/condolence/apply/queryUser", { query })
|
||||
return data
|
||||
},
|
||||
onUserSelect(u) {
|
||||
this.$set(this.formData, 'be_user', u.id)
|
||||
this.$set(this.formData, 'be_user_name', u.name)
|
||||
this.$set(this.formData, "be_user", u.id)
|
||||
this.$set(this.formData, "be_user_name", u.name)
|
||||
this.sheetShow = false
|
||||
},
|
||||
payeeOnUserSelect(u) {
|
||||
this.$set(this.formData, 'payee', u.id)
|
||||
this.$set(this.formData, 'payee_name', u.name)
|
||||
this.$set(this.formData, "payee", u.id)
|
||||
this.$set(this.formData, "payee_name", u.name)
|
||||
this.payeeSheetShow = false
|
||||
},
|
||||
async onTypeConfirm(val) {
|
||||
this.$set(this.formData, "typeName", val.text)
|
||||
this.$set(this.formData, "type", val.value)
|
||||
const {data, code, msg} = await $.get("/platform/condolence/type/findOne", {id: val.value})
|
||||
const { data, code, msg } = await $.get("/platform/condolence/type/findOne", { id: val.value })
|
||||
console.log(data)
|
||||
|
||||
this.isUploadFile = data.isUploadFile
|
||||
@@ -312,15 +371,15 @@ layout("/mobile/platform.html"){
|
||||
|
||||
this.$set(this, "money", data.money)
|
||||
await this.moneyChange(val.value)
|
||||
this.showTypePicker = false;
|
||||
this.showTypePicker = false
|
||||
},
|
||||
onWayConfirm(val) {
|
||||
this.$set(this.formData, "wayName", val.text)
|
||||
this.$set(this.formData, "way", val.value)
|
||||
this.showWayPicker = false;
|
||||
this.showWayPicker = false
|
||||
},
|
||||
async moneyChange(id) {
|
||||
const {data, code, msg} = await $.get("/platform/condolence/type/findOne", {id})
|
||||
const { data, code, msg } = await $.get("/platform/condolence/type/findOne", { id })
|
||||
if (data) {
|
||||
this.$set(this.formData, "money", data.money)
|
||||
this.$set(this.formData, "wayName", data.way)
|
||||
@@ -329,34 +388,34 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async onSubmit() {
|
||||
if (!this.formData.files) {
|
||||
vant.Toast('请上传附件材料!')
|
||||
vant.Toast("请上传附件材料!")
|
||||
return
|
||||
}
|
||||
this.$refs.signature.submitSign()
|
||||
if (this.$refs.signature.checkNull()) {
|
||||
this.$toast('请签名!')
|
||||
this.$toast("请签名!")
|
||||
return
|
||||
}
|
||||
await this.$refs.signature.updateSign()
|
||||
const formData = clone(this.formData)
|
||||
formData.mobile = "${@shiro.getPrincipalProperty('mobile')}"
|
||||
formData.files = JSON.stringify(formData.files)
|
||||
this.$refs['addForm'].validate().then(async () => {
|
||||
this.$toast.loading('提交中...')
|
||||
const res = await $.post('/platform/fw/condolence/apply/doAdd', {
|
||||
this.$refs["addForm"].validate().then(async () => {
|
||||
this.$toast.loading("提交中...")
|
||||
const res = await $.post("/platform/fw/condolence/apply/doAdd", {
|
||||
data: JSON.stringify(formData),
|
||||
sign: formData.sign
|
||||
})
|
||||
if (res.code === 0) {
|
||||
this.$toast.success('申请成功');
|
||||
this.$toast.success("申请成功")
|
||||
setTimeout(() => {
|
||||
location.replace('/mobile/condolence/apply')
|
||||
location.replace("/mobile/condolence/apply")
|
||||
}, 1000)
|
||||
} else {
|
||||
this.$toast.fail('申请失败');
|
||||
this.$toast.fail("申请失败")
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
@@ -366,21 +425,20 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
},
|
||||
async created() {
|
||||
this.formData.apply_time = moment().format('YYYY-MM-DD')
|
||||
this.formData.apply_time = moment().format("YYYY-MM-DD")
|
||||
this.formData.be_user = "${@shiro.getPrincipalProperty('id')}"
|
||||
//this.formData.be_user_name = "${@shiro.getPrincipalProperty('username')}" + "(" + "${@shiro.getPrincipalProperty('loginname')}" + ")"
|
||||
const {code, data} = await $.get("/platform/condolence/type/getAll")
|
||||
data.forEach(v => {
|
||||
this.typeColumns.push({value: v.id, text: v.name + "(" + v.code + ")"})
|
||||
const { code, data } = await $.get("/platform/condolence/type/getAll")
|
||||
data.forEach((v) => {
|
||||
this.typeColumns.push({ value: v.id, text: v.name + "(" + v.code + ")" })
|
||||
})
|
||||
for (let i in condolence.way) {
|
||||
this.wayColumns.push({value: condolence.way[i], text: condolence.way[i]})
|
||||
this.wayColumns.push({ value: condolence.way[i], text: condolence.way[i] })
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<style>
|
||||
|
||||
.up_down > .van-cell {
|
||||
flex-flow: column;
|
||||
}
|
||||
@@ -389,14 +447,15 @@ layout("/mobile/platform.html"){
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.van-cell, .van-picker button, .submit .van-button--normal {
|
||||
.van-cell,
|
||||
.van-picker button,
|
||||
.submit .van-button--normal {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.van-divider {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
<!--#
|
||||
}
|
||||
|
||||
@@ -1,19 +1,16 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<style></style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="慰问申请信息" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="慰问申请信息" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div>
|
||||
<condolence-info :id.sync="id"></condolence-info>
|
||||
<div style="margin: 20px 20px 10px 20px">
|
||||
<van-button :color="themeColor" block @click="doEdit" class="ml10 mr10"
|
||||
v-if="state_id==2010||state_id==2020">撤 回
|
||||
<van-button :color="themeColor" block @click="doEdit" class="ml10 mr10" v-if="state_id==2010||state_id==2020">
|
||||
撤 回
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -21,7 +18,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -30,30 +27,29 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'condolence-info': httpVueLoader('/components/condolence/mobile/common.vue?v=' + new Date().getTime()),
|
||||
"condolence-info": httpVueLoader("/components/condolence/mobile/common.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {
|
||||
doEdit() {
|
||||
vant.Dialog.confirm({
|
||||
title: '标题',
|
||||
message: '确认要撤回吗?',
|
||||
title: "标题",
|
||||
message: "确认要撤回吗?"
|
||||
})
|
||||
.then(async () => {
|
||||
const resp = await $.post("/platform/fw/condolence/ucr/doEdit", {id: this.id});
|
||||
this.$toast.success('撤回成功');
|
||||
const resp = await $.post("/platform/fw/condolence/ucr/doEdit", { id: this.id })
|
||||
this.$toast.success("撤回成功")
|
||||
setTimeout(() => {
|
||||
history.back()
|
||||
}, 1000)
|
||||
})
|
||||
.catch(() => {
|
||||
// on cancel
|
||||
});
|
||||
|
||||
})
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.id = GetQueryString('id')
|
||||
this.state_id = GetQueryString('state_id')
|
||||
this.id = GetQueryString("id")
|
||||
this.state_id = GetQueryString("state_id")
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -3,8 +3,10 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.apply_btn {
|
||||
animation: come .5s;
|
||||
position: fixed;top: 20%;right: 0
|
||||
animation: come 0.5s;
|
||||
position: fixed;
|
||||
top: 20%;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
@keyframes come {
|
||||
@@ -15,12 +17,11 @@ layout("/mobile/platform.html"){
|
||||
right: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
</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>
|
||||
<van-nav-bar title="慰问申请列表" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
@@ -29,14 +30,11 @@ layout("/mobile/platform.html"){
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
<div style="margin: 60px auto 0 auto">
|
||||
<van-list v-model="loading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="pageData">
|
||||
<van-list v-model="loading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="pageData">
|
||||
<div v-for="o in tableData" class="list-card" @click="openInfo(o.id)">
|
||||
<van-cell-group inset>
|
||||
<van-cell :border="false" title="被慰问人">
|
||||
<span class="van-ellipsis" style="font-size: 16px;" :style="{color:themeColor}">
|
||||
{{o.be_username}}
|
||||
</span>
|
||||
<span class="van-ellipsis" style="font-size: 16px" :style="{color:themeColor}">{{o.be_username}}</span>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="申请时间">{{o.apply_time}}</van-cell>
|
||||
<van-cell :border="false" title="慰问类型">{{o.type_name}}</van-cell>
|
||||
@@ -49,69 +47,61 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-list>
|
||||
|
||||
|
||||
<!-- <van-button v-show="visible" class="apply_btn" @click.stop="openApply" plain hairline>-->
|
||||
<!-- <template #icon>-->
|
||||
<!-- <svg t="1634200664904" class="icon" viewBox="0 0 1024 1024" version="1.1"-->
|
||||
<!-- xmlns="http://www.w3.org/2000/svg" p-id="3163" width="32" height="32">-->
|
||||
<!-- <path d="M837.632 160.768c64 0 117.248 53.248 117.248 117.248v470.528c0 64-53.248 117.248-117.248 117.248H187.904c-64 2.048-117.248-50.688-117.248-114.688V278.016c0-64 53.248-117.248 117.248-117.248h649.728z m66.048 590.848V274.944c0-32.768-28.16-60.416-60.416-60.416H184.832c-32.768 0-60.416 28.16-60.416 60.416v479.232c0 32.768 28.16 60.416 60.416 60.416h657.92c32.768-2.56 60.928-28.16 60.928-62.976zM387.072 317.44"-->
|
||||
<!-- fill="#2E77ED" p-id="3164"></path>-->
|
||||
<!-- <path d="M326.144 709.632c-14.848 0-26.624-12.288-26.624-27.136V455.68c0-14.848 12.288-27.136 27.136-27.136S353.28 440.832 353.28 455.68v226.816c-0.512 15.36-12.288 27.136-27.136 27.136z"-->
|
||||
<!-- fill="#FFBB12" p-id="3165"></path>-->
|
||||
<!-- <path d="M569.856 442.368c0-14.848 12.288-26.624 27.136-26.624H757.76c14.848 0 27.136 12.288 27.136 27.136s-12.288 26.624-27.136 26.624h-160.768c-15.36 0-27.136-12.288-27.136-27.136zM569.856 682.496c0-14.848 12.288-26.624 27.136-26.624H757.76c14.848 0 27.136 12.288 27.136 27.136s-12.288 26.624-27.136 26.624h-160.768c-15.36 0-27.136-12.288-27.136-27.136zM569.856 553.472c0-14.848 12.288-26.624 27.136-26.624H757.76c14.848 0 27.136 12.288 27.136 27.136s-12.288 26.624-27.136 26.624h-160.768c-15.36 0-27.136-12.288-27.136-27.136z"-->
|
||||
<!-- fill="#2E77ED" p-id="3166"></path>-->
|
||||
<!-- <path d="M228.352 509.44c-10.24-10.752-10.24-27.648 0-37.888l78.336-78.336c10.752-10.752 27.648-10.752 37.888 0s10.24 27.648 0 37.888L266.24 509.44c-10.24 10.752-27.136 10.752-37.888 0z"-->
|
||||
<!-- fill="#FFBB12" p-id="3167"></path>-->
|
||||
<!-- <path d="M306.688 393.216c10.752-10.24 27.648-10.24 37.888 0l78.336 78.336c10.752 10.752 10.752 27.648 0 37.888s-27.648 10.24-37.888 0L306.688 431.104c-10.24-10.752-10.24-27.648 0-37.888z"-->
|
||||
<!-- fill="#FFBB12" p-id="3168"></path>-->
|
||||
<!-- </svg>-->
|
||||
<!-- </template>-->
|
||||
<!-- 申请-->
|
||||
<!-- </van-button>-->
|
||||
<!-- <van-button v-show="visible" class="apply_btn" @click.stop="openApply" plain hairline>-->
|
||||
<!-- <template #icon>-->
|
||||
<!-- <svg t="1634200664904" class="icon" viewBox="0 0 1024 1024" version="1.1"-->
|
||||
<!-- xmlns="http://www.w3.org/2000/svg" p-id="3163" width="32" height="32">-->
|
||||
<!-- <path d="M837.632 160.768c64 0 117.248 53.248 117.248 117.248v470.528c0 64-53.248 117.248-117.248 117.248H187.904c-64 2.048-117.248-50.688-117.248-114.688V278.016c0-64 53.248-117.248 117.248-117.248h649.728z m66.048 590.848V274.944c0-32.768-28.16-60.416-60.416-60.416H184.832c-32.768 0-60.416 28.16-60.416 60.416v479.232c0 32.768 28.16 60.416 60.416 60.416h657.92c32.768-2.56 60.928-28.16 60.928-62.976zM387.072 317.44"-->
|
||||
<!-- fill="#2E77ED" p-id="3164"></path>-->
|
||||
<!-- <path d="M326.144 709.632c-14.848 0-26.624-12.288-26.624-27.136V455.68c0-14.848 12.288-27.136 27.136-27.136S353.28 440.832 353.28 455.68v226.816c-0.512 15.36-12.288 27.136-27.136 27.136z"-->
|
||||
<!-- fill="#FFBB12" p-id="3165"></path>-->
|
||||
<!-- <path d="M569.856 442.368c0-14.848 12.288-26.624 27.136-26.624H757.76c14.848 0 27.136 12.288 27.136 27.136s-12.288 26.624-27.136 26.624h-160.768c-15.36 0-27.136-12.288-27.136-27.136zM569.856 682.496c0-14.848 12.288-26.624 27.136-26.624H757.76c14.848 0 27.136 12.288 27.136 27.136s-12.288 26.624-27.136 26.624h-160.768c-15.36 0-27.136-12.288-27.136-27.136zM569.856 553.472c0-14.848 12.288-26.624 27.136-26.624H757.76c14.848 0 27.136 12.288 27.136 27.136s-12.288 26.624-27.136 26.624h-160.768c-15.36 0-27.136-12.288-27.136-27.136z"-->
|
||||
<!-- fill="#2E77ED" p-id="3166"></path>-->
|
||||
<!-- <path d="M228.352 509.44c-10.24-10.752-10.24-27.648 0-37.888l78.336-78.336c10.752-10.752 27.648-10.752 37.888 0s10.24 27.648 0 37.888L266.24 509.44c-10.24 10.752-27.136 10.752-37.888 0z"-->
|
||||
<!-- fill="#FFBB12" p-id="3167"></path>-->
|
||||
<!-- <path d="M306.688 393.216c10.752-10.24 27.648-10.24 37.888 0l78.336 78.336c10.752 10.752 10.752 27.648 0 37.888s-27.648 10.24-37.888 0L306.688 431.104c-10.24-10.752-10.24-27.648 0-37.888z"-->
|
||||
<!-- fill="#FFBB12" p-id="3168"></path>-->
|
||||
<!-- </svg>-->
|
||||
<!-- </template>-->
|
||||
<!-- 申请-->
|
||||
<!-- </van-button>-->
|
||||
</div>
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
|
||||
<div>
|
||||
<van-tabbar v-model="tarBarActive">
|
||||
<van-tabbar-item icon="home-o" replace url="/mobile/condolence/apply/for">慰问申请
|
||||
</van-tabbar-item>
|
||||
<van-tabbar-item icon="manager-o" replace url="/mobile/condolence/apply">慰问记录
|
||||
</van-tabbar-item>
|
||||
<van-tabbar-item icon="home-o" replace url="/mobile/condolence/apply/for">慰问申请</van-tabbar-item>
|
||||
<van-tabbar-item icon="manager-o" replace url="/mobile/condolence/apply">慰问记录</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
tarBarActive: 1,
|
||||
visible: true,
|
||||
typeOption: [
|
||||
{value: null, text: '全部'}
|
||||
],
|
||||
typeOption: [{ value: null, text: "全部" }],
|
||||
yearOption: [],
|
||||
pageForm: {
|
||||
year: '',
|
||||
type: ''
|
||||
year: "",
|
||||
type: ""
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue")
|
||||
},
|
||||
methods: {
|
||||
openApply() {
|
||||
window.location.href = '/mobile/condolence/apply/for'
|
||||
window.location.href = "/mobile/condolence/apply/for"
|
||||
},
|
||||
openInfo(id) {
|
||||
window.location.href = '/mobile/condolence/apply/info?id=' + id
|
||||
window.location.href = "/mobile/condolence/apply/info?id=" + id
|
||||
},
|
||||
yearChange(val) {
|
||||
this.pageForm.year = val
|
||||
@@ -124,13 +114,12 @@ layout("/mobile/platform.html"){
|
||||
listenTouch() {
|
||||
this.$nextTick(() => {
|
||||
const app = document.querySelector("#app")
|
||||
app.addEventListener('touchstart', () => {
|
||||
app.addEventListener("touchstart", () => {
|
||||
this.visible = false
|
||||
})
|
||||
app.addEventListener('touchend', () => {
|
||||
app.addEventListener("touchend", () => {
|
||||
this.visible = true
|
||||
})
|
||||
|
||||
})
|
||||
}
|
||||
},
|
||||
@@ -140,11 +129,11 @@ layout("/mobile/platform.html"){
|
||||
async created() {
|
||||
this.mLoading = true
|
||||
for (let i = new Date().getFullYear() - 10; i <= new Date().getFullYear(); i++) {
|
||||
this.yearOption.unshift({value: i, text: i + '年'},)
|
||||
this.yearOption.unshift({ value: i, text: i + "年" })
|
||||
}
|
||||
const {code, data} = await $.get("/platform/condolence/type/getAll")
|
||||
data.forEach(v => {
|
||||
this.typeOption.push({value: v.id, text: v.name + v.code})
|
||||
const { code, data } = await $.get("/platform/condolence/type/getAll")
|
||||
data.forEach((v) => {
|
||||
this.typeOption.push({ value: v.id, text: v.name + v.code })
|
||||
})
|
||||
this.$set(this.pageForm, "year", this.yearOption[0].value)
|
||||
this.$set(this.pageForm, "type", this.typeOption[0].value)
|
||||
|
||||
@@ -3,38 +3,25 @@ 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="history.go(-1)"></van-nav-bar>
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu :active-color="themeColor">
|
||||
<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.type" @change="yearChange"
|
||||
:options="mCondolence.typeList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unionId" @change="yearChange"
|
||||
:options="mCommon.unionList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unitId" @change="yearChange"
|
||||
:options="mCommon.unitList"></van-dropdown-item>
|
||||
|
||||
<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.type" @change="yearChange" :options="mCondolence.typeList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unionId" @change="yearChange" :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="pageData">
|
||||
<van-list v-model="mLoading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="pageData">
|
||||
<div v-for="o in tableData" class="list-card" @click="openView(o)">
|
||||
<van-cell-group inset>
|
||||
<van-cell :border="false" title="被慰问人">
|
||||
<span class="van-ellipsis" style="font-size: 16px;"
|
||||
:style="{color:themeColor}">
|
||||
{{o.be_username}}
|
||||
</span>
|
||||
<span class="van-ellipsis" style="font-size: 16px" :style="{color:themeColor}">{{o.be_username}}</span>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="申 请 人">{{o.sqr_username}}</van-cell>
|
||||
<van-cell :border="false" title="所在单位">{{o.be_unitname}}</van-cell>
|
||||
@@ -49,18 +36,13 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-list>
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -68,30 +50,30 @@ layout("/mobile/platform.html"){
|
||||
unionList: [],
|
||||
yearList: [],
|
||||
auditList: [
|
||||
{text: '未审核', value: false},
|
||||
{text: '已审核', value: true},
|
||||
{ text: "未审核", value: false },
|
||||
{ text: "已审核", value: true }
|
||||
],
|
||||
handle: true,
|
||||
pageForm: {
|
||||
year: new Date().getFullYear(),
|
||||
isAudit: false,
|
||||
},
|
||||
isAudit: false
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openView(o) {
|
||||
window.location.href = '/mobile/condolence/audit/auditHtml?state_id=' + o.state_id + '&id=' + o.id
|
||||
window.location.href = "/mobile/condolence/audit/auditHtml?state_id=" + o.state_id + "&id=" + o.id
|
||||
},
|
||||
yearChange() {
|
||||
this.tableData = []
|
||||
this.refreshing = true;
|
||||
this.finished = false;
|
||||
this.refreshing = true
|
||||
this.finished = false
|
||||
this.pageForm.pageNumber = 0
|
||||
this.flushUnits()
|
||||
},
|
||||
pageData() {
|
||||
this.mLoading = true
|
||||
$.get(loc() + '/pageData', this.pageForm, (res) => {
|
||||
$.get(loc() + "/pageData", this.pageForm, (res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -102,11 +84,10 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
})
|
||||
this.mLoading = false
|
||||
|
||||
},
|
||||
async flushUnits() {
|
||||
//this.$set(this.pageForm, "unitId", "")
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('SchoolUnionMemberAdmin')}" === 'true') {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('SchoolUnionMemberAdmin')}" === "true") {
|
||||
await mCommon.getUnitList(this.pageForm.unionId)
|
||||
} else {
|
||||
await mCommon.getUnitList("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
@@ -115,7 +96,7 @@ layout("/mobile/platform.html"){
|
||||
async init() {
|
||||
let nowYear = new Date().getFullYear()
|
||||
for (let i = nowYear; i >= nowYear - 9; i--) {
|
||||
this.yearList.push({text: i, value: i})
|
||||
this.yearList.push({ text: i, value: i })
|
||||
}
|
||||
await mCondolence.getType()
|
||||
await mCommon.getUnionList()
|
||||
@@ -133,12 +114,12 @@ layout("/mobile/platform.html"){
|
||||
async created() {
|
||||
this.init()
|
||||
this.flushUnits()
|
||||
if (GetQueryString("audit") === '1') {
|
||||
if (GetQueryString("audit") === "1") {
|
||||
this.pageForm.isAudit = true
|
||||
}
|
||||
}
|
||||
})
|
||||
window.addEventListener('pageshow', e => {
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
if (e.persisted || (window.performance && window.performance.navigation.type === 2)) {
|
||||
vue.init()
|
||||
vue.yearChange()
|
||||
@@ -146,7 +127,6 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -3,37 +3,34 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<condolence-info ref="info" :id.sync="id" title="校工会审核" :handle="handle">
|
||||
<template #handle>
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
校工会审核
|
||||
</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select">校工会审核</div>
|
||||
</div>
|
||||
<van-form>
|
||||
|
||||
<van-field readonly left-icon="contact"
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
<van-field
|
||||
readonly
|
||||
left-icon="contact"
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
></van-field>
|
||||
|
||||
<van-field v-model="formData.time" label="审核时间" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
<van-field v-model="formData.time" label="审核时间" left-icon="clock-o" readonly></van-field>
|
||||
|
||||
<van-field v-model="formData.opinion"
|
||||
left-icon="chat-o"
|
||||
rows="1"
|
||||
required
|
||||
:rules="[{ required:true, message: '请输入审核意见' }]"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
<van-field
|
||||
v-model="formData.opinion"
|
||||
left-icon="chat-o"
|
||||
rows="1"
|
||||
required
|
||||
:rules="[{ required:true, message: '请输入审核意见' }]"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<van-field label="签字" required style="flex-flow: column">
|
||||
@@ -45,88 +42,76 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<van-row gutter="20" style="margin-top: 30px; padding: 0 25px">
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝
|
||||
</van-button>
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝</van-button>
|
||||
</van-col>
|
||||
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(2)">返回修改
|
||||
</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(2)">返回修改</van-button>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过
|
||||
</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
</condolence-info>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
handle: true,
|
||||
id: "",
|
||||
formData: {},
|
||||
formData: {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
'condolence-info': httpVueLoader('/components/condolence/mobile/common.vue?v=' + new Date().getTime()),
|
||||
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue"),
|
||||
"condolence-info": httpVueLoader("/components/condolence/mobile/common.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {
|
||||
|
||||
async doAudit(pass) {
|
||||
if (!this.formData.opinion) {
|
||||
this.$toast.fail('请填写审核意见');
|
||||
this.$toast.fail("请填写审核意见")
|
||||
return
|
||||
}
|
||||
this.$refs.signature.submitSign()
|
||||
if (this.$refs.signature.checkNull()) {
|
||||
vant.Toast('请签名!')
|
||||
vant.Toast("请签名!")
|
||||
return
|
||||
}
|
||||
await this.$refs.signature.updateSign()
|
||||
this.formData.pass = pass
|
||||
const resp = await $.post("/platform/fw/condolence/fr/doReview", this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success('审核成功')
|
||||
this.$toast.success("审核成功")
|
||||
setTimeout(() => {
|
||||
window.history.back()
|
||||
}, 1000)
|
||||
} else {
|
||||
this.$toast.fail('审核失败');
|
||||
this.$toast.fail("审核失败")
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.id = GetQueryString("id")
|
||||
const {data} = await $.get("/platform/fw/condolence/findOne", {id: this.id})
|
||||
const { data } = await $.get("/platform/fw/condolence/findOne", { id: this.id })
|
||||
this.formData = {
|
||||
id: this.id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
time: moment().format('YYYY-MM-DD'),
|
||||
time: moment().format("YYYY-MM-DD"),
|
||||
opinion: null,
|
||||
sign: "",
|
||||
sign: ""
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -3,54 +3,53 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<condolence-info ref="info" :id.sync="id" title="校工会主席审核" :handle="handle">
|
||||
<template #handle>
|
||||
<div class="van-cell-group__title mt10">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
校工会主席审核
|
||||
</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select">校工会主席审核</div>
|
||||
</div>
|
||||
<van-form>
|
||||
|
||||
<van-field readonly
|
||||
left-icon="contact"
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
<van-field
|
||||
readonly
|
||||
left-icon="contact"
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
></van-field>
|
||||
|
||||
<van-field v-model="formData.time" label="审核时间" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
<van-field v-model="formData.time" label="审核时间" left-icon="clock-o" readonly></van-field>
|
||||
|
||||
<van-field v-model="formData.money" label="慰问金额" type="number"
|
||||
left-icon="balance-list-o"
|
||||
required :rules="[{ required:true, message: '请输入慰问金额' }]"
|
||||
<van-field
|
||||
v-model="formData.money"
|
||||
label="慰问金额"
|
||||
type="number"
|
||||
left-icon="balance-list-o"
|
||||
required
|
||||
:rules="[{ required:true, message: '请输入慰问金额' }]"
|
||||
></van-field>
|
||||
|
||||
<van-field v-model="auditType" label="审核类型" left-icon="clock-o"
|
||||
@click="typePicker = true" required readonly></van-field>
|
||||
<van-field v-model="auditType" label="审核类型" left-icon="clock-o" @click="typePicker = true" required readonly></van-field>
|
||||
|
||||
<van-popup v-model="typePicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="['审核通过','审核通过(线下提交资料)', '审核拒绝']"
|
||||
@confirm="typeChange"
|
||||
@cancel="typePicker = false"
|
||||
show-toolbar
|
||||
:columns="['审核通过','审核通过(线下提交资料)', '审核拒绝']"
|
||||
@confirm="typeChange"
|
||||
@cancel="typePicker = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field v-model="formData.opinion"
|
||||
rows="1"
|
||||
required
|
||||
left-icon="chat-o"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
<van-field
|
||||
v-model="formData.opinion"
|
||||
rows="1"
|
||||
required
|
||||
left-icon="chat-o"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<van-field label="签字" required style="flex-flow: column">
|
||||
@@ -62,102 +61,91 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<van-row gutter="20" style="margin-top: 30px; padding: 0 25px">
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝
|
||||
</van-button>
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝</van-button>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<van-button color="red" block plain @click="doAudit(2)">返回修改
|
||||
</van-button>
|
||||
<van-button color="red" block plain @click="doAudit(2)">返回修改</van-button>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过
|
||||
</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
</condolence-info>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
typePicker: false,
|
||||
auditType: '审核通过',
|
||||
auditType: "审核通过",
|
||||
handle: true,
|
||||
id: "",
|
||||
formData: {},
|
||||
formData: {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
'condolence-info': httpVueLoader('/components/condolence/mobile/common.vue?v=' + new Date().getTime()),
|
||||
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue"),
|
||||
"condolence-info": httpVueLoader("/components/condolence/mobile/common.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {
|
||||
typeChange(value, index) {
|
||||
if(value === '审核通过') {
|
||||
this.formData.opinion = '情况属实,同意申请。'
|
||||
} else if (value === '审核通过(线下提交资料)') {
|
||||
this.$set(this.formData, 'opinion', '请将纸质发票经办人、分工会主席签字后交至行政楼A426办公室。')
|
||||
if (value === "审核通过") {
|
||||
this.formData.opinion = "情况属实,同意申请。"
|
||||
} else if (value === "审核通过(线下提交资料)") {
|
||||
this.$set(this.formData, "opinion", "请将纸质发票经办人、分工会主席签字后交至行政楼A426办公室。")
|
||||
} else {
|
||||
this.formData.opinion = ''
|
||||
this.formData.opinion = ""
|
||||
}
|
||||
this.typePicker = false
|
||||
},
|
||||
async doAudit(pass) {
|
||||
if (!this.formData.opinion) {
|
||||
this.$toast.fail('请填写审核意见');
|
||||
this.$toast.fail("请填写审核意见")
|
||||
return
|
||||
}
|
||||
this.$refs.signature.submitSign()
|
||||
if (pass === 3 && this.$refs.signature.checkNull()) {
|
||||
vant.Toast('请签名!')
|
||||
vant.Toast("请签名!")
|
||||
return
|
||||
}
|
||||
await this.$refs.signature.updateSign()
|
||||
this.formData.pass = pass
|
||||
if(this.auditType === '审核通过(线下提交资料)') {
|
||||
if (this.auditType === "审核通过(线下提交资料)") {
|
||||
pass = 4
|
||||
}
|
||||
const resp = await $.post("/platform/fw/condolence/vcr/doReview", this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success('审核成功');
|
||||
this.$toast.success("审核成功")
|
||||
setTimeout(() => {
|
||||
history.back()
|
||||
}, 1000)
|
||||
} else {
|
||||
this.$toast.fail('审核失败');
|
||||
this.$toast.fail("审核失败")
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.id = GetQueryString("id")
|
||||
const {data} = await $.get("/platform/fw/condolence/findOne", {id: this.id})
|
||||
const { data } = await $.get("/platform/fw/condolence/findOne", { id: this.id })
|
||||
this.formData = {
|
||||
id: this.id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
time: moment().format('YYYY-MM-DD'),
|
||||
opinion: '情况属实,同意申请。',
|
||||
time: moment().format("YYYY-MM-DD"),
|
||||
opinion: "情况属实,同意申请。",
|
||||
sign: "",
|
||||
money: data.money
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -3,37 +3,33 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<condolence-info ref="info" :id.sync="id" title="分工会审核" :handle="handle">
|
||||
<template #handle>
|
||||
<div class="van-cell-group__title mt10">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
分工会审核
|
||||
</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select">分工会审核</div>
|
||||
</div>
|
||||
<van-form>
|
||||
<van-field
|
||||
readonly
|
||||
left-icon="contact"
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
readonly
|
||||
left-icon="contact"
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
></van-field>
|
||||
|
||||
<van-field v-model="formData.time" label="审核时间" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
<van-field v-model="formData.time" label="审核时间" left-icon="clock-o" readonly></van-field>
|
||||
|
||||
<van-field v-model="formData.opinion"
|
||||
left-icon="chat-o"
|
||||
required
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
<van-field
|
||||
v-model="formData.opinion"
|
||||
left-icon="chat-o"
|
||||
required
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<van-field label="签字" required style="flex-flow: column">
|
||||
@@ -45,86 +41,75 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<van-row gutter="20" style="margin-top: 30px; padding: 0 25px">
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝
|
||||
</van-button>
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝</van-button>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<van-button color="red" block @click="doAudit(2)">返回修改
|
||||
</van-button>
|
||||
<van-button color="red" block @click="doAudit(2)">返回修改</van-button>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过
|
||||
</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
</condolence-info>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
handle: true,
|
||||
id: "",
|
||||
formData: {},
|
||||
formData: {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
'condolence-info': httpVueLoader('/components/condolence/mobile/common.vue?v=' + new Date().getTime()),
|
||||
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue"),
|
||||
"condolence-info": httpVueLoader("/components/condolence/mobile/common.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {
|
||||
|
||||
async doAudit(pass) {
|
||||
if (!this.formData.opinion) {
|
||||
this.$toast.fail('请填写审核意见');
|
||||
this.$toast.fail("请填写审核意见")
|
||||
return
|
||||
}
|
||||
this.$refs.signature.submitSign()
|
||||
|
||||
if (this.$refs.signature.checkNull()) {
|
||||
vant.Toast('请签名!')
|
||||
return
|
||||
}
|
||||
if (this.$refs.signature.checkNull()) {
|
||||
vant.Toast("请签名!")
|
||||
return
|
||||
}
|
||||
await this.$refs.signature.updateSign()
|
||||
this.formData.pass = pass
|
||||
const resp = await $.post("/platform/fw/condolence/ucr/doReview", this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success('审核成功');
|
||||
this.$toast.success("审核成功")
|
||||
setTimeout(() => {
|
||||
history.back()
|
||||
}, 1000)
|
||||
} else {
|
||||
this.$toast.fail('审核失败');
|
||||
this.$toast.fail("审核失败")
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.id = GetQueryString("id")
|
||||
this.formData = {
|
||||
id: this.id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
time: moment().format('YYYY-MM-DD'),
|
||||
time: moment().format("YYYY-MM-DD"),
|
||||
opinion: null,
|
||||
sign: ""
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -3,14 +3,15 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="困难补助申请" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="困难补助申请" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-form ref="addForm" :show-error-message="false" input-align="right" style="margin-bottom: 60px">
|
||||
<van-cell-group inset class="mt10">
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('username')} ( ${@shiro.getPrincipalProperty('loginname')} )"
|
||||
name="sqrname"
|
||||
label="申请人"></van-field>
|
||||
<van-field
|
||||
readonly
|
||||
value="${@shiro.getPrincipalProperty('username')} ( ${@shiro.getPrincipalProperty('loginname')} )"
|
||||
name="sqrname"
|
||||
label="申请人"
|
||||
></van-field>
|
||||
|
||||
<van-field name="apply_mode" label="申请模式">
|
||||
<template #input>
|
||||
@@ -21,20 +22,25 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field @input="userRemoteMethod" name="bbzrusername"
|
||||
v-model="formData.bbzrusername" label="受补助人" placeholder="请输入受补助人姓名"
|
||||
:rules="[{ required: true, message: '请填写受补助人姓名' }]"></van-field>
|
||||
<van-field
|
||||
@input="userRemoteMethod"
|
||||
name="bbzrusername"
|
||||
v-model="formData.bbzrusername"
|
||||
label="受补助人"
|
||||
placeholder="请输入受补助人姓名"
|
||||
:rules="[{ required: true, message: '请填写受补助人姓名' }]"
|
||||
></van-field>
|
||||
|
||||
<van-action-sheet v-model="sheetShow"
|
||||
:actions="userList"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
@cancel="userList = []"
|
||||
:close-on-click-overlay="false"
|
||||
@select="onUserSelect">
|
||||
</van-action-sheet>
|
||||
<van-action-sheet
|
||||
v-model="sheetShow"
|
||||
:actions="userList"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
@cancel="userList = []"
|
||||
:close-on-click-overlay="false"
|
||||
@select="onUserSelect"
|
||||
></van-action-sheet>
|
||||
<van-field label="身份证号" v-model="formData.idcard"></van-field>
|
||||
|
||||
|
||||
<van-field label="性别" v-model="formData.sex"></van-field>
|
||||
|
||||
<van-field label="职称" v-model="formData.zc"></van-field>
|
||||
@@ -46,44 +52,62 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<van-field label="手机号码" v-model="formData.lxfs" type="tel"></van-field>
|
||||
|
||||
|
||||
<van-field name="sq_bzlx_name"
|
||||
@click="sq_bzlxShow = true"
|
||||
:value="formData.sq_bzlx_name" label="补助类型" placeholder="请选择补助类型"></van-field>
|
||||
<van-field
|
||||
name="sq_bzlx_name"
|
||||
@click="sq_bzlxShow = true"
|
||||
:value="formData.sq_bzlx_name"
|
||||
label="补助类型"
|
||||
placeholder="请选择补助类型"
|
||||
></van-field>
|
||||
<van-popup v-model:show="sq_bzlxShow" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="sq_bzlxList" @confirm="onSq_bzlxConfirm"
|
||||
@cancel="sq_bzlxShow = false">
|
||||
</van-picker>
|
||||
<van-picker show-toolbar :columns="sq_bzlxList" @confirm="onSq_bzlxConfirm" @cancel="sq_bzlxShow = false"></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field name="sq_knlx_name"
|
||||
@click="sq_knlxShow = true"
|
||||
:value="formData.sq_knlx_name" label="困难类型" placeholder="请选择困难类型"></van-field>
|
||||
<van-field
|
||||
name="sq_knlx_name"
|
||||
@click="sq_knlxShow = true"
|
||||
:value="formData.sq_knlx_name"
|
||||
label="困难类型"
|
||||
placeholder="请选择困难类型"
|
||||
></van-field>
|
||||
<van-popup v-model:show="sq_knlxShow" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="sq_knlxist" @confirm="onSq_knlxConfirm"
|
||||
@cancel="sq_knlxShow = false">
|
||||
</van-picker>
|
||||
<van-picker show-toolbar :columns="sq_knlxist" @confirm="onSq_knlxConfirm" @cancel="sq_knlxShow = false"></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<template v-if="formData.sq_knlx==1">
|
||||
<van-field label="所在医院" placeholder="请填写所在所在医院" v-model="formData.hospital"></van-field>
|
||||
<van-field label="住院时间" :value="formData.hospitalized_time_name"
|
||||
placeholder="请填写住院时间"
|
||||
@click="hospitalized_timeShow = true"></van-field>
|
||||
<van-calendar v-model="hospitalized_timeShow" :min-date="new Date('1999-01-01')" :show-confirm="false"
|
||||
type="range"
|
||||
@confirm="onHospitalized_timeConfirm"></van-calendar>
|
||||
<van-field
|
||||
label="住院时间"
|
||||
:value="formData.hospitalized_time_name"
|
||||
placeholder="请填写住院时间"
|
||||
@click="hospitalized_timeShow = true"
|
||||
></van-field>
|
||||
<van-calendar
|
||||
v-model="hospitalized_timeShow"
|
||||
:min-date="new Date('1999-01-01')"
|
||||
:show-confirm="false"
|
||||
type="range"
|
||||
@confirm="onHospitalized_timeConfirm"
|
||||
></van-calendar>
|
||||
</template>
|
||||
|
||||
<van-field v-model="formData.apply_reason" name="remark" label="申请理由" style="flex-flow: column"
|
||||
placeholder="请填写申请理由"
|
||||
input-align="left"
|
||||
rows="3" maxlength="200" type="textarea" show-word-limit autosize>
|
||||
<van-field
|
||||
v-model="formData.apply_reason"
|
||||
name="remark"
|
||||
label="申请理由"
|
||||
style="flex-flow: column"
|
||||
placeholder="请填写申请理由"
|
||||
input-align="left"
|
||||
rows="3"
|
||||
maxlength="200"
|
||||
type="textarea"
|
||||
show-word-limit
|
||||
autosize
|
||||
>
|
||||
<template #label>
|
||||
<div class="mb10">申请事由</div>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group inset class="mt10">
|
||||
@@ -109,28 +133,22 @@ layout("/mobile/platform.html"){
|
||||
</van-cell-group>
|
||||
|
||||
<div style="margin: 20px 20px 10px 20px">
|
||||
<van-button @click="onSubmit()" style="border-radius: 10px" block type="info" :color="themeColor">
|
||||
提 交
|
||||
</van-button>
|
||||
<van-button @click="onSubmit()" style="border-radius: 10px" block type="info" :color="themeColor">提 交</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
|
||||
<div>
|
||||
<van-tabbar v-model="tarBarActive" style="z-index: 99">
|
||||
<van-tabbar-item icon="home-o" replace url="/mobile/difficulty/apply/index">困难补助申请
|
||||
</van-tabbar-item>
|
||||
<van-tabbar-item icon="manager-o" replace url="/mobile/difficulty/apply/apply_list">
|
||||
困难补助记录
|
||||
</van-tabbar-item>
|
||||
<van-tabbar-item icon="home-o" replace url="/mobile/difficulty/apply/index">困难补助申请</van-tabbar-item>
|
||||
<van-tabbar-item icon="manager-o" replace url="/mobile/difficulty/apply/apply_list">困难补助记录</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script src="/assets/platform/module/difficulty/common.js?v=1.0.0"></script>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -147,23 +165,23 @@ layout("/mobile/platform.html"){
|
||||
apply_mode: 1
|
||||
},
|
||||
sheetShow: false,
|
||||
files: [],
|
||||
files: []
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue")
|
||||
},
|
||||
methods: {
|
||||
onHospitalized_timeConfirm(val) {
|
||||
this.$set(this.formData, "hospitalized_time_name", moment(val[0]).format('YYYY-MM-DD') + "至" + moment(val[1]).format('YYYY-MM-DD'))
|
||||
this.$set(this.formData, "hospitalized_time", moment(val[0]).format('YYYY-MM-DD') + "至" + moment(val[1]).format('YYYY-MM-DD'))
|
||||
this.$set(this.formData, "hospitalized_time_name", moment(val[0]).format("YYYY-MM-DD") + "至" + moment(val[1]).format("YYYY-MM-DD"))
|
||||
this.$set(this.formData, "hospitalized_time", moment(val[0]).format("YYYY-MM-DD") + "至" + moment(val[1]).format("YYYY-MM-DD"))
|
||||
this.hospitalized_timeShow = false
|
||||
},
|
||||
onSq_bzlxConfirm(val) {
|
||||
this.$set(this.formData, "sq_bzlx_name", val.text)
|
||||
this.$set(this.formData, "sq_bzlx", val.value)
|
||||
for (let i in difficulty.getHard(val.value)) {
|
||||
this.sq_knlxist.push({value: i, text: difficulty.getHard(val.value)[i]})
|
||||
this.sq_knlxist.push({ value: i, text: difficulty.getHard(val.value)[i] })
|
||||
}
|
||||
this.$set(this.formData, "sq_knlx_name", null)
|
||||
this.$set(this.formData, "sq_knlx", null)
|
||||
@@ -173,29 +191,28 @@ layout("/mobile/platform.html"){
|
||||
this.$set(this.formData, "sq_knlx_name", val.text)
|
||||
this.$set(this.formData, "sq_knlx", val.value)
|
||||
this.sq_knlxShow = false
|
||||
|
||||
},
|
||||
applyModeChange(val) {
|
||||
if (val === 1) {
|
||||
this.$set(this.formData, 'difficultyUser', "${@shiro.getPrincipalProperty('id')}")
|
||||
this.$set(this.formData, 'bbzrusername', "${@shiro.getPrincipalProperty('username')}")
|
||||
this.$set(this.formData, 'sex', "${@shiro.getPrincipalProperty('sex')}")
|
||||
this.$set(this.formData, 'zc', "${@shiro.getPrincipalProperty('jobTitle')}")
|
||||
this.$set(this.formData, 'zw', "${@shiro.getPrincipalProperty('position')}")
|
||||
this.$set(this.formData, 'unitname', "${@shiro.getPrincipalProperty('unit').getName()}")
|
||||
this.$set(this.formData, 'birthday', "${@shiro.getPrincipalProperty('birthday')}")
|
||||
this.$set(this.formData, 'lxfs', "${@shiro.getPrincipalProperty('mobile')}")
|
||||
this.$set(this.formData, 'idcard', "${@shiro.getPrincipalProperty('idcard')}")
|
||||
this.$set(this.formData, "difficultyUser", "${@shiro.getPrincipalProperty('id')}")
|
||||
this.$set(this.formData, "bbzrusername", "${@shiro.getPrincipalProperty('username')}")
|
||||
this.$set(this.formData, "sex", "${@shiro.getPrincipalProperty('sex')}")
|
||||
this.$set(this.formData, "zc", "${@shiro.getPrincipalProperty('jobTitle')}")
|
||||
this.$set(this.formData, "zw", "${@shiro.getPrincipalProperty('position')}")
|
||||
this.$set(this.formData, "unitname", "${@shiro.getPrincipalProperty('unit').getName()}")
|
||||
this.$set(this.formData, "birthday", "${@shiro.getPrincipalProperty('birthday')}")
|
||||
this.$set(this.formData, "lxfs", "${@shiro.getPrincipalProperty('mobile')}")
|
||||
this.$set(this.formData, "idcard", "${@shiro.getPrincipalProperty('idcard')}")
|
||||
} else if (val === 2) {
|
||||
this.formData = {}
|
||||
this.$set(this.formData, 'apply_mode', 2)
|
||||
this.$set(this.formData, 'bbzrusername', undefined)
|
||||
this.$set(this.formData, "apply_mode", 2)
|
||||
this.$set(this.formData, "bbzrusername", undefined)
|
||||
}
|
||||
},
|
||||
async userRemoteMethod(query) {
|
||||
if (query) {
|
||||
const {data} = await $.get("/platform/fw/condolence/apply/queryUser", {query})
|
||||
data.forEach(v => {
|
||||
const { data } = await $.get("/platform/fw/condolence/apply/queryUser", { query })
|
||||
data.forEach((v) => {
|
||||
v.name = v.username
|
||||
v.subname = v.loginname
|
||||
return v
|
||||
@@ -205,14 +222,14 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
onUserSelect(val) {
|
||||
this.$set(this.formData, 'difficultyUser', val.id)
|
||||
this.$set(this.formData, 'bbzrusername', val.name)
|
||||
this.$set(this.formData, 'lxfs', val.mobile)
|
||||
this.$set(this.formData, 'sex', val.sex)
|
||||
this.$set(this.formData, 'unitname', val.unitname)
|
||||
this.$set(this.formData, 'zc', val.jobTitle)
|
||||
this.$set(this.formData, 'zw', val.position)
|
||||
this.$set(this.formData, 'birthday', val.birthday)
|
||||
this.$set(this.formData, "difficultyUser", val.id)
|
||||
this.$set(this.formData, "bbzrusername", val.name)
|
||||
this.$set(this.formData, "lxfs", val.mobile)
|
||||
this.$set(this.formData, "sex", val.sex)
|
||||
this.$set(this.formData, "unitname", val.unitname)
|
||||
this.$set(this.formData, "zc", val.jobTitle)
|
||||
this.$set(this.formData, "zw", val.position)
|
||||
this.$set(this.formData, "birthday", val.birthday)
|
||||
this.$set(this.formData, "sq_bzlx_name", this.sq_bzlxList[0].text)
|
||||
this.$set(this.formData, "sq_bzlx", this.sq_bzlxList[0].value)
|
||||
this.sheetShow = false
|
||||
@@ -229,21 +246,21 @@ layout("/mobile/platform.html"){
|
||||
formData.applicantsign = formData.sqsign
|
||||
formData.bbzrusername = formData.difficultyUser
|
||||
formData.flag = true
|
||||
this.$refs['addForm'].validate().then(async () => {
|
||||
this.$toast.loading('提交中...')
|
||||
const res = await $.post('/platform/fw/difficulty/apply/doAdd', formData)
|
||||
this.$refs["addForm"].validate().then(async () => {
|
||||
this.$toast.loading("提交中...")
|
||||
const res = await $.post("/platform/fw/difficulty/apply/doAdd", formData)
|
||||
if (res.code === 0) {
|
||||
this.$toast.success('申请成功');
|
||||
this.$toast.success("申请成功")
|
||||
setTimeout(() => {
|
||||
location.replace('/mobile/difficulty/apply/apply_list')
|
||||
location.replace("/mobile/difficulty/apply/apply_list")
|
||||
}, 1000)
|
||||
} else {
|
||||
this.$toast.fail('申请失败');
|
||||
this.$toast.fail("申请失败")
|
||||
}
|
||||
})
|
||||
},
|
||||
async getApplyInfo(id) {
|
||||
const {data, code, msg} = await $.get("/platform/fw/difficulty/applylist/findOne", {id})
|
||||
const { data, code, msg } = await $.get("/platform/fw/difficulty/applylist/findOne", { id })
|
||||
if (data) {
|
||||
data.apply_mode = parseInt(data.apply_mode)
|
||||
this.formData = data
|
||||
@@ -263,20 +280,19 @@ layout("/mobile/platform.html"){
|
||||
async created() {
|
||||
this.applyModeChange(1)
|
||||
for (let i in difficulty.subsidy) {
|
||||
this.sq_bzlxList.push({value: i, text: difficulty.subsidy[i]})
|
||||
this.sq_bzlxList.push({ value: i, text: difficulty.subsidy[i] })
|
||||
}
|
||||
|
||||
this.$set(this.formData, "sq_bzlx_name", this.sq_bzlxList[0].text)
|
||||
this.$set(this.formData, "sq_bzlx", this.sq_bzlxList[0].value)
|
||||
for (let i in difficulty.getHard(this.formData.sq_bzlx)) {
|
||||
this.sq_knlxist.push({value: i, text: difficulty.getHard(this.formData.sq_bzlx)[i]})
|
||||
this.sq_knlxist.push({ value: i, text: difficulty.getHard(this.formData.sq_bzlx)[i] })
|
||||
}
|
||||
this.formData.apply_time = moment().format('YYYY-MM-DD')
|
||||
this.formData.apply_time = moment().format("YYYY-MM-DD")
|
||||
|
||||
if (this.id) {
|
||||
this.getApplyInfo(this.id)
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<style></style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="困难帮扶申请信息" left-arrow placeholder fixed @click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="困难帮扶申请信息" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div>
|
||||
<difficulty-info :id.sync="id"></difficulty-info>
|
||||
@@ -15,7 +13,7 @@ layout("/mobile/platform.html"){
|
||||
<script src="/assets/platform/module/difficulty/common.js?v=1.0.0"></script>
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -24,15 +22,15 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'difficulty-info': httpVueLoader('/components/mobile/difficulty/info.vue?v=' + new Date().getTime()),
|
||||
"difficulty-info": httpVueLoader("/components/mobile/difficulty/info.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {},
|
||||
async created() {
|
||||
this.id = GetQueryString('id')
|
||||
this.state_id = GetQueryString('state_id')
|
||||
this.id = GetQueryString("id")
|
||||
this.state_id = GetQueryString("state_id")
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -3,10 +3,10 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.apply_btn {
|
||||
animation: come .5s;
|
||||
animation: come 0.5s;
|
||||
position: fixed;
|
||||
top: 20%;
|
||||
right: 0
|
||||
right: 0;
|
||||
}
|
||||
|
||||
@keyframes come {
|
||||
@@ -17,12 +17,11 @@ layout("/mobile/platform.html"){
|
||||
right: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
</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>
|
||||
<van-nav-bar title="困难帮扶申请列表" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
@@ -30,14 +29,11 @@ layout("/mobile/platform.html"){
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
<div style="margin: 60px auto 0 auto">
|
||||
<van-list v-model="loading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="pageData">
|
||||
<van-list v-model="loading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="pageData">
|
||||
<div v-for="o in tableData" class="list-card" @click="openInfo(o.id,o.zt)">
|
||||
<van-cell-group inset>
|
||||
<van-cell :border="false" title="受补助人">
|
||||
<span class="van-ellipsis" style="font-size: 16px;" :style="{color:themeColor}">
|
||||
{{o.sbzrname}}({{o.sbzrloginname}})
|
||||
</span>
|
||||
<span class="van-ellipsis" style="font-size: 16px" :style="{color:themeColor}">{{o.sbzrname}}({{o.sbzrloginname}})</span>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="申请时间">{{o.sqsj}}</van-cell>
|
||||
<van-cell :border="false" title="所属单位">{{o.unitname}}</van-cell>
|
||||
@@ -50,34 +46,30 @@ layout("/mobile/platform.html"){
|
||||
</van-list>
|
||||
</div>
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
visible: true,
|
||||
typeOption: [
|
||||
{value: null, text: '全部'}
|
||||
],
|
||||
typeOption: [{ value: null, text: "全部" }],
|
||||
yearOption: [],
|
||||
pageForm: {
|
||||
year: '',
|
||||
type: ''
|
||||
year: "",
|
||||
type: ""
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue")
|
||||
},
|
||||
methods: {
|
||||
openInfo(id, state) {
|
||||
window.location.href = '/mobile/difficulty/apply/apply_info?id=' + id
|
||||
window.location.href = "/mobile/difficulty/apply/apply_info?id=" + id
|
||||
/* if ([95,96, 100].includes(state)) {
|
||||
window.location.href = '/mobile/difficulty/apply/index?id=' + id
|
||||
}else{
|
||||
@@ -92,19 +84,18 @@ layout("/mobile/platform.html"){
|
||||
listenTouch() {
|
||||
this.$nextTick(() => {
|
||||
const app = document.querySelector("#app")
|
||||
app.addEventListener('touchstart', () => {
|
||||
app.addEventListener("touchstart", () => {
|
||||
this.visible = false
|
||||
})
|
||||
app.addEventListener('touchend', () => {
|
||||
app.addEventListener("touchend", () => {
|
||||
this.visible = true
|
||||
})
|
||||
|
||||
})
|
||||
},
|
||||
pageData() {
|
||||
this.mLoading = true
|
||||
setTimeout(async () => {
|
||||
$.get('/platform/fw/difficulty/applylist/pageData', this.pageForm, (res) => {
|
||||
$.get("/platform/fw/difficulty/applylist/pageData", this.pageForm, (res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -116,7 +107,7 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
this.mLoading = false
|
||||
}, 600)
|
||||
},
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.listenTouch()
|
||||
@@ -124,7 +115,7 @@ layout("/mobile/platform.html"){
|
||||
async created() {
|
||||
this.mLoading = true
|
||||
for (let i = new Date().getFullYear() - 10; i <= new Date().getFullYear(); i++) {
|
||||
this.yearOption.unshift({value: i, text: i + '年'},)
|
||||
this.yearOption.unshift({ value: i, text: i + "年" })
|
||||
}
|
||||
this.$set(this.pageForm, "year", this.yearOption[0].value)
|
||||
this.mLoading = false
|
||||
@@ -133,4 +124,4 @@ layout("/mobile/platform.html"){
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -3,36 +3,24 @@ 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="history.go(-1)"></van-nav-bar>
|
||||
<van-nav-bar title="困难帮扶审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
<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"
|
||||
:options="mCommon.unionList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unitId" @change="yearChange"
|
||||
:options="mCommon.unitList"></van-dropdown-item>
|
||||
|
||||
<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" :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="loading" :finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="pageData">
|
||||
<van-list v-model="loading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="pageData">
|
||||
<div v-for="o in tableData" class="list-card" @click="openView(o)">
|
||||
<van-cell-group inset>
|
||||
<van-cell :border="false" title="受助人">
|
||||
<span class="van-ellipsis" style="font-size: 16px;"
|
||||
:style="{color:themeColor}">
|
||||
{{o.sbzrname}}({{o.sbzrloginname}})
|
||||
</span>
|
||||
<span class="van-ellipsis" style="font-size: 16px" :style="{color:themeColor}">{{o.sbzrname}}({{o.sbzrloginname}})</span>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="申 请 人">{{o.sqrname}}</van-cell>
|
||||
<van-cell :border="false" title="所在工会">{{o.sqrunionname}}</van-cell>
|
||||
@@ -46,18 +34,13 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-list>
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -65,19 +48,19 @@ layout("/mobile/platform.html"){
|
||||
unionList: [],
|
||||
yearList: [],
|
||||
auditList: [
|
||||
{text: '未审核', value: false},
|
||||
{text: '已审核', value: true},
|
||||
{ text: "未审核", value: false },
|
||||
{ text: "已审核", value: true }
|
||||
],
|
||||
handle: true,
|
||||
pageForm: {
|
||||
year: new Date().getFullYear(),
|
||||
isAudit: false,
|
||||
},
|
||||
isAudit: false
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openView(o) {
|
||||
window.location.href = '/mobile/difficulty/audit/auditHtml?zt=' + o.zt + '&id=' + o.id
|
||||
window.location.href = "/mobile/difficulty/audit/auditHtml?zt=" + o.zt + "&id=" + o.id
|
||||
},
|
||||
yearChange() {
|
||||
this.pageForm.pageNumber = 1
|
||||
@@ -89,7 +72,7 @@ layout("/mobile/platform.html"){
|
||||
pageData() {
|
||||
this.mLoading = true
|
||||
setTimeout(async () => {
|
||||
$.get(loc() + '/pageData', this.pageForm, (res) => {
|
||||
$.get(loc() + "/pageData", this.pageForm, (res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -103,7 +86,7 @@ layout("/mobile/platform.html"){
|
||||
}, 600)
|
||||
},
|
||||
async flushUnits() {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('SchoolUnionMemberAdmin')}" === 'true') {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('SchoolUnionMemberAdmin')}" === "true") {
|
||||
await mCommon.getUnitList(this.pageForm.unionId)
|
||||
} else {
|
||||
await mCommon.getUnitList("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
@@ -112,7 +95,7 @@ layout("/mobile/platform.html"){
|
||||
async init() {
|
||||
let nowYear = new Date().getFullYear()
|
||||
for (let i = nowYear; i >= nowYear - 9; i--) {
|
||||
this.yearList.push({text: i, value: i})
|
||||
this.yearList.push({ text: i, value: i })
|
||||
}
|
||||
await mCondolence.getType()
|
||||
await mCommon.getUnionList()
|
||||
@@ -129,7 +112,7 @@ layout("/mobile/platform.html"){
|
||||
this.flushUnits()
|
||||
}
|
||||
})
|
||||
window.addEventListener('pageshow', e => {
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
if (e.persisted || (window.performance && window.performance.navigation.type === 2)) {
|
||||
vue.init()
|
||||
vue.yearChange()
|
||||
@@ -137,7 +120,6 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -3,35 +3,20 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<difficulty-info ref="info" :id.sync="id" title="校工会主席审核" :handle="handle">
|
||||
<template #handle>
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
校工会主席审核
|
||||
</div>
|
||||
<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 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.xghbzje" label="初审金额"></van-field>
|
||||
|
||||
<van-field v-model="formData.opinion"
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
<van-field v-model="formData.opinion" rows="1" autosize label="审核意见" type="textarea" placeholder="请输入审核意见"></van-field>
|
||||
|
||||
<van-field label="签字" required style="flex-flow: column">
|
||||
<template #label>
|
||||
@@ -42,52 +27,42 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<van-row gutter="20" style="margin-top: 30px; padding: 0 25px">
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝
|
||||
</van-button>
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝</van-button>
|
||||
</van-col>
|
||||
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">返回修改
|
||||
</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">返回修改</van-button>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(2)">通 过
|
||||
</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(2)">通 过</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
</difficulty-info>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
handle: true,
|
||||
id: "",
|
||||
formData: {},
|
||||
formData: {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
'difficulty-info': httpVueLoader('/components/mobile/difficulty/info.vue?v=' + new Date().getTime()),
|
||||
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue"),
|
||||
"difficulty-info": httpVueLoader("/components/mobile/difficulty/info.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {
|
||||
|
||||
async doAudit(pass) {
|
||||
if (!this.formData.opinion) {
|
||||
this.$toast.fail('请填写审核意见');
|
||||
this.$toast.fail("请填写审核意见")
|
||||
return
|
||||
}
|
||||
this.$refs.signature.submitSign()
|
||||
@@ -96,14 +71,14 @@ layout("/mobile/platform.html"){
|
||||
this.formData.pass = pass
|
||||
const resp = await $.post("/platform/fw/difficulty/schoolmanager/doReview", this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success('审核成功');
|
||||
this.$toast.success("审核成功")
|
||||
setTimeout(() => {
|
||||
history.back()
|
||||
}, 1000)
|
||||
} else {
|
||||
this.$toast.fail('审核失败');
|
||||
this.$toast.fail("审核失败")
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.id = GetQueryString("id")
|
||||
@@ -111,19 +86,16 @@ layout("/mobile/platform.html"){
|
||||
this.formData = {
|
||||
id: this.id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
auditTime: moment().format("YYYY-MM-DD"),
|
||||
auditOpinion: null,
|
||||
auditSign: "",
|
||||
xghbzje: this.$refs.info.viewData.xghbzje
|
||||
}
|
||||
}, 300)
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -3,34 +3,26 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="困难帮扶审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
|
||||
<van-nav-bar title="困难帮扶审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<difficulty-info ref="info" :id.sync="id" title="分工会审核" :handle="handle">
|
||||
<template #handle>
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
分工会主席审核
|
||||
</div>
|
||||
<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 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.auditOpinion"
|
||||
required
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
<van-field
|
||||
v-model="formData.auditOpinion"
|
||||
required
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<van-field label="签字" required style="flex-flow: column">
|
||||
@@ -42,82 +34,71 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<van-row gutter="20" style="margin-top: 30px; padding: 0 25px">
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝
|
||||
</van-button>
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝</van-button>
|
||||
</van-col>
|
||||
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(2)">返回修改
|
||||
</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(2)">返回修改</van-button>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过
|
||||
</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
</difficulty-info>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
handle: true,
|
||||
id: "",
|
||||
formData: {},
|
||||
formData: {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
'difficulty-info': httpVueLoader('/components/mobile/difficulty/info.vue?v=' + new Date().getTime()),
|
||||
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue"),
|
||||
"difficulty-info": httpVueLoader("/components/mobile/difficulty/info.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {
|
||||
|
||||
async doAudit(pass) {
|
||||
if (!this.formData.auditOpinion) {
|
||||
this.$toast.fail('请填写审核意见');
|
||||
this.$toast.fail("请填写审核意见")
|
||||
return
|
||||
}
|
||||
this.$refs.signature.submitSign()
|
||||
await this.$refs.signature.updateSign()
|
||||
this.formData.pass = pass
|
||||
const resp = await $.post("/platform/fw/difficulty/unionchairman/doReview", this.formData)
|
||||
if(resp.code===0){
|
||||
this.$toast.success('审核成功');
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success("审核成功")
|
||||
setTimeout(() => {
|
||||
location.href = '/mobile/difficulty/audit'
|
||||
location.href = "/mobile/difficulty/audit"
|
||||
}, 1000)
|
||||
}else{
|
||||
this.$toast.fail('审核失败');
|
||||
} else {
|
||||
this.$toast.fail("审核失败")
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.id = GetQueryString("id")
|
||||
this.formData = {
|
||||
id: this.id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
auditTime: moment().format("YYYY-MM-DD"),
|
||||
auditOpinion: null,
|
||||
auditSign: ""
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -3,7 +3,6 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.van-doc-card {
|
||||
background-color: #fff;
|
||||
border-radius: 6px;
|
||||
@@ -30,7 +29,7 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.van-card-body {
|
||||
padding: 0px 10px 0px 10px
|
||||
padding: 0px 10px 0px 10px;
|
||||
}
|
||||
|
||||
.join_content {
|
||||
@@ -101,7 +100,8 @@ layout("/mobile/platform.html"){
|
||||
width: 90% !important;
|
||||
}
|
||||
|
||||
.van-hairline--top-bottom::after, .van-hairline-unset--top-bottom::after {
|
||||
.van-hairline--top-bottom::after,
|
||||
.van-hairline-unset--top-bottom::after {
|
||||
border: none;
|
||||
}
|
||||
|
||||
@@ -116,27 +116,20 @@ layout("/mobile/platform.html"){
|
||||
padding-left: 20px;
|
||||
padding-right: 10px;
|
||||
position: relative;
|
||||
height: 100px
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<van-sticky>
|
||||
<van-nav-bar title="体检套餐选择" left-arrow
|
||||
@click-left="history.go(-1)"></van-nav-bar>
|
||||
<van-nav-bar title="体检套餐选择" left-arrow @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
</van-sticky>
|
||||
|
||||
<div class="join_content">
|
||||
|
||||
<van-form @submit="joinSubmit">
|
||||
|
||||
<div class="van-doc-card" style="margin-bottom: 16px">
|
||||
<div></div>
|
||||
<div class="van-card-header">
|
||||
体检套餐
|
||||
</div>
|
||||
<div class="van-card-header">体检套餐</div>
|
||||
<div class="van-card-body">
|
||||
<van-radio-group v-model="formData.subjectId" class="basic">
|
||||
<van-cell-group>
|
||||
@@ -144,9 +137,9 @@ layout("/mobile/platform.html"){
|
||||
<template #label>
|
||||
<div style="display: flex; justify-content: space-between; width: 100%; padding: 10px 0">
|
||||
<van-image
|
||||
:src="FILE_STREAM_PREVIEW_ADDRESS+'?id='+item.imgUrl"
|
||||
fit="contain"
|
||||
style="width: 60px; height: 60px; border-radius: 10px; margin-left: 10px"
|
||||
:src="FILE_STREAM_PREVIEW_ADDRESS+'?id='+item.imgUrl"
|
||||
fit="contain"
|
||||
style="width: 60px; height: 60px; border-radius: 10px; margin-left: 10px"
|
||||
></van-image>
|
||||
<div>{{ item.optionName }}</div>
|
||||
</div>
|
||||
@@ -165,14 +158,19 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div class="van-doc-card" style="margin-bottom: 16px">
|
||||
<div></div>
|
||||
<div class="van-card-header">
|
||||
基础信息
|
||||
</div>
|
||||
<div class="van-card-header">基础信息</div>
|
||||
<div class="van-card-body">
|
||||
<van-field @click="campusVisible = true" readonly is-link label="院区" name="campus"
|
||||
placeholder="请选择体检院区" v-model="formData.campusName"
|
||||
:rules="[{ required: true }]"></van-field>
|
||||
<!-- <van-field :rules="[{ required: true, message: '请选择家属是否体检' }]" label="家属体检" name="validator">
|
||||
<van-field
|
||||
@click="campusVisible = true"
|
||||
readonly
|
||||
is-link
|
||||
label="院区"
|
||||
name="campus"
|
||||
placeholder="请选择体检院区"
|
||||
v-model="formData.campusName"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<!-- <van-field :rules="[{ required: true, message: '请选择家属是否体检' }]" label="家属体检" name="validator">
|
||||
<template #input>
|
||||
<van-radio-group direction="horizontal" v-model="formData.isFamily" disabled>
|
||||
<van-radio name="是" shape="square">是</van-radio>
|
||||
@@ -186,7 +184,7 @@ layout("/mobile/platform.html"){
|
||||
<div class="van-doc-card" style="margin-bottom: 16px" v-if="formData.isFamily === '是'">
|
||||
<div></div>
|
||||
<div class="van-card-header" style="display: flex; justify-content: space-between; align-items: center">
|
||||
<span style="float:left;">家属信息</span>
|
||||
<span style="float: left">家属信息</span>
|
||||
<div>
|
||||
<van-tag @click="delCompanion" size="large" type="primary" color="lightgrey">删除家属</van-tag>
|
||||
<van-tag @click="addCompanion" size="large" type="primary" color="#1867b0">添加家属</van-tag>
|
||||
@@ -195,8 +193,13 @@ layout("/mobile/platform.html"){
|
||||
<div v-if="formData.companionList.length > 0" class="van-card-body">
|
||||
<van-tabs v-model="active" type="card" color="#0e78c5" animated>
|
||||
<van-tab v-for="item, index in formData.companionList" :title="'家属' + (index + 1)">
|
||||
<van-field label="姓名" name="userName" placeholder="请填写姓名" v-model="item.userName"
|
||||
:rules="[{ required: true }]"></van-field>
|
||||
<van-field
|
||||
label="姓名"
|
||||
name="userName"
|
||||
placeholder="请填写姓名"
|
||||
v-model="item.userName"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field :rules="[{ required: true, message: '请选择性别' }]" label="性别" name="validator">
|
||||
<template #input>
|
||||
<van-radio-group direction="horizontal" v-model="item.sex">
|
||||
@@ -213,64 +216,79 @@ layout("/mobile/platform.html"){
|
||||
</van-radio-group>
|
||||
</template>
|
||||
</van-field>
|
||||
<van-field label="年龄" name="age" placeholder="请填写年龄" type="digit"
|
||||
:rules="[{ required: true }]" v-model="item.age"></van-field>
|
||||
<van-field label="身份证号" name="idCard" placeholder="请填写身份证号" type="digit"
|
||||
:rules="[{ required: true }]" v-model="item.idCard"></van-field>
|
||||
<van-field label="手机号" name="mobile" placeholder="请填写手机号" type="digit"
|
||||
:rules="[{ required: true }]" v-model="item.mobile"></van-field>
|
||||
<van-field
|
||||
label="年龄"
|
||||
name="age"
|
||||
placeholder="请填写年龄"
|
||||
type="digit"
|
||||
:rules="[{ required: true }]"
|
||||
v-model="item.age"
|
||||
></van-field>
|
||||
<van-field
|
||||
label="身份证号"
|
||||
name="idCard"
|
||||
placeholder="请填写身份证号"
|
||||
type="digit"
|
||||
:rules="[{ required: true }]"
|
||||
v-model="item.idCard"
|
||||
></van-field>
|
||||
<van-field
|
||||
label="手机号"
|
||||
name="mobile"
|
||||
placeholder="请填写手机号"
|
||||
type="digit"
|
||||
:rules="[{ required: true }]"
|
||||
v-model="item.mobile"
|
||||
></van-field>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
</div>
|
||||
<div v-if="formData.companionList.length == 0" class="empty_text">
|
||||
<span>
|
||||
如有家属,请添加家属
|
||||
</span>
|
||||
<span>如有家属,请添加家属</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<van-button class="join join_submit">提交选择</van-button>
|
||||
</div>
|
||||
|
||||
</van-form>
|
||||
|
||||
</div>
|
||||
|
||||
<!--体检院区弹出框-->
|
||||
<van-popup position="bottom" round v-model="campusVisible">
|
||||
<van-picker
|
||||
title="院区" show-toolbar
|
||||
:columns="campusList" value-key="campusName"
|
||||
@confirm="(value, index) => {formData.campusName = value.campusName; formData.campus = value.id; campusVisible = false}"
|
||||
@cancel="campusVisible = false">
|
||||
</van-picker>
|
||||
title="院区"
|
||||
show-toolbar
|
||||
:columns="campusList"
|
||||
value-key="campusName"
|
||||
@confirm="(value, index) => {formData.campusName = value.campusName; formData.campus = value.id; campusVisible = false}"
|
||||
@cancel="campusVisible = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<!--查看说明-->
|
||||
<van-popup position="bottom" round v-model="descVisible" :style="{ height: '60%' }">
|
||||
<div v-html="desc" class="pre_text"></div>
|
||||
</van-popup>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
id: '',
|
||||
selectId: '',
|
||||
id: "",
|
||||
selectId: "",
|
||||
active: 0,
|
||||
project: {},
|
||||
formData: {
|
||||
companionList: [],
|
||||
isFamily: '否',
|
||||
isFamily: "否"
|
||||
},
|
||||
campusList: [],
|
||||
campusVisible: false,
|
||||
descVisible: false,
|
||||
desc: '',
|
||||
desc: ""
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -279,111 +297,112 @@ layout("/mobile/platform.html"){
|
||||
this.desc = o.description
|
||||
this.descVisible = true
|
||||
} else {
|
||||
vant.Toast('暂无详细说明')
|
||||
vant.Toast("暂无详细说明")
|
||||
}
|
||||
},
|
||||
async joinSubmit() {
|
||||
if (!this.formData.subjectId) {
|
||||
vant.Toast('请选择体检套餐')
|
||||
vant.Toast("请选择体检套餐")
|
||||
return
|
||||
}
|
||||
//如果等于家属
|
||||
if (this.project.healthCheckupType === 'js' && this.formData.companionList && this.formData.companionList.length === 0) {
|
||||
vant.Toast('当前体检项目需要填写家属信息,请填写家属信息。')
|
||||
if (this.project.healthCheckupType === "js" && this.formData.companionList && this.formData.companionList.length === 0) {
|
||||
vant.Toast("当前体检项目需要填写家属信息,请填写家属信息。")
|
||||
return
|
||||
}
|
||||
const p = this.project.healthCheckupProjectSubjects.find(o => o.id === this.formData.subjectId)
|
||||
const res = await $.post('/mobile/healthCheckup/validCondition', {
|
||||
cndId: p.conditionStructureId,
|
||||
const p = this.project.healthCheckupProjectSubjects.find((o) => o.id === this.formData.subjectId)
|
||||
const res = await $.post("/mobile/healthCheckup/validCondition", {
|
||||
cndId: p.conditionStructureId
|
||||
})
|
||||
if (res.code !== 0) {
|
||||
vant.Dialog.alert({
|
||||
title: '提示',
|
||||
title: "提示",
|
||||
message: res.msg,
|
||||
confirmButtonColor: '#1867b0'
|
||||
confirmButtonColor: "#1867b0"
|
||||
})
|
||||
return
|
||||
}
|
||||
vant.Dialog.confirm({
|
||||
title: '温馨提醒',
|
||||
message: '您确定要选择' + p.optionName + '吗?',
|
||||
}).then(async () => {
|
||||
const toast = vant.Toast.loading({
|
||||
duration: 0,
|
||||
forbidClick: true,
|
||||
overlay: true,
|
||||
message: '努力提交中',
|
||||
})
|
||||
const cloneData = clone(this.formData)
|
||||
if (cloneData.isFmaily === '否') {
|
||||
cloneData.companionList = []
|
||||
}
|
||||
cloneData.companionList.forEach((item, index) => {
|
||||
if (item.userName === '') {
|
||||
cloneData.companionList.splice(index, 1)
|
||||
}
|
||||
})
|
||||
cloneData.projectId = this.id
|
||||
const resp = await $.post('/mobile/healthCheckup/doSubmit', {
|
||||
userSelection: JSON.stringify(cloneData),
|
||||
})
|
||||
setTimeout(() => {
|
||||
if (resp.code === 0) {
|
||||
toast.message = '提交成功'
|
||||
toast.type = 'success'
|
||||
} else {
|
||||
toast.message = resp.msg
|
||||
toast.type = 'fail'
|
||||
}
|
||||
setTimeout(() => {
|
||||
toast.clear()
|
||||
}, 500)
|
||||
if (resp.code === 0) {
|
||||
location.href = '/mobile/healthCheckup/mine'
|
||||
}
|
||||
}, 1000)
|
||||
}).catch(() => {
|
||||
title: "温馨提醒",
|
||||
message: "您确定要选择" + p.optionName + "吗?"
|
||||
})
|
||||
.then(async () => {
|
||||
const toast = vant.Toast.loading({
|
||||
duration: 0,
|
||||
forbidClick: true,
|
||||
overlay: true,
|
||||
message: "努力提交中"
|
||||
})
|
||||
const cloneData = clone(this.formData)
|
||||
if (cloneData.isFmaily === "否") {
|
||||
cloneData.companionList = []
|
||||
}
|
||||
cloneData.companionList.forEach((item, index) => {
|
||||
if (item.userName === "") {
|
||||
cloneData.companionList.splice(index, 1)
|
||||
}
|
||||
})
|
||||
cloneData.projectId = this.id
|
||||
const resp = await $.post("/mobile/healthCheckup/doSubmit", {
|
||||
userSelection: JSON.stringify(cloneData)
|
||||
})
|
||||
setTimeout(() => {
|
||||
if (resp.code === 0) {
|
||||
toast.message = "提交成功"
|
||||
toast.type = "success"
|
||||
} else {
|
||||
toast.message = resp.msg
|
||||
toast.type = "fail"
|
||||
}
|
||||
setTimeout(() => {
|
||||
toast.clear()
|
||||
}, 500)
|
||||
if (resp.code === 0) {
|
||||
location.href = "/mobile/healthCheckup/mine"
|
||||
}
|
||||
}, 1000)
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
addCompanion() {
|
||||
this.formData.companionList.push({userName: '', sex: '', marry: '',})
|
||||
this.formData.companionList.push({ userName: "", sex: "", marry: "" })
|
||||
},
|
||||
delCompanion() {
|
||||
this.formData.companionList.splice(this.active, 1)
|
||||
},
|
||||
//查询有哪些体检套餐
|
||||
async findSubject() {
|
||||
const resp = await $.post('/platform/healthCheckup/project/mange/findOne', {id: this.id})
|
||||
const resp = await $.post("/platform/healthCheckup/project/mange/findOne", { id: this.id })
|
||||
this.project = resp.data
|
||||
this.formData.isFamily = this.project.healthCheckupType === 'jzg' ? "否" : "是"
|
||||
this.formData.isFamily = this.project.healthCheckupType === "jzg" ? "否" : "是"
|
||||
//const sex = "${@shiro.getPrincipalProperty('sex')}";
|
||||
//this.project.healthCheckupProjectSubjects = this.project.healthCheckupProjectSubjects.filter(o => o.sex === sex || o.sex === '' || o.sex === null)
|
||||
},
|
||||
//获取院区
|
||||
async getCampus() {
|
||||
const resp = await $.post('/mobile/healthCheckup/getCampus')
|
||||
const resp = await $.post("/mobile/healthCheckup/getCampus")
|
||||
this.campusList = resp.data
|
||||
},
|
||||
//获取报名信息
|
||||
async getSelectInfo() {
|
||||
const resp = await $.post('/mobile/healthCheckup/getSelectInfo', {id: this.selectId})
|
||||
const resp = await $.post("/mobile/healthCheckup/getSelectInfo", { id: this.selectId })
|
||||
this.formData = resp.data
|
||||
const o = this.campusList.find(o => o.id === this.formData.campus)
|
||||
const o = this.campusList.find((o) => o.id === this.formData.campus)
|
||||
this.formData.campusName = o.campusName
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.id = GetQueryString('projectId')
|
||||
this.selectId = GetQueryString('selectId')
|
||||
this.id = GetQueryString("projectId")
|
||||
this.selectId = GetQueryString("selectId")
|
||||
await this.getCampus()
|
||||
if (GetQueryString('selectId')) {
|
||||
if (GetQueryString("selectId")) {
|
||||
await this.getSelectInfo()
|
||||
}
|
||||
await this.findSubject()
|
||||
},
|
||||
}
|
||||
})
|
||||
window.onload = () => {
|
||||
window.addEventListener('pageshow', e => {
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
if (e.persisted) {
|
||||
window.location.reload()
|
||||
}
|
||||
|
||||
@@ -3,205 +3,199 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
.list-card {
|
||||
position: relative;
|
||||
margin: 10px;
|
||||
background-color: #fff;
|
||||
border-radius: 6px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.list-card {
|
||||
position: relative;
|
||||
margin: 10px;
|
||||
background-color: #fff;
|
||||
border-radius: 6px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
width: auto;
|
||||
}
|
||||
.list-card > .content {
|
||||
padding: 16px 10px;
|
||||
display: flex;
|
||||
max-height: 100px;
|
||||
}
|
||||
|
||||
.list-card > .content {
|
||||
padding: 16px 10px;
|
||||
display: flex;
|
||||
max-height: 100px;
|
||||
}
|
||||
.content-right {
|
||||
width: calc(100% - 150px);
|
||||
max-width: calc(100% - 150px);
|
||||
padding-left: 15px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.content-right {
|
||||
width: calc(100% - 150px);
|
||||
max-width: calc(100% - 150px);
|
||||
padding-left: 15px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.cr-title {
|
||||
/*max-height: 40px;*/
|
||||
line-height: 20px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.cr-title {
|
||||
/*max-height: 40px;*/
|
||||
line-height: 20px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
font-weight: bold;
|
||||
}
|
||||
.concat,
|
||||
.mobile,
|
||||
.union {
|
||||
font-size: 13px;
|
||||
line-height: 18px;
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.concat, .mobile, .union {
|
||||
font-size: 13px;
|
||||
line-height: 18px;
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
.operateDiv {
|
||||
text-align: right;
|
||||
padding-right: 10px;
|
||||
padding-bottom: 6px;
|
||||
}
|
||||
|
||||
.operateDiv {
|
||||
text-align: right;
|
||||
padding-right: 10px;
|
||||
padding-bottom: 6px;
|
||||
}
|
||||
.operateDiv .van-button {
|
||||
height: 28px;
|
||||
border-radius: 8px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
.operateDiv .van-button {
|
||||
height: 28px;
|
||||
border-radius: 8px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
.desc_info div {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.tag {
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
background-color: #1867b0;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
top: 0px;
|
||||
border-radius: 6px;
|
||||
right: -3px;
|
||||
padding: 0px 6px;
|
||||
transform: rotate(16deg);
|
||||
}
|
||||
.desc_info div {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.tag {
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
background-color: #1867b0;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
top: 0px;
|
||||
border-radius: 6px;
|
||||
right: -3px;
|
||||
padding: 0px 6px;
|
||||
transform: rotate(16deg);
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-sticky>
|
||||
<van-nav-bar title="体检套餐列表" left-arrow @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
</van-sticky>
|
||||
|
||||
<van-sticky>
|
||||
<van-nav-bar title="体检套餐列表" left-arrow
|
||||
@click-left="history.go(-1)"></van-nav-bar>
|
||||
</van-sticky>
|
||||
<van-sticky>
|
||||
<van-tabs v-model="pageForm.tabName" @change="tabChange">
|
||||
<van-tab title="进行中" name="ing"></van-tab>
|
||||
<van-tab title="已结束" name="end"></van-tab>
|
||||
</van-tabs>
|
||||
</van-sticky>
|
||||
|
||||
<van-sticky>
|
||||
<van-tabs v-model="pageForm.tabName" @change="tabChange">
|
||||
<van-tab title="进行中" name="ing"></van-tab>
|
||||
<van-tab title="已结束" name="end"></van-tab>
|
||||
</van-tabs>
|
||||
</van-sticky>
|
||||
|
||||
<template v-if="vLoading && !vLoading.value">
|
||||
<van-list :finished="finished" :finished-text="tableData.length>0?'没有更多了':''"
|
||||
v-if="tableData && tableData.length>0"
|
||||
v-model="loading"
|
||||
@load="pageData">
|
||||
<div class="list-card" v-for="o in tableData">
|
||||
<div @click="toCheckUp(o)" class="content">
|
||||
<van-image
|
||||
height="76"
|
||||
radius="8"
|
||||
:src="FILE_STREAM_PREVIEW_ADDRESS+'?id='+o.cover"
|
||||
width="100">
|
||||
</van-image>
|
||||
<div class="content-right">
|
||||
<div v-if="o.selectCount <= 0" class="tag">未选择</div>
|
||||
<div v-else class="tag" style="background-color: green">已选择</div>
|
||||
<div class="cr-title">
|
||||
<span>{{o.name}}</span>
|
||||
<template v-if="vLoading && !vLoading.value">
|
||||
<van-list
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
v-if="tableData && tableData.length>0"
|
||||
v-model="loading"
|
||||
@load="pageData"
|
||||
>
|
||||
<div class="list-card" v-for="o in tableData">
|
||||
<div @click="toCheckUp(o)" class="content">
|
||||
<van-image height="76" radius="8" :src="FILE_STREAM_PREVIEW_ADDRESS+'?id='+o.cover" width="100"></van-image>
|
||||
<div class="content-right">
|
||||
<div v-if="o.selectCount <= 0" class="tag">未选择</div>
|
||||
<div v-else class="tag" style="background-color: green">已选择</div>
|
||||
<div class="cr-title">
|
||||
<span>{{o.name}}</span>
|
||||
</div>
|
||||
<div class="desc_info">
|
||||
<div class="concat">
|
||||
<span>开始时间:</span>
|
||||
{{moment(o.choiceTimeStart).format('YYYY/MM/DD HH:mm')}}
|
||||
</div>
|
||||
<div class="mobile">
|
||||
<span>结束时间:</span>
|
||||
{{moment(o.choiceTimeEnd).format('YYYY/MM/DD HH:mm')}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="desc_info">
|
||||
<div class="concat">
|
||||
<span>开始时间:</span>
|
||||
{{moment(o.choiceTimeStart).format('YYYY/MM/DD HH:mm')}}
|
||||
</div>
|
||||
<div class="mobile">
|
||||
<span>结束时间:</span>
|
||||
{{moment(o.choiceTimeEnd).format('YYYY/MM/DD HH:mm')}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty v-else description="暂无数据"></van-empty>
|
||||
</template>
|
||||
|
||||
|
||||
</van-list>
|
||||
<van-empty v-else description="暂无数据"></van-empty>
|
||||
</template>
|
||||
</div>
|
||||
<script>
|
||||
new Vue({
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
tabName: 'ing',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
toCheckUp(o) {
|
||||
if(o.selectCount > 0) {
|
||||
vant.Dialog.alert({
|
||||
title: '温馨提示',
|
||||
message: '此项活动您已选择',
|
||||
})
|
||||
return
|
||||
new Vue({
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
tabName: "ing"
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
toCheckUp(o) {
|
||||
if (o.selectCount > 0) {
|
||||
vant.Dialog.alert({
|
||||
title: "温馨提示",
|
||||
message: "此项活动您已选择"
|
||||
})
|
||||
return
|
||||
}
|
||||
//当前时间
|
||||
const nowDate = moment().unix()
|
||||
//结束时间
|
||||
const endDate = moment(o.choiceTimeEnd).unix()
|
||||
if (nowDate > endDate) {
|
||||
vant.Dialog.alert({
|
||||
title: "温馨提示",
|
||||
message: "选择时间已过"
|
||||
})
|
||||
} else {
|
||||
location.href = "/mobile/healthCheckup/checkUp?projectId=" + o.id
|
||||
}
|
||||
},
|
||||
tabChange(val) {
|
||||
this.tabName = val
|
||||
this.startLoading()
|
||||
this.tableData = []
|
||||
this.pageForm.pageNumber = 1
|
||||
this.pageData()
|
||||
this.closeLoading()
|
||||
},
|
||||
async pageData() {
|
||||
this.mLoading = true
|
||||
const resp = await $.post("/mobile/healthCheckup/pageData", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
this.tableData = this.tableData.concat(resp.data.list)
|
||||
if (this.tableData.length === resp.data.totalCount) {
|
||||
this.finished = true
|
||||
} else {
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
}
|
||||
this.loading = false
|
||||
this.mLoading = false
|
||||
},
|
||||
init() {
|
||||
this.startLoading()
|
||||
this.pageForm.tabName = "ing"
|
||||
this.pageData()
|
||||
this.closeLoading()
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.init()
|
||||
}
|
||||
//当前时间
|
||||
const nowDate = moment().unix()
|
||||
//结束时间
|
||||
const endDate = moment(o.choiceTimeEnd).unix()
|
||||
if(nowDate > endDate) {
|
||||
vant.Dialog.alert({
|
||||
title: '温馨提示',
|
||||
message: '选择时间已过',
|
||||
})
|
||||
} else {
|
||||
location.href = '/mobile/healthCheckup/checkUp?projectId=' + o.id
|
||||
}
|
||||
},
|
||||
tabChange(val) {
|
||||
this.tabName = val
|
||||
this.startLoading()
|
||||
this.tableData = []
|
||||
this.pageForm.pageNumber = 1
|
||||
this.pageData()
|
||||
this.closeLoading()
|
||||
},
|
||||
async pageData() {
|
||||
this.mLoading = true
|
||||
const resp = await $.post('/mobile/healthCheckup/pageData', this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
this.tableData = this.tableData.concat(resp.data.list)
|
||||
if (this.tableData.length === resp.data.totalCount) {
|
||||
this.finished = true
|
||||
} else {
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
}
|
||||
this.loading = false
|
||||
this.mLoading = false
|
||||
},
|
||||
init() {
|
||||
this.startLoading()
|
||||
this.pageForm.tabName = 'ing'
|
||||
this.pageData()
|
||||
this.closeLoading()
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.init()
|
||||
},
|
||||
})
|
||||
window.onload = () => {
|
||||
window.addEventListener('pageshow', e => {
|
||||
if (e.persisted) {
|
||||
window.location.reload()
|
||||
}
|
||||
})
|
||||
}
|
||||
window.onload = () => {
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
if (e.persisted) {
|
||||
window.location.reload()
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
|
||||
@@ -3,204 +3,194 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
.list-card {
|
||||
position: relative;
|
||||
margin: 10px;
|
||||
background-color: #fff;
|
||||
border-radius: 6px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.list-card {
|
||||
position: relative;
|
||||
margin: 10px;
|
||||
background-color: #fff;
|
||||
border-radius: 6px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
width: auto;
|
||||
}
|
||||
.list-card > .content {
|
||||
padding: 16px 10px;
|
||||
display: flex;
|
||||
max-height: 100px;
|
||||
}
|
||||
|
||||
.list-card > .content {
|
||||
padding: 16px 10px;
|
||||
display: flex;
|
||||
max-height: 100px;
|
||||
}
|
||||
.content-right {
|
||||
width: calc(100% - 150px);
|
||||
max-width: calc(100% - 150px);
|
||||
padding-left: 15px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.content-right {
|
||||
width: calc(100% - 150px);
|
||||
max-width: calc(100% - 150px);
|
||||
padding-left: 15px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.cr-title {
|
||||
/*max-height: 40px;*/
|
||||
line-height: 20px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.cr-title {
|
||||
/*max-height: 40px;*/
|
||||
line-height: 20px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
font-weight: bold;
|
||||
}
|
||||
.concat,
|
||||
.mobile,
|
||||
.union {
|
||||
font-size: 13px;
|
||||
line-height: 18px;
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.concat, .mobile, .union {
|
||||
font-size: 13px;
|
||||
line-height: 18px;
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
.operateDiv {
|
||||
text-align: right;
|
||||
padding-right: 10px;
|
||||
padding-bottom: 6px;
|
||||
}
|
||||
|
||||
.operateDiv {
|
||||
text-align: right;
|
||||
padding-right: 10px;
|
||||
padding-bottom: 6px;
|
||||
}
|
||||
|
||||
.operateDiv .van-button {
|
||||
height: 28px;
|
||||
border-radius: 8px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
.desc_info div {
|
||||
font-size: 12px;
|
||||
}
|
||||
.operateDiv .van-button {
|
||||
height: 28px;
|
||||
border-radius: 8px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
.desc_info div {
|
||||
font-size: 12px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-sticky>
|
||||
<van-nav-bar title="我选择的体检套餐" left-arrow @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
</van-sticky>
|
||||
|
||||
<van-sticky>
|
||||
<van-nav-bar title="我选择的体检套餐" left-arrow
|
||||
@click-left="location.href='/mobile/index'"></van-nav-bar>
|
||||
</van-sticky>
|
||||
<van-sticky>
|
||||
<van-tabs v-model="pageForm.tabName" @change="tabChange">
|
||||
<van-tab title="进行中" name="ing"></van-tab>
|
||||
<van-tab title="已结束" name="end"></van-tab>
|
||||
</van-tabs>
|
||||
</van-sticky>
|
||||
|
||||
<van-sticky>
|
||||
<van-tabs v-model="pageForm.tabName" @change="tabChange">
|
||||
<van-tab title="进行中" name="ing"></van-tab>
|
||||
<van-tab title="已结束" name="end"></van-tab>
|
||||
</van-tabs>
|
||||
</van-sticky>
|
||||
|
||||
<template v-if="vLoading && !vLoading.value">
|
||||
<van-list :finished="finished" :finished-text="tableData.length>0?'没有更多了':''"
|
||||
v-if="tableData && tableData.length>0"
|
||||
v-model="loading"
|
||||
@load="pageData">
|
||||
|
||||
<div class="list-card" v-for="o in tableData">
|
||||
<div class="content">
|
||||
<van-image
|
||||
height="76"
|
||||
radius="8"
|
||||
:src="FILE_STREAM_PREVIEW_ADDRESS+'?id='+o.cover"
|
||||
width="100">
|
||||
</van-image>
|
||||
<div class="content-right">
|
||||
<div class="cr-title">
|
||||
<span>{{o.name}}</span>
|
||||
<template v-if="vLoading && !vLoading.value">
|
||||
<van-list
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
v-if="tableData && tableData.length>0"
|
||||
v-model="loading"
|
||||
@load="pageData"
|
||||
>
|
||||
<div class="list-card" v-for="o in tableData">
|
||||
<div class="content">
|
||||
<van-image height="76" radius="8" :src="FILE_STREAM_PREVIEW_ADDRESS+'?id='+o.cover" width="100"></van-image>
|
||||
<div class="content-right">
|
||||
<div class="cr-title">
|
||||
<span>{{o.name}}</span>
|
||||
</div>
|
||||
<div class="desc_info">
|
||||
<div class="concat">
|
||||
<span>开始时间:</span>
|
||||
{{moment(o.choiceTimeStart).format('YYYY/MM/DD HH:mm')}}
|
||||
</div>
|
||||
<div class="mobile">
|
||||
<span>结束时间:</span>
|
||||
{{moment(o.choiceTimeEnd).format('YYYY/MM/DD HH:mm')}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="operateDiv">
|
||||
<van-button @click="edit(o)" v-if="moment().unix() < moment(o.choiceTimeEnd).unix()" type="info" size="small" color="#1867b0">
|
||||
修 改
|
||||
</van-button>
|
||||
<van-button @click="cancel(o)" v-if="moment().unix() < moment(o.choiceTimeEnd).unix()" type="info" size="small" color="#1867b0">
|
||||
取 消
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="desc_info">
|
||||
<div class="concat">
|
||||
<span>开始时间:</span>
|
||||
{{moment(o.choiceTimeStart).format('YYYY/MM/DD HH:mm')}}
|
||||
</div>
|
||||
<div class="mobile">
|
||||
<span>结束时间:</span>
|
||||
{{moment(o.choiceTimeEnd).format('YYYY/MM/DD HH:mm')}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="operateDiv">
|
||||
|
||||
<van-button @click="edit(o)" v-if="moment().unix() < moment(o.choiceTimeEnd).unix()"
|
||||
type="info" size="small" color="#1867b0">
|
||||
修 改
|
||||
</van-button>
|
||||
<van-button @click="cancel(o)" v-if="moment().unix() < moment(o.choiceTimeEnd).unix()"
|
||||
type="info" size="small" color="#1867b0">
|
||||
取 消
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty v-else description="暂无数据"></van-empty>
|
||||
</template>
|
||||
|
||||
</van-list>
|
||||
<van-empty v-else description="暂无数据"></van-empty>
|
||||
</template>
|
||||
</div>
|
||||
<script>
|
||||
new Vue({
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
edit(o) {
|
||||
location.href = '/mobile/healthCheckup/checkUp?projectId=' + o.projectId +
|
||||
'&selectId=' + o.id
|
||||
},
|
||||
async cancel(o) {
|
||||
vant.Dialog.confirm({
|
||||
title: '温馨提醒',
|
||||
message: '您确定要取消此选择吗?',
|
||||
}).then(async () => {
|
||||
const res = await $.post('/mobile/healthCheckup/cancel', {id: o.id, projectId: o.projectId})
|
||||
if(res.code === 0) {
|
||||
vant.Toast('取消成功')
|
||||
this.doSearch()
|
||||
}else {
|
||||
vant.Toast(res.msg)
|
||||
}
|
||||
}).catch(() => {})
|
||||
},
|
||||
doSearch() {
|
||||
this.loading = true
|
||||
this.pageForm.pageNumber = 1
|
||||
this.tableData = []
|
||||
this.pageData()
|
||||
},
|
||||
tabChange(val) {
|
||||
this.tabName = val
|
||||
this.startLoading()
|
||||
this.tableData = []
|
||||
this.pageForm.pageNumber = 1
|
||||
this.pageData()
|
||||
this.closeLoading()
|
||||
},
|
||||
async pageData() {
|
||||
this.mLoading = true
|
||||
const resp = await $.post('/mobile/healthCheckup/mineData', this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
this.tableData = this.tableData.concat(resp.data.list)
|
||||
if (this.tableData.length === resp.data.totalCount) {
|
||||
this.finished = true
|
||||
} else {
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
new Vue({
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
methods: {
|
||||
edit(o) {
|
||||
location.href = "/mobile/healthCheckup/checkUp?projectId=" + o.projectId + "&selectId=" + o.id
|
||||
},
|
||||
async cancel(o) {
|
||||
vant.Dialog.confirm({
|
||||
title: "温馨提醒",
|
||||
message: "您确定要取消此选择吗?"
|
||||
})
|
||||
.then(async () => {
|
||||
const res = await $.post("/mobile/healthCheckup/cancel", { id: o.id, projectId: o.projectId })
|
||||
if (res.code === 0) {
|
||||
vant.Toast("取消成功")
|
||||
this.doSearch()
|
||||
} else {
|
||||
vant.Toast(res.msg)
|
||||
}
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
doSearch() {
|
||||
this.loading = true
|
||||
this.pageForm.pageNumber = 1
|
||||
this.tableData = []
|
||||
this.pageData()
|
||||
},
|
||||
tabChange(val) {
|
||||
this.tabName = val
|
||||
this.startLoading()
|
||||
this.tableData = []
|
||||
this.pageForm.pageNumber = 1
|
||||
this.pageData()
|
||||
this.closeLoading()
|
||||
},
|
||||
async pageData() {
|
||||
this.mLoading = true
|
||||
const resp = await $.post("/mobile/healthCheckup/mineData", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
this.tableData = this.tableData.concat(resp.data.list)
|
||||
if (this.tableData.length === resp.data.totalCount) {
|
||||
this.finished = true
|
||||
} else {
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
}
|
||||
this.loading = false
|
||||
this.mLoading = false
|
||||
},
|
||||
init() {
|
||||
this.startLoading()
|
||||
this.pageForm.tabName = "ing"
|
||||
this.pageData()
|
||||
this.closeLoading()
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.init()
|
||||
}
|
||||
this.loading = false
|
||||
this.mLoading = false
|
||||
},
|
||||
init() {
|
||||
this.startLoading()
|
||||
this.pageForm.tabName = 'ing'
|
||||
this.pageData()
|
||||
this.closeLoading()
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.init()
|
||||
},
|
||||
})
|
||||
window.onload = () => {
|
||||
window.addEventListener('pageshow', e => {
|
||||
if (e.persisted) {
|
||||
window.location.reload()
|
||||
}
|
||||
})
|
||||
}
|
||||
window.onload = () => {
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
if (e.persisted) {
|
||||
window.location.reload()
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.module {
|
||||
margin: 10px;
|
||||
margin: 10px 10px 20px 10px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
border-radius: 10px;
|
||||
}
|
||||
@@ -33,15 +33,16 @@ layout("/mobile/platform.html"){
|
||||
background-color: white;
|
||||
border-bottom-left-radius: 10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
padding: 6px 0px;
|
||||
}
|
||||
|
||||
.menu_item {
|
||||
width: calc(100% / 3);
|
||||
width: calc(100% / 4);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
padding: 5px 0;
|
||||
padding: 2px 0;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
@@ -56,7 +57,6 @@ layout("/mobile/platform.html"){
|
||||
width: 80%;
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
margin-top: 10px;
|
||||
font-family: "微软雅黑", Helvetica, STHeiTi, sans-serif;
|
||||
color: grey;
|
||||
}
|
||||
@@ -84,13 +84,12 @@ layout("/mobile/platform.html"){
|
||||
|
||||
.middle {
|
||||
background-color: white;
|
||||
margin: 10px;
|
||||
margin: 6px 10px 10px 10px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.middle_item {
|
||||
display: flex;
|
||||
margin-bottom: 16px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.middle_item:last-of-type {
|
||||
@@ -102,31 +101,34 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.middle_item_img {
|
||||
min-width: 100px;
|
||||
width: 130px;
|
||||
height: 90px;
|
||||
border-radius: 10px;
|
||||
width: 100%;
|
||||
height: 140px;
|
||||
object-fit: revert;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.middle_item_text {
|
||||
font-size: 13px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
.middle_item_img img {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.middle_item_text>div:nth-of-type(1) {
|
||||
font-size: 18px;
|
||||
.middle_item_text {
|
||||
font-size: 12px;
|
||||
margin-top: 6px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.middle_item_text > div:nth-of-type(1) {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.van-badge {
|
||||
position: absolute;
|
||||
right: 16px;
|
||||
top: 2px;
|
||||
right: 20px;
|
||||
top: -2px;
|
||||
}
|
||||
|
||||
.middle .van-empty {
|
||||
@@ -134,59 +136,118 @@ layout("/mobile/platform.html"){
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.sort_div {
|
||||
display: flex;
|
||||
font-size: 12px;
|
||||
align-items: center;
|
||||
color: #1867b0;
|
||||
justify-content: flex-end;
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
.van-tabs .van-icon::before {
|
||||
position: relative;
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
.msg_div_text {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.sign_popup {
|
||||
width: 96%;
|
||||
height: 640px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
.menu_item_name {
|
||||
margin-top: 6px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app">
|
||||
|
||||
<div style="margin-bottom: 60px" v-if="active === 0">
|
||||
<!--首页-->
|
||||
<div style="margin-bottom: 100px" v-if="active === 'home'">
|
||||
<!--轮播图-->
|
||||
<van-swipe :autoplay="3000" class="swiper">
|
||||
<van-swipe-item v-for="(image, index) in images" :key="index">
|
||||
<img :src="image" width="100%"/>
|
||||
<img :src="image" width="100%" />
|
||||
</van-swipe-item>
|
||||
</van-swipe>
|
||||
|
||||
<van-row class="module">
|
||||
<!--应用窗格-->
|
||||
<van-row class="first module">
|
||||
<div class="menu" style="border-radius: 10px">
|
||||
<div class="menu_item">
|
||||
<img :src="CREATE_PREVIEW_URL('')" alt="" class="menu_item_img">
|
||||
<span class="menu_item_name">消息</span>
|
||||
<van-badge :content="20"></van-badge>
|
||||
</div>
|
||||
<div v-for="item in 6" class="menu_item">
|
||||
<img :src="CREATE_PREVIEW_URL('')" alt="" class="menu_item_img">
|
||||
<span class="menu_item_name">122</span>
|
||||
<div @click="switchModuleMenus(item)" v-for="item in moduleMenus" class="menu_item">
|
||||
<img :src="CREATE_PREVIEW_URL(item.iconClass)" alt="" class="menu_item_img" />
|
||||
<span class="menu_item_name">{{item.moduleName}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</van-row>
|
||||
|
||||
<!--下方功能区,包含活动、功能入口、消息列表-->
|
||||
<van-row>
|
||||
<div class="middle" style="border-radius: 10px;">
|
||||
<template v-if="true">
|
||||
<div v-for="item in 3" class="middle_item">
|
||||
<div class="middle_item_pic">
|
||||
<img :src="CREATE_PREVIEW_URL('FysF8kzAF9aONfw4FSivk2.jpg')" alt="" class="middle_item_img">
|
||||
</div>
|
||||
<div class="middle_item_text">
|
||||
<div><van-icon name="fire" color="red" size="23"></van-icon>春节培训班</div>
|
||||
<div style="line-height: 23px; color: grey; font-size: 12px">
|
||||
<div>开始时间:01/05 08:00</div>
|
||||
<div>结束时间:01/10 08:00</div>
|
||||
<div v-if="clickIndex !== 1" @click="clickIndex = 1" class="sort_div">
|
||||
<van-icon name="sort" style="transform: rotate(90deg)"></van-icon>
|
||||
<span>切换活动列表</span>
|
||||
</div>
|
||||
|
||||
<!--活动列表-->
|
||||
<template v-if="clickIndex === 1">
|
||||
<div v-if="activityOptions.length > 0" v-for="item in activityOptions" class="middle" style="border-radius: 10px">
|
||||
<van-row gutter="20">
|
||||
<van-col span="24" @click="menuClick(item.h5Url)" class="middle_item">
|
||||
<div>
|
||||
<van-image :src="CREATE_PREVIEW_URL(item.cover)" class="middle_item_img">
|
||||
<template slot="loading">
|
||||
<van-loading type="spinner" size="13" />
|
||||
</template>
|
||||
</van-image>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="middle_item_text">
|
||||
<van-icon name="fire" color="red" size="12" style="top: 1px"></van-icon>
|
||||
{{ item.name }}
|
||||
</div>
|
||||
<div style="margin-top: 6px; color: grey; font-size: 11px; display: flex">
|
||||
<div>开始时间:{{ moment(item.startDate).format('YYYY/MM/DD HH:mm') }}</div>
|
||||
<div style="margin-left: 25px">结束时间:{{ moment(item.endDate).format('YYYY/MM/DD HH:mm') }}</div>
|
||||
</div>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
<div v-else>
|
||||
<van-empty description="近期暂无活动"></van-empty>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<!--功能入口-->
|
||||
<template v-else-if="clickIndex === 2">
|
||||
<div class="middle" style="border-radius: 10px">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">{{clickMenu.moduleName}}</div>
|
||||
<div class="menu" style="margin-top: 10px">
|
||||
<div
|
||||
v-for="m in clickMenu.menuList"
|
||||
:key="m.menuId"
|
||||
class="menu_item"
|
||||
v-if="(m.url == '/mobile/member/apply' && ${@shiro.lacksRole('H01')}) || m.url != '/mobile/member/apply'"
|
||||
@click="menuClick(m.url)"
|
||||
>
|
||||
<img :src="CREATE_PREVIEW_URL(m.menuIcon)" alt="" class="menu_item_img" />
|
||||
<span class="menu_item_name">{{m.menuName}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
<div v-if="active === 1" style="background-color: #f6f7f9; min-height: 100vh">
|
||||
<van-notice-bar
|
||||
left-icon="volume-o" color="#1989fa" background="#ecf9ff"
|
||||
text="温馨提示:只显示当前年份的待办和已办事项"
|
||||
></van-notice-bar>
|
||||
<!--我的办理-->
|
||||
<div v-if="active === 'handle'" style="background-color: #f6f7f9; min-height: 100vh">
|
||||
<van-notice-bar left-icon="volume-o" color="#1989fa" background="#ecf9ff" text="温馨提示:只显示当前年份的待办和已办事项"></van-notice-bar>
|
||||
|
||||
<van-tabs v-model="activeName" @click="initData">
|
||||
<van-tab title="待办" name="0">
|
||||
@@ -194,7 +255,7 @@ layout("/mobile/platform.html"){
|
||||
<div v-for="o in needItems">
|
||||
<div v-if="o.count > 0" @click="toUrl(o)" class="van-doc-card">
|
||||
<div class="title">{{ o.title }}</div>
|
||||
<div style="display: flex; align-items: center; justify-content: space-between;">
|
||||
<div style="display: flex; align-items: center; justify-content: space-between">
|
||||
<div>
|
||||
<div style="color: grey; font-size: 15px">{{ o.name }}</div>
|
||||
</div>
|
||||
@@ -205,11 +266,11 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</div>
|
||||
<van-empty
|
||||
style="margin-top: 44px"
|
||||
v-if="needItems.length === 0"
|
||||
class="custom-image"
|
||||
image="https://img01.yzcdn.cn/vant/custom-empty-image.png"
|
||||
description="暂无待办"
|
||||
style="margin-top: 44px"
|
||||
v-if="needItems.length === 0"
|
||||
class="custom-image"
|
||||
image="https://img01.yzcdn.cn/vant/custom-empty-image.png"
|
||||
description="暂无待办"
|
||||
></van-empty>
|
||||
</div>
|
||||
</van-tab>
|
||||
@@ -218,7 +279,7 @@ layout("/mobile/platform.html"){
|
||||
<div style="min-height: 80vh">
|
||||
<div @click="toHref(o)" class="van-doc-card" v-for="o in completedItems">
|
||||
<div class="title">{{ o.moduleName }}</div>
|
||||
<div style="display: flex; align-items: center; justify-content: space-between;">
|
||||
<div style="display: flex; align-items: center; justify-content: space-between">
|
||||
<div>
|
||||
<span>{{ o.auditState }}</span>
|
||||
</div>
|
||||
@@ -228,108 +289,112 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</div>
|
||||
<van-empty
|
||||
style="margin-top: 44px"
|
||||
v-if="completedItems.length === 0"
|
||||
class="custom-image"
|
||||
image="https://img01.yzcdn.cn/vant/custom-empty-image.png"
|
||||
description="暂无已办"
|
||||
style="margin-top: 44px"
|
||||
v-if="completedItems.length === 0"
|
||||
class="custom-image"
|
||||
image="https://img01.yzcdn.cn/vant/custom-empty-image.png"
|
||||
description="暂无已办"
|
||||
></van-empty>
|
||||
</div>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom: 60px" v-if="active === 2">
|
||||
<van-swipe :autoplay="3000" class="swiper">
|
||||
<van-swipe-item v-for="(image, index) in images" :key="index">
|
||||
<img :src="image" width="100%"/>
|
||||
</van-swipe-item>
|
||||
</van-swipe>
|
||||
|
||||
<!--工作台-->
|
||||
<div style="margin-bottom: 150px" v-if="active === 'work'">
|
||||
<van-row v-for="m in moduleMenus" class="module">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
{{m.moduleName}}
|
||||
</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select">{{m.moduleName}}</div>
|
||||
|
||||
<div class="menu">
|
||||
<div v-for="m in m.menuList" :key="m.menuId" class="menu_item"
|
||||
@click="menuClick(m)">
|
||||
<img :src="CREATE_PREVIEW_URL(m.menuIcon)" alt="" class="menu_item_img">
|
||||
<div v-for="m in m.menuList" :key="m.menuId" class="menu_item" @click="menuClick(m.url)">
|
||||
<img :src="CREATE_PREVIEW_URL(m.menuIcon)" alt="" class="menu_item_img" />
|
||||
<span class="menu_item_name">{{m.menuName}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
<!-- <van-tabbar v-model="active" @change="tabbrChange">-->
|
||||
<!-- <van-tabbar-item icon="home-o">首页</van-tabbar-item>-->
|
||||
<!-- <van-tabbar-item :dot="needCount" icon="envelop-o">我的办理</van-tabbar-item>-->
|
||||
<!-- <van-tabbar-item icon="apps-o">工作台</van-tabbar-item>-->
|
||||
<!-- </van-tabbar>-->
|
||||
<van-popup v-model="qianShow" class="sign_popup">
|
||||
<mobile-sign-points></mobile-sign-points>
|
||||
</van-popup>
|
||||
|
||||
<van-tabbar v-model="active" @change="tabbrChange">
|
||||
<van-tabbar-item icon="home-o" name="home">首页</van-tabbar-item>
|
||||
<van-tabbar-item :dot="needCount" icon="envelop-o" name="handle">我的办理</van-tabbar-item>
|
||||
<van-tabbar-item icon="apps-o" name="work">工作台</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
images: [
|
||||
"${AppDomain!}" + '/home1.png',
|
||||
"${AppDomain!}" + '/home2.png',
|
||||
"${AppDomain!}" + '/home3.png',
|
||||
],
|
||||
swipeShow: false,
|
||||
images: ["${AppDomain!}" + "/home1.png", "${AppDomain!}" + "/home2.png", "${AppDomain!}" + "/home3.png"],
|
||||
qianShow: false,
|
||||
msgActive: "unread",
|
||||
moduleMenus: [],
|
||||
roles: [],
|
||||
active: 2,
|
||||
active: "home",
|
||||
needCount: 0,
|
||||
needItems: [],
|
||||
activeName: '0',
|
||||
activeName: "0",
|
||||
completedItems: [],
|
||||
activityOptions: [],
|
||||
clickMenu: {},
|
||||
clickIndex: 1,
|
||||
msgPageForm: {},
|
||||
msgList: [],
|
||||
msgCount: null,
|
||||
|
||||
integralShow: false,
|
||||
integralForm: {},
|
||||
integralViewData: [],
|
||||
totalIntegral: null,
|
||||
yearList: [],
|
||||
monthList: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
switchModuleMenus(item) {
|
||||
this.clickMenu = item
|
||||
this.clickIndex = 2
|
||||
},
|
||||
async getMenus() {
|
||||
const {data} = await $.post('/platform/sys/appMenu/appMenus')
|
||||
const { data } = await $.post("/platform/sys/appMenu/appMenus")
|
||||
this.moduleMenus = data
|
||||
},
|
||||
menuClick(menu) {
|
||||
location.href = menu.url
|
||||
menuClick(url) {
|
||||
if (url) {
|
||||
pjaxReplace(url)
|
||||
// location.href = url
|
||||
}
|
||||
},
|
||||
tabbrChange(o) {
|
||||
this.needItems = []
|
||||
this.initData()
|
||||
// this.needItems = []
|
||||
// this.initData()
|
||||
window.localStorage.setItem("active", this.active)
|
||||
},
|
||||
toUrl(o) {
|
||||
location.href = o.mobileHref
|
||||
},
|
||||
toHref(o) {
|
||||
location.href = o.mobileUrl + '?audit=1';
|
||||
location.href = o.mobileUrl + "?audit=1"
|
||||
},
|
||||
/**
|
||||
* 入学登记待办
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
/*async getRxdjAgenda() {
|
||||
const {data, code} = await $.get("/platform/rxdj/agent/getAgenda")
|
||||
if (code === 0) {
|
||||
this.needItems = this.needItems.concat(data.filter(v => v.number > 0))
|
||||
}
|
||||
},*/
|
||||
async getNeedItems() {
|
||||
const {data, code} = await $.get('/platform/needItems/getNeedItems')
|
||||
const { data, code } = await $.get("/platform/needItems/getNeedItems")
|
||||
if (code === 0) {
|
||||
const obj = data.filter(v => {
|
||||
const obj = data.filter((v) => {
|
||||
return v.mobileHref != null && v.count > 0
|
||||
})
|
||||
this.needItems = obj
|
||||
}
|
||||
},
|
||||
async getCompletes() {
|
||||
const {data, code} = await $.get('/platform/sys/completed/getCompletes')
|
||||
const { data, code } = await $.get("/platform/sys/completed/getCompletes")
|
||||
if (code === 0) {
|
||||
this.completedItems = data;
|
||||
this.completedItems = data
|
||||
}
|
||||
},
|
||||
/**
|
||||
@@ -337,9 +402,9 @@ layout("/mobile/platform.html"){
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
async getMemberCheckSelfAgenda() {
|
||||
const {data, code} = await $.get("/platform/memberSelf/agenda/getAgenda")
|
||||
const { data, code } = await $.get("/platform/memberSelf/agenda/getAgenda")
|
||||
if (code === 0) {
|
||||
this.needItems = this.needItems.concat(data.filter(v => v.count > 0))
|
||||
this.needItems = this.needItems.concat(data.filter((v) => v.count > 0))
|
||||
}
|
||||
},
|
||||
/**
|
||||
@@ -347,37 +412,55 @@ layout("/mobile/platform.html"){
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
async getWelfareCheckSelfAgenda() {
|
||||
const {data, code} = await $.get("/platform/welfareSelf/agenda/getAgenda")
|
||||
const { data, code } = await $.get("/platform/welfareSelf/agenda/getAgenda")
|
||||
if (code === 0) {
|
||||
this.needItems = this.needItems.concat(data.filter(v => v.count > 0))
|
||||
this.needItems = this.needItems.concat(data.filter((v) => v.count > 0))
|
||||
}
|
||||
},
|
||||
async initData() {
|
||||
await this.getNeedItems();
|
||||
await this.getMemberCheckSelfAgenda()
|
||||
await this.getWelfareCheckSelfAgenda()
|
||||
await this.getCompletes();
|
||||
// await this.getNeedItems()
|
||||
// await this.getMemberCheckSelfAgenda()
|
||||
// await this.getWelfareCheckSelfAgenda()
|
||||
// await this.getCompletes()
|
||||
await this.listActivity()
|
||||
this.needCount = this.needItems.length
|
||||
},
|
||||
async setNeedItems() {
|
||||
const {data, code} = await $.get('/platform/needItems/getNeedItems')
|
||||
const { data, code } = await $.get("/platform/needItems/getNeedItems")
|
||||
if (code === 0) {
|
||||
const obj = data.filter(v => {
|
||||
const obj = data.filter((v) => {
|
||||
return v.mobileHref != null && v.count > 0
|
||||
})
|
||||
window.localStorage.setItem('needItems', escape(JSON.stringify(obj)))
|
||||
window.localStorage.setItem("needItems", escape(JSON.stringify(obj)))
|
||||
}
|
||||
},
|
||||
async listActivity() {
|
||||
const resp = await $.post("/platform/sys/homeActivity/listHomeActivity")
|
||||
if (resp.code === 0) {
|
||||
this.activityOptions = resp.data
|
||||
if (!resp.data || resp.data.length === 0) {
|
||||
this.switchFirstModule()
|
||||
}
|
||||
}
|
||||
},
|
||||
switchFirstModule() {
|
||||
const data = this.moduleMenus.find((v) => v.orderNum === 1)
|
||||
this.switchModuleMenus(data)
|
||||
}
|
||||
},
|
||||
beforeMount() {
|
||||
this.setNeedItems();
|
||||
this.setNeedItems()
|
||||
},
|
||||
async created() {
|
||||
await this.getMenus();
|
||||
const data = window.localStorage.getItem("active")
|
||||
if (data) {
|
||||
this.$set(this, "active", data)
|
||||
}
|
||||
await this.getMenus()
|
||||
this.initData()
|
||||
}
|
||||
})
|
||||
window.addEventListener('pageshow', e => {
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
if (e.persisted || (window.performance && window.performance.navigation.type === 2)) {
|
||||
vue.getMenus()
|
||||
vue.initData()
|
||||
|
||||
@@ -3,119 +3,167 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="会员申请" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<van-nav-bar title="会员申请" left-arrow placeholder fixed @click-left="history.back()"></van-nav-bar>
|
||||
|
||||
<van-form ref="form" @submit="doSubmit" validate-trigger="onSubmit"
|
||||
class="mt5"
|
||||
scroll-to-error
|
||||
input-align="right"
|
||||
:show-error-message="false">
|
||||
<van-form ref="form" @submit="doSubmit" validate-trigger="onSubmit" class="mt5" scroll-to-error input-align="right" :show-error-message="false">
|
||||
<van-cell-group inset>
|
||||
<van-field label="姓名" value="${@shiro.getPrincipalProperty('username')}"
|
||||
left-icon="contact"
|
||||
readonly></van-field>
|
||||
<van-field label="性别" v-model="formData.sex" readonly
|
||||
@click="sexPicker = true"
|
||||
placeholder="请选择性别"
|
||||
clickable
|
||||
:rules="[{ required:true, message: '请选择性别' }]"
|
||||
left-icon="ellipsis"></van-field>
|
||||
<van-field label="姓名" value="${@shiro.getPrincipalProperty('username')}" left-icon="contact" readonly></van-field>
|
||||
<van-field
|
||||
label="性别"
|
||||
v-model="formData.sex"
|
||||
readonly
|
||||
@click="sexPicker = true"
|
||||
placeholder="请选择性别"
|
||||
clickable
|
||||
:rules="[{ required:true, message: '请选择性别' }]"
|
||||
left-icon="ellipsis"
|
||||
></van-field>
|
||||
<van-popup v-model="sexPicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="['男','女']"
|
||||
@confirm="(val)=>{this.formData.sex = val;sexPicker=false}"
|
||||
@cancel="sexPicker = false"
|
||||
show-toolbar
|
||||
:columns="['男','女']"
|
||||
@confirm="(val)=>{this.formData.sex = val;sexPicker=false}"
|
||||
@cancel="sexPicker = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field label="民族" v-model="formData.nation" readonly clickable
|
||||
left-icon="bar-chart-o"
|
||||
@click="nationPicker = true" placeholder="请选择民族"
|
||||
:rules="[{ required:true, message: '请选择民族' }]"></van-field>
|
||||
<van-field
|
||||
label="民族"
|
||||
v-model="formData.nation"
|
||||
readonly
|
||||
clickable
|
||||
left-icon="bar-chart-o"
|
||||
@click="nationPicker = true"
|
||||
placeholder="请选择民族"
|
||||
:rules="[{ required:true, message: '请选择民族' }]"
|
||||
></van-field>
|
||||
<van-popup v-model="nationPicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="nationColumns"
|
||||
@confirm="(v)=>{formData.nation = v;nationPicker = false}"
|
||||
@cancel="nationPicker = false"
|
||||
show-toolbar
|
||||
:columns="nationColumns"
|
||||
@confirm="(v)=>{formData.nation = v;nationPicker = false}"
|
||||
@cancel="nationPicker = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field label="学历" v-model="formData.education" readonly clickable
|
||||
left-icon="coupon-o"
|
||||
@click="educationPicker = true" placeholder="请选择学历"
|
||||
:rules="[{ required:true, message: '请选择学历' }]"></van-field>
|
||||
<van-field
|
||||
label="学历"
|
||||
v-model="formData.education"
|
||||
readonly
|
||||
clickable
|
||||
left-icon="coupon-o"
|
||||
@click="educationPicker = true"
|
||||
placeholder="请选择学历"
|
||||
:rules="[{ required:true, message: '请选择学历' }]"
|
||||
></van-field>
|
||||
<van-popup v-model="educationPicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="educationColumns"
|
||||
@confirm="(v)=>{formData.education = v;educationPicker = false}"
|
||||
@cancel="educationPicker = false"
|
||||
show-toolbar
|
||||
:columns="educationColumns"
|
||||
@confirm="(v)=>{formData.education = v;educationPicker = false}"
|
||||
@cancel="educationPicker = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field label="政治面貌" v-model="formData.political" readonly clickable
|
||||
left-icon="label-o"
|
||||
@click="politicalPicker = true" placeholder="请选择政治面貌"
|
||||
:rules="[{ required:true, message: '请选择政治面貌' }]"></van-field>
|
||||
<van-field
|
||||
label="政治面貌"
|
||||
v-model="formData.political"
|
||||
readonly
|
||||
clickable
|
||||
left-icon="label-o"
|
||||
@click="politicalPicker = true"
|
||||
placeholder="请选择政治面貌"
|
||||
:rules="[{ required:true, message: '请选择政治面貌' }]"
|
||||
></van-field>
|
||||
<van-popup v-model="politicalPicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="politicalColumns"
|
||||
@confirm="(v)=>{formData.political = v;politicalPicker = false}"
|
||||
@cancel="politicalPicker = false"
|
||||
show-toolbar
|
||||
:columns="politicalColumns"
|
||||
@confirm="(v)=>{formData.political = v;politicalPicker = false}"
|
||||
@cancel="politicalPicker = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field label="婚否" v-model="formData.marriage" readonly clickable
|
||||
left-icon="flower-o"
|
||||
@click="marriagePicker = true" placeholder="请选择婚否"
|
||||
:rules="[{ required:true, message: '请选择婚否' }]"></van-field>
|
||||
<van-field
|
||||
label="婚否"
|
||||
v-model="formData.marriage"
|
||||
readonly
|
||||
clickable
|
||||
left-icon="flower-o"
|
||||
@click="marriagePicker = true"
|
||||
placeholder="请选择婚否"
|
||||
:rules="[{ required:true, message: '请选择婚否' }]"
|
||||
></van-field>
|
||||
<van-popup v-model="marriagePicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="marriageColumns"
|
||||
@confirm="(v)=>{formData.marriage = v;marriagePicker = false}"
|
||||
@cancel="marriagePicker = false"
|
||||
show-toolbar
|
||||
:columns="marriageColumns"
|
||||
@confirm="(v)=>{formData.marriage = v;marriagePicker = false}"
|
||||
@cancel="marriagePicker = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field label="身份证" v-model="formData.idcard" placeholder="请填写身份证号码"
|
||||
left-icon="idcard"
|
||||
:rules="[{ required:true, message: '请填写身份证号码' },{pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, message: '身份证号码格式错误'}]"></van-field>
|
||||
<van-field
|
||||
label="身份证"
|
||||
v-model="formData.idcard"
|
||||
placeholder="请填写身份证号码"
|
||||
left-icon="idcard"
|
||||
:rules="[{ required:true, message: '请填写身份证号码' },{pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, message: '身份证号码格式错误'}]"
|
||||
></van-field>
|
||||
|
||||
<van-field label="联系电话" v-model="formData.mobile" type="tel" placeholder="请填写联系电话"
|
||||
left-icon="phone-o"
|
||||
:rules="[{ required:true, message: '请填写联系电话' },{pattern: /^1[3456789]\d{9}$/, message: '联系电话格式错误'}]"></van-field>
|
||||
<van-field
|
||||
label="联系电话"
|
||||
v-model="formData.mobile"
|
||||
type="tel"
|
||||
placeholder="请填写联系电话"
|
||||
left-icon="phone-o"
|
||||
:rules="[{ required:true, message: '请填写联系电话' },{pattern: /^1[3456789]\d{9}$/, message: '联系电话格式错误'}]"
|
||||
></van-field>
|
||||
|
||||
<van-field label="所属单位" v-model="formData.unitname" readonly clickable
|
||||
left-icon="flower-o"
|
||||
@click="unitPicker = true" placeholder="请选择所属单位"
|
||||
:rules="[{ required:true, message: '请选择所属单位' }]"></van-field>
|
||||
<van-field
|
||||
label="所属单位"
|
||||
v-model="formData.unitname"
|
||||
readonly
|
||||
clickable
|
||||
left-icon="flower-o"
|
||||
@click="unitPicker = true"
|
||||
placeholder="请选择所属单位"
|
||||
:rules="[{ required:true, message: '请选择所属单位' }]"
|
||||
></van-field>
|
||||
<van-popup v-model="unitPicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
value-key="name"
|
||||
:columns="unitColumns"
|
||||
@confirm="(v)=>{formData.unitname = v.name;formData.unitid = v.id;unitPicker = false}"
|
||||
@cancel="unitPicker = false"
|
||||
show-toolbar
|
||||
value-key="name"
|
||||
:columns="unitColumns"
|
||||
@confirm="(v)=>{formData.unitname = v.name;formData.unitid = v.id;unitPicker = false}"
|
||||
@cancel="unitPicker = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field label="户口所在地" v-model="formData.registeredResidence" placeholder="请填写户口所在地"
|
||||
left-icon="wap-home-o"
|
||||
:rules="[{ required:true, message: '请填写户口所在地' }]"></van-field>
|
||||
<van-field label="现居住地" v-model="formData.homeAddress" placeholder="请填写现居住地"
|
||||
left-icon="home-o"
|
||||
:rules="[{ required:true, message: '请填写现居住地' }]"></van-field>
|
||||
<van-field
|
||||
label="户口所在地"
|
||||
v-model="formData.registeredResidence"
|
||||
placeholder="请填写户口所在地"
|
||||
left-icon="wap-home-o"
|
||||
:rules="[{ required:true, message: '请填写户口所在地' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
label="现居住地"
|
||||
v-model="formData.homeAddress"
|
||||
placeholder="请填写现居住地"
|
||||
left-icon="home-o"
|
||||
:rules="[{ required:true, message: '请填写现居住地' }]"
|
||||
></van-field>
|
||||
<!-- <van-field label="工作单位" value="${@shiro.getPrincipalProperty('unit').getName()}"-->
|
||||
<!-- left-icon="cluster-o"-->
|
||||
<!-- readonly></van-field>-->
|
||||
<van-field label="岗位" placeholder="请填写岗位" v-model="formData.jobTitle"
|
||||
left-icon="debit-pay"
|
||||
:rules="[{ required:true, message: '请填写岗位' }]"></van-field>
|
||||
<van-field
|
||||
label="岗位"
|
||||
placeholder="请填写岗位"
|
||||
v-model="formData.jobTitle"
|
||||
left-icon="debit-pay"
|
||||
:rules="[{ required:true, message: '请填写岗位' }]"
|
||||
></van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group inset class="mt10 up_down">
|
||||
@@ -131,20 +179,19 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<van-divider></van-divider>
|
||||
<van-field
|
||||
v-model="formData.vita"
|
||||
:rules="[{ required:true, message: '请填写工作经历' }]"
|
||||
style="padding: 0"
|
||||
input-align="left"
|
||||
autosize
|
||||
rows="4"
|
||||
autosize
|
||||
type="textarea"
|
||||
maxlength="200"
|
||||
placeholder="请输入工作经历"
|
||||
show-word-limit
|
||||
v-model="formData.vita"
|
||||
:rules="[{ required:true, message: '请填写工作经历' }]"
|
||||
style="padding: 0"
|
||||
input-align="left"
|
||||
autosize
|
||||
rows="4"
|
||||
autosize
|
||||
type="textarea"
|
||||
maxlength="200"
|
||||
placeholder="请输入工作经历"
|
||||
show-word-limit
|
||||
></van-field>
|
||||
</div>
|
||||
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group inset class="mt10 up_down">
|
||||
@@ -160,17 +207,17 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<van-divider></van-divider>
|
||||
<van-field
|
||||
v-model="formData.specialSkill"
|
||||
:rules="[{ required:true, message: '请填写个人特长' }]"
|
||||
style="padding: 0"
|
||||
input-align="left"
|
||||
autosize
|
||||
rows="4"
|
||||
autosize
|
||||
type="textarea"
|
||||
maxlength="200"
|
||||
placeholder="请填写个人特长"
|
||||
show-word-limit
|
||||
v-model="formData.specialSkill"
|
||||
:rules="[{ required:true, message: '请填写个人特长' }]"
|
||||
style="padding: 0"
|
||||
input-align="left"
|
||||
autosize
|
||||
rows="4"
|
||||
autosize
|
||||
type="textarea"
|
||||
maxlength="200"
|
||||
placeholder="请填写个人特长"
|
||||
show-word-limit
|
||||
></van-field>
|
||||
</div>
|
||||
</van-cell-group>
|
||||
@@ -188,8 +235,8 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<van-cell-group inset class="mt10 up_down">
|
||||
<div class="van-cell">
|
||||
<div class="van-cell__title van-field__label" style="display: flex;justify-content: space-between">
|
||||
<div style="display: flex;">
|
||||
<div class="van-cell__title van-field__label" style="display: flex; justify-content: space-between">
|
||||
<div style="display: flex">
|
||||
<div class="van-field__left-icon">
|
||||
<i class="van-icon van-icon-friends-o"></i>
|
||||
</div>
|
||||
@@ -198,26 +245,44 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<van-button v-if="formData.family && formData.family.length>0 && formData.family.length<3"
|
||||
style="width: 40px"
|
||||
icon="plus" type="primary" round size="mini"
|
||||
@click="formData.family.push({})"
|
||||
native-type="button"></van-button>
|
||||
<van-button
|
||||
v-if="formData.family && formData.family.length>0 && formData.family.length<3"
|
||||
style="width: 40px"
|
||||
icon="plus"
|
||||
type="primary"
|
||||
round
|
||||
size="mini"
|
||||
@click="formData.family.push({})"
|
||||
native-type="button"
|
||||
></van-button>
|
||||
</div>
|
||||
<van-divider></van-divider>
|
||||
<template v-if="formData.family && formData.family.length>0">
|
||||
<div v-for="o,i in formData.family" class="mt5">
|
||||
<div style="font-weight: 700;display: flex;justify-content: space-between">
|
||||
<div style="font-weight: 700; display: flex; justify-content: space-between">
|
||||
<span>成员{{toChinesNum(i+1)}}</span>
|
||||
<van-button style="width: 40px"
|
||||
icon="minus" type="danger" round size="mini"
|
||||
@click="formData.family.splice(i,1)"
|
||||
native-type="button"></van-button>
|
||||
<van-button
|
||||
style="width: 40px"
|
||||
icon="minus"
|
||||
type="danger"
|
||||
round
|
||||
size="mini"
|
||||
@click="formData.family.splice(i,1)"
|
||||
native-type="button"
|
||||
></van-button>
|
||||
</div>
|
||||
<van-field label="与本人关系" v-model="o.relation" placeholder="请填写与本人关系"
|
||||
:rules="[{ required:true, message: '请填写与本人关系' }]"></van-field>
|
||||
<van-field label="姓名" v-model="o.name" placeholder="请填写姓名"
|
||||
:rules="[{ required:true, message: '请填写姓名' }]"></van-field>
|
||||
<van-field
|
||||
label="与本人关系"
|
||||
v-model="o.relation"
|
||||
placeholder="请填写与本人关系"
|
||||
:rules="[{ required:true, message: '请填写与本人关系' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
label="姓名"
|
||||
v-model="o.name"
|
||||
placeholder="请填写姓名"
|
||||
:rules="[{ required:true, message: '请填写姓名' }]"
|
||||
></van-field>
|
||||
|
||||
<van-field name="isCondolence" label="是否慰问">
|
||||
<template #input>
|
||||
@@ -228,40 +293,57 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field label="慰问时间" v-model="o.condolenceTime"
|
||||
placeholder="请选择慰问时间" @click="doShowCondolenceCalendar(i)"></van-field>
|
||||
<van-calendar v-model="condolenceShow" :min-date="new Date('1999-01-01')" :show-confirm="false"
|
||||
@confirm="condolenceConfirm"></van-calendar>
|
||||
<van-field
|
||||
label="慰问时间"
|
||||
v-model="o.condolenceTime"
|
||||
placeholder="请选择慰问时间"
|
||||
@click="doShowCondolenceCalendar(i)"
|
||||
></van-field>
|
||||
<van-calendar
|
||||
v-model="condolenceShow"
|
||||
:min-date="new Date('1999-01-01')"
|
||||
:show-confirm="false"
|
||||
@confirm="condolenceConfirm"
|
||||
></van-calendar>
|
||||
<van-field label="备注" v-model="o.remark" type="tel" placeholder="请填写备注"></van-field>
|
||||
</div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div style="padding: 50px;text-align: center">
|
||||
<van-button style="width: 50px"
|
||||
icon="plus" type="primary" round size="mini"
|
||||
@click="formData.family.push({})"
|
||||
native-type="button"></van-button>
|
||||
<div style="padding: 50px; text-align: center">
|
||||
<van-button
|
||||
style="width: 50px"
|
||||
icon="plus"
|
||||
type="primary"
|
||||
round
|
||||
size="mini"
|
||||
@click="formData.family.push({})"
|
||||
native-type="button"
|
||||
></van-button>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</van-cell-group>
|
||||
|
||||
<div style="margin: 20px 20px 10px;">
|
||||
<div style="margin: 20px 20px 10px">
|
||||
<van-button
|
||||
:disabled="!(unionInfo.apply||unionInfo.reApply)"
|
||||
native-type="submit" style="border-radius: 10px" block type="info" :color="themeColor">
|
||||
:disabled="!(unionInfo.apply||unionInfo.reApply)"
|
||||
native-type="submit"
|
||||
style="border-radius: 10px"
|
||||
block
|
||||
type="info"
|
||||
:color="themeColor"
|
||||
>
|
||||
<span v-if="unionInfo.apply||unionInfo.reApply">{{unionInfo.reApply?'重新申请':'申请加入'}}</span>
|
||||
<span v-else-if="unionInfo.record">{{unionInfo.record.stateName}}</span>
|
||||
<span v-else>您已是会员</span>
|
||||
</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
const political = []
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -273,14 +355,12 @@ layout("/mobile/platform.html"){
|
||||
educationPicker: false,
|
||||
academicDegreePicker: false,
|
||||
educationColumns: [],
|
||||
academicDegreeColumns: [
|
||||
'学士', '硕士', '博士'
|
||||
],
|
||||
academicDegreeColumns: ["学士", "硕士", "博士"],
|
||||
nationColumns: [],
|
||||
memberStatusColumn: {
|
||||
MEMBER: 1,
|
||||
APPLYING: 2,
|
||||
NOTMEBMER: 3,
|
||||
NOTMEBMER: 3
|
||||
},
|
||||
memberStatus: null,
|
||||
politicalPicker: false,
|
||||
@@ -290,21 +370,21 @@ layout("/mobile/platform.html"){
|
||||
unitPicker: false,
|
||||
unitColumns: [],
|
||||
condolenceShow: false,
|
||||
familyIndex: null,
|
||||
familyIndex: null
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue")
|
||||
},
|
||||
methods: {
|
||||
doShowCondolenceCalendar(index){
|
||||
doShowCondolenceCalendar(index) {
|
||||
console.log(index)
|
||||
this.condolenceShow = true
|
||||
this.familyIndex = index
|
||||
},
|
||||
condolenceConfirm(val){
|
||||
condolenceConfirm(val) {
|
||||
if (val) {
|
||||
this.formData.family[this.familyIndex].condolenceTime = moment(val).format('YYYY-MM-DD')
|
||||
this.formData.family[this.familyIndex].condolenceTime = moment(val).format("YYYY-MM-DD")
|
||||
this.condolenceShow = false
|
||||
this.familyIndex = null
|
||||
}
|
||||
@@ -313,14 +393,14 @@ layout("/mobile/platform.html"){
|
||||
async doSubmit() {
|
||||
this.$refs.signature.submitSign()
|
||||
if (this.$refs.signature.checkNull()) {
|
||||
vant.Toast('请签字')
|
||||
vant.Toast("请签字")
|
||||
return
|
||||
}
|
||||
await this.$refs.signature.updateSign()
|
||||
const formData = clone(this.formData)
|
||||
formData.family = JSON.stringify(this.formData.family)
|
||||
const loading = this.$toast.loading({
|
||||
message: '数据提交中...',
|
||||
message: "数据提交中...",
|
||||
forbidClick: true,
|
||||
overlay: true,
|
||||
duration: 0
|
||||
@@ -328,13 +408,13 @@ layout("/mobile/platform.html"){
|
||||
const resp = await $.post("/platform/member/apply/submit/doEdit", formData)
|
||||
const data = await $.post("/platform/member/apply/submit/doApply", {
|
||||
memberStates: 1,
|
||||
sign: formData.sign,
|
||||
sign: formData.sign
|
||||
})
|
||||
setTimeout(() => {
|
||||
this.$toast.success('提交成功');
|
||||
this.$toast.success("提交成功")
|
||||
loading.close()
|
||||
setTimeout(() => {
|
||||
location.replace('/mobile/index')
|
||||
location.replace("/mobile/index")
|
||||
}, 300)
|
||||
}, 500)
|
||||
},
|
||||
@@ -348,12 +428,12 @@ layout("/mobile/platform.html"){
|
||||
} else {
|
||||
this.$toast(resp.msg)
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.$set(this.formData, "isMember", "${@shiro.getPrincipalProperty('member')}")
|
||||
if ("${@shiro.getPrincipalProperty('sex')}" === '未知') {
|
||||
this.$set(this.formData, "sex", '')
|
||||
if ("${@shiro.getPrincipalProperty('sex')}" === "未知") {
|
||||
this.$set(this.formData, "sex", "")
|
||||
} else {
|
||||
this.$set(this.formData, "sex", "${@shiro.getPrincipalProperty('sex')}")
|
||||
}
|
||||
@@ -375,12 +455,12 @@ layout("/mobile/platform.html"){
|
||||
this.$set(this.formData, "unitid", "${@shiro.getPrincipalProperty('unit').getId()}")
|
||||
this.nationColumns = nation
|
||||
|
||||
const education = await getDictByCode('Education')
|
||||
this.educationColumns = education.map(o => o.code)
|
||||
const political = await getDictByCode('political')
|
||||
this.politicalColumns = political.map(o => o.code)
|
||||
const marriage = await getDictByCode('maritalStatus')
|
||||
this.marriageColumns = marriage.map(o => o.code)
|
||||
const education = await getDictByCode("Education")
|
||||
this.educationColumns = education.map((o) => o.code)
|
||||
const political = await getDictByCode("political")
|
||||
this.politicalColumns = political.map((o) => o.code)
|
||||
const marriage = await getDictByCode("maritalStatus")
|
||||
this.marriageColumns = marriage.map((o) => o.code)
|
||||
|
||||
this.unitColumns = await getUnionUnits()
|
||||
|
||||
@@ -389,7 +469,6 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
<style>
|
||||
|
||||
.up_down > .van-cell {
|
||||
flex-flow: column;
|
||||
}
|
||||
@@ -401,7 +480,6 @@ layout("/mobile/platform.html"){
|
||||
.van-divider {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
<!--#
|
||||
}
|
||||
|
||||
@@ -1,18 +1,16 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<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>
|
||||
<van-nav-bar title="会员申请" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div style="padding: 16px 10px;">
|
||||
<div style="padding: 16px 10px">
|
||||
<div v-for="o in applyRecords" class="list-card" @click="view(o)">
|
||||
<van-cell-group inset>
|
||||
<van-cell :border="false">
|
||||
<div style="display: flex;align-items: center">
|
||||
<div style="display: flex; align-items: center">
|
||||
<van-icon name="records" :color="themeColor" size="25"></van-icon>
|
||||
<span :style="{color:themeColor}" style="font-size: 16px">会员申请</span>
|
||||
</div>
|
||||
@@ -26,14 +24,12 @@ layout("/mobile/platform.html"){
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</div>
|
||||
<van-empty v-if="mLoading==false&&applyRecords.length==0" class="custom-image" image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
<van-empty v-if="mLoading==false&&applyRecords.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -42,8 +38,8 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
methods: {
|
||||
async view(o) {
|
||||
const {id, userId} = o
|
||||
window.location.href = '/mobile/member/detail?record_id=' + id + '&user_id=' + userId
|
||||
const { id, userId } = o
|
||||
window.location.href = "/mobile/member/detail?record_id=" + id + "&user_id=" + userId
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
@@ -53,13 +49,10 @@ layout("/mobile/platform.html"){
|
||||
this.applyRecords = resp.data.records
|
||||
this.mLoading = false
|
||||
}, 600)
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -2,34 +2,23 @@
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<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>
|
||||
<van-nav-bar title="会员审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
<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.year" @change="yearChange" :options="yearList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.isAudit" @change="yearChange" :options="auditList"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
<div style="margin: 70px auto 0">
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
<van-list v-model="loading" :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.username}}({{o.loginname}})
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="申 请 人:">{{o.username}}({{o.loginname}})</van-cell>
|
||||
<van-cell :border="false" title="申请时间:">{{o.applyTime|date}}</van-cell>
|
||||
<van-cell :border="false" title="所在工会:">{{o.unionname}}</van-cell>
|
||||
<van-cell :border="false" title="人员类型:">{{o.personType}}</van-cell>
|
||||
@@ -40,38 +29,31 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-list>
|
||||
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
mLoading: false,
|
||||
yearList: [],
|
||||
auditList: [
|
||||
{text: '未审核', value: false},
|
||||
{text: '已审核', value: true},
|
||||
{ text: "未审核", value: false },
|
||||
{ text: "已审核", value: true }
|
||||
],
|
||||
handle: true,
|
||||
pageForm: {
|
||||
year: new Date().getFullYear(),
|
||||
isAudit: false,
|
||||
},
|
||||
isAudit: false
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'member-menber-info': httpVueLoader('/components/mobile/member/MobileMemberInfo.vue?v=' + new Date().getTime()),
|
||||
"member-menber-info": httpVueLoader("/components/mobile/member/MobileMemberInfo.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {
|
||||
yearChange() {
|
||||
@@ -82,7 +64,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
onLoad() {
|
||||
this.loading = true
|
||||
$.post(loc() + '/pageData', this.pageForm).then(res => {
|
||||
$.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) {
|
||||
@@ -112,19 +94,18 @@ layout("/mobile/platform.html"){
|
||||
}, 600)
|
||||
},*/
|
||||
openView(o) {
|
||||
window.location.href = '/mobile/member/audit/findOne?stateId=' + o.stateId + '&record_id=' + o.id + '&user_id=' + o.userId
|
||||
},
|
||||
window.location.href = "/mobile/member/audit/findOne?stateId=" + o.stateId + "&record_id=" + o.id + "&user_id=" + o.userId
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
let nowYear = new Date().getFullYear()
|
||||
for (let i = nowYear; i >= nowYear - 9; i--) {
|
||||
this.yearList.push({text: i, value: i})
|
||||
this.yearList.push({ text: i, value: i })
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -4,138 +4,219 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<style>
|
||||
.chart-card {
|
||||
background-color: #FFFFFF;
|
||||
background-color: #ffffff;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.flex-box {
|
||||
background-color: #FFFFFF;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-clock>
|
||||
<van-row gutter="20" style="margin: 0 10px 10px 10px;padding-top: 20px;">
|
||||
<van-nav-bar title="会员数据看板" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-row gutter="20" style="margin: 0 10px 10px 10px; padding-top: 20px">
|
||||
<van-col span="8">
|
||||
<div class="flex-box" style="justify-content: space-between;padding: 15px">
|
||||
<svg t="1634176912094" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="712" width="32" height="32">
|
||||
<path d="M327.6 682.7c-31.8-31.5-49.7-74.4-49.7-119.3V385.3c0-33.5 9.8-64.7 26.8-91-7.8-1.9-15.7-2.9-23.7-2.9H154.3c-56.6 0-102.9 46.9-102.9 104v163.7c0 38.8 21.5 74.4 55.7 92.3v319.9h83l30.6-202.5 30.6 202.5h76.4V682.7z m304.1-18.5c36.3-18.8 61.2-57.1 61.2-100.8V385.3c0-62.2-50.4-113.2-112-113.2h-138c-61.6 0-112 50.9-112 113.2v178.1c0 43.6 24.7 81.6 60.6 100.5V1012H482l33.3-220.3 33.3 220.3h83.1V664.2zM515.1 12c65.2 0 118 53.4 118 119.3 0 65.8-52.8 119.3-118 119.3s-118-53.4-118-119.3c0-66.1 52.8-119.3 118-119.3z m182.2 670.7v288.8h76.4L804.3 769l30.6 202.5H918V651.7c33-17.4 55.6-52.3 55.6-92.3V395.6c0-57.2-46.4-104-103-104H744.1c-8.2 0-16.2 1-23.7 2.9 17.6 27.1 26.9 58.7 26.8 91v178.1c0 45.4-18.5 88.2-49.9 119.1zM804.6 52.4c-60 0-108.5 49-108.5 109.5s48.5 109.6 108.5 109.6c59.8 0 108.3-49 108.3-109.6 0-60.6-48.5-109.5-108.3-109.5z m-584.1 0c59.8 0 108.5 49 108.5 109.5s-48.5 109.6-108.5 109.6c-59.9 0-108.3-49-108.3-109.6-0.1-60.6 48.4-109.5 108.3-109.5z"
|
||||
fill="#e0620d" p-id="713"></path>
|
||||
<div class="flex-box" style="justify-content: space-between; padding: 15px">
|
||||
<svg
|
||||
t="1634176912094"
|
||||
class="icon"
|
||||
viewBox="0 0 1024 1024"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="712"
|
||||
width="32"
|
||||
height="32"
|
||||
>
|
||||
<path
|
||||
d="M327.6 682.7c-31.8-31.5-49.7-74.4-49.7-119.3V385.3c0-33.5 9.8-64.7 26.8-91-7.8-1.9-15.7-2.9-23.7-2.9H154.3c-56.6 0-102.9 46.9-102.9 104v163.7c0 38.8 21.5 74.4 55.7 92.3v319.9h83l30.6-202.5 30.6 202.5h76.4V682.7z m304.1-18.5c36.3-18.8 61.2-57.1 61.2-100.8V385.3c0-62.2-50.4-113.2-112-113.2h-138c-61.6 0-112 50.9-112 113.2v178.1c0 43.6 24.7 81.6 60.6 100.5V1012H482l33.3-220.3 33.3 220.3h83.1V664.2zM515.1 12c65.2 0 118 53.4 118 119.3 0 65.8-52.8 119.3-118 119.3s-118-53.4-118-119.3c0-66.1 52.8-119.3 118-119.3z m182.2 670.7v288.8h76.4L804.3 769l30.6 202.5H918V651.7c33-17.4 55.6-52.3 55.6-92.3V395.6c0-57.2-46.4-104-103-104H744.1c-8.2 0-16.2 1-23.7 2.9 17.6 27.1 26.9 58.7 26.8 91v178.1c0 45.4-18.5 88.2-49.9 119.1zM804.6 52.4c-60 0-108.5 49-108.5 109.5s48.5 109.6 108.5 109.6c59.8 0 108.3-49 108.3-109.6 0-60.6-48.5-109.5-108.3-109.5z m-584.1 0c59.8 0 108.5 49 108.5 109.5s-48.5 109.6-108.5 109.6c-59.9 0-108.3-49-108.3-109.6-0.1-60.6 48.4-109.5 108.3-109.5z"
|
||||
fill="#e0620d"
|
||||
p-id="713"
|
||||
></path>
|
||||
</svg>
|
||||
<div class="text-center" style="font-size: 11px">
|
||||
总会员
|
||||
<span>
|
||||
{{memberNumberMap.totalCount}}
|
||||
</span>
|
||||
<span>{{memberNumberMap.totalCount}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<div class="flex-box" style="justify-content: space-between;padding: 15px">
|
||||
<svg t="1634178080836" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" p-id="8757" width="32" height="32">
|
||||
<path d="M579.2 646.5H445.1c-14.4 0-26.2-11.8-26.2-26.2V436.7c0-14.4 11.8-26.2 26.2-26.2h134.1c14.4 0 26.2 11.8 26.2 26.2v183.6c0 14.4-11.8 26.2-26.2 26.2z"
|
||||
fill="#F7C9A4" p-id="8758"></path>
|
||||
<path d="M840.7 959.1V779c0-83.9-147.8-139.5-328.4-139.5-180.6 0-328.4 55.6-328.4 139.5v180.1h656.8z"
|
||||
fill="#E8E8DD" p-id="8759"></path>
|
||||
<path d="M381.5 420.5h-53.7c-26.5 0-48.1-21.7-48.1-48.1 0-26.5 21.7-48.1 48.1-48.1h53.7c26.5 0 48.1 21.7 48.1 48.1 0 26.4-21.7 48.1-48.1 48.1zM687 415.9h-53.7c-26.5 0-48.1-21.7-48.1-48.1 0-26.5 21.7-48.1 48.1-48.1H687c26.5 0 48.1 21.7 48.1 48.1 0.1 26.4-21.6 48.1-48.1 48.1z"
|
||||
fill="#F7C9A4" p-id="8760"></path>
|
||||
<path d="M800.7 959.1V779c0-83.9-81.2-139.5-288.4-139.5-202.6 0-288.4 55.6-288.4 139.5v180.1h576.8z"
|
||||
fill="#F2F2F1" p-id="8761"></path>
|
||||
<path d="M512.1 549.1c-95.4 0-173.5-55.2-173.5-156.2V258.7c0-101 78.1-183.7 173.5-183.7s173.5 82.7 173.5 183.8v134.1c0 101-78.1 156.2-173.5 156.2z"
|
||||
fill="#FFD9B6" p-id="8762"></path>
|
||||
<path d="M409 353.3a19.2 23.8 0 1 0 38.4 0 19.2 23.8 0 1 0-38.4 0Z" fill="#694B4B"
|
||||
p-id="8763"></path>
|
||||
<path d="M576 353.3a19.2 23.8 0 1 0 38.4 0 19.2 23.8 0 1 0-38.4 0Z" fill="#694B4B"
|
||||
p-id="8764"></path>
|
||||
<path d="M339.6 959.1v-112c0-7.7-6.3-14-14-14s-14 6.3-14 14V959h28zM711.3 959.1v-112c0-7.7-6.3-14-14-14s-14 6.3-14 14V959h28z"
|
||||
fill="#E5E5DB" p-id="8765"></path>
|
||||
<path d="M577.8 649.5H447.3c-8.6 12.2-8.6 32.2 0 44.5l49.5 70.2c8.6 12.2 22.8 12.2 31.4 0l49.5-70.2c8.7-12.3 8.7-32.3 0.1-44.5z"
|
||||
fill="#0AC2FD" p-id="8766"></path>
|
||||
<path d="M700.4 82.6h-243c-28.9 0-54 19.7-65.8 48.1-37.5 3.3-63.4 40-63.4 84.2l11.4 119.4H397c2.6 0 4.8-2.2 4.8-4.9v-65.1c0-3.1 2.2-5.7 4.9-5.7l212 20.8c2.7 0 4.9 2.6 4.9 5.7v40.5c0 3.7 2.9 6.7 6.5 6.7l45.4 2h7.1c19.4 0 36.3-230.3 36.3-230.3 1.3-12.5-8.3-21.4-18.5-21.4z"
|
||||
fill="#F7CCA5" p-id="8767"></path>
|
||||
<path d="M712.1 62.6h-254c-29.3 0-54.7 19.3-66.6 47.2-38 3.3-68.1 39.1-68.1 82.4l14 117.3H379c2.7 0 4.8-2.2 4.8-4.8v-63.8c0-3.1 2.2-5.6 5-5.6l246.8 22.3c2.7 0 5 2.5 5 5.6V303c0 3.6 2.9 6.5 6.6 6.5h46.1c12.3 0 37.6-225.9 37.6-225.9 1.1-12.3-8.5-21-18.8-21z"
|
||||
fill="#694B4B" p-id="8768"></path>
|
||||
<path d="M511.3 648.5l-36.5 79.4c-6.5 10.3-13.6 21.2-24.1 11.7l-103.4-75.7c-7.9-7.9-15.9-13.9-12.8-23.6l32.3-54.2c3.1-9.7 14-15 24.1-11.7L498.5 625c10.2 3.2 15.9 13.8 12.8 23.5z"
|
||||
fill="#E8E8DD" p-id="8769"></path>
|
||||
<path d="M513.2 647.9l35.9 79.6c6.4 10.4 13.4 21.3 24.1 11.9l103.9-75c7.9-7.8 16-13.8 12.9-23.5l-21-51.4c-3.1-9.7-13.9-15.1-24.1-11.9L526 624.3c-10 3.3-15.9 13.9-12.8 23.6z"
|
||||
fill="#E8E8DD" p-id="8770"></path>
|
||||
<path d="M549.3 959.7h-73.9c-7.7 0-14-3-14-6.7l30-206c0-3.7 6.3-6.7 14-6.7h13.9c7.7 0 14 3 14 6.7l30 206c0 3.7-6.3 6.7-14 6.7z"
|
||||
fill="#0AC2FD" p-id="8771"></path>
|
||||
<path d="M528.3 762.3h-33c-3 0-5.5-2.5-5.5-5.5s2.5-5.5 5.5-5.5h33c3 0 5.5 2.5 5.5 5.5s-2.5 5.5-5.5 5.5z"
|
||||
fill="#079FDB" p-id="8772"></path>
|
||||
<div class="flex-box" style="justify-content: space-between; padding: 15px">
|
||||
<svg
|
||||
t="1634178080836"
|
||||
class="icon"
|
||||
viewBox="0 0 1024 1024"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="8757"
|
||||
width="32"
|
||||
height="32"
|
||||
>
|
||||
<path
|
||||
d="M579.2 646.5H445.1c-14.4 0-26.2-11.8-26.2-26.2V436.7c0-14.4 11.8-26.2 26.2-26.2h134.1c14.4 0 26.2 11.8 26.2 26.2v183.6c0 14.4-11.8 26.2-26.2 26.2z"
|
||||
fill="#F7C9A4"
|
||||
p-id="8758"
|
||||
></path>
|
||||
<path
|
||||
d="M840.7 959.1V779c0-83.9-147.8-139.5-328.4-139.5-180.6 0-328.4 55.6-328.4 139.5v180.1h656.8z"
|
||||
fill="#E8E8DD"
|
||||
p-id="8759"
|
||||
></path>
|
||||
<path
|
||||
d="M381.5 420.5h-53.7c-26.5 0-48.1-21.7-48.1-48.1 0-26.5 21.7-48.1 48.1-48.1h53.7c26.5 0 48.1 21.7 48.1 48.1 0 26.4-21.7 48.1-48.1 48.1zM687 415.9h-53.7c-26.5 0-48.1-21.7-48.1-48.1 0-26.5 21.7-48.1 48.1-48.1H687c26.5 0 48.1 21.7 48.1 48.1 0.1 26.4-21.6 48.1-48.1 48.1z"
|
||||
fill="#F7C9A4"
|
||||
p-id="8760"
|
||||
></path>
|
||||
<path
|
||||
d="M800.7 959.1V779c0-83.9-81.2-139.5-288.4-139.5-202.6 0-288.4 55.6-288.4 139.5v180.1h576.8z"
|
||||
fill="#F2F2F1"
|
||||
p-id="8761"
|
||||
></path>
|
||||
<path
|
||||
d="M512.1 549.1c-95.4 0-173.5-55.2-173.5-156.2V258.7c0-101 78.1-183.7 173.5-183.7s173.5 82.7 173.5 183.8v134.1c0 101-78.1 156.2-173.5 156.2z"
|
||||
fill="#FFD9B6"
|
||||
p-id="8762"
|
||||
></path>
|
||||
<path d="M409 353.3a19.2 23.8 0 1 0 38.4 0 19.2 23.8 0 1 0-38.4 0Z" fill="#694B4B" p-id="8763"></path>
|
||||
<path d="M576 353.3a19.2 23.8 0 1 0 38.4 0 19.2 23.8 0 1 0-38.4 0Z" fill="#694B4B" p-id="8764"></path>
|
||||
<path
|
||||
d="M339.6 959.1v-112c0-7.7-6.3-14-14-14s-14 6.3-14 14V959h28zM711.3 959.1v-112c0-7.7-6.3-14-14-14s-14 6.3-14 14V959h28z"
|
||||
fill="#E5E5DB"
|
||||
p-id="8765"
|
||||
></path>
|
||||
<path
|
||||
d="M577.8 649.5H447.3c-8.6 12.2-8.6 32.2 0 44.5l49.5 70.2c8.6 12.2 22.8 12.2 31.4 0l49.5-70.2c8.7-12.3 8.7-32.3 0.1-44.5z"
|
||||
fill="#0AC2FD"
|
||||
p-id="8766"
|
||||
></path>
|
||||
<path
|
||||
d="M700.4 82.6h-243c-28.9 0-54 19.7-65.8 48.1-37.5 3.3-63.4 40-63.4 84.2l11.4 119.4H397c2.6 0 4.8-2.2 4.8-4.9v-65.1c0-3.1 2.2-5.7 4.9-5.7l212 20.8c2.7 0 4.9 2.6 4.9 5.7v40.5c0 3.7 2.9 6.7 6.5 6.7l45.4 2h7.1c19.4 0 36.3-230.3 36.3-230.3 1.3-12.5-8.3-21.4-18.5-21.4z"
|
||||
fill="#F7CCA5"
|
||||
p-id="8767"
|
||||
></path>
|
||||
<path
|
||||
d="M712.1 62.6h-254c-29.3 0-54.7 19.3-66.6 47.2-38 3.3-68.1 39.1-68.1 82.4l14 117.3H379c2.7 0 4.8-2.2 4.8-4.8v-63.8c0-3.1 2.2-5.6 5-5.6l246.8 22.3c2.7 0 5 2.5 5 5.6V303c0 3.6 2.9 6.5 6.6 6.5h46.1c12.3 0 37.6-225.9 37.6-225.9 1.1-12.3-8.5-21-18.8-21z"
|
||||
fill="#694B4B"
|
||||
p-id="8768"
|
||||
></path>
|
||||
<path
|
||||
d="M511.3 648.5l-36.5 79.4c-6.5 10.3-13.6 21.2-24.1 11.7l-103.4-75.7c-7.9-7.9-15.9-13.9-12.8-23.6l32.3-54.2c3.1-9.7 14-15 24.1-11.7L498.5 625c10.2 3.2 15.9 13.8 12.8 23.5z"
|
||||
fill="#E8E8DD"
|
||||
p-id="8769"
|
||||
></path>
|
||||
<path
|
||||
d="M513.2 647.9l35.9 79.6c6.4 10.4 13.4 21.3 24.1 11.9l103.9-75c7.9-7.8 16-13.8 12.9-23.5l-21-51.4c-3.1-9.7-13.9-15.1-24.1-11.9L526 624.3c-10 3.3-15.9 13.9-12.8 23.6z"
|
||||
fill="#E8E8DD"
|
||||
p-id="8770"
|
||||
></path>
|
||||
<path
|
||||
d="M549.3 959.7h-73.9c-7.7 0-14-3-14-6.7l30-206c0-3.7 6.3-6.7 14-6.7h13.9c7.7 0 14 3 14 6.7l30 206c0 3.7-6.3 6.7-14 6.7z"
|
||||
fill="#0AC2FD"
|
||||
p-id="8771"
|
||||
></path>
|
||||
<path
|
||||
d="M528.3 762.3h-33c-3 0-5.5-2.5-5.5-5.5s2.5-5.5 5.5-5.5h33c3 0 5.5 2.5 5.5 5.5s-2.5 5.5-5.5 5.5z"
|
||||
fill="#079FDB"
|
||||
p-id="8772"
|
||||
></path>
|
||||
</svg>
|
||||
<div class="text-center" style="font-size: 11px">
|
||||
男性会员
|
||||
<span>
|
||||
{{memberNumberMap.maleCount}}
|
||||
</span>
|
||||
<span>{{memberNumberMap.maleCount}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<div class="flex-box" style="justify-content: space-between;padding: 15px">
|
||||
<svg t="1634178064546" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" p-id="8382" width="32" height="32">
|
||||
<path d="M668.501333 761.685333h-2.048a97.621333 97.621333 0 0 1-97.621333-97.621333v-43.52h-109.397333v43.52a97.621333 97.621333 0 0 1-97.621334 97.621333h-6.314666a136.533333 136.533333 0 0 0-136.533334 136.533334v29.013333h586.069334v-29.013333a136.533333 136.533333 0 0 0-136.533334-136.533334z"
|
||||
fill="#FFE3BA" p-id="8383"></path>
|
||||
<path d="M427.690667 735.914667a180.224 180.224 0 0 0 170.666666-1.365334 96.938667 96.938667 0 0 1-30.208-70.485333v-43.52h-108.714666v43.52a96.938667 96.938667 0 0 1-31.744 71.850667zM805.034667 870.4a232.106667 232.106667 0 0 1-93.525334 19.626667H312.490667A232.106667 232.106667 0 0 1 218.965333 870.4v56.149333h586.069334V870.4z"
|
||||
fill="#FFC670" p-id="8384"></path>
|
||||
<path d="M512 108.032a254.805333 254.805333 0 0 1 254.805333 254.976v265.898667a38.229333 38.229333 0 0 1-38.229333 38.229333H295.424a38.229333 38.229333 0 0 1-38.229333-38.229333V363.008A254.805333 254.805333 0 0 1 512 108.032z"
|
||||
fill="#FFC670" p-id="8385"></path>
|
||||
<path d="M512 552.106667a529.066667 529.066667 0 0 1-254.805333-63.488v140.288a38.229333 38.229333 0 0 0 38.229333 38.229333h433.152a38.229333 38.229333 0 0 0 38.229333-38.229333v-140.288A529.066667 529.066667 0 0 1 512 552.106667z"
|
||||
fill="#FFB038" p-id="8386"></path>
|
||||
<path d="M694.101333 304.64v221.866667A182.101333 182.101333 0 0 1 512 708.608a182.101333 182.101333 0 0 1-182.101333-182.101333v-149.674667a131.072 131.072 0 0 0 184.32-119.466667 131.242667 131.242667 0 0 0 113.834666 65.877334 129.706667 129.706667 0 0 0 66.048-17.92z"
|
||||
fill="#FFF6E6" p-id="8387"></path>
|
||||
<path d="M638.122667 321.706667v204.8a182.101333 182.101333 0 0 1-153.6 179.712 189.610667 189.610667 0 0 0 27.989333 2.389333 182.101333 182.101333 0 0 0 181.589333-182.101333v-221.866667a130.389333 130.389333 0 0 1-55.978666 17.066667z"
|
||||
fill="#FFE3BA" p-id="8388"></path>
|
||||
<path d="M666.453333 750.933333H648.533333c0 73.557333-59.562667 116.053333-133.12 116.053334h-7.850666c-73.557333 0-133.12-42.496-133.12-116.053334H358.4a136.533333 136.533333 0 0 0-58.538667 13.141334v163.328h426.666667v-163.498667a136.533333 136.533333 0 0 0-60.074667-12.970667z"
|
||||
fill="#F6716F" p-id="8389"></path>
|
||||
<path d="M724.992 870.4A232.106667 232.106667 0 0 1 631.466667 890.709333H392.533333A232.106667 232.106667 0 0 1 299.008 870.4v56.149333h426.666667V870.4z"
|
||||
fill="#F0504D" p-id="8390"></path>
|
||||
<path d="M593.92 107.52a36.864 36.864 0 0 0 5.973333 57.002667l69.12 45.397333 27.306667-27.306667-45.397333-69.290666a37.034667 37.034667 0 0 0-57.002667-5.802667zM770.901333 285.354667a36.864 36.864 0 0 0-5.802666-57.002667l-68.266667-45.397333-27.306667 27.306666 45.397334 69.12a36.693333 36.693333 0 0 0 55.978666 5.973334z"
|
||||
fill="#F6716F" p-id="8391"></path>
|
||||
<path d="M631.466667 201.250133l55.381333-55.3984 46.08 46.097067-55.381333 55.3984z" fill="#FCFEFF"
|
||||
p-id="8392"></path>
|
||||
<path d="M877.397333 910.165333h-55.296v-11.946666a153.6 153.6 0 0 0-80.042666-134.485334 17.066667 17.066667 0 0 0-9.898667-15.36 153.6 153.6 0 0 0-65.706667-14.506666H648.533333a17.066667 17.066667 0 0 0-12.117333 5.12A81.92 81.92 0 0 1 597.333333 705.877333a212.992 212.992 0 0 0 35.328-21.674666h95.402667a55.466667 55.466667 0 0 0 55.296-55.296V363.008a277.504 277.504 0 0 0-6.826667-60.757333c2.048-1.536 4.096-3.072 5.973334-4.778667a54.101333 54.101333 0 0 0-8.533334-83.456l-25.429333-17.066667a17.066667 17.066667 0 0 0-4.096-17.066666L699.733333 133.802667a17.066667 17.066667 0 0 0-17.066666-4.096l-17.066667-25.6a53.930667 53.930667 0 0 0-83.285333-8.704 38.058667 38.058667 0 0 0-3.242667 4.096 271.189333 271.189333 0 0 0-338.944 263.509333v265.898667a55.466667 55.466667 0 0 0 55.296 55.296h95.402667a199.509333 199.509333 0 0 0 38.570666 23.210666 80.042667 80.042667 0 0 1-41.472 32.597334A17.066667 17.066667 0 0 0 375.466667 733.866667h-17.066667a153.6 153.6 0 0 0-65.706667 14.677333 17.066667 17.066667 0 0 0-9.898666 15.530667v2.218666a145.408 145.408 0 0 0-80.042667 129.365334v14.677333H146.602667a17.066667 17.066667 0 0 0 0 34.133333h730.794666a17.066667 17.066667 0 0 0 0-34.133333z m-595.456 0h-47.786666v-14.677333a112.64 112.64 0 0 1 47.786666-91.818667z m473.770667-667.477333a18.944 18.944 0 0 1 8.874667 14.506667 20.48 20.48 0 0 1-21.674667 21.845333 20.309333 20.309333 0 0 1-14.677333-8.874667l-19.456-29.696 17.066666-17.066666z m-68.266667-72.533333l22.016 22.016-31.914666 31.232-22.016-22.016z m-64.682666-56.32a20.650667 20.650667 0 0 1 14.677333 8.874666l19.456 29.696-17.066667 17.066667L609.28 150.186667a18.944 18.944 0 0 1-8.874667-13.653334 20.309333 20.309333 0 0 1 21.674667-22.698666zM295.424 650.069333a21.162667 21.162667 0 0 1-21.162667-21.162666V363.008A238.933333 238.933333 0 0 1 512 125.098667a242.346667 242.346667 0 0 1 54.442667 6.485333 55.125333 55.125333 0 0 0 0 7.509333 53.418667 53.418667 0 0 0 24.064 39.594667l25.088 17.066667a17.066667 17.066667 0 0 0 3.754666 18.090666L665.6 259.584a17.066667 17.066667 0 0 0 17.066667 3.925333l17.066666 25.258667a53.248 53.248 0 0 0 39.594667 24.064 25.6 25.6 0 0 0 5.12 0 233.984 233.984 0 0 1 5.290667 50.176v265.898667a21.162667 21.162667 0 0 1-21.162667 21.162666h-60.586667a198.656 198.656 0 0 0 43.178667-123.562666V313.002667a17.066667 17.066667 0 0 0-8.704-14.677334 17.066667 17.066667 0 0 0-17.066667 0A114.005333 114.005333 0 0 1 529.066667 256a17.066667 17.066667 0 0 0-31.914667 8.874667 114.176 114.176 0 0 1-160.256 104.448 17.066667 17.066667 0 0 0-24.064 15.530666v141.141334a198.656 198.656 0 0 0 43.178667 123.562666z m51.2-123.562666V409.6a150.698667 150.698667 0 0 0 36.010667 4.437333A148.138667 148.138667 0 0 0 525.312 307.2a148.821333 148.821333 0 0 0 102.4 41.301333 144.896 144.896 0 0 0 48.981333-8.362666v187.733333a165.034667 165.034667 0 0 1-330.069333 0z m115.2 192.682666a199.338667 199.338667 0 0 0 49.834667 6.485334 191.829333 191.829333 0 0 0 53.589333-7.68 115.712 115.712 0 0 0 64.170667 54.613333c-11.093333 53.077333-62.634667 77.141333-113.834667 77.141333h-7.850667c-51.2 0-102.4-23.722667-113.493333-75.946666a115.029333 115.029333 0 0 0 67.925333-54.613334z m245.76 190.976h-392.533333v-134.826666A119.466667 119.466667 0 0 1 358.4 768c8.362667 68.266667 67.242667 116.053333 149.162667 116.053333h7.850666C597.333333 883.882667 656.725333 836.266667 665.6 768h1.365333a119.466667 119.466667 0 0 1 41.472 7.509333z m80.042667 0h-45.568v-105.813333a119.466667 119.466667 0 0 1 45.909333 93.866667z"
|
||||
fill="#3D3D63" p-id="8393"></path>
|
||||
<path d="M587.776 586.581333a17.066667 17.066667 0 0 0-31.402667-13.824 48.298667 48.298667 0 0 1-88.746666 0 17.066667 17.066667 0 0 0-31.402667 13.824 82.773333 82.773333 0 0 0 151.552 0zM453.290667 454.826667v-19.797334a17.066667 17.066667 0 0 0-34.133334 0v19.797334a17.066667 17.066667 0 0 0 34.133334 0zM587.776 471.893333a17.066667 17.066667 0 0 0 17.066667-17.066666v-19.797334a17.066667 17.066667 0 1 0-34.133334 0v19.797334a17.066667 17.066667 0 0 0 17.066667 17.066666z"
|
||||
fill="#3D3D63" p-id="8394"></path>
|
||||
<div class="flex-box" style="justify-content: space-between; padding: 15px">
|
||||
<svg
|
||||
t="1634178064546"
|
||||
class="icon"
|
||||
viewBox="0 0 1024 1024"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="8382"
|
||||
width="32"
|
||||
height="32"
|
||||
>
|
||||
<path
|
||||
d="M668.501333 761.685333h-2.048a97.621333 97.621333 0 0 1-97.621333-97.621333v-43.52h-109.397333v43.52a97.621333 97.621333 0 0 1-97.621334 97.621333h-6.314666a136.533333 136.533333 0 0 0-136.533334 136.533334v29.013333h586.069334v-29.013333a136.533333 136.533333 0 0 0-136.533334-136.533334z"
|
||||
fill="#FFE3BA"
|
||||
p-id="8383"
|
||||
></path>
|
||||
<path
|
||||
d="M427.690667 735.914667a180.224 180.224 0 0 0 170.666666-1.365334 96.938667 96.938667 0 0 1-30.208-70.485333v-43.52h-108.714666v43.52a96.938667 96.938667 0 0 1-31.744 71.850667zM805.034667 870.4a232.106667 232.106667 0 0 1-93.525334 19.626667H312.490667A232.106667 232.106667 0 0 1 218.965333 870.4v56.149333h586.069334V870.4z"
|
||||
fill="#FFC670"
|
||||
p-id="8384"
|
||||
></path>
|
||||
<path
|
||||
d="M512 108.032a254.805333 254.805333 0 0 1 254.805333 254.976v265.898667a38.229333 38.229333 0 0 1-38.229333 38.229333H295.424a38.229333 38.229333 0 0 1-38.229333-38.229333V363.008A254.805333 254.805333 0 0 1 512 108.032z"
|
||||
fill="#FFC670"
|
||||
p-id="8385"
|
||||
></path>
|
||||
<path
|
||||
d="M512 552.106667a529.066667 529.066667 0 0 1-254.805333-63.488v140.288a38.229333 38.229333 0 0 0 38.229333 38.229333h433.152a38.229333 38.229333 0 0 0 38.229333-38.229333v-140.288A529.066667 529.066667 0 0 1 512 552.106667z"
|
||||
fill="#FFB038"
|
||||
p-id="8386"
|
||||
></path>
|
||||
<path
|
||||
d="M694.101333 304.64v221.866667A182.101333 182.101333 0 0 1 512 708.608a182.101333 182.101333 0 0 1-182.101333-182.101333v-149.674667a131.072 131.072 0 0 0 184.32-119.466667 131.242667 131.242667 0 0 0 113.834666 65.877334 129.706667 129.706667 0 0 0 66.048-17.92z"
|
||||
fill="#FFF6E6"
|
||||
p-id="8387"
|
||||
></path>
|
||||
<path
|
||||
d="M638.122667 321.706667v204.8a182.101333 182.101333 0 0 1-153.6 179.712 189.610667 189.610667 0 0 0 27.989333 2.389333 182.101333 182.101333 0 0 0 181.589333-182.101333v-221.866667a130.389333 130.389333 0 0 1-55.978666 17.066667z"
|
||||
fill="#FFE3BA"
|
||||
p-id="8388"
|
||||
></path>
|
||||
<path
|
||||
d="M666.453333 750.933333H648.533333c0 73.557333-59.562667 116.053333-133.12 116.053334h-7.850666c-73.557333 0-133.12-42.496-133.12-116.053334H358.4a136.533333 136.533333 0 0 0-58.538667 13.141334v163.328h426.666667v-163.498667a136.533333 136.533333 0 0 0-60.074667-12.970667z"
|
||||
fill="#F6716F"
|
||||
p-id="8389"
|
||||
></path>
|
||||
<path
|
||||
d="M724.992 870.4A232.106667 232.106667 0 0 1 631.466667 890.709333H392.533333A232.106667 232.106667 0 0 1 299.008 870.4v56.149333h426.666667V870.4z"
|
||||
fill="#F0504D"
|
||||
p-id="8390"
|
||||
></path>
|
||||
<path
|
||||
d="M593.92 107.52a36.864 36.864 0 0 0 5.973333 57.002667l69.12 45.397333 27.306667-27.306667-45.397333-69.290666a37.034667 37.034667 0 0 0-57.002667-5.802667zM770.901333 285.354667a36.864 36.864 0 0 0-5.802666-57.002667l-68.266667-45.397333-27.306667 27.306666 45.397334 69.12a36.693333 36.693333 0 0 0 55.978666 5.973334z"
|
||||
fill="#F6716F"
|
||||
p-id="8391"
|
||||
></path>
|
||||
<path d="M631.466667 201.250133l55.381333-55.3984 46.08 46.097067-55.381333 55.3984z" fill="#FCFEFF" p-id="8392"></path>
|
||||
<path
|
||||
d="M877.397333 910.165333h-55.296v-11.946666a153.6 153.6 0 0 0-80.042666-134.485334 17.066667 17.066667 0 0 0-9.898667-15.36 153.6 153.6 0 0 0-65.706667-14.506666H648.533333a17.066667 17.066667 0 0 0-12.117333 5.12A81.92 81.92 0 0 1 597.333333 705.877333a212.992 212.992 0 0 0 35.328-21.674666h95.402667a55.466667 55.466667 0 0 0 55.296-55.296V363.008a277.504 277.504 0 0 0-6.826667-60.757333c2.048-1.536 4.096-3.072 5.973334-4.778667a54.101333 54.101333 0 0 0-8.533334-83.456l-25.429333-17.066667a17.066667 17.066667 0 0 0-4.096-17.066666L699.733333 133.802667a17.066667 17.066667 0 0 0-17.066666-4.096l-17.066667-25.6a53.930667 53.930667 0 0 0-83.285333-8.704 38.058667 38.058667 0 0 0-3.242667 4.096 271.189333 271.189333 0 0 0-338.944 263.509333v265.898667a55.466667 55.466667 0 0 0 55.296 55.296h95.402667a199.509333 199.509333 0 0 0 38.570666 23.210666 80.042667 80.042667 0 0 1-41.472 32.597334A17.066667 17.066667 0 0 0 375.466667 733.866667h-17.066667a153.6 153.6 0 0 0-65.706667 14.677333 17.066667 17.066667 0 0 0-9.898666 15.530667v2.218666a145.408 145.408 0 0 0-80.042667 129.365334v14.677333H146.602667a17.066667 17.066667 0 0 0 0 34.133333h730.794666a17.066667 17.066667 0 0 0 0-34.133333z m-595.456 0h-47.786666v-14.677333a112.64 112.64 0 0 1 47.786666-91.818667z m473.770667-667.477333a18.944 18.944 0 0 1 8.874667 14.506667 20.48 20.48 0 0 1-21.674667 21.845333 20.309333 20.309333 0 0 1-14.677333-8.874667l-19.456-29.696 17.066666-17.066666z m-68.266667-72.533333l22.016 22.016-31.914666 31.232-22.016-22.016z m-64.682666-56.32a20.650667 20.650667 0 0 1 14.677333 8.874666l19.456 29.696-17.066667 17.066667L609.28 150.186667a18.944 18.944 0 0 1-8.874667-13.653334 20.309333 20.309333 0 0 1 21.674667-22.698666zM295.424 650.069333a21.162667 21.162667 0 0 1-21.162667-21.162666V363.008A238.933333 238.933333 0 0 1 512 125.098667a242.346667 242.346667 0 0 1 54.442667 6.485333 55.125333 55.125333 0 0 0 0 7.509333 53.418667 53.418667 0 0 0 24.064 39.594667l25.088 17.066667a17.066667 17.066667 0 0 0 3.754666 18.090666L665.6 259.584a17.066667 17.066667 0 0 0 17.066667 3.925333l17.066666 25.258667a53.248 53.248 0 0 0 39.594667 24.064 25.6 25.6 0 0 0 5.12 0 233.984 233.984 0 0 1 5.290667 50.176v265.898667a21.162667 21.162667 0 0 1-21.162667 21.162666h-60.586667a198.656 198.656 0 0 0 43.178667-123.562666V313.002667a17.066667 17.066667 0 0 0-8.704-14.677334 17.066667 17.066667 0 0 0-17.066667 0A114.005333 114.005333 0 0 1 529.066667 256a17.066667 17.066667 0 0 0-31.914667 8.874667 114.176 114.176 0 0 1-160.256 104.448 17.066667 17.066667 0 0 0-24.064 15.530666v141.141334a198.656 198.656 0 0 0 43.178667 123.562666z m51.2-123.562666V409.6a150.698667 150.698667 0 0 0 36.010667 4.437333A148.138667 148.138667 0 0 0 525.312 307.2a148.821333 148.821333 0 0 0 102.4 41.301333 144.896 144.896 0 0 0 48.981333-8.362666v187.733333a165.034667 165.034667 0 0 1-330.069333 0z m115.2 192.682666a199.338667 199.338667 0 0 0 49.834667 6.485334 191.829333 191.829333 0 0 0 53.589333-7.68 115.712 115.712 0 0 0 64.170667 54.613333c-11.093333 53.077333-62.634667 77.141333-113.834667 77.141333h-7.850667c-51.2 0-102.4-23.722667-113.493333-75.946666a115.029333 115.029333 0 0 0 67.925333-54.613334z m245.76 190.976h-392.533333v-134.826666A119.466667 119.466667 0 0 1 358.4 768c8.362667 68.266667 67.242667 116.053333 149.162667 116.053333h7.850666C597.333333 883.882667 656.725333 836.266667 665.6 768h1.365333a119.466667 119.466667 0 0 1 41.472 7.509333z m80.042667 0h-45.568v-105.813333a119.466667 119.466667 0 0 1 45.909333 93.866667z"
|
||||
fill="#3D3D63"
|
||||
p-id="8393"
|
||||
></path>
|
||||
<path
|
||||
d="M587.776 586.581333a17.066667 17.066667 0 0 0-31.402667-13.824 48.298667 48.298667 0 0 1-88.746666 0 17.066667 17.066667 0 0 0-31.402667 13.824 82.773333 82.773333 0 0 0 151.552 0zM453.290667 454.826667v-19.797334a17.066667 17.066667 0 0 0-34.133334 0v19.797334a17.066667 17.066667 0 0 0 34.133334 0zM587.776 471.893333a17.066667 17.066667 0 0 0 17.066667-17.066666v-19.797334a17.066667 17.066667 0 1 0-34.133334 0v19.797334a17.066667 17.066667 0 0 0 17.066667 17.066666z"
|
||||
fill="#3D3D63"
|
||||
p-id="8394"
|
||||
></path>
|
||||
</svg>
|
||||
<div class="text-center" style="font-size: 11px">
|
||||
女性会员
|
||||
<span>
|
||||
{{memberNumberMap.femaleCount}}
|
||||
|
||||
</span>
|
||||
<span>{{memberNumberMap.femaleCount}}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
<div class="chart-card">
|
||||
<div class="van-sidebar-item van-sidebar-item--select ml15 p10">
|
||||
人员类型
|
||||
</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select ml15 p10">人员类型</div>
|
||||
<canvas id="personType" style="width: 100%" height="350"></canvas>
|
||||
</div>
|
||||
|
||||
<div class="chart-card">
|
||||
<div class="van-sidebar-item van-sidebar-item--select ml15 p10">
|
||||
增长趋势
|
||||
</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select ml15 p10">增长趋势</div>
|
||||
<canvas id="memberTrend" style="width: 100%" height="350"></canvas>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<script src="https://gw.alipayobjects.com/os/lib/antv/f2/3.7.0/dist/f2.min.js"></script>
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
memberNumberMap: {}
|
||||
@@ -143,19 +224,19 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
methods: {
|
||||
async getMemberNumber() {
|
||||
const {data} = await $.get('/mobile/member/dashBoard/memberNumber')
|
||||
const { data } = await $.get("/mobile/member/dashBoard/memberNumber")
|
||||
this.memberNumberMap = data
|
||||
},
|
||||
async growthTrend() {
|
||||
const {data} = await $.get('/mobile/member/dashBoard/growthTrend')
|
||||
const { data } = await $.get("/mobile/member/dashBoard/growthTrend")
|
||||
const chart = new F2.Chart({
|
||||
id: 'memberTrend',
|
||||
id: "memberTrend",
|
||||
pixelRatio: window.devicePixelRatio
|
||||
})
|
||||
chart.source(data)
|
||||
chart.scale({
|
||||
label: {
|
||||
range: [ 0, 1 ]
|
||||
range: [0, 1]
|
||||
},
|
||||
value: {
|
||||
tickCount: 5,
|
||||
@@ -169,29 +250,26 @@ layout("/mobile/platform.html"){
|
||||
// textBaseline: 'middle'
|
||||
// }
|
||||
// })
|
||||
chart.area().position('label*value').color('l(90) 0:#1890FF 1:#f7f7f7').shape('smooth')
|
||||
chart.line().position('label*value').color('l(90) 0:#1890FF 1:#f7f7f7').shape('smooth')
|
||||
chart.area().position("label*value").color("l(90) 0:#1890FF 1:#f7f7f7").shape("smooth")
|
||||
chart.line().position("label*value").color("l(90) 0:#1890FF 1:#f7f7f7").shape("smooth")
|
||||
chart.render()
|
||||
|
||||
|
||||
|
||||
},
|
||||
async getPersonTypeMember() {
|
||||
const {data} = await $.get('/platform/member/inquire/board/personTypeMember')
|
||||
const { data } = await $.get("/platform/member/inquire/board/personTypeMember")
|
||||
const chart = new F2.Chart({
|
||||
id: 'personType',
|
||||
id: "personType",
|
||||
pixelRatio: window.devicePixelRatio
|
||||
})
|
||||
chart.source(data)
|
||||
chart.interval().position('label*value').color('label')
|
||||
chart.axis('label', {
|
||||
chart.interval().position("label*value").color("label")
|
||||
chart.axis("label", {
|
||||
label: {
|
||||
rotate: -1,
|
||||
textAlign: 'end',
|
||||
textBaseline: 'middle'
|
||||
textAlign: "end",
|
||||
textBaseline: "middle"
|
||||
}
|
||||
})
|
||||
chart.render();
|
||||
chart.render()
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -202,7 +280,6 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -4,24 +4,31 @@ layout("/mobile/platform.html"){
|
||||
<div id="app" v-cloak>
|
||||
<m-page-loading v-if="mLoading"></m-page-loading>
|
||||
<!-- <van-nav-bar title="详细信息" left-arrow left-text="返回" placeholder fixed @click-left="location.href = document.referrer"></van-nav-bar>-->
|
||||
<van-nav-bar title="详细信息" left-arrow placeholder fixed @click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="详细信息" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<mobile-member-info ref="minfo"></mobile-member-info>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
unionAudit: {},
|
||||
schoolAudit: {},
|
||||
personTypes: ["事业编制", "事业编制人事代理", "非事业编制人事代理", "校聘人才派遣", "人才/劳务派遣(天目湖校区)", "溧阳事业编制(天目湖校区)"],
|
||||
personTypes: [
|
||||
"事业编制",
|
||||
"事业编制人事代理",
|
||||
"非事业编制人事代理",
|
||||
"校聘人才派遣",
|
||||
"人才/劳务派遣(天目湖校区)",
|
||||
"溧阳事业编制(天目湖校区)"
|
||||
]
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-member-info': httpVueLoader('/components/mobile/member/MobileMemberInfo.vue?v=' + new Date().getTime()),
|
||||
"mobile-member-info": httpVueLoader("/components/mobile/member/MobileMemberInfo.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {},
|
||||
async created() {
|
||||
@@ -43,7 +50,6 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -3,121 +3,121 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar @click-left="pjaxReplace('/mobile/index')" fixed left-arrow placeholder title="修改个人信息"></van-nav-bar>
|
||||
|
||||
<van-nav-bar @click-left="history.back()" fixed left-arrow placeholder
|
||||
title="修改个人信息"></van-nav-bar>
|
||||
|
||||
<van-form :show-error-message="true" @submit="doSubmit" class="mt5"
|
||||
input-align="right"
|
||||
ref="form"
|
||||
scroll-to-error
|
||||
validate-trigger="onSubmit">
|
||||
<van-form :show-error-message="true" @submit="doSubmit" class="mt5" input-align="right" ref="form" scroll-to-error validate-trigger="onSubmit">
|
||||
<van-cell-group inset>
|
||||
<van-field label="工号" left-icon="contact"
|
||||
readonly
|
||||
value="${@shiro.getPrincipalProperty('loginname')}"></van-field>
|
||||
<van-field label="姓名" left-icon="contact"
|
||||
readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"></van-field>
|
||||
<van-field clickable label="性别"
|
||||
left-icon="ellipsis"
|
||||
placeholder="请选择性别"
|
||||
readonly
|
||||
v-model="formData.sex"></van-field>
|
||||
<van-field label="工号" left-icon="contact" readonly value="${@shiro.getPrincipalProperty('loginname')}"></van-field>
|
||||
<van-field label="姓名" left-icon="contact" readonly value="${@shiro.getPrincipalProperty('username')}"></van-field>
|
||||
<van-field clickable label="性别" left-icon="ellipsis" placeholder="请选择性别" readonly v-model="formData.sex"></van-field>
|
||||
<van-popup position="bottom" v-model="sexPicker">
|
||||
<van-picker
|
||||
:columns="['男','女']"
|
||||
@cancel="sexPicker = false"
|
||||
@confirm="(val)=>{this.formData.sex = val;sexPicker=false}"
|
||||
show-toolbar
|
||||
:columns="['男','女']"
|
||||
@cancel="sexPicker = false"
|
||||
@confirm="(val)=>{this.formData.sex = val;sexPicker=false}"
|
||||
show-toolbar
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field @click="marriagePicker=true" label="婚否" left-icon="ellipsis"
|
||||
readonly placeholder="请选择婚否" v-model="formData.marriage"></van-field>
|
||||
<van-field
|
||||
@click="marriagePicker=true"
|
||||
label="婚否"
|
||||
left-icon="ellipsis"
|
||||
readonly
|
||||
placeholder="请选择婚否"
|
||||
v-model="formData.marriage"
|
||||
></van-field>
|
||||
<van-popup position="bottom" v-model="marriagePicker">
|
||||
<van-picker
|
||||
:columns="['已婚','未婚']"
|
||||
@cancel="marriagePicker = false"
|
||||
@confirm="(val)=>{formData.marriage = val;marriagePicker=false}"
|
||||
show-toolbar
|
||||
:columns="['已婚','未婚']"
|
||||
@cancel="marriagePicker = false"
|
||||
@confirm="(val)=>{formData.marriage = val;marriagePicker=false}"
|
||||
show-toolbar
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<!--临时屏蔽-->
|
||||
<template v-if="false">
|
||||
<van-field :rules="[{ required:true, message: '请选择民族' }]" clickable label="民族"
|
||||
left-icon="bar-chart-o"
|
||||
placeholder="请选择民族" readonly
|
||||
v-model="formData.nation"></van-field>
|
||||
<van-field
|
||||
:rules="[{ required:true, message: '请选择民族' }]"
|
||||
clickable
|
||||
label="民族"
|
||||
left-icon="bar-chart-o"
|
||||
placeholder="请选择民族"
|
||||
readonly
|
||||
v-model="formData.nation"
|
||||
></van-field>
|
||||
<van-popup position="bottom" v-model="nationPicker">
|
||||
<van-picker
|
||||
:columns="nationColumns"
|
||||
@cancel="nationPicker = false"
|
||||
@confirm="(v)=>{formData.nation = v;nationPicker = false}"
|
||||
show-toolbar
|
||||
:columns="nationColumns"
|
||||
@cancel="nationPicker = false"
|
||||
@confirm="(v)=>{formData.nation = v;nationPicker = false}"
|
||||
show-toolbar
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field clickable
|
||||
label="学历"
|
||||
|
||||
left-icon="coupon-o"
|
||||
placeholder="请选择学历" readonly
|
||||
v-model="formData.education"></van-field>
|
||||
<van-field clickable label="学历" left-icon="coupon-o" placeholder="请选择学历" readonly v-model="formData.education"></van-field>
|
||||
<van-popup position="bottom" v-model="educationPicker">
|
||||
<van-picker
|
||||
:columns="educationColumns"
|
||||
@cancel="educationPicker = false"
|
||||
@confirm="(v)=>{formData.education = v;educationPicker = false}"
|
||||
show-toolbar
|
||||
:columns="educationColumns"
|
||||
@cancel="educationPicker = false"
|
||||
@confirm="(v)=>{formData.education = v;educationPicker = false}"
|
||||
show-toolbar
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field clickable
|
||||
label="学位"
|
||||
left-icon="comment-o"
|
||||
placeholder="请选择学位" readonly
|
||||
v-model="formData.academicDegree"></van-field>
|
||||
<van-field
|
||||
clickable
|
||||
label="学位"
|
||||
left-icon="comment-o"
|
||||
placeholder="请选择学位"
|
||||
readonly
|
||||
v-model="formData.academicDegree"
|
||||
></van-field>
|
||||
<van-popup position="bottom" v-model="academicDegreePicker">
|
||||
<van-picker
|
||||
:columns="academicDegreeColumns"
|
||||
@cancel="academicDegreePicker = false"
|
||||
@confirm="(v)=>{formData.academicDegree = v;academicDegreePicker = false}"
|
||||
show-toolbar
|
||||
:columns="academicDegreeColumns"
|
||||
@cancel="academicDegreePicker = false"
|
||||
@confirm="(v)=>{formData.academicDegree = v;academicDegreePicker = false}"
|
||||
show-toolbar
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field label="政治面貌" left-icon="label-o"
|
||||
placeholder="请填写政治面貌" readonly
|
||||
v-model="formData.political"></van-field>
|
||||
<van-field label="政治面貌" left-icon="label-o" placeholder="请填写政治面貌" readonly v-model="formData.political"></van-field>
|
||||
</template>
|
||||
|
||||
<van-field @click="idTypePicker=true" label="有效证件类型" left-icon="label-o"
|
||||
placeholder="请选择有效证件类型"
|
||||
readonly v-model="formData.idType">
|
||||
</van-field>
|
||||
<van-field
|
||||
@click="idTypePicker=true"
|
||||
label="有效证件类型"
|
||||
left-icon="label-o"
|
||||
placeholder="请选择有效证件类型"
|
||||
readonly
|
||||
v-model="formData.idType"
|
||||
></van-field>
|
||||
<van-popup position="bottom" v-model="idTypePicker">
|
||||
<van-picker
|
||||
:columns="idTypeColumns"
|
||||
@cancel="idTypePicker = false"
|
||||
@confirm="(v)=>{formData.idType = v;idTypePicker = false}"
|
||||
show-toolbar
|
||||
:columns="idTypeColumns"
|
||||
@cancel="idTypePicker = false"
|
||||
@confirm="(v)=>{formData.idType = v;idTypePicker = false}"
|
||||
show-toolbar
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
|
||||
<van-field label="证件号"
|
||||
left-icon="idcard"
|
||||
placeholder="请填写身份证号码"
|
||||
:rules="[{ pattern :/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/, message: '请输入正确的证件号' }]"
|
||||
v-model="formData.idcard"></van-field>
|
||||
<van-field label="联系电话"
|
||||
left-icon="phone-o"
|
||||
placeholder="请填写联系电话"
|
||||
:rules="[{ pattern :/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/, message: '请输入正确的手机号' }]"
|
||||
type="tel"
|
||||
v-model="formData.mobile"></van-field>
|
||||
<van-field
|
||||
label="证件号"
|
||||
left-icon="idcard"
|
||||
placeholder="请填写身份证号码"
|
||||
:rules="[{ pattern :/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/, message: '请输入正确的证件号' }]"
|
||||
v-model="formData.idcard"
|
||||
></van-field>
|
||||
<van-field
|
||||
label="联系电话"
|
||||
left-icon="phone-o"
|
||||
placeholder="请填写联系电话"
|
||||
:rules="[{ pattern :/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/, message: '请输入正确的手机号' }]"
|
||||
type="tel"
|
||||
v-model="formData.mobile"
|
||||
></van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group class="mt10" inset>
|
||||
@@ -127,12 +127,8 @@ layout("/mobile/platform.html"){
|
||||
<!-- <van-field label="现居住地" left-icon="home-o"-->
|
||||
<!-- placeholder="请填写现居住地" readonly-->
|
||||
<!-- v-model="formData.homeAddress"></van-field>-->
|
||||
<van-field label="工作单位" left-icon="cluster-o"
|
||||
readonly
|
||||
value="${@shiro.getPrincipalProperty('unit').getName()}"></van-field>
|
||||
<van-field label="分工会" left-icon="cluster-o"
|
||||
readonly
|
||||
value="${@shiro.getPrincipalProperty('union').getUnionname()}"></van-field>
|
||||
<van-field label="工作单位" left-icon="cluster-o" readonly value="${@shiro.getPrincipalProperty('unit').getName()}"></van-field>
|
||||
<van-field label="分工会" left-icon="cluster-o" readonly value="${@shiro.getPrincipalProperty('union').getUnionname()}"></van-field>
|
||||
<!-- <van-field label="职务" left-icon="debit-pay"-->
|
||||
<!-- placeholder="请填写职务" readonly-->
|
||||
<!-- v-model="formData.position"></van-field>-->
|
||||
@@ -244,19 +240,15 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-cell-group>-->
|
||||
|
||||
<div style="margin: 20px 20px 10px;">
|
||||
<van-button :color="themeColor" block native-type="submit" style="border-radius: 10px"
|
||||
type="info">
|
||||
提 交
|
||||
</van-button>
|
||||
<div style="margin: 20px 20px 10px">
|
||||
<van-button :color="themeColor" block native-type="submit" style="border-radius: 10px" type="info">提 交</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
const political = []
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -268,17 +260,13 @@ layout("/mobile/platform.html"){
|
||||
educationPicker: false,
|
||||
academicDegreePicker: false,
|
||||
family: [],
|
||||
educationColumns: [
|
||||
'博士研究生', '硕士研究生', '本科', '专科', '中专中技', '高中', '初中以下'
|
||||
],
|
||||
academicDegreeColumns: [
|
||||
'学士', '硕士', '博士'
|
||||
],
|
||||
educationColumns: ["博士研究生", "硕士研究生", "本科", "专科", "中专中技", "高中", "初中以下"],
|
||||
academicDegreeColumns: ["学士", "硕士", "博士"],
|
||||
nationColumns: [],
|
||||
memberStatusColumn: {
|
||||
MEMBER: 1,
|
||||
APPLYING: 2,
|
||||
NOTMEBMER: 3,
|
||||
NOTMEBMER: 3
|
||||
},
|
||||
memberStatus: null,
|
||||
idTypePicker: false,
|
||||
@@ -288,8 +276,8 @@ layout("/mobile/platform.html"){
|
||||
methods: {
|
||||
async doSubmit() {
|
||||
const confirm = await vant.Dialog.confirm({
|
||||
title: '温馨提醒',
|
||||
message: GetQueryString("taskId") ? '您的手机号信息已核对,确认提交?' : '您确定要提交吗?',
|
||||
title: "温馨提醒",
|
||||
message: GetQueryString("taskId") ? "您的手机号信息已核对,确认提交?" : "您确定要提交吗?"
|
||||
})
|
||||
if (confirm === "confirm") {
|
||||
const formData = clone(this.formData)
|
||||
@@ -297,7 +285,7 @@ layout("/mobile/platform.html"){
|
||||
formData.family = JSON.stringify(this.family)
|
||||
const resp = await $.post("/platform/member/apply/submit/doEdit", formData)
|
||||
setTimeout(() => {
|
||||
this.$toast.success('提交成功');
|
||||
this.$toast.success("提交成功")
|
||||
setTimeout(() => {
|
||||
history.back()
|
||||
// location.replace('/mobile/index')
|
||||
@@ -345,17 +333,14 @@ layout("/mobile/platform.html"){
|
||||
|
||||
const idTypeRespData = await getDictByCode("idType")
|
||||
console.log(idTypeRespData)
|
||||
this.idTypeColumns = idTypeRespData.map(v => {
|
||||
this.idTypeColumns = idTypeRespData.map((v) => {
|
||||
return v.name
|
||||
})
|
||||
// console.log(idTypeColumns)
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<style>
|
||||
|
||||
.up_down > .van-cell {
|
||||
flex-flow: column;
|
||||
}
|
||||
@@ -364,14 +349,15 @@ layout("/mobile/platform.html"){
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.van-cell, .van-picker button, .submit .van-button--normal {
|
||||
.van-cell,
|
||||
.van-picker button,
|
||||
.submit .van-button--normal {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.van-divider {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
<!--#
|
||||
}
|
||||
|
||||
@@ -27,46 +27,36 @@ layout("/mobile/platform.html"){
|
||||
</style>
|
||||
|
||||
<div id="app" v-clock>
|
||||
<van-nav-bar
|
||||
@click-left="history.go(-1)"
|
||||
fixed
|
||||
left-arrow
|
||||
placeholder
|
||||
safe-area-inset-top
|
||||
title="会员查询"
|
||||
></van-nav-bar>
|
||||
<van-nav-bar @click-left="pjaxReplace('/mobile/index')" fixed left-arrow placeholder safe-area-inset-top title="会员查询"></van-nav-bar>
|
||||
<div class="search-fixed">
|
||||
<van-search
|
||||
@search="doSearch"
|
||||
@input="doSearch"
|
||||
:show-action="true"
|
||||
maxlength="10"
|
||||
placeholder="请输入工号或者姓名进行查询"
|
||||
shape="round"
|
||||
v-model="pageForm.searchKeyword">
|
||||
</van-search>
|
||||
@search="doSearch"
|
||||
@input="doSearch"
|
||||
:show-action="true"
|
||||
maxlength="10"
|
||||
placeholder="请输入工号或者姓名进行查询"
|
||||
shape="round"
|
||||
v-model="pageForm.searchKeyword"
|
||||
></van-search>
|
||||
<van-dropdown-menu>
|
||||
<van-dropdown-item :options="unionList" @change="unionChange"
|
||||
v-model="pageForm.unionId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="unitList" @change="doSearch"
|
||||
v-model="pageForm.unitId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="unionList" @change="unionChange" v-model="pageForm.unionId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="unitList" @change="doSearch" v-model="pageForm.unitId"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 112px;">
|
||||
<div style="margin-top: 112px">
|
||||
<van-list
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
:immediate-check="false"
|
||||
@load="pageData"
|
||||
v-model="loading">
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
:immediate-check="false"
|
||||
@load="pageData"
|
||||
v-model="loading"
|
||||
>
|
||||
<div class="list-card" v-for="o in tableData">
|
||||
<van-cell-group @click="viewInfo(o.id)" inset>
|
||||
<van-cell :border="false" title="姓名">
|
||||
<div style="display: flex;align-items: center">
|
||||
<span :style="{color:themeColor}" class="van-ellipsis"
|
||||
style="font-size: 16px">{{o.username}}</span>
|
||||
<div style="display: flex; align-items: center">
|
||||
<span :style="{color:themeColor}" class="van-ellipsis" style="font-size: 16px">{{o.username}}</span>
|
||||
</div>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="工号">{{o.loginname}}</van-cell>
|
||||
@@ -81,21 +71,15 @@ layout("/mobile/platform.html"){
|
||||
<van-empty v-if="tableData.length === 0" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<div :style="{color:themeColor}"
|
||||
style="text-align: right;position: fixed;bottom: 20px;right: 20px">
|
||||
<van-button :color="themeColor" hairline size="mini" type="primary">
|
||||
总:{{pageForm.totalCount}}人
|
||||
</van-button>
|
||||
<div :style="{color:themeColor}" style="text-align: right; position: fixed; bottom: 20px; right: 20px">
|
||||
<van-button :color="themeColor" hairline size="mini" type="primary">总:{{pageForm.totalCount}}人</van-button>
|
||||
</div>
|
||||
|
||||
<van-popup class="infoPop" v-model="infoShow" position="right">
|
||||
<van-nav-bar @click-left="infoShow = false" fixed left-arrow placeholder safe-area-inset-top
|
||||
title="会员详细信息"></van-nav-bar>
|
||||
<van-nav-bar @click-left="infoShow = false" fixed left-arrow placeholder safe-area-inset-top title="会员详细信息"></van-nav-bar>
|
||||
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
基本信息
|
||||
</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select">基本信息</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field :value="viewData.loginname" label="工号" left-icon="contact"></van-field>
|
||||
@@ -131,7 +115,6 @@ layout("/mobile/platform.html"){
|
||||
<div v-html="viewData.vita"></div>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
</div>
|
||||
</van-cell-group>
|
||||
<van-cell-group class="mt10 up_down">
|
||||
@@ -151,13 +134,12 @@ layout("/mobile/platform.html"){
|
||||
<div v-html="viewData.specialSkill"></div>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
</div>
|
||||
</van-cell-group>
|
||||
<van-cell-group class="mt10 up_down">
|
||||
<div class="van-cell" style="flex-flow: column">
|
||||
<div class="van-cell__title van-field__label" style="display: flex;justify-content: space-between">
|
||||
<div style="display: flex;">
|
||||
<div class="van-cell__title van-field__label" style="display: flex; justify-content: space-between">
|
||||
<div style="display: flex">
|
||||
<div class="van-field__left-icon">
|
||||
<i class="van-icon van-icon-friends-o"></i>
|
||||
</div>
|
||||
@@ -170,7 +152,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div v-if="family && family.length>0">
|
||||
<div v-for="(o,i) in family" class="mt5">
|
||||
<div style="font-weight: 700;display: flex;justify-content: space-between">
|
||||
<div style="font-weight: 700; display: flex; justify-content: space-between">
|
||||
<span>成员{{ toChinesNum(i + 1) }}</span>
|
||||
</div>
|
||||
<van-form readonly input-align="right">
|
||||
@@ -182,26 +164,22 @@ layout("/mobile/platform.html"){
|
||||
</van-form>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else style="height: 100px">
|
||||
暂无家庭成员信息
|
||||
</div>
|
||||
<div v-else style="height: 100px">暂无家庭成员信息</div>
|
||||
</div>
|
||||
</van-cell-group>
|
||||
</van-popup>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
infoShow: false,
|
||||
pageForm: {
|
||||
unionId: '',
|
||||
unitId: '',
|
||||
unionId: "",
|
||||
unitId: "",
|
||||
pageNumber: 1,
|
||||
pageSize: 10
|
||||
},
|
||||
@@ -224,7 +202,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async pageData() {
|
||||
this.loading = true
|
||||
const {data} = await $.get('/mobile/member/getMemberData', this.pageForm)
|
||||
const { data } = await $.get("/mobile/member/getMemberData", this.pageForm)
|
||||
setTimeout(() => {
|
||||
this.tableData = this.tableData.concat(data.list)
|
||||
if (this.tableData.length === data.totalCount) {
|
||||
@@ -237,7 +215,7 @@ layout("/mobile/platform.html"){
|
||||
}, 300)
|
||||
},
|
||||
async viewInfo(id) {
|
||||
const resp = await $.post('/platform/member/common/userInfo', {userId: id})
|
||||
const resp = await $.post("/platform/member/common/userInfo", { userId: id })
|
||||
if (resp.code === 0) {
|
||||
this.viewData = resp.data
|
||||
this.family = JSON.parse(resp.data.family)
|
||||
@@ -245,17 +223,17 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
async initUnion() {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" === 'true') {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" === "true") {
|
||||
this.unionList = await getUnionList(null)
|
||||
} else {
|
||||
this.unionList = await getUnionList("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
}
|
||||
this.unionList.forEach(v => {
|
||||
this.unionList.forEach((v) => {
|
||||
v.text = v.unionname
|
||||
v.value = v.id
|
||||
})
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" === 'true') {
|
||||
this.unionList.unshift({text: "全部工会", value: null})
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" === "true") {
|
||||
this.unionList.unshift({ text: "全部工会", value: null })
|
||||
}
|
||||
if (this.unionList && this.unionList.length > 0) {
|
||||
this.$set(this.pageForm, "unionId", this.unionList[0].value)
|
||||
@@ -263,24 +241,24 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async initUnit(unionId) {
|
||||
this.unitList = await getUnits(unionId)
|
||||
this.unitList.forEach(v => {
|
||||
this.unitList.forEach((v) => {
|
||||
v.text = v.name
|
||||
v.value = v.id
|
||||
})
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" === 'true' && this.pageForm.unionId === null) {
|
||||
this.unitList.unshift({text: "全部单位", value: null})
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" === "true" && this.pageForm.unionId === null) {
|
||||
this.unitList.unshift({ text: "全部单位", value: null })
|
||||
}
|
||||
if (this.unitList && this.unitList.length > 0) {
|
||||
this.$set(this.pageForm, "unitId", this.unitList[0].value)
|
||||
}
|
||||
},
|
||||
async flushUnits() {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" === 'true') {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" === "true") {
|
||||
await this.initUnit(this.pageForm.unionId)
|
||||
} else {
|
||||
await this.initUnit("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.mLoading = true
|
||||
|
||||
@@ -3,35 +3,25 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="会员审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
|
||||
<van-nav-bar title="会员审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<member-menber-info ref="info" :id="id" title="校工会审核" :handle="handle">
|
||||
<template #handle>
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
校工会审核
|
||||
</div>
|
||||
<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 v-model="formData.auditTime" label="审核时间" readonly></van-field>
|
||||
|
||||
<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.auditOpinion"
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
v-model="formData.auditOpinion"
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<van-field label="签字" style="flex-flow: column">
|
||||
@@ -43,59 +33,52 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<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-button :color="themeColor" plain block @click="doAudit(false)">拒 绝</van-button>
|
||||
</van-col>
|
||||
|
||||
<van-col span="12">
|
||||
<van-button :color="themeColor" block @click="doAudit(true)">通 过
|
||||
</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(true)">通 过</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
</member-menber-info>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
handle: true,
|
||||
id: "",
|
||||
formData: {},
|
||||
formData: {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'member-menber-info': httpVueLoader('/components/mobile/member/MobileMemberInfo.vue?v=' + new Date().getTime()),
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
"member-menber-info": httpVueLoader("/components/mobile/member/MobileMemberInfo.vue?v=" + new Date().getTime()),
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue")
|
||||
},
|
||||
methods: {
|
||||
async doAudit(pass) {
|
||||
if (!this.formData.auditOpinion) {
|
||||
this.$toast.fail('请填写审核意见');
|
||||
this.$toast.fail("请填写审核意见")
|
||||
return
|
||||
}
|
||||
this.formData.auditPass = pass
|
||||
const resp = await $.post("/platform/member/apply/audit/doAudit", this.formData)
|
||||
if(resp.code===0){
|
||||
this.$toast.success('审核成功');
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success("审核成功")
|
||||
setTimeout(() => {
|
||||
location.href = '/mobile/member/audit'
|
||||
location.href = "/mobile/member/audit"
|
||||
}, 1000)
|
||||
}else{
|
||||
this.$toast.fail('审核失败');
|
||||
} else {
|
||||
this.$toast.fail("审核失败")
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
const record_id = GetQueryString("record_id")
|
||||
@@ -107,15 +90,13 @@ layout("/mobile/platform.html"){
|
||||
this.formData = {
|
||||
recordId: record_id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
auditTime: moment().format("YYYY-MM-DD"),
|
||||
auditOpinion: null
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -4,156 +4,89 @@ 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="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="会员审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
<van-dropdown-item v-model="pageForm.year" @change="yearChange"
|
||||
:options="yearList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.audit" @change="yearChange"
|
||||
:options="auditList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.year" @change="yearChange" :options="yearList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.audit" @change="yearChange" :options="auditList"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<div style="margin: 70px auto 0">
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
<van-list v-model="loading" :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.username}}({{o.loginname}})
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="申 请 人:">{{o.username}}({{o.loginname}})</van-cell>
|
||||
<van-cell :border="false" title="申请时间:">{{o.applyTime|date}}</van-cell>
|
||||
<van-cell :border="false" title="所在工会:">{{o.unionname}}</van-cell>
|
||||
<van-cell :border="false" title="申请方式:"> {{changeOrigin[o.applyOrigin]}}
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="申请方式:">{{changeOrigin[o.applyOrigin]}}</van-cell>
|
||||
<van-cell :border="false" title="审核状态">
|
||||
<span :style="'color:'+o.stateColor">{{ o.stateName }}</span>
|
||||
</van-cell>
|
||||
<div style="text-align: right;margin-bottom: 10px;margin-right: 10px;margin-top: -35px;">
|
||||
|
||||
<van-button :color="themeColor" plain round size="small"
|
||||
type="primary"
|
||||
@click.stop="openView(o)" style="width: 60px">
|
||||
<div style="text-align: right; margin-bottom: 10px; margin-right: 10px; margin-top: -35px">
|
||||
<van-button :color="themeColor" plain round size="small" type="primary" @click.stop="openView(o)" style="width: 60px">
|
||||
{{o.stateId===60?'审核':'查看'}}
|
||||
</van-button>
|
||||
|
||||
</div>
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</van-list>
|
||||
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
<van-popup v-model="popupShow" position="right" :style="{ height: '100%', width: '100%'}">
|
||||
|
||||
<van-nav-bar title="校工会审核"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="yearChange();popupShow=false"></van-nav-bar>
|
||||
<van-nav-bar title="校工会审核" left-arrow placeholder fixed @click-left="yearChange();popupShow=false"></van-nav-bar>
|
||||
<member-menber-change-info ref="info" title="校工会审核" :handle="handle">
|
||||
<template #handle>
|
||||
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
校工会审核
|
||||
</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select">校工会审核</div>
|
||||
</div>
|
||||
<van-form>
|
||||
<template v-if="info.originUnit">
|
||||
<van-field
|
||||
label="原科室"
|
||||
name="username"
|
||||
readonly
|
||||
:value="info.originThreeUnit.name"
|
||||
></van-field>
|
||||
<van-field
|
||||
label="原单位"
|
||||
name="username"
|
||||
readonly
|
||||
:value="info.originUnit.name"
|
||||
></van-field>
|
||||
<van-field label="原科室" name="username" readonly :value="info.originThreeUnit.name"></van-field>
|
||||
<van-field label="原单位" name="username" readonly :value="info.originUnit.name"></van-field>
|
||||
|
||||
<van-field
|
||||
label="原工会"
|
||||
name="username"
|
||||
readonly
|
||||
:value="info.originUnion.unionname"
|
||||
></van-field>
|
||||
<van-field label="原工会" name="username" readonly :value="info.originUnion.unionname"></van-field>
|
||||
|
||||
<van-field
|
||||
label="新单位"
|
||||
name="username"
|
||||
readonly
|
||||
:value="info.currentUnit.name"
|
||||
></van-field>
|
||||
<van-field label="新单位" name="username" readonly :value="info.currentUnit.name"></van-field>
|
||||
|
||||
<van-field
|
||||
label="新科室"
|
||||
name="username"
|
||||
readonly
|
||||
:value="info.currentThreeUnit.name"
|
||||
></van-field>
|
||||
<van-field label="新科室" name="username" readonly :value="info.currentThreeUnit.name"></van-field>
|
||||
|
||||
<van-field
|
||||
label="新工会"
|
||||
name="username"
|
||||
readonly
|
||||
:value="info.currentUnion.unionname"
|
||||
></van-field>
|
||||
<van-field label="新工会" name="username" readonly :value="info.currentUnion.unionname"></van-field>
|
||||
</template>
|
||||
<van-field
|
||||
label="审核人员"
|
||||
name="username"
|
||||
readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
></van-field>
|
||||
<van-field label="审核人员" name="username" readonly value="${@shiro.getPrincipalProperty('username')}"></van-field>
|
||||
|
||||
<van-field v-model="formData.auditTime" label="审核时间" readonly></van-field>
|
||||
|
||||
<van-field required
|
||||
v-model="formData.auditOpinion"
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
<van-field
|
||||
required
|
||||
v-model="formData.auditOpinion"
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<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-button :color="themeColor" plain block @click="doAudit(false)">拒 绝</van-button>
|
||||
</van-col>
|
||||
|
||||
<van-col span="12">
|
||||
<van-button :color="themeColor" block @click="doAudit(true)">通 过
|
||||
</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(true)">通 过</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
</member-menber-change-info>
|
||||
</van-popup>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -162,9 +95,9 @@ layout("/mobile/platform.html"){
|
||||
mLoading: false,
|
||||
yearList: [],
|
||||
auditList: [
|
||||
{text: '全部', value: 0},
|
||||
{text: '已审核', value: 1},
|
||||
{text: '未审核', value: 2},
|
||||
{ text: "全部", value: 0 },
|
||||
{ text: "已审核", value: 1 },
|
||||
{ text: "未审核", value: 2 }
|
||||
],
|
||||
info: {
|
||||
originUnion: {},
|
||||
@@ -173,13 +106,13 @@ layout("/mobile/platform.html"){
|
||||
pageForm: {
|
||||
source: 2,
|
||||
year: new Date().getFullYear(),
|
||||
audit: 2,
|
||||
audit: 2
|
||||
},
|
||||
changeOriginL: [],
|
||||
changeOriginL: []
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'member-menber-change-info': httpVueLoader('/components/mobile/member/MobileMemberChangeInfo.vue?v=' + new Date().getTime()),
|
||||
"member-menber-change-info": httpVueLoader("/components/mobile/member/MobileMemberChangeInfo.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {
|
||||
yearChange() {
|
||||
@@ -190,7 +123,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
onLoad() {
|
||||
this.loading = true
|
||||
$.post('/platform/member/change/audit/pageData', this.pageForm).then(res => {
|
||||
$.post("/platform/member/change/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) {
|
||||
@@ -204,39 +137,39 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async doAudit(pass) {
|
||||
if (!this.formData.auditOpinion) {
|
||||
this.$toast.fail('请填写审核意见');
|
||||
this.$toast.fail("请填写审核意见")
|
||||
return
|
||||
}
|
||||
vant.Dialog.confirm({
|
||||
title: '提醒',
|
||||
message: '确定要审核吗?',
|
||||
}).then(async () => {
|
||||
this.formData.currentUnitId = this.info.currentUnitId
|
||||
this.formData.currentUnionId = this.info.currentUnionId
|
||||
this.formData.currentThreeUnitId = this.info.currentThreeUnitId
|
||||
this.formData.auditPass = pass
|
||||
this.submitLoading = true
|
||||
const resp = await $.post("/platform/member/change/audit/doAudit", this.formData)
|
||||
this.submitLoading = false
|
||||
if (resp.code === 0) {
|
||||
this.yearChange()
|
||||
this.popupShow = false
|
||||
vant.Toast.success(resp.msg);
|
||||
} else {
|
||||
vant.Toast.fail(resp.msg);
|
||||
}
|
||||
}).catch(() => {
|
||||
// on cancel
|
||||
});
|
||||
|
||||
|
||||
title: "提醒",
|
||||
message: "确定要审核吗?"
|
||||
})
|
||||
.then(async () => {
|
||||
this.formData.currentUnitId = this.info.currentUnitId
|
||||
this.formData.currentUnionId = this.info.currentUnionId
|
||||
this.formData.currentThreeUnitId = this.info.currentThreeUnitId
|
||||
this.formData.auditPass = pass
|
||||
this.submitLoading = true
|
||||
const resp = await $.post("/platform/member/change/audit/doAudit", this.formData)
|
||||
this.submitLoading = false
|
||||
if (resp.code === 0) {
|
||||
this.yearChange()
|
||||
this.popupShow = false
|
||||
vant.Toast.success(resp.msg)
|
||||
} else {
|
||||
vant.Toast.fail(resp.msg)
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
// on cancel
|
||||
})
|
||||
},
|
||||
openView(o) {
|
||||
this.handle = o.stateId === 60
|
||||
this.formData = {
|
||||
recordId: o.id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
auditTime: moment().format("YYYY-MM-DD"),
|
||||
auditOpinion: null
|
||||
}
|
||||
this.popupShow = true
|
||||
@@ -251,24 +184,22 @@ layout("/mobile/platform.html"){
|
||||
async getChangeOrigin() {
|
||||
const changeOrigin = {}
|
||||
const changeOriginOptions = await getEnumOptions("MemberChangeOrigin")
|
||||
changeOriginOptions.forEach(v => {
|
||||
changeOriginOptions.forEach((v) => {
|
||||
changeOrigin[v.code] = v.description
|
||||
})
|
||||
return changeOrigin
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.changeOrigin = await this.getChangeOrigin()
|
||||
let nowYear = new Date().getFullYear()
|
||||
for (let i = nowYear; i >= nowYear - 9; i--) {
|
||||
this.yearList.push({text: i, value: i})
|
||||
this.yearList.push({ text: i, value: i })
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -3,36 +3,26 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar fixed left-arrow placeholder title="会员审核"
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
|
||||
<van-nav-bar fixed left-arrow placeholder title="会员审核" @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<member-menber-info ref="info" :id="id" title="分工会审核" :handle="handle">
|
||||
<template #handle>
|
||||
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
分工会审核
|
||||
</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select">分工会审核</div>
|
||||
</div>
|
||||
<van-form>
|
||||
|
||||
<van-field
|
||||
label="审核人员"
|
||||
name="username"
|
||||
readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
></van-field>
|
||||
<van-field label="审核人员" name="username" readonly value="${@shiro.getPrincipalProperty('username')}"></van-field>
|
||||
|
||||
<van-field v-model="formData.auditTime" label="审核时间" readonly></van-field>
|
||||
|
||||
<van-field required
|
||||
v-model="formData.auditOpinion"
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
<van-field
|
||||
required
|
||||
v-model="formData.auditOpinion"
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<van-field label="签字" style="flex-flow: column">
|
||||
@@ -44,59 +34,52 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<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-button :color="themeColor" plain block @click="doAudit(false)">拒 绝</van-button>
|
||||
</van-col>
|
||||
|
||||
<van-col span="12">
|
||||
<van-button :color="themeColor" block @click="doAudit(true)">通 过
|
||||
</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(true)">通 过</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
</member-menber-info>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
handle: true,
|
||||
id: "",
|
||||
formData: {},
|
||||
formData: {}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'member-menber-info': httpVueLoader('/components/mobile/member/MobileMemberInfo.vue?v=' + new Date().getTime()),
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
"member-menber-info": httpVueLoader("/components/mobile/member/MobileMemberInfo.vue?v=" + new Date().getTime()),
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue")
|
||||
},
|
||||
methods: {
|
||||
|
||||
async doAudit(pass) {
|
||||
if (!this.formData.auditOpinion) {
|
||||
this.$toast.fail('请填写审核意见');
|
||||
this.$toast.fail("请填写审核意见")
|
||||
return
|
||||
}
|
||||
this.formData.auditPass = pass
|
||||
const resp = await $.post("/platform/member/apply/audit/doAudit", this.formData)
|
||||
if(resp.code===0){
|
||||
this.$toast.success('审核成功');
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success("审核成功")
|
||||
setTimeout(() => {
|
||||
location.href = '/mobile/member/audit'
|
||||
location.href = "/mobile/member/audit"
|
||||
}, 1000)
|
||||
}else{
|
||||
this.$toast.fail('审核失败')
|
||||
} else {
|
||||
this.$toast.fail("审核失败")
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
const record_id = GetQueryString("record_id")
|
||||
@@ -109,15 +92,13 @@ layout("/mobile/platform.html"){
|
||||
this.formData = {
|
||||
recordId: record_id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
auditTime: moment().format("YYYY-MM-DD"),
|
||||
auditOpinion: null
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -4,159 +4,91 @@ 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="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="会员审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
<van-dropdown-item v-model="pageForm.year" @change="yearChange"
|
||||
:options="yearList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.audit" @change="yearChange"
|
||||
:options="auditList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.year" @change="yearChange" :options="yearList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.audit" @change="yearChange" :options="auditList"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<div style="margin: 70px auto 0">
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
<van-list v-model="loading" :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.username}}({{o.loginname}})
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="申 请 人:">{{o.username}}({{o.loginname}})</van-cell>
|
||||
<van-cell :border="false" title="申请时间:">{{o.applyTime|date}}</van-cell>
|
||||
<van-cell :border="false" title="所在工会:">{{o.unionname}}</van-cell>
|
||||
<van-cell :border="false" title="申请方式:"> {{changeOrigin[o.applyOrigin]}}
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="申请方式:">{{changeOrigin[o.applyOrigin]}}</van-cell>
|
||||
<van-cell :border="false" title="审核状态">
|
||||
<span :style="'color:'+o.stateColor">{{ o.stateName }}</span>
|
||||
</van-cell>
|
||||
<div style="text-align: right;margin-bottom: 10px;margin-right: 10px;margin-top: -35px;">
|
||||
|
||||
<van-button :color="themeColor" plain round size="small"
|
||||
type="primary"
|
||||
@click.stop="openView(o)" style="width: 60px">
|
||||
<div style="text-align: right; margin-bottom: 10px; margin-right: 10px; margin-top: -35px">
|
||||
<van-button :color="themeColor" plain round size="small" type="primary" @click.stop="openView(o)" style="width: 60px">
|
||||
{{o.stateId===50?'审核':'查看'}}
|
||||
</van-button>
|
||||
|
||||
</div>
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</van-list>
|
||||
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
<van-popup v-model="popupShow" position="right" :style="{ height: '100%', width: '100%'}">
|
||||
|
||||
<van-nav-bar title="分工会审核"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="yearChange();popupShow=false"></van-nav-bar>
|
||||
<van-nav-bar title="分工会审核" left-arrow placeholder fixed @click-left="yearChange();popupShow=false"></van-nav-bar>
|
||||
<member-menber-change-info ref="info" title="分工会审核" :handle="handle">
|
||||
<template #handle>
|
||||
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
分工会审核
|
||||
</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select">分工会审核</div>
|
||||
</div>
|
||||
|
||||
|
||||
<van-form>
|
||||
<template v-if="info.originUnit">
|
||||
<van-field
|
||||
label="原科室"
|
||||
name="username"
|
||||
readonly
|
||||
:value="info.originThreeUnit.name"
|
||||
></van-field>
|
||||
<van-field
|
||||
label="原单位"
|
||||
name="username"
|
||||
readonly
|
||||
:value="info.originUnit.name"
|
||||
></van-field>
|
||||
<van-field label="原科室" name="username" readonly :value="info.originThreeUnit.name"></van-field>
|
||||
<van-field label="原单位" name="username" readonly :value="info.originUnit.name"></van-field>
|
||||
|
||||
<van-field
|
||||
label="原工会"
|
||||
name="username"
|
||||
readonly
|
||||
:value="info.originUnion.unionname"
|
||||
></van-field>
|
||||
<van-field label="原工会" name="username" readonly :value="info.originUnion.unionname"></van-field>
|
||||
|
||||
<van-field
|
||||
label="新单位"
|
||||
name="username"
|
||||
readonly
|
||||
:value="info.currentUnit.name"
|
||||
></van-field>
|
||||
<van-field label="新单位" name="username" readonly :value="info.currentUnit.name"></van-field>
|
||||
|
||||
<van-field
|
||||
label="新科室"
|
||||
name="username"
|
||||
readonly
|
||||
:value="info.currentThreeUnit.name"
|
||||
></van-field>
|
||||
<van-field label="新科室" name="username" readonly :value="info.currentThreeUnit.name"></van-field>
|
||||
|
||||
<van-field
|
||||
label="新工会"
|
||||
name="username"
|
||||
readonly
|
||||
:value="info.currentUnion.unionname"
|
||||
></van-field>
|
||||
<van-field label="新工会" name="username" readonly :value="info.currentUnion.unionname"></van-field>
|
||||
</template>
|
||||
|
||||
<van-field
|
||||
label="审核人员"
|
||||
name="username"
|
||||
readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
></van-field>
|
||||
<van-field label="审核人员" name="username" readonly value="${@shiro.getPrincipalProperty('username')}"></van-field>
|
||||
|
||||
<van-field v-model="formData.auditTime" label="审核时间" readonly></van-field>
|
||||
|
||||
<van-field required
|
||||
v-model="formData.auditOpinion"
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
<van-field
|
||||
required
|
||||
v-model="formData.auditOpinion"
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<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-button :color="themeColor" plain block @click="doAudit(false)">拒 绝</van-button>
|
||||
</van-col>
|
||||
|
||||
<van-col span="12">
|
||||
<van-button :color="themeColor" block @click="doAudit(true)">通 过
|
||||
</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(true)">通 过</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
</member-menber-change-info>
|
||||
</van-popup>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -165,9 +97,9 @@ layout("/mobile/platform.html"){
|
||||
mLoading: false,
|
||||
yearList: [],
|
||||
auditList: [
|
||||
{text: '全部', value: 0},
|
||||
{text: '已审核', value: 1},
|
||||
{text: '未审核', value: 2},
|
||||
{ text: "全部", value: 0 },
|
||||
{ text: "已审核", value: 1 },
|
||||
{ text: "未审核", value: 2 }
|
||||
],
|
||||
info: {
|
||||
originUnion: {},
|
||||
@@ -176,13 +108,13 @@ layout("/mobile/platform.html"){
|
||||
pageForm: {
|
||||
source: 1,
|
||||
year: new Date().getFullYear(),
|
||||
audit: 2,
|
||||
audit: 2
|
||||
},
|
||||
changeOriginL: [],
|
||||
changeOriginL: []
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'member-menber-change-info': httpVueLoader('/components/mobile/member/MobileMemberChangeInfo.vue?v=' + new Date().getTime()),
|
||||
"member-menber-change-info": httpVueLoader("/components/mobile/member/MobileMemberChangeInfo.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {
|
||||
yearChange() {
|
||||
@@ -193,7 +125,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
onLoad() {
|
||||
this.loading = true
|
||||
$.post('/platform/member/change/audit/pageData', this.pageForm).then(res => {
|
||||
$.post("/platform/member/change/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) {
|
||||
@@ -207,36 +139,36 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async doAudit(pass) {
|
||||
if (!this.formData.auditOpinion) {
|
||||
this.$toast.fail('请填写审核意见');
|
||||
this.$toast.fail("请填写审核意见")
|
||||
return
|
||||
}
|
||||
vant.Dialog.confirm({
|
||||
title: '提醒',
|
||||
message: '确定要审核吗?',
|
||||
}).then(async () => {
|
||||
this.formData.auditPass = pass
|
||||
this.submitLoading = true
|
||||
const resp = await $.post("/platform/member/change/audit/doAudit", this.formData)
|
||||
this.submitLoading = false
|
||||
if (resp.code === 0) {
|
||||
this.yearChange()
|
||||
this.popupShow = false
|
||||
vant.Toast.success(resp.msg);
|
||||
} else {
|
||||
vant.Toast.fail(resp.msg);
|
||||
}
|
||||
}).catch(() => {
|
||||
// on cancel
|
||||
});
|
||||
|
||||
|
||||
title: "提醒",
|
||||
message: "确定要审核吗?"
|
||||
})
|
||||
.then(async () => {
|
||||
this.formData.auditPass = pass
|
||||
this.submitLoading = true
|
||||
const resp = await $.post("/platform/member/change/audit/doAudit", this.formData)
|
||||
this.submitLoading = false
|
||||
if (resp.code === 0) {
|
||||
this.yearChange()
|
||||
this.popupShow = false
|
||||
vant.Toast.success(resp.msg)
|
||||
} else {
|
||||
vant.Toast.fail(resp.msg)
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
// on cancel
|
||||
})
|
||||
},
|
||||
openView(o) {
|
||||
this.handle = o.stateId === 50
|
||||
this.formData = {
|
||||
recordId: o.id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
auditTime: moment().format("YYYY-MM-DD"),
|
||||
auditOpinion: null
|
||||
}
|
||||
this.popupShow = true
|
||||
@@ -251,24 +183,22 @@ layout("/mobile/platform.html"){
|
||||
async getChangeOrigin() {
|
||||
const changeOrigin = {}
|
||||
const changeOriginOptions = await getEnumOptions("MemberChangeOrigin")
|
||||
changeOriginOptions.forEach(v => {
|
||||
changeOriginOptions.forEach((v) => {
|
||||
changeOrigin[v.code] = v.description
|
||||
})
|
||||
return changeOrigin
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.changeOrigin = await this.getChangeOrigin()
|
||||
let nowYear = new Date().getFullYear()
|
||||
for (let i = nowYear; i >= nowYear - 9; i--) {
|
||||
this.yearList.push({text: i, value: i})
|
||||
this.yearList.push({ text: i, value: i })
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -23,7 +23,6 @@ layout("/mobile/platform.html"){
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
bottom: 0px;
|
||||
|
||||
}
|
||||
|
||||
.menu_img_yjf {
|
||||
@@ -46,10 +45,8 @@ layout("/mobile/platform.html"){
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<van-sticky>
|
||||
<van-nav-bar @click-left="history.go(-1)" left-arrow
|
||||
title="会费支付"></van-nav-bar>
|
||||
<van-nav-bar @click-left="pjaxReplace('/mobile/index')" left-arrow title="会费支付"></van-nav-bar>
|
||||
</van-sticky>
|
||||
|
||||
<div>
|
||||
@@ -59,77 +56,54 @@ layout("/mobile/platform.html"){
|
||||
</van-tabs>
|
||||
|
||||
<van-row class="module" v-for="p in payList">
|
||||
|
||||
<div class="menu">
|
||||
<van-col :span="8" style="padding: 10px;">
|
||||
<van-image
|
||||
height="6rem"
|
||||
round
|
||||
src="/assets/mobile/svg/memberPay/hf.svg"
|
||||
width="6rem"
|
||||
></van-image>
|
||||
<van-col :span="8" style="padding: 10px">
|
||||
<van-image height="6rem" round src="/assets/mobile/svg/memberPay/hf.svg" width="6rem"></van-image>
|
||||
</van-col>
|
||||
<van-col :span="16" style="position: relative">
|
||||
<div style="text-align: left; ">
|
||||
<div style="text-align: left">
|
||||
会费项目:
|
||||
<div style="font-weight: bold;font-size: 14px">{{p.projectName}}</div>
|
||||
<div style="font-weight: bold; font-size: 14px">{{p.projectName}}</div>
|
||||
</div>
|
||||
<div style="text-align: left; ">
|
||||
<div style="text-align: left">
|
||||
会费标准:
|
||||
<div v-if="p.selectMode==='1'" style="font-weight: bold;font-size: 14px">{{p.modeValue}}</div>
|
||||
<div v-if="p.selectMode==='2'" style="font-weight: bold;font-size: 14px">{{p.modeValueName}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div style="text-align: left; " v-if="p.paymentMoney&&p.isPayment">
|
||||
已缴费金额:{{p.paymentMoney}}
|
||||
<div v-if="p.selectMode==='1'" style="font-weight: bold; font-size: 14px">{{p.modeValue}}</div>
|
||||
<div v-if="p.selectMode==='2'" style="font-weight: bold; font-size: 14px">{{p.modeValueName}}</div>
|
||||
</div>
|
||||
<div style="text-align: left" v-if="p.paymentMoney&&p.isPayment">已缴费金额:{{p.paymentMoney}}</div>
|
||||
<div class="menu_img" v-if="!p.isPayment">
|
||||
<van-button @click.stop="openAlipay(p)" color="#1867b0" round
|
||||
size="mini"
|
||||
style=" width: 75px; height: 30px;"
|
||||
type="primary">
|
||||
<van-button @click.stop="openAlipay(p)" color="#1867b0" round size="mini" style="width: 75px; height: 30px" type="primary">
|
||||
我要缴费
|
||||
</van-button>
|
||||
</div>
|
||||
<div class="menu_img_yjf" v-if="p.isPayment">
|
||||
<van-image src="/assets/mobile/svg/memberPay/yjf.svg"
|
||||
></van-image>
|
||||
<van-image src="/assets/mobile/svg/memberPay/yjf.svg"></van-image>
|
||||
</div>
|
||||
|
||||
|
||||
</van-col>
|
||||
<el-col span="2">
|
||||
|
||||
|
||||
</el-col>
|
||||
<el-col span="2"></el-col>
|
||||
</div>
|
||||
|
||||
|
||||
</van-row>
|
||||
|
||||
<van-action-sheet :close-on-click-overlay="false" :title="viewData.projectName"
|
||||
style="height: 60%"
|
||||
v-model="payShow">
|
||||
|
||||
<van-action-sheet :close-on-click-overlay="false" :title="viewData.projectName" style="height: 60%" v-model="payShow">
|
||||
<div class="member_cost">
|
||||
<div v-if="viewData.selectMode==='2'">
|
||||
<van-cell :value="costFormula" title="会费计算公式"></van-cell>
|
||||
<van-cell-group>
|
||||
<van-field :label="o.name" :placeholder="'请输入'+o.name"
|
||||
@input="moneyInput"
|
||||
input-align="right"
|
||||
type="number" v-for="(o,index) in viewData.modeValueList"
|
||||
v-model="o.value">
|
||||
<van-field
|
||||
:label="o.name"
|
||||
:placeholder="'请输入'+o.name"
|
||||
@input="moneyInput"
|
||||
input-align="right"
|
||||
type="number"
|
||||
v-for="(o,index) in viewData.modeValueList"
|
||||
v-model="o.value"
|
||||
>
|
||||
<template #left-icon>
|
||||
<div class="pay_img">
|
||||
<van-image src="/assets/mobile/svg/memberPay/money.svg"
|
||||
></van-image>
|
||||
<van-image src="/assets/mobile/svg/memberPay/money.svg"></van-image>
|
||||
</div>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
|
||||
</van-cell-group>
|
||||
</div>
|
||||
<div>
|
||||
@@ -138,8 +112,7 @@ layout("/mobile/platform.html"){
|
||||
<van-cell @click="moneyModel = 1" clickable title="支付宝">
|
||||
<template #icon>
|
||||
<div class="pay_img">
|
||||
<van-image src="/assets/mobile/svg/memberPay/zfb.svg"
|
||||
></van-image>
|
||||
<van-image src="/assets/mobile/svg/memberPay/zfb.svg"></van-image>
|
||||
</div>
|
||||
</template>
|
||||
<template #right-icon>
|
||||
@@ -149,8 +122,7 @@ layout("/mobile/platform.html"){
|
||||
<van-cell @click="moneyModel = 2" clickable title="微信">
|
||||
<template #icon>
|
||||
<div class="pay_img">
|
||||
<van-image src="/assets/mobile/svg/memberPay/wx.svg"
|
||||
></van-image>
|
||||
<van-image src="/assets/mobile/svg/memberPay/wx.svg"></van-image>
|
||||
</div>
|
||||
</template>
|
||||
<template #right-icon>
|
||||
@@ -161,37 +133,25 @@ layout("/mobile/platform.html"){
|
||||
</van-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
<van-submit-bar
|
||||
:loading="loading"
|
||||
:price="money"
|
||||
@submit="doAlipay"
|
||||
button-color="#1867b0"
|
||||
button-text="支付"
|
||||
></van-submit-bar>
|
||||
<van-submit-bar :loading="loading" :price="money" @submit="doAlipay" button-color="#1867b0" button-text="支付"></van-submit-bar>
|
||||
</van-action-sheet>
|
||||
|
||||
<van-popup :style="{ height: '100%', width: '100%'}" @close="imgClose" closeable
|
||||
position="right"
|
||||
v-model="zfImg">
|
||||
<van-image src="/assets/mobile/svg/memberPay/zf_img.png"
|
||||
style="margin-top: 40px; height: 95%;width: 100%"></van-image>
|
||||
<van-popup :style="{ height: '100%', width: '100%'}" @close="imgClose" closeable position="right" v-model="zfImg">
|
||||
<van-image src="/assets/mobile/svg/memberPay/zf_img.png" style="margin-top: 40px; height: 95%; width: 100%"></van-image>
|
||||
</van-popup>
|
||||
|
||||
|
||||
<van-empty
|
||||
class="custom-image"
|
||||
description="暂无缴费记录"
|
||||
image="https://img01.yzcdn.cn/vant/custom-empty-image.png"
|
||||
v-if="payList&&payList.length===0"
|
||||
class="custom-image"
|
||||
description="暂无缴费记录"
|
||||
image="https://img01.yzcdn.cn/vant/custom-empty-image.png"
|
||||
v-if="payList&&payList.length===0"
|
||||
></van-empty>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -206,7 +166,7 @@ layout("/mobile/platform.html"){
|
||||
configData: {},
|
||||
payList: [],
|
||||
memberActive: 0,
|
||||
intervalTimer: null,
|
||||
intervalTimer: null
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -216,81 +176,74 @@ layout("/mobile/platform.html"){
|
||||
this.zfImg = false
|
||||
},
|
||||
moneyInput() {
|
||||
const moneys = this.viewData.modeValueList.map(m => Number(m.value))
|
||||
const moneys = this.viewData.modeValueList.map((m) => Number(m.value))
|
||||
let money = 0
|
||||
moneys.forEach(m => {
|
||||
money += m;
|
||||
moneys.forEach((m) => {
|
||||
money += m
|
||||
})
|
||||
if (money <= 10) {
|
||||
this.money = 1
|
||||
} else {
|
||||
money = money.toFixed(2)
|
||||
this.money = Number(money.replace(".", "")) * 0.5 / 100
|
||||
this.money = (Number(money.replace(".", "")) * 0.5) / 100
|
||||
}
|
||||
|
||||
},
|
||||
async doAlipay() {
|
||||
|
||||
this.doIsPaySuccess()
|
||||
if (!this.money) {
|
||||
vant.Toast('请计算会费金额')
|
||||
vant.Toast("请计算会费金额")
|
||||
return
|
||||
}
|
||||
if (!this.moneyModel) {
|
||||
vant.Toast('请选择支付方式')
|
||||
vant.Toast("请选择支付方式")
|
||||
return
|
||||
}
|
||||
this.loading = true
|
||||
var u = navigator.userAgent;
|
||||
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
|
||||
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
|
||||
var u = navigator.userAgent
|
||||
var isAndroid = u.indexOf("Android") > -1 || u.indexOf("Adr") > -1 //android终端
|
||||
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) //ios终端
|
||||
let money = 0
|
||||
if (this.viewData.selectMode === "1") {
|
||||
money = this.viewData.modeValue
|
||||
} else if (this.viewData.selectMode === "2") {
|
||||
const moneys = this.viewData.modeValueList.map(m => Number(m.value))
|
||||
moneys.forEach(m => {
|
||||
money += m;
|
||||
const moneys = this.viewData.modeValueList.map((m) => Number(m.value))
|
||||
moneys.forEach((m) => {
|
||||
money += m
|
||||
})
|
||||
money = money * 0.5 / 100
|
||||
money = (money * 0.5) / 100
|
||||
money = money.toFixed(2)
|
||||
}
|
||||
|
||||
if (this.moneyModel === 1) {
|
||||
let use = window.navigator.userAgent.toLowerCase();
|
||||
let use = window.navigator.userAgent.toLowerCase()
|
||||
//是否微信浏览器
|
||||
if (use.match(/MicroMessenger/i) && use.match(/MicroMessenger/i)[0] === "micromessenger") {
|
||||
this.zfImg = true
|
||||
return
|
||||
} else {
|
||||
|
||||
if (this.moneyModel === 1) {
|
||||
const resp = await $.get("/mobile/memberCost/AlipayClient/tradePagePay", {
|
||||
money: money,
|
||||
paymentProjectId: this.viewData.paymentProjectId,
|
||||
paymentProjectId: this.viewData.paymentProjectId
|
||||
})
|
||||
const div = document.createElement('div');
|
||||
div.innerHTML = resp; // data就是接口返回的form 表单字符串
|
||||
document.body.appendChild(div);
|
||||
const div = document.createElement("div")
|
||||
div.innerHTML = resp // data就是接口返回的form 表单字符串
|
||||
document.body.appendChild(div)
|
||||
//如果是ios,不新开页面直接跳转
|
||||
if (isiOS) {
|
||||
document.forms[0].submit();
|
||||
document.forms[0].submit()
|
||||
} else {
|
||||
document.forms[0].setAttribute('target', '_blank') // 新开窗口跳转
|
||||
document.forms[0].submit();
|
||||
document.forms[0].setAttribute("target", "_blank") // 新开窗口跳转
|
||||
document.forms[0].submit()
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
async getConfig() {
|
||||
const {data} = await $.get("/platform/member/payment/config/getPaymentConfig")
|
||||
const { data } = await $.get("/platform/member/payment/config/getPaymentConfig")
|
||||
this.configData = data
|
||||
|
||||
},
|
||||
async openAlipay(p) {
|
||||
const data = clone(p)
|
||||
@@ -298,44 +251,40 @@ layout("/mobile/platform.html"){
|
||||
this.moneyModel = ""
|
||||
this.viewData = data
|
||||
|
||||
|
||||
if (this.viewData.selectMode === "1") {
|
||||
this.money = Number(data.modeValue + "00")
|
||||
}
|
||||
if (this.viewData.selectMode === "2") {
|
||||
const names = this.viewData.modeValueList.map(m => m.name)
|
||||
const names = this.viewData.modeValueList.map((m) => m.name)
|
||||
this.costFormula = "(" + names.join("+") + ")" + "×0.5%"
|
||||
}
|
||||
this.payShow = true
|
||||
},
|
||||
async pageData() {
|
||||
const resp = await $.post("/mobile/memberCost/list/pageData", {memberActive: this.memberActive})
|
||||
const resp = await $.post("/mobile/memberCost/list/pageData", { memberActive: this.memberActive })
|
||||
if (resp.code === 0) {
|
||||
const personType = "${@shiro.getPrincipalProperty('personType')}"
|
||||
const payStandards = this.configData.payStandards
|
||||
resp.data.forEach(r => {
|
||||
payStandards.map(p => {
|
||||
resp.data.forEach((r) => {
|
||||
payStandards.map((p) => {
|
||||
if (p.personTypes.includes(personType)) {
|
||||
r.selectMode = p.payMode
|
||||
if (p.payMode === "1") {
|
||||
r.modeValue = p.payModeValue
|
||||
} else {
|
||||
r.modeValueList = p.payModeValueList
|
||||
const names = r.modeValueList.map(m => m.name)
|
||||
const names = r.modeValueList.map((m) => m.name)
|
||||
r.modeValueName = "(" + names.join("+") + ")" + "×0.5%"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
})
|
||||
this.payList = resp.data
|
||||
}
|
||||
},
|
||||
doIsPaySuccess() {
|
||||
this.intervalTimer = setInterval(async () => {
|
||||
const resp = await $.get("/mobile/memberCost/list/getPayInfo", {id: this.viewData.id})
|
||||
const resp = await $.get("/mobile/memberCost/list/getPayInfo", { id: this.viewData.id })
|
||||
if (resp.data.isPayment === true) {
|
||||
clearInterval(this.intervalTimer)
|
||||
this.doSearch()
|
||||
|
||||
@@ -1,57 +1,86 @@
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover"
|
||||
/>
|
||||
<van-number-keyboard safe-area-inset-bottom/>
|
||||
<title></title>
|
||||
<link rel="stylesheet" href="https://cdn.staticfile.org/vant/2.12.25/index.min.css"/>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
|
||||
<van-number-keyboard safe-area-inset-bottom />
|
||||
<title></title>
|
||||
<link rel="stylesheet" href="https://cdn.staticfile.org/vant/2.12.25/index.min.css" />
|
||||
|
||||
<link rel="stylesheet" href="${base!}/assets/mobile/css/theme.css">
|
||||
<link rel="stylesheet" href="${base!}/assets/mobile/css/main.css">
|
||||
<link rel="stylesheet" href="${base!}/assets/mobile/css/theme.css" />
|
||||
<link rel="stylesheet" href="${base!}/assets/mobile/css/main.css" />
|
||||
|
||||
<script src="${base!}/assets/platform/plugins/vue/vue.min.js"></script>
|
||||
<script src="https://cdn.staticfile.org/vant/2.12.25/vant.min.js"></script>
|
||||
<script src="${base!}/assets/platform/plugins/vue-loader/httpVueLoader.js"></script>
|
||||
<script src="${base!}/assets/mobile/js/basic.js"></script>
|
||||
<script src="${base!}/assets/platform/plugins/vue/vue.min.js"></script>
|
||||
<script src="https://cdn.staticfile.org/vant/2.12.25/vant.min.js"></script>
|
||||
<script src="${base!}/assets/platform/plugins/vue-loader/httpVueLoader.js"></script>
|
||||
<script src="${base!}/assets/mobile/js/basic.js"></script>
|
||||
|
||||
<script src="${base!}/assets/platform/plugins/jquery/jquery-1.11.1.min.js"></script>
|
||||
<script src="${base!}/assets/platform/plugins/jSignature/jSignature.min.js"></script>
|
||||
<script src="${base!}/assets/platform/plugins/jSignature/flashcanvas.js"></script>
|
||||
<script src="${base!}/assets/platform/js/pinyin.js"></script>
|
||||
<script src="${base!}/assets/platform/js/viewer.min.js"></script>
|
||||
<script src="${base!}/assets/platform/js/jquery-viewer.min.js"></script>
|
||||
<script src="${base!}/assets/platform/plugins/jquery/jquery-1.11.1.min.js"></script>
|
||||
<script src="${base!}/assets/platform/plugins/pjax/jquery.pjax.js"></script>
|
||||
<script src="${base!}/assets/platform/plugins/jSignature/jSignature.min.js"></script>
|
||||
<script src="${base!}/assets/platform/plugins/jSignature/flashcanvas.js"></script>
|
||||
<script src="${base!}/assets/platform/js/pinyin.js"></script>
|
||||
<script src="${base!}/assets/platform/js/viewer.min.js"></script>
|
||||
<script src="${base!}/assets/platform/js/jquery-viewer.min.js"></script>
|
||||
|
||||
<script src="${base!}/assets/platform/js/v.js"></script>
|
||||
<script src="${base!}/assets/platform/module/proposal/api.js"></script>
|
||||
<script src="${base!}/assets/mobile/js/mobileMixins.js"></script>
|
||||
<script src="${base!}/assets/mobile/js/mProposal.js"></script>
|
||||
<script src="${base!}/assets/mobile/js/mCondolence.js"></script>
|
||||
<script src="${base!}/assets/mobile/js/mCommon.js"></script>
|
||||
<script src="${base!}/assets/platform/js/v.js"></script>
|
||||
<script src="${base!}/assets/platform/module/proposal/api.js"></script>
|
||||
<script src="${base!}/assets/platform/module/mixins/styleMixin.js"></script>
|
||||
<script src="${base!}/assets/mobile/js/mobileMixins.js"></script>
|
||||
<script src="${base!}/assets/mobile/js/mProposal.js"></script>
|
||||
<script src="${base!}/assets/mobile/js/mCondolence.js"></script>
|
||||
<script src="${base!}/assets/mobile/js/mCommon.js"></script>
|
||||
|
||||
<script src="${base!}/assets/platform/plugins/moment/moment.min.js"></script>
|
||||
<script src="${base!}/assets/platform/module/condolence/common.js"></script>
|
||||
<script src="${base!}/assets/platform/module/difficulty/common.js"></script>
|
||||
|
||||
<script src="${base!}/assets/platform/plugins/moment/moment.min.js"></script>
|
||||
<script src="${base!}/assets/platform/module/condolence/common.js"></script>
|
||||
<script src="${base!}/assets/platform/module/difficulty/common.js"></script>
|
||||
<script src="${base!}/assets/platform/js/jr-qrcode.js"></script>
|
||||
|
||||
<script src="${base!}/assets/platform/js/jr-qrcode.js"></script>
|
||||
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
|
||||
<script src="${base!}/assets/platform/js/scannerQrCodeJs.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://webapi.amap.com/maps?v=2.0&key=6ab3452804ba35050880b5e047436853&plugin=AMap.PolyEditor,AMap.Geolocation"
|
||||
></script>
|
||||
|
||||
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
|
||||
<script src="${base!}/assets/platform/js/scannerQrCodeJs.js"></script>
|
||||
<script type="text/javascript"
|
||||
src="https://webapi.amap.com/maps?v=2.0&key=6ab3452804ba35050880b5e047436853&plugin=AMap.PolyEditor,AMap.Geolocation"></script>
|
||||
<script src="${base!}/components/plugins/sysDict/DictData.js"></script>
|
||||
|
||||
</head>
|
||||
<script>
|
||||
window.sessionStorage.setItem("user", JSON.stringify(${json(@shiro.getPrincipal())}))
|
||||
|
||||
<body>
|
||||
<script>
|
||||
const APP_DOMAIN = "${AppDomain!}"
|
||||
const FILE_DOMAIN = "${AppFileDomain!}"
|
||||
</script>
|
||||
${layoutContent}
|
||||
</body>
|
||||
;(function initPjax() {
|
||||
if ($.support.pjax) {
|
||||
$(document).on("pjax:send", function () {
|
||||
document.querySelectorAll('style[id^="style-"]').forEach((style) => {
|
||||
style.parentNode.removeChild(style)
|
||||
})
|
||||
})
|
||||
$(document).on("pjax:complete", function () {
|
||||
|
||||
})
|
||||
}
|
||||
})()
|
||||
|
||||
function pjaxReplace(url){
|
||||
$.pjax({
|
||||
url: url,
|
||||
container: "#container",
|
||||
maxCacheLength: 0,
|
||||
push: false,
|
||||
replace: true,
|
||||
fragment: "#container",
|
||||
timeout: 8000,
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
const APP_DOMAIN = "${AppDomain!}"
|
||||
const FILE_DOMAIN = "${AppFileDomain!}"
|
||||
</script>
|
||||
<div id="container">${layoutContent}</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -50,28 +50,18 @@ layout("/mobile/platform.html"){
|
||||
.van-empty {
|
||||
height: 70%;
|
||||
top: 54%;
|
||||
background-color: #F6F7F9;
|
||||
background-color: #f6f7f9;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<van-nav-bar
|
||||
@click-left="history.back()"
|
||||
fixed
|
||||
left-arrow
|
||||
placeholder
|
||||
title="资产列表"
|
||||
></van-nav-bar>
|
||||
<van-nav-bar @click-left="pjaxReplace('/mobile/index')" fixed left-arrow placeholder title="资产列表"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu :active-color="themeColor">
|
||||
<van-dropdown-item :options="yearOption" @change="getPdPlan"
|
||||
v-model="pageForm.year"></van-dropdown-item>
|
||||
<van-dropdown-item :options="yearOption" @change="getPdPlan" v-model="pageForm.year"></van-dropdown-item>
|
||||
<van-dropdown-item :options="pdPlanList" v-model="pageForm.zcpdid"></van-dropdown-item>
|
||||
<van-dropdown-item :options="zcLxList" @change="doSearch"
|
||||
v-model="pageForm.zcghlx"></van-dropdown-item>
|
||||
<van-dropdown-item :options="zcLxList" @change="doSearch" v-model="pageForm.zcghlx"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
<van-tabs @click="doSearch" style="margin-top: 53px" v-model="pageForm.isPd">
|
||||
@@ -82,96 +72,93 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div style="margin: 0px auto 0 auto">
|
||||
<van-list
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
:loading="mLoading"
|
||||
@load="onLoad" v-if="tableData.length>0"
|
||||
v-model="mLoading">
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
:loading="mLoading"
|
||||
@load="onLoad"
|
||||
v-if="tableData.length>0"
|
||||
v-model="mLoading"
|
||||
>
|
||||
<div class="van-doc-card" v-for="o in tableData">
|
||||
<div @click="welfareClick(o)" style="position: relative">
|
||||
|
||||
<div>
|
||||
<div class="van-ellipsis"
|
||||
style="margin-top: 6px; font-size: 15px;font-weight: bold;flex: 1">
|
||||
{{o.zcmc}}({{o.zcbh}})
|
||||
</div>
|
||||
<div class="van-ellipsis" style="margin-top: 6px; font-size: 15px; font-weight: bold; flex: 1">{{o.zcmc}}({{o.zcbh}})</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="train-title"><span
|
||||
style="color: grey">资产规格:</span>{{o.zcxh?o.zcxh:'暂无'}}
|
||||
<div class="train-title">
|
||||
<span style="color: grey">资产规格:</span>
|
||||
{{o.zcxh?o.zcxh:'暂无'}}
|
||||
</div>
|
||||
<div class="train-title"><span style="color: grey">资产类型:</span>{{o.zcghlx==='1'?'院级工会':'校工会'}}
|
||||
<div class="train-title">
|
||||
<span style="color: grey">资产类型:</span>
|
||||
{{o.zcghlx==='1'?'院级工会':'校工会'}}
|
||||
</div>
|
||||
<div class="train-title"><span style="color: grey">购置日期:</span>{{o.zcgzrq}}
|
||||
<div class="train-title">
|
||||
<span style="color: grey">购置日期:</span>
|
||||
{{o.zcgzrq}}
|
||||
</div>
|
||||
<div class="train-title"><span style="color: grey">存放地名称:</span>{{o.zccfdmc}}
|
||||
<div class="train-title">
|
||||
<span style="color: grey">存放地名称:</span>
|
||||
{{o.zccfdmc}}
|
||||
</div>
|
||||
<van-divider></van-divider>
|
||||
</div>
|
||||
<div class="train-title"><span style="color: grey">领用人:</span>
|
||||
<div class="train-title">
|
||||
<span style="color: grey">领用人:</span>
|
||||
{{o.zclyrname?o.zclyrname:'暂无'}}
|
||||
</div>
|
||||
<div class="train-title"><span style="color: grey">领用工会:</span>
|
||||
<div class="train-title">
|
||||
<span style="color: grey">领用工会:</span>
|
||||
{{o.zclydwh}}
|
||||
</div>
|
||||
<van-button :color="themeColor" @click.stop="openView(o)" plain round
|
||||
size="mini"
|
||||
style="position: absolute; left: 55%; bottom: 0%; width: 74px; height: 28px"
|
||||
type="primary">
|
||||
<van-button
|
||||
:color="themeColor"
|
||||
@click.stop="openView(o)"
|
||||
plain
|
||||
round
|
||||
size="mini"
|
||||
style="position: absolute; left: 55%; bottom: 0%; width: 74px; height: 28px"
|
||||
type="primary"
|
||||
>
|
||||
查看
|
||||
</van-button>
|
||||
|
||||
<van-button :color="themeColor"
|
||||
:disabled="pdPlanList.length==0||!pageForm.zcpdid||!pdPlanList.find(p=>p.id===pageForm.zcpdid).isShow"
|
||||
@click.stop="openPd(o)"
|
||||
round size="mini"
|
||||
style="position: absolute; left: 77%; bottom: 0%; width: 74px; height: 28px"
|
||||
type="primary"
|
||||
v-if="!o.isPd">
|
||||
<van-button
|
||||
:color="themeColor"
|
||||
:disabled="pdPlanList.length==0||!pageForm.zcpdid||!pdPlanList.find(p=>p.id===pageForm.zcpdid).isShow"
|
||||
@click.stop="openPd(o)"
|
||||
round
|
||||
size="mini"
|
||||
style="position: absolute; left: 77%; bottom: 0%; width: 74px; height: 28px"
|
||||
type="primary"
|
||||
v-if="!o.isPd"
|
||||
>
|
||||
开始盘点
|
||||
</van-button>
|
||||
|
||||
<van-button
|
||||
:disabled="pdPlanList.length==0||!pageForm.zcpdid||!pdPlanList.find(p=>p.id===pageForm.zcpdid).isShow"
|
||||
@click.stop="doDelete(o)"
|
||||
round size="mini"
|
||||
style="position: absolute; left: 77%; bottom: 0%; width: 74px; height: 28px"
|
||||
type="danger"
|
||||
v-if="o.isPd">
|
||||
:disabled="pdPlanList.length==0||!pageForm.zcpdid||!pdPlanList.find(p=>p.id===pageForm.zcpdid).isShow"
|
||||
@click.stop="doDelete(o)"
|
||||
round
|
||||
size="mini"
|
||||
style="position: absolute; left: 77%; bottom: 0%; width: 74px; height: 28px"
|
||||
type="danger"
|
||||
v-if="o.isPd"
|
||||
>
|
||||
删除盘点
|
||||
</van-button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<div :style="{color:themeColor}"
|
||||
style="text-align: right;position: fixed;bottom: 20px;right: 20px">
|
||||
<van-button :color="themeColor" hairline size="mini" type="primary">
|
||||
总:{{pageForm.totalCount}}条
|
||||
</van-button>
|
||||
<van-button :color="themeColor" @click="doHzExcel" hairline size="mini" type="primary">
|
||||
导出盘点汇总表
|
||||
</van-button>
|
||||
|
||||
<div :style="{color:themeColor}" style="text-align: right; position: fixed; bottom: 20px; right: 20px">
|
||||
<van-button :color="themeColor" hairline size="mini" type="primary">总:{{pageForm.totalCount}}条</van-button>
|
||||
<van-button :color="themeColor" @click="doHzExcel" hairline size="mini" type="primary">导出盘点汇总表</van-button>
|
||||
</div>
|
||||
<van-empty
|
||||
class="custom-image"
|
||||
description="暂无数据"
|
||||
image="/none.svg"
|
||||
v-if="mLoading==false&&tableData.length==0"
|
||||
></van-empty>
|
||||
<van-empty class="custom-image" description="暂无数据" image="/none.svg" v-if="mLoading==false&&tableData.length==0"></van-empty>
|
||||
</div>
|
||||
|
||||
|
||||
<van-popup :style="{ height: '100%',width:'100%' }" position="right" v-model="addPdShow">
|
||||
|
||||
<van-nav-bar
|
||||
@click-left="addPdShow=false;doSearch()"
|
||||
fixed
|
||||
left-arrow
|
||||
placeholder
|
||||
title="新增盘点"
|
||||
></van-nav-bar>
|
||||
<van-nav-bar @click-left="addPdShow=false;doSearch()" fixed left-arrow placeholder title="新增盘点"></van-nav-bar>
|
||||
|
||||
<van-form @submit="onSubmit">
|
||||
<van-field :value="formData.zcbh" label="资产编号" readonly required></van-field>
|
||||
@@ -190,89 +177,118 @@ layout("/mobile/platform.html"){
|
||||
v-model="formData.zmjz"
|
||||
></van-number-keyboard>-->
|
||||
|
||||
<van-field :rules="[{ required: true, message: '' }]" :value="formData.zcgzrq"
|
||||
@click="zcrksjShow = true"
|
||||
clickable label="购置日期" placeholder="请输入购置日期"
|
||||
readonly
|
||||
required></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '' }]"
|
||||
:value="formData.zcgzrq"
|
||||
@click="zcrksjShow = true"
|
||||
clickable
|
||||
label="购置日期"
|
||||
placeholder="请输入购置日期"
|
||||
readonly
|
||||
required
|
||||
></van-field>
|
||||
|
||||
<van-calendar :color="themeColor" :min-date="new Date('1999-01-01')"
|
||||
@confirm="onConfirmZcrksj" v-model="zcrksjShow"></van-calendar>
|
||||
<van-calendar :color="themeColor" :min-date="new Date('1999-01-01')" @confirm="onConfirmZcrksj" v-model="zcrksjShow"></van-calendar>
|
||||
|
||||
<van-field :rules="[{ required: true, message: '' }]" :value="formData.zcbdsj"
|
||||
@click="zcbdsjShow = true"
|
||||
clickable label="盘点日期" placeholder="请输入盘点日期"
|
||||
readonly
|
||||
required></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '' }]"
|
||||
:value="formData.zcbdsj"
|
||||
@click="zcbdsjShow = true"
|
||||
clickable
|
||||
label="盘点日期"
|
||||
placeholder="请输入盘点日期"
|
||||
readonly
|
||||
required
|
||||
></van-field>
|
||||
|
||||
<van-calendar :color="themeColor" :min-date="new Date('1999-01-01')"
|
||||
@confirm="onConfirmZcbdsj"
|
||||
required v-model="zcbdsjShow"></van-calendar>
|
||||
<van-calendar
|
||||
:color="themeColor"
|
||||
:min-date="new Date('1999-01-01')"
|
||||
@confirm="onConfirmZcbdsj"
|
||||
required
|
||||
v-model="zcbdsjShow"
|
||||
></van-calendar>
|
||||
|
||||
<van-field :rules="[{ required: true, message: '' }]"
|
||||
@input="userRemoteMethod"
|
||||
clickable
|
||||
label="责任人" placeholder="请输入责任人"
|
||||
required
|
||||
v-model="formData.zcbdshr_name"></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '' }]"
|
||||
@input="userRemoteMethod"
|
||||
clickable
|
||||
label="责任人"
|
||||
placeholder="请输入责任人"
|
||||
required
|
||||
v-model="formData.zcbdshr_name"
|
||||
></van-field>
|
||||
|
||||
<van-action-sheet :actions="userList"
|
||||
:close-on-click-overlay="false"
|
||||
@cancel="userList = []"
|
||||
@select="onUserSelect"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
v-model="zcbdshrShow">
|
||||
</van-action-sheet>
|
||||
<van-action-sheet
|
||||
:actions="userList"
|
||||
:close-on-click-overlay="false"
|
||||
@cancel="userList = []"
|
||||
@select="onUserSelect"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
v-model="zcbdshrShow"
|
||||
></van-action-sheet>
|
||||
|
||||
|
||||
<van-field :rules="[{ required: true, message: '' }]" :value="formData.zcnowlydwh"
|
||||
label="院级工会" placeholder="输入责任人联动"
|
||||
readonly required></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '' }]"
|
||||
:value="formData.zcnowlydwh"
|
||||
label="院级工会"
|
||||
placeholder="输入责任人联动"
|
||||
readonly
|
||||
required
|
||||
></van-field>
|
||||
|
||||
<template v-if="formData.zcghlx==='2'">
|
||||
<van-field @input="lyrRemoteMethod"
|
||||
clickable
|
||||
label="领用人" placeholder="请输入领用人"
|
||||
v-model="formData.zclyrname"></van-field>
|
||||
<van-field @input="lyrRemoteMethod" clickable label="领用人" placeholder="请输入领用人" v-model="formData.zclyrname"></van-field>
|
||||
|
||||
<van-action-sheet :actions="userList"
|
||||
:close-on-click-overlay="false"
|
||||
@cancel="userList = []"
|
||||
@select="onLyrUserSelect"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
v-model="zclyrnameShow">
|
||||
</van-action-sheet>
|
||||
<van-action-sheet
|
||||
:actions="userList"
|
||||
:close-on-click-overlay="false"
|
||||
@cancel="userList = []"
|
||||
@select="onLyrUserSelect"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
v-model="zclyrnameShow"
|
||||
></van-action-sheet>
|
||||
</template>
|
||||
|
||||
<van-field :rules="[{ required: true, message: '' }]"
|
||||
clickable
|
||||
label="存放地点"
|
||||
maxlength="20" placeholder="请输入存放地点"
|
||||
required
|
||||
v-model="formData.zcnowcfdmc"></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '' }]"
|
||||
clickable
|
||||
label="存放地点"
|
||||
maxlength="20"
|
||||
placeholder="请输入存放地点"
|
||||
required
|
||||
v-model="formData.zcnowcfdmc"
|
||||
></van-field>
|
||||
|
||||
<van-field :rules="[{ required: true, message: '' }]" :value="formData.pdzt"
|
||||
@click="pdztShow = true"
|
||||
clickable label="盘点情况" placeholder="请选择盘点情况"
|
||||
readonly
|
||||
required></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '' }]"
|
||||
:value="formData.pdzt"
|
||||
@click="pdztShow = true"
|
||||
clickable
|
||||
label="盘点情况"
|
||||
placeholder="请选择盘点情况"
|
||||
readonly
|
||||
required
|
||||
></van-field>
|
||||
|
||||
<van-popup :style="{ height: '40%' }" position="bottom" v-model="pdztShow">
|
||||
<van-picker
|
||||
:columns="pdztColumns"
|
||||
@cancel="pdztShow = false"
|
||||
@confirm="(v)=>{formData.pdzt = v;pdztShow = false}"
|
||||
show-toolbar
|
||||
title="盘点情况"
|
||||
:columns="pdztColumns"
|
||||
@cancel="pdztShow = false"
|
||||
@confirm="(v)=>{formData.pdzt = v;pdztShow = false}"
|
||||
show-toolbar
|
||||
title="盘点情况"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
|
||||
<van-field :rules="[{ required: true, message: '' }]" clickable label="盘点情况"
|
||||
placeholder="请输入盘点情况"
|
||||
required v-if="formData.pdzt!='已盘点'&&formData.pdzt!=null"
|
||||
v-model="formData.wpdzt"
|
||||
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '' }]"
|
||||
clickable
|
||||
label="盘点情况"
|
||||
placeholder="请输入盘点情况"
|
||||
required
|
||||
v-if="formData.pdzt!='已盘点'&&formData.pdzt!=null"
|
||||
v-model="formData.wpdzt"
|
||||
></van-field>
|
||||
|
||||
<!-- <van-popup :style="{ height: '40%' }" position="bottom" v-model="wpdztShow">
|
||||
@@ -285,27 +301,36 @@ layout("/mobile/platform.html"){
|
||||
></van-picker>
|
||||
</van-popup>-->
|
||||
|
||||
<van-field :rules="[{ required: true, message: '' }]" :value="formData.zczt"
|
||||
@click="zcztShow = true"
|
||||
clickable label="使用现状" placeholder="请选择使用现状"
|
||||
readonly
|
||||
required></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '' }]"
|
||||
:value="formData.zczt"
|
||||
@click="zcztShow = true"
|
||||
clickable
|
||||
label="使用现状"
|
||||
placeholder="请选择使用现状"
|
||||
readonly
|
||||
required
|
||||
></van-field>
|
||||
|
||||
<van-popup :style="{ height: '40%' }" position="bottom" v-model="zcztShow">
|
||||
<van-picker
|
||||
:columns="zcztColumns"
|
||||
@cancel="zcztShow = false"
|
||||
@confirm="(v)=>{formData.zczt = v;zcztShow = false}"
|
||||
show-toolbar
|
||||
show-toolbar
|
||||
title="使用现状"
|
||||
:columns="zcztColumns"
|
||||
@cancel="zcztShow = false"
|
||||
@confirm="(v)=>{formData.zczt = v;zcztShow = false}"
|
||||
show-toolbar
|
||||
show-toolbar
|
||||
title="使用现状"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field :rules="[{ required: true, message: '请上传资产照片' }]" input-align="left"
|
||||
label="资产照片"
|
||||
name="files" required
|
||||
style="flex-flow: column">
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '请上传资产照片' }]"
|
||||
input-align="left"
|
||||
label="资产照片"
|
||||
name="files"
|
||||
required
|
||||
style="flex-flow: column"
|
||||
>
|
||||
<template #label>
|
||||
<div class="mb10">资产照片</div>
|
||||
</template>
|
||||
@@ -314,108 +339,71 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
|
||||
<div style="margin: 16px;">
|
||||
<van-button :color="themeColor" block native-type="submit" round type="info">提交
|
||||
</van-button>
|
||||
<div style="margin: 16px">
|
||||
<van-button :color="themeColor" block native-type="submit" round type="info">提交</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
|
||||
|
||||
</van-popup>
|
||||
|
||||
|
||||
<van-popup :style="{ height: '100%',width:'100%' }" position="right" v-model="viewPdShow">
|
||||
|
||||
<van-nav-bar
|
||||
@click-left="viewPdShow=false"
|
||||
fixed
|
||||
left-arrow
|
||||
placeholder
|
||||
title="查看盘点信息"
|
||||
></van-nav-bar>
|
||||
<van-nav-bar @click-left="viewPdShow=false" fixed left-arrow placeholder title="查看盘点信息"></van-nav-bar>
|
||||
|
||||
<van-tabs @click="openVIewTab" v-model="viewTabs">
|
||||
<van-tab :name="1" title="基本信息">
|
||||
<van-cell-group>
|
||||
<van-field :value="viewData.zcmc" label="资产名称" readonly></van-field>
|
||||
<van-field :value="viewData.zcbh" label="资产编号" readonly></van-field>
|
||||
<van-field :value="viewData.zcdj" label="单价" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field :value="viewData.sl" label="数量" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field :value="viewData.zcghlx==='1'?'院级工会':'校工会'" label="资产类型"
|
||||
readonly></van-field>
|
||||
<van-field :value="viewData.zcxh" label="规格型号" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field :value="viewData.contentCode" label="类别编号" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field :value="viewData.content" label="类别名称" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field :value="viewData.zccfdmc" label="存放地点" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field :value="viewData.zcgzrq" label="购置日期" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field :value="viewData.zclyrname" label="领用人" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field :value="viewData.zclydwh" label="领用工会" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field :value="viewData.pdzt" label="盘点情况" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field :value="viewData.zczt" label="使用现状" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
|
||||
<van-field :value="viewData.zcdj" label="单价" placeholder="暂无" readonly></van-field>
|
||||
<van-field :value="viewData.sl" label="数量" placeholder="暂无" readonly></van-field>
|
||||
<van-field :value="viewData.zcghlx==='1'?'院级工会':'校工会'" label="资产类型" readonly></van-field>
|
||||
<van-field :value="viewData.zcxh" label="规格型号" placeholder="暂无" readonly></van-field>
|
||||
<van-field :value="viewData.contentCode" label="类别编号" placeholder="暂无" readonly></van-field>
|
||||
<van-field :value="viewData.content" label="类别名称" placeholder="暂无" readonly></van-field>
|
||||
<van-field :value="viewData.zccfdmc" label="存放地点" placeholder="暂无" readonly></van-field>
|
||||
<van-field :value="viewData.zcgzrq" label="购置日期" placeholder="暂无" readonly></van-field>
|
||||
<van-field :value="viewData.zclyrname" label="领用人" placeholder="暂无" readonly></van-field>
|
||||
<van-field :value="viewData.zclydwh" label="领用工会" placeholder="暂无" readonly></van-field>
|
||||
<van-field :value="viewData.pdzt" label="盘点情况" placeholder="暂无" readonly></van-field>
|
||||
<van-field :value="viewData.zczt" label="使用现状" placeholder="暂无" readonly></van-field>
|
||||
</van-cell-group>
|
||||
</van-tab>
|
||||
<van-tab :name="2" title="盘点信息">
|
||||
<van-collapse accordion v-if="viewData.bdData&&viewData.bdData.length>0"
|
||||
v-model="collapseName">
|
||||
<van-collapse accordion v-if="viewData.bdData&&viewData.bdData.length>0" v-model="collapseName">
|
||||
<van-collapse-item :name="i" :title="o.zcbdsj" v-for="(o,i) in viewData.bdData">
|
||||
<van-field :value="o.zcnowlydwh" label="院级工会" readonly></van-field>
|
||||
<!-- <van-field :value="o.zmjz" label="账面价值" placeholder="暂无"
|
||||
readonly></van-field>-->
|
||||
<van-field :value="o.zcgzrq" label="购置日期" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field :value="o.shrname" label="责任人" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field :value="o.mobile" label="联系方式" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field :value="o.pdzt" label="盘点情况" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field :value="o.wpdzt" label="情况说明" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field :value="o.zczt" label="使用现状" placeholder="暂无"
|
||||
readonly></van-field>
|
||||
<van-field abel="资产照片" name="zcfile"
|
||||
required style="flex-flow: column">
|
||||
<van-field :value="o.zcgzrq" label="购置日期" placeholder="暂无" readonly></van-field>
|
||||
<van-field :value="o.shrname" label="责任人" placeholder="暂无" readonly></van-field>
|
||||
<van-field :value="o.mobile" label="联系方式" placeholder="暂无" readonly></van-field>
|
||||
<van-field :value="o.pdzt" label="盘点情况" placeholder="暂无" readonly></van-field>
|
||||
<van-field :value="o.wpdzt" label="情况说明" placeholder="暂无" readonly></van-field>
|
||||
<van-field :value="o.zczt" label="使用现状" placeholder="暂无" readonly></van-field>
|
||||
<van-field abel="资产照片" name="zcfile" required style="flex-flow: column">
|
||||
<template #label>
|
||||
<div class="mb10">资产照片</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<vant-file-upload :del="false" :files.sync="o.zcfile"
|
||||
view></vant-file-upload>
|
||||
<vant-file-upload :del="false" :files.sync="o.zcfile" view></vant-file-upload>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
<van-empty class="custom-image"
|
||||
description="暂无数据"
|
||||
image="/none.svg"
|
||||
style="z-index: 1;position: fixed;height: 75%"
|
||||
v-if="viewData.bdData&&viewData.bdData.length==0"
|
||||
<van-empty
|
||||
class="custom-image"
|
||||
description="暂无数据"
|
||||
image="/none.svg"
|
||||
style="z-index: 1; position: fixed; height: 75%"
|
||||
v-if="viewData.bdData&&viewData.bdData.length==0"
|
||||
></van-empty>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
|
||||
|
||||
</van-popup>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -425,7 +413,7 @@ layout("/mobile/platform.html"){
|
||||
bdData: []
|
||||
},
|
||||
viewPdShow: false,
|
||||
zcztColumns: ["在用", "闲置", '未使用', '报废', '校外转入', '校内转入', '其它'],
|
||||
zcztColumns: ["在用", "闲置", "未使用", "报废", "校外转入", "校内转入", "其它"],
|
||||
zcztShow: false,
|
||||
pdztColumns: ["已盘点", "盘亏", "盘盈", "报废"],
|
||||
pdztShow: false,
|
||||
@@ -440,44 +428,42 @@ layout("/mobile/platform.html"){
|
||||
yearOption: [],
|
||||
pdPlanList: [],
|
||||
zcLxList: [
|
||||
{value: '', text: "全部类型"},
|
||||
{value: 2, text: "校工会"},
|
||||
{value: 1, text: "院级工会"},
|
||||
{ value: "", text: "全部类型" },
|
||||
{ value: 2, text: "校工会" },
|
||||
{ value: 1, text: "院级工会" }
|
||||
],
|
||||
pageForm: {
|
||||
isPd: 2,
|
||||
zcghlx: ''
|
||||
zcghlx: ""
|
||||
},
|
||||
|
||||
zclyrnameShow: false
|
||||
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'vant-file-upload': httpVueLoader('/components/plugins/VantFileUpload.vue')
|
||||
"vant-file-upload": httpVueLoader("/components/plugins/VantFileUpload.vue")
|
||||
},
|
||||
methods: {
|
||||
|
||||
doHzExcel() {
|
||||
window.open("/platform/zcgl/gdzcbg/doHzExcel?zcpdid=" + this.pageForm.zcpdid + "&zcghlx=" + this.pageForm.zcghlx)
|
||||
},
|
||||
doDelete(o) {
|
||||
vant.Dialog.confirm({
|
||||
title: '温馨提示',
|
||||
message: '确认要删除本次盘点吗?',
|
||||
title: "温馨提示",
|
||||
message: "确认要删除本次盘点吗?"
|
||||
}).then(async () => {
|
||||
const loading = this.$toast.loading({
|
||||
message: '删除中...',
|
||||
message: "删除中...",
|
||||
forbidClick: true,
|
||||
overlay: true,
|
||||
duration: 0
|
||||
})
|
||||
const resp = await $.post("/platform/zcgl/gdzcbg/doPdDelete", {zcbdid: o.zcbdid})
|
||||
const resp = await $.post("/platform/zcgl/gdzcbg/doPdDelete", { zcbdid: o.zcbdid })
|
||||
if (resp.code === 0) {
|
||||
await this.doSearch()
|
||||
this.$toast.success(resp.msg);
|
||||
this.$toast.success(resp.msg)
|
||||
} else {
|
||||
this.$toast.fail(resp.msg);
|
||||
this.$toast.fail(resp.msg)
|
||||
}
|
||||
loading.close()
|
||||
})
|
||||
@@ -498,9 +484,9 @@ layout("/mobile/platform.html"){
|
||||
this.viewPdShow = true
|
||||
},
|
||||
async getPdData(zcid) {
|
||||
const data = await $.post("/platform/zcgl/gdzcbg/queryChangeData", {zcid: zcid})
|
||||
const data = await $.post("/platform/zcgl/gdzcbg/queryChangeData", { zcid: zcid })
|
||||
if (data.code === 0) {
|
||||
data.data.forEach(v => {
|
||||
data.data.forEach((v) => {
|
||||
if (v.zcfile) {
|
||||
v.zcfile = JSON.parse(v.zcfile)
|
||||
}
|
||||
@@ -511,8 +497,8 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
onUserSelect(u) {
|
||||
this.$set(this.formData, 'zcbdshrid', u.id)
|
||||
this.$set(this.formData, 'zcbdshr_name', u.name)
|
||||
this.$set(this.formData, "zcbdshrid", u.id)
|
||||
this.$set(this.formData, "zcbdshr_name", u.name)
|
||||
if (this.formData.zcghlx === "2") {
|
||||
this.$set(this.formData, "zcnowlydwh", "工会")
|
||||
} else {
|
||||
@@ -536,33 +522,32 @@ layout("/mobile/platform.html"){
|
||||
this.zclyrnameShow = false
|
||||
},
|
||||
onConfirmZcbdsj(date) {
|
||||
this.$set(this.formData, "zcbdsj", moment(date).format('YYYY/MM/DD'))
|
||||
this.$set(this.formData, "zcbdsj", moment(date).format("YYYY/MM/DD"))
|
||||
this.zcbdsjShow = false
|
||||
},
|
||||
onConfirmZcrksj(date) {
|
||||
this.$set(this.formData, "zcgzrq", moment(date).format('YYYY/MM/DD'))
|
||||
this.$set(this.formData, "zcgzrq", moment(date).format("YYYY/MM/DD"))
|
||||
this.zcrksjShow = false
|
||||
},
|
||||
async onSubmit() {
|
||||
|
||||
let formData = clone(this.formData)
|
||||
formData.pdPlanId = this.pageForm.zcpdid
|
||||
formData.zcFile = JSON.stringify(formData.zcFile)
|
||||
const resp = await $.post("/platform/zcgl/gdzcbg/doSubmit", formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success('新增盘点成功');
|
||||
this.$toast.success("新增盘点成功")
|
||||
// await this.doSearch();
|
||||
this.tableData = this.tableData.filter(t => t.zcid !== formData.zcid)
|
||||
this.tableData = this.tableData.filter((t) => t.zcid !== formData.zcid)
|
||||
this.pageForm.totalCount = this.pageForm.totalCount - 1
|
||||
this.addPdShow = false
|
||||
} else {
|
||||
this.$toast.fail('新增盘点失败');
|
||||
this.$toast.fail("新增盘点失败")
|
||||
}
|
||||
},
|
||||
async openPd(row) {
|
||||
this.formData = row
|
||||
this.$set(this.formData, "zcgzrq", row.zcgzrq)
|
||||
this.$set(this.formData, "zcbdsj", moment(new Date()).format('YYYY/MM/DD'))
|
||||
this.$set(this.formData, "zcbdsj", moment(new Date()).format("YYYY/MM/DD"))
|
||||
this.$set(this.formData, "zcnowcfdmc", row.zccfdmc)
|
||||
|
||||
this.addPdShow = true
|
||||
@@ -576,14 +561,14 @@ layout("/mobile/platform.html"){
|
||||
arr = await searchUser(event, "${@shiro.getPrincipalProperty('unit').getUnionid()}", null, null, null)
|
||||
}
|
||||
|
||||
this.userList = arr.map(v => {
|
||||
this.userList = arr.map((v) => {
|
||||
return {
|
||||
name: v.username + "(" + v.loginname + ")",
|
||||
id: v.id,
|
||||
mobile: v.mobile,
|
||||
unionname: v.unionname,
|
||||
loginname: v.loginname,
|
||||
username: v.username,
|
||||
username: v.username
|
||||
}
|
||||
})
|
||||
this.zcbdshrShow = true
|
||||
@@ -598,7 +583,7 @@ layout("/mobile/platform.html"){
|
||||
arr = await searchUser(event, "${@shiro.getPrincipalProperty('unit').getUnionid()}", null, null, null)
|
||||
}
|
||||
|
||||
this.userList = arr.map(v => {
|
||||
this.userList = arr.map((v) => {
|
||||
return {
|
||||
name: v.username + "(" + v.loginname + ")",
|
||||
id: v.id,
|
||||
@@ -606,7 +591,7 @@ layout("/mobile/platform.html"){
|
||||
unionname: v.unionname,
|
||||
loginname: v.loginname,
|
||||
username: v.username,
|
||||
unionid: v.unionid,
|
||||
unionid: v.unionid
|
||||
}
|
||||
})
|
||||
this.zclyrnameShow = true
|
||||
@@ -615,29 +600,29 @@ layout("/mobile/platform.html"){
|
||||
async doSearch() {
|
||||
this.tableKey = new Date().getTime()
|
||||
this.pageForm.pageNumber = 1
|
||||
this.finished = false;
|
||||
this.finished = false
|
||||
this.pageForm.totalCount = 0
|
||||
this.tableData = []
|
||||
await this.onLoad();
|
||||
await this.onLoad()
|
||||
},
|
||||
async onLoad() {
|
||||
this.mLoading = true
|
||||
const res = await $.post('/platform/zcgl/gdzcbg/data', this.pageForm)
|
||||
const {code, data} = res
|
||||
const res = await $.post("/platform/zcgl/gdzcbg/data", this.pageForm)
|
||||
const { code, data } = res
|
||||
if (this.refreshing) {
|
||||
this.tableData = [];
|
||||
this.refreshing = false;
|
||||
this.tableData = []
|
||||
this.refreshing = false
|
||||
}
|
||||
this.mLoading = false;
|
||||
this.mLoading = false
|
||||
if (code === 0) {
|
||||
this.tableData = this.tableData.concat(data.list)
|
||||
this.pageForm.totalCount = data.totalCount
|
||||
|
||||
if (this.tableData.length === 0) {
|
||||
this.finished = true;
|
||||
this.finished = true
|
||||
} else {
|
||||
if (this.tableData.length >= this.pageForm.totalCount) {
|
||||
this.finished = true;
|
||||
this.finished = true
|
||||
this.pageForm.pageNumber++
|
||||
} else {
|
||||
this.pageForm.pageNumber++
|
||||
@@ -646,19 +631,19 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
async getPdPlan() {
|
||||
const resp = await $.post("/platform/zcgl/gdzcbg/getPdPlan", {year: this.pageForm.year})
|
||||
resp.data.forEach(v => {
|
||||
const startDate = moment(v.startDate).format('YYYY-MM-DD')
|
||||
const endDate = moment(v.endDate).format('YYYY-MM-DD')
|
||||
const resp = await $.post("/platform/zcgl/gdzcbg/getPdPlan", { year: this.pageForm.year })
|
||||
resp.data.forEach((v) => {
|
||||
const startDate = moment(v.startDate).format("YYYY-MM-DD")
|
||||
const endDate = moment(v.endDate).format("YYYY-MM-DD")
|
||||
v.text = startDate + "至" + endDate
|
||||
v.value = v.id
|
||||
v.isShow = (moment().format('YYYY-MM-DD hh:mm:ss') > v.startDate && moment().format('YYYY-MM-DD hh:mm:ss') < v.endDate)
|
||||
v.isShow = moment().format("YYYY-MM-DD hh:mm:ss") > v.startDate && moment().format("YYYY-MM-DD hh:mm:ss") < v.endDate
|
||||
})
|
||||
this.pdPlanList = resp.data
|
||||
if (this.pdPlanList && this.pdPlanList.length > 0) {
|
||||
this.$set(this.pageForm, "zcpdid", this.pdPlanList[0].id)
|
||||
} else {
|
||||
this.$set(this.pageForm, "zcpdid", '')
|
||||
this.$set(this.pageForm, "zcpdid", "")
|
||||
}
|
||||
//
|
||||
}
|
||||
@@ -667,16 +652,16 @@ layout("/mobile/platform.html"){
|
||||
const toast = vant.Toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true,
|
||||
message: '数据查询中',
|
||||
});
|
||||
message: "数据查询中"
|
||||
})
|
||||
this.mLoading = true
|
||||
for (let i = new Date().getFullYear() - 5; i <= new Date().getFullYear(); i++) {
|
||||
this.yearOption.unshift({value: i, text: i + '年'},)
|
||||
this.yearOption.unshift({ value: i, text: i + "年" })
|
||||
}
|
||||
this.$set(this.pageForm, "year", this.yearOption[0].value)
|
||||
await this.getPdPlan();
|
||||
await this.getPdPlan()
|
||||
setTimeout(async () => {
|
||||
toast.clear();
|
||||
toast.clear()
|
||||
this.mLoading = false
|
||||
await this.doSearch()
|
||||
}, 500)
|
||||
@@ -684,7 +669,6 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
Reference in New Issue
Block a user