移动端返回
This commit is contained in:
@@ -38,7 +38,9 @@ layout("/mobile/platform.html"){
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.concat, .mobile, .union {
|
||||
.concat,
|
||||
.mobile,
|
||||
.union {
|
||||
font-size: 13px;
|
||||
line-height: 18px;
|
||||
width: 100%;
|
||||
@@ -83,12 +85,10 @@ layout("/mobile/platform.html"){
|
||||
right: 10px;
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
</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>
|
||||
<!--<van-dropdown-menu>
|
||||
<van-dropdown-item v-model="pageForm.typeId" :options="typeList"></van-dropdown-item>
|
||||
</van-dropdown-menu>-->
|
||||
@@ -98,20 +98,17 @@ layout("/mobile/platform.html"){
|
||||
</van-tabs>
|
||||
|
||||
<template>
|
||||
<van-list :finished="finished" :finished-text="tableData.length>0?'没有更多了':''"
|
||||
<van-list
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
v-if="tableData && tableData.length>0"
|
||||
v-model="mLoading"
|
||||
@load="pageData">
|
||||
@load="pageData"
|
||||
>
|
||||
<template v-for="o in tableData">
|
||||
<div class="list-card">
|
||||
<div @click="showGoods(o)" class="content">
|
||||
<van-image
|
||||
height="100px"
|
||||
width="100px"
|
||||
radius="8"
|
||||
:src="CREATE_PREVIEW_URL(o.imgUrl)"
|
||||
class="van-image__img">
|
||||
</van-image>
|
||||
<van-image height="100px" width="100px" radius="8" :src="CREATE_PREVIEW_URL(o.imgUrl)" class="van-image__img"></van-image>
|
||||
<div class="content-right">
|
||||
<div class="cr-title">
|
||||
<span>{{o.goodsName}}</span>
|
||||
@@ -129,10 +126,8 @@ layout("/mobile/platform.html"){
|
||||
<div v-if="o.description" style="display: flex; color: #969799">
|
||||
{{removeHTMLTag(o.description).substr(0,25)+'...'}}
|
||||
</div>
|
||||
<div style="text-align: right;">
|
||||
<a @click.stop="viewDesc(o.id,o.description)"
|
||||
class="more" style="color:#1867b0"
|
||||
href="#">查看更多</a>
|
||||
<div style="text-align: right">
|
||||
<a @click.stop="viewDesc(o.id,o.description)" class="more" style="color: #1867b0" href="#">查看更多</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -146,28 +141,19 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-list>
|
||||
</template>
|
||||
<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>
|
||||
|
||||
|
||||
<van-popup v-model="descPopup" position="right" :style="{ height: '100%',width: '100%'}"
|
||||
safe-area-inset-bottom>
|
||||
<van-popup v-model="descPopup" position="right" :style="{ height: '100%',width: '100%'}" safe-area-inset-bottom>
|
||||
<van-sticky>
|
||||
<van-nav-bar @click-left="descPopup=false" left-arrow
|
||||
title="详情"></van-nav-bar>
|
||||
<van-nav-bar @click-left="descPopup=false" left-arrow title="详情"></van-nav-bar>
|
||||
</van-sticky>
|
||||
|
||||
<div class="desc" v-html="desc" @click="descClick($event)"></div>
|
||||
</van-popup>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -176,24 +162,24 @@ layout("/mobile/platform.html"){
|
||||
pageForm: {
|
||||
projectId: null,
|
||||
goodsNAme: null,
|
||||
typeId:null,
|
||||
typeId: null
|
||||
},
|
||||
typeList:[],
|
||||
typeList: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
descClick(e) {
|
||||
if (e.target.tagName === 'IMG') {
|
||||
if (e.target.tagName === "IMG") {
|
||||
vant.ImagePreview([e.target.src])
|
||||
}
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.pageData();
|
||||
this.pageData()
|
||||
},
|
||||
async pageData() {
|
||||
this.mLoading = true
|
||||
const resp = await $.post('/mobile/benefiting/onLoad', this.pageForm)
|
||||
const resp = await $.post("/mobile/benefiting/onLoad", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
this.tableData = resp.data.list
|
||||
if (this.tableData.length === resp.data.totalCount) {
|
||||
@@ -205,24 +191,23 @@ layout("/mobile/platform.html"){
|
||||
this.mLoading = false
|
||||
},
|
||||
async getAllType() {
|
||||
const resp = await $.get('/platform/benefiting/type/findAllType')
|
||||
const resp = await $.get("/platform/benefiting/type/findAllType")
|
||||
if (resp.code === 0) {
|
||||
this.typeList = resp.data;
|
||||
this.typeList = resp.data
|
||||
this.pageForm.typeId = this.typeList[0].id
|
||||
}
|
||||
await this.pageData();
|
||||
await this.pageData()
|
||||
},
|
||||
viewDesc(optionId, desc) {
|
||||
this.desc = desc
|
||||
this.descPopup = true
|
||||
},
|
||||
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.pageForm.projectId = GetQueryString("projectId")
|
||||
await this.getAllType();
|
||||
},
|
||||
});
|
||||
await this.getAllType()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
|
||||
@@ -18,45 +18,31 @@ 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-search
|
||||
v-model="pageForm.projectName"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入项目名称查询"
|
||||
></van-search>
|
||||
<van-nav-bar title="惠民服务" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-search v-model="pageForm.projectName" shape="round" maxlength="10" @search="doSearch" placeholder="请输入项目名称查询"></van-search>
|
||||
|
||||
<template>
|
||||
<van-list :finished="finished" :finished-text="tableData.length>0?'没有更多了':''"
|
||||
<van-list
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
v-if="tableData && tableData.length>0"
|
||||
v-model="mLoading"
|
||||
@load="pageData">
|
||||
@load="pageData"
|
||||
>
|
||||
<template v-for="o in tableData">
|
||||
<div class="list-card" style="background-color: #FFFFFF;border-radius: 6px;">
|
||||
<div class="list-card" style="background-color: #ffffff; border-radius: 6px">
|
||||
<van-card @click="showGoods(o)" class="content">
|
||||
<template #thumb>
|
||||
<img :src="CREATE_PREVIEW_URL(o.cover)"
|
||||
@click="preview(o.cover,o.cover)"
|
||||
class="van-image__img">
|
||||
<img :src="CREATE_PREVIEW_URL(o.cover)" @click="preview(o.cover,o.cover)" class="van-image__img" />
|
||||
</template>
|
||||
<template #title>
|
||||
<div class="van-ellipsis"
|
||||
style="font-size: 15px;font-weight: bold;line-height: 30px;">
|
||||
{{o.projectName}}
|
||||
</div>
|
||||
<div class="van-ellipsis" style="font-size: 15px; font-weight: bold; line-height: 30px">{{o.projectName}}</div>
|
||||
</template>
|
||||
<template #desc>
|
||||
<div>
|
||||
<template>
|
||||
<div>
|
||||
年度:{{o.year}}
|
||||
</div>
|
||||
<div style="flex: 1.5">
|
||||
创建时间:
|
||||
{{moment(o.createTime).format('YYYY/MM/DD HH:mm')}}
|
||||
</div>
|
||||
<div>年度:{{o.year}}</div>
|
||||
<div style="flex: 1.5">创建时间: {{moment(o.createTime).format('YYYY/MM/DD HH:mm')}}</div>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
@@ -65,26 +51,21 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-list>
|
||||
</template>
|
||||
<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 {
|
||||
pageForm:{},
|
||||
pageForm: {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async pageData() {
|
||||
this.mLoading = true
|
||||
const resp = await $.post('/mobile/benefiting/pageData', this.pageForm)
|
||||
const resp = await $.post("/mobile/benefiting/pageData", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
this.tableData = this.tableData.concat(resp.data.list)
|
||||
if (this.tableData.length === resp.data.totalCount) {
|
||||
@@ -96,13 +77,13 @@ layout("/mobile/platform.html"){
|
||||
this.mLoading = false
|
||||
},
|
||||
async showGoods(o) {
|
||||
window.location.href='/mobile/benefiting/goods?projectId=' + o.id
|
||||
window.location.href = "/mobile/benefiting/goods?projectId=" + o.id
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.pageData();
|
||||
},
|
||||
});
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
|
||||
@@ -3,14 +3,23 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
.test{width:9em; overflow:hidden; white-space:nowrap;text-overflow: ellipsis;font-size: 10px;text-align: center;color: #a0a1a1
|
||||
.test {
|
||||
width: 9em;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
font-size: 10px;
|
||||
text-align: center;
|
||||
color: #a0a1a1;
|
||||
}
|
||||
.test:hover {
|
||||
text-overflow: inherit;
|
||||
overflow: visible;
|
||||
}
|
||||
.test:hover{text-overflow:inherit; overflow:visible;}
|
||||
</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 class="search-fixed">
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyWord"
|
||||
@@ -18,8 +27,7 @@ layout("/mobile/platform.html"){
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入教职工姓名或者教职工编号进行查询"
|
||||
>
|
||||
</van-search>
|
||||
></van-search>
|
||||
|
||||
<div style="display: flex">
|
||||
<div style="width: calc(100% - 100px); background: rgb(255, 255, 255)">
|
||||
@@ -27,26 +35,21 @@ layout("/mobile/platform.html"){
|
||||
<h5 style="margin-left: 5%; color: rgb(122, 110, 96)">{{tableData.length}}同事即将生日</h5>
|
||||
</div>
|
||||
<div style="width: 100px; max-width: 100px">
|
||||
<van-image width="100px"
|
||||
height="100px"
|
||||
src="/assets/mobile/img/birthday/birthday1.png"
|
||||
></van-image>
|
||||
<van-image width="100px" height="100px" src="/assets/mobile/img/birthday/birthday1.png"></van-image>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div style="margin-top: 160px; margin-bottom: 50px">
|
||||
|
||||
<div>
|
||||
<van-checkbox-group v-model="result">
|
||||
<van-grid :column-num="3" :border="false" style="background-color: white">
|
||||
<van-grid-item
|
||||
v-for="o in tableData"
|
||||
:key="o.userId" style="padding: 5px;">
|
||||
<van-grid-item v-for="o in tableData" :key="o.userId" style="padding: 5px">
|
||||
<span style="font-size: 10px">{{o.birthday.substr(0,2)}}-{{o.birthday.substr(2,4)}}</span>
|
||||
|
||||
<div style="background-image: url('/assets/mobile/img/birthday/birthday2.png');
|
||||
<div
|
||||
style="
|
||||
background-image: url("/assets/mobile/img/birthday/birthday2.png");
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background-size: 100% 100%;
|
||||
@@ -54,7 +57,8 @@ layout("/mobile/platform.html"){
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
">
|
||||
"
|
||||
>
|
||||
<span style="font-size: 20px; font-weight: bold; font-family: cursive">{{o.username.substr(0,1)}}</span>
|
||||
</div>
|
||||
<span style="font-size: 10px">{{o.username}}</span>
|
||||
@@ -63,11 +67,7 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<!-- <span v-if="o.unitName.length>7" style="font-size: 10px;">{{o.unitName.substr(0,7)+"..."}}</span>-->
|
||||
<!-- <span v-else style="font-size: 10px">{{o.unitName}}</span>-->
|
||||
<van-checkbox
|
||||
style="margin-left: 80px;margin-top: -35px"
|
||||
icon-size="20px"
|
||||
:name="o.userId" ref="checkboxes">
|
||||
</van-checkbox>
|
||||
<van-checkbox style="margin-left: 80px; margin-top: -35px" icon-size="20px" :name="o.userId" ref="checkboxes"></van-checkbox>
|
||||
</van-grid-item>
|
||||
</van-grid>
|
||||
</van-checkbox-group>
|
||||
@@ -75,22 +75,21 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div>
|
||||
<van-tabbar route>
|
||||
<van-tabbar-item replace @click="sendBlessings()" style="font-size: 16px;">送上祝福</van-tabbar-item>
|
||||
<van-tabbar-item replace @click="sendBlessings()" style="font-size: 16px">送上祝福</van-tabbar-item>
|
||||
<van-tabbar-item replace @click="showMine()" style="font-size: 16px">我收到的</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
pageForm: {},
|
||||
checked: true,
|
||||
result: [],
|
||||
result: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -98,7 +97,7 @@ layout("/mobile/platform.html"){
|
||||
this.onLoad()
|
||||
},
|
||||
async onLoad() {
|
||||
const res = await $.post('/mobile/birthday/greeting/pageData', this.pageForm)
|
||||
const res = await $.post("/mobile/birthday/greeting/pageData", this.pageForm)
|
||||
if (res.code === 0) {
|
||||
this.tableData = res.data
|
||||
}
|
||||
@@ -106,25 +105,23 @@ layout("/mobile/platform.html"){
|
||||
//送上祝福
|
||||
sendBlessings() {
|
||||
if (this.result.length === 0) {
|
||||
this.$toast.fail("请选择教职工");
|
||||
return;
|
||||
this.$toast.fail("请选择教职工")
|
||||
return
|
||||
}
|
||||
localStorage.setItem("greetingResult",this.result);
|
||||
window.location.href = '/mobile/birthday/greeting/greeting_list'
|
||||
localStorage.setItem("greetingResult", this.result)
|
||||
window.location.href = "/mobile/birthday/greeting/greeting_list"
|
||||
},
|
||||
toggle(index) {
|
||||
this.$refs.checkboxes[index].toggle();
|
||||
this.$refs.checkboxes[index].toggle()
|
||||
},
|
||||
showMine() {
|
||||
window.location.href = '/mobile/birthday/greeting/greeting_info'
|
||||
window.location.href = "/mobile/birthday/greeting/greeting_info"
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.onLoad();
|
||||
},
|
||||
components: {
|
||||
|
||||
this.onLoad()
|
||||
},
|
||||
components: {}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
|
||||
@@ -21,35 +21,19 @@ 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-search
|
||||
v-model="pageForm.username"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入教职工姓名进行查询"
|
||||
>
|
||||
</van-search>
|
||||
<van-search v-model="pageForm.username" shape="round" maxlength="10" @search="doSearch" placeholder="请输入教职工姓名进行查询"></van-search>
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 70px">
|
||||
<van-list v-model="mLoading" :finished="finished" :finished-text="giftInfo.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
|
||||
<van-list v-model="mLoading" :finished="finished" :finished-text="giftInfo.length>0?'没有更多了':''" @load="onLoad">
|
||||
<div v-for="o in giftInfo" :key="o.id" class="van-doc-card">
|
||||
<div>
|
||||
<div style="font-size: 15px;
|
||||
font-weight: bold;
|
||||
flex: 1;
|
||||
margin-left: 15px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;">
|
||||
<div style="font-size: 15px; font-weight: bold; flex: 1; margin-left: 15px; overflow: hidden; white-space: nowrap">
|
||||
<span style="color: #3ea1ec">{{o.username}}</span>
|
||||
<span style="color: #3ea1ec">|</span>
|
||||
<span style="font-size: 10px; font-weight: normal; color: #a0a1a1">{{o.name}}</span>
|
||||
@@ -62,34 +46,30 @@ layout("/mobile/platform.html"){
|
||||
<span v-if="o.message.length==0">无</span>
|
||||
<span v-if="o.message.length>0">{{o.message}}</span>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="生日贺卡" @click="showHk(o)"
|
||||
v-if="o.isSend==1" is-link value="点击展示"></van-cell>
|
||||
<van-cell :border="false" title="生日贺卡" @click="showHk(o)" v-if="o.isSend==1" is-link value="点击展示"></van-cell>
|
||||
<van-cell :border="false" title="赠送礼物">
|
||||
<van-image style="width: 50px;height: 50px" :src="APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS+'?id=' + o.files[0].id" @click="showGift(APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS+'?id=' + o.files[0].id,o.id)"></van-image>
|
||||
<van-image
|
||||
style="width: 50px; height: 50px"
|
||||
:src="APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS+'?id=' + o.files[0].id"
|
||||
@click="showGift(APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS+'?id=' + o.files[0].id,o.id)"
|
||||
></van-image>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</van-list>
|
||||
<van-empty
|
||||
v-if="mLoading==false&&giftInfo.length==0"
|
||||
class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据"
|
||||
></van-empty>
|
||||
<van-empty v-if="mLoading==false&&giftInfo.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
new Vue({
|
||||
el:'#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
show: false,
|
||||
images:'',
|
||||
giftInfo:[],
|
||||
images: "",
|
||||
giftInfo: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -101,11 +81,11 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async onLoad() {
|
||||
this.mLoading = true
|
||||
const res = await $.post('/mobile/birthday/greeting/giftInfo', this.pageForm)
|
||||
const res = await $.post("/mobile/birthday/greeting/giftInfo", this.pageForm)
|
||||
this.mLoading = false
|
||||
if (res.code === 0) {
|
||||
res.data.list.forEach(v => {
|
||||
if(!(typeof v.files =='object')){
|
||||
res.data.list.forEach((v) => {
|
||||
if (!(typeof v.files == "object")) {
|
||||
v.files = JSON.parse(v.files)
|
||||
}
|
||||
})
|
||||
@@ -121,12 +101,10 @@ layout("/mobile/platform.html"){
|
||||
vant.ImagePreview([data])
|
||||
},
|
||||
showHk(o) {
|
||||
window.location.href='/mobile/birthday/greeting/hk?id='+o.id
|
||||
},
|
||||
},
|
||||
created(){
|
||||
|
||||
window.location.href = "/mobile/birthday/greeting/hk?id=" + o.id
|
||||
}
|
||||
},
|
||||
created() {}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
|
||||
@@ -15,20 +15,21 @@ layout("/mobile/platform.html"){
|
||||
</style>
|
||||
|
||||
<div id="app" style="background-color: white">
|
||||
<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>
|
||||
<span style="color: rgb(114,90,69);margin-left: 10px;font-size: 14px;font-weight: bold">正在为
|
||||
<span v-for="o in tableData"> {{o.username}} </span>挑选礼物
|
||||
<span style="color: rgb(114, 90, 69); margin-left: 10px; font-size: 14px; font-weight: bold">
|
||||
正在为
|
||||
<span v-for="o in tableData">{{o.username}}</span>
|
||||
挑选礼物
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<van-grid :column-num="6" :border="false">
|
||||
<van-grid-item
|
||||
v-for="o in tableData"
|
||||
:key="o.userId" style="padding: 5px;">
|
||||
<div style="background-color: rgb(203,200,222);
|
||||
<van-grid-item v-for="o in tableData" :key="o.userId" style="padding: 5px">
|
||||
<div
|
||||
style="
|
||||
background-color: rgb(203, 200, 222);
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
background-size: 100% 100%;
|
||||
@@ -37,7 +38,8 @@ layout("/mobile/platform.html"){
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
">
|
||||
"
|
||||
>
|
||||
<span style="font-size: 20px">{{o.username.substr(0,1)}}</span>
|
||||
</div>
|
||||
<span style="font-size: 10px">{{o.username}}</span>
|
||||
@@ -49,11 +51,12 @@ layout("/mobile/platform.html"){
|
||||
<div><h3 style="margin-left: 10px">精选礼物</h3></div>
|
||||
<div>
|
||||
<van-grid :column-num="3" :border="false">
|
||||
<van-grid-item
|
||||
v-for="(o,index) in listGift"
|
||||
:key="o.id" style="padding: 5px;">
|
||||
<van-grid-item v-for="(o,index) in listGift" :key="o.id" style="padding: 5px">
|
||||
<div class="sub">
|
||||
<van-image :src="APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS+'?id=' + o.files[0].id" @click="sendGift(APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS+'?id=' + o.files[0].id,o.id)"></van-image>
|
||||
<van-image
|
||||
:src="APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS+'?id=' + o.files[0].id"
|
||||
@click="sendGift(APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS+'?id=' + o.files[0].id,o.id)"
|
||||
></van-image>
|
||||
</div>
|
||||
<span style="font-size: 10px">{{o.giftName}}</span>
|
||||
</van-grid-item>
|
||||
@@ -93,39 +96,38 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-dialog>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
new Vue({
|
||||
el:'#app',
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
greetingResult:localStorage.getItem("greetingResult"),
|
||||
greetingResult: localStorage.getItem("greetingResult")
|
||||
},
|
||||
tableData: [],
|
||||
listGift: [],
|
||||
show: false,
|
||||
images:'',
|
||||
images: "",
|
||||
form: {
|
||||
giftId:'',
|
||||
message:'',
|
||||
isSend:false,
|
||||
},
|
||||
giftId: "",
|
||||
message: "",
|
||||
isSend: false
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async loadList() {
|
||||
const res = await $.post('/mobile/birthday/greeting/loadList',this.pageForm)
|
||||
const res = await $.post("/mobile/birthday/greeting/loadList", this.pageForm)
|
||||
if (res.code === 0) {
|
||||
this.tableData = res.data
|
||||
}
|
||||
},
|
||||
async giftList() {
|
||||
const res = await $.get('/mobile/birthday/greeting/giftList')
|
||||
const res = await $.get("/mobile/birthday/greeting/giftList")
|
||||
if (res.code === 0) {
|
||||
res.data.forEach(v => {
|
||||
if(!(typeof v.files =='object')){
|
||||
res.data.forEach((v) => {
|
||||
if (!(typeof v.files == "object")) {
|
||||
v.files = JSON.parse(v.files)
|
||||
}
|
||||
})
|
||||
@@ -133,40 +135,43 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
sendGift(data, id) {
|
||||
this.show=true;
|
||||
this.images=data;
|
||||
this.form.giftId=id;
|
||||
this.form.greetingResult=this.pageForm.greetingResult;
|
||||
this.show = true
|
||||
this.images = data
|
||||
this.form.giftId = id
|
||||
this.form.greetingResult = this.pageForm.greetingResult
|
||||
},
|
||||
beforeClose : async function (action, done) { // 点击事件 - 备注按钮提示框
|
||||
if (action === 'confirm') { // 确认
|
||||
const res = await $.post('/mobile/birthday/greeting/sendBlessing', this.form)
|
||||
beforeClose: async function (action, done) {
|
||||
// 点击事件 - 备注按钮提示框
|
||||
if (action === "confirm") {
|
||||
// 确认
|
||||
const res = await $.post("/mobile/birthday/greeting/sendBlessing", this.form)
|
||||
if (res.code === 0) {
|
||||
done(); // 关闭提示框
|
||||
done() // 关闭提示框
|
||||
this.$toast.success("赠送成功")
|
||||
} else {
|
||||
done();
|
||||
done()
|
||||
this.$toast.fail("操作失败")
|
||||
}
|
||||
} else if (action === 'cancel') { // 取消
|
||||
this.show = false;
|
||||
this.images = '';
|
||||
this.form = {};
|
||||
done(); // 关闭提示框
|
||||
} else if (action === "cancel") {
|
||||
// 取消
|
||||
this.show = false
|
||||
this.images = ""
|
||||
this.form = {}
|
||||
done() // 关闭提示框
|
||||
}
|
||||
},
|
||||
send() {
|
||||
console.log(this.form.isSend)
|
||||
},
|
||||
showHk() {
|
||||
window.location.href='/mobile/birthday/greeting/hk'
|
||||
window.location.href = "/mobile/birthday/greeting/hk"
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.loadList();
|
||||
this.giftList();
|
||||
this.loadList()
|
||||
this.giftList()
|
||||
}
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
|
||||
@@ -5,13 +5,7 @@ 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">
|
||||
@@ -20,11 +14,7 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
|
||||
<div style="margin: 60px auto">
|
||||
<van-list
|
||||
v-model="mLoading"
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
<van-list v-model="mLoading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="onLoad">
|
||||
<div v-for="o in tableData" class="list-card" @click="openView(o)">
|
||||
<van-cell-group inset>
|
||||
<van-cell title="主题" :border="false">{{o.hdname}}</van-cell>
|
||||
@@ -35,12 +25,7 @@ layout("/mobile/platform.html"){
|
||||
</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>
|
||||
|
||||
<div>
|
||||
@@ -49,20 +34,19 @@ layout("/mobile/platform.html"){
|
||||
<van-tabbar-item icon="manager-o" replace url="/mobile/cahd/list">我的亲子作品</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
tarBarActive: 0,
|
||||
yearOption: [],
|
||||
pageForm: {
|
||||
year: '',
|
||||
hdtype: 2,
|
||||
year: "",
|
||||
hdtype: 2
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -74,7 +58,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async onLoad() {
|
||||
this.mLoading = true
|
||||
$.post('/mobile/cahd/apply/pageData', this.pageForm).then(res => {
|
||||
$.post("/mobile/cahd/apply/pageData", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -89,25 +73,24 @@ layout("/mobile/platform.html"){
|
||||
openView(o) {
|
||||
const { hdid, hdjssj, hdkssj } = o
|
||||
if (moment().format("YYYY-MM-DD HH:mm:ss") < hdkssj) {
|
||||
vant.Toast('报名暂未开始!')
|
||||
vant.Toast("报名暂未开始!")
|
||||
return
|
||||
} else if (moment().format("YYYY-MM-DD HH:mm:ss") > hdjssj) {
|
||||
vant.Toast('报名已结束!')
|
||||
vant.Toast("报名已结束!")
|
||||
return
|
||||
}
|
||||
window.location.href = '/childrenActivities?client=mobile&id=' + hdid
|
||||
window.location.href = "/childrenActivities?client=mobile&id=" + hdid
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
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)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -13,7 +13,7 @@ layout("/mobile/platform.html"){
|
||||
<div id="app" v-cloak>
|
||||
<m-page-loading v-if="mLoading"></m-page-loading>
|
||||
|
||||
<van-nav-bar title="作品列表" left-arrow placeholder fixed @click-left="location.href='/mobile/index'"></van-nav-bar>
|
||||
<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">
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<link rel="stylesheet" href="${base!}/assets/platform/plugins/video/css/video-js.min.css">
|
||||
<link rel="stylesheet" href="${base!}/assets/platform/plugins/video/css/video-js.min.css" />
|
||||
<script src="${base!}/assets/platform/plugins/video/js/video.min.js"></script>
|
||||
<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>
|
||||
|
||||
<mobile-cahd-info ref="minfo"></mobile-cahd-info>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
components: {
|
||||
'mobile-cahd-info': httpVueLoader('/components/mobile/cahd/info.vue?v=' + new Date().getTime()),
|
||||
"mobile-cahd-info": httpVueLoader("/components/mobile/cahd/info.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {},
|
||||
async created() {
|
||||
@@ -31,7 +31,6 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -3,7 +3,6 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.container .van-button {
|
||||
position: relative;
|
||||
display: block;
|
||||
@@ -30,44 +29,38 @@ layout("/mobile/platform.html"){
|
||||
height: calc(100vh - 46px);
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
</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 class="container">
|
||||
<van-button @click="showCard('jdh')" style="margin-bottom: 40px;">教代会代表证</van-button>
|
||||
<van-button @click="showCard('jdh')" style="margin-bottom: 40px">教代会代表证</van-button>
|
||||
<van-button @click="showCard('gdh')">工代会代表证</van-button>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
|
||||
}
|
||||
return {}
|
||||
},
|
||||
methods: {
|
||||
async showCard(type) {
|
||||
//先查看当前登录用户是不是代表
|
||||
const resp = await $.post('/platform/card/isDb', {type: type})
|
||||
const resp = await $.post("/platform/card/isDb", { type: type })
|
||||
if (resp.code !== 0) {
|
||||
vant.Dialog.alert({
|
||||
title: '温馨提示',
|
||||
message: resp.msg,
|
||||
title: "温馨提示",
|
||||
message: resp.msg
|
||||
})
|
||||
return
|
||||
}
|
||||
//获取代表证
|
||||
vant.ImagePreview(['/platform/card/showCard?type=' + type])
|
||||
},
|
||||
},
|
||||
created() {
|
||||
|
||||
vant.ImagePreview(["/platform/card/showCard?type=" + type])
|
||||
}
|
||||
},
|
||||
created() {}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
|
||||
@@ -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,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()}")
|
||||
@@ -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,29 +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>
|
||||
|
||||
<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"
|
||||
<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"
|
||||
<van-field
|
||||
v-model="formData.opinion"
|
||||
left-icon="chat-o"
|
||||
rows="1"
|
||||
required
|
||||
@@ -45,71 +42,61 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
|
||||
<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")
|
||||
@@ -117,16 +104,14 @@ layout("/mobile/platform.html"){
|
||||
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,7 +3,7 @@ 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>
|
||||
|
||||
@@ -3,7 +3,7 @@ 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>
|
||||
|
||||
@@ -44,15 +44,12 @@ layout("/mobile/platform.html"){
|
||||
|
||||
.avatar .van-image__img {
|
||||
border-radius: 10px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.list-card {
|
||||
margin: 10px 10px;
|
||||
}
|
||||
|
||||
|
||||
.list-card .van-cell {
|
||||
border-radius: 10px;
|
||||
padding: 18px 16px;
|
||||
@@ -61,20 +58,11 @@ layout("/mobile/platform.html"){
|
||||
.van-cell-group {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
|
||||
</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()"
|
||||
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 style="margin: 20px auto 0 auto">
|
||||
<van-list :finished="finished" :finished-text="isNullTypeCodeData.length>0?'没有更多了':''">
|
||||
@@ -91,17 +79,12 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<div class="right-content">
|
||||
<div class="r-title">{{o.contributionName}}</div>
|
||||
<div class="van-ellipsis r-content">
|
||||
{{removeHTMLTag(o.contributionIntroduce)}}
|
||||
</div>
|
||||
<div class="van-ellipsis r-content">{{removeHTMLTag(o.contributionIntroduce)}}</div>
|
||||
<div>
|
||||
<van-row type="flex" justify="space-between"
|
||||
style="white-space: nowrap">
|
||||
<van-row type="flex" justify="space-between" style="white-space: nowrap">
|
||||
<van-col span="12">
|
||||
已筹:
|
||||
<sapn style="color: red">
|
||||
{{o.totalMoney?o.totalMoney:0}}
|
||||
</sapn>
|
||||
<sapn style="color: red">{{o.totalMoney?o.totalMoney:0}}</sapn>
|
||||
元
|
||||
</van-col>
|
||||
<van-col span="12" class="text-right">
|
||||
@@ -111,10 +94,8 @@ layout("/mobile/platform.html"){
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
</div>
|
||||
@@ -131,12 +112,11 @@ layout("/mobile/platform.html"){
|
||||
></van-image>
|
||||
</div>
|
||||
<div class="right-content">
|
||||
<div class="r-title">{{o.typeName}}
|
||||
<div class="r-title">
|
||||
{{o.typeName}}
|
||||
<van-tag type="danger" round>专题</van-tag>
|
||||
</div>
|
||||
<div class="van-ellipsis r-content">
|
||||
{{removeHTMLTag(o.contributionTypeIntroduce)}}
|
||||
</div>
|
||||
<div class="van-ellipsis r-content">{{removeHTMLTag(o.contributionTypeIntroduce)}}</div>
|
||||
<div>
|
||||
<van-row type="flex" justify="space-between">
|
||||
<van-col span="24">
|
||||
@@ -146,25 +126,25 @@ layout("/mobile/platform.html"){
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</van-list>
|
||||
</div>
|
||||
|
||||
<van-empty v-if="mLoading==false&&isNullTypeCodeData.length==0&&contributionTypeData.length==0"
|
||||
class="custom-image" image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
<van-empty
|
||||
v-if="mLoading==false&&isNullTypeCodeData.length==0&&contributionTypeData.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 {
|
||||
@@ -175,30 +155,29 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
methods: {
|
||||
openContribution(data) {
|
||||
const time = moment().format('YYYY-MM-DD HH:mm:ss')
|
||||
const time = moment().format("YYYY-MM-DD HH:mm:ss")
|
||||
if (!data.sonNum) {
|
||||
if (time < data.contributionStartTime) {
|
||||
this.$toast(data.contributionStartTime + '开始捐款');
|
||||
return;
|
||||
this.$toast(data.contributionStartTime + "开始捐款")
|
||||
return
|
||||
}
|
||||
if (time > data.contributionEndTime) {
|
||||
this.$toast('捐款在' + data.contributionEndTime + '结束');
|
||||
return;
|
||||
this.$toast("捐款在" + data.contributionEndTime + "结束")
|
||||
return
|
||||
}
|
||||
}
|
||||
if (data.contributionTypeCode == null && data.sonNum == 0) {
|
||||
window.location.href = '/mobile/contribution/view/contributionView?id=' + data.id
|
||||
window.location.href = "/mobile/contribution/view/contributionView?id=" + data.id
|
||||
} else if (data.sonNum > 0 && data.typeCode) {
|
||||
window.location.href = '/mobile/contribution/son/sonList?typeCode=' + data.typeCode
|
||||
window.location.href = "/mobile/contribution/son/sonList?typeCode=" + data.typeCode
|
||||
} else {
|
||||
this.$toast('暂无项目');
|
||||
this.$toast("暂无项目")
|
||||
return
|
||||
}
|
||||
|
||||
},
|
||||
async isNullTypeCodePageData() {
|
||||
const { data } = await $.post("/mobile/contribution/isNullTypeCodePageData")
|
||||
data.forEach(v => {
|
||||
data.forEach((v) => {
|
||||
v.sonNum = 0
|
||||
v.contributionFiles = JSON.parse(v.contributionFiles)
|
||||
})
|
||||
@@ -207,7 +186,7 @@ layout("/mobile/platform.html"){
|
||||
async pageData() {
|
||||
await this.isNullTypeCodePageData()
|
||||
const { data } = await $.get("/mobile/contribution/getContributionTypeData")
|
||||
data.forEach(v => {
|
||||
data.forEach((v) => {
|
||||
v.contributionTypeCode = v.typeCode
|
||||
v.contributionTypeFiles = JSON.parse(v.contributionTypeFiles)
|
||||
})
|
||||
@@ -221,7 +200,6 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -19,7 +19,6 @@ layout("/mobile/platform.html"){
|
||||
.typeName {
|
||||
margin-left: 10px;
|
||||
height: 70px;
|
||||
|
||||
}
|
||||
|
||||
.typeName .typeNameLabel {
|
||||
@@ -39,29 +38,16 @@ layout("/mobile/platform.html"){
|
||||
margin-bottom: 50px;
|
||||
padding-bottom: 10px;
|
||||
height: calc(100% - 250px);
|
||||
background-color: #ffffff
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
</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()"
|
||||
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>
|
||||
<div style="background-color:#ffffff;">
|
||||
<van-image
|
||||
class="backdrop"
|
||||
fit="cover"
|
||||
:src=" FILE_DOMAIN + '/fileStreamPreview?id=' + viewData.contributionFiles[0].id"
|
||||
></van-image>
|
||||
<div style="background-color: #ffffff">
|
||||
<van-image class="backdrop" fit="cover" :src=" FILE_DOMAIN + '/fileStreamPreview?id=' + viewData.contributionFiles[0].id"></van-image>
|
||||
<div class="typeName">
|
||||
<div class="typeNameLabel">{{viewData.contributionName}}</div>
|
||||
<van-row>
|
||||
@@ -77,29 +63,22 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="con-introduce">
|
||||
<van-cell-group style=" border-top-left-radius: 30px; border-top-right-radius: 30px;">
|
||||
<van-cell style=" border-top-left-radius: 30px; border-top-right-radius: 30px;">
|
||||
<van-cell-group style="border-top-left-radius: 30px; border-top-right-radius: 30px">
|
||||
<van-cell style="border-top-left-radius: 30px; border-top-right-radius: 30px">
|
||||
<template #title>
|
||||
<span class="custom-title">项目介绍</span>
|
||||
<span v-if="viewData.contributionMode==='sdc'" style="color: red">(捐款方式为水滴筹将直接跳转放到相应页面)</span>
|
||||
</template>
|
||||
</van-cell>
|
||||
|
||||
</van-cell-group>
|
||||
<div v-html="viewData.contributionIntroduce"
|
||||
style="margin: 15px;white-space: pre-wrap;word-break: break-word;"></div>
|
||||
|
||||
|
||||
<div v-html="viewData.contributionIntroduce" style="margin: 15px; white-space: pre-wrap; word-break: break-word"></div>
|
||||
</div>
|
||||
<div style="position: fixed; width: 100%; bottom: 0px; height: 60px">
|
||||
<van-button type="info" class="bth" block round @click="doContribution"
|
||||
v-if="viewData.isContributionEnable" :color="themeColor">我要捐款
|
||||
</van-button>
|
||||
<van-button type="info" class="bth" block round
|
||||
v-if="!viewData.isContributionEnable">暂未开放
|
||||
<van-button type="info" class="bth" block round @click="doContribution" v-if="viewData.isContributionEnable" :color="themeColor">
|
||||
我要捐款
|
||||
</van-button>
|
||||
<van-button type="info" class="bth" block round v-if="!viewData.isContributionEnable">暂未开放</van-button>
|
||||
</div>
|
||||
<!-- <van-row>
|
||||
<van-col span="24">
|
||||
@@ -110,10 +89,9 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -122,10 +100,10 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
methods: {
|
||||
doContribution() {
|
||||
if (this.viewData.contributionMode === 'sdc') {
|
||||
if (this.viewData.contributionMode === "sdc") {
|
||||
window.location.href = this.viewData.contributionUrl
|
||||
} else {
|
||||
window.location.href = '/mobile/contribution/doContribution?id=' + this.viewData.id
|
||||
window.location.href = "/mobile/contribution/doContribution?id=" + this.viewData.id
|
||||
}
|
||||
},
|
||||
async getContributionById(id) {
|
||||
@@ -141,7 +119,6 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -28,63 +28,47 @@ layout("/mobile/platform.html"){
|
||||
margin: 10px 10px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
</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()"
|
||||
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>
|
||||
|
||||
<van-form @submit="onSubmit">
|
||||
|
||||
<van-cell-group>
|
||||
<van-row type="flex" gutter="20">
|
||||
<van-col span="8" v-for="key in moneyData" @click="dateClick(key)"
|
||||
style="text-align: center;border-radius: 20px;">
|
||||
<van-col span="8" v-for="key in moneyData" @click="dateClick(key)" style="text-align: center; border-radius: 20px">
|
||||
<van-tag :plain="activeDate!=key" size="large" type="primary">
|
||||
<div style="position: absolute; left: 0; right: 0">{{key}}</div>
|
||||
</van-tag>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<div class="van-hairline--top">
|
||||
<van-field v-model="formData.money" label="捐赠金额" type="number" input-align="right"
|
||||
placeholder="请输入捐赠金额" @input="moneyInput">
|
||||
<template #button>
|
||||
元
|
||||
</template>
|
||||
<van-field
|
||||
v-model="formData.money"
|
||||
label="捐赠金额"
|
||||
type="number"
|
||||
input-align="right"
|
||||
placeholder="请输入捐赠金额"
|
||||
@input="moneyInput"
|
||||
>
|
||||
<template #button>元</template>
|
||||
</van-field>
|
||||
</div>
|
||||
|
||||
</van-cell-group>
|
||||
<van-cell-group>
|
||||
<van-field v-model="formData.username" label="真实姓名:" input-align="right" readonly>
|
||||
</van-field>
|
||||
<van-field v-model="formData.loginname" label="真实工号:" input-align="right" readonly>
|
||||
</van-field>
|
||||
<van-field v-model="formData.mobile" label="联系电话:" input-align="right"
|
||||
placeholder="请输入手机号或电话号">
|
||||
</van-field>
|
||||
|
||||
<van-field v-model="formData.username" label="真实姓名:" input-align="right" readonly></van-field>
|
||||
<van-field v-model="formData.loginname" label="真实工号:" input-align="right" readonly></van-field>
|
||||
<van-field v-model="formData.mobile" label="联系电话:" input-align="right" placeholder="请输入手机号或电话号"></van-field>
|
||||
</van-cell-group>
|
||||
<van-radio-group v-model="formData.payMode">
|
||||
<van-cell-group>
|
||||
<van-cell title="微信支付" clickable @click="formData.payMode = 'WeChat'"
|
||||
icon="/assets/mobile/svg/wx.png">
|
||||
<van-cell title="微信支付" clickable @click="formData.payMode = 'WeChat'" icon="/assets/mobile/svg/wx.png">
|
||||
<template #right-icon>
|
||||
<van-radio name="WeChat"></van-radio>
|
||||
</template>
|
||||
</van-cell>
|
||||
<van-cell title="支付宝支付" clickable @click="formData.payMode = 'Alipay'"
|
||||
icon="/assets/mobile/svg/zfb.png">
|
||||
<van-cell title="支付宝支付" clickable @click="formData.payMode = 'Alipay'" icon="/assets/mobile/svg/zfb.png">
|
||||
<template #right-icon>
|
||||
<van-radio name="Alipay"></van-radio>
|
||||
</template>
|
||||
@@ -93,8 +77,7 @@ layout("/mobile/platform.html"){
|
||||
</van-radio-group>
|
||||
|
||||
<van-cell-group>
|
||||
<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>
|
||||
@@ -104,29 +87,23 @@ layout("/mobile/platform.html"){
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
<div class="bth">
|
||||
<van-row style="display: flex;padding-left: 15px;" type="flex" justify="space-between">
|
||||
<van-col span="16" style="align-self:center;">合计:
|
||||
<van-row style="display: flex; padding-left: 15px" type="flex" justify="space-between">
|
||||
<van-col span="16" style="align-self: center">
|
||||
合计:
|
||||
<sapn style="color: red">{{formData.money?formData.money:0}}</sapn>
|
||||
元
|
||||
</van-col>
|
||||
<van-col span="8" style="align-self:center;padding-right: 20px;">
|
||||
<van-button plain type="info" style="float: right;border-radius: 15px;"
|
||||
:color="themeColor">确认捐款
|
||||
</van-button>
|
||||
<van-col span="8" style="align-self: center; padding-right: 20px">
|
||||
<van-button plain type="info" style="float: right; border-radius: 15px" :color="themeColor">确认捐款</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
|
||||
</van-form>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -137,7 +114,7 @@ layout("/mobile/platform.html"){
|
||||
7000: 7000,
|
||||
1952: 1952,
|
||||
1975: 1975,
|
||||
1987: 1987,
|
||||
1987: 1987
|
||||
},
|
||||
formData: {}
|
||||
}
|
||||
@@ -146,39 +123,35 @@ layout("/mobile/platform.html"){
|
||||
dateClick(key) {
|
||||
this.activeDate = key
|
||||
this.formData.money = key
|
||||
|
||||
},
|
||||
moneyInput(val) {
|
||||
this.$set(this.formData, "money", val)
|
||||
},
|
||||
async onSubmit() {
|
||||
if (!this.formData.money) {
|
||||
this.$toast.fail('捐赠金额不能为空');
|
||||
this.$toast.fail("捐赠金额不能为空")
|
||||
return
|
||||
}
|
||||
if (!this.formData.contributionFiles) {
|
||||
this.$toast.fail('捐赠凭证不能为空');
|
||||
this.$toast.fail("捐赠凭证不能为空")
|
||||
return
|
||||
}
|
||||
const confirm = await vant.Dialog.confirm({
|
||||
title: '请确认',
|
||||
message: '确认要为' + this.formData.contributionName + '捐款吗?',
|
||||
title: "请确认",
|
||||
message: "确认要为" + this.formData.contributionName + "捐款吗?"
|
||||
})
|
||||
if (confirm === "confirm") {
|
||||
const data = await $.post("/mobile/contribution/doContributionApply", { contributionApply: JSON.stringify(this.formData) })
|
||||
if (data.code === 0) {
|
||||
vant.Dialog.alert({
|
||||
title: '提示',
|
||||
message: '捐赠成功,已收到您为“' + this.formData.contributionName + '”捐赠的善款',
|
||||
confirmButtonColor: '#1867b0'
|
||||
title: "提示",
|
||||
message: "捐赠成功,已收到您为“" + this.formData.contributionName + "”捐赠的善款",
|
||||
confirmButtonColor: "#1867b0"
|
||||
}).then(() => {
|
||||
window.history.back()
|
||||
});
|
||||
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
async init(id) {
|
||||
const { data } = await $.post("/mobile/contribution/getContributionById", { id: id })
|
||||
@@ -189,20 +162,17 @@ layout("/mobile/platform.html"){
|
||||
mobile: "${@shiro.getPrincipalProperty('mobile')}",
|
||||
payMode: "WeChat",
|
||||
money: null,
|
||||
contributionName: data.contributionName,
|
||||
contributionName: data.contributionName
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
const id = this.GetQueryString("id")
|
||||
this.init(id)
|
||||
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -51,7 +51,6 @@ layout("/mobile/platform.html"){
|
||||
.typeName {
|
||||
margin-left: 10px;
|
||||
height: 70px;
|
||||
|
||||
}
|
||||
|
||||
.typeName .typeNameLabel {
|
||||
@@ -67,10 +66,8 @@ layout("/mobile/platform.html"){
|
||||
|
||||
.avatar .van-image__img {
|
||||
border-radius: 10px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.list-card .van-cell {
|
||||
border-radius: 10px;
|
||||
padding: 18px 16px;
|
||||
@@ -84,30 +81,16 @@ 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()"
|
||||
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 style=" background-color:#ffffff;">
|
||||
<van-image
|
||||
class="backdrop"
|
||||
fit="cover"
|
||||
|
||||
:src=" FILE_DOMAIN + '/fileStreamPreview?id=' + typeData.contributionTypeFiles[0].id"
|
||||
></van-image>
|
||||
<div style="background-color: #ffffff">
|
||||
<van-image class="backdrop" fit="cover" :src=" FILE_DOMAIN + '/fileStreamPreview?id=' + typeData.contributionTypeFiles[0].id"></van-image>
|
||||
<div class="typeName">
|
||||
<div class="typeNameLabel">{{typeData.typeName}}
|
||||
<div class="typeNameLabel">
|
||||
{{typeData.typeName}}
|
||||
<van-tag type="danger" round>专题</van-tag>
|
||||
</div>
|
||||
<div class="van-multi-ellipsis--l2 typeNameContent">
|
||||
{{removeHTMLTag(typeData.contributionTypeIntroduce)}}
|
||||
</div>
|
||||
|
||||
<div class="van-multi-ellipsis--l2 typeNameContent">{{removeHTMLTag(typeData.contributionTypeIntroduce)}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -117,7 +100,6 @@ layout("/mobile/platform.html"){
|
||||
<van-cell-group inset>
|
||||
<van-cell :border="false">
|
||||
<div class="list-item">
|
||||
|
||||
<div class="left-img">
|
||||
<van-image
|
||||
class="avatar"
|
||||
@@ -127,17 +109,12 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<div class="right-content">
|
||||
<div class="r-title">{{o.contributionName}}</div>
|
||||
<div class="van-ellipsis r-content">
|
||||
{{removeHTMLTag(o.contributionIntroduce)}}
|
||||
</div>
|
||||
<div class="van-ellipsis r-content">{{removeHTMLTag(o.contributionIntroduce)}}</div>
|
||||
<div>
|
||||
<van-row type="flex" justify="space-between"
|
||||
style="white-space: nowrap">
|
||||
<van-row type="flex" justify="space-between" style="white-space: nowrap">
|
||||
<van-col span="12">
|
||||
已筹:
|
||||
<sapn style="color: red">
|
||||
{{o.totalMoney?o.totalMoney:0}}
|
||||
</sapn>
|
||||
<sapn style="color: red">{{o.totalMoney?o.totalMoney:0}}</sapn>
|
||||
元
|
||||
</van-col>
|
||||
<van-col span="12" class="text-right">
|
||||
@@ -147,46 +124,43 @@ layout("/mobile/platform.html"){
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</van-list>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
sonData: [],
|
||||
typeData: {},
|
||||
typeData: {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openContribution(data) {
|
||||
const time = moment().format('YYYY-MM-DD HH:mm:ss')
|
||||
const time = moment().format("YYYY-MM-DD HH:mm:ss")
|
||||
if (!data.sonNum) {
|
||||
if (time < data.contributionStartTime) {
|
||||
this.$toast(data.contributionStartTime + '开始捐款');
|
||||
return;
|
||||
this.$toast(data.contributionStartTime + "开始捐款")
|
||||
return
|
||||
}
|
||||
if (time > data.contributionEndTime) {
|
||||
this.$toast('捐款在' + data.contributionEndTime + '结束');
|
||||
return;
|
||||
this.$toast("捐款在" + data.contributionEndTime + "结束")
|
||||
return
|
||||
}
|
||||
}
|
||||
window.location.href = '/mobile/contribution/view/contributionView?id=' + data.id
|
||||
window.location.href = "/mobile/contribution/view/contributionView?id=" + data.id
|
||||
},
|
||||
async pageData(typeCode) {
|
||||
const { data } = await $.get("/mobile/contribution/son/pageData", { typeCode: typeCode })
|
||||
data.forEach(v => {
|
||||
data.forEach((v) => {
|
||||
v.contributionFiles = JSON.parse(v.contributionFiles)
|
||||
})
|
||||
this.sonData = data
|
||||
@@ -204,7 +178,6 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</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,12 +22,12 @@ 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
|
||||
|
||||
@@ -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()}")
|
||||
@@ -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-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,7 +3,7 @@ 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>
|
||||
|
||||
@@ -46,16 +46,15 @@ layout("/mobile/platform.html"){
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
.van-image__error, .van-image__loading {
|
||||
.van-image__error,
|
||||
.van-image__loading {
|
||||
height: 200px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
</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>
|
||||
|
||||
<van-sticky>
|
||||
@@ -68,41 +67,45 @@ layout("/mobile/platform.html"){
|
||||
</van-sticky>
|
||||
|
||||
<div style="margin-bottom: 20px">
|
||||
<van-list :finished="finished" :finished-text="tableData.length>0?'没有更多了':''"
|
||||
<van-list
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
v-if="tableData && tableData.length>0"
|
||||
v-model="loading"
|
||||
@load="pageData">
|
||||
@load="pageData"
|
||||
>
|
||||
<div v-for="o in tableData" class="van-doc-card">
|
||||
<div @click="welfareClick(o)">
|
||||
<div>
|
||||
<van-image :src="FILE_DOMAIN + '/fileStreamPreview?id=' + o.cover.id"
|
||||
<van-image
|
||||
:src="FILE_DOMAIN + '/fileStreamPreview?id=' + o.cover.id"
|
||||
style="display: contents"
|
||||
v-if="o.cover && o.cover.filepath"></van-image>
|
||||
<van-image src=""
|
||||
style="display: contents"
|
||||
v-else></van-image>
|
||||
v-if="o.cover && o.cover.filepath"
|
||||
></van-image>
|
||||
<van-image src="" style="display: contents" v-else></van-image>
|
||||
</div>
|
||||
<div>
|
||||
<div class="van-ellipsis"
|
||||
style="margin-top: 6px; font-size: 15px;font-weight: bold;flex: 1">
|
||||
{{o.activityName}}
|
||||
</div>
|
||||
<div class="van-ellipsis" style="margin-top: 6px; font-size: 15px; font-weight: bold; flex: 1">{{o.activityName}}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="train-title"><span
|
||||
style="color: grey">年  度:</span>{{o.year}}
|
||||
<div class="train-title">
|
||||
<span style="color: grey">年  度:</span>
|
||||
{{o.year}}
|
||||
</div>
|
||||
<div class="train-title"><span style="color: grey">活动对象:</span>{{o.activityGroupName}}
|
||||
<div class="train-title">
|
||||
<span style="color: grey">活动对象:</span>
|
||||
{{o.activityGroupName}}
|
||||
</div>
|
||||
<van-divider></van-divider>
|
||||
</div>
|
||||
<div class="train-title"><span style="color: grey">报名时间:</span>
|
||||
{{moment(o.activitySignUpStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' +
|
||||
moment(o.activitySignUpEndTime).format('YYYY-MM-DD HH:mm')}}
|
||||
<div class="train-title">
|
||||
<span style="color: grey">报名时间:</span>
|
||||
{{moment(o.activitySignUpStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' + moment(o.activitySignUpEndTime).format('YYYY-MM-DD
|
||||
HH:mm')}}
|
||||
</div>
|
||||
<div style="margin-top: 6px"><span style="color: grey">活动时间:</span>
|
||||
{{moment(o.activityStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' +
|
||||
moment(o.activityEndTime).format('YYYY-MM-DD HH:mm')}}
|
||||
<div style="margin-top: 6px">
|
||||
<span style="color: grey">活动时间:</span>
|
||||
{{moment(o.activityStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' + moment(o.activityEndTime).format('YYYY-MM-DD HH:mm')}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -116,32 +119,38 @@ layout("/mobile/platform.html"){
|
||||
<van-tabbar-item icon="manager-o" replace url="/platform/mobile/fellowshipActivity/fellowshipList?type=my">我的联谊</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
tarBarActive: 0,
|
||||
type: '',
|
||||
type: ""
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async welfareClick(o) {
|
||||
if (this.type === 'my') {
|
||||
window.location.href = '/platform/mobile/fellowshipActivity/fellowshipInfo' +
|
||||
'?activityId=' + o.id + '&endTime=' + o.activitySignUpEndTime + '&type=my' + '&startTime=' + o.activitySignUpStartTime
|
||||
if (this.type === "my") {
|
||||
window.location.href =
|
||||
"/platform/mobile/fellowshipActivity/fellowshipInfo" +
|
||||
"?activityId=" +
|
||||
o.id +
|
||||
"&endTime=" +
|
||||
o.activitySignUpEndTime +
|
||||
"&type=my" +
|
||||
"&startTime=" +
|
||||
o.activitySignUpStartTime
|
||||
} else {
|
||||
window.location.href = '/platform/mobile/fellowshipActivity/activityInfo?activityId=' + o.id + '&endTime=' + o.activitySignUpEndTime
|
||||
window.location.href =
|
||||
"/platform/mobile/fellowshipActivity/activityInfo?activityId=" + o.id + "&endTime=" + o.activitySignUpEndTime
|
||||
}
|
||||
},
|
||||
async pageData() {
|
||||
this.mLoading = true
|
||||
const resp = await $.post('/platform/mobile/fellowshipActivity/pageData', this.pageForm)
|
||||
const resp = await $.post("/platform/mobile/fellowshipActivity/pageData", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
if (resp.data.list.length === 0) {
|
||||
this.tableData = []
|
||||
@@ -156,7 +165,7 @@ layout("/mobile/platform.html"){
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
}
|
||||
this.loading = false;
|
||||
this.loading = false
|
||||
this.mLoading = false
|
||||
},
|
||||
tabChange(val) {
|
||||
@@ -169,23 +178,23 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
created() {
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
const param = urlParams.get('type');
|
||||
this.tarBarActive = param === 'my' ? 1 : 0;
|
||||
this.type = GetQueryString('type')
|
||||
const urlParams = new URLSearchParams(window.location.search)
|
||||
const param = urlParams.get("type")
|
||||
this.tarBarActive = param === "my" ? 1 : 0
|
||||
this.type = GetQueryString("type")
|
||||
this.pageForm.type = this.type
|
||||
this.startLoading()
|
||||
this.pageForm.activityStatus = this.type === 'my' ? '3' : '1'
|
||||
this.pageForm.activityStatus = this.type === "my" ? "3" : "1"
|
||||
this.pageData()
|
||||
this.closeLoading()
|
||||
}
|
||||
})
|
||||
window.addEventListener('pageshow', e => {
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
if (e.persisted || (window.performance && window.performance.navigation.type === 2)) {
|
||||
vue.type = GetQueryString('type')
|
||||
vue.type = GetQueryString("type")
|
||||
vue.pageForm.type = this.type
|
||||
vue.startLoading()
|
||||
vue.pageForm.activityStatus = this.type === 'my' ? '3' : '1'
|
||||
vue.pageForm.activityStatus = this.type === "my" ? "3" : "1"
|
||||
vue.pageData()
|
||||
vue.closeLoading()
|
||||
}
|
||||
|
||||
@@ -25,13 +25,7 @@ layout("/mobile/platform.html"){
|
||||
<div id="app" v-cloak>
|
||||
<m-page-loading v-if="mLoading"></m-page-loading>
|
||||
|
||||
<van-nav-bar
|
||||
title="活动列表"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="location.href='/mobile/index'"
|
||||
></van-nav-bar>
|
||||
<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">
|
||||
@@ -40,11 +34,7 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
|
||||
<div style="margin: 60px auto 0 auto">
|
||||
<van-list
|
||||
v-model="mLoading"
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
<van-list v-model="mLoading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="onLoad">
|
||||
<div v-for="o in tableData" class="list-card" @click="openView(o)">
|
||||
<van-cell-group inset>
|
||||
<van-cell title="主  题" :border="false">{{o.hdname}}</van-cell>
|
||||
@@ -56,26 +46,20 @@ layout("/mobile/platform.html"){
|
||||
</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>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
yearOption: [],
|
||||
pageForm: {
|
||||
year: '',
|
||||
hdtype: 1,
|
||||
year: "",
|
||||
hdtype: 1
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -87,7 +71,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async onLoad() {
|
||||
this.mLoading = true
|
||||
$.post('/platform/hd/checkinManage/data', this.pageForm).then(res => {
|
||||
$.post("/platform/hd/checkinManage/data", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -102,25 +86,24 @@ layout("/mobile/platform.html"){
|
||||
openView(o) {
|
||||
const { hdid, hdjssj, hdkssj } = o
|
||||
if (moment().format("YYYY-MM-DD HH:mm:ss") < hdkssj) {
|
||||
vant.Toast('活动暂未开始!')
|
||||
vant.Toast("活动暂未开始!")
|
||||
return
|
||||
} else if (moment().format("YYYY-MM-DD HH:mm:ss") > hdjssj) {
|
||||
vant.Toast('活动已结束!')
|
||||
vant.Toast("活动已结束!")
|
||||
return
|
||||
}
|
||||
window.location.href = '/mobile/checkin/info?client=mobile&id=' + hdid
|
||||
window.location.href = "/mobile/checkin/info?client=mobile&id=" + hdid
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
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)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -77,12 +77,10 @@ layout("/mobile/platform.html"){
|
||||
padding-left: 7px;
|
||||
/*margin-top: 30px;*/
|
||||
}
|
||||
|
||||
</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>
|
||||
|
||||
<van-sticky>
|
||||
@@ -94,46 +92,67 @@ layout("/mobile/platform.html"){
|
||||
</van-sticky>
|
||||
|
||||
<div>
|
||||
<van-list :finished="finished" :finished-text="tableData.length>0?'没有更多了':''"
|
||||
<van-list
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
v-if="tableData && tableData.length>0"
|
||||
v-model="loading"
|
||||
@load="pageData">
|
||||
@load="pageData"
|
||||
>
|
||||
<div v-for="o in tableData" class="van-doc-card">
|
||||
<div>
|
||||
<div>
|
||||
<div class="van-ellipsis"
|
||||
style="margin-top: 6px; font-size: 15px;font-weight: bold;flex: 1">
|
||||
{{o.name}}
|
||||
</div>
|
||||
<div class="van-ellipsis" style="margin-top: 6px; font-size: 15px; font-weight: bold; flex: 1">{{o.name}}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="train-title"><span
|
||||
style="color: grey">年  度:</span>{{moment(o.startTime).format('YYYY')}}
|
||||
<div class="train-title">
|
||||
<span style="color: grey">年  度:</span>
|
||||
{{moment(o.startTime).format('YYYY')}}
|
||||
</div>
|
||||
<div class="train-title"><span style="color: grey">登记范围:</span>{{o.activityGroupName}}
|
||||
<div class="train-title">
|
||||
<span style="color: grey">登记范围:</span>
|
||||
{{o.activityGroupName}}
|
||||
</div>
|
||||
<van-divider></van-divider>
|
||||
</div>
|
||||
<div class="train-title"><span style="color: grey">登记时间:</span>
|
||||
{{moment(o.stratTime).format('YYYY-MM-DD HH:mm') + ' ~ ' +
|
||||
moment(o.endTime).format('YYYY-MM-DD HH:mm')}}
|
||||
<div class="train-title">
|
||||
<span style="color: grey">登记时间:</span>
|
||||
{{moment(o.stratTime).format('YYYY-MM-DD HH:mm') + ' ~ ' + moment(o.endTime).format('YYYY-MM-DD HH:mm')}}
|
||||
</div>
|
||||
|
||||
<div style="display: flex; justify-content: flex-end; margin-top: 4px">
|
||||
<div>
|
||||
<van-button @click.stop="openView(o)" class="cus_button"
|
||||
type="primary" size="small" color="#1867b0"
|
||||
style="margin-right: 8px; width: auto;">详细信息
|
||||
</van-button>
|
||||
<van-button v-if="o.count === 0" @click.stop="needChoose(o)"
|
||||
<van-button
|
||||
@click.stop="openView(o)"
|
||||
class="cus_button"
|
||||
type="primary" size="small" color="#1867b0"
|
||||
style="margin-right: 8px; width: auto;">我要选择
|
||||
type="primary"
|
||||
size="small"
|
||||
color="#1867b0"
|
||||
style="margin-right: 8px; width: auto"
|
||||
>
|
||||
详细信息
|
||||
</van-button>
|
||||
<van-button v-if="o.count > 0" @click.stop="cancelChoose(o)"
|
||||
<van-button
|
||||
v-if="o.count === 0"
|
||||
@click.stop="needChoose(o)"
|
||||
class="cus_button"
|
||||
type="primary" size="small" color="#1867b0"
|
||||
style="margin-right: 8px; width: auto;">取消选择
|
||||
type="primary"
|
||||
size="small"
|
||||
color="#1867b0"
|
||||
style="margin-right: 8px; width: auto"
|
||||
>
|
||||
我要选择
|
||||
</van-button>
|
||||
<van-button
|
||||
v-if="o.count > 0"
|
||||
@click.stop="cancelChoose(o)"
|
||||
class="cus_button"
|
||||
type="primary"
|
||||
size="small"
|
||||
color="#1867b0"
|
||||
style="margin-right: 8px; width: auto"
|
||||
>
|
||||
取消选择
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -143,15 +162,8 @@ layout("/mobile/platform.html"){
|
||||
<van-empty v-else description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<van-popup v-model="infoShow" position="right"
|
||||
:style="{ height: '100%', width: '100%', 'background-color': '#f6f7f9' }">
|
||||
<van-nav-bar
|
||||
title="详细信息"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="infoShow = false">
|
||||
</van-nav-bar>
|
||||
<van-popup v-model="infoShow" position="right" :style="{ height: '100%', width: '100%', 'background-color': '#f6f7f9' }">
|
||||
<van-nav-bar title="详细信息" left-arrow placeholder fixed @click-left="infoShow = false"></van-nav-bar>
|
||||
<van-tabs v-model="active">
|
||||
<van-tab v-if="viewData.moreInfo" title="通知内容">
|
||||
<div class="pre_text" v-html="viewData.moreInfo"></div>
|
||||
@@ -166,25 +178,24 @@ layout("/mobile/platform.html"){
|
||||
<van-cell title="创建时间" :value="viewData.createTime"></van-cell>
|
||||
<van-cell title="介绍链接">
|
||||
<template #right-icon>
|
||||
<span style="cursor: pointer; color: #236eb4"
|
||||
@click="window.open(viewData.href.indexOf('http') !== -1 ? viewData.href : 'https://' + viewData.href)">{{viewData.href}}</span>
|
||||
<span
|
||||
style="cursor: pointer; color: #236eb4"
|
||||
@click="window.open(viewData.href.indexOf('http') !== -1 ? viewData.href : 'https://' + viewData.href)"
|
||||
>
|
||||
{{viewData.href}}
|
||||
</span>
|
||||
</template>
|
||||
</van-cell>
|
||||
<van-cell title="支付二维码" is-link value="点击查看"
|
||||
@click="showPic"></van-cell>
|
||||
|
||||
<van-cell title="支付二维码" is-link value="点击查看" @click="showPic"></van-cell>
|
||||
</van-cell-group>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
|
||||
</van-popup>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -193,13 +204,13 @@ layout("/mobile/platform.html"){
|
||||
activityStatus: 1
|
||||
},
|
||||
infoShow: false,
|
||||
viewData: {},
|
||||
viewData: {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
showPic() {
|
||||
if (this.viewData.payCode && this.viewData.payCode.length > 0) {
|
||||
const url = FILE_DOMAIN + '/fileStreamPreview?id=' + this.viewData.payCode[0].id
|
||||
const url = FILE_DOMAIN + "/fileStreamPreview?id=" + this.viewData.payCode[0].id
|
||||
vant.ImagePreview([url])
|
||||
}
|
||||
},
|
||||
@@ -213,44 +224,46 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
cancelChoose(row) {
|
||||
vant.Dialog.confirm({
|
||||
title: '温馨提示',
|
||||
message: '您确定要取消【' + row.name + '】吗?',
|
||||
}).then(async () => {
|
||||
const resp = await $.post('/mobile/insurance/manage/cancelChoose', {
|
||||
title: "温馨提示",
|
||||
message: "您确定要取消【" + row.name + "】吗?"
|
||||
})
|
||||
.then(async () => {
|
||||
const resp = await $.post("/mobile/insurance/manage/cancelChoose", {
|
||||
id: row.id
|
||||
})
|
||||
vant.Toast(resp.msg)
|
||||
if (resp.code === 0) {
|
||||
this.doSearch()
|
||||
}
|
||||
}).catch(() => {
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
async needChoose(row) {
|
||||
if (row.groupId != null) {
|
||||
const isExist = await getScopeUser(row.groupId)
|
||||
if (!isExist) {
|
||||
vant.Dialog.alert({
|
||||
title: '参加人员范围',
|
||||
title: "参加人员范围",
|
||||
message: row.activityGroupName,
|
||||
confirmButtonColor: '#1867b0'
|
||||
confirmButtonColor: "#1867b0"
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
vant.Dialog.confirm({
|
||||
title: '温馨提示',
|
||||
message: '您确定要选择【' + row.name + '】吗?',
|
||||
}).then(async () => {
|
||||
const resp = await $.post('/mobile/insurance/manage/needChoose', {
|
||||
title: "温馨提示",
|
||||
message: "您确定要选择【" + row.name + "】吗?"
|
||||
})
|
||||
.then(async () => {
|
||||
const resp = await $.post("/mobile/insurance/manage/needChoose", {
|
||||
id: row.id
|
||||
})
|
||||
vant.Toast(resp.msg)
|
||||
if (resp.code === 0) {
|
||||
this.doSearch()
|
||||
}
|
||||
}).catch(() => {
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
tabChange() {
|
||||
this.doSearch()
|
||||
@@ -262,7 +275,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async pageData() {
|
||||
this.mLoading = true
|
||||
const resp = await $.post('/mobile/insurance/manage/pageData', this.pageForm)
|
||||
const resp = await $.post("/mobile/insurance/manage/pageData", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
if (resp.data.list.length === 0) {
|
||||
this.tableData = []
|
||||
@@ -277,21 +290,21 @@ layout("/mobile/platform.html"){
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
}
|
||||
this.loading = false;
|
||||
this.loading = false
|
||||
this.mLoading = false
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
window.onload = () => {
|
||||
window.addEventListener('pageshow', e => {
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
if (e.persisted) {
|
||||
window.location.reload();
|
||||
window.location.reload()
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.info {
|
||||
position: relative;
|
||||
width: 88%;
|
||||
@@ -36,7 +35,8 @@ layout("/mobile/platform.html"){
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.van-tab__pane, .van-tab__pane-wrapper {
|
||||
.van-tab__pane,
|
||||
.van-tab__pane-wrapper {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
@@ -101,45 +101,28 @@ layout("/mobile/platform.html"){
|
||||
img {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<van-nav-bar
|
||||
title="法律咨询预约"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="window.history.back()">
|
||||
</van-nav-bar>
|
||||
<van-nav-bar title="法律咨询预约" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="info">
|
||||
<div style="display: flex; align-items: center;">
|
||||
<div style="display: flex; align-items: center">
|
||||
<!--头像-->
|
||||
<div class="avatar">
|
||||
<van-image width="80"
|
||||
:src="APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS+'?id='+doctorData.avatar"></van-image>
|
||||
<van-image width="80" :src="APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS+'?id='+doctorData.avatar"></van-image>
|
||||
</div>
|
||||
<!--其他信息-->
|
||||
<div class="other_info">
|
||||
<div>
|
||||
{{doctorData.username}}
|
||||
</div>
|
||||
<div>
|
||||
{{doctorData.jobTitle}}
|
||||
</div>
|
||||
<div>{{doctorData.username}}</div>
|
||||
<div>{{doctorData.jobTitle}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<van-tabs v-model="active" :style="'height: ' + (window.screen.height - 46 - 40 - 84 - 24 - 44) + 'px'">
|
||||
<van-tab title="预约时段">
|
||||
<van-list
|
||||
v-model="mLoading"
|
||||
:finished="finished"
|
||||
:finished-text="timeData.length > 0 ? '没有更多了' : ''"
|
||||
@load="getDataByDoctorId">
|
||||
<van-list v-model="mLoading" :finished="finished" :finished-text="timeData.length > 0 ? '没有更多了' : ''" @load="getDataByDoctorId">
|
||||
<div v-if="timeData.length > 0" class="time_info" v-for="item in timeData">
|
||||
<div style="color: #1867b0">{{getFormatTime(item)}}</div>
|
||||
<div>
|
||||
@@ -151,8 +134,8 @@ layout("/mobile/platform.html"){
|
||||
v-if="mLoading === false && timeData.length === 0"
|
||||
class="custom-image"
|
||||
image="/none.svg"
|
||||
description="抱歉,此咨询师暂时没有进行排班哦">
|
||||
</van-empty>
|
||||
description="抱歉,此咨询师暂时没有进行排班哦"
|
||||
></van-empty>
|
||||
</van-tab>
|
||||
<van-tab title="咨询师简介">
|
||||
<div class="label">咨询师擅长</div>
|
||||
@@ -163,58 +146,48 @@ layout("/mobile/platform.html"){
|
||||
</van-tabs>
|
||||
|
||||
<van-popup v-model="show" class="apply_pop" position="right">
|
||||
<van-nav-bar
|
||||
title="预约信息"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="show = false">
|
||||
</van-nav-bar>
|
||||
<van-nav-bar title="预约信息" left-arrow placeholder fixed @click-left="show = false"></van-nav-bar>
|
||||
<van-form ref="addForm" :show-error-message="false" input-align="right">
|
||||
<van-cell-group inset class="mt10">
|
||||
<van-field readonly
|
||||
:value="chooseData.startTime"
|
||||
label="开始时间"></van-field>
|
||||
<van-field readonly
|
||||
:value="chooseData.endTime"
|
||||
label="结束时间"></van-field>
|
||||
<van-field readonly :value="chooseData.startTime" label="开始时间"></van-field>
|
||||
<van-field readonly :value="chooseData.endTime" label="结束时间"></van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group inset class="mt10" v-if="chooseData.doctorUser">
|
||||
<van-field readonly
|
||||
:value="chooseData.username"
|
||||
label="咨询师姓名"></van-field>
|
||||
<van-field readonly
|
||||
:value="chooseData.mobile"
|
||||
label="咨询师电话"></van-field>
|
||||
<van-field readonly :value="chooseData.username" label="咨询师姓名"></van-field>
|
||||
<van-field readonly :value="chooseData.mobile" label="咨询师电话"></van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group inset class="mt10">
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
label="预约人姓名"></van-field>
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('loginname')}"
|
||||
label="预约人工号"></van-field>
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('unit').getName()}"
|
||||
label="预约人单位"></van-field>
|
||||
<van-field :rules="[{ required: true, message: '请填写手机号' }]"
|
||||
required placeholder="请填写手机号"
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('username')}" label="预约人姓名"></van-field>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('loginname')}" label="预约人工号"></van-field>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('unit').getName()}" label="预约人单位"></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '请填写手机号' }]"
|
||||
required
|
||||
placeholder="请填写手机号"
|
||||
type="tel"
|
||||
v-model=chooseData.userMobile
|
||||
label="预约人电话"></van-field>
|
||||
v-model="chooseData.userMobile"
|
||||
label="预约人电话"
|
||||
></van-field>
|
||||
</van-cell-group>
|
||||
<van-cell-group inset class="mt10">
|
||||
|
||||
<div v-if="chooseData.askType">
|
||||
<van-field v-model="appointmentAskTypeText" label="咨询方式" @click="appointmentAskTypeShow = true"
|
||||
required :rules="[{ required: true, message: '请选择咨询方式' }]"
|
||||
placeholder="请选择咨询方式"></van-field>
|
||||
<van-field
|
||||
v-model="appointmentAskTypeText"
|
||||
label="咨询方式"
|
||||
@click="appointmentAskTypeShow = true"
|
||||
required
|
||||
:rules="[{ required: true, message: '请选择咨询方式' }]"
|
||||
placeholder="请选择咨询方式"
|
||||
></van-field>
|
||||
<van-popup v-model:show="appointmentAskTypeShow" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="askTypeArray" @confirm="askTypeConfirm"
|
||||
@cancel="appointmentAskTypeShow = false">
|
||||
</van-picker>
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="askTypeArray"
|
||||
@confirm="askTypeConfirm"
|
||||
@cancel="appointmentAskTypeShow = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
</div>
|
||||
|
||||
@@ -235,21 +208,20 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
function getQueryVariable(variable) {
|
||||
var query = window.location.search.substring(1);
|
||||
var vars = query.split("&");
|
||||
var query = window.location.search.substring(1)
|
||||
var vars = query.split("&")
|
||||
for (var i = 0; i < vars.length; i++) {
|
||||
var pair = vars[i].split("=");
|
||||
var pair = vars[i].split("=")
|
||||
if (pair[0] == variable) {
|
||||
return pair[1];
|
||||
return pair[1]
|
||||
}
|
||||
}
|
||||
return '';
|
||||
return ""
|
||||
}
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -257,7 +229,7 @@ layout("/mobile/platform.html"){
|
||||
askTypeList: [],
|
||||
askTypeArray: [],
|
||||
show: false,
|
||||
doctorId: '',
|
||||
doctorId: "",
|
||||
doctorData: {},
|
||||
active: 0,
|
||||
timeData: [],
|
||||
@@ -265,10 +237,10 @@ layout("/mobile/platform.html"){
|
||||
chooseData: {
|
||||
userMobile: null
|
||||
},
|
||||
appointmentUserNote: '',
|
||||
appointmentAskTypeText: '',
|
||||
appointmentAskTypeValue: '',
|
||||
typeId: '',
|
||||
appointmentUserNote: "",
|
||||
appointmentAskTypeText: "",
|
||||
appointmentAskTypeValue: "",
|
||||
typeId: ""
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -279,36 +251,36 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async doSubmit() {
|
||||
if (!this.chooseData.userMobile.trim()) {
|
||||
this.$toast.fail("请填写手机号");
|
||||
this.$toast.fail("请填写手机号")
|
||||
return
|
||||
}
|
||||
if (!this.appointmentAskTypeValue) {
|
||||
this.$toast.fail("请选择咨询方式");
|
||||
this.$toast.fail("请选择咨询方式")
|
||||
return
|
||||
}
|
||||
const valid = await vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确认提交吗?',
|
||||
confirmButtonColor: '#1867b0'
|
||||
title: "提示",
|
||||
message: "您确认提交吗?",
|
||||
confirmButtonColor: "#1867b0"
|
||||
})
|
||||
if (valid) {
|
||||
this.$toast.loading('提交中...')
|
||||
this.$toast.loading("提交中...")
|
||||
const params = {
|
||||
appointmentUserNote: this.appointmentUserNote,
|
||||
appointmentAskTypeValue: this.appointmentAskTypeValue,
|
||||
userMobile: this.chooseData.userMobile,
|
||||
id: this.chooseData.id,
|
||||
isAdd: true,
|
||||
isAdd: true
|
||||
}
|
||||
const resp = await $.post('/mobile/legalAidPro/doApply', params)
|
||||
const resp = await $.post("/mobile/legalAidPro/doApply", params)
|
||||
if (resp.code === 0) {
|
||||
vant.Dialog.alert({
|
||||
title: '提示',
|
||||
message: '您已预约成功!',
|
||||
confirmButtonColor: '#1867b0'
|
||||
title: "提示",
|
||||
message: "您已预约成功!",
|
||||
confirmButtonColor: "#1867b0"
|
||||
}).then(() => {
|
||||
location.replace('/mobile/legalAidPro/myApplyList')
|
||||
});
|
||||
location.replace("/mobile/legalAidPro/myApplyList")
|
||||
})
|
||||
} else if (resp.code === 1) {
|
||||
this.$toast.error(resp.msg)
|
||||
} else if (resp.code === 2) {
|
||||
@@ -317,13 +289,13 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
apply(o) {
|
||||
if (o.title !== '可预约') {
|
||||
if (o.title !== "可预约") {
|
||||
return
|
||||
}
|
||||
this.askTypeArray = []
|
||||
if (o.askType) {
|
||||
const array = JSON.parse(o.askType)
|
||||
this.askTypeList.map(o => {
|
||||
this.askTypeList.map((o) => {
|
||||
if (array.includes(o.code)) {
|
||||
this.askTypeArray.push({ text: o.name, value: o.code })
|
||||
}
|
||||
@@ -338,17 +310,17 @@ layout("/mobile/platform.html"){
|
||||
this.show = true
|
||||
},
|
||||
getFormatTime(o) {
|
||||
const simpleStartDate = moment(o.startTime).format('YYYY-MM-DD')
|
||||
const simpleStartHour = moment(o.startTime).format('HH:mm')
|
||||
const simpleEndHour = moment(o.endTime).format('HH:mm')
|
||||
const simpleStartDate = moment(o.startTime).format("YYYY-MM-DD")
|
||||
const simpleStartHour = moment(o.startTime).format("HH:mm")
|
||||
const simpleEndHour = moment(o.endTime).format("HH:mm")
|
||||
const dayNameOfWeek = this.dayNames[new Date(simpleStartDate).getDay()]
|
||||
return simpleStartDate + ' ' + dayNameOfWeek + ' ' + simpleStartHour + '至' + simpleEndHour
|
||||
return simpleStartDate + " " + dayNameOfWeek + " " + simpleStartHour + "至" + simpleEndHour
|
||||
},
|
||||
async pageData() {
|
||||
this.pageForm.doctorId = this.doctorId
|
||||
const resp = await $.post('/mobile/legalAidPro/pageData', this.pageForm)
|
||||
const resp = await $.post("/mobile/legalAidPro/pageData", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
if (this.doctorId !== '') {
|
||||
if (this.doctorId !== "") {
|
||||
this.doctorData = resp.data[0]
|
||||
} else {
|
||||
this.tableData = resp.data
|
||||
@@ -359,40 +331,40 @@ layout("/mobile/platform.html"){
|
||||
this.mLoading = true
|
||||
this.pageForm.id = this.doctorId
|
||||
this.pageForm.typeId = this.typeId
|
||||
const resp = await $.post('/mobile/legalAidPro/getDataByDoctorId', this.pageForm)
|
||||
const resp = await $.post("/mobile/legalAidPro/getDataByDoctorId", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
const userId = "${@shiro.getPrincipalProperty('id')}"
|
||||
const record = resp.data.list.find(v => v.appointmentUser === userId)
|
||||
const record = resp.data.list.find((v) => v.appointmentUser === userId)
|
||||
if (record) {
|
||||
resp.data.list.forEach(v => {
|
||||
resp.data.list.forEach((v) => {
|
||||
if (new Date().getTime() > v.startTimeTs) {
|
||||
v.className = 'gray'
|
||||
v.title = '不可预约'
|
||||
v.className = "gray"
|
||||
v.title = "不可预约"
|
||||
} else {
|
||||
if (v.appointmentUser === userId) {
|
||||
v.className = 'gray'
|
||||
v.title = '我已预约'
|
||||
v.className = "gray"
|
||||
v.title = "我已预约"
|
||||
} else {
|
||||
v.className = 'gray'
|
||||
v.title = '不可预约'
|
||||
v.className = "gray"
|
||||
v.title = "不可预约"
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
resp.data.list.forEach(v => {
|
||||
resp.data.list.forEach((v) => {
|
||||
if (new Date().getTime() > v.startTimeTs) {
|
||||
v.className = 'gray'
|
||||
v.title = '不可预约'
|
||||
v.className = "gray"
|
||||
v.title = "不可预约"
|
||||
} else {
|
||||
if (!v.appointmentUser) {
|
||||
v.className = '#1867b0'
|
||||
v.title = '可预约'
|
||||
v.className = "#1867b0"
|
||||
v.title = "可预约"
|
||||
} else if (v.appointmentUser === userId) {
|
||||
v.className = 'gray'
|
||||
v.title = '我已预约'
|
||||
v.className = "gray"
|
||||
v.title = "我已预约"
|
||||
} else {
|
||||
v.className = 'gray'
|
||||
v.title = '不可预约'
|
||||
v.className = "gray"
|
||||
v.title = "不可预约"
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -405,14 +377,14 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
}
|
||||
this.mLoading = false
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.doctorId = getQueryVariable('doctorId')
|
||||
this.typeId = getQueryVariable('typeId')
|
||||
this.doctorId = getQueryVariable("doctorId")
|
||||
this.typeId = getQueryVariable("typeId")
|
||||
this.askTypeList = await getDictOptions("psychology_asktype")
|
||||
await this.pageData()
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -11,23 +11,13 @@ layout("/mobile/platform.html"){
|
||||
text-align: right;
|
||||
color: #969799;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar
|
||||
title="预约详细信息"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="goBack()"
|
||||
safe-area-inset-top
|
||||
></van-nav-bar>
|
||||
<van-nav-bar title="预约详细信息" left-arrow placeholder fixed @click-left="goBack()" safe-area-inset-top></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-cell title="开始时间">{{ viewData.startTime }}</van-cell>
|
||||
@@ -35,9 +25,7 @@ layout("/mobile/platform.html"){
|
||||
</van-cell-group>
|
||||
|
||||
<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-cell title="姓名">{{ viewData.appointmentUserName }}</van-cell>
|
||||
@@ -58,9 +46,7 @@ layout("/mobile/platform.html"){
|
||||
</van-cell-group>
|
||||
|
||||
<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-cell title="姓名">{{ viewData.doctorUserName || '暂无'}}</van-cell>
|
||||
@@ -69,17 +55,13 @@ layout("/mobile/platform.html"){
|
||||
<van-cell title="电话">{{ viewData.doctorMobile || '暂无'}}</van-cell>
|
||||
<van-cell title="个人简介">{{ viewData.doctorIntroduce || '暂无'}}</van-cell>
|
||||
</van-cell-group>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
</script>
|
||||
<script></script>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -88,7 +70,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
methods: {
|
||||
goBack() {
|
||||
window.history.back()
|
||||
pjaxReplace("/mobile/index")
|
||||
const id = this.GetQueryString("id")
|
||||
window.localStorage.removeItem("psychology-info-" + id)
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.info {
|
||||
position: relative;
|
||||
width: 88%;
|
||||
@@ -40,27 +39,18 @@ layout("/mobile/platform.html"){
|
||||
.van-dropdown-menu__item {
|
||||
flex: auto;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<van-nav-bar
|
||||
title="法律咨询师列表"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="window.history.back()">
|
||||
</van-nav-bar>
|
||||
<van-nav-bar title="法律咨询师列表" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<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 class="info" @click="toApply(item)" v-for="item in tableData">
|
||||
<div style="display: flex;">
|
||||
<div style="display: flex">
|
||||
<!--头像-->
|
||||
<div class="avatar">
|
||||
<van-image width="80" :src="APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS+'?id='+item.avatar"></van-image>
|
||||
@@ -69,40 +59,41 @@ layout("/mobile/platform.html"){
|
||||
<div class="other_info">
|
||||
<div>
|
||||
<span style="font-size: 20px">{{item.username}} </span>
|
||||
<span style="color: grey">{{item.sex}} </span> 
|
||||
<span style="color: grey">{{item.sex}} </span>
|
||||
 
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<span style="color: grey">职称:</span>{{item.jobTitle}}
|
||||
<span style="color: grey">职称:</span>
|
||||
{{item.jobTitle}}
|
||||
</div>
|
||||
<div>
|
||||
<span style="color: grey">单位:</span>{{item.unitName}}
|
||||
<span style="color: grey">单位:</span>
|
||||
{{item.unitName}}
|
||||
</div>
|
||||
<div class="desc">
|
||||
<span style="color: grey">特长:</span>{{item.specialty}}
|
||||
<span style="color: grey">特长:</span>
|
||||
{{item.specialty}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</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>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
typeList: [
|
||||
{text: '时间不限', value: 'no'},
|
||||
{text: '本周', value: 'thisWeek'},
|
||||
{text: '下周', value: 'nextWeek'},
|
||||
],
|
||||
{ text: "时间不限", value: "no" },
|
||||
{ text: "本周", value: "thisWeek" },
|
||||
{ text: "下周", value: "nextWeek" }
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -111,19 +102,19 @@ layout("/mobile/platform.html"){
|
||||
this.pageData()
|
||||
},
|
||||
async pageData() {
|
||||
const resp = await $.post('/mobile/legalAidPro/pageData', this.pageForm)
|
||||
const resp = await $.post("/mobile/legalAidPro/pageData", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
this.tableData = resp.data
|
||||
}
|
||||
},
|
||||
toApply(o) {
|
||||
location.href = '/mobile/legalAidPro/apply?doctorId=' + o.userid + '&typeId=' + this.pageForm.typeId
|
||||
location.href = "/mobile/legalAidPro/apply?doctorId=" + o.userid + "&typeId=" + this.pageForm.typeId
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.$set(this.pageForm, "typeId", this.typeList[0].value)
|
||||
await this.pageData()
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<style>
|
||||
.list-card {
|
||||
background: #FFFFFF;
|
||||
background: #ffffff;
|
||||
width: 92%;
|
||||
margin: 0px auto 20px;
|
||||
box-shadow: 0 2px 10px rgb(125 126 128 / 16%);
|
||||
@@ -79,7 +79,7 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.van-card-body {
|
||||
padding: 0px 10px 0px 10px
|
||||
padding: 0px 10px 0px 10px;
|
||||
}
|
||||
|
||||
.van-doc-card > div:first-child {
|
||||
@@ -114,29 +114,23 @@ layout("/mobile/platform.html"){
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar
|
||||
title="我的预约记录"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="window.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>
|
||||
<van-dropdown-item v-model="pageForm.year" :options="yearList"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.stateId" :options="stateList"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.year" :options="yearList" @change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.stateId" :options="stateList" @change="doSearch"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<div style="margin: 60px auto 0 auto">
|
||||
<van-list v-model="loading"
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
:immediate-check="false"
|
||||
@load="pageData">
|
||||
@load="pageData"
|
||||
>
|
||||
<div v-for="o in tableData" class="list-card" @click="viewInfo(o)">
|
||||
<div class="card-head">
|
||||
法律咨询预约
|
||||
@@ -152,35 +146,32 @@ layout("/mobile/platform.html"){
|
||||
<van-cell :border="false" title="结束时间">{{o.endTime}}</van-cell>
|
||||
</van-cell-group>
|
||||
<div class="cancel-button">
|
||||
<van-button v-if="moment().unix() < moment(o.startTime).unix()" style="margin-right: 4px"
|
||||
@click.stop="update(o)" round size="small" color="#1867b0">修改
|
||||
<van-button
|
||||
v-if="moment().unix() < moment(o.startTime).unix()"
|
||||
style="margin-right: 4px"
|
||||
@click.stop="update(o)"
|
||||
round
|
||||
size="small"
|
||||
color="#1867b0"
|
||||
>
|
||||
修改
|
||||
</van-button>
|
||||
<van-button v-if="moment().unix() < moment(o.startTime).unix()"
|
||||
@click.stop="doCancel(o.id)" round size="small" color="#1867b0">取消
|
||||
<van-button v-if="moment().unix() < moment(o.startTime).unix()" @click.stop="doCancel(o.id)" round size="small" color="#1867b0">
|
||||
取消
|
||||
</van-button>
|
||||
</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>
|
||||
|
||||
<van-popup v-model="show" class="apply_pop" position="right">
|
||||
<van-nav-bar
|
||||
title="预约详细信息"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="show = false"
|
||||
safe-area-inset-top></van-nav-bar>
|
||||
<van-nav-bar title="预约详细信息" left-arrow placeholder fixed @click-left="show = false" safe-area-inset-top></van-nav-bar>
|
||||
|
||||
<div class="van-doc-card" style="margin: 16px">
|
||||
<div></div>
|
||||
<div class="van-card-header">
|
||||
预约时间段
|
||||
</div>
|
||||
<div class="van-card-header">预约时间段</div>
|
||||
<div class="van-card-body">
|
||||
<van-cell-group>
|
||||
<van-cell title="开始时间">{{ viewData.startTime }}</van-cell>
|
||||
@@ -191,9 +182,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div class="van-doc-card" style="margin: 16px">
|
||||
<div></div>
|
||||
<div class="van-card-header">
|
||||
预约人信息
|
||||
</div>
|
||||
<div class="van-card-header">预约人信息</div>
|
||||
<div class="van-card-body">
|
||||
<van-cell-group>
|
||||
<van-cell title="姓名">{{ viewData.appointmentUserName }}</van-cell>
|
||||
@@ -208,9 +197,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div class="van-doc-card" style="margin: 16px">
|
||||
<div></div>
|
||||
<div class="van-card-header">
|
||||
咨询师信息
|
||||
</div>
|
||||
<div class="van-card-header">咨询师信息</div>
|
||||
<div class="van-card-body">
|
||||
<van-cell-group>
|
||||
<van-cell title="姓名">{{ viewData.doctorUserName || '暂无'}}</van-cell>
|
||||
@@ -220,20 +207,17 @@ layout("/mobile/platform.html"){
|
||||
<van-cell title="咨询方式">
|
||||
<div v-if="!viewData.askType || getDoctorAskTypeName().length === 0">暂无</div>
|
||||
<div v-else>
|
||||
<div v-for="item in getDoctorAskTypeName()">
|
||||
{{ item.name }}
|
||||
</div>
|
||||
<div v-for="item in getDoctorAskTypeName()">{{ item.name }}</div>
|
||||
</div>
|
||||
</van-cell>
|
||||
<van-cell @click="doctorIntroduceShow = true" title="个人简介" is-link>
|
||||
<div style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis; word-break: break-word;">
|
||||
<div style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis; word-break: break-word">
|
||||
{{ viewData.doctorIntroduce || '暂无'}}
|
||||
</div>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</van-popup>
|
||||
|
||||
<van-popup v-model:show="doctorIntroduceShow" position="bottom" round style="padding: 20px; width: auto">
|
||||
@@ -247,57 +231,45 @@ layout("/mobile/platform.html"){
|
||||
</van-popup>
|
||||
|
||||
<van-popup v-model="infoShow" class="apply_pop" position="right">
|
||||
<van-nav-bar
|
||||
title="预约信息"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="infoShow = false">
|
||||
</van-nav-bar>
|
||||
<van-nav-bar title="预约信息" left-arrow placeholder fixed @click-left="infoShow = false"></van-nav-bar>
|
||||
<van-form ref="addForm" :show-error-message="false" input-align="right">
|
||||
<van-cell-group inset class="mt10">
|
||||
<van-field readonly
|
||||
:value="chooseData.startTime"
|
||||
label="开始时间"></van-field>
|
||||
<van-field readonly
|
||||
:value="chooseData.endTime"
|
||||
label="结束时间"></van-field>
|
||||
<van-field readonly :value="chooseData.startTime" label="开始时间"></van-field>
|
||||
<van-field readonly :value="chooseData.endTime" label="结束时间"></van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group inset class="mt10" v-if="chooseData.doctorUser">
|
||||
<van-field readonly
|
||||
:value="chooseData.doctorUserName"
|
||||
label="咨询师姓名"></van-field>
|
||||
<van-field readonly
|
||||
:value="chooseData.doctorMobile"
|
||||
label="咨询师电话"></van-field>
|
||||
<van-field readonly :value="chooseData.doctorUserName" label="咨询师姓名"></van-field>
|
||||
<van-field readonly :value="chooseData.doctorMobile" label="咨询师电话"></van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group inset class="mt10">
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
label="预约人姓名"></van-field>
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('loginname')}"
|
||||
label="预约人工号"></van-field>
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('unit').getName()}"
|
||||
label="预约人单位"></van-field>
|
||||
<van-field :rules="[{ required: true, message: '请填写电话' }]"
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('username')}" label="预约人姓名"></van-field>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('loginname')}" label="预约人工号"></van-field>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('unit').getName()}" label="预约人单位"></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '请填写电话' }]"
|
||||
required
|
||||
type="tel"
|
||||
v-model=chooseData.userMobile
|
||||
label="预约人电话"></van-field>
|
||||
v-model="chooseData.userMobile"
|
||||
label="预约人电话"
|
||||
></van-field>
|
||||
</van-cell-group>
|
||||
<van-cell-group inset class="mt10">
|
||||
|
||||
<div v-if="chooseData.askType">
|
||||
<van-field v-model="appointmentAskTypeText" label="咨询方式" @click="appointmentAskTypeShow = true"
|
||||
placeholder="请选择咨询方式"></van-field>
|
||||
<van-field
|
||||
v-model="appointmentAskTypeText"
|
||||
label="咨询方式"
|
||||
@click="appointmentAskTypeShow = true"
|
||||
placeholder="请选择咨询方式"
|
||||
></van-field>
|
||||
<van-popup v-model:show="appointmentAskTypeShow" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="askTypeArray" @confirm="askTypeConfirm"
|
||||
@cancel="appointmentAskTypeShow = false">
|
||||
</van-picker>
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="askTypeArray"
|
||||
@confirm="askTypeConfirm"
|
||||
@cancel="appointmentAskTypeShow = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
</div>
|
||||
|
||||
@@ -319,27 +291,27 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
appointmentAskTypeText: '',
|
||||
appointmentUserNote: '',
|
||||
appointmentAskTypeText: "",
|
||||
appointmentUserNote: "",
|
||||
appointmentAskTypeShow: false,
|
||||
appointmentAskTypeValue: '',
|
||||
appointmentAskTypeValue: "",
|
||||
askTypeArray: [],
|
||||
chooseData: {},
|
||||
infoShow: false,
|
||||
doctorIntroduceShow: false,
|
||||
stateList: [
|
||||
{text: '全部预约状态', value: null},
|
||||
{text: '预约中', value: 2100},
|
||||
{text: '预约成功', value: 2300},
|
||||
{text: '预约失败', value: 2200}
|
||||
{ text: "全部预约状态", value: null },
|
||||
{ text: "预约中", value: 2100 },
|
||||
{ text: "预约成功", value: 2300 },
|
||||
{ text: "预约失败", value: 2200 }
|
||||
],
|
||||
askTypeList: [],
|
||||
show: false,
|
||||
viewData: {},
|
||||
viewData: {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -347,15 +319,15 @@ layout("/mobile/platform.html"){
|
||||
this.askTypeArray = []
|
||||
if (o.askType) {
|
||||
const array = JSON.parse(o.askType)
|
||||
this.askTypeList.map(o => {
|
||||
this.askTypeList.map((o) => {
|
||||
if (array.includes(o.code)) {
|
||||
this.askTypeArray.push({ text: o.name, value: o.code })
|
||||
}
|
||||
})
|
||||
}
|
||||
if (o.appointmentAskTypeValue) {
|
||||
const type = this.askTypeList.find(x => x.code === o.appointmentAskTypeValue)
|
||||
this.appointmentAskTypeText = type ? type.name : ''
|
||||
const type = this.askTypeList.find((x) => x.code === o.appointmentAskTypeValue)
|
||||
this.appointmentAskTypeText = type ? type.name : ""
|
||||
}
|
||||
this.chooseData = o
|
||||
this.appointmentUserNote = o.appointmentUserNote
|
||||
@@ -369,28 +341,28 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async doSubmit() {
|
||||
if (!this.chooseData.userMobile) {
|
||||
this.$toast.fail("请输入手机号");
|
||||
this.$toast.fail("请输入手机号")
|
||||
return
|
||||
}
|
||||
const valid = await vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确认提交吗?',
|
||||
confirmButtonColor: '#1867b0'
|
||||
title: "提示",
|
||||
message: "您确认提交吗?",
|
||||
confirmButtonColor: "#1867b0"
|
||||
})
|
||||
if (valid) {
|
||||
this.$toast.loading('提交中...')
|
||||
this.$toast.loading("提交中...")
|
||||
const params = {
|
||||
appointmentUserNote: this.appointmentUserNote,
|
||||
appointmentAskTypeValue: this.appointmentAskTypeValue,
|
||||
userMobile: this.chooseData.userMobile,
|
||||
id: this.chooseData.id,
|
||||
isAdd: false,
|
||||
isAdd: false
|
||||
}
|
||||
const resp = await $.post('/mobile/legalAidPro/doApply', params)
|
||||
const resp = await $.post("/mobile/legalAidPro/doApply", params)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success('修改成功')
|
||||
this.$toast.success("修改成功")
|
||||
setTimeout(() => {
|
||||
location.replace('/mobile/legalAidPro/myApplyList')
|
||||
location.replace("/mobile/legalAidPro/myApplyList")
|
||||
}, 1000)
|
||||
} else if (resp.code === 1) {
|
||||
this.$toast.error(resp.msg)
|
||||
@@ -401,17 +373,17 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
getAskTypeName() {
|
||||
if (this.viewData.appointmentAskTypeValue) {
|
||||
const type = this.askTypeList.find(o => o.code === this.viewData.appointmentAskTypeValue + '')
|
||||
return type ? type.name : '暂无'
|
||||
const type = this.askTypeList.find((o) => o.code === this.viewData.appointmentAskTypeValue + "")
|
||||
return type ? type.name : "暂无"
|
||||
} else {
|
||||
return '暂无'
|
||||
return "暂无"
|
||||
}
|
||||
},
|
||||
getDoctorAskTypeName() {
|
||||
const askTypeArray = []
|
||||
if (this.viewData.askType) {
|
||||
const array = JSON.parse(this.viewData.askType)
|
||||
this.askTypeList.map(o => {
|
||||
this.askTypeList.map((o) => {
|
||||
if (array.includes(o.code)) {
|
||||
askTypeArray.push(o)
|
||||
}
|
||||
@@ -421,7 +393,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async pageData() {
|
||||
this.loading = true
|
||||
const {data} = await $.get('/mobile/legalAidPro/MyPageData', this.pageForm)
|
||||
const { data } = await $.get("/mobile/legalAidPro/MyPageData", this.pageForm)
|
||||
setTimeout(() => {
|
||||
this.tableData = this.tableData.concat(data.list)
|
||||
if (this.tableData.length === data.totalCount) {
|
||||
@@ -444,14 +416,14 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async doCancel(id) {
|
||||
const confirm = await vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确定取消此次预约吗?',
|
||||
confirmButtonColor: '#1867b0'
|
||||
title: "提示",
|
||||
message: "您确定取消此次预约吗?",
|
||||
confirmButtonColor: "#1867b0"
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
const resp = await $.post('/mobile/legalAidPro/doCancel', {id})
|
||||
if (confirm === "confirm") {
|
||||
const resp = await $.post("/mobile/legalAidPro/doCancel", { id })
|
||||
if (resp.code === 0) {
|
||||
vant.Toast.success('取消成功')
|
||||
vant.Toast.success("取消成功")
|
||||
this.doSearch()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ layout("/mobile/platform.html"){
|
||||
.year {
|
||||
font-size: 16px;
|
||||
color: #3498db;
|
||||
font-weight: bold
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h1 {
|
||||
@@ -29,14 +29,7 @@ layout("/mobile/platform.html"){
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<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>
|
||||
<div class="card" v-for="item in tableData">
|
||||
@@ -48,19 +41,16 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
methods: {
|
||||
|
||||
},
|
||||
methods: {},
|
||||
created() {
|
||||
this.pageData()
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.van-index-bar__sidebar {
|
||||
display: none;
|
||||
}
|
||||
@@ -159,18 +158,10 @@ layout("/mobile/platform.html"){
|
||||
</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">
|
||||
@@ -180,27 +171,18 @@ layout("/mobile/platform.html"){
|
||||
placeholder="请输入会议名称、会议地点进行查询"
|
||||
shape="round"
|
||||
v-model="pageForm.searchKeyword"
|
||||
>
|
||||
</van-search>
|
||||
></van-search>
|
||||
<van-dropdown-menu>
|
||||
<van-dropdown-item :options="meetingTimeList" @change="doSearch"
|
||||
v-model="pageForm.meetingTime"></van-dropdown-item>
|
||||
<van-dropdown-item :options="typeList" @change="doSearch"
|
||||
v-model="pageForm.typeId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="meetingTimeList" @change="doSearch" v-model="pageForm.meetingTime"></van-dropdown-item>
|
||||
<van-dropdown-item :options="typeList" @change="doSearch" v-model="pageForm.typeId"></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, o.modulename)">
|
||||
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 70%">
|
||||
<div class="van-ellipsis title">
|
||||
@@ -209,9 +191,7 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<div style="color: grey">{{o.location}}</div>
|
||||
</div>
|
||||
<div style="color: #1867b0;">
|
||||
{{o.meetingtypename}}
|
||||
</div>
|
||||
<div style="color: #1867b0">{{o.meetingtypename}}</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 10px">
|
||||
@@ -221,12 +201,11 @@ layout("/mobile/platform.html"){
|
||||
<!--<van-col span="12"><span style="color: grey">结束时间:</span></van-col>-->
|
||||
</van-row>
|
||||
<van-row>
|
||||
|
||||
<!--<van-col span="12">{{o.endtime}}</van-col>-->
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
<div style="display: flex; justify-content: space-between; margin-top: 8px;">
|
||||
<div style="display: flex; justify-content: space-between; margin-top: 8px">
|
||||
<div class="cus_overflow" style="line-height: 20px; width: 83%">
|
||||
<span style="color: grey">会议描述:</span>
|
||||
{{o.meetingdescription}}
|
||||
@@ -238,25 +217,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"
|
||||
color="#1867b0" size="small" style="margin-right: 8px; width: auto;"
|
||||
type="primary">已审{{o.audit}}
|
||||
<van-button
|
||||
@click.stop="getAuditList(o)"
|
||||
class="cus_button"
|
||||
color="#1867b0"
|
||||
size="small"
|
||||
style="margin-right: 8px; width: auto"
|
||||
type="primary"
|
||||
>
|
||||
已审{{o.audit}}
|
||||
</van-button>
|
||||
<van-button @click.stop="openView(o.id, o.modulename)" class="cus_button"
|
||||
color="#1867b0" size="small" style="margin-right: 8px; width: auto;"
|
||||
type="primary">未审{{o.no_audit}}
|
||||
<van-button
|
||||
@click.stop="openView(o.id, o.modulename)"
|
||||
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>
|
||||
|
||||
<!--弹出框-->
|
||||
@@ -267,8 +253,7 @@ layout("/mobile/platform.html"){
|
||||
<van-icon @click="popupShow = false" class="cus_icon" name="close" v-if="popupShow"></van-icon>
|
||||
|
||||
<!--审核人员-->
|
||||
<van-action-sheet :title="queryType === 'notAudit' ? '请假人员列表' : '请假人员列表'" @close="popClose" class="userPopup"
|
||||
v-model:show="userShow">
|
||||
<van-action-sheet :title="queryType === 'notAudit' ? '请假人员列表' : '请假人员列表'" @close="popClose" class="userPopup" v-model:show="userShow">
|
||||
<div class="content">
|
||||
<div class="van-doc-card" v-for="(item, i) in userList">
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
@@ -291,19 +276,23 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<van-checkbox-group ref="checkboxGroup" v-if="item.users !== null" v-model="result">
|
||||
<van-cell-group>
|
||||
<van-cell
|
||||
:key="obj.id"
|
||||
@click="toggle(i, index)" class="cus_cell"
|
||||
clickable
|
||||
v-for="(obj, index) in item.users">
|
||||
<van-cell :key="obj.id" @click="toggle(i, index)" class="cus_cell" clickable v-for="(obj, index) in item.users">
|
||||
<span style="display: inline-block; width: 40px">{{obj.username}}</span>
|
||||
<span style="display: inline-block; width: 20px">{{obj.sex}}</span>
|
||||
<span style="display: inline-block; width: 60px">{{obj.loginname}}</span>
|
||||
<span class="unit">{{obj.unitname}}</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>
|
||||
@@ -311,22 +300,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>
|
||||
@@ -334,7 +316,7 @@ layout("/mobile/platform.html"){
|
||||
<!--审核弹框-->
|
||||
<van-dialog @confirm="auditDo" show-cancel-button title="温馨提示" v-model:show="auditShow">
|
||||
<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
|
||||
autosize
|
||||
label="审核意见:"
|
||||
@@ -352,37 +334,41 @@ layout("/mobile/platform.html"){
|
||||
<!--# include("/platform/meeting/includeJs/meetingUtil.js"){} #-->
|
||||
const meetUtil = new meetingUtil()
|
||||
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: {
|
||||
async getAuditList(o) {
|
||||
this.queryType = 'hasAudit'
|
||||
const resp = await $.post('/mobile/meeting/audit/getLeaveUser', {
|
||||
this.queryType = "hasAudit"
|
||||
const resp = await $.post("/mobile/meeting/audit/getLeaveUser", {
|
||||
meetingId: o.id,
|
||||
auditType: 'hasAudit',
|
||||
auditType: "hasAudit"
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
this.userList = resp.data
|
||||
this.userList.forEach(item => {
|
||||
this.userList.forEach((item) => {
|
||||
if (item.users && item.users.length > 1) {
|
||||
item.users.sort((a, b) => {
|
||||
return b.auditState - a.auditState
|
||||
@@ -393,10 +379,10 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
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, index) {
|
||||
if (i > 0) {
|
||||
@@ -406,21 +392,21 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
index = length + index
|
||||
}
|
||||
this.$refs.checkboxes[index].toggle();
|
||||
this.$refs.checkboxes[index].toggle()
|
||||
},
|
||||
async auditDo() {
|
||||
let idList = this.result
|
||||
if (this.type === 'all') {
|
||||
this.userList.forEach(item => {
|
||||
if (this.type === "all") {
|
||||
this.userList.forEach((item) => {
|
||||
if (item.users !== null && item.users !== undefined) {
|
||||
idList = idList.concat(item.users.map(o => o.id))
|
||||
idList = idList.concat(item.users.map((o) => o.id))
|
||||
}
|
||||
})
|
||||
}
|
||||
const resp = await $.post('/mobile/meeting/audit/audit', {
|
||||
const resp = await $.post("/mobile/meeting/audit/audit", {
|
||||
tpuIds: JSON.stringify(idList),
|
||||
auditOpinion: this.reason,
|
||||
isPass: this.auditType === 'pass'
|
||||
isPass: this.auditType === "pass"
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
this.doSearch()
|
||||
@@ -431,38 +417,38 @@ layout("/mobile/platform.html"){
|
||||
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/meeting/audit/getLeaveUser', {
|
||||
const resp = await $.post("/mobile/meeting/audit/getLeaveUser", {
|
||||
meetingId: 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))
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -474,7 +460,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async onLoad() {
|
||||
this.loading = true
|
||||
$.post('/mobile/meeting/audit/pageData', this.pageForm).then(res => {
|
||||
$.post("/mobile/meeting/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) {
|
||||
@@ -485,11 +471,11 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.typeList = await meetUtil.getAllMeetingType()
|
||||
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;
|
||||
}
|
||||
@@ -133,22 +132,13 @@ layout("/mobile/platform.html"){
|
||||
right: 4px;
|
||||
top: 28px;
|
||||
}
|
||||
|
||||
</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">
|
||||
@@ -158,31 +148,20 @@ layout("/mobile/platform.html"){
|
||||
placeholder="请输入会议名称、会议地点进行查询"
|
||||
shape="round"
|
||||
v-model="pageForm.searchKeyWord"
|
||||
>
|
||||
</van-search>
|
||||
></van-search>
|
||||
|
||||
<van-dropdown-menu>
|
||||
<van-dropdown-item :options="meetingList" @change="doSearch"
|
||||
v-model="pageForm.tabNameIndex"></van-dropdown-item>
|
||||
<van-dropdown-item :options="meetingTimeList" @change="doSearch"
|
||||
v-model="pageForm.meetingTime"></van-dropdown-item>
|
||||
<van-dropdown-item :options="typeList" @change="doSearch"
|
||||
v-model="pageForm.typeId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="meetingList" @change="doSearch" v-model="pageForm.tabNameIndex"></van-dropdown-item>
|
||||
<van-dropdown-item :options="meetingTimeList" @change="doSearch" v-model="pageForm.meetingTime"></van-dropdown-item>
|
||||
<van-dropdown-item :options="typeList" @change="doSearch" v-model="pageForm.typeId"></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">
|
||||
@@ -190,9 +169,7 @@ layout("/mobile/platform.html"){
|
||||
<span>{{o.meetingName}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="color: #1867b0; white-space: nowrap;">
|
||||
{{o.meetingTypeName}}
|
||||
</div>
|
||||
<div style="color: #1867b0; white-space: nowrap">{{o.meetingTypeName}}</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 10px">
|
||||
@@ -218,8 +195,7 @@ layout("/mobile/platform.html"){
|
||||
<span style="color: grey">会议描述:</span>
|
||||
{{o.meetingDescription}}
|
||||
</div>
|
||||
<span @click.stop="popupShow = true; clickRow = o"
|
||||
class="showMore">查看更多</span>
|
||||
<span @click.stop="popupShow = true; clickRow = o" class="showMore">查看更多</span>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
@@ -238,26 +214,29 @@ layout("/mobile/platform.html"){
|
||||
<van-button
|
||||
:disabled="moment().valueOf() > moment(o.leaveDeadline).valueOf() || o.isCanLeave === false"
|
||||
@click="needLeave(o, false)"
|
||||
color="#1867b0" size="small" style="margin-right: 8px"
|
||||
type="primary">查看请假状态
|
||||
color="#1867b0"
|
||||
size="small"
|
||||
style="margin-right: 8px"
|
||||
type="primary"
|
||||
>
|
||||
查看请假状态
|
||||
</van-button>
|
||||
<van-button
|
||||
:disabled="moment().valueOf() > moment(o.leaveDeadline).valueOf() || o.isCanLeave === false"
|
||||
@click="needLeave(o, true)"
|
||||
color="#1867b0" size="small" style="margin-right: 8px"
|
||||
type="primary">我要请假
|
||||
color="#1867b0"
|
||||
size="small"
|
||||
style="margin-right: 8px"
|
||||
type="primary"
|
||||
>
|
||||
我要请假
|
||||
</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>
|
||||
|
||||
<!--弹出框-->
|
||||
@@ -269,18 +248,20 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<!--请假弹框-->
|
||||
<van-action-sheet class="leave_pop" title="会议信息" v-model="leaveShow">
|
||||
<div v-if="flag === true"
|
||||
style="padding: 0px 0px 10px 0px; text-align: center; font-size: 14px; color: #646566">
|
||||
请<span style="color: red">点击选择</span>请假时间段,填写请假原因
|
||||
<div v-if="flag === true" style="padding: 0px 0px 10px 0px; text-align: center; font-size: 14px; color: #646566">
|
||||
请
|
||||
<span style="color: red">点击选择</span>
|
||||
请假时间段,填写请假原因
|
||||
</div>
|
||||
<div class="content">
|
||||
|
||||
<div class="van-doc-card" v-for="(item, index) in timeList">
|
||||
<div>
|
||||
<div><span style="color: grey">会议名称:</span>{{item.timePeriodName}}</div>
|
||||
<div>
|
||||
<span style="color: grey">会议名称:</span>
|
||||
{{item.timePeriodName}}
|
||||
</div>
|
||||
<div @click="leaveClick(item, index)"
|
||||
style="display: flex; justify-content: space-between">
|
||||
</div>
|
||||
<div @click="leaveClick(item, index)" style="display: flex; justify-content: space-between">
|
||||
<div>
|
||||
<div>
|
||||
<span style="color: grey">会议时间:</span>
|
||||
@@ -290,43 +271,42 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<div>
|
||||
<div v-if="flag === true" class="border_div"></div>
|
||||
<van-icon v-if="flag === true" :class="'checkDiv checkDiv' + index"
|
||||
name="success" style="display: none;"></van-icon>
|
||||
<span class="auditState"
|
||||
v-if="item.isJoin === false">{{item.stateName}}</span>
|
||||
<van-icon v-if="flag === true" :class="'checkDiv checkDiv' + index" name="success" style="display: none"></van-icon>
|
||||
<span class="auditState" v-if="item.isJoin === false">{{item.stateName}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="item.isJoin === false">
|
||||
<div><span style="color: grey">审核状态:</span>{{item.stateName}}</div>
|
||||
<div>
|
||||
<span style="color: grey">审核状态:</span>
|
||||
{{item.stateName}}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<span style="float: left; color: grey">请假原因:</span>
|
||||
<van-field :disabled="item.isJoin === false" placeholder="请输入请假原因" rows="1"
|
||||
<van-field
|
||||
:disabled="item.isJoin === false"
|
||||
placeholder="请输入请假原因"
|
||||
rows="1"
|
||||
style="font-size: 12px; padding: 0; width: 70%; line-height: 20px"
|
||||
type="textarea" autosize
|
||||
v-model="item.leaveReason"></van-field>
|
||||
type="textarea"
|
||||
autosize
|
||||
v-model="item.leaveReason"
|
||||
></van-field>
|
||||
</div>
|
||||
<div v-if="flag === false && item.stateCode === clickRow.firstState && item.stateAuditType !== 1"
|
||||
style="text-align: right">
|
||||
<van-button @click.stop="cancelLeave(item)" border color="#1867b0" size="small">
|
||||
取消请假
|
||||
</van-button>
|
||||
<div v-if="flag === false && item.stateCode === clickRow.firstState && item.stateAuditType !== 1" style="text-align: right">
|
||||
<van-button @click.stop="cancelLeave(item)" border color="#1867b0" size="small">取消请假</van-button>
|
||||
</div>
|
||||
<div v-if="flag === false && item.stateAuditType === 1" style="text-align: right">
|
||||
<van-button @click.stop="refreshApply(item)" border color="#1867b0"
|
||||
size="small">重新申请
|
||||
</van-button>
|
||||
<van-button @click.stop="refreshApply(item)" border color="#1867b0" size="small">重新申请</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="flag === true">
|
||||
<div style="display: flex; justify-content: space-evenly; position: fixed; bottom: 20px; width: 100%">
|
||||
<van-button @click="leaveShow = false" color="lightgrey" size="small"
|
||||
style="width: 40%; border-radius: revert; height: 38px">取消
|
||||
</van-button>
|
||||
<van-button @click="leave" color="#1867b0" size="small"
|
||||
style="width: 40%; border-radius: revert; height: 38px">确定
|
||||
<van-button @click="leaveShow = false" color="lightgrey" size="small" style="width: 40%; border-radius: revert; height: 38px">
|
||||
取消
|
||||
</van-button>
|
||||
<van-button @click="leave" color="#1867b0" size="small" style="width: 40%; border-radius: revert; height: 38px">确定</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</van-action-sheet>
|
||||
@@ -336,87 +316,94 @@ layout("/mobile/platform.html"){
|
||||
<!--# include("/platform/meeting/includeJs/meetingUtil.js"){} #-->
|
||||
const meetUtil = new meetingUtil()
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
timeList: [],
|
||||
checked: [],
|
||||
checkboxRefs: [],
|
||||
leaveReason: '',
|
||||
leaveReason: "",
|
||||
leaveShow: false,
|
||||
popupShow: false,
|
||||
tabNameIndex: 0,
|
||||
clickRow: {},
|
||||
meetingList: [{text: '全部', value: '0'}, {text: '我参与的', value: '1'}, {
|
||||
text: '我请假的',
|
||||
value: '2'
|
||||
}],
|
||||
meetingList: [
|
||||
{ text: "全部", value: "0" },
|
||||
{ text: "我参与的", value: "1" },
|
||||
{
|
||||
text: "我请假的",
|
||||
value: "2"
|
||||
}
|
||||
],
|
||||
typeList: [],
|
||||
meetingTimeList: [{text: '全部时间', value: null}, {
|
||||
text: '即将开始',
|
||||
meetingTimeList: [
|
||||
{ text: "全部时间", value: null },
|
||||
{
|
||||
text: "即将开始",
|
||||
value: 0
|
||||
}, {text: '已结束', value: 1}],
|
||||
flag: true,
|
||||
},
|
||||
{ text: "已结束", value: 1 }
|
||||
],
|
||||
flag: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
refreshApply(o) {
|
||||
vant.Dialog.confirm({
|
||||
title: '温馨提示',
|
||||
message: '您确定要重新申请吗?',
|
||||
}).then(async () => {
|
||||
title: "温馨提示",
|
||||
message: "您确定要重新申请吗?"
|
||||
})
|
||||
.then(async () => {
|
||||
await this.needLeave(this.clickRow, true)
|
||||
this.timeList.forEach((re, index) => {
|
||||
if (re.stateAuditType === 1) {
|
||||
re.isJoin = null
|
||||
re.stateCode = null
|
||||
re.leaveReason = null
|
||||
$('.checkDiv' + index).css('display', 'none')
|
||||
$(".checkDiv" + index).css("display", "none")
|
||||
this.checked = this.checked.filter(function (item, index) {
|
||||
return item.id !== re.id
|
||||
})
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
|
||||
.catch(() => {})
|
||||
},
|
||||
cancelLeave(o) {
|
||||
vant.Dialog.confirm({
|
||||
title: '温馨提示',
|
||||
message: '您确定要取消请假吗?',
|
||||
}).then(async () => {
|
||||
const res = await $.post('/mobile/meeting/mine/cancelLeave', {id: o.id})
|
||||
title: "温馨提示",
|
||||
message: "您确定要取消请假吗?"
|
||||
})
|
||||
.then(async () => {
|
||||
const res = await $.post("/mobile/meeting/mine/cancelLeave", { id: o.id })
|
||||
if (res.code === 0) {
|
||||
vant.Toast('操作成功')
|
||||
vant.Toast("操作成功")
|
||||
this.doSearch()
|
||||
this.leaveShow = false
|
||||
}
|
||||
}).catch(() => {
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
leaveClick(item, index) {
|
||||
if (item.isJoin === false) {
|
||||
return
|
||||
}
|
||||
const isExist = this.checked.some(o => o.tpuId === item.tpuId)
|
||||
const isExist = this.checked.some((o) => o.tpuId === item.tpuId)
|
||||
if (!isExist) {
|
||||
$('.checkDiv' + index).css('display', '')
|
||||
$(".checkDiv" + index).css("display", "")
|
||||
this.checked.push(item)
|
||||
} else {
|
||||
$('.checkDiv' + index).css('display', 'none')
|
||||
this.checked = this.checked.filter(o => o.tpuId !== item.tpuId)
|
||||
$(".checkDiv" + index).css("display", "none")
|
||||
this.checked = this.checked.filter((o) => o.tpuId !== item.tpuId)
|
||||
}
|
||||
},
|
||||
toggle(item, index) {
|
||||
if (item.auditIdList === null) {
|
||||
this.$refs.checkboxes[index].toggle();
|
||||
this.$refs.checkboxes[index].toggle()
|
||||
}
|
||||
},
|
||||
openView(id) {
|
||||
|
||||
},
|
||||
openView(id) {},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.tableData = []
|
||||
@@ -425,7 +412,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async onLoad() {
|
||||
this.loading = true
|
||||
$.post('/mobile/meeting/mine/pageData', this.pageForm).then(res => {
|
||||
$.post("/mobile/meeting/mine/pageData", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -441,16 +428,16 @@ layout("/mobile/platform.html"){
|
||||
this.flag = flag
|
||||
this.clickRow = o
|
||||
if (moment().valueOf() > moment(o.leaveDeadline).valueOf() || o.isCanLeave === false) {
|
||||
vant.Toast('抱歉,已过请假截止时间');
|
||||
vant.Toast("抱歉,已过请假截止时间")
|
||||
return
|
||||
}
|
||||
this.leaveReason = ''
|
||||
this.leaveReason = ""
|
||||
this.checked = []
|
||||
const res = await $.post('/mobile/meeting/mine/findMyMeetPeriod', {meetingId: o.id})
|
||||
const res = await $.post("/mobile/meeting/mine/findMyMeetPeriod", { meetingId: o.id })
|
||||
if (res.code === 0) {
|
||||
this.timeList = res.data
|
||||
if (this.timeList.length === 0) {
|
||||
vant.Toast('您暂无可请假的假时间段');
|
||||
vant.Toast("您暂无可请假的假时间段")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -459,64 +446,62 @@ layout("/mobile/platform.html"){
|
||||
this.timeList.forEach((re, index) => {
|
||||
if (re.isJoin === false) {
|
||||
this.checked.push(re)
|
||||
$('.checkDiv' + index).css('display', '')
|
||||
$(".checkDiv" + index).css("display", "")
|
||||
}
|
||||
})
|
||||
})
|
||||
return
|
||||
}
|
||||
vant.Toast('系统错误,请联系管理员');
|
||||
vant.Toast("系统错误,请联系管理员")
|
||||
},
|
||||
async leave() {
|
||||
if (this.checked.length === 0) {
|
||||
vant.Toast('请选择请假时间段');
|
||||
vant.Toast("请选择请假时间段")
|
||||
return
|
||||
}
|
||||
const array = this.timeList.find(o => o.stateCode === null || o.stateCode < this.clickRow.firstState)
|
||||
const array = this.timeList.find((o) => o.stateCode === null || o.stateCode < this.clickRow.firstState)
|
||||
if (array === undefined) {
|
||||
vant.Toast('您的所有请假均已处于审核阶段');
|
||||
vant.Toast("您的所有请假均已处于审核阶段")
|
||||
return
|
||||
}
|
||||
const paramArray = []
|
||||
let valid = false
|
||||
this.checked.forEach(item => {
|
||||
if (item.leaveReason === '' || item.leaveReason === undefined) {
|
||||
vant.Toast('请填写请假原因');
|
||||
this.checked.forEach((item) => {
|
||||
if (item.leaveReason === "" || item.leaveReason === undefined) {
|
||||
vant.Toast("请填写请假原因")
|
||||
valid = true
|
||||
return
|
||||
}
|
||||
if (!item.stateCode) {
|
||||
paramArray.push(
|
||||
{
|
||||
paramArray.push({
|
||||
id: item.tpuId,
|
||||
meetingId: this.clickRow.id,
|
||||
leaveReason: item.leaveReason
|
||||
}
|
||||
)
|
||||
})
|
||||
}
|
||||
})
|
||||
if (paramArray.length === 0) {
|
||||
vant.Toast('请选择请假时间段');
|
||||
vant.Toast("请选择请假时间段")
|
||||
return
|
||||
}
|
||||
if (valid) {
|
||||
return
|
||||
}
|
||||
const resp = await $.post('/mobile/meeting/mine/askForLeave', {
|
||||
const resp = await $.post("/mobile/meeting/mine/askForLeave", {
|
||||
meetingId: this.clickRow.id,
|
||||
data: JSON.stringify(paramArray)
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
vant.Toast('操作成功');
|
||||
vant.Toast("操作成功")
|
||||
this.doSearch()
|
||||
this.leaveShow = false
|
||||
}
|
||||
$('.checkDiv').css('display', 'none')
|
||||
$(".checkDiv").css("display", "none")
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.typeList = await meetUtil.getAllMeetingType()
|
||||
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>
|
||||
|
||||
.info {
|
||||
position: relative;
|
||||
width: 88%;
|
||||
@@ -36,7 +35,8 @@ layout("/mobile/platform.html"){
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.van-tab__pane, .van-tab__pane-wrapper {
|
||||
.van-tab__pane,
|
||||
.van-tab__pane-wrapper {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
@@ -101,45 +101,28 @@ layout("/mobile/platform.html"){
|
||||
img {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<van-nav-bar
|
||||
title="心理咨询预约"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="window.history.back()">
|
||||
</van-nav-bar>
|
||||
<van-nav-bar title="心理咨询预约" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="info">
|
||||
<div style="display: flex; align-items: center;">
|
||||
<div style="display: flex; align-items: center">
|
||||
<!--头像-->
|
||||
<div class="avatar">
|
||||
<van-image width="80"
|
||||
:src="APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS+'?id='+doctorData.avatar"></van-image>
|
||||
<van-image width="80" :src="APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS+'?id='+doctorData.avatar"></van-image>
|
||||
</div>
|
||||
<!--其他信息-->
|
||||
<div class="other_info">
|
||||
<div>
|
||||
{{doctorData.username}}
|
||||
</div>
|
||||
<div>
|
||||
{{doctorData.jobTitle}}
|
||||
</div>
|
||||
<div>{{doctorData.username}}</div>
|
||||
<div>{{doctorData.jobTitle}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<van-tabs v-model="active" :style="'height: ' + (window.screen.height - 46 - 40 - 84 - 24 - 44) + 'px'">
|
||||
<van-tab title="预约时段">
|
||||
<van-list
|
||||
v-model="mLoading"
|
||||
:finished="finished"
|
||||
:finished-text="timeData.length > 0 ? '没有更多了' : ''"
|
||||
@load="getDataByDoctorId">
|
||||
<van-list v-model="mLoading" :finished="finished" :finished-text="timeData.length > 0 ? '没有更多了' : ''" @load="getDataByDoctorId">
|
||||
<div v-if="timeData.length > 0" class="time_info" v-for="item in timeData">
|
||||
<div style="color: #1867b0">{{getFormatTime(item)}}</div>
|
||||
<div>
|
||||
@@ -151,8 +134,8 @@ layout("/mobile/platform.html"){
|
||||
v-if="mLoading === false && timeData.length === 0"
|
||||
class="custom-image"
|
||||
image="/none.svg"
|
||||
description="抱歉,此咨询师暂时没有进行排班哦">
|
||||
</van-empty>
|
||||
description="抱歉,此咨询师暂时没有进行排班哦"
|
||||
></van-empty>
|
||||
</van-tab>
|
||||
<van-tab title="咨询师简介">
|
||||
<div class="label">咨询师擅长</div>
|
||||
@@ -163,58 +146,48 @@ layout("/mobile/platform.html"){
|
||||
</van-tabs>
|
||||
|
||||
<van-popup v-model="show" class="apply_pop" position="right">
|
||||
<van-nav-bar
|
||||
title="预约信息"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="show = false">
|
||||
</van-nav-bar>
|
||||
<van-nav-bar title="预约信息" left-arrow placeholder fixed @click-left="show = false"></van-nav-bar>
|
||||
<van-form ref="addForm" :show-error-message="false" input-align="right">
|
||||
<van-cell-group inset class="mt10">
|
||||
<van-field readonly
|
||||
:value="chooseData.startTime"
|
||||
label="开始时间"></van-field>
|
||||
<van-field readonly
|
||||
:value="chooseData.endTime"
|
||||
label="结束时间"></van-field>
|
||||
<van-field readonly :value="chooseData.startTime" label="开始时间"></van-field>
|
||||
<van-field readonly :value="chooseData.endTime" label="结束时间"></van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group inset class="mt10" v-if="chooseData.doctorUser">
|
||||
<van-field readonly
|
||||
:value="chooseData.username"
|
||||
label="咨询师姓名"></van-field>
|
||||
<van-field readonly
|
||||
:value="chooseData.mobile"
|
||||
label="咨询师电话"></van-field>
|
||||
<van-field readonly :value="chooseData.username" label="咨询师姓名"></van-field>
|
||||
<van-field readonly :value="chooseData.mobile" label="咨询师电话"></van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group inset class="mt10">
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
label="预约人姓名"></van-field>
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('loginname')}"
|
||||
label="预约人工号"></van-field>
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('unit').getName()}"
|
||||
label="预约人单位"></van-field>
|
||||
<van-field :rules="[{ required: true, message: '请填写手机号' }]"
|
||||
required placeholder="请填写手机号"
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('username')}" label="预约人姓名"></van-field>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('loginname')}" label="预约人工号"></van-field>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('unit').getName()}" label="预约人单位"></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '请填写手机号' }]"
|
||||
required
|
||||
placeholder="请填写手机号"
|
||||
type="tel"
|
||||
v-model=chooseData.userMobile
|
||||
label="预约人电话"></van-field>
|
||||
v-model="chooseData.userMobile"
|
||||
label="预约人电话"
|
||||
></van-field>
|
||||
</van-cell-group>
|
||||
<van-cell-group inset class="mt10">
|
||||
|
||||
<div v-if="chooseData.askType">
|
||||
<van-field v-model="appointmentAskTypeText" label="咨询方式" @click="appointmentAskTypeShow = true"
|
||||
required :rules="[{ required: true, message: '请选择咨询方式' }]"
|
||||
placeholder="请选择咨询方式"></van-field>
|
||||
<van-field
|
||||
v-model="appointmentAskTypeText"
|
||||
label="咨询方式"
|
||||
@click="appointmentAskTypeShow = true"
|
||||
required
|
||||
:rules="[{ required: true, message: '请选择咨询方式' }]"
|
||||
placeholder="请选择咨询方式"
|
||||
></van-field>
|
||||
<van-popup v-model:show="appointmentAskTypeShow" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="askTypeArray" @confirm="askTypeConfirm"
|
||||
@cancel="appointmentAskTypeShow = false">
|
||||
</van-picker>
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="askTypeArray"
|
||||
@confirm="askTypeConfirm"
|
||||
@cancel="appointmentAskTypeShow = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
</div>
|
||||
|
||||
@@ -235,21 +208,20 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
function getQueryVariable(variable) {
|
||||
var query = window.location.search.substring(1);
|
||||
var vars = query.split("&");
|
||||
var query = window.location.search.substring(1)
|
||||
var vars = query.split("&")
|
||||
for (var i = 0; i < vars.length; i++) {
|
||||
var pair = vars[i].split("=");
|
||||
var pair = vars[i].split("=")
|
||||
if (pair[0] == variable) {
|
||||
return pair[1];
|
||||
return pair[1]
|
||||
}
|
||||
}
|
||||
return '';
|
||||
return ""
|
||||
}
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -257,7 +229,7 @@ layout("/mobile/platform.html"){
|
||||
askTypeList: [],
|
||||
askTypeArray: [],
|
||||
show: false,
|
||||
doctorId: '',
|
||||
doctorId: "",
|
||||
doctorData: {},
|
||||
active: 0,
|
||||
timeData: [],
|
||||
@@ -265,10 +237,10 @@ layout("/mobile/platform.html"){
|
||||
chooseData: {
|
||||
userMobile: null
|
||||
},
|
||||
appointmentUserNote: '',
|
||||
appointmentAskTypeText: '',
|
||||
appointmentAskTypeValue: '',
|
||||
typeId: '',
|
||||
appointmentUserNote: "",
|
||||
appointmentAskTypeText: "",
|
||||
appointmentAskTypeValue: "",
|
||||
typeId: ""
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -279,36 +251,36 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async doSubmit() {
|
||||
if (!this.chooseData.userMobile.trim()) {
|
||||
this.$toast.fail("请填写手机号");
|
||||
this.$toast.fail("请填写手机号")
|
||||
return
|
||||
}
|
||||
if (!this.appointmentAskTypeValue) {
|
||||
this.$toast.fail("请选择咨询方式");
|
||||
this.$toast.fail("请选择咨询方式")
|
||||
return
|
||||
}
|
||||
const valid = await vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确认提交吗?',
|
||||
confirmButtonColor: '#1867b0'
|
||||
title: "提示",
|
||||
message: "您确认提交吗?",
|
||||
confirmButtonColor: "#1867b0"
|
||||
})
|
||||
if (valid) {
|
||||
this.$toast.loading('提交中...')
|
||||
this.$toast.loading("提交中...")
|
||||
const params = {
|
||||
appointmentUserNote: this.appointmentUserNote,
|
||||
appointmentAskTypeValue: this.appointmentAskTypeValue,
|
||||
userMobile: this.chooseData.userMobile,
|
||||
id: this.chooseData.id,
|
||||
isAdd: true,
|
||||
isAdd: true
|
||||
}
|
||||
const resp = await $.post('/mobile/psychologyPro/doApply', params)
|
||||
const resp = await $.post("/mobile/psychologyPro/doApply", params)
|
||||
if (resp.code === 0) {
|
||||
vant.Dialog.alert({
|
||||
title: '提示',
|
||||
message: '您已预约成功!',
|
||||
confirmButtonColor: '#1867b0'
|
||||
title: "提示",
|
||||
message: "您已预约成功!",
|
||||
confirmButtonColor: "#1867b0"
|
||||
}).then(() => {
|
||||
location.replace('/mobile/psychologyPro/myApplyList')
|
||||
});
|
||||
location.replace("/mobile/psychologyPro/myApplyList")
|
||||
})
|
||||
} else if (resp.code === 1) {
|
||||
this.$toast.error(resp.msg)
|
||||
} else if (resp.code === 2) {
|
||||
@@ -317,13 +289,13 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
apply(o) {
|
||||
if (o.title !== '可预约') {
|
||||
if (o.title !== "可预约") {
|
||||
return
|
||||
}
|
||||
this.askTypeArray = []
|
||||
if (o.askType) {
|
||||
const array = JSON.parse(o.askType)
|
||||
this.askTypeList.map(o => {
|
||||
this.askTypeList.map((o) => {
|
||||
if (array.includes(o.code)) {
|
||||
this.askTypeArray.push({ text: o.name, value: o.code })
|
||||
}
|
||||
@@ -338,17 +310,17 @@ layout("/mobile/platform.html"){
|
||||
this.show = true
|
||||
},
|
||||
getFormatTime(o) {
|
||||
const simpleStartDate = moment(o.startTime).format('YYYY-MM-DD')
|
||||
const simpleStartHour = moment(o.startTime).format('HH:mm')
|
||||
const simpleEndHour = moment(o.endTime).format('HH:mm')
|
||||
const simpleStartDate = moment(o.startTime).format("YYYY-MM-DD")
|
||||
const simpleStartHour = moment(o.startTime).format("HH:mm")
|
||||
const simpleEndHour = moment(o.endTime).format("HH:mm")
|
||||
const dayNameOfWeek = this.dayNames[new Date(simpleStartDate).getDay()]
|
||||
return simpleStartDate + ' ' + dayNameOfWeek + ' ' + simpleStartHour + '至' + simpleEndHour
|
||||
return simpleStartDate + " " + dayNameOfWeek + " " + simpleStartHour + "至" + simpleEndHour
|
||||
},
|
||||
async pageData() {
|
||||
this.pageForm.doctorId = this.doctorId
|
||||
const resp = await $.post('/mobile/psychologyPro/pageData', this.pageForm)
|
||||
const resp = await $.post("/mobile/psychologyPro/pageData", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
if (this.doctorId !== '') {
|
||||
if (this.doctorId !== "") {
|
||||
this.doctorData = resp.data[0]
|
||||
} else {
|
||||
this.tableData = resp.data
|
||||
@@ -359,40 +331,40 @@ layout("/mobile/platform.html"){
|
||||
this.mLoading = true
|
||||
this.pageForm.id = this.doctorId
|
||||
this.pageForm.typeId = this.typeId
|
||||
const resp = await $.post('/mobile/psychologyPro/getDataByDoctorId', this.pageForm)
|
||||
const resp = await $.post("/mobile/psychologyPro/getDataByDoctorId", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
const userId = "${@shiro.getPrincipalProperty('id')}"
|
||||
const record = resp.data.list.find(v => v.appointmentUser === userId)
|
||||
const record = resp.data.list.find((v) => v.appointmentUser === userId)
|
||||
if (record) {
|
||||
resp.data.list.forEach(v => {
|
||||
resp.data.list.forEach((v) => {
|
||||
if (new Date().getTime() > v.startTimeTs) {
|
||||
v.className = 'gray'
|
||||
v.title = '不可预约'
|
||||
v.className = "gray"
|
||||
v.title = "不可预约"
|
||||
} else {
|
||||
if (v.appointmentUser === userId) {
|
||||
v.className = 'gray'
|
||||
v.title = '我已预约'
|
||||
v.className = "gray"
|
||||
v.title = "我已预约"
|
||||
} else {
|
||||
v.className = 'gray'
|
||||
v.title = '不可预约'
|
||||
v.className = "gray"
|
||||
v.title = "不可预约"
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
resp.data.list.forEach(v => {
|
||||
resp.data.list.forEach((v) => {
|
||||
if (new Date().getTime() > v.startTimeTs) {
|
||||
v.className = 'gray'
|
||||
v.title = '不可预约'
|
||||
v.className = "gray"
|
||||
v.title = "不可预约"
|
||||
} else {
|
||||
if (!v.appointmentUser) {
|
||||
v.className = '#1867b0'
|
||||
v.title = '可预约'
|
||||
v.className = "#1867b0"
|
||||
v.title = "可预约"
|
||||
} else if (v.appointmentUser === userId) {
|
||||
v.className = 'gray'
|
||||
v.title = '我已预约'
|
||||
v.className = "gray"
|
||||
v.title = "我已预约"
|
||||
} else {
|
||||
v.className = 'gray'
|
||||
v.title = '不可预约'
|
||||
v.className = "gray"
|
||||
v.title = "不可预约"
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -405,14 +377,14 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
}
|
||||
this.mLoading = false
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.doctorId = getQueryVariable('doctorId')
|
||||
this.typeId = getQueryVariable('typeId')
|
||||
this.doctorId = getQueryVariable("doctorId")
|
||||
this.typeId = getQueryVariable("typeId")
|
||||
this.askTypeList = await getDictOptions("psychology_asktype")
|
||||
await this.pageData()
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.info {
|
||||
position: relative;
|
||||
width: 88%;
|
||||
@@ -40,27 +39,18 @@ layout("/mobile/platform.html"){
|
||||
.van-dropdown-menu__item {
|
||||
flex: auto;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<van-nav-bar
|
||||
title="心理咨询师列表"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="window.history.back()">
|
||||
</van-nav-bar>
|
||||
<van-nav-bar title="心理咨询师列表" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<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 class="info" @click="toApply(item)" v-for="item in tableData" style="margin-bottom: 20px">
|
||||
<div style="display: flex;">
|
||||
<div style="display: flex">
|
||||
<!--头像-->
|
||||
<div class="avatar">
|
||||
<van-image width="80" :src="APP_DOMAIN+FILE_STREAM_PREVIEW_ADDRESS+'?id='+item.avatar"></van-image>
|
||||
@@ -69,27 +59,28 @@ layout("/mobile/platform.html"){
|
||||
<div class="other_info">
|
||||
<div>
|
||||
<span style="font-size: 20px">{{item.username}} </span>
|
||||
<span style="color: grey">{{item.sex}} </span> 
|
||||
<span style="color: grey">{{item.sex}} </span>
|
||||
 
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<span style="color: grey">职称:</span>{{item.jobTitle}}
|
||||
<span style="color: grey">职称:</span>
|
||||
{{item.jobTitle}}
|
||||
</div>
|
||||
<div>
|
||||
<span style="color: grey">单位:</span>{{item.unitName}}
|
||||
<span style="color: grey">单位:</span>
|
||||
{{item.unitName}}
|
||||
</div>
|
||||
<div class="desc">
|
||||
<span style="color: grey">特长:</span>{{item.specialty}}
|
||||
<span style="color: grey">特长:</span>
|
||||
{{item.specialty}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</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>
|
||||
<van-tabbar v-model="tarBarActive">
|
||||
@@ -97,21 +88,20 @@ layout("/mobile/platform.html"){
|
||||
<van-tabbar-item icon="manager-o" replace url="/mobile/psychologyPro/myApplyList">我的预约</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
tarBarActive: 0,
|
||||
typeList: [
|
||||
{text: '时间不限', value: 'no'},
|
||||
{text: '本周', value: 'thisWeek'},
|
||||
{text: '下周', value: 'nextWeek'},
|
||||
],
|
||||
{ text: "时间不限", value: "no" },
|
||||
{ text: "本周", value: "thisWeek" },
|
||||
{ text: "下周", value: "nextWeek" }
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -120,19 +110,19 @@ layout("/mobile/platform.html"){
|
||||
this.pageData()
|
||||
},
|
||||
async pageData() {
|
||||
const resp = await $.post('/mobile/psychologyPro/pageData', this.pageForm)
|
||||
const resp = await $.post("/mobile/psychologyPro/pageData", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
this.tableData = resp.data
|
||||
}
|
||||
},
|
||||
toApply(o) {
|
||||
location.href = '/mobile/psychologyPro/apply?doctorId=' + o.userid + '&typeId=' + this.pageForm.typeId
|
||||
location.href = "/mobile/psychologyPro/apply?doctorId=" + o.userid + "&typeId=" + this.pageForm.typeId
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.$set(this.pageForm, "typeId", this.typeList[0].value)
|
||||
await this.pageData()
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<style>
|
||||
.list-card {
|
||||
background: #FFFFFF;
|
||||
background: #ffffff;
|
||||
width: 92%;
|
||||
margin: 0px auto 20px;
|
||||
box-shadow: 0 2px 10px rgb(125 126 128 / 16%);
|
||||
@@ -79,7 +79,7 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.van-card-body {
|
||||
padding: 0px 10px 0px 10px
|
||||
padding: 0px 10px 0px 10px;
|
||||
}
|
||||
|
||||
.van-doc-card > div:first-child {
|
||||
@@ -114,29 +114,23 @@ layout("/mobile/platform.html"){
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar
|
||||
title="我的预约记录"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="window.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>
|
||||
<van-dropdown-item v-model="pageForm.year" :options="yearList"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.stateId" :options="stateList"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.year" :options="yearList" @change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.stateId" :options="stateList" @change="doSearch"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<div style="margin: 60px auto 0 auto">
|
||||
<van-list v-model="loading"
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
:immediate-check="false"
|
||||
@load="pageData">
|
||||
@load="pageData"
|
||||
>
|
||||
<div v-for="o in tableData" class="list-card" @click="viewInfo(o)">
|
||||
<div class="card-head">
|
||||
心理咨询预约
|
||||
@@ -152,35 +146,32 @@ layout("/mobile/platform.html"){
|
||||
<van-cell :border="false" title="结束时间">{{o.endTime}}</van-cell>
|
||||
</van-cell-group>
|
||||
<div class="cancel-button">
|
||||
<van-button v-if="moment().unix() < moment(o.startTime).unix()" style="margin-right: 4px"
|
||||
@click.stop="update(o)" round size="small" color="#1867b0">修改
|
||||
<van-button
|
||||
v-if="moment().unix() < moment(o.startTime).unix()"
|
||||
style="margin-right: 4px"
|
||||
@click.stop="update(o)"
|
||||
round
|
||||
size="small"
|
||||
color="#1867b0"
|
||||
>
|
||||
修改
|
||||
</van-button>
|
||||
<van-button v-if="moment().unix() < moment(o.startTime).unix()"
|
||||
@click.stop="doCancel(o.id)" round size="small" color="#1867b0">取消
|
||||
<van-button v-if="moment().unix() < moment(o.startTime).unix()" @click.stop="doCancel(o.id)" round size="small" color="#1867b0">
|
||||
取消
|
||||
</van-button>
|
||||
</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>
|
||||
|
||||
<van-popup v-model="show" class="apply_pop" position="right">
|
||||
<van-nav-bar
|
||||
title="预约详细信息"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="show = false"
|
||||
safe-area-inset-top></van-nav-bar>
|
||||
<van-nav-bar title="预约详细信息" left-arrow placeholder fixed @click-left="show = false" safe-area-inset-top></van-nav-bar>
|
||||
|
||||
<div class="van-doc-card" style="margin: 16px">
|
||||
<div></div>
|
||||
<div class="van-card-header">
|
||||
预约时间段
|
||||
</div>
|
||||
<div class="van-card-header">预约时间段</div>
|
||||
<div class="van-card-body">
|
||||
<van-cell-group>
|
||||
<van-cell title="开始时间">{{ viewData.startTime }}</van-cell>
|
||||
@@ -191,9 +182,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div class="van-doc-card" style="margin: 16px">
|
||||
<div></div>
|
||||
<div class="van-card-header">
|
||||
预约人信息
|
||||
</div>
|
||||
<div class="van-card-header">预约人信息</div>
|
||||
<div class="van-card-body">
|
||||
<van-cell-group>
|
||||
<van-cell title="姓名">{{ viewData.appointmentUserName }}</van-cell>
|
||||
@@ -208,9 +197,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div class="van-doc-card" style="margin: 16px">
|
||||
<div></div>
|
||||
<div class="van-card-header">
|
||||
咨询师信息
|
||||
</div>
|
||||
<div class="van-card-header">咨询师信息</div>
|
||||
<div class="van-card-body">
|
||||
<van-cell-group>
|
||||
<van-cell title="姓名">{{ viewData.doctorUserName || '暂无'}}</van-cell>
|
||||
@@ -220,20 +207,17 @@ layout("/mobile/platform.html"){
|
||||
<van-cell title="咨询方式">
|
||||
<div v-if="!viewData.askType || getDoctorAskTypeName().length === 0">暂无</div>
|
||||
<div v-else>
|
||||
<div v-for="item in getDoctorAskTypeName()">
|
||||
{{ item.name }}
|
||||
</div>
|
||||
<div v-for="item in getDoctorAskTypeName()">{{ item.name }}</div>
|
||||
</div>
|
||||
</van-cell>
|
||||
<van-cell @click="doctorIntroduceShow = true" title="个人简介" is-link>
|
||||
<div style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis; word-break: break-word;">
|
||||
<div style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis; word-break: break-word">
|
||||
{{ viewData.doctorIntroduce || '暂无'}}
|
||||
</div>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</van-popup>
|
||||
|
||||
<van-popup v-model:show="doctorIntroduceShow" position="bottom" round style="padding: 20px; width: auto">
|
||||
@@ -247,57 +231,45 @@ layout("/mobile/platform.html"){
|
||||
</van-popup>
|
||||
|
||||
<van-popup v-model="infoShow" class="apply_pop" position="right">
|
||||
<van-nav-bar
|
||||
title="预约信息"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="infoShow = false">
|
||||
</van-nav-bar>
|
||||
<van-nav-bar title="预约信息" left-arrow placeholder fixed @click-left="infoShow = false"></van-nav-bar>
|
||||
<van-form ref="addForm" :show-error-message="false" input-align="right">
|
||||
<van-cell-group inset class="mt10">
|
||||
<van-field readonly
|
||||
:value="chooseData.startTime"
|
||||
label="开始时间"></van-field>
|
||||
<van-field readonly
|
||||
:value="chooseData.endTime"
|
||||
label="结束时间"></van-field>
|
||||
<van-field readonly :value="chooseData.startTime" label="开始时间"></van-field>
|
||||
<van-field readonly :value="chooseData.endTime" label="结束时间"></van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group inset class="mt10" v-if="chooseData.doctorUser">
|
||||
<van-field readonly
|
||||
:value="chooseData.doctorUserName"
|
||||
label="咨询师姓名"></van-field>
|
||||
<van-field readonly
|
||||
:value="chooseData.doctorMobile"
|
||||
label="咨询师电话"></van-field>
|
||||
<van-field readonly :value="chooseData.doctorUserName" label="咨询师姓名"></van-field>
|
||||
<van-field readonly :value="chooseData.doctorMobile" label="咨询师电话"></van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group inset class="mt10">
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
label="预约人姓名"></van-field>
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('loginname')}"
|
||||
label="预约人工号"></van-field>
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('unit').getName()}"
|
||||
label="预约人单位"></van-field>
|
||||
<van-field :rules="[{ required: true, message: '请填写电话' }]"
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('username')}" label="预约人姓名"></van-field>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('loginname')}" label="预约人工号"></van-field>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('unit').getName()}" label="预约人单位"></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '请填写电话' }]"
|
||||
required
|
||||
type="tel"
|
||||
v-model=chooseData.userMobile
|
||||
label="预约人电话"></van-field>
|
||||
v-model="chooseData.userMobile"
|
||||
label="预约人电话"
|
||||
></van-field>
|
||||
</van-cell-group>
|
||||
<van-cell-group inset class="mt10">
|
||||
|
||||
<div v-if="chooseData.askType">
|
||||
<van-field v-model="appointmentAskTypeText" label="咨询方式" @click="appointmentAskTypeShow = true"
|
||||
placeholder="请选择咨询方式"></van-field>
|
||||
<van-field
|
||||
v-model="appointmentAskTypeText"
|
||||
label="咨询方式"
|
||||
@click="appointmentAskTypeShow = true"
|
||||
placeholder="请选择咨询方式"
|
||||
></van-field>
|
||||
<van-popup v-model:show="appointmentAskTypeShow" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="askTypeArray" @confirm="askTypeConfirm"
|
||||
@cancel="appointmentAskTypeShow = false">
|
||||
</van-picker>
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="askTypeArray"
|
||||
@confirm="askTypeConfirm"
|
||||
@cancel="appointmentAskTypeShow = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
</div>
|
||||
|
||||
@@ -326,28 +298,28 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
tarBarActive: 1,
|
||||
appointmentAskTypeText: '',
|
||||
appointmentUserNote: '',
|
||||
appointmentAskTypeText: "",
|
||||
appointmentUserNote: "",
|
||||
appointmentAskTypeShow: false,
|
||||
appointmentAskTypeValue: '',
|
||||
appointmentAskTypeValue: "",
|
||||
askTypeArray: [],
|
||||
chooseData: {},
|
||||
infoShow: false,
|
||||
doctorIntroduceShow: false,
|
||||
stateList: [
|
||||
{text: '全部预约状态', value: null},
|
||||
{text: '预约中', value: 2100},
|
||||
{text: '预约成功', value: 2300},
|
||||
{text: '预约失败', value: 2200}
|
||||
{ text: "全部预约状态", value: null },
|
||||
{ text: "预约中", value: 2100 },
|
||||
{ text: "预约成功", value: 2300 },
|
||||
{ text: "预约失败", value: 2200 }
|
||||
],
|
||||
askTypeList: [],
|
||||
show: false,
|
||||
viewData: {},
|
||||
viewData: {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -355,15 +327,15 @@ layout("/mobile/platform.html"){
|
||||
this.askTypeArray = []
|
||||
if (o.askType) {
|
||||
const array = JSON.parse(o.askType)
|
||||
this.askTypeList.map(o => {
|
||||
this.askTypeList.map((o) => {
|
||||
if (array.includes(o.code)) {
|
||||
this.askTypeArray.push({ text: o.name, value: o.code })
|
||||
}
|
||||
})
|
||||
}
|
||||
if (o.appointmentAskTypeValue) {
|
||||
const type = this.askTypeList.find(x => x.code === o.appointmentAskTypeValue)
|
||||
this.appointmentAskTypeText = type ? type.name : ''
|
||||
const type = this.askTypeList.find((x) => x.code === o.appointmentAskTypeValue)
|
||||
this.appointmentAskTypeText = type ? type.name : ""
|
||||
}
|
||||
this.chooseData = o
|
||||
this.appointmentUserNote = o.appointmentUserNote
|
||||
@@ -377,28 +349,28 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async doSubmit() {
|
||||
if (!this.chooseData.userMobile) {
|
||||
this.$toast.fail("请输入手机号");
|
||||
this.$toast.fail("请输入手机号")
|
||||
return
|
||||
}
|
||||
const valid = await vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确认提交吗?',
|
||||
confirmButtonColor: '#1867b0'
|
||||
title: "提示",
|
||||
message: "您确认提交吗?",
|
||||
confirmButtonColor: "#1867b0"
|
||||
})
|
||||
if (valid) {
|
||||
this.$toast.loading('提交中...')
|
||||
this.$toast.loading("提交中...")
|
||||
const params = {
|
||||
appointmentUserNote: this.appointmentUserNote,
|
||||
appointmentAskTypeValue: this.appointmentAskTypeValue,
|
||||
userMobile: this.chooseData.userMobile,
|
||||
id: this.chooseData.id,
|
||||
isAdd: false,
|
||||
isAdd: false
|
||||
}
|
||||
const resp = await $.post('/mobile/psychologyPro/doApply', params)
|
||||
const resp = await $.post("/mobile/psychologyPro/doApply", params)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success('修改成功')
|
||||
this.$toast.success("修改成功")
|
||||
setTimeout(() => {
|
||||
location.replace('/mobile/psychologyPro/myApplyList')
|
||||
location.replace("/mobile/psychologyPro/myApplyList")
|
||||
}, 1000)
|
||||
} else if (resp.code === 1) {
|
||||
this.$toast.error(resp.msg)
|
||||
@@ -409,17 +381,17 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
getAskTypeName() {
|
||||
if (this.viewData.appointmentAskTypeValue) {
|
||||
const type = this.askTypeList.find(o => o.code === this.viewData.appointmentAskTypeValue + '')
|
||||
return type ? type.name : '暂无'
|
||||
const type = this.askTypeList.find((o) => o.code === this.viewData.appointmentAskTypeValue + "")
|
||||
return type ? type.name : "暂无"
|
||||
} else {
|
||||
return '暂无'
|
||||
return "暂无"
|
||||
}
|
||||
},
|
||||
getDoctorAskTypeName() {
|
||||
const askTypeArray = []
|
||||
if (this.viewData.askType) {
|
||||
const array = JSON.parse(this.viewData.askType)
|
||||
this.askTypeList.map(o => {
|
||||
this.askTypeList.map((o) => {
|
||||
if (array.includes(o.code)) {
|
||||
askTypeArray.push(o)
|
||||
}
|
||||
@@ -429,7 +401,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async pageData() {
|
||||
this.loading = true
|
||||
const {data} = await $.get('/mobile/psychologyPro/MyPageData', this.pageForm)
|
||||
const { data } = await $.get("/mobile/psychologyPro/MyPageData", this.pageForm)
|
||||
setTimeout(() => {
|
||||
this.tableData = this.tableData.concat(data.list)
|
||||
if (this.tableData.length === data.totalCount) {
|
||||
@@ -452,14 +424,14 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async doCancel(id) {
|
||||
const confirm = await vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确定取消此次预约吗?',
|
||||
confirmButtonColor: '#1867b0'
|
||||
title: "提示",
|
||||
message: "您确定取消此次预约吗?",
|
||||
confirmButtonColor: "#1867b0"
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
const resp = await $.post('/mobile/psychologyPro/doCancel', {id})
|
||||
if (confirm === "confirm") {
|
||||
const resp = await $.post("/mobile/psychologyPro/doCancel", { id })
|
||||
if (resp.code === 0) {
|
||||
vant.Toast.success('取消成功')
|
||||
vant.Toast.success("取消成功")
|
||||
this.doSearch()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,15 +100,12 @@ layout("/mobile/platform.html"){
|
||||
padding: 10px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<div class="root">
|
||||
<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>
|
||||
<template v-if="!mLoading">
|
||||
<div v-if="finishAnswer">
|
||||
{{finishAnswer}}
|
||||
@@ -120,38 +117,28 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-empty>
|
||||
</div>
|
||||
<div v-else class="page-survey" style="touch-action: manipulation;min-height: 100vh;">
|
||||
<div v-else class="page-survey" style="touch-action: manipulation; min-height: 100vh">
|
||||
<div class="survey-container">
|
||||
|
||||
<div class="survey-head">
|
||||
<div class="title">
|
||||
{{questionData.qtitle}}
|
||||
</div>
|
||||
<div class="desc">
|
||||
{{titleMsg}}
|
||||
</div>
|
||||
<div class="title">{{questionData.qtitle}}</div>
|
||||
<div class="desc">{{titleMsg}}</div>
|
||||
</div>
|
||||
|
||||
<div class="question-list">
|
||||
<section v-for="(issue,issueIdx) in issueList" :key="issue.iid" class="question"
|
||||
:id="'issue'+issue.iid">
|
||||
<section v-for="(issue,issueIdx) in issueList" :key="issue.iid" class="question" :id="'issue'+issue.iid">
|
||||
<div class="question-head">
|
||||
<div class="question-tags">
|
||||
<template v-if="issue.itx===1">
|
||||
<van-tag :type="issue.iisdx?'primary':'warning'">{{issue.iisdx?'单选':'多选'}}
|
||||
</van-tag>
|
||||
<van-tag :type="issue.iisdx?'primary':'warning'">{{issue.iisdx?'单选':'多选'}}</van-tag>
|
||||
</template>
|
||||
<!-- <van-tag v-if="issue.fraction" type="primary">{{issue.fraction}}分</van-tag>-->
|
||||
</div>
|
||||
<h2 class="question-title">
|
||||
<span class="question-seq">
|
||||
<b>
|
||||
{{issueIdx+1}}
|
||||
</b>
|
||||
<b>{{issueIdx+1}}</b>
|
||||
</span>
|
||||
<div class="text" v-html="issue.iname"></div>
|
||||
</h2>
|
||||
|
||||
</div>
|
||||
<div class="question-body">
|
||||
<van-checkbox-group v-model="issue.userSelect" :ref="'checkboxGroup'+issue.iid">
|
||||
@@ -164,13 +151,15 @@ layout("/mobile/platform.html"){
|
||||
@click="toggle(issue,item.wid)"
|
||||
>
|
||||
<template #icon>
|
||||
<van-checkbox :name="item.wid" :ref="'checkboxes'+item.wid"
|
||||
:shape="issue.iisdx?'round':'square'"></van-checkbox>
|
||||
<van-checkbox
|
||||
:name="item.wid"
|
||||
:ref="'checkboxes'+item.wid"
|
||||
:shape="issue.iisdx?'round':'square'"
|
||||
></van-checkbox>
|
||||
</template>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
</van-checkbox-group>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
@@ -178,18 +167,16 @@ layout("/mobile/platform.html"){
|
||||
<van-button type="info" block @click="save()">保存</van-button>
|
||||
<van-button type="info" block @click="submit()">提交</van-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const BASE_URL = '/mobile/question/h5ctgu'
|
||||
const BASE_URL = "/mobile/question/h5ctgu"
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
questionData: {
|
||||
@@ -206,116 +193,115 @@ layout("/mobile/platform.html"){
|
||||
return this.questionData.issues
|
||||
},
|
||||
titleMsg() {
|
||||
const radios = this.issueList.filter(v => v.itx === 1 && v.iisdx)
|
||||
const checkBoxes = this.issueList.filter(v => v.itx === 1 && !v.iisdx)
|
||||
const radios = this.issueList.filter((v) => v.itx === 1 && v.iisdx)
|
||||
const checkBoxes = this.issueList.filter((v) => v.itx === 1 && !v.iisdx)
|
||||
|
||||
const radioScore = radios && radios.length > 0 ? radios[0].fraction : 0
|
||||
const checkBoxesScore = checkBoxes && checkBoxes.length > 0 ? checkBoxes[0].fraction : 0
|
||||
|
||||
const radioScoreSum = radios.map(v => v.fraction ? v.fraction : 0).reduce((a, b) => a + b, 0)
|
||||
const checkBoxesScoreSum = checkBoxes.map(v => v.fraction ? v.fraction : 0).reduce((a, b) => a + b, 0)
|
||||
const radioScoreSum = radios.map((v) => (v.fraction ? v.fraction : 0)).reduce((a, b) => a + b, 0)
|
||||
const checkBoxesScoreSum = checkBoxes.map((v) => (v.fraction ? v.fraction : 0)).reduce((a, b) => a + b, 0)
|
||||
|
||||
const sumScore = radioScoreSum + checkBoxesScoreSum
|
||||
|
||||
let radiosText = ''
|
||||
let checkBoxesText = ''
|
||||
let radiosText = ""
|
||||
let checkBoxesText = ""
|
||||
|
||||
if (radios && radios.length > 0) {
|
||||
radiosText = "单选题" + radios.length + "题,每题" + radioScore + "分,合计" + radioScoreSum + "分;"
|
||||
}
|
||||
if (checkBoxes && checkBoxes.length > 0) {
|
||||
checkBoxesText = "多选题" + checkBoxes.length + "题,每题" + checkBoxesScore + "分,合计" + checkBoxesScoreSum + "分;总分" + sumScore + "分。"
|
||||
checkBoxesText =
|
||||
"多选题" + checkBoxes.length + "题,每题" + checkBoxesScore + "分,合计" + checkBoxesScoreSum + "分;总分" + sumScore + "分。"
|
||||
}
|
||||
return "说明:" + radiosText + checkBoxesText
|
||||
|
||||
},
|
||||
|
||||
fullScore() {
|
||||
return this.issueList.map(v => v.fraction ? v.fraction : 0).reduce((a, b) => a + b)
|
||||
return this.issueList.map((v) => (v.fraction ? v.fraction : 0)).reduce((a, b) => a + b)
|
||||
},
|
||||
radioNum() {
|
||||
return this.issueList.filter(v => v.idx === 1 && v.iisdx).map(v => v.fraction ? v.fraction : 0).reduce((a, b) => a + b)
|
||||
return this.issueList
|
||||
.filter((v) => v.idx === 1 && v.iisdx)
|
||||
.map((v) => (v.fraction ? v.fraction : 0))
|
||||
.reduce((a, b) => a + b)
|
||||
},
|
||||
checkBoxNum() {
|
||||
|
||||
}
|
||||
checkBoxNum() {}
|
||||
},
|
||||
|
||||
methods: {
|
||||
async getQuestionData() {
|
||||
const resp = await $.get(BASE_URL + '/questionInfo/' + this.id)
|
||||
const resp = await $.get(BASE_URL + "/questionInfo/" + this.id)
|
||||
this.questionData = resp.data
|
||||
this.questionData.issues.forEach(i => {
|
||||
this.questionData.issues.forEach((i) => {
|
||||
// i.userSelect = null
|
||||
})
|
||||
|
||||
},
|
||||
toggle(issue, worId) {
|
||||
//单选
|
||||
if (issue.iisdx) {
|
||||
vue.$refs['checkboxGroup' + issue.iid][0].toggleAll(false)
|
||||
vue.$refs["checkboxGroup" + issue.iid][0].toggleAll(false)
|
||||
} else {
|
||||
|
||||
}
|
||||
console.log(issue.userSelect)
|
||||
this.$refs['checkboxes' + worId][0].toggle()
|
||||
this.$refs["checkboxes" + worId][0].toggle()
|
||||
setTimeout(() => {
|
||||
console.log(issue.userSelect)
|
||||
})
|
||||
},
|
||||
|
||||
save() {
|
||||
this.$modal.confirm('保存后下次可继续做答,您确定要保存吗?').then(async () => {
|
||||
const replies = this.questionData.issues.map(v => {
|
||||
this.$modal.confirm("保存后下次可继续做答,您确定要保存吗?").then(async () => {
|
||||
const replies = this.questionData.issues.map((v) => {
|
||||
return {
|
||||
qid: v.iid,
|
||||
issueId: v.iid,
|
||||
userSelect: v.userSelect,
|
||||
userSelect: v.userSelect
|
||||
}
|
||||
})
|
||||
|
||||
const {code} = await $.post(BASE_URL + '/saveAnswer', {
|
||||
const { code } = await $.post(BASE_URL + "/saveAnswer", {
|
||||
replies: JSON.stringify(replies),
|
||||
questionId: this.questionData.qid,
|
||||
isSave: true
|
||||
})
|
||||
this.$modal.closeLoading()
|
||||
if (code === 0) {
|
||||
this.$modal.msg('保存成功')
|
||||
this.$modal.msg("保存成功")
|
||||
} else {
|
||||
this.$modal.msg('保存失败')
|
||||
this.$modal.msg("保存失败")
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
submit() {
|
||||
const iids = this.questionData.issues.filter(v => !v.userSelect).map(v => v.iid)
|
||||
const iids = this.questionData.issues.filter((v) => !v.userSelect).map((v) => v.iid)
|
||||
|
||||
if (iids.length > 0) {
|
||||
vant.Toast('您还有' + iids.length + '题未作答,请答完后再提交!')
|
||||
document.getElementById('issue' + iids[0]).scrollIntoView({behavior: 'smooth', block: 'center','inline':'start'});
|
||||
vant.Toast("您还有" + iids.length + "题未作答,请答完后再提交!")
|
||||
document.getElementById("issue" + iids[0]).scrollIntoView({ behavior: "smooth", block: "center", inline: "start" })
|
||||
return
|
||||
}
|
||||
|
||||
const msg = '一旦提交不可修改,您确定要提交吗?'
|
||||
const msg = "一旦提交不可修改,您确定要提交吗?"
|
||||
|
||||
this.$modal.confirm(msg).then(async () => {
|
||||
const replies = this.questionData.issues.map(v => {
|
||||
const replies = this.questionData.issues.map((v) => {
|
||||
return {
|
||||
qid: v.iid,
|
||||
issueId: v.iid,
|
||||
userSelect: v.userSelect,
|
||||
userSelect: v.userSelect
|
||||
}
|
||||
})
|
||||
|
||||
const {code} = await $.post(BASE_URL + '/saveAnswer', {
|
||||
const { code } = await $.post(BASE_URL + "/saveAnswer", {
|
||||
replies: JSON.stringify(replies),
|
||||
questionId: this.questionData.qid,
|
||||
isSave: false
|
||||
})
|
||||
this.$modal.closeLoading()
|
||||
if (code === 0) {
|
||||
this.$modal.msg('提交成功')
|
||||
this.$modal.msg("提交成功")
|
||||
await this.checkUserFinishAnswer()
|
||||
if (this.finishAnswer) {
|
||||
//查看分数
|
||||
@@ -326,18 +312,17 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
//获取回答信息
|
||||
async getReply() {
|
||||
const resp = await $.get(BASE_URL + '/answerInfo/' + this.id)
|
||||
const resp = await $.get(BASE_URL + "/answerInfo/" + this.id)
|
||||
this.replyInfo = resp.data
|
||||
},
|
||||
//用户是否全部答完提交
|
||||
async checkUserFinishAnswer() {
|
||||
this.mLoading = true
|
||||
const resp = await $.get(BASE_URL + '/checkUserFinishAnswer', {questionId: this.id})
|
||||
const resp = await $.get(BASE_URL + "/checkUserFinishAnswer", { questionId: this.id })
|
||||
setTimeout(async () => {
|
||||
this.mLoading = false
|
||||
this.finishAnswer = resp.data
|
||||
if (resp.data) {
|
||||
|
||||
} else {
|
||||
await this.getReply()
|
||||
await this.assignmentAnswer()
|
||||
@@ -347,9 +332,9 @@ layout("/mobile/platform.html"){
|
||||
|
||||
//答案赋值
|
||||
assignmentAnswer() {
|
||||
this.questionData.issues.forEach(issue => {
|
||||
const rwids = this.replyInfo.filter(v => v.issueId === issue.iid).map(v => v.rwid)
|
||||
rwids.forEach(rwid => {
|
||||
this.questionData.issues.forEach((issue) => {
|
||||
const rwids = this.replyInfo.filter((v) => v.issueId === issue.iid).map((v) => v.rwid)
|
||||
rwids.forEach((rwid) => {
|
||||
this.toggle(issue, rwid)
|
||||
})
|
||||
})
|
||||
@@ -358,21 +343,20 @@ layout("/mobile/platform.html"){
|
||||
answerAgain() {
|
||||
this.finishAnswer = false
|
||||
setTimeout(() => {
|
||||
this.questionData.issues.forEach(issue => {
|
||||
issue.wors.forEach(wor => {
|
||||
this.$refs['checkboxes' + wor.wid][0].toggle(false)
|
||||
this.questionData.issues.forEach((issue) => {
|
||||
issue.wors.forEach((wor) => {
|
||||
this.$refs["checkboxes" + wor.wid][0].toggle(false)
|
||||
})
|
||||
})
|
||||
}, 0)
|
||||
},
|
||||
|
||||
viewScore() {
|
||||
window.location.href = BASE_URL + '/score?id=' + this.id
|
||||
window.location.href = BASE_URL + "/score?id=" + this.id
|
||||
},
|
||||
viewAnswerSheet() {
|
||||
window.location.href = BASE_URL + '/answerSheet?id=' + this.id
|
||||
window.location.href = BASE_URL + "/answerSheet?id=" + this.id
|
||||
}
|
||||
|
||||
},
|
||||
async created() {
|
||||
this.id = GetQueryString("id")
|
||||
@@ -383,17 +367,15 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
})
|
||||
|
||||
window.addEventListener('pageshow', async e => {
|
||||
window.addEventListener("pageshow", async (e) => {
|
||||
if (e.persisted || (window.performance && window.performance.navigation.type === 2)) {
|
||||
vue.id = GetQueryString("id")
|
||||
await vue.getQuestionData()
|
||||
await vue.checkUserFinishAnswer()
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -54,7 +54,7 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.middle-subject-topic {
|
||||
background-color: #FFFFFF;
|
||||
background-color: #ffffff;
|
||||
margin-bottom: 1rem;
|
||||
padding: 10px;
|
||||
border-radius: 10px;
|
||||
@@ -94,11 +94,10 @@ layout("/mobile/platform.html"){
|
||||
line-height: 40px;
|
||||
outline: none;
|
||||
padding: 0 15px;
|
||||
transition: border-color .2s cubic-bezier(.645, .045, .355, 1);
|
||||
transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
.middle-subject-topic-submit .u-btn {
|
||||
width: 60%;
|
||||
}
|
||||
@@ -109,7 +108,7 @@ layout("/mobile/platform.html"){
|
||||
right: 0;
|
||||
height: 40px;
|
||||
z-index: 999;
|
||||
background-color: #FFF;
|
||||
background-color: #fff;
|
||||
box-shadow: 0 0 20px rgb(230, 230, 230);
|
||||
border-radius: 20px 0 0 20px;
|
||||
}
|
||||
@@ -119,7 +118,7 @@ layout("/mobile/platform.html"){
|
||||
width: 40px;
|
||||
box-shadow: 0 0 10px #1678ff;
|
||||
border-radius: 20px 0 0 20px;
|
||||
background-color: #FFF;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
@@ -133,7 +132,7 @@ layout("/mobile/platform.html"){
|
||||
align-items: center;
|
||||
box-shadow: 0 0 10px #1678ff;
|
||||
border-radius: 20px 0 0 20px;
|
||||
background-color: #FFF;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.middle-subject-info-footer {
|
||||
@@ -142,7 +141,7 @@ layout("/mobile/platform.html"){
|
||||
left: 0;
|
||||
right: 0;
|
||||
max-height: 64px;
|
||||
background-color: #FFF;
|
||||
background-color: #fff;
|
||||
box-shadow: 0 0 20px rgb(230, 230, 230);
|
||||
z-index: 999;
|
||||
padding: 10px 20px;
|
||||
@@ -186,13 +185,11 @@ layout("/mobile/platform.html"){
|
||||
.wsmPopup {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<div class="middle-subject">
|
||||
<van-nav-bar title="在线调查" left-arrow
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="在线调查" left-arrow @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="middle-subject-info">
|
||||
<div class="middle-subject-info-scroll">
|
||||
@@ -213,14 +210,16 @@ layout("/mobile/platform.html"){
|
||||
<span>多选</span>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span v-if="issue.iisbd" style="color: red;">*</span>
|
||||
<span v-if="issue.iisbd" style="color: red">*</span>
|
||||
<span class="middle-subject-topic-title">
|
||||
{{ issueIndex + 1 }}.
|
||||
{{ removeHTMLTag(issue.iname) }}
|
||||
{{ issueIndex + 1 }}. {{ removeHTMLTag(issue.iname) }}
|
||||
<span v-if="issue.iminselect">(最少选择:{{issue.iminselect}})</span>
|
||||
<span v-if="issue.imaxselect">(最多选择:{{issue.imaxselect}})</span>
|
||||
<div v-if="issue.its" class="middle-subject-topic-desc"
|
||||
style="margin-left: 17px;font-size: 12px;font-weight: 500;">
|
||||
<div
|
||||
v-if="issue.its"
|
||||
class="middle-subject-topic-desc"
|
||||
style="margin-left: 17px; font-size: 12px; font-weight: 500"
|
||||
>
|
||||
{{ issue.its }}
|
||||
</div>
|
||||
</span>
|
||||
@@ -231,16 +230,15 @@ layout("/mobile/platform.html"){
|
||||
<!-- 单选题 -->
|
||||
<van-radio-group v-if="issue.iisdx" v-model="issue.rwid" :disabled="replyFinish">
|
||||
<div v-for="(wor,worIndex) in issue.wors" :key="wor.wid">
|
||||
<van-radio :ref="wor.wid" :name="wor.wid">
|
||||
{{ letterList[worIndex] }}. {{ wor.wtxt }}
|
||||
</van-radio>
|
||||
<van-radio :ref="wor.wid" :name="wor.wid">{{ letterList[worIndex] }}. {{ wor.wtxt }}</van-radio>
|
||||
<div class="middle-subject-topic-desc">
|
||||
<van-row gutter="16">
|
||||
<van-col span="8" v-if="wor.wimg">
|
||||
<image style="height: 80px;width: 80px"
|
||||
<image
|
||||
style="height: 80px; width: 80px"
|
||||
:src="'/file_server/fileStreamPreview?id='+wor.wimg"
|
||||
mode="aspectFit">
|
||||
</image>
|
||||
mode="aspectFit"
|
||||
></image>
|
||||
</van-col>
|
||||
<van-col span="16" v-if="wor.wsm">
|
||||
<div class="wsm" v-html="wor.wsm" @click="openWsm(wor.wsm)"></div>
|
||||
@@ -251,9 +249,12 @@ layout("/mobile/platform.html"){
|
||||
</van-radio-group>
|
||||
|
||||
<!-- 多选题 -->
|
||||
<van-checkbox-group v-else-if="!issue.iisdx" v-model="issue.rwid"
|
||||
<van-checkbox-group
|
||||
v-else-if="!issue.iisdx"
|
||||
v-model="issue.rwid"
|
||||
:disabled="replyFinish"
|
||||
:max="issue.imaxselect ? issue.imaxselect:0">
|
||||
:max="issue.imaxselect ? issue.imaxselect:0"
|
||||
>
|
||||
<div v-for="(wor,worIndex) in issue.wors" :key="worIndex">
|
||||
<van-checkbox :ref="wor.wid" :name="wor.wid" shape="square">
|
||||
{{ letterList[worIndex] }}. {{ wor.wtxt }}
|
||||
@@ -261,10 +262,11 @@ layout("/mobile/platform.html"){
|
||||
<div class="middle-subject-topic-desc">
|
||||
<van-row gutter="16">
|
||||
<van-col span="8" v-if="wor.wimg">
|
||||
<image style="height: 80px;width: 80px"
|
||||
<image
|
||||
style="height: 80px; width: 80px"
|
||||
:src="'/file_server/fileStreamPreview?id='+wor.wimg"
|
||||
mode="aspectFit">
|
||||
</image>
|
||||
mode="aspectFit"
|
||||
></image>
|
||||
</van-col>
|
||||
<van-col span="16" v-if="wor.wsm">
|
||||
<div class="wsm" v-html=" wor.wsm" @click="openWsm(wor.wsm)"></div>
|
||||
@@ -277,11 +279,17 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<!-- 填空题 -->
|
||||
<template v-if="issue.itx===2">
|
||||
<van-field v-model="issue.rval" type="text" border
|
||||
<van-field
|
||||
v-model="issue.rval"
|
||||
type="text"
|
||||
border
|
||||
class="itx_field"
|
||||
cursor-spacing="100"
|
||||
:show-confirmbar="false"
|
||||
:disabled="replyFinish" :auto-height="true" maxlength="2000"></van-field>
|
||||
:disabled="replyFinish"
|
||||
:auto-height="true"
|
||||
maxlength="2000"
|
||||
></van-field>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
@@ -290,13 +298,8 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div class="middle-subject-info-footer">
|
||||
<div class="middle-subject-info-footer-save">
|
||||
<van-button size="medium" type="primary" @click="saveAnswer"
|
||||
:disabled="replyFinish">保存
|
||||
</van-button>
|
||||
<van-button size="medium" type="info" :disabled="replyFinish"
|
||||
@click="submitAnswer">
|
||||
提交
|
||||
</van-button>
|
||||
<van-button size="medium" type="primary" @click="saveAnswer" :disabled="replyFinish">保存</van-button>
|
||||
<van-button size="medium" type="info" :disabled="replyFinish" @click="submitAnswer">提交</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -309,7 +312,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -324,12 +327,12 @@ layout("/mobile/platform.html"){
|
||||
computed: {
|
||||
letterList() {
|
||||
const alphabet = Array.from(new Array(26), (ele, index) => {
|
||||
return String.fromCharCode(65 + index);
|
||||
return String.fromCharCode(65 + index)
|
||||
})
|
||||
return alphabet
|
||||
},
|
||||
replyFinish() {
|
||||
return this.replyInfo.some(v => !v.save)
|
||||
return this.replyInfo.some((v) => !v.save)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -339,75 +342,73 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
|
||||
async getQuestionData() {
|
||||
const resp = await $.get('/mobile/question/h5/questionInfo/' + this.id)
|
||||
const resp = await $.get("/mobile/question/h5/questionInfo/" + this.id)
|
||||
this.questionData = resp.data
|
||||
this.issueList = this.questionData && this.questionData.issues
|
||||
},
|
||||
saveAnswer() {
|
||||
const formData = this.formatFormData()
|
||||
formData.forEach(v => v.save = true)
|
||||
this.$modal.loading('保存中')
|
||||
$.post('/mobile/question/h5/saveAnswer', {repliesArray: JSON.stringify(formData)}).then(res => {
|
||||
formData.forEach((v) => (v.save = true))
|
||||
this.$modal.loading("保存中")
|
||||
$.post("/mobile/question/h5/saveAnswer", { repliesArray: JSON.stringify(formData) }).then((res) => {
|
||||
this.$modal.closeLoading()
|
||||
if (res.code === 0) {
|
||||
this.$modal.msg('保存成功')
|
||||
this.$modal.msg("保存成功")
|
||||
this.getReply()
|
||||
} else {
|
||||
this.$modal.msg('保存失败')
|
||||
this.$modal.msg("保存失败")
|
||||
}
|
||||
})
|
||||
},
|
||||
submitAnswer() {
|
||||
const formData = this.formatFormData()
|
||||
formData.forEach(v => v.save = false)
|
||||
this.$modal.confirm('您确定要提交吗?提交后不能修改!').then(() => {
|
||||
this.$modal.loading('提交中')
|
||||
$.post('/mobile/question/h5/saveAnswer', {repliesArray: JSON.stringify(formData)}).then(res => {
|
||||
formData.forEach((v) => (v.save = false))
|
||||
this.$modal.confirm("您确定要提交吗?提交后不能修改!").then(() => {
|
||||
this.$modal.loading("提交中")
|
||||
$.post("/mobile/question/h5/saveAnswer", { repliesArray: JSON.stringify(formData) }).then((res) => {
|
||||
this.$modal.closeLoading()
|
||||
if (res.code === 0) {
|
||||
this.$modal.msg('提交成功')
|
||||
this.$modal.msg("提交成功")
|
||||
this.getReply()
|
||||
} else {
|
||||
this.$modal.msg('提交失败')
|
||||
this.$modal.msg("提交失败")
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
validAnswer() {
|
||||
|
||||
},
|
||||
validAnswer() {},
|
||||
|
||||
//格式化提交数据
|
||||
formatFormData() {
|
||||
const formData = []
|
||||
this.issueList.forEach(v => {
|
||||
this.issueList.forEach((v) => {
|
||||
if (v.itx === 1 && v.iisdx) {
|
||||
//单选
|
||||
if (v.rwid) {
|
||||
formData.push({
|
||||
"rwid": v.rwid,
|
||||
"qid": this.questionData.qid,
|
||||
"issueId": v.iid
|
||||
rwid: v.rwid,
|
||||
qid: this.questionData.qid,
|
||||
issueId: v.iid
|
||||
})
|
||||
}
|
||||
} else if (v.itx === 1 && !v.iisdx) {
|
||||
//多选
|
||||
if (v.rwid) {
|
||||
v.rwid.forEach(r => {
|
||||
v.rwid.forEach((r) => {
|
||||
formData.push({
|
||||
"rwid": r,
|
||||
"qid": this.questionData.qid,
|
||||
"issueId": v.iid
|
||||
rwid: r,
|
||||
qid: this.questionData.qid,
|
||||
issueId: v.iid
|
||||
})
|
||||
})
|
||||
}
|
||||
} else if (v.itx === 2) {
|
||||
if (v.rval) {
|
||||
formData.push({
|
||||
"rval": v.rval,
|
||||
"qid": this.questionData.qid,
|
||||
"issueId": v.iid
|
||||
rval: v.rval,
|
||||
qid: this.questionData.qid,
|
||||
issueId: v.iid
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -416,36 +417,36 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
//获取回答信息并赋值
|
||||
async getReply() {
|
||||
const resp = await $.get('/mobile/question/h5/answerInfo/' + this.id)
|
||||
const resp = await $.get("/mobile/question/h5/answerInfo/" + this.id)
|
||||
this.replyInfo = resp.data
|
||||
this.issueList.forEach((issue, issueIndex) => {
|
||||
if (issue.itx === 1 && issue.iisdx) {
|
||||
//单选
|
||||
const rw = this.replyInfo.find(answer => answer.issueId === issue.iid)
|
||||
this.$set(this.issueList[issueIndex], 'rwid', rw ? rw.rwid : null)
|
||||
const rw = this.replyInfo.find((answer) => answer.issueId === issue.iid)
|
||||
this.$set(this.issueList[issueIndex], "rwid", rw ? rw.rwid : null)
|
||||
} else if (issue.itx === 1 && !issue.iisdx) {
|
||||
//多选
|
||||
const rws = this.replyInfo.filter(answer => answer.issueId === issue.iid).map(v => v.rwid)
|
||||
this.$set(this.issueList[issueIndex], 'rwid', rws ? rws : [])
|
||||
const rws = this.replyInfo.filter((answer) => answer.issueId === issue.iid).map((v) => v.rwid)
|
||||
this.$set(this.issueList[issueIndex], "rwid", rws ? rws : [])
|
||||
} else if (issue.itx === 2) {
|
||||
//填空题
|
||||
const rw = this.replyInfo.find(answer => answer.issueId === issue.iid)
|
||||
this.$set(this.issueList[issueIndex], 'rval', rw ? rw.rval : null)
|
||||
const rw = this.replyInfo.find((answer) => answer.issueId === issue.iid)
|
||||
this.$set(this.issueList[issueIndex], "rval", rw ? rw.rval : null)
|
||||
}
|
||||
})
|
||||
},
|
||||
defaultChecked() {
|
||||
const itx = this.issueList[0]['itx']
|
||||
const iisdx = this.issueList[0]['iisdx']
|
||||
const itx = this.issueList[0]["itx"]
|
||||
const iisdx = this.issueList[0]["iisdx"]
|
||||
|
||||
//判断用户是否选过 并且是选择题才可以
|
||||
if (this.replyInfo.length === 0 && itx === 1) {
|
||||
if (iisdx) {
|
||||
const defaultOption = this.issueList[0]['wors'].find(v => v.wismr === true)
|
||||
this.$set(this.issueList[0], 'rwid', defaultOption ? defaultOption.rwid : null)
|
||||
const defaultOption = this.issueList[0]["wors"].find((v) => v.wismr === true)
|
||||
this.$set(this.issueList[0], "rwid", defaultOption ? defaultOption.rwid : null)
|
||||
} else {
|
||||
const defaultOptionIds = this.issueList[0]['wors'].filter(v => v.wismr === true).map(v => v.wid)
|
||||
this.$set(this.issueList[0], 'rwid', defaultOptionIds ? defaultOptionIds : [])
|
||||
const defaultOptionIds = this.issueList[0]["wors"].filter((v) => v.wismr === true).map((v) => v.wid)
|
||||
this.$set(this.issueList[0], "rwid", defaultOptionIds ? defaultOptionIds : [])
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -455,7 +456,7 @@ layout("/mobile/platform.html"){
|
||||
await this.getQuestionData()
|
||||
await this.getReply()
|
||||
// await this.defaultChecked()
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
.cell-card {
|
||||
padding: 20px;
|
||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
|
||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||
width: 90%;
|
||||
margin: 20px auto;
|
||||
border-radius: 20px;
|
||||
@@ -19,34 +19,25 @@ layout("/mobile/platform.html"){
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
</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>
|
||||
<van-pull-refresh v-model="refreshing" @refresh="onRefresh">
|
||||
<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">
|
||||
<van-cell v-for="item in tableData" class="cell-card" @click="openView(item.qid)">
|
||||
<div class="text-overflow" style="font-weight: bold">{{item.qtitle}}</div>
|
||||
<div style="font-size: 12px" v-html="item.qsm"></div>
|
||||
</van-cell>
|
||||
</van-list>
|
||||
</van-pull-refresh>
|
||||
<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>
|
||||
new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
list: [],
|
||||
@@ -59,8 +50,8 @@ layout("/mobile/platform.html"){
|
||||
totalCount: 0
|
||||
},
|
||||
tableData: [],
|
||||
appid: 'wx9fd2b07ea126f9f6',
|
||||
redirect_uri: location.protocol + "//" + location.host,
|
||||
appid: "wx9fd2b07ea126f9f6",
|
||||
redirect_uri: location.protocol + "//" + location.host
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -75,11 +66,10 @@ layout("/mobile/platform.html"){
|
||||
setTimeout(() => {
|
||||
this.refreshing = false
|
||||
}, 1000)
|
||||
|
||||
},
|
||||
async onLoad() {
|
||||
this.loading = true
|
||||
$.post('/mobile/question/list/pageData', this.pageForm).then(res => {
|
||||
$.post("/mobile/question/list/pageData", this.pageForm).then((res) => {
|
||||
this.loading = false
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
@@ -92,12 +82,10 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
},
|
||||
openView(id) {
|
||||
window.location.href = this.redirect_uri + '/platform/zgfw/mobile/questionnaire?qid=' + id
|
||||
window.location.href = this.redirect_uri + "/platform/zgfw/mobile/questionnaire?qid=" + id
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
}
|
||||
created() {}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
|
||||
@@ -44,7 +44,6 @@ layout("/mobile/platform.html"){
|
||||
overflow: hidden;
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
|
||||
}
|
||||
|
||||
.quizzes-item-info {
|
||||
@@ -93,7 +92,6 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.winPopup .van-popup__close-icon {
|
||||
|
||||
}
|
||||
|
||||
.iconDiv {
|
||||
@@ -112,14 +110,12 @@ layout("/mobile/platform.html"){
|
||||
top: 16px;
|
||||
left: 5px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<div class="container">
|
||||
<van-sticky>
|
||||
<van-nav-bar title="列表" left-arrow
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="列表" left-arrow @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
</van-sticky>
|
||||
|
||||
<van-tabs v-model="queryForm.status" @change="doSearch">
|
||||
@@ -139,17 +135,20 @@ layout("/mobile/platform.html"){
|
||||
<div class="quizzes-item-info-title">{{ item.qtitle }}</div>
|
||||
<div class="quizzes-item-info-right">
|
||||
<span class="quizzes-item-info-tip">创建时间:</span>
|
||||
<span class="quizzes-item-info-text">
|
||||
{{ moment(item.createTime).format('YYYY年MM月DD日') }}
|
||||
</span>
|
||||
<span class="quizzes-item-info-text">{{ moment(item.createTime).format('YYYY年MM月DD日') }}</span>
|
||||
</div>
|
||||
<div class="quizzes-item-info-right" v-if="item.qlx!==4">
|
||||
<span class="quizzes-item-info-tip">题目数量:</span>
|
||||
<span class="quizzes-item-info-text">
|
||||
{{item.ctMode === 1 ? item.topicTotal : item.ctNum }}
|
||||
</span>
|
||||
<span class="quizzes-item-info-text">{{item.ctMode === 1 ? item.topicTotal : item.ctNum }}</span>
|
||||
<span class="quizzes-item-info-text" style="position: absolute; right: 0">
|
||||
<van-tag @click.stop="showWinInfo(item)" type="primary" class="win_tag" v-if="item.qlx===2 && item.isRaffle && moment(item.startTime).diff(moment(new Date().getTime()),'days') < 0">获奖信息</van-tag>
|
||||
<van-tag
|
||||
@click.stop="showWinInfo(item)"
|
||||
type="primary"
|
||||
class="win_tag"
|
||||
v-if="item.qlx===2 && item.isRaffle && moment(item.startTime).diff(moment(new Date().getTime()),'days') < 0"
|
||||
>
|
||||
获奖信息
|
||||
</van-tag>
|
||||
<!-- v-if="moment(item.startTime).diff(moment(new Date().getTime()),'days') < 0"-->
|
||||
</span>
|
||||
</div>
|
||||
@@ -159,18 +158,19 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<van-empty v-if="finished && !tableData.length" text="暂无问卷" icon-size="320"
|
||||
src="/static/img/notData.svg">
|
||||
</van-empty>
|
||||
<van-empty v-if="finished && !tableData.length" text="暂无问卷" icon-size="320" src="/static/img/notData.svg"></van-empty>
|
||||
</div>
|
||||
|
||||
<van-popup v-model="winPopupShow" class="winPopup"
|
||||
:style="{ height: '100%' }"
|
||||
>
|
||||
<van-popup v-model="winPopupShow" class="winPopup" :style="{ height: '100%' }">
|
||||
<div style="display: flex; align-items: center">
|
||||
<img v-if="isWin" width="100%" height="60%" src="/assets/mobile/img/question/win.png" />
|
||||
<!-- <img v-if="!isWin" width="100%" height="50%" src="/assets/mobile/img/question/noWin1.png"/>-->
|
||||
<img v-if="!isWin" width="100%" height="50%" src="https://img1.baidu.com/it/u=3192248910,26901819&fm=253&fmt=auto&app=138&f=JPEG?w=403&h=500"/>
|
||||
<img
|
||||
v-if="!isWin"
|
||||
width="100%"
|
||||
height="50%"
|
||||
src="https://img1.baidu.com/it/u=3192248910,26901819&fm=253&fmt=auto&app=138&f=JPEG?w=403&h=500"
|
||||
/>
|
||||
</div>
|
||||
<div class="iconDiv">
|
||||
<div v-if="isWin" style="font-size: 14px;!important;">恭喜您中奖了,本次活动中奖机会只有一次喔!</div>
|
||||
@@ -182,16 +182,16 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
questionStatus: '1',
|
||||
questionStatus: "1",
|
||||
scrollTop: 0,
|
||||
statusBarHeight: 0,
|
||||
pageLoading: false,
|
||||
queryForm: {
|
||||
status: '1'
|
||||
status: "1"
|
||||
},
|
||||
winPopupShow: false,
|
||||
isWin: false
|
||||
@@ -203,9 +203,9 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
methods: {
|
||||
async showWinInfo({ qid }) {
|
||||
const {data} = await $.post('/mobile/question/h5/winInfo', {questionId: qid})
|
||||
const { data } = await $.post("/mobile/question/h5/winInfo", { questionId: qid })
|
||||
const userId = "${@shiro.getPrincipalProperty('id')}"
|
||||
const user = data.find(o => o.id === userId)
|
||||
const user = data.find((o) => o.id === userId)
|
||||
this.isWin = user !== undefined
|
||||
this.winList = data
|
||||
console.log(this.isWin)
|
||||
@@ -221,7 +221,7 @@ layout("/mobile/platform.html"){
|
||||
this.$modal.loading()
|
||||
this.tableLoading = true
|
||||
|
||||
$.post('/mobile/question/h5/pageData', {...this.pageForm, ...this.queryForm}).then(res => {
|
||||
$.post("/mobile/question/h5/pageData", { ...this.pageForm, ...this.queryForm }).then((res) => {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
if (this.tableData.length === this.pageForm.totalCount) {
|
||||
@@ -233,7 +233,6 @@ layout("/mobile/platform.html"){
|
||||
this.$modal.closeLoading()
|
||||
})
|
||||
|
||||
|
||||
// $.post('/activity/question/h5/pageData', this.pageForm, {
|
||||
// params: this.queryForm
|
||||
// }).then(res => {
|
||||
@@ -254,15 +253,15 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
|
||||
tabChange(index) {
|
||||
this.page.current = index;
|
||||
this.page.current = index
|
||||
// this.refresh();
|
||||
},
|
||||
lower(e) {
|
||||
if (!this.finished) this.loadData();
|
||||
if (!this.finished) this.loadData()
|
||||
},
|
||||
|
||||
async hasPermissionByIssue(groupId) {
|
||||
const resp = await this.$http.get('/platform/question/applets/list/hasPermission', {
|
||||
const resp = await this.$http.get("/platform/question/applets/list/hasPermission", {
|
||||
params: { groupId: groupId }
|
||||
})
|
||||
return resp
|
||||
@@ -271,39 +270,38 @@ layout("/mobile/platform.html"){
|
||||
async openAnswer(item) {
|
||||
const { qid, qlx, qflag, activityUserScopeId } = item
|
||||
if (qflag !== 2) {
|
||||
this.$modal.msg('该问卷未发布')
|
||||
this.$modal.msg("该问卷未发布")
|
||||
return
|
||||
}
|
||||
|
||||
const now = new Date().getTime()
|
||||
if (now < item.startTime || now > item.endTime) {
|
||||
this.$modal.msg('不在开启时间内')
|
||||
this.$modal.msg("不在开启时间内")
|
||||
return
|
||||
}
|
||||
|
||||
if (activityUserScopeId) {
|
||||
const resp = await $.get('/mobile/question/h5/checkPermission/' + activityUserScopeId)
|
||||
const resp = await $.get("/mobile/question/h5/checkPermission/" + activityUserScopeId)
|
||||
if (!resp.data) {
|
||||
this.$modal.msg('您无权限参加')
|
||||
this.$modal.msg("您无权限参加")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if (qlx === 1) {
|
||||
//调查
|
||||
location.href = '/mobile/question/h5/poll/index?id=' + qid
|
||||
location.href = "/mobile/question/h5/poll/index?id=" + qid
|
||||
} else if (qlx === 2) {
|
||||
//答题
|
||||
location.href = '/mobile/question/h5/answer/index_ctgu?id=' + qid
|
||||
location.href = "/mobile/question/h5/answer/index_ctgu?id=" + qid
|
||||
} else if (qlx === 3) {
|
||||
//购物
|
||||
location.href = '/mobile/question/h5/shop/index?id=' + qid
|
||||
location.href = "/mobile/question/h5/shop/index?id=" + qid
|
||||
} else if (qlx === 4) {
|
||||
//蛋糕卡
|
||||
location.href = '/mobile/question/h5/cake/index?id=' + qid
|
||||
location.href = "/mobile/question/h5/cake/index?id=" + qid
|
||||
}
|
||||
|
||||
|
||||
// if (qlx === 4) {
|
||||
// if (item.startTime > new Date().getTime() || item.endTime < new Date().getTime()) {
|
||||
// uni.showToast({
|
||||
@@ -338,7 +336,7 @@ layout("/mobile/platform.html"){
|
||||
// });
|
||||
// }
|
||||
}
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.middle-subject-topic {
|
||||
background-color: #FFFFFF;
|
||||
background-color: #ffffff;
|
||||
margin-bottom: 1rem;
|
||||
padding: 20px;
|
||||
border-radius: 10px;
|
||||
@@ -94,11 +94,10 @@ layout("/mobile/platform.html"){
|
||||
line-height: 40px;
|
||||
outline: none;
|
||||
padding: 0 15px;
|
||||
transition: border-color .2s cubic-bezier(.645, .045, .355, 1);
|
||||
transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
.middle-subject-topic-submit .u-btn {
|
||||
width: 60%;
|
||||
}
|
||||
@@ -109,7 +108,7 @@ layout("/mobile/platform.html"){
|
||||
right: 0;
|
||||
height: 40px;
|
||||
z-index: 999;
|
||||
background-color: #FFF;
|
||||
background-color: #fff;
|
||||
box-shadow: 0 0 20px rgb(230, 230, 230);
|
||||
border-radius: 20px 0 0 20px;
|
||||
}
|
||||
@@ -119,7 +118,7 @@ layout("/mobile/platform.html"){
|
||||
width: 40px;
|
||||
box-shadow: 0 0 10px #1678ff;
|
||||
border-radius: 20px 0 0 20px;
|
||||
background-color: #FFF;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
@@ -133,7 +132,7 @@ layout("/mobile/platform.html"){
|
||||
align-items: center;
|
||||
box-shadow: 0 0 10px #1678ff;
|
||||
border-radius: 20px 0 0 20px;
|
||||
background-color: #FFF;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.middle-subject-info-footer {
|
||||
@@ -142,7 +141,7 @@ layout("/mobile/platform.html"){
|
||||
left: 0;
|
||||
right: 0;
|
||||
max-height: 64px;
|
||||
background-color: #FFF;
|
||||
background-color: #fff;
|
||||
box-shadow: 0 0 20px rgb(230, 230, 230);
|
||||
z-index: 999;
|
||||
padding: 10px 20px;
|
||||
@@ -170,8 +169,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<div class="middle-subject">
|
||||
<van-nav-bar title="在线调查" left-arrow
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
<van-nav-bar title="在线调查" left-arrow @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="middle-subject-info">
|
||||
<div class="middle-subject-info-scroll">
|
||||
@@ -192,16 +190,17 @@ layout("/mobile/platform.html"){
|
||||
<span>多选</span>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px">
|
||||
<span v-if="issue.iisbd" style="color: red;">*</span>
|
||||
<span v-if="issue.iisbd" style="color: red">*</span>
|
||||
<span class="middle-subject-topic-title">
|
||||
{{ issueIndex + 1 }}.
|
||||
{{ removeHTMLTag(issue.iname) }}
|
||||
{{ issueIndex + 1 }}. {{ removeHTMLTag(issue.iname) }}
|
||||
<span v-if="issue.iminselect">(最少选择:{{issue.iminselect}})</span>
|
||||
<span v-if="issue.imaxselect">(最多选择:{{issue.imaxselect}})</span>
|
||||
<div v-if="issue.its" class="middle-subject-topic-desc"
|
||||
<div
|
||||
v-if="issue.its"
|
||||
class="middle-subject-topic-desc"
|
||||
v-html="issue.its"
|
||||
style="margin-left: 17px;font-size: 12px;font-weight: 500;">
|
||||
</div>
|
||||
style="margin-left: 17px; font-size: 12px; font-weight: 500"
|
||||
></div>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -210,28 +209,25 @@ layout("/mobile/platform.html"){
|
||||
<!-- 单选题 -->
|
||||
<van-radio-group v-if="issue.iisdx" v-model="issue.rwid" :disabled="replyFinish">
|
||||
<div v-for="(wor,worIndex) in issue.wors" :key="wor.wid">
|
||||
<van-radio :ref="wor.wid" :name="wor.wid">
|
||||
{{ letterList[worIndex] }}. {{ wor.wtxt }}
|
||||
</van-radio>
|
||||
<van-radio :ref="wor.wid" :name="wor.wid">{{ letterList[worIndex] }}. {{ wor.wtxt }}</van-radio>
|
||||
<div class="middle-subject-topic-desc">
|
||||
<van-row gutter="16">
|
||||
<van-col span="8" v-if="wor.wimg">
|
||||
<image style="height: 80px;width: 80px" :src="wor.wimg"
|
||||
mode="aspectFit">
|
||||
</image>
|
||||
</van-col>
|
||||
<van-col span="16" v-if="wor.wsm">
|
||||
{{ wor.wsm }}
|
||||
<image style="height: 80px; width: 80px" :src="wor.wimg" mode="aspectFit"></image>
|
||||
</van-col>
|
||||
<van-col span="16" v-if="wor.wsm">{{ wor.wsm }}</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
</div>
|
||||
</van-radio-group>
|
||||
|
||||
<!-- 多选题 -->
|
||||
<van-checkbox-group v-else-if="!issue.iisdx" v-model="issue.rwid"
|
||||
<van-checkbox-group
|
||||
v-else-if="!issue.iisdx"
|
||||
v-model="issue.rwid"
|
||||
:disabled="replyFinish"
|
||||
:max="issue.imaxselect ? issue.imaxselect:0">
|
||||
:max="issue.imaxselect ? issue.imaxselect:0"
|
||||
>
|
||||
<div v-for="(wor,worIndex) in issue.wors" :key="worIndex">
|
||||
<van-checkbox :ref="wor.wid" :name="wor.wid" shape="square">
|
||||
{{ letterList[worIndex] }}. {{ wor.wtxt }}
|
||||
@@ -239,13 +235,9 @@ layout("/mobile/platform.html"){
|
||||
<div class="middle-subject-topic-desc">
|
||||
<van-row gutter="16">
|
||||
<van-col span="8" v-if="wor.wimg">
|
||||
<image style="height: 80px;width: 80px" :src="wor.wimg"
|
||||
mode="aspectFit">
|
||||
</image>
|
||||
</van-col>
|
||||
<van-col span="16" v-if="wor.wsm">
|
||||
{{ wor.wsm }}
|
||||
<image style="height: 80px; width: 80px" :src="wor.wimg" mode="aspectFit"></image>
|
||||
</van-col>
|
||||
<van-col span="16" v-if="wor.wsm">{{ wor.wsm }}</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
</div>
|
||||
@@ -254,11 +246,17 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<!-- 填空题 -->
|
||||
<template v-if="issue.itx===2">
|
||||
<van-field v-model="issue.rval" type="text" border
|
||||
<van-field
|
||||
v-model="issue.rval"
|
||||
type="text"
|
||||
border
|
||||
class="itx_field"
|
||||
cursor-spacing="100"
|
||||
:show-confirmbar="false"
|
||||
:disabled="replyFinish" :auto-height="true" maxlength="2000"/>
|
||||
:disabled="replyFinish"
|
||||
:auto-height="true"
|
||||
maxlength="2000"
|
||||
/>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
@@ -267,13 +265,8 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div class="middle-subject-info-footer">
|
||||
<div class="middle-subject-info-footer-save">
|
||||
<van-button size="medium" type="primary" @click="saveAnswer"
|
||||
:disabled="replyFinish">保存
|
||||
</van-button>
|
||||
<van-button size="medium" type="info" :disabled="replyFinish"
|
||||
@click="submitAnswer">
|
||||
提交
|
||||
</van-button>
|
||||
<van-button size="medium" type="primary" @click="saveAnswer" :disabled="replyFinish">保存</van-button>
|
||||
<van-button size="medium" type="info" :disabled="replyFinish" @click="submitAnswer">提交</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -282,7 +275,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -295,87 +288,85 @@ layout("/mobile/platform.html"){
|
||||
computed: {
|
||||
letterList() {
|
||||
const alphabet = Array.from(new Array(26), (ele, index) => {
|
||||
return String.fromCharCode(65 + index);
|
||||
return String.fromCharCode(65 + index)
|
||||
})
|
||||
return alphabet
|
||||
},
|
||||
replyFinish() {
|
||||
return this.replyInfo.some(v => !v.save)
|
||||
return this.replyInfo.some((v) => !v.save)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getQuestionData() {
|
||||
const resp = await $.get('/mobile/question/h5/questionInfo/' + this.id)
|
||||
const resp = await $.get("/mobile/question/h5/questionInfo/" + this.id)
|
||||
this.questionData = resp.data
|
||||
this.issueList = this.questionData && this.questionData.issues
|
||||
},
|
||||
saveAnswer() {
|
||||
const formData = this.formatFormData()
|
||||
formData.forEach(v => v.save = true)
|
||||
this.$modal.loading('保存中')
|
||||
$.post('/mobile/question/h5/saveAnswer', {repliesArray: JSON.stringify(formData)}).then(res => {
|
||||
formData.forEach((v) => (v.save = true))
|
||||
this.$modal.loading("保存中")
|
||||
$.post("/mobile/question/h5/saveAnswer", { repliesArray: JSON.stringify(formData) }).then((res) => {
|
||||
this.$modal.closeLoading()
|
||||
if (res.code === 0) {
|
||||
this.$modal.msg('保存成功')
|
||||
this.$modal.msg("保存成功")
|
||||
this.getReply()
|
||||
} else {
|
||||
this.$modal.msg('保存失败')
|
||||
this.$modal.msg("保存失败")
|
||||
}
|
||||
})
|
||||
},
|
||||
submitAnswer() {
|
||||
const v1 = this.issueList.some(v => v.itx === 1 && v.iisbd && v.rwid == null)
|
||||
const v1 = this.issueList.some((v) => v.itx === 1 && v.iisbd && v.rwid == null)
|
||||
if (v1) {
|
||||
this.$modal.msg('请选择后再提交')
|
||||
this.$modal.msg("请选择后再提交")
|
||||
return
|
||||
}
|
||||
const v2 = this.issueList.some(v => v.itx === 2 && v.iisbd && (v.rval == null || v.rval === ''))
|
||||
const v2 = this.issueList.some((v) => v.itx === 2 && v.iisbd && (v.rval == null || v.rval === ""))
|
||||
if (v2) {
|
||||
this.$modal.msg('请填写后再提交')
|
||||
this.$modal.msg("请填写后再提交")
|
||||
return
|
||||
}
|
||||
|
||||
const formData = this.formatFormData()
|
||||
formData.forEach(v => v.save = false)
|
||||
this.$modal.confirm('您确定要提交吗?提交后不能修改!').then(() => {
|
||||
this.$modal.loading('提交中')
|
||||
$.post('/mobile/question/h5/saveAnswer', {repliesArray: JSON.stringify(formData)}).then(res => {
|
||||
formData.forEach((v) => (v.save = false))
|
||||
this.$modal.confirm("您确定要提交吗?提交后不能修改!").then(() => {
|
||||
this.$modal.loading("提交中")
|
||||
$.post("/mobile/question/h5/saveAnswer", { repliesArray: JSON.stringify(formData) }).then((res) => {
|
||||
this.$modal.closeLoading()
|
||||
if (res.code === 0) {
|
||||
this.$modal.msg('提交成功')
|
||||
this.$modal.msg("提交成功")
|
||||
this.getReply()
|
||||
} else {
|
||||
this.$modal.msg('提交失败')
|
||||
this.$modal.msg("提交失败")
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
validAnswer() {
|
||||
|
||||
},
|
||||
validAnswer() {},
|
||||
|
||||
//格式化提交数据
|
||||
formatFormData() {
|
||||
const formData = []
|
||||
this.issueList.forEach(v => {
|
||||
this.issueList.forEach((v) => {
|
||||
if (v.itx === 1 && v.iisdx) {
|
||||
//单选
|
||||
if (v.rwid) {
|
||||
formData.push({
|
||||
"rwid": v.rwid,
|
||||
"qid": this.questionData.qid,
|
||||
"issueId": v.iid
|
||||
rwid: v.rwid,
|
||||
qid: this.questionData.qid,
|
||||
issueId: v.iid
|
||||
})
|
||||
}
|
||||
} else if (v.itx === 1 && !v.iisdx) {
|
||||
//多选
|
||||
if (v.rwid) {
|
||||
v.rwid.forEach(r => {
|
||||
v.rwid.forEach((r) => {
|
||||
formData.push({
|
||||
"rwid": r,
|
||||
"qid": this.questionData.qid,
|
||||
"issueId": v.iid
|
||||
rwid: r,
|
||||
qid: this.questionData.qid,
|
||||
issueId: v.iid
|
||||
})
|
||||
})
|
||||
}
|
||||
@@ -383,10 +374,10 @@ layout("/mobile/platform.html"){
|
||||
if (v.rval) {
|
||||
debugger
|
||||
formData.push({
|
||||
"rwid": v.wors[0].wid,
|
||||
"rval": v.rval,
|
||||
"qid": this.questionData.qid,
|
||||
"issueId": v.iid
|
||||
rwid: v.wors[0].wid,
|
||||
rval: v.rval,
|
||||
qid: this.questionData.qid,
|
||||
issueId: v.iid
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -395,21 +386,21 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
//获取回答信息并赋值
|
||||
async getReply() {
|
||||
const resp = await $.get('/mobile/question/h5/answerInfo/' + this.id)
|
||||
const resp = await $.get("/mobile/question/h5/answerInfo/" + this.id)
|
||||
this.replyInfo = resp.data
|
||||
this.issueList.forEach((issue, issueIndex) => {
|
||||
if (issue.itx === 1 && issue.iisdx) {
|
||||
//单选
|
||||
const rw = this.replyInfo.find(answer => answer.issueId === issue.iid)
|
||||
this.$set(this.issueList[issueIndex], 'rwid', rw ? rw.rwid : null)
|
||||
const rw = this.replyInfo.find((answer) => answer.issueId === issue.iid)
|
||||
this.$set(this.issueList[issueIndex], "rwid", rw ? rw.rwid : null)
|
||||
} else if (issue.itx === 1 && !issue.iisdx) {
|
||||
//多选
|
||||
const rws = this.replyInfo.filter(answer => answer.issueId === issue.iid).map(v => v.rwid)
|
||||
this.$set(this.issueList[issueIndex], 'rwid', rws ? rws : [])
|
||||
const rws = this.replyInfo.filter((answer) => answer.issueId === issue.iid).map((v) => v.rwid)
|
||||
this.$set(this.issueList[issueIndex], "rwid", rws ? rws : [])
|
||||
} else if (issue.itx === 2) {
|
||||
//填空题
|
||||
const rw = this.replyInfo.find(answer => answer.issueId === issue.iid)
|
||||
this.$set(this.issueList[issueIndex], 'rval', rw ? rw.rval : null)
|
||||
const rw = this.replyInfo.find((answer) => answer.issueId === issue.iid)
|
||||
this.$set(this.issueList[issueIndex], "rval", rw ? rw.rval : null)
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -418,7 +409,7 @@ layout("/mobile/platform.html"){
|
||||
this.id = GetQueryString("id")
|
||||
await this.getQuestionData()
|
||||
await this.getReply()
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ 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 style="margin: 20px auto 0">
|
||||
<van-list v-model="mLoading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="onLoad">
|
||||
|
||||
@@ -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>
|
||||
<rxdj-mobile-info :dj_id="dj_id" title="登记信息"></rxdj-mobile-info>
|
||||
@@ -15,22 +13,18 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
dj_id: GetQueryString('dj_id'),
|
||||
dj_id: GetQueryString("dj_id")
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'rxdj-mobile-info': httpVueLoader('/components/zgfw/rxdj/mobileRxdj.vue?v=' + new Date().getTime()),
|
||||
"rxdj-mobile-info": httpVueLoader("/components/zgfw/rxdj/mobileRxdj.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {
|
||||
|
||||
},
|
||||
async created() {
|
||||
|
||||
}
|
||||
methods: {},
|
||||
async created() {}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
|
||||
@@ -5,27 +5,18 @@ 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 style="margin: 20px auto 0">
|
||||
<van-list
|
||||
v-model="mLoading"
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
<van-list v-model="mLoading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="onLoad">
|
||||
<div v-for="o in tableData" class="list-card" @click="openView(o)">
|
||||
<van-cell-group inset>
|
||||
<van-cell :border="false" title="年度">{{o.bmyear}}</van-cell>
|
||||
<van-cell title="登记类型" :border="false">
|
||||
<div style="display: flex; align-items: center">
|
||||
<span :style="{color:themeColor}" style="font-size: 16px"
|
||||
class="van-ellipsis">{{o.bmlx=='1'?'幼升小':o.bmlx=='2'?'小学':'初升高'}}</span>
|
||||
<span :style="{color:themeColor}" style="font-size: 16px" class="van-ellipsis">
|
||||
{{o.bmlx=='1'?'幼升小':o.bmlx=='2'?'小学':'初升高'}}
|
||||
</span>
|
||||
</div>
|
||||
</van-cell>
|
||||
|
||||
@@ -34,12 +25,7 @@ layout("/mobile/platform.html"){
|
||||
</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>
|
||||
|
||||
<div>
|
||||
@@ -48,12 +34,11 @@ layout("/mobile/platform.html"){
|
||||
<van-tabbar-item icon="manager-o" replace url="/platform/zgfw/mobile/rxdj/apply">我的</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -63,7 +48,7 @@ layout("/mobile/platform.html"){
|
||||
methods: {
|
||||
async onLoad() {
|
||||
this.mLoading = true
|
||||
$.post('/mobile/rxdj/apply/pageData', this.pageForm).then(res => {
|
||||
$.post("/mobile/rxdj/apply/pageData", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -80,26 +65,25 @@ layout("/mobile/platform.html"){
|
||||
const isExist = await getScopeUser(o.activityGroupId)
|
||||
if (!isExist) {
|
||||
vant.Dialog.alert({
|
||||
title: '温馨提示',
|
||||
title: "温馨提示",
|
||||
message: "您不在报名范围中",
|
||||
confirmButtonColor: '#1867b0'
|
||||
confirmButtonColor: "#1867b0"
|
||||
})
|
||||
return
|
||||
}
|
||||
if (moment().format("YYYY-MM-DD") < bmkssj) {
|
||||
vant.Toast('报名暂未开始!')
|
||||
vant.Toast("报名暂未开始!")
|
||||
return
|
||||
} else if (moment().format("YYYY-MM-DD") > bmjssj) {
|
||||
vant.Toast('报名已结束!')
|
||||
vant.Toast("报名已结束!")
|
||||
return
|
||||
}
|
||||
window.location.href = '/platform/zgfw/mobile/rxdj/psms?client=mobile&dj_djlx=' + bmlx
|
||||
window.location.href = "/platform/zgfw/mobile/rxdj/psms?client=mobile&dj_djlx=" + bmlx
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
}
|
||||
async created() {}
|
||||
})
|
||||
window.addEventListener('pageshow', e => {
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
if (e.persisted || (window.performance && window.performance.navigation.type === 2)) {
|
||||
vue.tableData = []
|
||||
vue.onLoad()
|
||||
@@ -107,7 +91,6 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -5,7 +5,7 @@ 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="RGB(8,23,118)">
|
||||
<van-dropdown-item v-model="pageForm.year" @change="yearChange" :options="yearList"></van-dropdown-item>
|
||||
|
||||
@@ -3,21 +3,17 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar @click-left="history.back()" title="校工会审核" fixed placeholder left-arrow></van-nav-bar>
|
||||
<van-nav-bar @click-left="pjaxReplace('/mobile/index')" title="校工会审核" fixed placeholder left-arrow></van-nav-bar>
|
||||
<rxdj-mobile-info :dj_id="dj_id" title="校工会审核" :handle="handle">
|
||||
<template #handle>
|
||||
<div class="handle">
|
||||
<van-form>
|
||||
<van-field
|
||||
readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
></van-field>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('username')}" name="username" label="审核人员"></van-field>
|
||||
|
||||
<van-field v-model="formData.auditTime" label="审核时间" readonly></van-field>
|
||||
|
||||
<van-field v-model="formData.dj_xghshyj"
|
||||
<van-field
|
||||
v-model="formData.dj_xghshyj"
|
||||
required
|
||||
rows="1"
|
||||
autosize
|
||||
@@ -27,89 +23,75 @@ layout("/mobile/platform.html"){
|
||||
></van-field>
|
||||
</van-form>
|
||||
|
||||
<div style="display: flex;justify-content: space-around;padding: 5px 0 20px 0;">
|
||||
|
||||
|
||||
<van-button type="danger" plain style="flex: 1;margin: 0 10px 0 10px"
|
||||
@click="doHandle(5215)">拒绝
|
||||
</van-button>
|
||||
<van-button color="RGB(8,23,118)" plain style="flex: 1;margin: 0 10px 0 10px"
|
||||
@click="doHandle(5218)">
|
||||
退回
|
||||
</van-button>
|
||||
<van-button color="RGB(8,23,118)" style="flex: 1;margin: 0 10px 0 10px"
|
||||
@click="doHandle(5300)">通过
|
||||
</van-button>
|
||||
<div style="display: flex; justify-content: space-around; padding: 5px 0 20px 0">
|
||||
<van-button type="danger" plain style="flex: 1; margin: 0 10px 0 10px" @click="doHandle(5215)">拒绝</van-button>
|
||||
<van-button color="RGB(8,23,118)" plain style="flex: 1; margin: 0 10px 0 10px" @click="doHandle(5218)">退回</van-button>
|
||||
<van-button color="RGB(8,23,118)" style="flex: 1; margin: 0 10px 0 10px" @click="doHandle(5300)">通过</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</rxdj-mobile-info>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
formData: {},
|
||||
dj_id: GetQueryString('dj_id'),
|
||||
handle: true,
|
||||
dj_id: GetQueryString("dj_id"),
|
||||
handle: true
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'rxdj-mobile-info': httpVueLoader('/components/zgfw/rxdj/mobileRxdj.vue?v=' + new Date().getTime()),
|
||||
"rxdj-mobile-info": httpVueLoader("/components/zgfw/rxdj/mobileRxdj.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {
|
||||
async doHandle(s) {
|
||||
this.formData.dj_sqzt = s
|
||||
if (this.formData.dj_xghshyj == "") {
|
||||
vant.Toast('请填写审核意见');
|
||||
vant.Toast("请填写审核意见")
|
||||
return
|
||||
}
|
||||
vant.Dialog.confirm({
|
||||
title: '标题',
|
||||
message: '您确定要提交吗?',
|
||||
}).then(async () => {
|
||||
title: "标题",
|
||||
message: "您确定要提交吗?"
|
||||
})
|
||||
.then(async () => {
|
||||
const loading = this.$toast({
|
||||
duration: 0,
|
||||
message: '提交中...',
|
||||
message: "提交中...",
|
||||
forbidClick: true,
|
||||
loadingType: 'spinner',
|
||||
type: 'loading',
|
||||
loadingType: "spinner",
|
||||
type: "loading",
|
||||
overlay: true
|
||||
});
|
||||
const res = await $.post('/platform/zgfw/rxdj/sh/doxghSh', this.formData)
|
||||
})
|
||||
const res = await $.post("/platform/zgfw/rxdj/sh/doxghSh", this.formData)
|
||||
if (res.code === 0) {
|
||||
window.setTimeout(() => {
|
||||
loading.type = 'success'
|
||||
loading.message = '提交成功'
|
||||
loading.type = "success"
|
||||
loading.message = "提交成功"
|
||||
window.history.back()
|
||||
}, 500)
|
||||
}
|
||||
|
||||
}).catch(() => {
|
||||
});
|
||||
|
||||
})
|
||||
.catch(() => {})
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.formData = {
|
||||
dj_id: this.dj_id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
dj_xghshyj: '',
|
||||
auditTime: moment().format("YYYY-MM-DD"),
|
||||
dj_xghshyj: ""
|
||||
}
|
||||
const { data } = await $.get("/platform/zgfw/mobile/rxdj/audit/GetRxdjDjSqzt", { dj_id: this.dj_id })
|
||||
this.handle = data === 5200
|
||||
},
|
||||
mounted() {
|
||||
}
|
||||
mounted() {}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -3,7 +3,7 @@ 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>
|
||||
<rxdj-mobile-info :dj_id="dj_id" title="基层工会审核" :handle="handle">
|
||||
<template #handle>
|
||||
<div class="handle">
|
||||
|
||||
@@ -163,14 +163,7 @@ layout("/mobile/platform.html"){
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<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
|
||||
@@ -179,48 +172,35 @@ layout("/mobile/platform.html"){
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入供应商名称、申请人进行查询"
|
||||
>
|
||||
</van-search>
|
||||
></van-search>
|
||||
<van-dropdown-menu>
|
||||
<van-dropdown-item :title="pageForm.time" ref="item">
|
||||
<van-cell center title="查询全部">
|
||||
<template #right-icon>
|
||||
<van-switch v-model="pageForm.timeSwitch" size="24"
|
||||
active-color="#246fb4"></van-switch>
|
||||
<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=" "
|
||||
<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>
|
||||
<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.auditState" :options="stateOption"
|
||||
@change="doSearch">
|
||||
</van-dropdown-item>
|
||||
|
||||
|
||||
<van-dropdown-item v-model="pageForm.auditState" :options="stateOption" @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>
|
||||
|
||||
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 74%">
|
||||
<div class="van-ellipsis title">
|
||||
@@ -267,8 +247,7 @@ layout("/mobile/platform.html"){
|
||||
<van-row>
|
||||
<van-col span="24">
|
||||
<span style="color: grey">审核状态:</span>
|
||||
<span v-if="o.auditState===1"
|
||||
style="color: #e6a23c">待审核</span>
|
||||
<span v-if="o.auditState===1" style="color: #e6a23c">待审核</span>
|
||||
<span v-if="o.auditState==3" style="color: #67c23a">审核通过</span>
|
||||
<span v-if="o.auditState==2" style="color: #f56c6c">审核不通过</span>
|
||||
</van-col>
|
||||
@@ -289,38 +268,39 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div style="display: flex; justify-content: flex-end; margin-top: 4px">
|
||||
<div v-if="o.auditState === 1">
|
||||
<van-button @click.stop="openSubmit(o)" class="cus_button"
|
||||
type="primary" size="small" color="#1867b0"
|
||||
style="margin-right: 8px; width: auto;">审  核
|
||||
<van-button
|
||||
@click.stop="openSubmit(o)"
|
||||
class="cus_button"
|
||||
type="primary"
|
||||
size="small"
|
||||
color="#1867b0"
|
||||
style="margin-right: 8px; width: auto"
|
||||
>
|
||||
审  核
|
||||
</van-button>
|
||||
</div>
|
||||
<div>
|
||||
<van-button @click.stop="doDelete(o)" class="cus_button"
|
||||
type="danger" size="small"
|
||||
style="margin-right: 8px; width: auto;">删  除
|
||||
<van-button
|
||||
@click.stop="doDelete(o)"
|
||||
class="cus_button"
|
||||
type="danger"
|
||||
size="small"
|
||||
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="optionShow" title="审核意见" show-cancel-button @confirm="doSubmit">
|
||||
<van-cell center title="是否审核通过:">
|
||||
<template #right-icon>
|
||||
<van-switch v-model="info.checked" size="24" active-color="#07c160"
|
||||
inactive-color="#ee0a24"></van-switch>
|
||||
<van-switch v-model="info.checked" size="24" active-color="#07c160" inactive-color="#ee0a24"></van-switch>
|
||||
</template>
|
||||
</van-cell>
|
||||
<van-field
|
||||
@@ -333,14 +313,12 @@ layout("/mobile/platform.html"){
|
||||
placeholder="请输入审核意见"
|
||||
show-word-limit
|
||||
></van-field>
|
||||
|
||||
</van-dialog>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -349,43 +327,40 @@ layout("/mobile/platform.html"){
|
||||
auditState: 1
|
||||
},
|
||||
stateOption: [
|
||||
{text: '未审核', value: 1},
|
||||
{text: '审核未通过', value: 2},
|
||||
{text: '审核通过', value: 3},
|
||||
{ text: "未审核", value: 1 },
|
||||
{ text: "审核未通过", value: 2 },
|
||||
{ text: "审核通过", value: 3 }
|
||||
],
|
||||
time: new Date(),
|
||||
show: false,
|
||||
timeList: [],
|
||||
info: {},
|
||||
info: {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
doDelete(o) {
|
||||
vant.Dialog.confirm({
|
||||
title: '温馨提示',
|
||||
message: '确认要删除吗?',
|
||||
title: "温馨提示",
|
||||
message: "确认要删除吗?"
|
||||
})
|
||||
.then(async () => {
|
||||
const resp = await $.post(loc() + "/doDelete", { id: o.id })
|
||||
if (resp.code === 0) {
|
||||
vant.Toast.success('删除成功');
|
||||
vant.Toast.success("删除成功")
|
||||
this.doSearch()
|
||||
} else {
|
||||
vant.Toast.fail('删除失败');
|
||||
vant.Toast.fail("删除失败")
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
|
||||
});
|
||||
|
||||
.catch(() => {})
|
||||
},
|
||||
async doSubmit() {
|
||||
const resp = await $.post(loc() + "/doSubmit", this.info)
|
||||
if (resp.code === 0) {
|
||||
vant.Toast.success('审核成功');
|
||||
vant.Toast.success("审核成功")
|
||||
this.doSearch()
|
||||
} else {
|
||||
vant.Toast.fail('审核失败');
|
||||
vant.Toast.fail("审核失败")
|
||||
}
|
||||
},
|
||||
openSubmit(o) {
|
||||
@@ -395,29 +370,31 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
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 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) {
|
||||
@@ -428,10 +405,10 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
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()
|
||||
@@ -439,7 +416,6 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -6,16 +6,9 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script src="${base!}/assets/platform/js/jr-qrcode.js"></script>
|
||||
<div id="app" v-cloak>
|
||||
<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 style="width: 100%;position: fixed;top: 50%;transform: translateY(-50%);">
|
||||
<div style="width: 100%; position: fixed; top: 50%; transform: translateY(-50%)">
|
||||
<div id="qrcode" style="width: 70%; left: 0; right: 0; margin: auto"></div>
|
||||
<van-cell class="mt10">
|
||||
<template #icon>
|
||||
@@ -26,10 +19,7 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-cell>
|
||||
|
||||
<van-cell title="二维码有效期截止时间" is-link :value="dateTimeValue"
|
||||
@click="openDateTime"></van-cell>
|
||||
|
||||
|
||||
<van-cell title="二维码有效期截止时间" is-link :value="dateTimeValue" @click="openDateTime"></van-cell>
|
||||
</div>
|
||||
|
||||
<van-popup v-model="dateTimeShow" position="bottom" :style="{ height: '50%' }">
|
||||
@@ -45,14 +35,11 @@ layout("/mobile/platform.html"){
|
||||
:formatter="formatter"
|
||||
></van-datetime-picker>
|
||||
</van-popup>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -60,30 +47,30 @@ layout("/mobile/platform.html"){
|
||||
maxDate: new Date(2025, 10, 1),
|
||||
currentDate: new Date(new Date().getTime() + 60 * 60 * 1000),
|
||||
dateTimeShow: false,
|
||||
dateTime: '',
|
||||
dateTimeValue: moment(new Date(new Date().getTime() + 60 * 60 * 1000)).format('YYYY-MM-DD HH')
|
||||
dateTime: "",
|
||||
dateTimeValue: moment(new Date(new Date().getTime() + 60 * 60 * 1000)).format("YYYY-MM-DD HH")
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
formatter(type, val) {
|
||||
if (type === 'year') {
|
||||
return val + '年';
|
||||
if (type === "year") {
|
||||
return val + "年"
|
||||
}
|
||||
if (type === 'month') {
|
||||
return val + '月';
|
||||
if (type === "month") {
|
||||
return val + "月"
|
||||
}
|
||||
if (type === 'day') {
|
||||
return val + '日';
|
||||
if (type === "day") {
|
||||
return val + "日"
|
||||
}
|
||||
if (type === 'hour') {
|
||||
return val + '时';
|
||||
if (type === "hour") {
|
||||
return val + "时"
|
||||
}
|
||||
return val;
|
||||
return val
|
||||
},
|
||||
confirm(val) {
|
||||
this.initQrcode();
|
||||
this.initQrcode()
|
||||
this.dateTimeShow = false
|
||||
this.dateTimeValue = moment(val).format('YYYY-MM-DD HH')
|
||||
this.dateTimeValue = moment(val).format("YYYY-MM-DD HH")
|
||||
},
|
||||
openDateTime() {
|
||||
this.dateTimeShow = true
|
||||
@@ -91,23 +78,23 @@ layout("/mobile/platform.html"){
|
||||
initQrcode() {
|
||||
this.$nextTick(() => {
|
||||
$("#qrcode").html("")
|
||||
$("#qrcode").qrcode({ //设置css
|
||||
$("#qrcode").qrcode({
|
||||
//设置css
|
||||
render: "canvas", //二维码的生成方式
|
||||
width: $("#qrcode").width(), //生成二维码的宽度
|
||||
height: $("#qrcode").width(), //生成二维码的高度
|
||||
text: APP_DOMAIN + "/mobile/self/applyUser?currentDate=" + this.currentDate.valueOf(),
|
||||
correctLevel: 3 //容错级别,默认为2,最高为3,为了让用户扫码最快,容错级别应当设为最低
|
||||
});
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.initQrcode();
|
||||
this.initQrcode()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -7,35 +7,21 @@ 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="padding-top: 20px">
|
||||
<van-collapse v-model="activeNames">
|
||||
<van-collapse-item title="提案基本信息" name="1">
|
||||
<van-cell title="提案名称">
|
||||
<div>
|
||||
{{tableData.proposalName}}
|
||||
</div>
|
||||
<div>{{tableData.proposalName}}</div>
|
||||
</van-cell>
|
||||
<van-cell title="提案人">
|
||||
<div>
|
||||
{{tableData.createUserName}}
|
||||
</div>
|
||||
<div>{{tableData.createUserName}}</div>
|
||||
</van-cell>
|
||||
<van-cell title="所在部门">
|
||||
<div>
|
||||
{{tableData.unionName}}
|
||||
</div>
|
||||
<div>{{tableData.unionName}}</div>
|
||||
</van-cell>
|
||||
<van-cell title="提案类型">
|
||||
<div>
|
||||
{{tableData.typeName}}
|
||||
</div>
|
||||
<div>{{tableData.typeName}}</div>
|
||||
</van-cell>
|
||||
<van-cell title="立案结果">
|
||||
<span>{{tableData.resultName ? tableData.resultName : '暂无'}}</span>
|
||||
@@ -44,8 +30,7 @@ layout("/mobile/platform.html"){
|
||||
<div>
|
||||
<span v-if="!tableData.seconded">暂无</span>
|
||||
<span v-else v-for="(item,index) in tableData.seconded">
|
||||
{{ item.username }}
|
||||
{{ index + 1 === tableData.seconded.length ? '' : '、' }}
|
||||
{{ item.username }} {{ index + 1 === tableData.seconded.length ? '' : '、' }}
|
||||
</span>
|
||||
</div>
|
||||
</van-cell>
|
||||
@@ -63,24 +48,22 @@ layout("/mobile/platform.html"){
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
ayActiveNames: [],
|
||||
jyActiveNames: [],
|
||||
activeNames: ['1'],
|
||||
activeNames: ["1"],
|
||||
tableData: {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
checkParams() {
|
||||
if (GetQueryString('id') === '') {
|
||||
vant.Toast.fail('参数不合法');
|
||||
if (GetQueryString("id") === "") {
|
||||
vant.Toast.fail("参数不合法")
|
||||
return false
|
||||
}
|
||||
return true
|
||||
@@ -88,7 +71,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
created() {
|
||||
if (this.checkParams()) {
|
||||
$.post('/platform/mobile/proposal/compose/findOne', {id: GetQueryString('id')}).then(res => {
|
||||
$.post("/platform/mobile/proposal/compose/findOne", { id: GetQueryString("id") }).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = res.data
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
.cell-card {
|
||||
padding: 20px;
|
||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
|
||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||
width: 90%;
|
||||
margin: 20px auto;
|
||||
border-radius: 20px;
|
||||
@@ -24,16 +24,9 @@ layout("/mobile/platform.html"){
|
||||
width: 50%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar
|
||||
title="提案列表"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="location.href='/mobile/index'"
|
||||
></van-nav-bar>
|
||||
<van-nav-bar title="提案列表" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyWord"
|
||||
@@ -41,42 +34,29 @@ layout("/mobile/platform.html"){
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入提案名称或者提案编号进行查询"
|
||||
>
|
||||
|
||||
</van-search>
|
||||
|
||||
></van-search>
|
||||
|
||||
<van-dropdown-menu>
|
||||
<van-dropdown-item v-model="pageForm.sessionId" :options="sessionList" @change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.delegationId" :options="delegationList"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.proposalTypeId" :options="proposalTypeList"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.proposalResultCode" :options="resultList"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.delegationId" :options="delegationList" @change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.proposalTypeId" :options="proposalTypeList" @change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.proposalResultCode" :options="resultList" @change="doSearch"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
|
||||
<van-tabs v-model="active" @click="onClickActive">
|
||||
<van-tab title="未审核">
|
||||
<div>
|
||||
<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">
|
||||
<van-cell v-for="o in tableData" class="cell-card" @click="openView(o.id,o.secondedId)">
|
||||
<div style="display: flex">
|
||||
<div style="width: 75%">
|
||||
<div class="text-overflow" style="font-weight: bold;color: #409EFF">
|
||||
{{o.proposalName}}
|
||||
</div>
|
||||
<div class="text-overflow" style="font-weight: bold; color: #409eff">{{o.proposalName}}</div>
|
||||
<div style="font-size: 12px">编号:{{o.proposalCode}}</div>
|
||||
<div style="font-size: 12px">附议人:{{o.secondedUserName}}</div>
|
||||
<div style="font-size: 12px">教代会届次:{{o.meetingName}}</div>
|
||||
<div style="font-size: 12px">代表团:{{o.delegationName}}</div>
|
||||
</div>
|
||||
<div style="width: 25%;display: flex;align-items: center;">
|
||||
<div style="width: 25%; display: flex; align-items: center">
|
||||
<span :style="'color:'+o.stateColor">{{ o.stateName }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -97,34 +77,22 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-cell>
|
||||
</van-list>
|
||||
<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>
|
||||
</van-tab>
|
||||
<van-tab title="已审核">
|
||||
<div>
|
||||
<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">
|
||||
<van-cell v-for="o in tableData" class="cell-card" @click="openView(o.id,o.secondedId)">
|
||||
<div style="display: flex">
|
||||
<div style="width: 75%">
|
||||
<div class="text-overflow" style="font-weight: bold;color: #409EFF">
|
||||
{{o.proposalName}}
|
||||
</div>
|
||||
<div class="text-overflow" style="font-weight: bold; color: #409eff">{{o.proposalName}}</div>
|
||||
<div style="font-size: 12px">编号:{{o.proposalCode}}</div>
|
||||
<div style="font-size: 12px">附议人:{{o.secondedUserName}}</div>
|
||||
<div style="font-size: 12px">教代会届次:{{o.meetingName}}</div>
|
||||
<div style="font-size: 12px">代表团:{{o.delegationName}}</div>
|
||||
</div>
|
||||
<div style="width: 25%;display: flex;align-items: center;">
|
||||
<div style="width: 25%; display: flex; align-items: center">
|
||||
<span :style="'color:'+o.stateColor">{{ o.stateName }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -145,22 +113,15 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-cell>
|
||||
</van-list>
|
||||
<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>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -169,7 +130,7 @@ layout("/mobile/platform.html"){
|
||||
isAudit: false
|
||||
},
|
||||
list: [],
|
||||
state: '0',
|
||||
state: "0",
|
||||
loading: false,
|
||||
finished: false,
|
||||
refreshing: false,
|
||||
@@ -178,8 +139,9 @@ layout("/mobile/platform.html"){
|
||||
proposalTypeList: [],
|
||||
resultList: [],
|
||||
isAuditList: [
|
||||
{"text": "未审核", "value": false},
|
||||
{"text": "已审核", "value": true}]
|
||||
{ text: "未审核", value: false },
|
||||
{ text: "已审核", value: true }
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -194,20 +156,18 @@ layout("/mobile/platform.html"){
|
||||
setTimeout(() => {
|
||||
this.refreshing = false
|
||||
}, 1000)
|
||||
|
||||
},
|
||||
doSearch() {
|
||||
this.onLoad()
|
||||
},
|
||||
onClickActive(name) {
|
||||
|
||||
this.$set(this.pageForm, "isAudit", name)
|
||||
this.onLoad()
|
||||
},
|
||||
async onLoad() {
|
||||
this.tableData = []
|
||||
this.loading = true
|
||||
$.post('/platform/mobile/proposal/seconded/pageData', this.pageForm).then(res => {
|
||||
$.post("/platform/mobile/proposal/seconded/pageData", this.pageForm).then((res) => {
|
||||
this.loading = false
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
@@ -222,17 +182,18 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
doAudit(flag, row) {
|
||||
const { id, secondedId } = row
|
||||
let res = flag === true ? '通过' : '拒绝'
|
||||
let res = flag === true ? "通过" : "拒绝"
|
||||
|
||||
vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确定' + res + '吗?',
|
||||
}).then(() => {
|
||||
$.post('/platform/proposal/transact/seconded/doAudit', {
|
||||
title: "提示",
|
||||
message: "您确定" + res + "吗?"
|
||||
})
|
||||
.then(() => {
|
||||
$.post("/platform/proposal/transact/seconded/doAudit", {
|
||||
secondedId: secondedId,
|
||||
proposalId: id,
|
||||
flag: flag
|
||||
}).then(res => {
|
||||
}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.pageForm = {
|
||||
pageNumber: 1,
|
||||
@@ -241,26 +202,26 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
this.tableData = []
|
||||
this.onLoad()
|
||||
vant.Toast.success('提交成功!')
|
||||
vant.Toast.success("提交成功!")
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
|
||||
openView(id, secondedId) {
|
||||
// window.location.href = '/platform/mobile/proposal/compose/detail?id=' + id
|
||||
window.location.href = '/platform/mobile/proposal/seconded/view?biz_key=' + secondedId + '&proposal_id=' + id + '&mobile=' + true
|
||||
window.location.href = "/platform/mobile/proposal/seconded/view?biz_key=" + secondedId + "&proposal_id=" + id + "&mobile=" + true
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.sessionList = await mProposal.getAllSession()
|
||||
const a = await getProposalType()
|
||||
if (a) {
|
||||
a.forEach(v => {
|
||||
this.proposalTypeList.push({"text": v.typeName, "value": v.id})
|
||||
a.forEach((v) => {
|
||||
this.proposalTypeList.push({ text: v.typeName, value: v.id })
|
||||
})
|
||||
this.proposalTypeList.unshift({"text": "所有类型", "value": null})
|
||||
this.proposalTypeList.unshift({ text: "所有类型", value: null })
|
||||
this.$set(this.pageForm, "proposalTypeId", this.proposalTypeList[0].value)
|
||||
}
|
||||
if (this.sessionList && this.sessionList.length > 0) {
|
||||
@@ -269,19 +230,17 @@ layout("/mobile/platform.html"){
|
||||
if (this.delegationList) {
|
||||
this.$set(this.pageForm, "delegationId", this.delegationList[0].value)
|
||||
}
|
||||
|
||||
}
|
||||
const aa = await getDictOptions("proposal_result")
|
||||
console.log(aa)
|
||||
if (a) {
|
||||
aa.forEach(v => {
|
||||
this.resultList.push({"text": v.name, "value": v.code})
|
||||
aa.forEach((v) => {
|
||||
this.resultList.push({ text: v.name, value: v.code })
|
||||
})
|
||||
this.resultList.unshift({"text": "所有结果", "value": null})
|
||||
this.resultList.unshift({ text: "所有结果", value: null })
|
||||
this.$set(this.pageForm, "proposalResultCode", this.resultList[0].value)
|
||||
}
|
||||
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
.cell-card {
|
||||
padding: 20px;
|
||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
|
||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||
width: 90%;
|
||||
margin: 20px auto;
|
||||
border-radius: 20px;
|
||||
@@ -19,34 +19,32 @@ layout("/mobile/platform.html"){
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
</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>
|
||||
<van-pull-refresh v-model="refreshing" @refresh="onRefresh">
|
||||
<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">
|
||||
<van-cell v-for="o in tableData" class="cell-card">
|
||||
<div style="width: 100%; display: flex; flex-direction: row">
|
||||
<div class="text-overflow" style="font-weight: bold;color: #409EFF;width: calc(100% - 50px)"
|
||||
@click="openView(o.id)">
|
||||
<div class="text-overflow" style="font-weight: bold; color: #409eff; width: calc(100% - 50px)" @click="openView(o.id)">
|
||||
{{o.proposalName}}
|
||||
</div>
|
||||
|
||||
<div v-if="o.stateCode==100&&!config.isAutoSubmit" @click="doSubmit(o)"
|
||||
style="width: 50px;display: flex;flex-direction:column;align-items: center;justify-content: center;font-size: 20px;color: #409EFF">
|
||||
<div
|
||||
v-if="o.stateCode==100&&!config.isAutoSubmit"
|
||||
@click="doSubmit(o)"
|
||||
style="
|
||||
width: 50px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 20px;
|
||||
color: #409eff;
|
||||
"
|
||||
>
|
||||
<van-icon name="share" />
|
||||
<div style="font-size: 8px">提交</div>
|
||||
</div>
|
||||
@@ -71,18 +69,13 @@ layout("/mobile/platform.html"){
|
||||
</van-cell>
|
||||
</van-list>
|
||||
</van-pull-refresh>
|
||||
<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>
|
||||
new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
list: [],
|
||||
@@ -101,33 +94,32 @@ layout("/mobile/platform.html"){
|
||||
methods: {
|
||||
async doSubmit(row) {
|
||||
vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '是否提交提案?',
|
||||
})
|
||||
.then(async () => {
|
||||
title: "提示",
|
||||
message: "是否提交提案?"
|
||||
}).then(async () => {
|
||||
const toast = vant.Toast.loading({
|
||||
duration: 0,
|
||||
forbidClick: true,
|
||||
message: '正在提交...',
|
||||
});
|
||||
message: "正在提交..."
|
||||
})
|
||||
|
||||
const {code, msg} = await $.post('/platform/proposal/transact/compose/doSubmit', {
|
||||
const { code, msg } = await $.post("/platform/proposal/transact/compose/doSubmit", {
|
||||
id: row.id,
|
||||
mannerCode: row.mannerCode
|
||||
})
|
||||
if (code === 0) {
|
||||
toast.icon = 'success'
|
||||
toast.message = '提交成功'
|
||||
toast.icon = "success"
|
||||
toast.message = "提交成功"
|
||||
await this.onRefresh()
|
||||
} else {
|
||||
toast.icon = 'fail'
|
||||
toast.icon = "fail"
|
||||
toast.message = msg
|
||||
}
|
||||
|
||||
setTimeout(() => {
|
||||
vant.Toast.clear();
|
||||
vant.Toast.clear()
|
||||
}, 500)
|
||||
});
|
||||
})
|
||||
},
|
||||
async onRefresh() {
|
||||
this.tableData = []
|
||||
@@ -140,11 +132,10 @@ layout("/mobile/platform.html"){
|
||||
setTimeout(() => {
|
||||
this.refreshing = false
|
||||
}, 1000)
|
||||
|
||||
},
|
||||
async onLoad() {
|
||||
this.loading = true
|
||||
$.post('/platform/mobile/proposal/compose/pageData', this.pageForm).then(res => {
|
||||
$.post("/platform/mobile/proposal/compose/pageData", this.pageForm).then((res) => {
|
||||
this.loading = false
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
@@ -157,7 +148,7 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
},
|
||||
openView(id) {
|
||||
window.location.href = '/platform/mobile/proposal/compose/detail?id=' + id
|
||||
window.location.href = "/platform/mobile/proposal/compose/detail?id=" + id
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
|
||||
@@ -8,7 +8,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
.cell-card {
|
||||
padding: 20px;
|
||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
|
||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||
width: 90%;
|
||||
margin: 20px auto;
|
||||
border-radius: 20px;
|
||||
@@ -21,54 +21,36 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar
|
||||
title="团长审议"
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="location.href='/mobile/index'"
|
||||
></van-nav-bar>
|
||||
<van-nav-bar title="团长审议" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyWord"
|
||||
shape="round"
|
||||
maxlength="10"
|
||||
@search="doSearch"
|
||||
placeholder="请输入提案名称或者提案编号进行查询"
|
||||
>
|
||||
|
||||
</van-search>
|
||||
|
||||
></van-search>
|
||||
|
||||
<van-dropdown-menu>
|
||||
<van-dropdown-item v-model="pageForm.sessionId" :options="sessionList" @change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.delegationId" :options="delegationList"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.proposalTypeId" :options="proposalTypeList"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.proposalResultCode" :options="resultList"
|
||||
@change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.delegationId" :options="delegationList" @change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.proposalTypeId" :options="proposalTypeList" @change="doSearch"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.proposalResultCode" :options="resultList" @change="doSearch"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
|
||||
<van-tabs v-model="active" @click="onClickActive">
|
||||
<van-tab title="未审核">
|
||||
<div>
|
||||
<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">
|
||||
<van-cell v-for="o in tableData" class="cell-card" @click="openView(o.id)">
|
||||
<div style="display: flex">
|
||||
<div style="width: 75%">
|
||||
<div class="text-overflow" style="font-weight: bold;color: #409EFF">
|
||||
{{o.proposalName}}
|
||||
</div>
|
||||
<div class="text-overflow" style="font-weight: bold; color: #409eff">{{o.proposalName}}</div>
|
||||
<div style="font-size: 12px">编号:{{o.proposalCode}}</div>
|
||||
<div style="font-size: 12px">附议人:{{o.secondedUserName}}</div>
|
||||
<div style="font-size: 12px">教代会届次:{{o.meetingName}}</div>
|
||||
<div style="font-size: 12px">代表团:{{o.delegationName}}</div>
|
||||
</div>
|
||||
<div style="width: 25%;display: flex;align-items: center;">
|
||||
<div style="width: 25%; display: flex; align-items: center">
|
||||
<span :style="'color:'+o.stateColor">{{ o.stateName }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -89,34 +71,22 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-cell>
|
||||
</van-list>
|
||||
<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>
|
||||
</van-tab>
|
||||
<van-tab title="已审核">
|
||||
<div>
|
||||
<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">
|
||||
<van-cell v-for="o in tableData" class="cell-card" @click="openView(o.id)">
|
||||
<div style="display: flex">
|
||||
<div style="width: 75%">
|
||||
<div class="text-overflow" style="font-weight: bold;color: #409EFF">
|
||||
{{o.proposalName}}
|
||||
</div>
|
||||
<div class="text-overflow" style="font-weight: bold; color: #409eff">{{o.proposalName}}</div>
|
||||
<div style="font-size: 12px">编号:{{o.proposalCode}}</div>
|
||||
<div style="font-size: 12px">附议人:{{o.secondedUserName}}</div>
|
||||
<div style="font-size: 12px">教代会届次:{{o.meetingName}}</div>
|
||||
<div style="font-size: 12px">代表团:{{o.delegationName}}</div>
|
||||
</div>
|
||||
<div style="width: 25%;display: flex;align-items: center;">
|
||||
<div style="width: 25%; display: flex; align-items: center">
|
||||
<span :style="'color:'+o.stateColor">{{ o.stateName }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -137,17 +107,11 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-cell>
|
||||
</van-list>
|
||||
<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>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
|
||||
|
||||
<!-- <div>
|
||||
<van-pull-refresh v-model="refreshing" @refresh="onRefresh">
|
||||
<van-list
|
||||
@@ -257,7 +221,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -266,7 +230,7 @@ layout("/mobile/platform.html"){
|
||||
isAudit: false
|
||||
},
|
||||
list: [],
|
||||
state: '0',
|
||||
state: "0",
|
||||
loading: false,
|
||||
finished: false,
|
||||
refreshing: false,
|
||||
@@ -275,8 +239,9 @@ layout("/mobile/platform.html"){
|
||||
proposalTypeList: [],
|
||||
resultList: [],
|
||||
isAuditList: [
|
||||
{"text": "未审核", "value": false},
|
||||
{"text": "已审核", "value": true}]
|
||||
{ text: "未审核", value: false },
|
||||
{ text: "已审核", value: true }
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -291,20 +256,18 @@ layout("/mobile/platform.html"){
|
||||
setTimeout(() => {
|
||||
this.refreshing = false
|
||||
}, 1000)
|
||||
|
||||
},
|
||||
doSearch() {
|
||||
this.onLoad()
|
||||
},
|
||||
onClickActive(name) {
|
||||
|
||||
this.$set(this.pageForm, "isAudit", name)
|
||||
this.onLoad()
|
||||
},
|
||||
async onLoad() {
|
||||
this.tableData = []
|
||||
this.loading = true
|
||||
$.post('/platform/mobile/proposal/delegation/pageData', this.pageForm).then(res => {
|
||||
$.post("/platform/mobile/proposal/delegation/pageData", this.pageForm).then((res) => {
|
||||
this.loading = false
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
@@ -321,19 +284,19 @@ layout("/mobile/platform.html"){
|
||||
proposalId: id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
loginName: "${@shiro.getPrincipalProperty('loginname')}",
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
opinion: '',
|
||||
sign: '',
|
||||
auditTime: moment().format("YYYY-MM-DD"),
|
||||
opinion: "",
|
||||
sign: ""
|
||||
}
|
||||
this.state = '0'
|
||||
this.state = "0"
|
||||
this.show = true
|
||||
},
|
||||
validateForm(action, done) {
|
||||
done(false)
|
||||
},
|
||||
async doHandle() {
|
||||
this.$refs['handleForm'].validate().then(valid => {
|
||||
$.post('/platform/proposal/transact/audit/doAudit', {
|
||||
this.$refs["handleForm"].validate().then((valid) => {
|
||||
$.post("/platform/proposal/transact/audit/doAudit", {
|
||||
audit: JSON.stringify(this.formData),
|
||||
flag: this.state === 0
|
||||
}).then((res) => {
|
||||
@@ -347,26 +310,26 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
this.tableData = []
|
||||
this.onLoad()
|
||||
vant.Toast.success('审核成功!')
|
||||
vant.Toast.success("审核成功!")
|
||||
} else {
|
||||
vant.Toast.error('审核失败!')
|
||||
vant.Toast.error("审核失败!")
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
openView(id) {
|
||||
// window.location.href = '/platform/mobile/proposal/compose/detail?id=' + id
|
||||
window.location.href = '/platform/mobile/proposal/delegation/view?biz_key=' + id + '&proposal_id=' + id + '&mobile=' + true
|
||||
window.location.href = "/platform/mobile/proposal/delegation/view?biz_key=" + id + "&proposal_id=" + id + "&mobile=" + true
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.sessionList = await mProposal.getAllSession()
|
||||
const a = await getProposalType()
|
||||
if (a) {
|
||||
a.forEach(v => {
|
||||
this.proposalTypeList.push({"text": v.typeName, "value": v.id})
|
||||
a.forEach((v) => {
|
||||
this.proposalTypeList.push({ text: v.typeName, value: v.id })
|
||||
})
|
||||
this.proposalTypeList.unshift({"text": "所有类型", "value": null})
|
||||
this.proposalTypeList.unshift({ text: "所有类型", value: null })
|
||||
this.$set(this.pageForm, "proposalTypeId", this.proposalTypeList[0].value)
|
||||
}
|
||||
if (this.sessionList && this.sessionList.length > 0) {
|
||||
@@ -375,14 +338,13 @@ layout("/mobile/platform.html"){
|
||||
if (this.delegationList) {
|
||||
this.$set(this.pageForm, "delegationId", this.delegationList[0].value)
|
||||
}
|
||||
|
||||
}
|
||||
const aa = await getDictOptions("proposal_result")
|
||||
if (a) {
|
||||
aa.forEach(v => {
|
||||
this.resultList.push({"text": v.name, "value": v.code})
|
||||
aa.forEach((v) => {
|
||||
this.resultList.push({ text: v.name, value: v.code })
|
||||
})
|
||||
this.resultList.unshift({"text": "所有结果", "value": null})
|
||||
this.resultList.unshift({ text: "所有结果", value: null })
|
||||
this.$set(this.pageForm, "proposalResultCode", this.resultList[0].value)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -198,7 +198,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-sticky>
|
||||
<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>
|
||||
</van-sticky>
|
||||
|
||||
<!--线路详情-->
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
|
||||
.van-doc-card {
|
||||
margin: 10px;
|
||||
padding: 12px 12px 12px 12px;
|
||||
@@ -30,13 +29,11 @@ layout("/mobile/platform.html"){
|
||||
white-space: break-spaces;
|
||||
padding-left: 7px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<van-sticky>
|
||||
<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>
|
||||
</van-sticky>
|
||||
|
||||
<!--顶部轮播图-->
|
||||
@@ -67,23 +64,20 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div>
|
||||
<van-tabbar v-model="tarBarActive">
|
||||
<van-tabbar-item icon="home-o" replace url="/platform/mobile/theRapyRecuperation/index">疗休养报名
|
||||
</van-tabbar-item>
|
||||
<van-tabbar-item icon="manager-o" replace url="/platform/mobile/theRapyRecuperation/myRecuperation">我的疗休养
|
||||
</van-tabbar-item>
|
||||
<van-tabbar-item icon="home-o" replace url="/platform/mobile/theRapyRecuperation/index">疗休养报名</van-tabbar-item>
|
||||
<van-tabbar-item icon="manager-o" replace url="/platform/mobile/theRapyRecuperation/myRecuperation">我的疗休养</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
chooseButton: [],
|
||||
configData: {},
|
||||
tarBarActive: 0,
|
||||
tarBarActive: 0
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -91,23 +85,23 @@ layout("/mobile/platform.html"){
|
||||
const isExist = await getScopeUser(this.configData.activityGroupId)
|
||||
if (!isExist) {
|
||||
vant.Dialog.alert({
|
||||
title: '温馨提示',
|
||||
message: '您不在疗休养报名范围中',
|
||||
confirmButtonColor: '#1867b0'
|
||||
title: "温馨提示",
|
||||
message: "您不在疗休养报名范围中",
|
||||
confirmButtonColor: "#1867b0"
|
||||
})
|
||||
return
|
||||
}
|
||||
localStorage.setItem("clickIndex", JSON.stringify({ clickIndex: index }))
|
||||
location.href = '/platform/mobile/theRapyRecuperation/mobileLineListPage'
|
||||
location.href = "/platform/mobile/theRapyRecuperation/mobileLineListPage"
|
||||
},
|
||||
async getConfigData() {
|
||||
const resp = await $.get('/platform/theRapyRecuperation/TheRapyConfig/findOne')
|
||||
const resp = await $.get("/platform/theRapyRecuperation/TheRapyConfig/findOne")
|
||||
this.configData = resp.data
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.chooseButton = await getEnumOptions('TheRapyRecuperationType')
|
||||
this.chooseButton = this.chooseButton.filter(o => o.value !== 2 && o.value !== 3)
|
||||
this.chooseButton = await getEnumOptions("TheRapyRecuperationType")
|
||||
this.chooseButton = this.chooseButton.filter((o) => o.value !== 2 && o.value !== 3)
|
||||
await this.getConfigData()
|
||||
}
|
||||
})
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
|
||||
.container img {
|
||||
background-size: contain;
|
||||
width: 100%;
|
||||
@@ -41,7 +40,8 @@ layout("/mobile/platform.html"){
|
||||
padding-top: 60px;
|
||||
}
|
||||
|
||||
.van-skeleton__row, .van-skeleton__title {
|
||||
.van-skeleton__row,
|
||||
.van-skeleton__title {
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.van-card-body {
|
||||
padding: 0px 10px 0px 10px
|
||||
padding: 0px 10px 0px 10px;
|
||||
}
|
||||
|
||||
.van-doc-card > div:first-child {
|
||||
@@ -194,13 +194,11 @@ layout("/mobile/platform.html"){
|
||||
.van-image-preview img {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<van-sticky>
|
||||
<van-nav-bar @click-left="history.go(-1)" fixed left-arrow placeholder title="职工疗休养-线路介绍"></van-nav-bar>
|
||||
<van-nav-bar @click-left="pjaxReplace('/mobile/index')" fixed left-arrow placeholder title="职工疗休养-线路介绍"></van-nav-bar>
|
||||
</van-sticky>
|
||||
|
||||
<!--线路详情-->
|
||||
@@ -208,9 +206,7 @@ layout("/mobile/platform.html"){
|
||||
<div class="container">
|
||||
<div class="header">
|
||||
<div class="title">
|
||||
<van-tag size="large" color="#1867b0" style="color: white;position: relative; top: -2px">
|
||||
{{lineData.lotName}}
|
||||
</van-tag>
|
||||
<van-tag size="large" color="#1867b0" style="color: white; position: relative; top: -2px">{{lineData.lotName}}</van-tag>
|
||||
{{lineData.lineName}}
|
||||
</div>
|
||||
<div style="margin-top: 10px">
|
||||
@@ -220,18 +216,17 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<div>
|
||||
<span>当前报名:</span>
|
||||
{{lineData.signUpUserNum + lineData.signUpUserFamilyNum + '(家属' + lineData.signUpUserFamilyNum +
|
||||
'人)'}}
|
||||
{{lineData.signUpUserNum + lineData.signUpUserFamilyNum + '(家属' + lineData.signUpUserFamilyNum + '人)'}}
|
||||
</div>
|
||||
<div>
|
||||
<span>报名时间:</span>
|
||||
{{moment(lineData.signUpStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' +
|
||||
moment(lineData.signUpEndTime).format('YYYY-MM-DD HH:mm')}}
|
||||
{{moment(lineData.signUpStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' + moment(lineData.signUpEndTime).format('YYYY-MM-DD
|
||||
HH:mm')}}
|
||||
</div>
|
||||
<div>
|
||||
<span>出行时间:</span>
|
||||
{{moment(lineData.playStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' +
|
||||
moment(lineData.playEndTime).format('YYYY-MM-DD HH:mm')}}
|
||||
{{moment(lineData.playStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' + moment(lineData.playEndTime).format('YYYY-MM-DD
|
||||
HH:mm')}}
|
||||
</div>
|
||||
<div>
|
||||
<span>旅 行 社:</span>
|
||||
@@ -255,44 +250,44 @@ layout("/mobile/platform.html"){
|
||||
</van-skeleton>
|
||||
|
||||
<!--置顶图标-->
|
||||
<image v-if="btnFlag" @click="backTop" src="/assets/mobile/svg/therapyRecuperation/top.svg"
|
||||
class="top_icon"></image>
|
||||
<image v-if="btnFlag" @click="backTop" src="/assets/mobile/svg/therapyRecuperation/top.svg" class="top_icon"></image>
|
||||
|
||||
<!--底部报名按钮-->
|
||||
<div class="footer" v-if="fromUrlByMy != 'edit'">
|
||||
<template v-if="lineData.isNormal==0&&lineData.isNormalFalse>0">
|
||||
<van-button @click="join"
|
||||
class="join">我要报名
|
||||
</van-button>
|
||||
<van-button @click="join" class="join">我要报名</van-button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<van-button v-if="moment().unix() <= moment(lineData.signUpEndTime).unix()" @click="join"
|
||||
class="join">我要报名
|
||||
</van-button>
|
||||
<van-button v-if="moment().unix() <= moment(lineData.signUpEndTime).unix()" @click="join" class="join">我要报名</van-button>
|
||||
<van-button v-if="moment().unix() > moment(lineData.signUpEndTime).unix()" class="join">报名结束</van-button>
|
||||
</template>
|
||||
|
||||
</div>
|
||||
<!--报名弹出框-->
|
||||
<van-popup v-model:show="joinPopup" position="right" class="joinPopup">
|
||||
<van-nav-bar @click-left="joinPopup = false" fixed left-arrow placeholder title="疗休养报名"></van-nav-bar>
|
||||
<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-field label="姓名" readonly v-model="formData.userName"></van-field>
|
||||
<van-field label="工号" readonly v-model="formData.loginName"></van-field>
|
||||
<van-field label="身份证号" name="idCard" :rules="[{ required: true }]"
|
||||
placeholder="请填写身份证号" v-model="formData.idCard"></van-field>
|
||||
<van-field label="手机号" name="mobile" :rules="[{ required: true }]"
|
||||
placeholder="请填写手机号" v-model="formData.mobile"></van-field>
|
||||
<van-field
|
||||
label="身份证号"
|
||||
name="idCard"
|
||||
:rules="[{ required: true }]"
|
||||
placeholder="请填写身份证号"
|
||||
v-model="formData.idCard"
|
||||
></van-field>
|
||||
<van-field
|
||||
label="手机号"
|
||||
name="mobile"
|
||||
:rules="[{ required: true }]"
|
||||
placeholder="请填写手机号"
|
||||
v-model="formData.mobile"
|
||||
></van-field>
|
||||
<van-field label="所属工会" readonly v-model="formData.unionName"></van-field>
|
||||
<van-field label="报名线路" readonly v-model="formData.lineName"></van-field>
|
||||
</div>
|
||||
@@ -301,19 +296,35 @@ 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="self = true; roomVisible = true" readonly is-link label="房间" name="bedType"
|
||||
placeholder="请选择房间" v-model="formData.bedInfo.bedType"
|
||||
:rules="[{ required: true }]"></van-field>
|
||||
<van-field v-if="formData.bedInfo.bedType == '标准间'" @click="self = true; bedVisible = true"
|
||||
readonly is-link label="床位"
|
||||
name="bedNum" placeholder="请选择床位" v-model="formData.bedInfo.bedNum"
|
||||
:rules="[{ required: true }]"></van-field>
|
||||
<van-field v-if="formData.bedInfo.bedType == '标准间'" :rules="[{ validator, message: '请选择是否拼房' }]"
|
||||
label="是否拼房" name="validator">
|
||||
<van-field
|
||||
@click="self = true; roomVisible = true"
|
||||
readonly
|
||||
is-link
|
||||
label="房间"
|
||||
name="bedType"
|
||||
placeholder="请选择房间"
|
||||
v-model="formData.bedInfo.bedType"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-if="formData.bedInfo.bedType == '标准间'"
|
||||
@click="self = true; bedVisible = true"
|
||||
readonly
|
||||
is-link
|
||||
label="床位"
|
||||
name="bedNum"
|
||||
placeholder="请选择床位"
|
||||
v-model="formData.bedInfo.bedNum"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-if="formData.bedInfo.bedType == '标准间'"
|
||||
:rules="[{ validator, message: '请选择是否拼房' }]"
|
||||
label="是否拼房"
|
||||
name="validator"
|
||||
>
|
||||
<template #input>
|
||||
<van-radio-group direction="horizontal" v-model="formData.bedInfo.isSleepTogether">
|
||||
<van-radio :name="true" shape="square">是</van-radio>
|
||||
@@ -321,19 +332,22 @@ layout("/mobile/platform.html"){
|
||||
</van-radio-group>
|
||||
</template>
|
||||
</van-field>
|
||||
<van-field v-if="formData.bedInfo.bedType == '标准间' && formData.bedInfo.isSleepTogether == true"
|
||||
label="意向拼房人" name="otherSleepUser" placeholder="多个拼房人请用,隔开"
|
||||
<van-field
|
||||
v-if="formData.bedInfo.bedType == '标准间' && formData.bedInfo.isSleepTogether == true"
|
||||
label="意向拼房人"
|
||||
name="otherSleepUser"
|
||||
placeholder="多个拼房人请用,隔开"
|
||||
v-model="formData.bedInfo.otherSleepUser"
|
||||
:rules="[{ required: true }]"></van-field>
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--随行人信息-->
|
||||
<div class="van-doc-card" style="margin-bottom: 16px">
|
||||
<div></div>
|
||||
<div class="van-card-header"
|
||||
style="display: flex; justify-content: space-between; align-items: center">
|
||||
<span style="float:left;">随行人信息</span>
|
||||
<div class="van-card-header" style="display: flex; justify-content: space-between; align-items: center">
|
||||
<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>
|
||||
@@ -342,11 +356,22 @@ 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 label="工号" name="loginName" placeholder="若没有工号,请忽略此项" v-model="item.loginName"></van-field>-->
|
||||
<van-field label="年龄" name="age" placeholder="请填写年龄" v-model="item.age"
|
||||
type="digit" :rules="[{ required: true }]"></van-field>
|
||||
<van-field
|
||||
label="年龄"
|
||||
name="age"
|
||||
placeholder="请填写年龄"
|
||||
v-model="item.age"
|
||||
type="digit"
|
||||
: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">
|
||||
@@ -355,28 +380,60 @@ layout("/mobile/platform.html"){
|
||||
</van-radio-group>
|
||||
</template>
|
||||
</van-field>
|
||||
<van-field label="身份证号" name="idCard" placeholder="请填写身份证号"
|
||||
:rules="[{ required: true }]" type="digit"
|
||||
v-model="item.idCard"></van-field>
|
||||
<van-field label="手机号" name="mobile" placeholder="请填写手机号"
|
||||
:rules="[{ required: true }]" type="digit"
|
||||
v-model="item.mobile"></van-field>
|
||||
<van-field @click="companionVisible = true" readonly is-link label="与本人关系"
|
||||
<van-field
|
||||
label="身份证号"
|
||||
name="idCard"
|
||||
placeholder="请填写身份证号"
|
||||
:rules="[{ required: true }]"
|
||||
type="digit"
|
||||
v-model="item.idCard"
|
||||
></van-field>
|
||||
<van-field
|
||||
label="手机号"
|
||||
name="mobile"
|
||||
placeholder="请填写手机号"
|
||||
:rules="[{ required: true }]"
|
||||
type="digit"
|
||||
v-model="item.mobile"
|
||||
></van-field>
|
||||
<van-field
|
||||
@click="companionVisible = true"
|
||||
readonly
|
||||
is-link
|
||||
label="与本人关系"
|
||||
name="relation"
|
||||
placeholder="随行人与本人关系" v-model="item.relation"
|
||||
:rules="[{ required: true }]"></van-field>
|
||||
placeholder="随行人与本人关系"
|
||||
v-model="item.relation"
|
||||
:rules="[{ required: true }]"
|
||||
></van-field>
|
||||
|
||||
<van-field @click="self = false; roomVisible = true" readonly is-link label="房间"
|
||||
name="bedType" placeholder="请选择房间"
|
||||
v-model="item.bedInfo.bedType"></van-field>
|
||||
<van-field
|
||||
@click="self = false; roomVisible = true"
|
||||
readonly
|
||||
is-link
|
||||
label="房间"
|
||||
name="bedType"
|
||||
placeholder="请选择房间"
|
||||
v-model="item.bedInfo.bedType"
|
||||
></van-field>
|
||||
<div style="font-size: 12px; color: orangered; padding-left: 16px; padding-bottom: 4px">
|
||||
提醒:如果跟报名人员同一房间,无须选择!
|
||||
</div>
|
||||
<van-field v-if="item.bedInfo.bedType == '标准间'" @click="self = false; bedVisible = true"
|
||||
readonly is-link label="床位"
|
||||
name="bedNum" placeholder="请选择床位" v-model="item.bedInfo.bedNum"></van-field>
|
||||
<van-field v-if="item.bedInfo.bedType == '标准间'"
|
||||
:rules="[{ validator, message: '请选择是否拼房' }]" label="是否拼房">
|
||||
<van-field
|
||||
v-if="item.bedInfo.bedType == '标准间'"
|
||||
@click="self = false; bedVisible = true"
|
||||
readonly
|
||||
is-link
|
||||
label="床位"
|
||||
name="bedNum"
|
||||
placeholder="请选择床位"
|
||||
v-model="item.bedInfo.bedNum"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-if="item.bedInfo.bedType == '标准间'"
|
||||
:rules="[{ validator, message: '请选择是否拼房' }]"
|
||||
label="是否拼房"
|
||||
>
|
||||
<template #input>
|
||||
<van-radio-group direction="horizontal" v-model="item.bedInfo.isSleepTogether">
|
||||
<van-radio :name="true" shape="square">是</van-radio>
|
||||
@@ -384,83 +441,72 @@ layout("/mobile/platform.html"){
|
||||
</van-radio-group>
|
||||
</template>
|
||||
</van-field>
|
||||
<van-field v-if="item.bedInfo.bedType == '标准间' && item.bedInfo.isSleepTogether == true"
|
||||
label="意向拼房人" name="otherSleepUser" placeholder="多个拼房人请用,隔开"
|
||||
v-model="item.bedInfo.otherSleepUser"></van-field>
|
||||
<van-field
|
||||
v-if="item.bedInfo.bedType == '标准间' && item.bedInfo.isSleepTogether == true"
|
||||
label="意向拼房人"
|
||||
name="otherSleepUser"
|
||||
placeholder="多个拼房人请用,隔开"
|
||||
v-model="item.bedInfo.otherSleepUser"
|
||||
></van-field>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
</div>
|
||||
<div v-if="formData.companionList.length == 0" class="companionList_empty_text">
|
||||
<span>
|
||||
如有随行人出行,请添加随行人
|
||||
</span>
|
||||
<span>如有随行人出行,请添加随行人</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="submitButton">
|
||||
<van-button class="join join_submit">提交报名</van-button>
|
||||
</div>
|
||||
|
||||
</van-form>
|
||||
|
||||
</div>
|
||||
|
||||
</van-popup>
|
||||
|
||||
<!--房间类型弹出框-->
|
||||
<van-popup position="bottom" round v-model="roomVisible">
|
||||
<van-picker
|
||||
title="入住房间" show-toolbar
|
||||
:columns="roomColumns"
|
||||
@confirm="roomConfirm"
|
||||
@cancel="roomCancel">
|
||||
</van-picker>
|
||||
<van-picker title="入住房间" show-toolbar :columns="roomColumns" @confirm="roomConfirm" @cancel="roomCancel"></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<!--床位弹出框-->
|
||||
<van-popup position="bottom" round v-model="bedVisible">
|
||||
<van-picker
|
||||
title="床位" show-toolbar
|
||||
:columns="bedColumns"
|
||||
@confirm="bedConfirm"
|
||||
@cancel="bedVisible = false">
|
||||
</van-picker>
|
||||
<van-picker title="床位" show-toolbar :columns="bedColumns" @confirm="bedConfirm" @cancel="bedVisible = false"></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<!--随行人关系弹出框-->
|
||||
<van-popup position="bottom" round v-model="companionVisible">
|
||||
<van-picker
|
||||
title="与本人关系" show-toolbar
|
||||
title="与本人关系"
|
||||
show-toolbar
|
||||
:columns="companionColumns"
|
||||
@confirm="(value, index) => {formData.companionList[active].relation = value; companionVisible = false}"
|
||||
@cancel="companionVisible = false">
|
||||
</van-picker>
|
||||
@cancel="companionVisible = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
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
|
||||
}
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
active: 0,
|
||||
roomColumns: ['大床房', '标准间'],
|
||||
bedColumns: ['1', '2'],
|
||||
companionColumns: ['亲属', '朋友'],
|
||||
roomColumns: ["大床房", "标准间"],
|
||||
bedColumns: ["1", "2"],
|
||||
companionColumns: ["亲属", "朋友"],
|
||||
bedVisible: false,
|
||||
roomVisible: false,
|
||||
companionVisible: false,
|
||||
joinPopup: false,
|
||||
skeLoading: true,
|
||||
id: '',
|
||||
id: "",
|
||||
lineData: {},
|
||||
formData: {
|
||||
userName: "${@shiro.getPrincipalProperty('username')}",
|
||||
@@ -468,25 +514,25 @@ layout("/mobile/platform.html"){
|
||||
unionName: "${@shiro.getPrincipalProperty('union').getUnionname()}",
|
||||
idCard: "",
|
||||
mobile: "${@shiro.getPrincipalProperty('mobile')}",
|
||||
lineName: '',
|
||||
takePartInLineId: '',
|
||||
takePartInUnionId: '',
|
||||
lineName: "",
|
||||
takePartInLineId: "",
|
||||
takePartInUnionId: "",
|
||||
companionList: [],
|
||||
bedInfo: {},
|
||||
bedInfo: {}
|
||||
},
|
||||
self: true,
|
||||
btnFlag: false,
|
||||
index: 0,
|
||||
scrollTop: 0,
|
||||
fromUrlByMy: '',
|
||||
enrollId: '',
|
||||
configData: {},
|
||||
fromUrlByMy: "",
|
||||
enrollId: "",
|
||||
configData: {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
roomCancel() {
|
||||
if (!this.self) {
|
||||
this.formData.companionList[this.active].bedInfo.bedType = ''
|
||||
this.formData.companionList[this.active].bedInfo.bedType = ""
|
||||
}
|
||||
this.roomVisible = false
|
||||
},
|
||||
@@ -514,66 +560,68 @@ layout("/mobile/platform.html"){
|
||||
duration: 0,
|
||||
forbidClick: true,
|
||||
overlay: true,
|
||||
message: '努力提交中',
|
||||
message: "努力提交中"
|
||||
})
|
||||
const cloneData = clone(this.formData)
|
||||
cloneData.companionList.forEach((item, index) => {
|
||||
if (item.userName === '') {
|
||||
if (item.userName === "") {
|
||||
cloneData.companionList.splice(index, 1)
|
||||
}
|
||||
})
|
||||
const resp = await $.post('/platform/theRapyRecuperation/line/enroll/doSignUpForLine', {
|
||||
enroll: JSON.stringify(cloneData),
|
||||
const resp = await $.post("/platform/theRapyRecuperation/line/enroll/doSignUpForLine", {
|
||||
enroll: JSON.stringify(cloneData)
|
||||
})
|
||||
setTimeout(() => {
|
||||
if (resp.code === 0) {
|
||||
toast.message = '提交成功'
|
||||
toast.type = 'success'
|
||||
toast.message = "提交成功"
|
||||
toast.type = "success"
|
||||
} else {
|
||||
toast.message = resp.msg
|
||||
toast.type = 'fail'
|
||||
toast.type = "fail"
|
||||
}
|
||||
setTimeout(() => {
|
||||
toast.clear()
|
||||
}, 500)
|
||||
if (resp.code === 0) {
|
||||
location.href = '/platform/mobile/theRapyRecuperation/myRecuperation?index=' + this.index
|
||||
location.href = "/platform/mobile/theRapyRecuperation/myRecuperation?index=" + this.index
|
||||
}
|
||||
}, 1000)
|
||||
},
|
||||
addCompanion() {
|
||||
this.formData.companionList.push({userName: '', loginName: '', sex: '', relation: '', bedInfo: {}})
|
||||
this.formData.companionList.push({ userName: "", loginName: "", sex: "", relation: "", bedInfo: {} })
|
||||
},
|
||||
delCompanion() {
|
||||
this.formData.companionList.splice(this.active, 1)
|
||||
},
|
||||
async join() {
|
||||
const re = await $.post('/platform/theRapyRecuperation/line/enroll/validSignUpInfo', {
|
||||
const re = await $.post("/platform/theRapyRecuperation/line/enroll/validSignUpInfo", {
|
||||
enroll: JSON.stringify({
|
||||
id: this.enrollId,
|
||||
isNormal: this.lineData.isNormal,
|
||||
takePartInLineId: this.lineData.usId,
|
||||
takePartInUnionId: this.takePartInUnionId
|
||||
}),
|
||||
})
|
||||
})
|
||||
if (re.code !== 0) {
|
||||
if(re.msg === '您今年已报名,如要继续报名请进入我的疗休养,取消已选择') {
|
||||
if (re.msg === "您今年已报名,如要继续报名请进入我的疗休养,取消已选择") {
|
||||
vant.Dialog.confirm({
|
||||
title: '温馨提示',
|
||||
title: "温馨提示",
|
||||
message: re.msg,
|
||||
confirmButtonText: '跳转页面',
|
||||
}).then(() => {
|
||||
location.href = '/platform/mobile/theRapyRecuperation/myRecuperation?index=' + this.index
|
||||
}).catch(() => {});
|
||||
confirmButtonText: "跳转页面"
|
||||
})
|
||||
.then(() => {
|
||||
location.href = "/platform/mobile/theRapyRecuperation/myRecuperation?index=" + this.index
|
||||
})
|
||||
.catch(() => {})
|
||||
} else {
|
||||
vant.Dialog.alert({
|
||||
title: '温馨提示',
|
||||
message: re.msg,
|
||||
title: "温馨提示",
|
||||
message: re.msg
|
||||
}).then(() => {})
|
||||
}
|
||||
return
|
||||
}
|
||||
if (this.fromUrlByMy !== 'editDo') {
|
||||
if (this.fromUrlByMy !== "editDo") {
|
||||
this.formData = {
|
||||
userName: "${@shiro.getPrincipalProperty('username')}",
|
||||
loginName: "${@shiro.getPrincipalProperty('loginname')}",
|
||||
@@ -584,14 +632,14 @@ layout("/mobile/platform.html"){
|
||||
takePartInLineId: this.lineData.usId,
|
||||
takePartInUnionId: this.takePartInUnionId,
|
||||
companionList: [],
|
||||
bedInfo: {},
|
||||
bedInfo: {}
|
||||
}
|
||||
this.$set(this.formData.bedInfo, 'bedType', '大床房')
|
||||
this.$set(this.formData.bedInfo, "bedType", "大床房")
|
||||
}
|
||||
this.joinPopup = true
|
||||
},
|
||||
async getData() {
|
||||
const res = await $.get('/platform/theRapyRecuperation/line/enroll/selectLineAllInfo', {
|
||||
const res = await $.get("/platform/theRapyRecuperation/line/enroll/selectLineAllInfo", {
|
||||
usId: this.id,
|
||||
usUnionId: this.takePartInUnionId
|
||||
})
|
||||
@@ -617,18 +665,18 @@ layout("/mobile/platform.html"){
|
||||
scrollToTop() {
|
||||
const that = this
|
||||
that.scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
|
||||
that.btnFlag = that.scrollTop > 100;
|
||||
that.btnFlag = that.scrollTop > 100
|
||||
},
|
||||
//修改时查询报名信息,进行回显
|
||||
async findSignUpInfoById() {
|
||||
const res = await $.post('/platform/theRapyRecuperation/line/enroll/findSignUpInfoById/' + this.enrollId)
|
||||
const res = await $.post("/platform/theRapyRecuperation/line/enroll/findSignUpInfoById/" + this.enrollId)
|
||||
if (res.code === 0) {
|
||||
this.formData = res.data
|
||||
if (this.formData.bedInfo === null) {
|
||||
this.formData.bedInfo = {}
|
||||
}
|
||||
if (this.formData.companionList) {
|
||||
this.formData.companionList.forEach(item => {
|
||||
this.formData.companionList.forEach((item) => {
|
||||
if (item.bedInfo === null) {
|
||||
item.bedInfo = {}
|
||||
}
|
||||
@@ -638,35 +686,35 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
async getConfigData() {
|
||||
const resp = await $.get('/platform/theRapyRecuperation/TheRapyConfig/findOne')
|
||||
const resp = await $.get("/platform/theRapyRecuperation/TheRapyConfig/findOne")
|
||||
this.configData = resp.data
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.id = getQueryString('id') ? getQueryString('id') : ''
|
||||
this.index = getQueryString('index') ? getQueryString('index') : ''
|
||||
this.id = getQueryString("id") ? getQueryString("id") : ""
|
||||
this.index = getQueryString("index") ? getQueryString("index") : ""
|
||||
await this.getConfigData()
|
||||
//编辑传出来的参数
|
||||
this.fromUrlByMy = getQueryString('fromUrlByMy') ? getQueryString('fromUrlByMy') : ''
|
||||
this.enrollId = getQueryString('enrollId') ? getQueryString('enrollId') : ''
|
||||
this.takePartInUnionId = getQueryString('takePartInUnionId') ? getQueryString('takePartInUnionId') : ''
|
||||
this.fromUrlByMy = getQueryString("fromUrlByMy") ? getQueryString("fromUrlByMy") : ""
|
||||
this.enrollId = getQueryString("enrollId") ? getQueryString("enrollId") : ""
|
||||
this.takePartInUnionId = getQueryString("takePartInUnionId") ? getQueryString("takePartInUnionId") : ""
|
||||
if (this.enrollId) {
|
||||
await this.findSignUpInfoById()
|
||||
}
|
||||
this.getData()
|
||||
},
|
||||
mounted() {
|
||||
window.addEventListener('scroll', this.scrollToTop)
|
||||
document.addEventListener('click', function (event) {
|
||||
window.addEventListener("scroll", this.scrollToTop)
|
||||
document.addEventListener("click", function (event) {
|
||||
// 打印被点击的元素标签名和 class
|
||||
if (event.target.tagName === 'IMG' && event.target.className !== 'top_icon') {
|
||||
if (event.target.tagName === "IMG" && event.target.className !== "top_icon") {
|
||||
vant.ImagePreview([event.target.src])
|
||||
}
|
||||
})
|
||||
},
|
||||
destroyed() {
|
||||
window.removeEventListener('scroll', this.scrollToTop)
|
||||
},
|
||||
window.removeEventListener("scroll", this.scrollToTop)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -126,7 +126,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-sticky>
|
||||
<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>
|
||||
</van-sticky>
|
||||
|
||||
<van-dropdown-menu>
|
||||
|
||||
@@ -176,7 +176,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-sticky>
|
||||
<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>
|
||||
</van-sticky>
|
||||
|
||||
<van-dropdown-menu>
|
||||
|
||||
@@ -47,7 +47,8 @@ layout("/mobile/platform.html"){
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
.van-image__error, .van-image__loading {
|
||||
.van-image__error,
|
||||
.van-image__loading {
|
||||
height: 200px;
|
||||
position: relative;
|
||||
}
|
||||
@@ -63,20 +64,15 @@ layout("/mobile/platform.html"){
|
||||
right: -8px;
|
||||
padding: 1px 7px;
|
||||
transform: rotate(17deg);
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="活动列表" left-arrow placeholder fixed
|
||||
@click-left="location.replace('/mobile/index')"></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.year" :options="yearList" @change="formChange"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.activityStatus" :options="activityStatusList" @change="formChange"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
<!-- <van-sticky>-->
|
||||
@@ -94,33 +90,52 @@ layout("/mobile/platform.html"){
|
||||
<!-- </van-sticky>-->
|
||||
|
||||
<div style="margin: 60px auto 80px auto">
|
||||
<van-list :finished="finished" :finished-text="tableData.length>0?'没有更多了':''"
|
||||
<van-list
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
v-if="tableData && tableData.length>0"
|
||||
v-model="loading"
|
||||
@load="pageData">
|
||||
@load="pageData"
|
||||
>
|
||||
<div v-for="o in tableData" class="van-doc-card">
|
||||
<!-- <div class="tag" v-if="moment(o.activitySignUpStartTime).unix() > moment().unix()">即将开始</div>-->
|
||||
<div>
|
||||
<div class="tag" style="background-color: #bc62c5" v-if="o.isDisabled">活动未开启</div>
|
||||
<div class="tag" v-else-if="!o.isDisabled && moment(o.activitySignUpStartTime).valueOf() > moment().valueOf()">未开始报名</div>
|
||||
<div class="tag" v-else-if="!o.isDisabled &&moment(o.activitySignUpEndTime).valueOf() > moment().valueOf() && moment().valueOf() > moment(o.activitySignUpStartTime).valueOf()">报名中</div>
|
||||
<div class="tag" style="background-color: #f14646" v-else-if="!o.isDisabled &&moment(o.activityEndTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.activityStartTime).valueOf()">报名结束</div>
|
||||
<div class="tag" v-else-if="!o.isDisabled &&moment(o.activityStartTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.activityEndTime).valueOf()">活动进行中</div>
|
||||
<div class="tag" style="background-color: #f14646" v-else-if="!o.isDisabled &&moment().valueOf() > moment(o.activityEndTime).valueOf()">活动结束</div>
|
||||
<div
|
||||
class="tag"
|
||||
v-else-if="!o.isDisabled &&moment(o.activitySignUpEndTime).valueOf() > moment().valueOf() && moment().valueOf() > moment(o.activitySignUpStartTime).valueOf()"
|
||||
>
|
||||
报名中
|
||||
</div>
|
||||
<div
|
||||
class="tag"
|
||||
style="background-color: #f14646"
|
||||
v-else-if="!o.isDisabled &&moment(o.activityEndTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.activityStartTime).valueOf()"
|
||||
>
|
||||
报名结束
|
||||
</div>
|
||||
<div
|
||||
class="tag"
|
||||
v-else-if="!o.isDisabled &&moment(o.activityStartTime).valueOf() < moment().valueOf() && moment().valueOf() < moment(o.activityEndTime).valueOf()"
|
||||
>
|
||||
活动进行中
|
||||
</div>
|
||||
<div
|
||||
class="tag"
|
||||
style="background-color: #f14646"
|
||||
v-else-if="!o.isDisabled &&moment().valueOf() > moment(o.activityEndTime).valueOf()"
|
||||
>
|
||||
活动结束
|
||||
</div>
|
||||
</div>
|
||||
<div @click="welfareClick(o)">
|
||||
<div>
|
||||
<van-image :src="CREATE_PREVIEW_URL(o.cover.id)"
|
||||
style="display: contents"
|
||||
v-if="o.cover && o.cover.filepath"></van-image>
|
||||
<van-image src=""
|
||||
style="display: contents"
|
||||
v-else></van-image>
|
||||
<van-image :src="CREATE_PREVIEW_URL(o.cover.id)" style="display: contents" v-if="o.cover && o.cover.filepath"></van-image>
|
||||
<van-image src="" style="display: contents" v-else></van-image>
|
||||
</div>
|
||||
<div>
|
||||
<div class="van-ellipsis" style="margin-top: 6px; font-size: 15px;font-weight: bold;flex: 1">
|
||||
{{o.activityName}}
|
||||
</div>
|
||||
<div class="van-ellipsis" style="margin-top: 6px; font-size: 15px; font-weight: bold; flex: 1">{{o.activityName}}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="train-title">
|
||||
@@ -135,44 +150,45 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
<div class="train-title">
|
||||
<span style="color: grey">报名时间:</span>
|
||||
<span>{{moment(o.activitySignUpStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' +
|
||||
moment(o.activitySignUpEndTime).format('YYYY-MM-DD HH:mm')}}</span>
|
||||
<span>
|
||||
{{moment(o.activitySignUpStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' +
|
||||
moment(o.activitySignUpEndTime).format('YYYY-MM-DD HH:mm')}}
|
||||
</span>
|
||||
</div>
|
||||
<div style="margin-top: 6px">
|
||||
<span style="color: grey">活动时间:</span>
|
||||
<span>{{moment(o.activityStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' +
|
||||
moment(o.activityEndTime).format('YYYY-MM-DD HH:mm')}}</span>
|
||||
<span>
|
||||
{{moment(o.activityStartTime).format('YYYY-MM-DD HH:mm') + ' ~ ' + moment(o.activityEndTime).format('YYYY-MM-DD HH:mm')}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty v-else description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
tarBarActive: 0,
|
||||
type: '',
|
||||
type: "",
|
||||
|
||||
pageForm: {
|
||||
year: '',
|
||||
year: "",
|
||||
activityStatus: null
|
||||
},
|
||||
activityLevelList: [],
|
||||
activityStatusList: [
|
||||
{text: '全部', value: 1},
|
||||
{ text: "全部", value: 1 },
|
||||
// {text: '未开启', value: 5},
|
||||
{text: '未开始', value: 6},
|
||||
{text: '报名中', value: 2},
|
||||
{text: '进行中', value: 3},
|
||||
{text: '已结束', value: 4}
|
||||
{ text: "未开始", value: 6 },
|
||||
{ text: "报名中", value: 2 },
|
||||
{ text: "进行中", value: 3 },
|
||||
{ text: "已结束", value: 4 }
|
||||
]
|
||||
}
|
||||
},
|
||||
@@ -184,23 +200,31 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async welfareClick(o) {
|
||||
if (o.isDisabled) {
|
||||
this.$toast('活动未开启')
|
||||
return;
|
||||
this.$toast("活动未开启")
|
||||
return
|
||||
}
|
||||
if (moment(o.applyStartTime).valueOf() > moment().valueOf()) {
|
||||
this.$toast('活动未开始报名')
|
||||
return;
|
||||
this.$toast("活动未开始报名")
|
||||
return
|
||||
}
|
||||
if (this.type === 'my') {
|
||||
window.location.href = '/platform/mobile/trainSignUpActivity/trainInfo' +
|
||||
'?activityId=' + o.id + '&endTime=' + o.activitySignUpEndTime + '&type=my' + '&startTime=' + o.activitySignUpStartTime
|
||||
if (this.type === "my") {
|
||||
window.location.href =
|
||||
"/platform/mobile/trainSignUpActivity/trainInfo" +
|
||||
"?activityId=" +
|
||||
o.id +
|
||||
"&endTime=" +
|
||||
o.activitySignUpEndTime +
|
||||
"&type=my" +
|
||||
"&startTime=" +
|
||||
o.activitySignUpStartTime
|
||||
} else {
|
||||
window.location.href = '/platform/mobile/trainSignUpActivity/activityInfo?activityId=' + o.id + '&endTime=' + o.activitySignUpEndTime
|
||||
window.location.href =
|
||||
"/platform/mobile/trainSignUpActivity/activityInfo?activityId=" + o.id + "&endTime=" + o.activitySignUpEndTime
|
||||
}
|
||||
},
|
||||
async pageData() {
|
||||
this.mLoading = true
|
||||
const resp = await $.post('/platform/mobile/trainSignUpActivity/pageData', this.pageForm)
|
||||
const resp = await $.post("/platform/mobile/trainSignUpActivity/pageData", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
if (resp.data.list.length === 0) {
|
||||
this.tableData = []
|
||||
@@ -215,7 +239,7 @@ layout("/mobile/platform.html"){
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
}
|
||||
this.loading = false;
|
||||
this.loading = false
|
||||
this.mLoading = false
|
||||
},
|
||||
tabChange(val) {
|
||||
@@ -233,7 +257,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async created() {
|
||||
await this.init()
|
||||
this.type = GetQueryString('type')
|
||||
this.type = GetQueryString("type")
|
||||
this.pageForm.type = this.type
|
||||
this.startLoading()
|
||||
// this.pageForm.activityStatus = this.type === 'my' ? '3' : '1'
|
||||
|
||||
@@ -3,9 +3,8 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
#app {
|
||||
background: #FFFFFF;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.topTitle {
|
||||
@@ -26,61 +25,42 @@ layout("/mobile/platform.html"){
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.newest-video, .nav-button {
|
||||
.newest-video,
|
||||
.nav-button {
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
|
||||
</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="window.history.back()"
|
||||
></van-nav-bar>
|
||||
<van-nav-bar title="视频资料" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="newest-video">
|
||||
<h4>{{typeName}}</h4>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="nav-button">
|
||||
<van-button type="info" :plain="pageForm.searchType !== 'new'" size="small" @click="searchTypeClick('new')">
|
||||
最新视频
|
||||
</van-button>
|
||||
<van-button type="info" :plain="pageForm.searchType !== 'most'" size="small" @click="searchTypeClick('most')">
|
||||
播放最多
|
||||
</van-button>
|
||||
<van-button type="info" :plain="pageForm.searchType !== null" size="small" @click="searchTypeClick(null)">全部
|
||||
</van-button>
|
||||
<van-button type="info" :plain="pageForm.searchType !== 'new'" size="small" @click="searchTypeClick('new')">最新视频</van-button>
|
||||
<van-button type="info" :plain="pageForm.searchType !== 'most'" size="small" @click="searchTypeClick('most')">播放最多</van-button>
|
||||
<van-button type="info" :plain="pageForm.searchType !== null" size="small" @click="searchTypeClick(null)">全部</van-button>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
|
||||
<div style="margin: 20px auto 0 auto; position: relative">
|
||||
<van-list v-model="loading"
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
:immediate-check="false"
|
||||
@load="pageData">
|
||||
@load="pageData"
|
||||
>
|
||||
<div v-for="o in tableData" class="list-card" @click="goVideoPage(o)">
|
||||
<div style="display: flex; padding-bottom: 10px" class="van-hairline--bottom">
|
||||
<van-image
|
||||
style="margin-right: 10px"
|
||||
width="90"
|
||||
height="90"
|
||||
:src="FILE_DOMAIN+'/fileStreamPreview?id='+o.cover"
|
||||
></van-image>
|
||||
<van-image style="margin-right: 10px" width="90" height="90" :src="FILE_DOMAIN+'/fileStreamPreview?id='+o.cover"></van-image>
|
||||
<div class="list-item">
|
||||
<div style="font-size: 14px">{{o.title}}</div>
|
||||
<div class="van-ellipsis" style="color: darkgray;font-size: 13px">
|
||||
{{removeHTMLTag(o.description)}}
|
||||
</div>
|
||||
<div class="van-ellipsis" style="color: darkgray; font-size: 13px">{{removeHTMLTag(o.description)}}</div>
|
||||
<div>
|
||||
<van-tag plain type="primary">{{o.videoCount}}个视频</van-tag>
|
||||
</div>
|
||||
@@ -90,19 +70,14 @@ 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>
|
||||
|
||||
<!--#include("/platform/trainEdu/include/include.js"){}#-->
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -116,7 +91,7 @@ layout("/mobile/platform.html"){
|
||||
methods: {
|
||||
async pageData() {
|
||||
this.mLoading = true
|
||||
const {data} = await $.get('/mobile/trainEducation/getAlbumList', this.pageForm)
|
||||
const { data } = await $.get("/mobile/trainEducation/getAlbumList", this.pageForm)
|
||||
setTimeout(() => {
|
||||
this.tableData = this.tableData.concat(data.list)
|
||||
if (this.tableData.length === data.totalCount) {
|
||||
@@ -140,16 +115,16 @@ layout("/mobile/platform.html"){
|
||||
this.pageData()
|
||||
},
|
||||
goVideoPage(item) {
|
||||
window.location.href = '/mobile/trainEducation/videoPage?id=' + item.id
|
||||
window.location.href = "/mobile/trainEducation/videoPage?id=" + item.id
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.videoTypeList = await getVideoType()
|
||||
const typeId = this.GetQueryString("id")
|
||||
const type = this.videoTypeList.find(v => parseInt(v.id) === parseInt(typeId))
|
||||
const type = this.videoTypeList.find((v) => parseInt(v.id) === parseInt(typeId))
|
||||
this.typeName = type.typeName
|
||||
if (typeId) {
|
||||
this.$set(this.pageForm, 'typeId', typeId)
|
||||
this.$set(this.pageForm, "typeId", typeId)
|
||||
await this.pageData()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,33 +23,25 @@ layout("/mobile/platform.html"){
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
</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>
|
||||
|
||||
<van-swiper>
|
||||
<van-swiper-item>
|
||||
<van-image
|
||||
fit="contain"
|
||||
:src="topImg" alt="">
|
||||
</van-image>
|
||||
<van-image fit="contain" :src="topImg" alt=""></van-image>
|
||||
</van-swiper-item>
|
||||
</van-swiper>
|
||||
|
||||
<van-grid :column-num="3" :border="false">
|
||||
<van-grid-item v-for="item in videoTypeList"
|
||||
<van-grid-item
|
||||
v-for="item in videoTypeList"
|
||||
:url="'/mobile/trainEducation/AlbumList?id=' + item.id"
|
||||
:key="item.id"
|
||||
:icon="FILE_DOMAIN+'/fileStreamPreview?id='+item.icon"
|
||||
:text="item.typeName"></van-grid-item>
|
||||
:text="item.typeName"
|
||||
></van-grid-item>
|
||||
</van-grid>
|
||||
|
||||
<div style="height: 5px; background-color: #f6f7f9"></div>
|
||||
@@ -60,54 +52,44 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<div v-for="o in tableData" class="list-card" @click="goVideoPage(o)">
|
||||
<div style="display: flex; padding-bottom: 10px" class="van-hairline--bottom">
|
||||
<van-image
|
||||
style="margin-right: 10px"
|
||||
width="90"
|
||||
height="90"
|
||||
:src="FILE_DOMAIN+'/fileStreamPreview?id='+o.cover"
|
||||
></van-image>
|
||||
<van-image style="margin-right: 10px" width="90" height="90" :src="FILE_DOMAIN+'/fileStreamPreview?id='+o.cover"></van-image>
|
||||
<div class="list-item">
|
||||
<div style="font-size: 14px">{{o.title}}</div>
|
||||
<div class="van-ellipsis" style="color: darkgray;font-size: 13px">
|
||||
{{removeHTMLTag(o.description)}}
|
||||
</div>
|
||||
<div class="van-ellipsis" style="color: darkgray; font-size: 13px">{{removeHTMLTag(o.description)}}</div>
|
||||
<div>
|
||||
<van-tag plain type="primary">{{o.videoCount}}个视频</van-tag>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
<!--#include("/platform/trainEdu/include/include.js"){}#-->
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
videoTypeList: [],
|
||||
topImg: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fbpic.588ku.com%2Fback_pic%2F05%2F55%2F78%2F725b1593ced0c43.jpg&refer=http%3A%2F%2Fbpic.588ku.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1642838257&t=cce87815db1b5e740bce9dc9357c7eaa'
|
||||
topImg: "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fbpic.588ku.com%2Fback_pic%2F05%2F55%2F78%2F725b1593ced0c43.jpg&refer=http%3A%2F%2Fbpic.588ku.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1642838257&t=cce87815db1b5e740bce9dc9357c7eaa"
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
goVideoPage(item) {
|
||||
window.location.href = '/mobile/trainEducation/videoPage?id=' + item.id
|
||||
window.location.href = "/mobile/trainEducation/videoPage?id=" + item.id
|
||||
},
|
||||
async getNewVideo() {
|
||||
this.tableData = []
|
||||
const {data} = await $.get('/mobile/trainEducation/getNewestVideo')
|
||||
const { data } = await $.get("/mobile/trainEducation/getNewestVideo")
|
||||
this.tableData.push(data)
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
const videoTypeList = await getVideoType()
|
||||
if (videoTypeList.length > 0) {
|
||||
videoTypeList.map(v => {
|
||||
videoTypeList.map((v) => {
|
||||
if (v.files) {
|
||||
v.icon = JSON.parse(v.files)[0].id
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<style>
|
||||
#app {
|
||||
background: #FFFFFF;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.video-container {
|
||||
@@ -57,39 +57,22 @@ layout("/mobile/platform.html"){
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar
|
||||
title=""
|
||||
left-arrow
|
||||
placeholder
|
||||
fixed
|
||||
@click-left="window.history.back()"
|
||||
></van-nav-bar>
|
||||
<van-nav-bar title="" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
|
||||
<div class="video-container">
|
||||
<video v-if="isPlay" id="player-container-id" preload="auto" playsinline
|
||||
webkit-playsinline>
|
||||
</video>
|
||||
|
||||
<van-image
|
||||
v-else
|
||||
style="width: 100%;height: 100%"
|
||||
:src="FILE_DOMAIN+'/fileStreamPreview?id='+albumInfo.cover"
|
||||
></van-image>
|
||||
<video v-if="isPlay" id="player-container-id" preload="auto" playsinline webkit-playsinline></video>
|
||||
|
||||
<van-image v-else style="width: 100%; height: 100%" :src="FILE_DOMAIN+'/fileStreamPreview?id='+albumInfo.cover"></van-image>
|
||||
</div>
|
||||
|
||||
<van-tabs v-model="tabIndex" sticky>
|
||||
<van-tab title="介绍">
|
||||
<div style="height: 5px; background-color: #f6f7f9"></div>
|
||||
|
||||
<div style="padding: 16px">
|
||||
{{albumInfo.title}}
|
||||
</div>
|
||||
<div style="padding: 16px">{{albumInfo.title}}</div>
|
||||
|
||||
<div style="height: 5px; background-color: #f6f7f9"></div>
|
||||
|
||||
@@ -101,7 +84,6 @@ layout("/mobile/platform.html"){
|
||||
<div class="album-description" v-html="albumInfo.description"></div>
|
||||
</template>
|
||||
</van-cell>
|
||||
|
||||
</van-tab>
|
||||
<van-tab title="目录">
|
||||
<div style="height: 5px; background-color: #f6f7f9"></div>
|
||||
@@ -110,20 +92,12 @@ layout("/mobile/platform.html"){
|
||||
<van-cell v-for="(o,i) in videoList" @click="playVideo(o)">
|
||||
<template #title>
|
||||
<van-tag plain type="primary" style="margin-right: 10px">视频</van-tag>
|
||||
<span style="margin-right: 10px">
|
||||
{{i+1}}.
|
||||
</span>
|
||||
<span>
|
||||
{{o.title}}
|
||||
</span>
|
||||
</template>
|
||||
<template #label>
|
||||
{{getWatchStatus(o)}}
|
||||
<span style="margin-right: 10px">{{i+1}}.</span>
|
||||
<span>{{o.title}}</span>
|
||||
</template>
|
||||
<template #label>{{getWatchStatus(o)}}</template>
|
||||
<template>
|
||||
<span v-if="o.id === currentVideo.id">
|
||||
播放中
|
||||
</span>
|
||||
<span v-if="o.id === currentVideo.id">播放中</span>
|
||||
</template>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
@@ -137,15 +111,13 @@ layout("/mobile/platform.html"){
|
||||
<!-- </van-cell>-->
|
||||
<!-- </van-tab>-->
|
||||
</van-tabs>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
let player = null
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -160,17 +132,15 @@ layout("/mobile/platform.html"){
|
||||
watchRecordList: [],
|
||||
lastTime: 0,
|
||||
isPlay: false
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getVideoInfo() {
|
||||
const {data} = await $.get('/mobile/trainEducation/getVideoList', {albumId: this.albumId})
|
||||
const { data } = await $.get("/mobile/trainEducation/getVideoList", { albumId: this.albumId })
|
||||
this.videoList = data
|
||||
|
||||
},
|
||||
async getAlbumInfo() {
|
||||
const {data} = await $.get('/mobile/trainEducation/getAlbumInfo', {id: this.albumId})
|
||||
const { data } = await $.get("/mobile/trainEducation/getAlbumInfo", { id: this.albumId })
|
||||
this.albumInfo = data
|
||||
},
|
||||
//播放视频
|
||||
@@ -180,17 +150,16 @@ layout("/mobile/platform.html"){
|
||||
|
||||
this.$nextTick(() => {
|
||||
if (!player) {
|
||||
player = TCPlayer('player-container-id', {})
|
||||
player = TCPlayer("player-container-id", {})
|
||||
}
|
||||
player.src(o.mediaUrl)
|
||||
})
|
||||
|
||||
|
||||
// await this.addWatchRecord()
|
||||
await this.getMyWatchRecord()
|
||||
|
||||
//接着上次继续看
|
||||
const v = this.watchRecordList.find(v => v.videoId === o.id)
|
||||
const v = this.watchRecordList.find((v) => v.videoId === o.id)
|
||||
if (v) {
|
||||
this.lastTime = v.watchDuration
|
||||
setTimeout(() => {
|
||||
@@ -211,14 +180,14 @@ layout("/mobile/platform.html"){
|
||||
|
||||
//快进 快退
|
||||
playSeeked() {
|
||||
player.on('seeked', () => {
|
||||
player.on("seeked", () => {
|
||||
this.lastTime = player.currentTime()
|
||||
this.addWatchRecord()
|
||||
})
|
||||
},
|
||||
playTimeUpdate() {
|
||||
this.lastTime = player.currentTime()
|
||||
player.on('timeupdate', () => {
|
||||
player.on("timeupdate", () => {
|
||||
const nowTime = player.currentTime()
|
||||
if (nowTime - this.lastTime > 5) {
|
||||
this.lastTime = nowTime
|
||||
@@ -227,16 +196,16 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
},
|
||||
playPause() {
|
||||
player.on('pause', () => {
|
||||
player.on("pause", () => {
|
||||
this.addWatchRecord()
|
||||
})
|
||||
},
|
||||
|
||||
playEnd() {
|
||||
player.on('ended', () => {
|
||||
player.on("ended", () => {
|
||||
this.addWatchRecord()
|
||||
this.getMyWatchRecord()
|
||||
const currentIndex = this.videoList.findIndex(v => v.id === this.currentVideo.id)
|
||||
const currentIndex = this.videoList.findIndex((v) => v.id === this.currentVideo.id)
|
||||
const nextVideo = this.videoList[currentIndex + 1]
|
||||
if (nextVideo) {
|
||||
this.playVideo(nextVideo)
|
||||
@@ -254,12 +223,12 @@ layout("/mobile/platform.html"){
|
||||
currentTime: parseInt(player.currentTime()),
|
||||
albumId: this.currentVideo.albumId
|
||||
}
|
||||
await $.post('/mobile/trainEducation/addWatchRecord', params)
|
||||
await $.post("/mobile/trainEducation/addWatchRecord", params)
|
||||
},
|
||||
//监听页面关闭 隐藏
|
||||
watchPage() {
|
||||
document.addEventListener('visibilitychange', () => {
|
||||
if (document.visibilityState === 'hidden') {
|
||||
document.addEventListener("visibilitychange", () => {
|
||||
if (document.visibilityState === "hidden") {
|
||||
if (player && this.currentVideo) {
|
||||
this.addWatchRecord()
|
||||
}
|
||||
@@ -267,18 +236,18 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
},
|
||||
async getMyWatchRecord() {
|
||||
const {data} = await $.get('/mobile/trainEducation/getMyWatchRecord')
|
||||
const { data } = await $.get("/mobile/trainEducation/getMyWatchRecord")
|
||||
this.watchRecordList = data
|
||||
},
|
||||
getWatchStatus(video) {
|
||||
const v = this.watchRecordList.find(v => v.videoId === video.id)
|
||||
const v = this.watchRecordList.find((v) => v.videoId === video.id)
|
||||
if (!v) {
|
||||
return '学习进度:还未开始学习'
|
||||
return "学习进度:还未开始学习"
|
||||
}
|
||||
if (v.videoId === this.currentVideo.id) {
|
||||
return '学习进度:正在学习中'
|
||||
return "学习进度:正在学习中"
|
||||
}
|
||||
const percentage = (parseInt((v.watchDuration / (video.fileDuration - 1)).toFixed(2) * 100)) + "%"
|
||||
const percentage = parseInt((v.watchDuration / (video.fileDuration - 1)).toFixed(2) * 100) + "%"
|
||||
return "学习进度:" + percentage
|
||||
}
|
||||
},
|
||||
@@ -291,7 +260,6 @@ layout("/mobile/platform.html"){
|
||||
this.getVideoInfo()
|
||||
this.getMyWatchRecord()
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -27,7 +27,7 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
</style>
|
||||
<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>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
|
||||
@@ -26,7 +26,7 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.van-collapse-item .van-cell__title :before {
|
||||
content: '';
|
||||
content: "";
|
||||
display: inline-block;
|
||||
height: 15px;
|
||||
background-color: #0e5996;
|
||||
@@ -56,13 +56,11 @@ layout("/mobile/platform.html"){
|
||||
|
||||
.van-button {
|
||||
height: 40px;
|
||||
margin: 6px 20px
|
||||
margin: 6px 20px;
|
||||
}
|
||||
|
||||
</style>
|
||||
<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>
|
||||
|
||||
<div>
|
||||
<van-form ref="addForm" :show-error-message="false" style="margin-bottom: 60px">
|
||||
@@ -74,11 +72,11 @@ layout("/mobile/platform.html"){
|
||||
<!-- v-for测评指标 -->
|
||||
<div v-for="item in o.bzs" style="margin-top: 10px" class="content_div">
|
||||
<div>
|
||||
<div style="font-size: 15px;color: black">
|
||||
{{item.contentNumber}}、{{item.inspection}}
|
||||
</div>
|
||||
<div style="font-size: 15px; color: black">{{item.contentNumber}}、{{item.inspection}}</div>
|
||||
<van-row>
|
||||
<div style="font-size: 15px;text-align: right;margin-right: 30px;margin-bottom:-4px">标准分:{{item.score}}</div>
|
||||
<div style="font-size: 15px; text-align: right; margin-right: 30px; margin-bottom: -4px">
|
||||
标准分:{{item.score}}
|
||||
</div>
|
||||
</van-row>
|
||||
<van-field
|
||||
v-model="item.resultScore"
|
||||
@@ -92,7 +90,8 @@ layout("/mobile/platform.html"){
|
||||
:rules="[{ required: true, message: '请填写测评分' }]"
|
||||
></van-field>
|
||||
|
||||
<van-field v-if="item.isEvidence"
|
||||
<van-field
|
||||
v-if="item.isEvidence"
|
||||
v-model="item.options"
|
||||
name="意见或建议"
|
||||
label="意见或建议"
|
||||
@@ -102,27 +101,28 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</div>
|
||||
</van-collapse-item>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="commentatorData.scoringMode==2">
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
<van-dropdown-item v-model="president" :options="presidentList"
|
||||
@change="presidentChange"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="president" :options="presidentList" @change="presidentChange"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<div v-for="o in commentatorData.nrs" style="margin: 60px auto 0 auto">
|
||||
<div v-for="item in o.bzs">
|
||||
<div class="van-doc-card">
|
||||
<div style="font-size: 15px;color: black">{{item.contentNumber}}、{{item.inspection}}
|
||||
</div>
|
||||
<div style="font-size: 15px; color: black">{{item.contentNumber}}、{{item.inspection}}</div>
|
||||
<van-field name="radio" label="满意度" style="padding: 12px 2px; margin: 5px">
|
||||
<template #input>
|
||||
<van-radio-group style="margin-left: -20px" v-model="item.resultScore" :disabled="isReadOnly" direction="horizontal">
|
||||
<van-radio-group
|
||||
style="margin-left: -20px"
|
||||
v-model="item.resultScore"
|
||||
:disabled="isReadOnly"
|
||||
direction="horizontal"
|
||||
>
|
||||
<van-radio name="满意">满意</van-radio>
|
||||
<van-radio name="基本满意">基本满意</van-radio>
|
||||
<van-radio name="不满意">不满意</van-radio>
|
||||
@@ -148,9 +148,7 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</div>
|
||||
</van-collapse>
|
||||
|
||||
</van-form>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -159,90 +157,88 @@ layout("/mobile/platform.html"){
|
||||
<van-button id="buttonSub" :disabled="isShowSubmit" round block type="info" @click="onSubmit">提交</van-button>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
id: "",
|
||||
activeNames: '',
|
||||
activeNames: "",
|
||||
commentatorData: {},
|
||||
reviewResult: null,
|
||||
presidentOpinions: '',
|
||||
presidentOpinions: "",
|
||||
bzList: [],
|
||||
president: '',
|
||||
president: "",
|
||||
presidentList: [],
|
||||
userList: [],
|
||||
isShowSubmit: false,
|
||||
isReadOnly:false,
|
||||
isReadOnly: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getCommentById() {
|
||||
const resp = await $.get('/mobile/unioncomment/appraisal/getById', {id: this.id})
|
||||
const resp = await $.get("/mobile/unioncomment/appraisal/getById", { id: this.id })
|
||||
if (resp.code === 0) {
|
||||
this.commentatorData = resp.data
|
||||
if (this.commentatorData.assessmentMode === 2) {
|
||||
this.commentatorData.nrs.forEach(v => {
|
||||
v.bzs.forEach(o => {
|
||||
o.resultScore = '满意'
|
||||
this.commentatorData.nrs.forEach((v) => {
|
||||
v.bzs.forEach((o) => {
|
||||
o.resultScore = "满意"
|
||||
})
|
||||
})
|
||||
await this.getPresidents();
|
||||
await this.getPresidents()
|
||||
}
|
||||
this.activeNames = this.commentatorData.nrs[0].id
|
||||
}
|
||||
},
|
||||
async assignment() {
|
||||
const self = this;
|
||||
this.bzList = [];
|
||||
this.commentatorData.nrs.forEach(v => {
|
||||
v.bzs.forEach(o => {
|
||||
const self = this
|
||||
this.bzList = []
|
||||
this.commentatorData.nrs.forEach((v) => {
|
||||
v.bzs.forEach((o) => {
|
||||
self.bzList.push(o)
|
||||
})
|
||||
})
|
||||
},
|
||||
async onSubmit() {
|
||||
this.$refs['addForm'].validate().then(async () => {
|
||||
this.$refs["addForm"].validate().then(async () => {
|
||||
await this.$dialog.confirm({
|
||||
title: '确定要提交该测评结果吗?',
|
||||
message: '提交后不可修改,请仔细检查后提交'
|
||||
title: "确定要提交该测评结果吗?",
|
||||
message: "提交后不可修改,请仔细检查后提交"
|
||||
})
|
||||
await this.assignment();
|
||||
await this.assignment()
|
||||
|
||||
let evaluatedPersonName=null;
|
||||
let evaluatedPersonType=null;
|
||||
let evaluatedPersonName = null
|
||||
let evaluatedPersonType = null
|
||||
|
||||
if (this.commentatorData.assessmentMode === 1) {
|
||||
let score = 0;
|
||||
this.bzList.forEach(v => {
|
||||
let score = 0
|
||||
this.bzList.forEach((v) => {
|
||||
score += Number(v.resultScore)
|
||||
})
|
||||
if (score >= Number(80)) {
|
||||
this.reviewResult = '满意'
|
||||
this.reviewResult = "满意"
|
||||
} else if (score >= Number(60) && score <= Number(79)) {
|
||||
this.reviewResult = '基本满意'
|
||||
this.reviewResult = "基本满意"
|
||||
} else {
|
||||
this.reviewResult = '不满意'
|
||||
this.reviewResult = "不满意"
|
||||
}
|
||||
} else if (this.commentatorData.assessmentMode === 2) {
|
||||
const result = this.bzList.filter(v => v.resultScore === '满意' || v.resultScore === '基本满意')
|
||||
const result = this.bzList.filter((v) => v.resultScore === "满意" || v.resultScore === "基本满意")
|
||||
if (result.length >= 8) {
|
||||
this.reviewResult = '满意'
|
||||
this.reviewResult = "满意"
|
||||
} else if (result.length >= 6 && result.length <= 7) {
|
||||
this.reviewResult = '基本满意'
|
||||
this.reviewResult = "基本满意"
|
||||
} else {
|
||||
this.reviewResult = '不满意'
|
||||
this.reviewResult = "不满意"
|
||||
}
|
||||
const user = this.userList.find(v=> v.id === this.president)
|
||||
const user = this.userList.find((v) => v.id === this.president)
|
||||
evaluatedPersonName = user.username
|
||||
evaluatedPersonType = user.evaluatedPersonType
|
||||
}
|
||||
|
||||
const resp = await $.post('/mobile/unioncomment/appraisal/doSubmit', {
|
||||
const resp = await $.post("/mobile/unioncomment/appraisal/doSubmit", {
|
||||
data: JSON.stringify(this.bzList),
|
||||
id: this.id,
|
||||
reviewResult: this.reviewResult,
|
||||
@@ -252,90 +248,90 @@ layout("/mobile/platform.html"){
|
||||
presidentOpinions: this.presidentOpinions
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
await this.getCommentById();
|
||||
window.location.href = '/mobile/unioncomment/appraisal/mine'
|
||||
await this.getCommentById()
|
||||
window.location.href = "/mobile/unioncomment/appraisal/mine"
|
||||
}
|
||||
})
|
||||
},
|
||||
async showAssess() {
|
||||
this.$refs['addForm'].validate().then(async () => {
|
||||
let score = 0;
|
||||
await this.assignment();
|
||||
this.$refs["addForm"].validate().then(async () => {
|
||||
let score = 0
|
||||
await this.assignment()
|
||||
if (this.commentatorData.assessmentMode === 1) {
|
||||
this.bzList.forEach(v => {
|
||||
this.bzList.forEach((v) => {
|
||||
score += Number(v.resultScore)
|
||||
})
|
||||
if (score >= Number(80)) {
|
||||
this.reviewResult = '满意'
|
||||
this.reviewResult = "满意"
|
||||
} else if (score >= Number(60) && score <= Number(79)) {
|
||||
this.reviewResult = '基本满意'
|
||||
this.reviewResult = "基本满意"
|
||||
} else {
|
||||
this.reviewResult = '不满意'
|
||||
this.reviewResult = "不满意"
|
||||
}
|
||||
console.log(score)
|
||||
console.log(this.reviewResult)
|
||||
vant.Dialog.alert({
|
||||
title: '测评结果',
|
||||
message: '您的测评分数为【' + score + "】分,测评结果为【" + this.reviewResult + "】",
|
||||
confirmButtonColor: '#1867b0'
|
||||
title: "测评结果",
|
||||
message: "您的测评分数为【" + score + "】分,测评结果为【" + this.reviewResult + "】",
|
||||
confirmButtonColor: "#1867b0"
|
||||
})
|
||||
} else if (this.commentatorData.assessmentMode === 2) {
|
||||
const result = this.bzList.filter(v => v.resultScore === '满意' || v.resultScore === '基本满意')
|
||||
const result = this.bzList.filter((v) => v.resultScore === "满意" || v.resultScore === "基本满意")
|
||||
if (result.length >= 8) {
|
||||
this.reviewResult = '满意'
|
||||
this.reviewResult = "满意"
|
||||
} else if (result.length >= 6 && result.length <= 7) {
|
||||
this.reviewResult = '基本满意'
|
||||
this.reviewResult = "基本满意"
|
||||
} else {
|
||||
this.reviewResult = '不满意'
|
||||
this.reviewResult = "不满意"
|
||||
}
|
||||
console.log(result)
|
||||
console.log(this.reviewResult)
|
||||
vant.Dialog.alert({
|
||||
title: '测评结果',
|
||||
message: '您的满意或基本满意个数为【' + result.length + "】个,测评结果为【" + this.reviewResult + "】",
|
||||
confirmButtonColor: '#1867b0'
|
||||
title: "测评结果",
|
||||
message: "您的满意或基本满意个数为【" + result.length + "】个,测评结果为【" + this.reviewResult + "】",
|
||||
confirmButtonColor: "#1867b0"
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
changeScore(item) {
|
||||
if (Number(item.score) < Number(item.resultScore)) {
|
||||
item.resultScore = null;
|
||||
vant.Toast('测评分不能超过标准分!')
|
||||
item.resultScore = null
|
||||
vant.Toast("测评分不能超过标准分!")
|
||||
}
|
||||
},
|
||||
async getPresidents() {
|
||||
const resp = await $.get('/mobile/unioncomment/appraisal/getPresidents')
|
||||
const resp = await $.get("/mobile/unioncomment/appraisal/getPresidents")
|
||||
if (resp.code === 0) {
|
||||
this.userList = resp.data
|
||||
this.userList.forEach(v => {
|
||||
this.userList.forEach((v) => {
|
||||
this.presidentList.push({ value: v.id, text: v.presidents })
|
||||
})
|
||||
}
|
||||
this.president = this.presidentList[0].value
|
||||
await this.presidentChange();
|
||||
await this.presidentChange()
|
||||
},
|
||||
async presidentChange() {
|
||||
const resp = await $.get('/mobile/unioncomment/appraisal/isAssess', {
|
||||
const resp = await $.get("/mobile/unioncomment/appraisal/isAssess", {
|
||||
id: this.id,
|
||||
evaluatedPersonId: this.president,
|
||||
evaluatedPersonId: this.president
|
||||
})
|
||||
if (resp.data > 0) {
|
||||
vant.Dialog.alert({
|
||||
title: '提示',
|
||||
message: '您已经评测过该主席(副主席),请在【我的评测】中查看结果,或更换主席(副主席)进行测评',
|
||||
confirmButtonColor: '#1867b0'
|
||||
title: "提示",
|
||||
message: "您已经评测过该主席(副主席),请在【我的评测】中查看结果,或更换主席(副主席)进行测评",
|
||||
confirmButtonColor: "#1867b0"
|
||||
})
|
||||
this.isShowSubmit = true;
|
||||
this.isShowSubmit = true
|
||||
this.isReadOnly = true
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.id = GetQueryString('id')
|
||||
await this.getCommentById();
|
||||
this.id = GetQueryString("id")
|
||||
await this.getCommentById()
|
||||
}
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
</style>
|
||||
<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>
|
||||
<div>
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
|
||||
@@ -22,7 +22,7 @@ layout("/mobile/platform.html"){
|
||||
.welfare_card .name {
|
||||
margin-top: 10px;
|
||||
display: flex;
|
||||
align-items: center
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.welfare_card .footer {
|
||||
@@ -47,10 +47,8 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
</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>
|
||||
|
||||
<van-sticky>
|
||||
@@ -61,48 +59,70 @@ layout("/mobile/platform.html"){
|
||||
</van-sticky>
|
||||
|
||||
<template v-if="vLoading && !vLoading.value">
|
||||
<van-list :finished="finished" :finished-text="tableData.length>0?'没有更多了':''"
|
||||
<van-list
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
v-if="tableData && tableData.length>0"
|
||||
v-model="loading"
|
||||
@load="pageData">
|
||||
@load="pageData"
|
||||
>
|
||||
<template v-for="item in tableData" :key="item.id">
|
||||
|
||||
<div class="welfare_card" @click="welfareClick(item)">
|
||||
<div class="cover">
|
||||
<van-image v-if="item.cover" :src="FILE_STREAM_PREVIEW_ADDRESS+'?id='+item.cover"></van-image>
|
||||
<van-image v-else src="/assets/mobile/svg/welfare/welfareHome.svg" fit="contain"></van-image>
|
||||
</div>
|
||||
<div class="name">
|
||||
<svg t="1715150952924" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" p-id="4175" width="20" height="20">
|
||||
<path d="M513.2288 510.72m-450.816 0a450.816 450.816 0 1 0 901.632 0 450.816 450.816 0 1 0-901.632 0Z"
|
||||
fill="#FFE1E9" p-id="4176"></path>
|
||||
<path d="M777.8304 321.6896h-198.4512l62.6176-60.7744a29.2864 29.2864 0 0 0 0.6144-41.4208 29.2864 29.2864 0 0 0-41.4208-0.6144L514.4576 303.104 436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.712 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 19.712 15.9744 35.6352 35.6352 35.6352h27.2384v238.7456c0 45.1072 36.608 81.7152 81.7152 81.7152h301.2096c45.1072 0 81.7152-36.608 81.7152-81.7152V476.3136h27.2384c19.712 0 35.6352-15.9744 35.6352-35.6352V357.376a35.6864 35.6864 0 0 0-35.6864-35.6864z m-230.2464 342.0672c0 16.1792-13.1072 29.2864-29.2864 29.2864s-29.2864-13.1072-29.2864-29.2864v-97.7408c0-16.1792 13.1072-29.2864 29.2864-29.2864s29.2864 13.1072 29.2864 29.2864v97.7408z"
|
||||
fill="#FF3369" p-id="4177"></path>
|
||||
<path d="M776.6016 321.6896h-197.2224l62.6176-60.7744a29.2864 29.2864 0 0 0 0.6144-41.4208 29.2864 29.2864 0 0 0-41.4208-0.6144L514.4576 303.104 436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.6608 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 19.712 15.9744 35.6352 35.6352 35.6352h27.2384v238.7456c0 45.1072 36.608 81.7152 81.7152 81.7152H432.64c146.6368-31.8976 265.9328-136.7552 318.0032-274.7392v-45.7216h14.4896a442.2656 442.2656 0 0 0 11.4688-154.5728z m-229.0176 342.0672c0 16.1792-13.1072 29.2864-29.2864 29.2864-16.1792 0-29.2864-13.1072-29.2864-29.2864v-97.7408c0-16.1792 13.1072-29.2864 29.2864-29.2864 16.1792 0 29.2864 13.1072 29.2864 29.2864v97.7408z"
|
||||
fill="#FF4D7C" p-id="4178"></path>
|
||||
<path d="M579.3792 321.6896l62.6176-60.7744a29.2864 29.2864 0 0 0 0.6144-41.4208 29.2864 29.2864 0 0 0-41.4208-0.6144L514.4576 303.104 436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.6608 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 19.712 15.9744 35.6352 35.6352 35.6352h27.2384v169.0624c76.6464-11.8272 146.688-43.52 204.9024-89.4976a29.27616 29.27616 0 0 1 22.1696-18.5856c62.8224-56.6784 109.2096-131.1744 131.1744-215.552h-64.8704z"
|
||||
fill="#FF5F89" p-id="4179"></path>
|
||||
<path d="M488.3456 275.3024L436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.6608 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 14.4384 8.6016 26.8288 20.8896 32.4096 103.68-33.7408 190.464-105.0112 244.3264-197.7344z"
|
||||
fill="#FF7196" p-id="4180"></path>
|
||||
<svg
|
||||
t="1715150952924"
|
||||
class="icon"
|
||||
viewBox="0 0 1024 1024"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="4175"
|
||||
width="20"
|
||||
height="20"
|
||||
>
|
||||
<path
|
||||
d="M513.2288 510.72m-450.816 0a450.816 450.816 0 1 0 901.632 0 450.816 450.816 0 1 0-901.632 0Z"
|
||||
fill="#FFE1E9"
|
||||
p-id="4176"
|
||||
></path>
|
||||
<path
|
||||
d="M777.8304 321.6896h-198.4512l62.6176-60.7744a29.2864 29.2864 0 0 0 0.6144-41.4208 29.2864 29.2864 0 0 0-41.4208-0.6144L514.4576 303.104 436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.712 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 19.712 15.9744 35.6352 35.6352 35.6352h27.2384v238.7456c0 45.1072 36.608 81.7152 81.7152 81.7152h301.2096c45.1072 0 81.7152-36.608 81.7152-81.7152V476.3136h27.2384c19.712 0 35.6352-15.9744 35.6352-35.6352V357.376a35.6864 35.6864 0 0 0-35.6864-35.6864z m-230.2464 342.0672c0 16.1792-13.1072 29.2864-29.2864 29.2864s-29.2864-13.1072-29.2864-29.2864v-97.7408c0-16.1792 13.1072-29.2864 29.2864-29.2864s29.2864 13.1072 29.2864 29.2864v97.7408z"
|
||||
fill="#FF3369"
|
||||
p-id="4177"
|
||||
></path>
|
||||
<path
|
||||
d="M776.6016 321.6896h-197.2224l62.6176-60.7744a29.2864 29.2864 0 0 0 0.6144-41.4208 29.2864 29.2864 0 0 0-41.4208-0.6144L514.4576 303.104 436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.6608 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 19.712 15.9744 35.6352 35.6352 35.6352h27.2384v238.7456c0 45.1072 36.608 81.7152 81.7152 81.7152H432.64c146.6368-31.8976 265.9328-136.7552 318.0032-274.7392v-45.7216h14.4896a442.2656 442.2656 0 0 0 11.4688-154.5728z m-229.0176 342.0672c0 16.1792-13.1072 29.2864-29.2864 29.2864-16.1792 0-29.2864-13.1072-29.2864-29.2864v-97.7408c0-16.1792 13.1072-29.2864 29.2864-29.2864 16.1792 0 29.2864 13.1072 29.2864 29.2864v97.7408z"
|
||||
fill="#FF4D7C"
|
||||
p-id="4178"
|
||||
></path>
|
||||
<path
|
||||
d="M579.3792 321.6896l62.6176-60.7744a29.2864 29.2864 0 0 0 0.6144-41.4208 29.2864 29.2864 0 0 0-41.4208-0.6144L514.4576 303.104 436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.6608 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 19.712 15.9744 35.6352 35.6352 35.6352h27.2384v169.0624c76.6464-11.8272 146.688-43.52 204.9024-89.4976a29.27616 29.27616 0 0 1 22.1696-18.5856c62.8224-56.6784 109.2096-131.1744 131.1744-215.552h-64.8704z"
|
||||
fill="#FF5F89"
|
||||
p-id="4179"
|
||||
></path>
|
||||
<path
|
||||
d="M488.3456 275.3024L436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.6608 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 14.4384 8.6016 26.8288 20.8896 32.4096 103.68-33.7408 190.464-105.0112 244.3264-197.7344z"
|
||||
fill="#FF7196"
|
||||
p-id="4180"
|
||||
></path>
|
||||
</svg>
|
||||
{{item.name}}
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<div class="time">
|
||||
{{moment(item.choiceTimeStart).format('YYYY/MM/DD HH:mm')}}
|
||||
~
|
||||
{{moment(item.choiceTimeEnd).format('YYYY/MM/DD HH:mm')}}
|
||||
{{moment(item.choiceTimeStart).format('YYYY/MM/DD HH:mm')}} ~ {{moment(item.choiceTimeEnd).format('YYYY/MM/DD HH:mm')}}
|
||||
</div>
|
||||
<div class="status">
|
||||
<span v-if="item.isSelect" style="color: green">已选择</span>
|
||||
<span v-else style="color:red;">未选择</span>
|
||||
<span v-else style="color: red">未选择</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</van-list>
|
||||
<van-empty v-else description="暂无数据"></van-empty>
|
||||
</template>
|
||||
@@ -118,58 +138,44 @@ layout("/mobile/platform.html"){
|
||||
<!--#include("/mobile/welfare/include/mixins.js"){}#-->
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins, welfareMixins],
|
||||
data() {
|
||||
return {
|
||||
tabName: 'ing',
|
||||
tabName: "ing",
|
||||
tarBarActive: 0
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async welfareClick(o) {
|
||||
const {
|
||||
id,
|
||||
provideMode,
|
||||
flexible,
|
||||
provideTimeEnd,
|
||||
provideTimeStart,
|
||||
choiceTimeEnd,
|
||||
choiceTimeStart
|
||||
} = o
|
||||
const { id, provideMode, flexible, provideTimeEnd, provideTimeStart, choiceTimeEnd, choiceTimeStart } = o
|
||||
/* const resp = await $.get('/mobile/welfare/mine/isReceive', {projectId: id})
|
||||
const isReceive = resp.data*/
|
||||
|
||||
if (this.tabName === 'ing') {
|
||||
if (this.tabName === "ing") {
|
||||
if (flexible) {
|
||||
if (moment().valueOf() < moment(provideTimeEnd).valueOf() &&
|
||||
moment().valueOf() > moment(provideTimeStart).valueOf()) {
|
||||
|
||||
if (moment().valueOf() < moment(provideTimeEnd).valueOf() && moment().valueOf() > moment(provideTimeStart).valueOf()) {
|
||||
if (moment().valueOf() > moment(choiceTimeEnd).valueOf()) {
|
||||
if (!o.isSelect) {
|
||||
vant.Dialog.alert({
|
||||
title: '提醒',
|
||||
message: '您在规定时间内没有选择,无法领取!',
|
||||
}).then(() => {
|
||||
});
|
||||
title: "提醒",
|
||||
message: "您在规定时间内没有选择,无法领取!"
|
||||
}).then(() => {})
|
||||
return
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
location.href = '/mobile/welfare/list/receive?projectId=' + id
|
||||
|
||||
location.href = "/mobile/welfare/list/receive?projectId=" + id
|
||||
} else {
|
||||
location.href = '/mobile/welfare/list/receive_success?projectId=' + id + '&provideMode=' + provideMode
|
||||
location.href = "/mobile/welfare/list/receive_success?projectId=" + id + "&provideMode=" + provideMode
|
||||
}
|
||||
} else if (this.tabName === 'end') {
|
||||
location.href = '/mobile/welfare/list/receive?projectId=' + id + "&type=view"
|
||||
} else if (this.tabName === "end") {
|
||||
location.href = "/mobile/welfare/list/receive?projectId=" + id + "&type=view"
|
||||
}
|
||||
},
|
||||
async pageData() {
|
||||
this.mLoading = true
|
||||
const resp = await $.post('/mobile/welfare/list/pageData', this.pageForm)
|
||||
const resp = await $.post("/mobile/welfare/list/pageData", this.pageForm)
|
||||
if (resp.code === 0) {
|
||||
if (resp.data.list.length === 0) {
|
||||
this.tableData = []
|
||||
@@ -184,7 +190,7 @@ layout("/mobile/platform.html"){
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
}
|
||||
this.loading = false;
|
||||
this.loading = false
|
||||
this.mLoading = false
|
||||
},
|
||||
tabChange(val) {
|
||||
@@ -198,22 +204,20 @@ layout("/mobile/platform.html"){
|
||||
init() {
|
||||
this.startLoading()
|
||||
this.tarBarActive = Number(GetQueryString("tarBarActive"))
|
||||
this.pageForm.tabName = 'ing'
|
||||
this.pageForm.tabName = "ing"
|
||||
this.pageData()
|
||||
this.closeLoading()
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.init()
|
||||
},
|
||||
|
||||
}
|
||||
})
|
||||
window.addEventListener('pageshow', e => {
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
if (e.persisted || (window.performance && window.performance.navigation.type === 2)) {
|
||||
vue.onRefresh()
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
|
||||
@@ -13,13 +13,11 @@ layout("/mobile/platform.html"){
|
||||
width: 160px;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
</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="back"></van-nav-bar>
|
||||
</van-sticky>
|
||||
|
||||
<div v-if="vLoading && !vLoading.value">
|
||||
@@ -36,14 +34,13 @@ layout("/mobile/platform.html"){
|
||||
<van-button round type="danger" class="bottom-button" @click="onAdd">新增地址</van-button>
|
||||
</van-empty>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
<!--#include("/mobile/welfare/include/mixins.js"){}#-->
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins, welfareMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -51,11 +48,18 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
back() {
|
||||
if (this.projectId) {
|
||||
pjaxReplace("/mobile/welfare/list/receive?projectId=" + this.projectId)
|
||||
} else {
|
||||
pjaxReplace("/mobile/index")
|
||||
}
|
||||
},
|
||||
onAdd() {
|
||||
location.replace('/mobile/welfare/mine/addressEdit')
|
||||
pjaxReplace("/mobile/welfare/mine/addressEdit")
|
||||
},
|
||||
onEdit(item, index) {
|
||||
location.replace('/mobile/welfare/mine/addressEdit?id=' + item.id)
|
||||
pjaxReplace("/mobile/welfare/mine/addressEdit?id=" + item.id)
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
|
||||
@@ -49,75 +49,78 @@ layout("/mobile/platform.html"){
|
||||
top: unset !important;
|
||||
transform: unset !important;
|
||||
}
|
||||
|
||||
</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-dropdown-menu active-color="#1989fa">
|
||||
<van-dropdown-item :options="yearOption" @change="yearChange"
|
||||
v-model="pageForm.year"></van-dropdown-item>
|
||||
<van-dropdown-item :options="yearOption" @change="yearChange" v-model="pageForm.year"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
|
||||
</van-sticky>
|
||||
|
||||
<template v-if="vLoading && !vLoading.value">
|
||||
<van-list
|
||||
:finished="finished"
|
||||
@load="pageData"
|
||||
finished-text="没有更多了"
|
||||
v-if="tableData.length>=0"
|
||||
v-model="loading">
|
||||
<van-list :finished="finished" @load="pageData" finished-text="没有更多了" v-if="tableData.length>=0" v-model="loading">
|
||||
<template v-for="item in tableData">
|
||||
<div style="padding: 10px;margin:10px 10px 0 10px;position: relative;background: #FFFFFF;border-radius: 10px">
|
||||
<div style="padding: 10px; margin: 10px 10px 0 10px; position: relative; background: #ffffff; border-radius: 10px">
|
||||
<div style="font-weight: bold; display: flex; align-items: center">
|
||||
<svg class="icon" height="20" p-id="4175" t="1715150952924"
|
||||
version="1.1" viewBox="0 0 1024 1024" width="20"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M513.2288 510.72m-450.816 0a450.816 450.816 0 1 0 901.632 0 450.816 450.816 0 1 0-901.632 0Z"
|
||||
fill="#FFE1E9" p-id="4176"></path>
|
||||
<path d="M777.8304 321.6896h-198.4512l62.6176-60.7744a29.2864 29.2864 0 0 0 0.6144-41.4208 29.2864 29.2864 0 0 0-41.4208-0.6144L514.4576 303.104 436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.712 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 19.712 15.9744 35.6352 35.6352 35.6352h27.2384v238.7456c0 45.1072 36.608 81.7152 81.7152 81.7152h301.2096c45.1072 0 81.7152-36.608 81.7152-81.7152V476.3136h27.2384c19.712 0 35.6352-15.9744 35.6352-35.6352V357.376a35.6864 35.6864 0 0 0-35.6864-35.6864z m-230.2464 342.0672c0 16.1792-13.1072 29.2864-29.2864 29.2864s-29.2864-13.1072-29.2864-29.2864v-97.7408c0-16.1792 13.1072-29.2864 29.2864-29.2864s29.2864 13.1072 29.2864 29.2864v97.7408z"
|
||||
fill="#FF3369" p-id="4177"></path>
|
||||
<path d="M776.6016 321.6896h-197.2224l62.6176-60.7744a29.2864 29.2864 0 0 0 0.6144-41.4208 29.2864 29.2864 0 0 0-41.4208-0.6144L514.4576 303.104 436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.6608 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 19.712 15.9744 35.6352 35.6352 35.6352h27.2384v238.7456c0 45.1072 36.608 81.7152 81.7152 81.7152H432.64c146.6368-31.8976 265.9328-136.7552 318.0032-274.7392v-45.7216h14.4896a442.2656 442.2656 0 0 0 11.4688-154.5728z m-229.0176 342.0672c0 16.1792-13.1072 29.2864-29.2864 29.2864-16.1792 0-29.2864-13.1072-29.2864-29.2864v-97.7408c0-16.1792 13.1072-29.2864 29.2864-29.2864 16.1792 0 29.2864 13.1072 29.2864 29.2864v97.7408z"
|
||||
fill="#FF4D7C" p-id="4178"></path>
|
||||
<path d="M579.3792 321.6896l62.6176-60.7744a29.2864 29.2864 0 0 0 0.6144-41.4208 29.2864 29.2864 0 0 0-41.4208-0.6144L514.4576 303.104 436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.6608 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 19.712 15.9744 35.6352 35.6352 35.6352h27.2384v169.0624c76.6464-11.8272 146.688-43.52 204.9024-89.4976a29.27616 29.27616 0 0 1 22.1696-18.5856c62.8224-56.6784 109.2096-131.1744 131.1744-215.552h-64.8704z"
|
||||
fill="#FF5F89" p-id="4179"></path>
|
||||
<path d="M488.3456 275.3024L436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.6608 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 14.4384 8.6016 26.8288 20.8896 32.4096 103.68-33.7408 190.464-105.0112 244.3264-197.7344z"
|
||||
fill="#FF7196" p-id="4180"></path>
|
||||
<svg
|
||||
class="icon"
|
||||
height="20"
|
||||
p-id="4175"
|
||||
t="1715150952924"
|
||||
version="1.1"
|
||||
viewBox="0 0 1024 1024"
|
||||
width="20"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M513.2288 510.72m-450.816 0a450.816 450.816 0 1 0 901.632 0 450.816 450.816 0 1 0-901.632 0Z"
|
||||
fill="#FFE1E9"
|
||||
p-id="4176"
|
||||
></path>
|
||||
<path
|
||||
d="M777.8304 321.6896h-198.4512l62.6176-60.7744a29.2864 29.2864 0 0 0 0.6144-41.4208 29.2864 29.2864 0 0 0-41.4208-0.6144L514.4576 303.104 436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.712 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 19.712 15.9744 35.6352 35.6352 35.6352h27.2384v238.7456c0 45.1072 36.608 81.7152 81.7152 81.7152h301.2096c45.1072 0 81.7152-36.608 81.7152-81.7152V476.3136h27.2384c19.712 0 35.6352-15.9744 35.6352-35.6352V357.376a35.6864 35.6864 0 0 0-35.6864-35.6864z m-230.2464 342.0672c0 16.1792-13.1072 29.2864-29.2864 29.2864s-29.2864-13.1072-29.2864-29.2864v-97.7408c0-16.1792 13.1072-29.2864 29.2864-29.2864s29.2864 13.1072 29.2864 29.2864v97.7408z"
|
||||
fill="#FF3369"
|
||||
p-id="4177"
|
||||
></path>
|
||||
<path
|
||||
d="M776.6016 321.6896h-197.2224l62.6176-60.7744a29.2864 29.2864 0 0 0 0.6144-41.4208 29.2864 29.2864 0 0 0-41.4208-0.6144L514.4576 303.104 436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.6608 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 19.712 15.9744 35.6352 35.6352 35.6352h27.2384v238.7456c0 45.1072 36.608 81.7152 81.7152 81.7152H432.64c146.6368-31.8976 265.9328-136.7552 318.0032-274.7392v-45.7216h14.4896a442.2656 442.2656 0 0 0 11.4688-154.5728z m-229.0176 342.0672c0 16.1792-13.1072 29.2864-29.2864 29.2864-16.1792 0-29.2864-13.1072-29.2864-29.2864v-97.7408c0-16.1792 13.1072-29.2864 29.2864-29.2864 16.1792 0 29.2864 13.1072 29.2864 29.2864v97.7408z"
|
||||
fill="#FF4D7C"
|
||||
p-id="4178"
|
||||
></path>
|
||||
<path
|
||||
d="M579.3792 321.6896l62.6176-60.7744a29.2864 29.2864 0 0 0 0.6144-41.4208 29.2864 29.2864 0 0 0-41.4208-0.6144L514.4576 303.104 436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.6608 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 19.712 15.9744 35.6352 35.6352 35.6352h27.2384v169.0624c76.6464-11.8272 146.688-43.52 204.9024-89.4976a29.27616 29.27616 0 0 1 22.1696-18.5856c62.8224-56.6784 109.2096-131.1744 131.1744-215.552h-64.8704z"
|
||||
fill="#FF5F89"
|
||||
p-id="4179"
|
||||
></path>
|
||||
<path
|
||||
d="M488.3456 275.3024L436.3264 219.8528a29.28128 29.28128 0 0 0-41.3696-1.3312 29.2352 29.2352 0 0 0-1.28 41.3696L451.584 321.6896H258.7648c-19.6608 0-35.6352 15.9744-35.6352 35.6352v83.3024c0 14.4384 8.6016 26.8288 20.8896 32.4096 103.68-33.7408 190.464-105.0112 244.3264-197.7344z"
|
||||
fill="#FF7196"
|
||||
p-id="4180"
|
||||
></path>
|
||||
</svg>
|
||||
{{item.name}}
|
||||
</div>
|
||||
<van-card>
|
||||
<template #thumb>
|
||||
<img :src="FILE_STREAM_PREVIEW_ADDRESS+'?id='+item.cover" alt=""
|
||||
style="width: 88px;height: 88px"
|
||||
v-if="item.cover">
|
||||
<img src="/assets/mobile/svg/welfare/welfareHome.svg"
|
||||
style="width: 88px;height: 88px"
|
||||
v-else/>
|
||||
<img :src="FILE_STREAM_PREVIEW_ADDRESS+'?id='+item.cover" alt="" style="width: 88px; height: 88px" v-if="item.cover" />
|
||||
<img src="/assets/mobile/svg/welfare/welfareHome.svg" style="width: 88px; height: 88px" v-else />
|
||||
</template>
|
||||
<div slot="tags" style="margin-top: 5px;padding-left: 30px;"
|
||||
v-if="item.gifts">
|
||||
<div :key="item.name" class="van-card__bottom"
|
||||
v-for="gift in item.gifts">
|
||||
<div class="van-card__price">
|
||||
{{gift.name}}
|
||||
</div>
|
||||
<div slot="tags" style="margin-top: 5px; padding-left: 30px" v-if="item.gifts">
|
||||
<div :key="item.name" class="van-card__bottom" v-for="gift in item.gifts">
|
||||
<div class="van-card__price">{{gift.name}}</div>
|
||||
<div class="van-card__num">x{{gift.num}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer" style="margin-top: 10px;">
|
||||
<van-button @click="openEvaluate(item)" plain round size="small">评价商品
|
||||
</van-button>
|
||||
<div slot="footer" style="margin-top: 10px">
|
||||
<van-button @click="openEvaluate(item)" plain round size="small">评价商品</van-button>
|
||||
<!-- <van-button @click="openExpress(item)" plain round size="small"-->
|
||||
<!-- v-if="item.provideMode==3">-->
|
||||
<!-- 物流信息-->
|
||||
<!-- </van-button>-->
|
||||
<van-button @click="openView(item)" plain round size="small">查看详情
|
||||
</van-button>
|
||||
<van-button @click="openView(item)" plain round size="small">查看详情</van-button>
|
||||
</div>
|
||||
</van-card>
|
||||
</div>
|
||||
@@ -134,8 +137,7 @@ layout("/mobile/platform.html"){
|
||||
<van-action-sheet title="查看详情" v-model="descPopup">
|
||||
<div class="van-cell-group--inset">
|
||||
<van-cell>
|
||||
<van-icon class="van-cell__left-icon" color="red" name="location"
|
||||
slot="icon"></van-icon>
|
||||
<van-icon class="van-cell__left-icon" color="red" name="location" slot="icon"></van-icon>
|
||||
<div slot="title" style="font-weight: bold; font-size: 15px">已选福利</div>
|
||||
</van-cell>
|
||||
<van-cell style="padding: 0">
|
||||
@@ -144,7 +146,7 @@ layout("/mobile/platform.html"){
|
||||
:num="item.selectNum"
|
||||
:thumb="FILE_STREAM_PREVIEW_ADDRESS+'?id='+item.imgUrl"
|
||||
:title="item.optionName"
|
||||
style="border-radius: 8px;background: #FFFFFF"
|
||||
style="border-radius: 8px; background: #ffffff"
|
||||
v-for="item in selectedOptions"
|
||||
>
|
||||
<template #desc>
|
||||
@@ -158,12 +160,10 @@ layout("/mobile/platform.html"){
|
||||
<!--邮寄到家 填写收货地址-->
|
||||
<div class="van-cell-group--inset" v-if="provideMode===3">
|
||||
<van-cell>
|
||||
<van-icon class="van-cell__left-icon" color="red" name="location"
|
||||
slot="icon"></van-icon>
|
||||
<van-icon class="van-cell__left-icon" color="red" name="location" slot="icon"></van-icon>
|
||||
<div slot="title" style="font-weight: bold; font-size: 15px">收货地址</div>
|
||||
</van-cell>
|
||||
<van-cell :value="receiveAddress" class="address-cell">
|
||||
</van-cell>
|
||||
<van-cell :value="receiveAddress" class="address-cell"></van-cell>
|
||||
</div>
|
||||
|
||||
<!--电子签字-->
|
||||
@@ -175,30 +175,25 @@ layout("/mobile/platform.html"){
|
||||
</van-cell>
|
||||
<van-cell title="">
|
||||
<template #label>
|
||||
<van-image :src="'/signature/getSignData?path=' + userSign"
|
||||
style="width: 100%;height: 150px;border: 1px dashed"></van-image>
|
||||
<van-image :src="'/signature/getSignData?path=' + userSign" style="width: 100%; height: 150px; border: 1px dashed"></van-image>
|
||||
</template>
|
||||
</van-cell>
|
||||
</div>
|
||||
|
||||
|
||||
</van-action-sheet>
|
||||
|
||||
<!--评价-->
|
||||
<van-popup :style="{ height: '60%',background:'#f9f9f9','padding-top':'30px'}"
|
||||
<van-popup
|
||||
:style="{ height: '60%',background:'#f9f9f9','padding-top':'30px'}"
|
||||
closeable
|
||||
position="bottom"
|
||||
round
|
||||
safe-area-inset-bottom
|
||||
v-model="evaluatePopup">
|
||||
|
||||
v-model="evaluatePopup"
|
||||
>
|
||||
<div style="margin-top: 20px">
|
||||
<van-radio-group v-model="evaluateFormData.optionId">
|
||||
<van-cell-group>
|
||||
<van-cell
|
||||
:key="item.selectOptionId"
|
||||
@click="optionIdClick(item.selectOptionId)"
|
||||
clickable v-for="item in selectedOptions">
|
||||
<van-cell :key="item.selectOptionId" @click="optionIdClick(item.selectOptionId)" clickable v-for="item in selectedOptions">
|
||||
<template #title>
|
||||
{{item.optionName}}
|
||||
<span style="color: red" v-if="!item.isPj">未评价</span>
|
||||
@@ -211,15 +206,10 @@ layout("/mobile/platform.html"){
|
||||
</van-radio-group>
|
||||
</div>
|
||||
<div class="evaluateForm">
|
||||
|
||||
|
||||
<div style="text-align: center;margin: 20px 0;font-size: 20px;color: #f18d8d;font-weight: bold;">
|
||||
您的评价让我们做的更好
|
||||
</div>
|
||||
<div style="text-align: center; margin: 20px 0; font-size: 20px; color: #f18d8d; font-weight: bold">您的评价让我们做的更好</div>
|
||||
|
||||
<div style="display: flex; justify-content: center; flex-direction: column; align-items: center">
|
||||
<div style="text-align: center;font-size: 13px;color: rgb(139 134 134)">为本次福利打分
|
||||
</div>
|
||||
<div style="text-align: center; font-size: 13px; color: rgb(139 134 134)">为本次福利打分</div>
|
||||
<van-rate
|
||||
:gutter="10"
|
||||
:readonly="evaluateFormData.id"
|
||||
@@ -247,19 +237,24 @@ layout("/mobile/platform.html"){
|
||||
</van-field>
|
||||
</div>
|
||||
<div style="padding: 10px 16px">
|
||||
<van-button @click="doSubmitEvaluate"
|
||||
block
|
||||
type="primary"
|
||||
v-if="!evaluateFormData.id">提交
|
||||
</van-button>
|
||||
<van-button @click="doSubmitEvaluate" block type="primary" v-if="!evaluateFormData.id">提交</van-button>
|
||||
|
||||
<div style="display: flex;align-items: center;color: #52c41a;justify-content: center;font-size: 20px"
|
||||
v-else>
|
||||
<svg class="icon" height="32" p-id="2914" t="1715150529722"
|
||||
version="1.1" viewBox="0 0 1024 1024" width="32"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M596.48 113.024a142.848 142.848 0 0 0-169.024 0l-49.472 36.288a62.848 62.848 0 0 1-27.648 11.52l-60.8 9.28a142.848 142.848 0 0 0-119.424 119.488l-9.344 60.8a62.848 62.848 0 0 1-11.52 27.648l-36.224 49.472a142.848 142.848 0 0 0 0 169.088l36.288 49.472a62.336 62.336 0 0 1 11.456 27.648l9.344 60.672a142.848 142.848 0 0 0 119.488 119.488l60.672 9.344a62.656 62.656 0 0 1 27.648 11.52l49.472 36.224a142.848 142.848 0 0 0 169.088 0l49.472-36.288a62.4 62.4 0 0 1 27.648-11.52l60.672-9.28a142.912 142.912 0 0 0 119.552-119.552l9.344-60.672a62.656 62.656 0 0 1 11.52-27.648l36.224-49.472a142.848 142.848 0 0 0 0-169.088l-36.288-49.472a62.848 62.848 0 0 1-11.456-27.648l-9.28-60.8a142.848 142.848 0 0 0-119.488-119.424l-60.672-9.344a62.912 62.912 0 0 1-27.648-11.52l-49.536-36.224zM474.88 177.472a62.72 62.72 0 0 1 74.368 0l49.472 36.288c18.56 13.632 40.128 22.528 62.976 26.048l60.544 9.28a62.848 62.848 0 0 1 52.672 52.672l9.28 60.608c3.52 22.784 12.416 44.352 26.048 62.976l36.288 49.408a62.72 62.72 0 0 1 0 74.368l-36.288 49.472c-13.632 18.56-22.592 40.192-26.048 62.976l-9.28 60.608a62.848 62.848 0 0 1-52.672 52.608l-60.608 9.28a142.784 142.784 0 0 0-62.976 26.112l-49.408 36.224a62.72 62.72 0 0 1-74.368 0l-49.472-36.224a142.784 142.784 0 0 0-62.976-26.112l-60.544-9.28a62.784 62.784 0 0 1-52.672-52.608l-9.28-60.672a142.848 142.848 0 0 0-26.112-62.912l-36.224-49.472a62.848 62.848 0 0 1 0-74.368l36.224-49.472a142.72 142.72 0 0 0 26.112-62.912l9.28-60.608a62.848 62.848 0 0 1 52.672-52.672l60.608-9.28c22.784-3.456 44.352-12.416 62.912-26.048l49.472-36.288z m212.096 269.44A40 40 0 0 0 630.4 390.4L458.688 562.112 393.6 497.088a40 40 0 0 0-56.576 56.512l93.376 93.312a40 40 0 0 0 56.512 0l200-200z"
|
||||
fill="#52C41A" p-id="2915"></path>
|
||||
<div style="display: flex; align-items: center; color: #52c41a; justify-content: center; font-size: 20px" v-else>
|
||||
<svg
|
||||
class="icon"
|
||||
height="32"
|
||||
p-id="2914"
|
||||
t="1715150529722"
|
||||
version="1.1"
|
||||
viewBox="0 0 1024 1024"
|
||||
width="32"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M596.48 113.024a142.848 142.848 0 0 0-169.024 0l-49.472 36.288a62.848 62.848 0 0 1-27.648 11.52l-60.8 9.28a142.848 142.848 0 0 0-119.424 119.488l-9.344 60.8a62.848 62.848 0 0 1-11.52 27.648l-36.224 49.472a142.848 142.848 0 0 0 0 169.088l36.288 49.472a62.336 62.336 0 0 1 11.456 27.648l9.344 60.672a142.848 142.848 0 0 0 119.488 119.488l60.672 9.344a62.656 62.656 0 0 1 27.648 11.52l49.472 36.224a142.848 142.848 0 0 0 169.088 0l49.472-36.288a62.4 62.4 0 0 1 27.648-11.52l60.672-9.28a142.912 142.912 0 0 0 119.552-119.552l9.344-60.672a62.656 62.656 0 0 1 11.52-27.648l36.224-49.472a142.848 142.848 0 0 0 0-169.088l-36.288-49.472a62.848 62.848 0 0 1-11.456-27.648l-9.28-60.8a142.848 142.848 0 0 0-119.488-119.424l-60.672-9.344a62.912 62.912 0 0 1-27.648-11.52l-49.536-36.224zM474.88 177.472a62.72 62.72 0 0 1 74.368 0l49.472 36.288c18.56 13.632 40.128 22.528 62.976 26.048l60.544 9.28a62.848 62.848 0 0 1 52.672 52.672l9.28 60.608c3.52 22.784 12.416 44.352 26.048 62.976l36.288 49.408a62.72 62.72 0 0 1 0 74.368l-36.288 49.472c-13.632 18.56-22.592 40.192-26.048 62.976l-9.28 60.608a62.848 62.848 0 0 1-52.672 52.608l-60.608 9.28a142.784 142.784 0 0 0-62.976 26.112l-49.408 36.224a62.72 62.72 0 0 1-74.368 0l-49.472-36.224a142.784 142.784 0 0 0-62.976-26.112l-60.544-9.28a62.784 62.784 0 0 1-52.672-52.608l-9.28-60.672a142.848 142.848 0 0 0-26.112-62.912l-36.224-49.472a62.848 62.848 0 0 1 0-74.368l36.224-49.472a142.72 142.72 0 0 0 26.112-62.912l9.28-60.608a62.848 62.848 0 0 1 52.672-52.672l60.608-9.28c22.784-3.456 44.352-12.416 62.912-26.048l49.472-36.288z m212.096 269.44A40 40 0 0 0 630.4 390.4L458.688 562.112 393.6 497.088a40 40 0 0 0-56.576 56.512l93.376 93.312a40 40 0 0 0 56.512 0l200-200z"
|
||||
fill="#52C41A"
|
||||
p-id="2915"
|
||||
></path>
|
||||
</svg>
|
||||
评价完成
|
||||
</div>
|
||||
@@ -267,23 +262,22 @@ layout("/mobile/platform.html"){
|
||||
</van-popup>
|
||||
|
||||
<!--快递单号-->
|
||||
<van-popup :style="{ height: '80%', background:'#f9f9f9','padding-top':'30px'}"
|
||||
<van-popup
|
||||
:style="{ height: '80%', background:'#f9f9f9','padding-top':'30px'}"
|
||||
closeable
|
||||
position="bottom"
|
||||
round
|
||||
safe-area-inset-bottom
|
||||
v-model="expressPopup">
|
||||
v-model="expressPopup"
|
||||
>
|
||||
<div class="van-cell-group--inset">
|
||||
<van-cell>
|
||||
<van-icon class="van-cell__left-icon" color="red" name="location"
|
||||
slot="icon"></van-icon>
|
||||
<van-icon class="van-cell__left-icon" color="red" name="location" slot="icon"></van-icon>
|
||||
<div slot="title" style="font-weight: bold; font-size: 15px">物流信息</div>
|
||||
</van-cell>
|
||||
<van-cell :value="logisticsTrace.courierNumber" class="address-cell"
|
||||
title="快递单号"></van-cell>
|
||||
<van-cell :value="logisticsTrace.courierNumber" class="address-cell" title="快递单号"></van-cell>
|
||||
<van-cell class="logistics_cell" title="物流跟踪">
|
||||
<van-steps :active="0"
|
||||
direction="vertical">
|
||||
<van-steps :active="0" direction="vertical">
|
||||
<van-step v-for="(item, index) in logisticsTrace.logisticsTraceDetailList">
|
||||
<h3>{{item.desc}}</h3>
|
||||
<p>{{moment(item.time).format('YYYY-MM-DD HH:mm:ss')}}</p>
|
||||
@@ -294,36 +288,27 @@ layout("/mobile/platform.html"){
|
||||
</van-popup>
|
||||
|
||||
<!--快递物流信息-->
|
||||
<van-action-sheet class="courierNumberSheet"
|
||||
title=快递物流信息
|
||||
v-model="courierNumberShow">
|
||||
<van-action-sheet class="courierNumberSheet" title="快递物流信息" v-model="courierNumberShow">
|
||||
<div style="padding: 16px 16px 16px">
|
||||
<div v-for="(v,k) in optionCourierNumberInfo">
|
||||
<van-cell :title="k">
|
||||
<div slot="title" style="font-weight: bold">
|
||||
{{k}}
|
||||
</div>
|
||||
<div slot="title" style="font-weight: bold">{{k}}</div>
|
||||
</van-cell>
|
||||
<van-collapse accordion v-model="activeName">
|
||||
<van-collapse-item :key="item.courierNumber" :name="item.courierNumber"
|
||||
:title="item.courierNumber" v-for="item in v">
|
||||
<van-collapse-item :key="item.courierNumber" :name="item.courierNumber" :title="item.courierNumber" v-for="item in v">
|
||||
<template>
|
||||
|
||||
<van-cell :value="item.courierNumber" class="address-cell"
|
||||
title="快递单号">
|
||||
<div>
|
||||
{{item.courierNumber || '暂无'}}
|
||||
</div>
|
||||
<van-cell :value="item.courierNumber" class="address-cell" title="快递单号">
|
||||
<div>{{item.courierNumber || '暂无'}}</div>
|
||||
</van-cell>
|
||||
<van-cell class="logistics_cell" title="物流跟踪">
|
||||
<van-steps :active="0"
|
||||
<van-steps
|
||||
:active="0"
|
||||
direction="vertical"
|
||||
v-if="item.logisticsTrace && item.logisticsTrace.logisticsTraceDetailList">
|
||||
<van-step
|
||||
v-for="(timeline, timelineIndex) in item.logisticsTrace.logisticsTraceDetailList">
|
||||
v-if="item.logisticsTrace && item.logisticsTrace.logisticsTraceDetailList"
|
||||
>
|
||||
<van-step v-for="(timeline, timelineIndex) in item.logisticsTrace.logisticsTraceDetailList">
|
||||
<h3>{{timeline.desc}}</h3>
|
||||
<p>{{moment(timeline.time)
|
||||
.format('YYYY-MM-DD HH:mm:ss')}}</p>
|
||||
<p>{{moment(timeline.time) .format('YYYY-MM-DD HH:mm:ss')}}</p>
|
||||
</van-step>
|
||||
</van-steps>
|
||||
<van-empty v-else></van-empty>
|
||||
@@ -333,22 +318,19 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</van-action-sheet>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
<!--#include("/mobile/welfare/include/mixins.js"){}#-->
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins, welfareMixins],
|
||||
data() {
|
||||
return {
|
||||
pageDataUrl: '/platform/welfare/mine/pageData',
|
||||
pageDataUrl: "/platform/welfare/mine/pageData",
|
||||
|
||||
fullWelfareList: [],
|
||||
welfareList: [],
|
||||
@@ -378,7 +360,6 @@ layout("/mobile/platform.html"){
|
||||
|
||||
activeName: null,
|
||||
optionCourierNumberInfo: []
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
@@ -394,16 +375,16 @@ layout("/mobile/platform.html"){
|
||||
return this.selectedOptions[0].userSign
|
||||
}
|
||||
return null
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
optionIdClick(selectOptionId) {
|
||||
this.$set(this.evaluateFormData, 'optionId', selectOptionId)
|
||||
this.finOneWelfareEvaluate(this.evaluateFormData.projectId, selectOptionId);
|
||||
this.$set(this.evaluateFormData, "optionId", selectOptionId)
|
||||
this.finOneWelfareEvaluate(this.evaluateFormData.projectId, selectOptionId)
|
||||
},
|
||||
async getUserSelection(projectId) {
|
||||
const resp = await $.get('/platform/welfare/mine/getUserSelection', {projectId})
|
||||
const resp = await $.get("/platform/welfare/mine/getUserSelection", { projectId })
|
||||
return resp
|
||||
},
|
||||
//查看选择详情
|
||||
@@ -414,7 +395,7 @@ layout("/mobile/platform.html"){
|
||||
const { code, data, msg } = await this.getUserSelection(projectId)
|
||||
if (code === 0) {
|
||||
if (data.length === 0) {
|
||||
this.$modal.msg('您还没有选择福利,请先到职工福利->福利列表下选择')
|
||||
this.$modal.msg("您还没有选择福利,请先到职工福利->福利列表下选择")
|
||||
return
|
||||
}
|
||||
this.descPopup = true
|
||||
@@ -437,11 +418,7 @@ layout("/mobile/platform.html"){
|
||||
this.evaluatePopup = true
|
||||
},
|
||||
async finOneWelfareEvaluate(projectId, optionId) {
|
||||
const {
|
||||
data,
|
||||
code,
|
||||
msg
|
||||
} = await $.post("/platform/welfare/mine/finOneWelfareEvaluate", {
|
||||
const { data, code, msg } = await $.post("/platform/welfare/mine/finOneWelfareEvaluate", {
|
||||
projectId: projectId,
|
||||
optionId: optionId
|
||||
})
|
||||
@@ -465,11 +442,7 @@ layout("/mobile/platform.html"){
|
||||
this.$modal.msg("请为本次福利评分")
|
||||
return
|
||||
}
|
||||
const {
|
||||
code,
|
||||
data,
|
||||
msg
|
||||
} = await $.post('/platform/welfare/mine/doEvaluate', this.evaluateFormData)
|
||||
const { code, data, msg } = await $.post("/platform/welfare/mine/doEvaluate", this.evaluateFormData)
|
||||
if (code === 0) {
|
||||
this.$modal.msgSuccess("评价成功")
|
||||
this.evaluatePopup = false
|
||||
@@ -488,11 +461,11 @@ layout("/mobile/platform.html"){
|
||||
break
|
||||
}
|
||||
case 1: {
|
||||
this.welfareList = this.fullWelfareList.filter(v => v.isReceive || [1].includes(v.provideMode))
|
||||
this.welfareList = this.fullWelfareList.filter((v) => v.isReceive || [1].includes(v.provideMode))
|
||||
break
|
||||
}
|
||||
case 2: {
|
||||
this.welfareList = this.fullWelfareList.filter(v => !v.isReceive)
|
||||
this.welfareList = this.fullWelfareList.filter((v) => !v.isReceive)
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -500,31 +473,27 @@ layout("/mobile/platform.html"){
|
||||
|
||||
//获取物流信息
|
||||
async getExpressInfo(row) {
|
||||
const resp = await $.get('/platform/welfare/mine/getExpressInfo', {courierNumber: row.courierNumber})
|
||||
const resp = await $.get("/platform/welfare/mine/getExpressInfo", { courierNumber: row.courierNumber })
|
||||
if (resp.code === 0) {
|
||||
resp.data.courierNumber = row.courierNumber
|
||||
resp.data.logisticsTraceDetailList.sort((a, b) => {
|
||||
return b.time - a.time;
|
||||
return b.time - a.time
|
||||
})
|
||||
this.logisticsTrace = resp.data
|
||||
} else {
|
||||
this.$message.error(resp.msg);
|
||||
this.$message.error(resp.msg)
|
||||
}
|
||||
},
|
||||
|
||||
//打开物流
|
||||
async openExpress(item) {
|
||||
const {
|
||||
code,
|
||||
data,
|
||||
msg
|
||||
} = await $.get('/platform/welfare/common/courierNumberInfo', {
|
||||
const { code, data, msg } = await $.get("/platform/welfare/common/courierNumberInfo", {
|
||||
welfareId: item.projectId,
|
||||
userId: item.userId
|
||||
})
|
||||
if (code === 0) {
|
||||
if (data == null || data.length === 0) {
|
||||
this.$modal.msg('您还没有选择福利套餐')
|
||||
this.$modal.msg("您还没有选择福利套餐")
|
||||
return
|
||||
}
|
||||
this.optionCourierNumberInfo = data
|
||||
@@ -534,18 +503,17 @@ layout("/mobile/platform.html"){
|
||||
} else {
|
||||
this.$modal.msgError(msg)
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
yearChange(val) {
|
||||
this.pageForm.year = val
|
||||
this.onRefresh()
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.startLoading()
|
||||
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.closeLoading()
|
||||
|
||||
@@ -5,27 +5,16 @@ 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" :options="yearOption"
|
||||
@change="yearChange"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.year" :options="yearOption" @change="yearChange"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<div style="margin: 60px auto">
|
||||
<van-list
|
||||
v-model="mLoading"
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
<van-list v-model="mLoading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="onLoad">
|
||||
<div v-for="o in tableData" class="list-card" @click="openView(o)">
|
||||
<van-cell-group inset>
|
||||
<van-cell title="主题" :border="false">{{o.hdname}}</van-cell>
|
||||
@@ -37,12 +26,7 @@ layout("/mobile/platform.html"){
|
||||
</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>
|
||||
|
||||
<div>
|
||||
@@ -51,20 +35,19 @@ layout("/mobile/platform.html"){
|
||||
<van-tabbar-item icon="manager-o" replace url="/mobile/wmhd/list">我的教工作品</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
tarBarActive: 0,
|
||||
yearOption: [],
|
||||
pageForm: {
|
||||
year: '',
|
||||
hdtype: 1,
|
||||
year: "",
|
||||
hdtype: 1
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -77,7 +60,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async onLoad() {
|
||||
this.mLoading = true
|
||||
$.post('/mobile/wmhd/apply/pageData', this.pageForm).then(res => {
|
||||
$.post("/mobile/wmhd/apply/pageData", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -92,29 +75,28 @@ layout("/mobile/platform.html"){
|
||||
openView(o) {
|
||||
const { hdid, hdjssj, hdkssj, hdflag } = o
|
||||
if (!hdflag) {
|
||||
vant.Toast('活动暂未开启!')
|
||||
return;
|
||||
vant.Toast("活动暂未开启!")
|
||||
return
|
||||
}
|
||||
if (moment().format("YYYY-MM-DD HH:mm:ss") < hdkssj) {
|
||||
vant.Toast('报名暂未开始!')
|
||||
vant.Toast("报名暂未开始!")
|
||||
return
|
||||
} else if (moment().format("YYYY-MM-DD HH:mm:ss") > hdjssj) {
|
||||
vant.Toast('报名已结束!')
|
||||
vant.Toast("报名已结束!")
|
||||
return
|
||||
}
|
||||
window.location.href = '/platform/staffActivities?client=mobile&id=' + hdid
|
||||
window.location.href = "/platform/staffActivities?client=mobile&id=" + hdid
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
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)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -5,35 +5,23 @@ 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="RGB(8,23,118)">
|
||||
<van-dropdown-item v-model="pageForm.year" @change="yearChange"
|
||||
:options="yearList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.isAudit" @change="yearChange"
|
||||
:options="auditList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unionId" @change="yearChange"
|
||||
<van-dropdown-item v-model="pageForm.year" @change="yearChange" :options="yearList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.isAudit" @change="yearChange" :options="auditList"></van-dropdown-item>
|
||||
<van-dropdown-item
|
||||
v-model="pageForm.unionId"
|
||||
@change="yearChange"
|
||||
v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('SchoolUnionMemberAdmin')||@shiro.hasRole('H10')}"
|
||||
:options="mCommon.unionList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unitId" @change="yearChange"
|
||||
:options="mCommon.unitList"></van-dropdown-item>
|
||||
|
||||
:options="mCommon.unionList"
|
||||
></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unitId" @change="yearChange" :options="mCommon.unitList"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
|
||||
<div style="margin: 70px auto 0">
|
||||
<van-list
|
||||
v-model="mLoading"
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
<van-list v-model="mLoading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="onLoad">
|
||||
<div v-for="o in tableData" class="list-card" @click="openView(o)">
|
||||
<van-cell-group inset>
|
||||
<van-cell :border="false" title="姓名">{{o.username}}</van-cell>
|
||||
@@ -41,8 +29,7 @@ layout("/mobile/platform.html"){
|
||||
<van-cell :border="false" title="单位">{{o.dwname}}</van-cell>
|
||||
<van-cell :border="false" title="工会">{{o.ghname}}</van-cell>
|
||||
<van-cell :border="false" title="活动类别">{{o.hdlbname}}</van-cell>
|
||||
<van-cell :border="false" title="作品类别" v-if="o.zplbname">{{o.zplbname}}
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="作品类别" v-if="o.zplbname">{{o.zplbname}}</van-cell>
|
||||
<van-cell :border="false" title="上传时间">{{o.hdsbsj}}</van-cell>
|
||||
<van-cell :border="false" title="审核状态">
|
||||
<span :style="'color:'+o.stateColor">{{o.stateName}}</span>
|
||||
@@ -50,47 +37,39 @@ layout("/mobile/platform.html"){
|
||||
</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="viewShow" position="right"
|
||||
:style="{ height: '100%',width:'100%' }">
|
||||
<van-nav-bar title="详细信息" left-arrow placeholder fixed
|
||||
@click-left="viewShow=false"></van-nav-bar>
|
||||
<van-popup v-model="viewShow" position="right" :style="{ height: '100%',width:'100%' }">
|
||||
<van-nav-bar title="详细信息" left-arrow placeholder fixed @click-left="viewShow=false"></van-nav-bar>
|
||||
|
||||
<mobile-wmhd-info ref="minfo"></mobile-wmhd-info>
|
||||
</van-popup>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
viewShow: false,
|
||||
pageForm: {
|
||||
year: new Date().getFullYear(),
|
||||
isAudit: false,
|
||||
isAudit: false
|
||||
},
|
||||
|
||||
unitList: [],
|
||||
unionList: [],
|
||||
yearList: [],
|
||||
auditList: [
|
||||
{text: '未审核', value: false},
|
||||
{text: '已审核', value: true},
|
||||
],
|
||||
{ text: "未审核", value: false },
|
||||
{ text: "已审核", value: true }
|
||||
]
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-wmhd-info': httpVueLoader('/components/mobile/wmhd/info.vue?v=' + new Date().getTime()),
|
||||
"mobile-wmhd-info": httpVueLoader("/components/mobile/wmhd/info.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {
|
||||
yearChange() {
|
||||
@@ -102,7 +81,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async onLoad() {
|
||||
this.mLoading = true
|
||||
$.post('/mobile/wmhd/audit/pageData', this.pageForm).then(res => {
|
||||
$.post("/mobile/wmhd/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) {
|
||||
@@ -115,8 +94,7 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
},
|
||||
openView(o) {
|
||||
|
||||
if (o.auditState === '4000' || o.auditState === '4200') {
|
||||
if (o.auditState === "4000" || o.auditState === "4200") {
|
||||
window.location.href = "/mobile/wmhd/audit/auditHtml?id=" + o.id + "&auditState=" + o.auditState
|
||||
} else {
|
||||
this.viewShow = true
|
||||
@@ -126,12 +104,16 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
async flushUnits() {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('wyh03')||@shiro.hasRole('wyh02')||@shiro.hasRole('SchoolUnionMemberAdmin')}" === 'true') {
|
||||
if (
|
||||
"${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('wyh03')||@shiro.hasRole('wyh02')||@shiro.hasRole('SchoolUnionMemberAdmin')}" ===
|
||||
"true"
|
||||
) {
|
||||
await mCommon.getUnitList(this.pageForm.unionId)
|
||||
} else {
|
||||
await mCommon.getUnitList("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
}
|
||||
}, async init() {
|
||||
},
|
||||
async init() {
|
||||
let nowYear = new Date().getFullYear()
|
||||
for (let i = nowYear; i >= nowYear - 9; i--) {
|
||||
this.yearList.push({ text: i, value: i })
|
||||
@@ -151,7 +133,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.flushUnits()
|
||||
vue.init()
|
||||
@@ -159,7 +141,6 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -1,31 +1,24 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<link rel="stylesheet" href="${base!}/assets/platform/plugins/video/css/video-js.min.css">
|
||||
<link rel="stylesheet" href="${base!}/assets/platform/plugins/video/css/video-js.min.css" />
|
||||
<script src="${base!}/assets/platform/plugins/video/js/video.min.js"></script>
|
||||
<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>
|
||||
|
||||
<mobile-wmhd-info ref="minfo" :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"
|
||||
<van-field
|
||||
v-model="formData.auditOpinion"
|
||||
required
|
||||
rows="1"
|
||||
autosize
|
||||
@@ -39,51 +32,45 @@ layout("/mobile/platform.html"){
|
||||
<div class="mb10">签  字</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<mobile-sign ref="signature"
|
||||
:my_sign.sync="formData.auditSign"></mobile-sign>
|
||||
<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-col span="8">
|
||||
<van-button block @click="doAudit(1)">拒 绝
|
||||
</van-button>
|
||||
<van-button block @click="doAudit(1)">拒 绝</van-button>
|
||||
</van-col>
|
||||
|
||||
<van-col span="8">
|
||||
<van-button block @click="doAudit(2)" type="warning">返回修改
|
||||
</van-button>
|
||||
<van-button block @click="doAudit(2)" type="warning">返回修改</van-button>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<van-button block @click="doAudit(3)" type="info">通 过
|
||||
</van-button>
|
||||
<van-button block @click="doAudit(3)" type="info">通 过</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
|
||||
</mobile-wmhd-info>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
data() {
|
||||
return {
|
||||
formData: {},
|
||||
id: GetQueryString('id'),
|
||||
handle: true,
|
||||
id: GetQueryString("id"),
|
||||
handle: true
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
'mobile-wmhd-info': httpVueLoader('/components/mobile/wmhd/info.vue?v=' + new Date().getTime()),
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue"),
|
||||
"mobile-wmhd-info": httpVueLoader("/components/mobile/wmhd/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()
|
||||
@@ -91,14 +78,14 @@ layout("/mobile/platform.html"){
|
||||
this.formData.pass = pass
|
||||
const resp = await $.post("/platform/hd/wmhd/school/audit/doReview", this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success('审核成功');
|
||||
this.$toast.success("审核成功")
|
||||
setTimeout(() => {
|
||||
window.history.go(-1)
|
||||
}, 1000)
|
||||
} else {
|
||||
this.$toast.fail('审核失败');
|
||||
this.$toast.fail("审核失败")
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.mLoading = true
|
||||
@@ -109,7 +96,7 @@ layout("/mobile/platform.html"){
|
||||
this.formData = {
|
||||
id: id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
auditTime: moment().format("YYYY-MM-DD"),
|
||||
auditOpinion: "通过",
|
||||
auditSign: ""
|
||||
}
|
||||
@@ -118,7 +105,6 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -5,7 +5,7 @@ layout("/mobile/platform.html"){
|
||||
<script src="${base!}/assets/platform/plugins/video/js/video.min.js"></script>
|
||||
<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>
|
||||
|
||||
<mobile-wmhd-info ref="minfo" :id.sync="id" title="基层工会审核" :handle="handle">
|
||||
<template #handle>
|
||||
|
||||
@@ -14,42 +14,32 @@ 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" :options="yearOption"
|
||||
@change="yearChange"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.year" :options="yearOption" @change="yearChange"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<div style="margin: 60px auto">
|
||||
<van-notice-bar mode="closeable">左滑可删除作品。</van-notice-bar>
|
||||
<van-list
|
||||
v-model="mLoading"
|
||||
:finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="onLoad">
|
||||
|
||||
<van-list v-model="mLoading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="onLoad">
|
||||
<div v-for="o in tableData" class="list-card" @click.stop="openView(o)">
|
||||
<van-swipe-cell :disabled="o.auditstate!=='3999'">
|
||||
<van-cell-group inset>
|
||||
<image class="register-icon" src="/assets/mobile/svg/wmhd/bianji.svg"
|
||||
<image
|
||||
class="register-icon"
|
||||
src="/assets/mobile/svg/wmhd/bianji.svg"
|
||||
@click.stop="openEdit(o.id,o.hdid)"
|
||||
v-if="o.auditstate==='3999'||o.auditstate==='4100'||o.auditstate==='4250'"></image>
|
||||
v-if="o.auditstate==='3999'||o.auditstate==='4100'||o.auditstate==='4250'"
|
||||
></image>
|
||||
<van-cell :border="false" title="姓名">{{o.sbrname}}</van-cell>
|
||||
<van-cell :border="false" title="工号">{{o.loginname}}</van-cell>
|
||||
<van-cell :border="false" title="单位">{{o.dwname}}</van-cell>
|
||||
<van-cell :border="false" title="工会">{{o.ghname}}</van-cell>
|
||||
<van-cell :border="false" title="活动类别">{{o.hdlbname}}</van-cell>
|
||||
<van-cell :border="false" title="作品类别" v-if="o.zplbname">{{o.zplbname}}
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="作品类别" v-if="o.zplbname">{{o.zplbname}}</van-cell>
|
||||
<!-- <van-cell :border="false" title="主题">{{o.hdsbzpzt}}</van-cell>-->
|
||||
<van-cell :border="false" title="上传时间">{{o.hdsbsj}}</van-cell>
|
||||
<van-cell :border="false" title="审核状态">
|
||||
@@ -57,27 +47,16 @@ layout("/mobile/platform.html"){
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
<template #right>
|
||||
<van-button square text="删除" type="danger" @click="doDelete(o.id)"
|
||||
style="height: 100%;"></van-button>
|
||||
<van-button square text="删除" type="danger" @click="doDelete(o.id)" style="height: 100%"></van-button>
|
||||
</template>
|
||||
</van-swipe-cell>
|
||||
</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="viewShow" position="right"
|
||||
:style="{ height: '100%',width:'100%' }">
|
||||
<van-nav-bar title="详细信息" left-arrow placeholder fixed
|
||||
@click-left="viewShow=false"></van-nav-bar>
|
||||
<van-popup v-model="viewShow" position="right" :style="{ height: '100%',width:'100%' }">
|
||||
<van-nav-bar title="详细信息" left-arrow placeholder fixed @click-left="viewShow=false"></van-nav-bar>
|
||||
|
||||
<mobile-wmhd-info ref="minfo"></mobile-wmhd-info>
|
||||
</van-popup>
|
||||
@@ -88,12 +67,11 @@ layout("/mobile/platform.html"){
|
||||
<van-tabbar-item icon="manager-o" replace url="/mobile/wmhd/list">我的教工作品</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -101,28 +79,28 @@ layout("/mobile/platform.html"){
|
||||
tarBarActive: 1,
|
||||
yearOption: [],
|
||||
pageForm: {
|
||||
year: '',
|
||||
hdtype: 1,
|
||||
year: "",
|
||||
hdtype: 1
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-wmhd-info': httpVueLoader('/components/mobile/wmhd/info.vue?v=' + new Date().getTime()),
|
||||
"mobile-wmhd-info": httpVueLoader("/components/mobile/wmhd/info.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {
|
||||
openEdit(id, hdid) {
|
||||
window.location.href = '/platform/staffActivities?client=mobile&id=' + hdid + '&zpid=' + id
|
||||
window.location.href = "/platform/staffActivities?client=mobile&id=" + hdid + "&zpid=" + id
|
||||
},
|
||||
async doDelete(id) {
|
||||
const confirm = await vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '确定要删除此次作品吗?',
|
||||
title: "提示",
|
||||
message: "确定要删除此次作品吗?"
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
if (confirm === "confirm") {
|
||||
const data = await $.post("/platform/hd/wmhd/dodelete", { id: id })
|
||||
if (data.code == 0) {
|
||||
await this.yearChange()
|
||||
vant.Toast.success('删除成功');
|
||||
vant.Toast.success("删除成功")
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -134,7 +112,7 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async onLoad() {
|
||||
this.mLoading = true
|
||||
$.post('/platform/hd/jzghd/sczp/pageData', this.pageForm).then(res => {
|
||||
$.post("/platform/hd/jzghd/sczp/pageData", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -155,14 +133,13 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async created() {
|
||||
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)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<link rel="stylesheet" href="${base!}/assets/platform/plugins/video/css/video-js.min.css">
|
||||
<link rel="stylesheet" href="${base!}/assets/platform/plugins/video/css/video-js.min.css" />
|
||||
<script src="${base!}/assets/platform/plugins/video/js/video.min.js"></script>
|
||||
<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>
|
||||
|
||||
<mobile-wmhd-info ref="minfo"></mobile-wmhd-info>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
el: "#app",
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
components: {
|
||||
'mobile-wmhd-info': httpVueLoader('/components/mobile/wmhd/info.vue?v=' + new Date().getTime()),
|
||||
"mobile-wmhd-info": httpVueLoader("/components/mobile/wmhd/info.vue?v=" + new Date().getTime())
|
||||
},
|
||||
methods: {},
|
||||
async created() {
|
||||
@@ -31,7 +31,6 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
Reference in New Issue
Block a user