feat: 疗休养优化布局

This commit is contained in:
2026-11-05 10:09:39 +08:00
parent 4d9fd57d6c
commit 8c401a5132
32 changed files with 365 additions and 297 deletions
@@ -1,12 +1,12 @@
const uploadFileType = ['jpg', 'png', 'doc', 'docx', 'xls', 'xlsx', 'pdf']
const docType = ['doc', 'docx', 'xls', 'xlsx', 'pdf']
var uploadFileType = ['jpg', 'png', 'doc', 'docx', 'xls', 'xlsx', 'pdf']
var docType = ['doc', 'docx', 'xls', 'xlsx', 'pdf']
const FILE_UPLOAD_ADDRESS = '/platform/inclusiveTherapyV3/common/uploadFile'
const FILE_DELETE_ADDRESS = '/platform/inclusiveTherapyV3/common/deleteFile'
const FILE_STREAM_PREVIEW_ADDRESS = '/platform/inclusiveTherapyV3/common/preview'
const FILE_STREAM_DOWNLOAD_ADDRESS = '/platform/inclusiveTherapyV3/common/download'
var FILE_UPLOAD_ADDRESS = '/platform/inclusiveTherapyV3/common/uploadFile'
var FILE_DELETE_ADDRESS = '/platform/inclusiveTherapyV3/common/deleteFile'
var FILE_STREAM_PREVIEW_ADDRESS = '/platform/inclusiveTherapyV3/common/preview'
var FILE_STREAM_DOWNLOAD_ADDRESS = '/platform/inclusiveTherapyV3/common/download'
const preview = async (filename, id) => {
var preview = async (filename, id) => {
const suffix = filename.substring(filename.lastIndexOf('.') + 1)
if (!docType.includes(suffix.toLowerCase())) {
let image = new Image();
@@ -19,19 +19,19 @@ const preview = async (filename, id) => {
}
}
const download = (id) => {
var download = (id) => {
window.open(FILE_STREAM_DOWNLOAD_ADDRESS + '?id=' + id)
}
const PREVIEW_IMAGE = (val) => {
var PREVIEW_IMAGE = (val) => {
let image = new Image();
image.src = FILE_STREAM_PREVIEW_ADDRESS + "?id=" + val
let viewer = new Viewer(image);
viewer.show();
}
const CREATE_PREVIEW_URL = (val) => {
var CREATE_PREVIEW_URL = (val) => {
return /^(https?:|data:|blob:|\/)/.test(val || "") ? val : FILE_STREAM_PREVIEW_ADDRESS + "?id=" + encodeURIComponent(val)
}
@@ -40,13 +40,13 @@ const CREATE_PREVIEW_URL = (val) => {
* 遮盖层颜色
* @type {string}
*/
const COVER_LAYER_COLOR = "rgba(0,0,0,.45)"
var COVER_LAYER_COLOR = "rgba(0,0,0,.45)"
/**
* 民族
* @type {string[]}
*/
const nation = [
var nation = [
'汉族',
'蒙古族',
'回族',
@@ -113,7 +113,7 @@ function clone(obj) {
return JSON.parse(JSON.stringify(obj))
}
const calcTableHeight = (eleIds = []) => {
var calcTableHeight = (eleIds = []) => {
if (eleIds) {
eleIds.forEach(e_id => {
const ele = document.querySelector('#' + e_id)
@@ -1,4 +1,4 @@
const sublime = {
var sublime = {
jumpPagePjax(url) {
window.location.href = url;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 738 KiB

After

Width:  |  Height:  |  Size: 441 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 991 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

@@ -1,4 +1,4 @@
const initTableMixins = {
var therapyTableMixins = {
data() {
return {
festival: ['元旦', '春节', '清明节', '劳动节', '端午节', '中秋节', '国庆节', '其它'],
@@ -2,7 +2,7 @@
* 根据enum获取选项
* @returns {Promise<*>}
*/
const getEnumOptions = async (enumName) => {
var getEnumOptions = async (enumName) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/enumOptions", {enumName})
return data
}
@@ -11,7 +11,7 @@ const getEnumOptions = async (enumName) => {
* 根据code获取字典选项
* @returns {Promise<*>}
*/
const getDictOptions = async (code) => {
var getDictOptions = async (code) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/dictOptions", {code})
return data
}
@@ -20,7 +20,7 @@ const getDictOptions = async (code) => {
* 根据code获取字典选项信息
* @returns {Promise<*>}
*/
const getDictState = async (code) => {
var getDictState = async (code) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/dictState", {code})
return data
}
@@ -29,7 +29,7 @@ const getDictState = async (code) => {
* 获取校区
* @returns {Promise<*>}
*/
const getCampus = async () => {
var getCampus = async () => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getCampus")
return data
}
@@ -39,19 +39,19 @@ const getCampus = async () => {
* 获取代表团
* @returns {Promise<*>}
*/
const getDbt = async (jdhId) => {
var getDbt = async (jdhId) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getDbt", {jdhId})
return data
}
//查询当前用户管理的院级工会
const getUnion = async () => {
var getUnion = async () => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getUnion")
return data
}
//查询当前用户管理的院级工会下的单位
const getUnit = async (unionid) => {
var getUnit = async (unionid) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getUnit", {unionid: unionid})
return data
}
@@ -60,13 +60,13 @@ const getUnit = async (unionid) => {
* 获取代表小组
* @returns {Promise<*>}
*/
const getGroup = async (jdhId) => {
var getGroup = async (jdhId) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getGroup", {jdhId})
return data
}
//获取所有开启的教代会
const getOpenJdh = async () => {
var getOpenJdh = async () => {
const {data} = await $.get("/platform/jdh/Common/getOpenJdhxx")
return data
}
@@ -75,7 +75,7 @@ const getOpenJdh = async () => {
* 获取院级工会
* @returns {Promise<*>}
*/
const getUnions = async (delegationId = null, isPermission = false) => {
var getUnions = async (delegationId = null, isPermission = false) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/unions", {delegationId, isPermission})
return data
}
@@ -84,7 +84,7 @@ const getUnions = async (delegationId = null, isPermission = false) => {
* 获取活动院级工会
* @returns {Promise<*>}
*/
const getActivityUnions = async () => {
var getActivityUnions = async () => {
const {data} = await $.get("/platform/activity/basic/union/getActivityUnions",)
return data
}
@@ -93,12 +93,12 @@ const getActivityUnions = async () => {
* 获取单位
* @returns {Promise<*>}
*/
const getUnits = async (unionId = null) => {
var getUnits = async (unionId = null) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/units", {unionId})
return data
}
const getClubUnits = async () => {
var getClubUnits = async () => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getClubUnits", {})
return data
}
@@ -107,7 +107,7 @@ const getClubUnits = async () => {
* 获取单位
* @returns {Promise<*>}
*/
const getActivityUnits = async (unionId) => {
var getActivityUnits = async (unionId) => {
const {data} = await $.get("/platform/activity/basic/union/getActivityUnits", {unionId})
return data
}
@@ -117,7 +117,7 @@ const getActivityUnits = async (unionId) => {
* 获取本分工会的单位
* @returns {Promise<*>}
*/
const getUnionUnits = async () => {
var getUnionUnits = async () => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/unionUnits")
return data
}
@@ -126,7 +126,7 @@ const getUnionUnits = async () => {
* 获取福利单位
* @returns {Promise<*>}
*/
const getWelfareUnits = async () => {
var getWelfareUnits = async () => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/welfareUnits")
return data
}
@@ -135,7 +135,7 @@ const getWelfareUnits = async () => {
* 获取福利单位的二级单位
* @returns {Promise<*>}
*/
const getUnitsByWelfareUnit = async (welfareUnitId) => {
var getUnitsByWelfareUnit = async (welfareUnitId) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/unitsByWelfareUnit", {welfareUnitId})
return data
}
@@ -144,7 +144,7 @@ const getUnitsByWelfareUnit = async (welfareUnitId) => {
* 获取协会
* @returns {Promise<*>}
*/
const getClubs = async () => {
var getClubs = async () => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/clubs", {})
return data
}
@@ -153,7 +153,7 @@ const getClubs = async () => {
* 获取届次
* @returns {Promise<*>}
*/
const getJc = async () => {
var getJc = async () => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getJcByDict")
return data
}
@@ -162,7 +162,7 @@ const getJc = async () => {
* 获取当前人所管理的协会
* @returns {Promise<*>}
*/
const getClubsByRole = async () => {
var getClubsByRole = async () => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getClubsByRole", {})
return data
}
@@ -170,7 +170,7 @@ const getClubsByRole = async () => {
* 获取当前人所在的协会
* @returns {Promise<*>}
*/
const getClubsByUser = async () => {
var getClubsByUser = async () => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getClubsByUser", {})
return data
}
@@ -179,7 +179,7 @@ const getClubsByUser = async () => {
* 获取文件类型
* @returns {Promise<*>}
*/
const getFileType = async () => {
var getFileType = async () => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getFileTypeByDict")
return data
}
@@ -188,7 +188,7 @@ const getFileType = async () => {
* 获取基层干部的角色
* @returns {Promise<*>}
*/
const getJcgbJs = async () => {
var getJcgbJs = async () => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getJcgbJsByDict")
return data
}
@@ -197,7 +197,7 @@ const getJcgbJs = async () => {
* 获取审批员的角色
* @returns {Promise<*>}
*/
const getSpyJs = async () => {
var getSpyJs = async () => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getSpyJsByDict")
return data
}
@@ -206,7 +206,7 @@ const getSpyJs = async () => {
* 获取协会类型
* @returns {Promise<*>}
*/
const getClubType = async () => {
var getClubType = async () => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getClubTypeByDict")
return data
}
@@ -215,7 +215,7 @@ const getClubType = async () => {
* 获取系统名称
* @returns {Promise<*>}
*/
const getSystemName = async () => {
var getSystemName = async () => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getSystemNameByDict")
return data
}
@@ -224,7 +224,7 @@ const getSystemName = async () => {
* 获取工代会
* @returns {Promise<*>}
*/
const getGdh = async (open = true) => {
var getGdh = async (open = true) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getGdh", {open})
return data
}
@@ -233,7 +233,7 @@ const getGdh = async (open = true) => {
* 获取工代会代表团
* @returns {Promise<*>}
*/
const getGdhDbt = async (jdhId) => {
var getGdhDbt = async (jdhId) => {
const {data} = await $.get("/platform/gdh/common/getDbt", {jdhId})
return data
}
@@ -242,7 +242,7 @@ const getGdhDbt = async (jdhId) => {
* 根据id查用户
* @returns {Promise<*>}
*/
const queryUserByIds = async (ids) => {
var queryUserByIds = async (ids) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/queryUserByIds", {ids: JSON.stringify(ids)})
return data
}
@@ -251,7 +251,7 @@ const queryUserByIds = async (ids) => {
* 根据id查用户
* @returns {Promise<*>}
*/
const queryUserById = async (id) => {
var queryUserById = async (id) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/queryUserById", {id: id})
return data
}
@@ -265,7 +265,7 @@ const queryUserById = async (id) => {
* @param member
* @returns {Promise<*>}
*/
const searchUser = async (query, unionId = null, unitId = null, sex = null, member = null) => {
var searchUser = async (query, unionId = null, unitId = null, sex = null, member = null) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/searchUser", {
query,
unionId,
@@ -280,7 +280,7 @@ const searchUser = async (query, unionId = null, unitId = null, sex = null, memb
* 获取代表可以操作的教代会
* @returns {Promise<*>}
*/
const getJdhByDb = async () => {
var getJdhByDb = async () => {
const {data} = await $.get("/platform/proposal/common/getJdhByDb")
return data
}
@@ -289,7 +289,7 @@ const getJdhByDb = async () => {
* 获取代表可以操作的开启的教代会
* @returns {Promise<*>}
*/
const getOpenJdhByDb = async () => {
var getOpenJdhByDb = async () => {
const {data} = await $.get("/platform/proposal/common/getOpenMeeting")
return data
}
@@ -298,7 +298,7 @@ const getOpenJdhByDb = async () => {
* 获取教代会工作资料类型
* @returns {Promise<*>}
*/
const getGzzllx = async () => {
var getGzzllx = async () => {
const {data} = await $.get("/platform/jdh/Common/getGzzllx")
return data
}
@@ -307,16 +307,16 @@ const getGzzllx = async () => {
* 获取疗休养活动
* @returns {Promise<*>}
*/
const getLxyHd = async () => {
var getLxyHd = async () => {
const {data} = await $.get("/platform/zgfw/lxy/common/getHdList")
return data
}
const getlxyHdCd = async () => {
var getlxyHdCd = async () => {
const {data} = await $.get("/platform/zgfw/lxy/common/getlxyHdCd")
return data
}
const getNowLxyHd = async () => {
var getNowLxyHd = async () => {
const {data} = await $.get("/platform/zgfw/lxy/common/getNowHdList")
return data
}
@@ -325,11 +325,11 @@ const getNowLxyHd = async () => {
* 获取基层工会
* @returns {Promise<*>}
*/
const getUnionList = async (unionId) => {
var getUnionList = async (unionId) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/unionList", {unionId})
return data
}
const threeUnitsByUnionGroupOrUnitId = async (unitId, groupId) => {
var threeUnitsByUnionGroupOrUnitId = async (unitId, groupId) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/threeUnitsByUnionGroupOrUnitId", {
unitId,
groupId
@@ -337,7 +337,7 @@ const threeUnitsByUnionGroupOrUnitId = async (unitId, groupId) => {
return data
}
const unionGroupsByUnionId = async (unionId) => {
var unionGroupsByUnionId = async (unionId) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/unionGroupsByUnionId", {unionId})
return data
}
@@ -346,7 +346,7 @@ const unionGroupsByUnionId = async (unionId) => {
* 获取活动人员范围
* @returns {Promise<*>}
*/
const getActivityGroup = async () => {
var getActivityGroup = async () => {
const {data} = await $.get('/platform/activity/basic/scope/getActivityUserScopeGroup')
return data
}
@@ -354,7 +354,7 @@ const getActivityGroup = async () => {
* 查看该人员是否在活动范围中
* @returns {Promise<*>}
*/
const getScopeUser = async (activityGroupId) => {
var getScopeUser = async (activityGroupId) => {
const {data} = await $.get('/platform/activity/basic/scope/getScopeUser', {activityGroupId})
return data
}
@@ -364,18 +364,18 @@ const getScopeUser = async (activityGroupId) => {
* @param id
* @returns {Promise<*>}
*/
const getActivityTwoLevelType = async (code) => {
var getActivityTwoLevelType = async (code) => {
const {data} = await $.get("/platform/activity/basic/basic/settings/getActivityTwoLevelType", {code})
return data
}
//获取二级教代会(双代会)工作资料类型
const getJdh2Gzzllx = async () => {
var getJdh2Gzzllx = async () => {
const {data} = await $.get("/platform/jdh/Common/getJdh2Gzzllx")
return data
}
const getLocationVariable = (variable) => {
var getLocationVariable = (variable) => {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (let i = 0; i < vars.length; i++) {
@@ -387,7 +387,7 @@ const getLocationVariable = (variable) => {
return '';
}
const getConfigKey = async (key) => {
var getConfigKey = async (key) => {
const {data} = await $.get('/platform/inclusiveTherapyV3/common/getValue', {key})
return data
}
@@ -396,7 +396,7 @@ const getConfigKey = async (key) => {
* 根据多个工会获取单位
* @returns {Promise<*>}
*/
const getUnitByUnions = async (unionId = null) => {
var getUnitByUnions = async (unionId = null) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getUnitsByUnions", {unionId})
return data
}
@@ -407,7 +407,7 @@ const getUnitByUnions = async (unionId = null) => {
* @param groupId
* @returns {Promise<*>}
*/
const getThreeUnitsByUnionGroupsOrUnitIds = async (unitId, groupId) => {
var getThreeUnitsByUnionGroupsOrUnitIds = async (unitId, groupId) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getThreeUnitsByUnionGroupsOrUnitIds", {
unitId,
groupId
@@ -420,7 +420,7 @@ const getThreeUnitsByUnionGroupsOrUnitIds = async (unitId, groupId) => {
* @param unionId
* @returns {Promise<*>}
*/
const getUnionGroupsByUnions = async (unionId) => {
var getUnionGroupsByUnions = async (unionId) => {
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getUnionGroupsByUnions", {unionId})
return data
}
@@ -68,7 +68,23 @@
</h3>
</div>
<div class="panel-body" style="border: 1px solid rgb(235, 238, 245)">
<el-table :data="viewData.companionList">
<div v-if="familyCards" class="therapy-family-list">
<div v-for="(item, index) in viewData.companionList" :key="item.id || index" class="therapy-family-card">
<div class="therapy-family-title">家属 {{ index + 1 }} · {{ item.userName }}</div>
<el-descriptions :column="3" border class="therapy-family-details">
<el-descriptions-item label="姓名">{{ item.userName }}</el-descriptions-item>
<el-descriptions-item label="性别">{{ item.sex }}</el-descriptions-item>
<el-descriptions-item label="关系">{{ item.relation }}</el-descriptions-item>
<el-descriptions-item label="身份证号">{{ item.idCard }}</el-descriptions-item>
<el-descriptions-item label="年龄">{{ item.age }}</el-descriptions-item>
<el-descriptions-item label="床型">{{ item.bedInfo?.bedType }}</el-descriptions-item>
<el-descriptions-item label="床位">{{ item.bedInfo?.bedNum }}</el-descriptions-item>
<el-descriptions-item label="意向拼床人">{{ item.bedInfo?.otherSleepUser || '暂无' }}</el-descriptions-item>
</el-descriptions>
</div>
<el-empty v-if="!viewData.companionList || !viewData.companionList.length" description="暂无家属信息" :image-size="60"></el-empty>
</div>
<el-table v-else :data="viewData.companionList">
<el-table-column label="姓名" prop="userName"></el-table-column>
<el-table-column label="性别" prop="sex"></el-table-column>
<el-table-column label="身份证号" prop="idCard"></el-table-column>
@@ -138,6 +154,10 @@
<script>
module.exports = {
props: {
familyCards: {
type: Boolean,
default: false,
},
union_id: {
type: String,
default: "",
@@ -381,7 +381,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</guava>
<el-dialog
<el-dialog :append-to-body="true"
title="提示"
:visible.sync="dialogVisible"
width="50%">
@@ -418,7 +418,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</span>
</el-dialog>
<el-dialog
<el-dialog :append-to-body="true"
title="修改信息"
:visible.sync="editVisible"
:close-on-click-modal="false"
@@ -548,7 +548,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<script>
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
mixins: [therapyTableMixins],
data() {
return {
unionDisabled: false,
@@ -290,7 +290,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</guava>
<el-dialog
<el-dialog :append-to-body="true"
title="提示"
:visible.sync="dialogVisible"
width="50%">
@@ -327,7 +327,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</span>
</el-dialog>
<el-dialog
<el-dialog :append-to-body="true"
title="修改信息"
:visible.sync="editVisible"
:close-on-click-modal="false"
@@ -434,7 +434,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<script>
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
mixins: [therapyTableMixins],
data() {
return {
unionDisabled: false,
@@ -375,7 +375,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</template>
</guava>
<el-dialog
<el-dialog :append-to-body="true"
title="提示"
:visible.sync="dialogVisible"
width="50%">
@@ -412,7 +412,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</span>
</el-dialog>
<el-dialog
<el-dialog :append-to-body="true"
title="修改信息"
:visible.sync="editVisible"
:close-on-click-modal="false"
@@ -541,7 +541,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<script>
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
mixins: [therapyTableMixins],
data() {
return {
unionDisabled: false,
@@ -347,7 +347,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<base-info ref="viewBaseInfo"></base-info>
</template>
<el-dialog
<el-dialog :append-to-body="true"
title="目的地导入"
:visible.sync="importVisible"
:close-on-click-modal="false"
@@ -398,7 +398,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<script>
new Vue({
el: '#app',
mixins: [initTableMixins],
mixins: [therapyTableMixins],
components: {
'base-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/BaseManageInfo.vue')
},
@@ -514,7 +514,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<line-info ref="viewLineInfo"></line-info>
</template>
<el-dialog :close-on-click-modal="false"
<el-dialog :append-to-body="true" :close-on-click-modal="false"
:visible.sync="lineUnionSetTimeDialog"
title="查看详情"
top="50px"
@@ -530,7 +530,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</el-dialog>
<el-dialog
<el-dialog :append-to-body="true"
title="路线导入"
:visible.sync="importVisible"
:close-on-click-modal="false"
@@ -580,7 +580,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</span>
</el-dialog>
<el-dialog
<el-dialog :append-to-body="true"
title="导入"
:visible.sync="lineImportVisible"
:close-on-click-modal="false"
@@ -637,7 +637,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
mixins: [therapyTableMixins],
components: {
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
},
@@ -93,7 +93,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
<el-dialog :close-on-click-modal="false" :title="editDialogTitle" :visible.sync="editDialogVisible"
<el-dialog :append-to-body="true" :close-on-click-modal="false" :title="editDialogTitle" :visible.sync="editDialogVisible"
width="60%">
<el-form :model="formData" :rules="rules" label-width="120px" ref="form">
<el-row :gutter="20">
@@ -225,7 +225,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</template>
<el-dialog
<el-dialog :append-to-body="true"
title="旅行社导入"
:visible.sync="importVisible"
:close-on-click-modal="false"
@@ -281,7 +281,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<script>
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
mixins: [therapyTableMixins],
data() {
return {
tableColumns: [
@@ -1,56 +1,13 @@
<!--# if(!@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.isEmbeddedPage()){ #-->
<!--# layout("/layouts/platform.html"){ #-->
<iframe src="${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.getEmbeddedPageUrl(),escape}" title="普惠疗休养" style="width:100%;height:calc(100vh - 100px);border:0;background:#fff"></iframe>
<!--# } } else { #-->
<!doctype html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
<title>普惠疗休养</title>
<script src="${base!}/assets/platform/plugins/vue/vue.js"></script>
<script src="${base!}/assets/platform/plugins/jquery/jquery.js"></script>
<script src="${base!}/assets/platform/plugins/vue-http-loader/httpVueLoader.js"></script>
<script src="${base!}/assets/platform/plugins/moment/moment.min.js"></script>
<script src="${base!}/assets/platform/plugins/axios/axios.js"></script>
<script>const APP_DOMAIN = location.origin; const FILE_DOMAIN = location.origin;</script>
<link rel="stylesheet" href="${base!}/assets/platform/css/root.css">
<link rel="stylesheet" href="${base!}/assets/platform/plugins/element-ui/lib/theme-chalk/index.css">
<link rel="stylesheet" href="${base!}/assets/platform/fonts/font-awesome.min.css">
<link rel="stylesheet" href="${base!}/assets/platform/fonts/themify-icons.css">
<link rel="stylesheet" href="${base!}/assets/platform/plugins/viewerjs/viewer.css">
<script src="${base!}/assets/platform/plugins/viewerjs/viewer.js"></script>
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/css/common.css">
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/css/main.css">
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/css/elmain.css">
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/css/panel.css">
<link rel="stylesheet" href="${base!}/assets/platform/plugins/element-ui/lib/theme-chalk/index_custom.css">
<link rel="stylesheet" href="${base!}/assets/platform/plugins/element-ui/lib/theme-chalk/override.css">
<link rel="stylesheet" href="${base!}/assets/platform/css/common.css">
<!--#
layout("/layouts/platform.html"){
#-->
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/css/desktop.css">
<script src="${base!}/assets/platform/plugins/element-ui/lib/index.js"></script>
<script>
ELEMENT.Dialog.props.closeOnClickModal.default = false;
ELEMENT.Dialog.props.top.default = '50px';
ELEMENT.Table.props.border.default = true;
ELEMENT.TableColumn.props.headerAlign.default = 'center';
ELEMENT.TableColumn.props.align.default = 'center';
Vue.use(ELEMENT, {zIndex: 20000});
if (window.parent !== window) {
Vue.prototype.$confirm = function(...args) {
return window.parent.ELEMENT.MessageBox.confirm(...args);
};
}
</script>
<script src="${base!}/assets/platform/plugins/wangEditor4/wangEditor.js"></script>
<script src="${base!}/assets/platform/plugins/sortablejs/sortable.min.js"></script>
<script src="${base!}/assets/platform/plugins/vuedraggable/vuedraggable.umd.min.js"></script>
<script src="${base!}/assets/platform/plugins/echarts/echarts.min.js"></script>
<script src="${base!}/assets/platform/plugins/g2plot/g2plot.min.js"></script>
<script src="${base!}/assets/staffbenefit/therapyRecuperation/basics.js"></script>
<script src="${base!}/assets/staffbenefit/therapyRecuperation/v.js"></script>
<script src="${base!}/assets/staffbenefit/therapyRecuperation/component.js"></script>
<script src="${base!}/assets/staffbenefit/therapyRecuperation/initTableMixins.js"></script>
<script src="${base!}/assets/staffbenefit/therapyRecuperation/compat.js"></script>
<script src="${base!}/assets/platform/js/util/commonUtil.js"></script>
<script src="${base!}/assets/platform/js/tool/businessTool.js"></script>
<script>
Vue.prototype.$axios = commonUtil.axiosService();
Vue.prototype.$businessTool = businessTool;
@@ -69,6 +26,7 @@ Vue.directive('auth', {inserted(el, binding) {
if (!requested.some(role => roles.includes(role))) el.parentNode.removeChild(el);
}});
</script>
<style>body{margin:0;padding:0;box-sizing:border-box;background:#f6f6f6} [v-cloak]{display:none}</style>
</head><body class="therapy-desktop">${layoutContent}</body></html>
<!--# } #-->
<div class="therapy-desktop">${layoutContent}</div>
<!--#
}
#-->
@@ -115,6 +115,83 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
padding-right: 0;
}
}
.therapy-query-view-dialog .el-dialog__body,
.therapy-query-edit-dialog .el-dialog__body {
padding: 16px 24px;
}
.therapy-query-view-dialog .viewTable .el-descriptions__table {
table-layout: fixed;
}
.therapy-query-view-dialog .viewTable .el-descriptions-item__label {
width: 120px;
white-space: nowrap;
}
.therapy-query-view-dialog .el-descriptions-item__content,
.therapy-query-edit-dialog .el-descriptions-item__content {
overflow-wrap: anywhere;
}
.therapy-query-edit-dialog .therapy-edit-family > .el-form-item__content {
line-height: normal;
}
.therapy-query-view-dialog .therapy-family-list,
.therapy-query-edit-dialog .therapy-family-list {
display: grid;
gap: 16px;
}
.therapy-query-view-dialog .therapy-family-card,
.therapy-query-edit-dialog .therapy-family-card {
min-width: 0;
overflow: hidden;
border: 1px solid #ebeef5;
border-radius: 4px;
}
.therapy-query-view-dialog .therapy-family-title,
.therapy-query-edit-dialog .therapy-family-title {
padding: 12px 16px;
background: #fafafa;
color: #303133;
font-weight: 500;
overflow-wrap: anywhere;
}
.therapy-query-view-dialog .therapy-family-details .el-descriptions__table,
.therapy-query-edit-dialog .therapy-family-details .el-descriptions__table {
table-layout: fixed;
}
.therapy-query-view-dialog .therapy-family-details .el-descriptions-item__label,
.therapy-query-edit-dialog .therapy-family-details .el-descriptions-item__label {
width: 100px;
white-space: nowrap;
}
@media (max-width: 767px) {
.therapy-query-view-dialog,
.therapy-query-edit-dialog {
width: 96% !important;
}
.therapy-query-edit-dialog .el-form > .el-row > .el-col {
width: 100%;
}
.therapy-query-view-dialog .therapy-family-list,
.therapy-query-edit-dialog .therapy-family-list {
overflow-x: auto;
}
.therapy-query-view-dialog .therapy-family-card,
.therapy-query-edit-dialog .therapy-family-card {
min-width: 660px;
}
}
</style>
@@ -718,17 +795,18 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</guava>
<el-dialog
<el-dialog :append-to-body="true"
title="查看个人信息"
custom-class="therapy-query-view-dialog"
:visible.sync="userFindDialogVisible"
width="80%" top="2%">
<enroll-info ref="viewEnrollInfo" :union_id="unionId"></enroll-info>
width="80%" top="50px">
<enroll-info ref="viewEnrollInfo" :union_id="unionId" :family-cards="true"></enroll-info>
<span slot="footer" class="dialog-footer">
<el-button @click="userFindDialogVisible = false" type="primary">关闭</el-button>
</span>
</el-dialog>
<el-drawer
<el-drawer :append-to-body="true"
size="70%"
title="批量设置参加人员"
:visible.sync="userDrawer"
@@ -792,7 +870,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</el-drawer>
<el-dialog
<el-dialog :append-to-body="true"
title="参加人员导入"
:visible.sync="importVisible"
:close-on-click-modal="false"
@@ -841,7 +919,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</span>
</el-dialog>
<el-drawer
<el-drawer :append-to-body="true"
size="70%"
title="家属信息"
:visible.sync="familyDrawer"
@@ -875,11 +953,12 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</el-card>
</el-drawer>
<el-dialog
<el-dialog :append-to-body="true"
title="修改信息"
custom-class="therapy-query-edit-dialog"
:visible.sync="editVisible"
:close-on-click-modal="false"
width="50%">
width="80%" top="50px">
<el-form :model="editFormData" label-width="120px" :rules="rules" ref="editForm" style="margin-right: 40px">
<el-row>
<el-col span="12">
@@ -920,37 +999,24 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</el-col>
</el-row>
<el-form-item prop="prop" :label="labelName">
<el-form-item prop="prop" :label="labelName" class="therapy-edit-family">
<template v-if="modifyConfig.familyInfo == 2">
<el-collapse v-model="activeNames">
<el-collapse-item title="点击可展开详细信息" name="1">
<el-card shadow="never">
<el-table :data="editFormData.companionList">
<el-table-column label="姓名" prop="userName"></el-table-column>
<el-table-column label="性别" prop="sex"></el-table-column>
<el-table-column label="身份证号" prop="idCard" show-overflow-tooltip></el-table-column>
<el-table-column label="年龄" prop="age"></el-table-column>
<el-table-column label="床型" prop="bedType">
<template slot-scope="{row}">
{{ row.bedInfo?.bedType }}
</template>
</el-table-column>
<el-table-column label="床位" prop="bedNum">
<template slot-scope="{row}">
{{ row.bedInfo?.bedNum }}
</template>
</el-table-column>
<el-table-column label="意向拼床人" prop="otherSleepUser">
<template slot-scope="{row}">
{{ row.bedInfo?.otherSleepUser ?
row.bedInfo?.otherSleepUser : '暂无' }}
</template>
</el-table-column>
<el-table-column label="关系" prop="relation"></el-table-column>
</el-table>
</el-card>
</el-collapse-item>
</el-collapse>
<div class="therapy-family-list">
<div v-for="(item, index) in editFormData.companionList" :key="item.id || index" class="therapy-family-card">
<div class="therapy-family-title">家属 {{ index + 1 }} · {{ item.userName }}</div>
<el-descriptions :column="3" border class="therapy-family-details">
<el-descriptions-item label="姓名">{{ item.userName }}</el-descriptions-item>
<el-descriptions-item label="性别">{{ item.sex }}</el-descriptions-item>
<el-descriptions-item label="关系">{{ item.relation }}</el-descriptions-item>
<el-descriptions-item label="身份证号">{{ item.idCard }}</el-descriptions-item>
<el-descriptions-item label="年龄">{{ item.age }}</el-descriptions-item>
<el-descriptions-item label="床型">{{ item.bedInfo?.bedType }}</el-descriptions-item>
<el-descriptions-item label="床位">{{ item.bedInfo?.bedNum }}</el-descriptions-item>
<el-descriptions-item label="意向拼床人">{{ item.bedInfo?.otherSleepUser || '暂无' }}</el-descriptions-item>
</el-descriptions>
</div>
<el-empty v-if="!editFormData.companionList || !editFormData.companionList.length" description="暂无家属信息" :image-size="60"></el-empty>
</div>
</template>
<template v-else>
<el-input v-model="editFormData.bedType" readonly></el-input>
@@ -1003,7 +1069,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<script>
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
mixins: [therapyTableMixins],
data() {
return {
lotId: "",
@@ -1105,7 +1171,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
}
},
components: {
'enroll-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/Enrollinfo.vue?v=1.0.1'),
'enroll-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/Enrollinfo.vue?v=1.0.2'),
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
},
methods: {
@@ -323,7 +323,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<line-info ref="viewLineInfo"></line-info>
</template>
<el-drawer
<el-drawer :append-to-body="true"
size="70%"
title="批量设置参加人员"
:visible.sync="userDrawer"
@@ -385,7 +385,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</span>
</el-drawer>
<el-dialog
<el-dialog :append-to-body="true"
title="参加人员导入"
:visible.sync="importVisible"
:close-on-click-modal="false"
@@ -434,7 +434,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</span>
</el-dialog>
<el-dialog
<el-dialog :append-to-body="true"
title="修改信息"
:visible.sync="editVisible"
:close-on-click-modal="false"
@@ -572,7 +572,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</span>
</el-dialog>
<el-dialog
<el-dialog :append-to-body="true"
title="代选路线"
:visible.sync="proxySignUpVisible"
:close-on-click-modal="false"
@@ -709,7 +709,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<script>
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
mixins: [therapyTableMixins],
data() {
return {
jdList: [],
@@ -156,7 +156,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<script>
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
mixins: [therapyTableMixins],
data() {
return {
loading: false,
@@ -245,7 +245,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<script>
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
mixins: [therapyTableMixins],
components: {
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
},
@@ -250,7 +250,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</template>
</guava>
<el-dialog :close-on-click-modal="false" :visible.sync="batchMoveDialogVisible" title="批量调整" width="60%">
<el-dialog :append-to-body="true" :close-on-click-modal="false" :visible.sync="batchMoveDialogVisible" title="批量调整" width="60%">
<div class="mb10">
<vi-title2 title="原分组"></vi-title2>
<el-radio-group size="small" v-model="batchMoveData.originalGroup">
@@ -316,7 +316,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<script>
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
mixins: [therapyTableMixins],
components: {
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
},
@@ -191,7 +191,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</template>
</guava>
<el-dialog :close-on-click-modal="false"
<el-dialog :append-to-body="true" :close-on-click-modal="false"
:visible.sync="timeSlotsDialogVisible"
title="出行时间段"
width="85%">
@@ -219,7 +219,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</el-table>
</el-dialog>
<el-dialog :close-on-click-modal="false"
<el-dialog :append-to-body="true" :close-on-click-modal="false"
:visible.sync="editTimeSlotsDialogVisible"
title="修改出行时间段"
width="85%">
@@ -400,7 +400,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<script>
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
mixins: [therapyTableMixins],
components: {
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
},
@@ -18,6 +18,96 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
}
.therapy-line-select-dialog {
display: flex;
flex-direction: column;
max-width: 1440px;
max-height: calc(100vh - 100px);
margin-top: 50px !important;
}
.therapy-line-select-dialog > .el-dialog__header,
.therapy-line-select-dialog > .el-dialog__footer {
flex-shrink: 0;
}
.therapy-line-select-dialog > .el-dialog__body {
min-height: 0;
padding: 20px 24px;
overflow: auto;
}
.therapy-line-select-dialog .line-time-name {
margin: 0 0 20px;
padding: 12px 16px;
border-left: 3px solid var(--color-primary);
background: #f5f7fa;
color: #303133;
font-size: 15px;
line-height: 24px;
overflow-wrap: anywhere;
}
.therapy-line-select-dialog .panel {
margin: 0 0 20px;
overflow: hidden;
border-radius: 4px;
}
.therapy-line-select-dialog .panel-heading {
padding: 12px 16px;
}
.therapy-line-select-dialog .panel-title {
margin: 0;
color: #303133;
font-size: 15px;
font-weight: 600;
line-height: 28px;
}
.therapy-line-select-dialog .playPeriodTable .el-descriptions__table {
table-layout: fixed;
}
.therapy-line-select-dialog .playPeriodTable .el-descriptions-item__label {
width: 180px;
color: #606266;
font-weight: 400;
line-height: 22px;
overflow-wrap: anywhere;
}
.therapy-line-select-dialog .playPeriodTable .el-descriptions-item__content {
padding: 14px 16px;
line-height: 24px;
overflow-wrap: anywhere;
}
.therapy-line-time-edit .el-form-item__error {
position: static;
padding-top: 6px;
line-height: 18px;
}
@media (max-width: 1000px) {
.therapy-line-select-dialog {
width: 94% !important;
}
.therapy-line-select-dialog .playPeriodTable .el-descriptions__row {
display: grid;
grid-template-columns: 150px minmax(0, 1fr);
}
.therapy-line-select-dialog .playPeriodTable .el-descriptions-item__label {
width: auto;
}
.therapy-line-select-dialog .playPeriodTable .el-descriptions-item__content {
min-width: 0;
}
}
</style>
<div id="app" v-cloak>
@@ -224,14 +314,18 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
<template #view>
<el-dialog :append-to-body="true" :close-on-click-modal="false" :visible.sync="lineInfoDialogVisible"
title="查看线路基本信息" width="80%" custom-class="therapy-line-select-dialog">
<line-info ref="viewLineInfo"></line-info>
</template>
<span slot="footer">
<el-button @click="lineInfoDialogVisible=false">关闭</el-button>
</span>
</el-dialog>
<el-dialog :close-on-click-modal="false" :visible.sync="setLineTimeDialog" title="设置出行时间段信息"
width="80%">
<el-dialog :append-to-body="true" :close-on-click-modal="false" :visible.sync="setLineTimeDialog" title="设置出行时间段信息"
width="80%" custom-class="therapy-line-select-dialog therapy-line-time-edit">
<el-form :model="formData" :rules="rules" label-width="0" ref="form" size="small">
<h4>{{formData.lineName}}</h4>
<h4 class="line-time-name">{{formData.lineName}}</h4>
<div v-for="(row,$index) in formData.times" :key="row.id" class="panel panel-default mt20"
style="border: none">
@@ -245,7 +339,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</div>
<el-row class="playPeriod">
<el-descriptions border :column="3" class="playPeriodTable">
<el-descriptions border :column="2" class="playPeriodTable">
<el-descriptions-item>
<template slot="label">
<span class="text-danger">*</span>
@@ -430,14 +524,16 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</el-button>
</div>
</el-form>
<el-row justify="end" type="flex">
<span slot="footer">
<el-button @click="setLineTimeDialog=false">取消</el-button>
<el-button @click="doSelect" type="primary">提交</el-button>
</el-row>
</span>
</el-dialog>
<el-dialog :close-on-click-modal="false" :visible.sync="timeLotsDialogVisible" title="查看出行时间段信息"
width="80%">
<el-dialog :append-to-body="true" :close-on-click-modal="false" :visible.sync="timeLotsDialogVisible" title="查看出行时间段信息"
width="80%" custom-class="therapy-line-select-dialog therapy-line-time-view">
<h4 class="line-time-name">{{timeLotsLineName}}</h4>
<el-empty v-if="!timeLots || !timeLots.length" description="暂无出行时间段信息" :image-size="60"></el-empty>
<div v-for="(row,$index) in timeLots" :key="row.id" class="panel panel-default mt20" style="border: none">
<div class="panel-heading"
style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none;display: flex;align-items: center;justify-content: space-between">
@@ -447,7 +543,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</div>
<el-row class="playPeriod">
<el-descriptions border :column="3" class="playPeriodTable">
<el-descriptions border :column="2" class="playPeriodTable">
<el-descriptions-item label="报名开始时间">
{{row.signUpStartTime}}
</el-descriptions-item>
@@ -526,6 +622,9 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</el-row>
</div>
<span slot="footer">
<el-button @click="timeLotsDialogVisible=false">关闭</el-button>
</span>
</el-dialog>
</guava>
@@ -536,7 +635,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
mixins: [therapyTableMixins],
components: {
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
},
@@ -593,6 +692,8 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
createModeList: [],
signUpModeList: [],
setLineTimeDialog: false,
lineInfoDialogVisible: false,
timeLotsLineName: '',
unionOptions: [],
travelAgencyOptions: [],
lotList: [],
@@ -663,7 +764,8 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
}
},
async openViewLineInfo({id, usUnionId}) {
this.$refs.guava.view()
this.lineInfoDialogVisible = true
await this.$nextTick()
this.$refs.viewLineInfo.openView(id, usUnionId, GetQueryString('mode'), this.pageForm.year)
},
async openViewTimeSlot({id, lineName, usUnionId}) {
@@ -675,6 +777,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
})
if (resp.code === 0) {
this.timeLots = resp.data
this.timeLotsLineName = lineName
this.timeLotsDialogVisible = true
} else {
this.notifyWarning(resp.msg)
@@ -104,7 +104,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
}
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
mixins: [therapyTableMixins],
data() {
return {
aaa: ['极差', '失望', '一般', '满意', '最高平均分五分'],
@@ -334,7 +334,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</el-card>
</template>
<el-dialog :close-on-click-modal="false"
<el-dialog :append-to-body="true" :close-on-click-modal="false"
:visible.sync="setGiveLineTimeDialog"
title="统赋出行时间段信息"
width="80%">
@@ -438,7 +438,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
<script>
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
mixins: [therapyTableMixins],
data() {
return {
pageForm: {
@@ -443,7 +443,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
</el-form>
</el-card>
<el-dialog
<el-dialog :append-to-body="true"
title="该标段被以下线路/目的地绑定,是否强制删除"
:visible.sync="centerDialogVisible"
width="50%"
@@ -27,7 +27,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
.therapy-home .therapy-slide {
position: relative;
aspect-ratio: 1.88;
aspect-ratio: 2;
}
.therapy-home .therapy-banner {
@@ -37,43 +37,6 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
height: 100%;
}
.therapy-home .therapy-hero-copy {
position: absolute;
inset: 20px 22px 28px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
pointer-events: none;
}
.therapy-home .therapy-hero-badge {
padding: 3px 12px;
border-radius: 20px;
background: #fff0d6;
color: #b94025;
font-size: 12px;
font-weight: 600;
line-height: 20px;
}
.therapy-home .therapy-hero-title {
margin: 10px 0;
font-size: clamp(26px, 7.2vw, 42px);
font-weight: 800;
line-height: 1.3;
letter-spacing: 1px;
white-space: pre-line;
color: #102b54;
}
.therapy-home .therapy-hero-subtitle {
margin: 0;
font-size: clamp(11px, 3vw, 16px);
line-height: 1.6;
color: #253e60;
}
.therapy-home .van-swipe__indicator {
width: 6px;
height: 6px;
@@ -130,53 +93,28 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
}
.therapy-home .therapy-route {
display: flex;
flex-direction: column;
align-items: flex-start;
display: block;
min-width: 0;
padding: 12px 14px 16px;
padding: 0;
overflow: hidden;
border: 0;
border-radius: 14px;
background: #e7f1ff;
color: #183766;
text-align: left;
font: inherit;
background: transparent;
cursor: pointer;
-webkit-tap-highlight-color: transparent;
}
.therapy-home .therapy-route--outside {
background: #fff0da;
color: #663a1a;
}
.therapy-home .therapy-route:active { opacity: .8; }
.therapy-home .therapy-route:focus-visible { outline: 2px solid #147ee9; outline-offset: 3px; }
.therapy-home .therapy-route-icon {
.therapy-home .therapy-route-image {
display: block;
width: 84px;
height: 76px;
width: 100%;
height: auto;
aspect-ratio: 1.82;
object-fit: contain;
margin-bottom: 4px;
}
.therapy-home .therapy-route-label {
display: flex;
align-items: center;
gap: 8px;
font-size: 19px;
font-weight: 700;
line-height: 28px;
}
.therapy-home .therapy-route-label .van-icon {
color: #398bec;
font-size: 20px;
}
.therapy-home .therapy-route--outside .van-icon { color: #f3a331; }
.therapy-home .therapy-notice-file {
display: block;
width: 100%;
@@ -221,12 +159,8 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
.therapy-home .therapy-notice-loading { padding: 25px 0; text-align: center; }
@media (max-width: 360px) {
.therapy-home .therapy-hero-copy { inset: 15px 16px 24px; }
.therapy-home .therapy-hero-title { margin: 6px 0; }
.therapy-home .therapy-hero-badge { font-size: 11px; line-height: 17px; }
.therapy-home .therapy-section-heading { flex-wrap: wrap; }
.therapy-home .therapy-route { padding: 10px 12px 14px; }
.therapy-home .therapy-route-label { font-size: 17px; }
.therapy-home .therapy-route-grid { gap: 8px; }
}
</style>
@@ -241,26 +175,17 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
<van-swipe-item v-for="banner in banners" :key="banner.image">
<div class="therapy-slide">
<van-image class="therapy-banner" fit="cover" :alt="banner.alt" :src="banner.image"></van-image>
<div class="therapy-hero-copy">
<span class="therapy-hero-badge">工会关怀 · 健康同行</span>
<h1 class="therapy-hero-title">{{banner.title}}</h1>
<p class="therapy-hero-subtitle">{{banner.subtitle}}</p>
</div>
</div>
</van-swipe-item>
</van-swipe>
<!--按钮导航-->
<div class="choose_button van-doc-card">
<div class="therapy-section-heading">
<h2 class="notice-title"><van-icon name="calendar-o"></van-icon>疗休养报名</h2>
<span class="therapy-section-caption">选择出行类型,查看可报线路</span>
</div>
<div class="therapy-route-grid">
<button type="button" class="therapy-route" :class="{'therapy-route--outside': Number(item.value) === 1}"
<div class="therapy-route-grid" role="group" aria-label="疗休养报名">
<button type="button" class="therapy-route"
:aria-label="item.label + (Number(item.value) === 0 ? ',校内/本省疗休养' : ',跨省疗休养')"
@click="toLineList(item.value)" v-for="item in chooseButton" :key="item.value">
<img class="therapy-route-icon" :src="Number(item.value) === 0 ? '/assets/staffbenefit/therapyRecuperation/img/home-province-in-v2.png' : '/assets/staffbenefit/therapyRecuperation/img/home-province-out-v2.png'" alt="">
<span class="therapy-route-label">{{item.label}}<van-icon name="arrow"></van-icon></span>
<img class="therapy-route-image" :src="Number(item.value) === 0 ? '/assets/staffbenefit/therapyRecuperation/img/home-route-in-card-v2.png' : '/assets/staffbenefit/therapyRecuperation/img/home-route-out-card-v2.png'" alt="">
</button>
</div>
</div>
@@ -276,7 +201,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
<van-button size="small" round type="primary" @click="getConfigData">重新加载</van-button>
</van-empty>
<button v-else-if="configData.notice" type="button" class="therapy-notice-file" @click="noticeVisible = true">
<img class="therapy-notice-cover" src="/assets/staffbenefit/therapyRecuperation/img/home-notice-cover-v2.png" alt="疗休养须知文件封面">
<img class="therapy-notice-cover" src="/assets/staffbenefit/therapyRecuperation/img/home-notice-cover-v2.png?v=flat-20261105" alt="疗休养须知文件封面">
<span class="therapy-notice-file-info">
<span class="therapy-notice-file-copy">
<span class="therapy-notice-filename">{{noticeTitle}}</span>
@@ -306,16 +231,12 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
noticeTitle: '疗休养工作相关安排及注意事项',
banners: [
{
image: '/assets/staffbenefit/therapyRecuperation/img/home-mountain-v2.png',
image: '/assets/staffbenefit/therapyRecuperation/img/home-mountain-text-v3.png',
alt: '青山晨光与疗休养度假风景',
title: '普惠疗休养\n乐享健康时光',
subtitle: '亲近自然 · 放松身心 · 开启美好旅程'
},
{
image: '/assets/staffbenefit/therapyRecuperation/img/home-lake-v2.png',
image: '/assets/staffbenefit/therapyRecuperation/img/home-lake-text-v3.png',
alt: '湖畔山水与疗休养度假风景',
title: '相约山水间\n共赴好时光',
subtitle: '走进湖光山色 · 感受自然之美'
}
],
}