commit
This commit is contained in:
@@ -1,68 +1,71 @@
|
||||
<template>
|
||||
|
||||
<div>
|
||||
<div>
|
||||
|
||||
<el-dialog
|
||||
:title="title"
|
||||
:visible.sync="codeDialogVisible"
|
||||
:close-on-click-modal="false"
|
||||
width="40%">
|
||||
<div style="width: 100%;">
|
||||
<div id="qrcode" style="width: 70%;left: 0;right: 0;margin: auto"></div>
|
||||
</div>
|
||||
<el-dialog
|
||||
:title="title"
|
||||
:visible.sync="codeDialogVisible"
|
||||
:close-on-click-modal="false"
|
||||
width="40%">
|
||||
<div style="width: 100%;">
|
||||
<div id="qrcode" style="width: 70%;left: 0;right: 0;margin: auto"></div>
|
||||
</div>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="codeDialogVisible = false" type="primary">关 闭</el-button>
|
||||
<!-- <el-button type="primary" @click="dwn('活动二维码')">下 载</el-button>-->
|
||||
<!-- <el-button type="primary" @click="dwn('活动二维码')">下 载</el-button>-->
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
module.exports = {
|
||||
props: {},
|
||||
data() {
|
||||
return {
|
||||
codeDialogVisible: false,
|
||||
title: '活动二维码',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
saveFile(data, filename) {
|
||||
var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');
|
||||
save_link.href = data;
|
||||
save_link.download = filename;
|
||||
props: {},
|
||||
data() {
|
||||
return {
|
||||
codeDialogVisible: false,
|
||||
title: "活动二维码"
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
saveFile(data, filename) {
|
||||
var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a")
|
||||
save_link.href = data
|
||||
save_link.download = filename
|
||||
|
||||
var event = document.createEvent('MouseEvents');
|
||||
event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
|
||||
save_link.dispatchEvent(event);
|
||||
},
|
||||
/*下载二维码*/
|
||||
dwn(name) {
|
||||
var type = 'png';
|
||||
var dataurl = $("canvas").get(0).toDataURL('image/png').replace("image/png", "image/octet-stream");
|
||||
var filename = name + '_' + (new Date()).getTime() + '.' + type;
|
||||
this.saveFile(dataurl, filename);
|
||||
},
|
||||
openCode(url, title) {
|
||||
this.codeDialogVisible = true
|
||||
this.$nextTick(() => {
|
||||
$("#qrcode").html("")
|
||||
$("#qrcode").qrcode({ //设置css
|
||||
render: "canvas", //二维码的生成方式
|
||||
width: $("#qrcode").width(), //生成二维码的宽度
|
||||
height: $("#qrcode").width(), //生成二维码的高度
|
||||
text: APP_DOMAIN + url,
|
||||
correctLevel: 3 //容错级别,默认为2,最高为3,为了让用户扫码最快,容错级别应当设为最低
|
||||
});
|
||||
})
|
||||
this.title = title ? title : '活动二维码'
|
||||
console.log(APP_DOMAIN + url)
|
||||
},
|
||||
}
|
||||
var event = document.createEvent("MouseEvents")
|
||||
event.initMouseEvent("click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
|
||||
save_link.dispatchEvent(event)
|
||||
},
|
||||
/*下载二维码*/
|
||||
dwn(name) {
|
||||
var type = "png"
|
||||
var dataurl = $("canvas").get(0).toDataURL("image/png").replace("image/png", "image/octet-stream")
|
||||
var filename = name + "_" + (new Date()).getTime() + "." + type
|
||||
this.saveFile(dataurl, filename)
|
||||
},
|
||||
isHttpOrHttps(url) {
|
||||
return /^(http:\/\/|https:\/\/)/i.test(url)
|
||||
},
|
||||
openCode(url, title) {
|
||||
this.codeDialogVisible = true
|
||||
this.$nextTick(() => {
|
||||
$("#qrcode").html("")
|
||||
$("#qrcode").qrcode({ //设置css
|
||||
render: "canvas", //二维码的生成方式
|
||||
width: $("#qrcode").width(), //生成二维码的宽度
|
||||
height: $("#qrcode").width(), //生成二维码的高度
|
||||
text: this.isHttpOrHttps(url) ? url : (APP_DOMAIN + url),
|
||||
correctLevel: 3 //容错级别,默认为2,最高为3,为了让用户扫码最快,容错级别应当设为最低
|
||||
})
|
||||
})
|
||||
this.title = title ? title : "活动二维码"
|
||||
console.log(APP_DOMAIN + url)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -216,7 +216,7 @@ layout("/mobile/platform.html"){
|
||||
<div class="middle" style="border-radius: 10px;" v-for="item in activityList"
|
||||
v-if="activityList.length > 0">
|
||||
<van-row gutter="20">
|
||||
<van-col @click="menuClick(item.h5Url)" class="middle_item" span="24">
|
||||
<van-col @click="menuClick(item.h5Url, item.id)" class="middle_item" span="24">
|
||||
<div>
|
||||
<van-image :src="CREATE_PREVIEW_URL(item.cover)"
|
||||
class="middle_item_img" v-if="item.cover">
|
||||
@@ -257,7 +257,7 @@ layout("/mobile/platform.html"){
|
||||
{{clickMenu.moduleName}}
|
||||
</div>
|
||||
<div class="menu" style="margin-top: 10px">
|
||||
<div :key="m.menuId" @click="menuClick(m.url)" class="menu_item"
|
||||
<div :key="m.menuId" @click="menuClick(m.url, null)" class="menu_item"
|
||||
v-for="m in clickMenu.menuList"
|
||||
v-if="(m.url == '/mobile/member/apply' && ${@shiro.lacksRole('H01')}) || m.url != '/mobile/member/apply'">
|
||||
<img :src="CREATE_PREVIEW_URL(m.menuIcon)" alt=""
|
||||
@@ -391,7 +391,7 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
|
||||
<div class="menu">
|
||||
<div :key="m.menuId" @click="menuClick(m.url)" class="menu_item"
|
||||
<div :key="m.menuId" @click="menuClick(m.url, null)" class="menu_item"
|
||||
v-for="m in m.menuList">
|
||||
<img :src="CREATE_PREVIEW_URL(m.menuIcon)" alt="" class="menu_item_img">
|
||||
<span class="menu_item_name">{{m.menuName}}</span>
|
||||
@@ -487,6 +487,13 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-form>
|
||||
</van-action-sheet>
|
||||
|
||||
|
||||
<van-dialog v-model="activityQrCodeShow" title="请扫描二维码参与">
|
||||
<img :src="CREATE_PREVIEW_URL('/2025/06/24/Mr10MfxSH9L2W1fPEv1Pv0.png')" width="100%" alt="二维码加载失败"/>
|
||||
<!-- <img :src="CREATE_PREVIEW_URL('8f52c151203e443e9298bca6212bbab8')" width="100%" alt="二维码加载失败"/>-->
|
||||
<!-- <img src="https://zhgh.hmc.edu.cn/file_server/fileStreamPreview?id=/2025/06/24/Mr10MfxSH9L2W1fPEv1Pv0.png" width="100%" alt="二维码加载失败"/>-->
|
||||
</van-dialog>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
@@ -529,7 +536,9 @@ layout("/mobile/platform.html"){
|
||||
tip: null,
|
||||
columns: []
|
||||
},
|
||||
ImprovePersonalInfoData: {}
|
||||
ImprovePersonalInfoData: {},
|
||||
|
||||
activityQrCodeShow: false,
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
@@ -538,7 +547,7 @@ layout("/mobile/platform.html"){
|
||||
const {data} = await $.post('/platform/sys/appMenu/appMenus')
|
||||
this.moduleMenus = data
|
||||
},
|
||||
menuClick(menu) {
|
||||
menuClick(menu, id) {
|
||||
/* if (menu.url === '/mobile/member/apply') {
|
||||
const values = this.dict.type.memberApplyPersonType.map(v => v.value)
|
||||
const personType = "${@shiro.getPrincipalProperty('personType')}"
|
||||
@@ -548,7 +557,12 @@ layout("/mobile/platform.html"){
|
||||
return
|
||||
}
|
||||
}*/
|
||||
pjaxReplace(menu)
|
||||
|
||||
if (id && id === '54681bfcfa25432784166eb7ecaa477c') {
|
||||
this.activityQrCodeShow = true
|
||||
} else {
|
||||
pjaxReplace(menu)
|
||||
}
|
||||
},
|
||||
tabbrChange(o) {
|
||||
console.log(o)
|
||||
|
||||
@@ -207,9 +207,11 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<van-cell title="入会意愿">
|
||||
<template #label>
|
||||
<van-checkbox style="font-size: 16px;color: #F56C6C" icon-size="24px"
|
||||
<van-checkbox style="font-size: 17px" icon-size="24px"
|
||||
v-model="formData.isVoluntary" shape="square">
|
||||
我自愿加入中华全国总工会,遵守工会章程,执行工会决议,积极参加工会活动,为全面建成小康社会、把我国建设成为富强民主文明和谐的社会主义现代化国家、实现中华民族伟大复兴的中国梦而奋斗。
|
||||
<span :style="'color:' + (formData.isVoluntary ? '#1989fa' : '#F56C6C') ">
|
||||
我自愿申请加入杭州医学院工会,严格遵守工会章程,认真执行工会决议,委托学校按规定代为扣缴工会会员会费,并积极参与工会组织的各项活动,主动融入 “杭医健康幸福家” 建设,以实际行动为学校工会事业发展贡献力量。
|
||||
</span>
|
||||
</van-checkbox>
|
||||
</template>
|
||||
</van-cell>
|
||||
|
||||
@@ -176,9 +176,11 @@ layout("/layouts/platform.html"){
|
||||
<el-form-item prop="isVoluntary">
|
||||
<el-checkbox
|
||||
size="medium"
|
||||
style="width: 70%;color: #F56C6C;white-space: nowrap"
|
||||
style="width: 95%; color: #F56C6C; display: flex; align-items: center;"
|
||||
v-model="formData.isVoluntary">
|
||||
我自愿加入中华全国总工会,遵守工会章程,执行工会决议,积极参加工会活动,为全面建成小康社会、把我国建设成为富强民主文明和谐的社会主义现代化国家、实现中华民族伟大复兴的中国梦而奋斗。
|
||||
<span style="flex: 1; word-wrap: break-word; word-break: break-all; white-space: normal;">
|
||||
我自愿申请加入杭州医学院工会,严格遵守工会章程,认真执行工会决议,委托学校按规定代为扣缴工会会员会费,并积极参与工会组织的各项活动,主动融入 “杭医健康幸福家” 建设,以实际行动为学校工会事业发展贡献力量。
|
||||
</span>
|
||||
</el-checkbox>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
|
||||
@@ -52,10 +52,14 @@ const activity = {
|
||||
},
|
||||
enterActivity(item) {
|
||||
try {
|
||||
if (item.url) {
|
||||
sublime.jumpPagePjax(item.url)
|
||||
if (item.id === '54681bfcfa25432784166eb7ecaa477c') {
|
||||
this.$refs.openQRCode.openCode("https://kaoshi.wjx.top/vm/exn6IkX.aspx", "请使用手机扫码此二维码参与知识竞赛")
|
||||
} else {
|
||||
this.$refs.openQRCode.openCode(item.h5Url, "该活动只支持手机端,请使用钉钉扫描二维码!")
|
||||
if (item.url) {
|
||||
sublime.jumpPagePjax(item.url)
|
||||
} else {
|
||||
this.$refs.openQRCode.openCode(item.h5Url, "该活动只支持手机端,请使用钉钉扫描二维码!")
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
this.$message.warning("该活动暂不支持!")
|
||||
|
||||
@@ -26,7 +26,7 @@ const news = {
|
||||
this.newsData = resp.data
|
||||
},
|
||||
openUrl(href) {
|
||||
const url = this.isHttpOrHttps(href) ? href : "https://gh.zufe.edu.cn/" + href
|
||||
const url = this.isHttpOrHttps(href) ? href : "https://gh.hmc.edu.cn/" + href
|
||||
window.open(url)
|
||||
},
|
||||
isHttpOrHttps(url) {
|
||||
|
||||
@@ -373,7 +373,7 @@ layout("/layouts/platform.html"){
|
||||
</el-input>
|
||||
</div>
|
||||
|
||||
<el-table :data="signUpUserTableData" max-height="70vh">
|
||||
<el-table :data="signUpUserTableData" max-height="60vh" style="overflow-y: auto">
|
||||
<el-table-column type="index" label="序号"></el-table-column>
|
||||
<el-table-column prop="userName" label="姓名"></el-table-column>
|
||||
<el-table-column prop="loginName" label="工号"></el-table-column>
|
||||
@@ -489,18 +489,6 @@ layout("/layouts/platform.html"){
|
||||
// 处理报名
|
||||
async handleSignUp(row) {
|
||||
if (["0", "1"].includes(this.pageForm.theRapyRecuperationType)) {
|
||||
const {code,data,msg} = await $.post('/platform/theRapyRecuperation/line/enroll/validSignUpInfo',{
|
||||
enroll: JSON.stringify({
|
||||
isNormal: true,
|
||||
takePartInLineId: row.usId,
|
||||
takePartInUnionId: row.takePartInUnionId,
|
||||
editOther: this.editOther
|
||||
}),
|
||||
})
|
||||
if (code !== 0) {
|
||||
this.$message.error(msg);
|
||||
return;
|
||||
}
|
||||
// 线路
|
||||
this.$refs.lineSignUpRef.onOpen(row, this.pageForm, this.config);
|
||||
} else if (this.pageForm.theRapyRecuperationType === "3") {
|
||||
|
||||
@@ -437,9 +437,22 @@ const LineSignUp = {
|
||||
},
|
||||
|
||||
// 选择出行时间
|
||||
handleCurrentChange(row) {
|
||||
async handleCurrentChange(row) {
|
||||
if (!row) return
|
||||
|
||||
const {code,data,msg} = await $.post('/platform/theRapyRecuperation/line/enroll/validSignUpInfo',{
|
||||
enroll: JSON.stringify({
|
||||
isNormal: true,
|
||||
takePartInLineId: row.usId,
|
||||
takePartInUnionId: row.takePartInUnionId,
|
||||
editOther: this.editOther
|
||||
}),
|
||||
})
|
||||
if (code !== 0) {
|
||||
this.$message.error(msg);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((row.signUpUserNum + row.signUpUserFamilyNum) >= row.maxApplyNum) {
|
||||
this.$message.warning("报名人数已满")
|
||||
return
|
||||
|
||||
+42
-42
@@ -39,21 +39,21 @@ layout("/layouts/platform.html"){
|
||||
<el-col :span="12">
|
||||
<span>年  度:</span>
|
||||
<el-date-picker
|
||||
:clearable="false"
|
||||
v-model="pageForm.startYear"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="选择年"
|
||||
style="width: 38%" @change="getUnionSelectLine(); doSearch()">
|
||||
:clearable="false"
|
||||
v-model="pageForm.startYear"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="选择年"
|
||||
style="width: 38%" @change="getUnionSelectLine(); doSearch()">
|
||||
</el-date-picker>
|
||||
<span>至</span>
|
||||
<el-date-picker
|
||||
:clearable="false"
|
||||
v-model="pageForm.endYear"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="选择年"
|
||||
style="width: 38%" @change="doSearch">
|
||||
:clearable="false"
|
||||
v-model="pageForm.endYear"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="选择年"
|
||||
style="width: 38%" @change="doSearch">
|
||||
</el-date-picker>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
@@ -62,10 +62,10 @@ layout("/layouts/platform.html"){
|
||||
@change="doSearch()"
|
||||
filterable clearable style="width: 80%">
|
||||
<el-option
|
||||
v-for="item in unions"
|
||||
:key="item.id"
|
||||
:label="item.unionname"
|
||||
:value="item.id">
|
||||
v-for="item in unions"
|
||||
:key="item.id"
|
||||
:label="item.unionname"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
@@ -161,14 +161,14 @@ layout("/layouts/platform.html"){
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
header-align="center"
|
||||
v-for="column in tableColumns"
|
||||
show-overflow-tooltip
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:width="column.width"
|
||||
:sortable="column.sortable"
|
||||
align="center"
|
||||
header-align="center"
|
||||
v-for="column in tableColumns"
|
||||
show-overflow-tooltip
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:width="column.width"
|
||||
:sortable="column.sortable"
|
||||
>
|
||||
<template scope="{row}" v-if="column.prop=='lineName'">
|
||||
<el-link type="primary" @click="openLine(row)">{{row.lineName}}
|
||||
@@ -186,25 +186,25 @@ layout("/layouts/platform.html"){
|
||||
</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="380px">
|
||||
<el-table-column label="操作" width="180px">
|
||||
<template scope="{row}">
|
||||
<template>
|
||||
<el-button @click="openUserData(row)" size="mini" type="primary">
|
||||
查看人员
|
||||
</el-button>
|
||||
<el-button size="mini" type="primary" @click="sendSuccess(row)">
|
||||
<!--<el-button size="mini" type="primary" @click="sendSuccess(row)">
|
||||
发送成团通知
|
||||
</el-button>
|
||||
|
||||
<el-dropdown class="ml10 mr10" trigger="click">
|
||||
<el-button size="mini" type="primary">
|
||||
发送未成团通知<i class="el-icon-arrow-down el-icon--right"></i>
|
||||
发送未成团通知<i class="el-icon-arrow-down el-icon--right"></i>
|
||||
</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item @click.native="sendFail(row, true)">保留报名记录</el-dropdown-item>
|
||||
<el-dropdown-item @click.native="sendFail(row, false)">删除报名记录</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</el-dropdown>-->
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -260,13 +260,13 @@ layout("/layouts/platform.html"){
|
||||
<el-card shadow="never" class="mt10">
|
||||
<el-table :data="userData">
|
||||
<el-table-column
|
||||
align="center"
|
||||
header-align="center"
|
||||
v-for="column in userDataTableColumns"
|
||||
show-overflow-tooltip
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
align="center"
|
||||
header-align="center"
|
||||
v-for="column in userDataTableColumns"
|
||||
show-overflow-tooltip
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
>
|
||||
<template scope="{row}" v-if="column.prop=='isFamily'">
|
||||
<el-link v-if="!row.familyNumber" type="primary">
|
||||
@@ -280,13 +280,13 @@ layout("/layouts/platform.html"){
|
||||
</el-table>
|
||||
<el-row class="el-pagination-container" style="margin-bottom: 0px">
|
||||
<el-pagination
|
||||
@size-change="userPageSizeChange"
|
||||
@current-change="userPageNumberChange"
|
||||
:current-page="userPageForm.pageNumber"
|
||||
:page-sizes="[5,10, 20, 30, 50]"
|
||||
:page-size="userPageForm.pageSize"
|
||||
layout="total, sizes, prev, pager, next"
|
||||
:total="userPageForm.totalCount">
|
||||
@size-change="userPageSizeChange"
|
||||
@current-change="userPageNumberChange"
|
||||
:current-page="userPageForm.pageNumber"
|
||||
:page-sizes="[5,10, 20, 30, 50]"
|
||||
:page-size="userPageForm.pageSize"
|
||||
layout="total, sizes, prev, pager, next"
|
||||
:total="userPageForm.totalCount">
|
||||
</el-pagination>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
Reference in New Issue
Block a user