feat: 普惠疗休养优化
This commit is contained in:
-27
@@ -4,18 +4,11 @@ import cn.dev33.satoken.annotation.SaCheckLogin;
|
|||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
import cn.dev33.satoken.annotation.SaMode;
|
import cn.dev33.satoken.annotation.SaMode;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.lang.Dict;
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.budwk.app.base.annotation.SLog;
|
import com.budwk.app.base.annotation.SLog;
|
||||||
import com.budwk.app.base.constant.RoleConstant;
|
import com.budwk.app.base.constant.RoleConstant;
|
||||||
import com.budwk.app.base.page.Pagination;
|
import com.budwk.app.base.page.Pagination;
|
||||||
import com.budwk.app.base.result.Result;
|
import com.budwk.app.base.result.Result;
|
||||||
import com.budwk.app.flow.constant.FlowConst;
|
|
||||||
import com.budwk.app.flow.engine.FlowEngine;
|
|
||||||
import com.budwk.app.flow.entity.ProcessInstance;
|
|
||||||
import com.budwk.app.flow.entity.ProcessTask;
|
|
||||||
import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
|
|
||||||
import com.budwk.app.flow.service.FlowCommonService;
|
|
||||||
import com.budwk.app.sys.models.Sys_unit;
|
import com.budwk.app.sys.models.Sys_unit;
|
||||||
import com.budwk.app.sys.views.View_user;
|
import com.budwk.app.sys.views.View_user;
|
||||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||||
@@ -63,14 +56,10 @@ public class UnionReimburseApplyController {
|
|||||||
@Inject
|
@Inject
|
||||||
private Dao dao;
|
private Dao dao;
|
||||||
@Inject
|
@Inject
|
||||||
private FlowEngine flowEngine;
|
|
||||||
@Inject
|
|
||||||
private UnionReimburseService unionReimburseService;
|
private UnionReimburseService unionReimburseService;
|
||||||
@Inject
|
@Inject
|
||||||
private UnionReimburseBankAccountService unionReimburseBankAccountService;
|
private UnionReimburseBankAccountService unionReimburseBankAccountService;
|
||||||
@Inject
|
@Inject
|
||||||
private FlowCommonService flowCommonService;
|
|
||||||
@Inject
|
|
||||||
private CondolenceTypeService typeService;
|
private CondolenceTypeService typeService;
|
||||||
|
|
||||||
|
|
||||||
@@ -103,18 +92,6 @@ public class UnionReimburseApplyController {
|
|||||||
if (result.getCode() != 0) {
|
if (result.getCode() != 0) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
// // 开启流程实例
|
|
||||||
// Dict args = Dict.create();
|
|
||||||
// args.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.APPLY.getCode());
|
|
||||||
// args.set(FlowConst.FORM_DATA, unionReimburse);
|
|
||||||
// args.set("userId", unionReimburse.getCondolenceUserId());
|
|
||||||
// ProcessInstance instance = flowEngine.startProcessInstanceByKey("GHBX", unionReimburse.getId(), SecurityUtil.getUserId(), args);
|
|
||||||
//
|
|
||||||
// // 自动完成第一个申请任务
|
|
||||||
// List<ProcessTask> doingTaskList = flowEngine.processTaskService().getDoingTaskList(instance.getId(), null);
|
|
||||||
// for (ProcessTask task : doingTaskList) {
|
|
||||||
// flowEngine.executeProcessTask(task.getId(), SecurityUtil.getUserId(), args);
|
|
||||||
// }
|
|
||||||
return Result.success();
|
return Result.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,10 +106,6 @@ public class UnionReimburseApplyController {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
Dict dict = Dict.create();
|
|
||||||
dict.set(FlowConst.PROCESS_TASK_ID_KEY, taskId);
|
|
||||||
dict.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.RE_APPLY.getCode());
|
|
||||||
flowCommonService.executeTask(dict);
|
|
||||||
return Result.success();
|
return Result.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ sdk:
|
|||||||
server-url-prefix: https://authserver.zjnu.edu.cn/authserver
|
server-url-prefix: https://authserver.zjnu.edu.cn/authserver
|
||||||
server-login-url: https://authserver.zjnu.edu.cn/authserver/login
|
server-login-url: https://authserver.zjnu.edu.cn/authserver/login
|
||||||
qi-wx-server-login-url: https://authserver.zjnu.edu.cn/authserver/login
|
qi-wx-server-login-url: https://authserver.zjnu.edu.cn/authserver/login
|
||||||
client-host-url: https://lxy.zjnu.edu.cn
|
client-host-url: https://zhgh.zjnu.edu.cn
|
||||||
client-call-back-url: /platform/sso/login
|
client-call-back-url: /platform/sso/login
|
||||||
validation-type: cas
|
validation-type: cas
|
||||||
minio:
|
minio:
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ sdk:
|
|||||||
server-url-prefix: https://authserver.zjnu.edu.cn/authserver
|
server-url-prefix: https://authserver.zjnu.edu.cn/authserver
|
||||||
server-login-url: https://authserver.zjnu.edu.cn/authserver/login
|
server-login-url: https://authserver.zjnu.edu.cn/authserver/login
|
||||||
qi-wx-server-login-url: https://authserver.zjnu.edu.cn/authserver/login
|
qi-wx-server-login-url: https://authserver.zjnu.edu.cn/authserver/login
|
||||||
client-host-url: https://lxy.zjnu.edu.cn
|
client-host-url: https://zhgh.zjnu.edu.cn
|
||||||
client-call-back-url: /platform/sso/login
|
client-call-back-url: /platform/sso/login
|
||||||
validation-type: cas
|
validation-type: cas
|
||||||
minio:
|
minio:
|
||||||
@@ -83,3 +83,9 @@ custom:
|
|||||||
encrypted-secret-key: ''
|
encrypted-secret-key: ''
|
||||||
connect-timeout: 5000
|
connect-timeout: 5000
|
||||||
read-timeout: 10000
|
read-timeout: 10000
|
||||||
|
invoice:
|
||||||
|
tencent:
|
||||||
|
# 发票 OCR 使用腾讯云 SecretId/SecretKey;为空时会回退读取 secret-file 指向的 csv。
|
||||||
|
secret-id: AKID1473y253saFsMelgS4TjnfLofMrAHDyX
|
||||||
|
secret-key: TlrlTzIRNjtIj296riPuISbmqplnhQDy
|
||||||
|
secret-file: C:/Users/Administrator/Desktop
|
||||||
@@ -35,6 +35,64 @@ const initTableMixins = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
openGuavaDetail(slot, ref, method, ...args) {
|
||||||
|
if (!this._guavaDetails) this._guavaDetails = {};
|
||||||
|
this._guavaDetails[ref] = {method, args};
|
||||||
|
this.$refs.guava[slot](() => this.initializeGuavaDetail(ref));
|
||||||
|
},
|
||||||
|
initializeGuavaDetail(ref) {
|
||||||
|
const pending = this._guavaDetails && this._guavaDetails[ref];
|
||||||
|
const component = this.$refs[ref];
|
||||||
|
if (!pending || !component) return;
|
||||||
|
delete this._guavaDetails[ref];
|
||||||
|
component[pending.method](...pending.args);
|
||||||
|
},
|
||||||
|
validateForm(form) {
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
if (!form) {
|
||||||
|
this.$message.error('表单尚未加载完成');
|
||||||
|
resolve(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const uploading = (component) => {
|
||||||
|
const files = component.uploadFiles || component.fileList;
|
||||||
|
return (Array.isArray(files) && files.some(file => file.status === 'uploading' || file.status === 'ready'))
|
||||||
|
|| (component.$children || []).some(uploading);
|
||||||
|
};
|
||||||
|
if (uploading(form)) {
|
||||||
|
this.$message.warning('请等待图片或附件上传完成后再提交');
|
||||||
|
resolve(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
form.validate((valid, fields) => {
|
||||||
|
if (!valid) {
|
||||||
|
const errors = Object.values(fields || {}).flat();
|
||||||
|
this.$message.warning(errors.length ? errors[0].message : '请检查必填项和填写格式');
|
||||||
|
}
|
||||||
|
resolve(valid);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
async confirmAction(...args) {
|
||||||
|
try {
|
||||||
|
return await this.$confirm(...args);
|
||||||
|
} catch (error) {
|
||||||
|
if (error === 'cancel' || error === 'close') return false;
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
actionError(error) {
|
||||||
|
if (error === 'cancel' || error === 'close') return;
|
||||||
|
this.$message.error(error && (error.responseJSON && error.responseJSON.msg || error.msg || error.message) || '操作失败,请稍后重试');
|
||||||
|
},
|
||||||
|
importExcel(url, files) {
|
||||||
|
const data = new FormData();
|
||||||
|
files.forEach(file => data.append('file', file.raw, file.raw.name));
|
||||||
|
return this.$axios.post(url, data, {headers: {'Content-Type': 'multipart/form-data'}});
|
||||||
|
},
|
||||||
|
downloadFile(url) {
|
||||||
|
window.location.href = url;
|
||||||
|
},
|
||||||
dropdownCommand({ action, value }) {
|
dropdownCommand({ action, value }) {
|
||||||
if (action) action(value)
|
if (action) action(value)
|
||||||
},
|
},
|
||||||
@@ -136,7 +194,7 @@ const initTableMixins = {
|
|||||||
removeFile()
|
removeFile()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (size && !file.size < size) {
|
if (size && file.size > size) {
|
||||||
this.notifyWarning(`文件大小不能超过 ${size / 1024 / 1024}MB!`)
|
this.notifyWarning(`文件大小不能超过 ${size / 1024 / 1024}MB!`)
|
||||||
removeFile()
|
removeFile()
|
||||||
}
|
}
|
||||||
@@ -147,4 +205,8 @@ const initTableMixins = {
|
|||||||
created() {
|
created() {
|
||||||
this.initApprovalFromUrl();
|
this.initApprovalFromUrl();
|
||||||
},
|
},
|
||||||
|
updated() {
|
||||||
|
// 公共 guava 按需挂载详情,异步组件就绪后再调用详情方法。
|
||||||
|
Object.keys(this._guavaDetails || {}).forEach(ref => this.initializeGuavaDetail(ref));
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
const commonUtil = {
|
const commonUtil = {
|
||||||
|
getFileUrl(value) {
|
||||||
|
if (!value) return ""
|
||||||
|
return /^(https?:|data:|blob:|\/)/.test(value)
|
||||||
|
? value : "/platform/sys/file/download?id=" + encodeURIComponent(value)
|
||||||
|
},
|
||||||
//axios配置
|
//axios配置
|
||||||
axiosService() {
|
axiosService() {
|
||||||
// 创建 axios 实例
|
// 创建 axios 实例
|
||||||
|
|||||||
@@ -1,185 +0,0 @@
|
|||||||
|
|
||||||
/**
|
|
||||||
* 民族
|
|
||||||
* @type {string[]}
|
|
||||||
*/
|
|
||||||
const nation = [
|
|
||||||
'汉族',
|
|
||||||
'蒙古族',
|
|
||||||
'回族',
|
|
||||||
'藏族',
|
|
||||||
'维吾尔族',
|
|
||||||
'苗族',
|
|
||||||
'彝族',
|
|
||||||
'壮族',
|
|
||||||
'布依族',
|
|
||||||
'朝鲜族',
|
|
||||||
'满族',
|
|
||||||
'侗族',
|
|
||||||
'瑶族',
|
|
||||||
'白族',
|
|
||||||
'土家族',
|
|
||||||
'哈尼族',
|
|
||||||
'哈萨克族',
|
|
||||||
'傣族',
|
|
||||||
'黎族',
|
|
||||||
'傈僳族',
|
|
||||||
'佤族',
|
|
||||||
'畲族',
|
|
||||||
'高山族',
|
|
||||||
'拉祜族',
|
|
||||||
'水族',
|
|
||||||
'东乡族',
|
|
||||||
'纳西族',
|
|
||||||
'景颇族',
|
|
||||||
'柯尔克孜族',
|
|
||||||
'土族',
|
|
||||||
'达翰尔族',
|
|
||||||
'么佬族',
|
|
||||||
'羌族',
|
|
||||||
'布朗族',
|
|
||||||
'撒拉族',
|
|
||||||
'毛南族',
|
|
||||||
'仡佬族',
|
|
||||||
'锡伯族',
|
|
||||||
'阿昌族',
|
|
||||||
'普米族',
|
|
||||||
'塔吉克族',
|
|
||||||
'怒族',
|
|
||||||
'乌孜别克族',
|
|
||||||
'俄罗斯族',
|
|
||||||
'鄂温克族',
|
|
||||||
'德昂族',
|
|
||||||
'保安族',
|
|
||||||
'裕固族',
|
|
||||||
'京族',
|
|
||||||
'塔塔尔族',
|
|
||||||
'独龙族',
|
|
||||||
'鄂伦春族',
|
|
||||||
'赫哲族',
|
|
||||||
'门巴族',
|
|
||||||
'珞巴族',
|
|
||||||
'基诺族'
|
|
||||||
];
|
|
||||||
|
|
||||||
const uploadFileType = ['jpg', 'png', 'doc', 'docx', 'xls', 'xlsx', 'pdf']
|
|
||||||
const 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'
|
|
||||||
|
|
||||||
Vue.component('m-page-loading', httpVueLoader('/components/staffbenefit/therapyRecuperation/mobile/MLoading.vue'))
|
|
||||||
Vue.component('m-table-loading', httpVueLoader('/components/staffbenefit/therapyRecuperation/mobile/MTableLoading.vue'))
|
|
||||||
Vue.component('m-card', httpVueLoader('/components/staffbenefit/therapyRecuperation/mobile/MCard.vue'))
|
|
||||||
Vue.component('vant-file-upload', httpVueLoader('/components/staffbenefit/therapyRecuperation/mobile/VantFileUpload.vue'))
|
|
||||||
|
|
||||||
const GetQueryString = (name) => {
|
|
||||||
const reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
|
|
||||||
const r = window.location.search.substr(1).match(reg);
|
|
||||||
if (r != null) return unescape(r[2]);
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
const removeHTMLTag = (str) => {
|
|
||||||
str = str.replace(/<\/?[^>]*>/g, ''); //去除HTML tag
|
|
||||||
str = str.replace(/[ | ]*\n/g, '\n'); //去除行尾空白
|
|
||||||
str = str.replace(/\n[\s| | ]*\r/g, '\n'); //去除多余空行
|
|
||||||
str = str.replace(/ /ig, '');//去掉
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
|
|
||||||
const CREATE_PREVIEW_URL = (val) => {
|
|
||||||
return /^(https?:|data:|blob:|\/)/.test(val || "") ? val : FILE_STREAM_PREVIEW_ADDRESS + "?id=" + encodeURIComponent(val)
|
|
||||||
}
|
|
||||||
|
|
||||||
const clone = (val) => {
|
|
||||||
return JSON.parse(JSON.stringify(val))
|
|
||||||
}
|
|
||||||
|
|
||||||
const toChinesNum = (num) => {
|
|
||||||
let changeNum = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
|
|
||||||
let unit = ["", "十", "百", "千", "万"];
|
|
||||||
num = parseInt(num);
|
|
||||||
let getWan = (temp) => {
|
|
||||||
let strArr = temp.toString().split("").reverse();
|
|
||||||
let newNum = "";
|
|
||||||
for (let i = 0; i < strArr.length; i++) {
|
|
||||||
newNum = (i == 0 && strArr[i] == 0 ? "" : (i > 0 && strArr[i] == 0 && strArr[i - 1] == 0 ? "" : changeNum[strArr[i]] + (strArr[i] == 0 ? unit[0] : unit[i]))) + newNum;
|
|
||||||
}
|
|
||||||
return newNum;
|
|
||||||
}
|
|
||||||
let overWan = Math.floor(num / 10000);
|
|
||||||
let noWan = num % 10000;
|
|
||||||
if (noWan.toString().length < 4) {
|
|
||||||
noWan = "0" + noWan;
|
|
||||||
}
|
|
||||||
return overWan ? getWan(overWan) + "万" + getWan(noWan) : getWan(num);
|
|
||||||
}
|
|
||||||
|
|
||||||
const loc = () => {
|
|
||||||
return location.href.replace(location.search, "").replace(location.hash, "")
|
|
||||||
}
|
|
||||||
|
|
||||||
const modal = {
|
|
||||||
// 消息提示
|
|
||||||
msg(content) {
|
|
||||||
vant.Toast(content)
|
|
||||||
},
|
|
||||||
// 错误消息
|
|
||||||
msgError(content) {
|
|
||||||
vant.Toast.fail(content)
|
|
||||||
},
|
|
||||||
// 成功消息
|
|
||||||
msgSuccess(content) {
|
|
||||||
vant.Toast.success(content)
|
|
||||||
},
|
|
||||||
// 弹出提示
|
|
||||||
alert(content) {
|
|
||||||
vant.Dialog.alert({
|
|
||||||
title: '提示',
|
|
||||||
message: content
|
|
||||||
}).then(() => {
|
|
||||||
// on close
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 确认窗体
|
|
||||||
confirm(content) {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
vant.Dialog.confirm({
|
|
||||||
title: '提示',
|
|
||||||
message: content,
|
|
||||||
}).then(() => {
|
|
||||||
resolve()
|
|
||||||
}).catch(() => {
|
|
||||||
// reject()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 提示信息
|
|
||||||
showToast(option) {
|
|
||||||
if (typeof option === "object") {
|
|
||||||
vant.Toast(option)
|
|
||||||
} else {
|
|
||||||
vant.Toast.loading({
|
|
||||||
message: option,
|
|
||||||
forbidClick: true,
|
|
||||||
loadingType: 'spinner',
|
|
||||||
duration: 2500
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// 打开遮罩层
|
|
||||||
loading(content) {
|
|
||||||
vant.Toast.loading({
|
|
||||||
message: content,
|
|
||||||
forbidClick: true,
|
|
||||||
overlay: true,
|
|
||||||
duration: 0
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 关闭遮罩层
|
|
||||||
closeLoading() {
|
|
||||||
vant.Toast.clear();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Vue.prototype.$modal = modal
|
|
||||||
@@ -1,125 +0,0 @@
|
|||||||
var uploadFileType = ['jpg', 'png', 'doc', 'docx', 'xls', 'xlsx', 'pdf']
|
|
||||||
var docType = ['doc', 'docx', 'xls', 'xlsx', 'pdf']
|
|
||||||
|
|
||||||
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'
|
|
||||||
|
|
||||||
var preview = async (filename, id) => {
|
|
||||||
const suffix = filename.substring(filename.lastIndexOf('.') + 1)
|
|
||||||
if (!docType.includes(suffix.toLowerCase())) {
|
|
||||||
let image = new Image();
|
|
||||||
image.src = FILE_STREAM_PREVIEW_ADDRESS + "?id=" + id
|
|
||||||
let viewer = new Viewer(image);
|
|
||||||
viewer.show();
|
|
||||||
} else {
|
|
||||||
let pdfStreamUrl = encodeURIComponent(FILE_STREAM_PREVIEW_ADDRESS + '?id=' + id) //将路径转码
|
|
||||||
window.open('/assets/platform/plugins/pdfJs/web/viewer.html?file=' + pdfStreamUrl, filename)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var download = (id) => {
|
|
||||||
window.open(FILE_STREAM_DOWNLOAD_ADDRESS + '?id=' + id)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
var PREVIEW_IMAGE = (val) => {
|
|
||||||
let image = new Image();
|
|
||||||
image.src = FILE_STREAM_PREVIEW_ADDRESS + "?id=" + val
|
|
||||||
let viewer = new Viewer(image);
|
|
||||||
viewer.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
var CREATE_PREVIEW_URL = (val) => {
|
|
||||||
return /^(https?:|data:|blob:|\/)/.test(val || "") ? val : FILE_STREAM_PREVIEW_ADDRESS + "?id=" + encodeURIComponent(val)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 遮盖层颜色
|
|
||||||
* @type {string}
|
|
||||||
*/
|
|
||||||
var COVER_LAYER_COLOR = "rgba(0,0,0,.45)"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 民族
|
|
||||||
* @type {string[]}
|
|
||||||
*/
|
|
||||||
var nation = [
|
|
||||||
'汉族',
|
|
||||||
'蒙古族',
|
|
||||||
'回族',
|
|
||||||
'藏族',
|
|
||||||
'维吾尔族',
|
|
||||||
'苗族',
|
|
||||||
'彝族',
|
|
||||||
'壮族',
|
|
||||||
'布依族',
|
|
||||||
'朝鲜族',
|
|
||||||
'满族',
|
|
||||||
'侗族',
|
|
||||||
'瑶族',
|
|
||||||
'白族',
|
|
||||||
'土家族',
|
|
||||||
'哈尼族',
|
|
||||||
'哈萨克族',
|
|
||||||
'傣族',
|
|
||||||
'黎族',
|
|
||||||
'傈僳族',
|
|
||||||
'佤族',
|
|
||||||
'畲族',
|
|
||||||
'高山族',
|
|
||||||
'拉祜族',
|
|
||||||
'水族',
|
|
||||||
'东乡族',
|
|
||||||
'纳西族',
|
|
||||||
'景颇族',
|
|
||||||
'柯尔克孜族',
|
|
||||||
'土族',
|
|
||||||
'达翰尔族',
|
|
||||||
'么佬族',
|
|
||||||
'羌族',
|
|
||||||
'布朗族',
|
|
||||||
'撒拉族',
|
|
||||||
'毛南族',
|
|
||||||
'仡佬族',
|
|
||||||
'锡伯族',
|
|
||||||
'阿昌族',
|
|
||||||
'普米族',
|
|
||||||
'塔吉克族',
|
|
||||||
'怒族',
|
|
||||||
'乌孜别克族',
|
|
||||||
'俄罗斯族',
|
|
||||||
'鄂温克族',
|
|
||||||
'德昂族',
|
|
||||||
'保安族',
|
|
||||||
'裕固族',
|
|
||||||
'京族',
|
|
||||||
'塔塔尔族',
|
|
||||||
'独龙族',
|
|
||||||
'鄂伦春族',
|
|
||||||
'赫哲族',
|
|
||||||
'门巴族',
|
|
||||||
'珞巴族',
|
|
||||||
'基诺族'
|
|
||||||
];
|
|
||||||
|
|
||||||
function loc() {
|
|
||||||
return location.href.replace(location.search, "").replace(location.hash, "")
|
|
||||||
}
|
|
||||||
|
|
||||||
function clone(obj) {
|
|
||||||
return JSON.parse(JSON.stringify(obj))
|
|
||||||
}
|
|
||||||
|
|
||||||
var calcTableHeight = (eleIds = []) => {
|
|
||||||
if (eleIds) {
|
|
||||||
eleIds.forEach(e_id => {
|
|
||||||
const ele = document.querySelector('#' + e_id)
|
|
||||||
if (ele) {
|
|
||||||
ele.style.height = (innerHeight - ele.getBoundingClientRect().top - parseInt(ele.dataset.bottom)) + 'px'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
var sublime = {
|
|
||||||
jumpPagePjax(url) {
|
|
||||||
window.location.href = url;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Vue.prototype.$validateForm = function(form) {
|
|
||||||
return new Promise(resolve => {
|
|
||||||
if (!form) {
|
|
||||||
this.$message.error('表单尚未加载完成');
|
|
||||||
resolve(false);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const uploading = component => {
|
|
||||||
if (Array.isArray(component.uploadFiles) && component.uploadFiles.some(file => file.status === 'uploading')) return true;
|
|
||||||
return (component.$children || []).some(uploading);
|
|
||||||
};
|
|
||||||
if (uploading(form)) {
|
|
||||||
this.$message.warning('请等待图片或附件上传完成后再提交');
|
|
||||||
resolve(false);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
form.validate((valid, fields) => {
|
|
||||||
if (!valid) {
|
|
||||||
const errors = Object.values(fields || {}).flat();
|
|
||||||
this.$message.warning(errors.length ? errors[0].message : '请检查必填项和填写格式');
|
|
||||||
}
|
|
||||||
resolve(valid);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
Vue.prototype.$confirmAction = async function(...args) {
|
|
||||||
try {
|
|
||||||
return await this.$confirm(...args);
|
|
||||||
} catch (error) {
|
|
||||||
if (error === 'cancel' || error === 'close') return false;
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Vue.prototype.$actionError = function(error) {
|
|
||||||
if (error === 'cancel' || error === 'close') return;
|
|
||||||
const message = error && (error.responseJSON && error.responseJSON.msg || error.msg || error.message);
|
|
||||||
this.$message.error(message || '操作失败,请稍后重试');
|
|
||||||
};
|
|
||||||
|
|
||||||
Vue.prototype.$downloadFile = function(url) {
|
|
||||||
window.location.href = url;
|
|
||||||
};
|
|
||||||
|
|
||||||
Vue.prototype.$importExcel = function(url, files) {
|
|
||||||
const data = new FormData();
|
|
||||||
files.forEach(file => data.append('file', file.raw, file.raw.name));
|
|
||||||
return $.ajax({url: url, type: 'POST', data: data, processData: false, contentType: false});
|
|
||||||
};
|
|
||||||
|
|
||||||
Vue.directive('throttle', {
|
|
||||||
bind(el) {
|
|
||||||
let lastClick = 0;
|
|
||||||
el.therapyThrottleHandler = event => {
|
|
||||||
const now = Date.now();
|
|
||||||
if (now - lastClick < 1000) {
|
|
||||||
event.preventDefault();
|
|
||||||
event.stopImmediatePropagation();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
lastClick = now;
|
|
||||||
};
|
|
||||||
el.addEventListener('click', el.therapyThrottleHandler, true);
|
|
||||||
},
|
|
||||||
unbind(el) {
|
|
||||||
el.removeEventListener('click', el.therapyThrottleHandler, true);
|
|
||||||
delete el.therapyThrottleHandler;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$.ajaxSetup({
|
|
||||||
traditional: true,
|
|
||||||
error(xhr) {
|
|
||||||
const message = xhr.responseJSON && xhr.responseJSON.msg || '请求失败,请稍后重试';
|
|
||||||
if (window.ELEMENT) ELEMENT.Message.error(message);
|
|
||||||
else if (window.vant) vant.Toast.fail(message);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Vue.prototype.$downLoad = function(url, data = {}) {
|
|
||||||
const query = $.param(data, true);
|
|
||||||
window.open(url + (url.includes('?') ? '&' : '?') + query);
|
|
||||||
};
|
|
||||||
Vue.prototype.$download = Vue.prototype.$downLoad;
|
|
||||||
Vue.prototype.$viewImage = function(url) {
|
|
||||||
const address = CREATE_PREVIEW_URL(url);
|
|
||||||
if (window.vant) vant.ImagePreview([address]);
|
|
||||||
else window.open(address);
|
|
||||||
};
|
|
||||||
window.viewImage = Vue.prototype.$viewImage;
|
|
||||||
|
|
||||||
// v3 views use the same helper for stored file IDs and v4 download URLs.
|
|
||||||
window.therapyPreview = function(value) {
|
|
||||||
if (!value) return '';
|
|
||||||
return /^(https?:|data:|blob:|\/)/.test(value) ? value :
|
|
||||||
'/platform/inclusiveTherapyV3/common/preview?id=' + encodeURIComponent(value);
|
|
||||||
};
|
|
||||||
|
|
||||||
if (window.vant) {
|
|
||||||
window.preview = function(filename, id) {
|
|
||||||
const address = therapyPreview(id);
|
|
||||||
if (/\.(jpe?g|png|gif|bmp|webp|svg)$/i.test(filename || '')) {
|
|
||||||
vant.ImagePreview([address]);
|
|
||||||
} else {
|
|
||||||
window.open(address);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,130 +0,0 @@
|
|||||||
Vue.component('vi-title', {
|
|
||||||
props: ['title'],
|
|
||||||
template: `
|
|
||||||
<div class="therapy-title" style="display: flex;flex-direction:row;color: var(--color-primary);font-weight: bolder;margin-bottom: 20px">
|
|
||||||
<div class="therapy-title-marker" style="width: 5px;height: 24px;background-color: var(--color-primary);border-radius: 2px"></div>
|
|
||||||
<div class="therapy-title-text" style="margin-left: 20px;line-height: 24px;font-size: 15px;letter-spacing: 1px">
|
|
||||||
{{ title }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
`
|
|
||||||
})
|
|
||||||
|
|
||||||
Vue.component('vi-title2', {
|
|
||||||
props: ['title'],
|
|
||||||
template: `
|
|
||||||
<el-row type="flex" justify="space-between" align="middle" style="margin-bottom: 15px">
|
|
||||||
<div style="display: flex;justify-content: center;align-items: center">
|
|
||||||
<vi-title :title="title" style="margin-bottom: 0"></vi-title><slot name="label_end"></slot>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div style="display: flex;justify-content: right;align-items: center">
|
|
||||||
<slot name="func"></slot>
|
|
||||||
</div>
|
|
||||||
</el-row>
|
|
||||||
|
|
||||||
`
|
|
||||||
})
|
|
||||||
|
|
||||||
Vue.component('vi-table-state', {
|
|
||||||
props: ['state'],
|
|
||||||
template: `
|
|
||||||
<span :style="'color:'+state.stateColor">{{ state.stateName }}</span>
|
|
||||||
`
|
|
||||||
})
|
|
||||||
Vue.component('more', {
|
|
||||||
props: {more: {type: Boolean, default: false}},
|
|
||||||
template: `
|
|
||||||
<el-link type="primary" :underline="false" style="margin-left: 15px"
|
|
||||||
@click="more=!more;$emit('change', more)">
|
|
||||||
{{ more ? '收起' : '展开' }}<i
|
|
||||||
:class="more?'el-icon-arrow-up':'el-icon-arrow-down'"></i></el-link>
|
|
||||||
`,
|
|
||||||
model: {
|
|
||||||
prop: 'more',
|
|
||||||
event: 'change'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
Vue.component('therapy-table-tool', {
|
|
||||||
props: {
|
|
||||||
label: {type: String},
|
|
||||||
app: {}
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
checkedFields: [],
|
|
||||||
columns: [],
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
tableSizeChange(command) {
|
|
||||||
const {size} = command
|
|
||||||
this.app.tableSizeChange(size)
|
|
||||||
},
|
|
||||||
columnChange() {
|
|
||||||
this.app.columnChange(this.columns.filter(v => this.checkedFields.includes(v.prop)))
|
|
||||||
},
|
|
||||||
getColumns() {
|
|
||||||
const {tableColumns} = this.app
|
|
||||||
if (!tableColumns) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
this.columns = tableColumns
|
|
||||||
this.checkedFields = this.columns.filter(v => v.checked !== 0).map(v => v.prop)
|
|
||||||
this.columnChange()
|
|
||||||
},
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.getColumns()
|
|
||||||
},
|
|
||||||
template: `
|
|
||||||
<el-row class="therapy-table-tool" type="flex" justify="space-between" align="middle" style="margin-bottom: 15px">
|
|
||||||
|
|
||||||
<div style="display: flex;justify-content: center;align-items: center">
|
|
||||||
<vi-title :title="label" style="margin-bottom: 0"></vi-title><slot name="label_end"></slot>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div style="display: flex;justify-content: right;align-items: center">
|
|
||||||
<slot name="func"></slot>
|
|
||||||
|
|
||||||
<div class="table-tool-group">
|
|
||||||
<div class="table-tool-group-item" @click="app.doSearch()" style="width: 50px;padding-left: 10px;">
|
|
||||||
<i class="el-icon-refresh"></i>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<el-dropdown @command="tableSizeChange" class="table-tool-group-item">
|
|
||||||
<div style="display: flex;width: 100%;height: 100%;justify-content: center;align-items: center"><i
|
|
||||||
class="el-icon-c-scale-to-original"></i></div>
|
|
||||||
<el-dropdown-menu slot="dropdown">
|
|
||||||
<el-dropdown-item :command="{size:'mini'}">Mini</el-dropdown-item>
|
|
||||||
<el-dropdown-item :command="{size:'small'}">Small</el-dropdown-item>
|
|
||||||
<el-dropdown-item :command="{size:'medium'}">Medium</el-dropdown-item>
|
|
||||||
<el-dropdown-item :command="{size:''}">Large</el-dropdown-item>
|
|
||||||
</el-dropdown-menu>
|
|
||||||
</el-dropdown>
|
|
||||||
|
|
||||||
<el-popover
|
|
||||||
trigger="hover" placement="bottom-start">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<el-checkbox-group v-model="checkedFields" @change="columnChange">
|
|
||||||
<el-checkbox v-for="field in columns" :key="field.prop" :label="field.prop" style="display: block">{{
|
|
||||||
field.label
|
|
||||||
}}
|
|
||||||
</el-checkbox>
|
|
||||||
</el-checkbox-group>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div slot="reference" style="width: 50px;padding-right: 10px;" class="table-tool-group-item">
|
|
||||||
<i class="el-icon-s-operation"></i>
|
|
||||||
</div>
|
|
||||||
</el-popover>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</el-row>
|
|
||||||
`,
|
|
||||||
})
|
|
||||||
Vue.component('table-tool', Vue.options.components['therapy-table-tool'])
|
|
||||||
@@ -1,189 +0,0 @@
|
|||||||
.therapy-desktop {
|
|
||||||
font-family: "Helvetica Neue", "Microsoft YaHei", Arial, sans-serif;
|
|
||||||
font-size: 14px;
|
|
||||||
color: #303133;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app {
|
|
||||||
height: auto;
|
|
||||||
min-height: 100%;
|
|
||||||
overflow: visible;
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .el-card__header {
|
|
||||||
padding: 16px 20px;
|
|
||||||
color: #303133;
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: 600;
|
|
||||||
line-height: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .el-form-item__label {
|
|
||||||
color: #606266;
|
|
||||||
font-weight: 400;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .search {
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
||||||
gap: 16px 24px;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .search .search-item {
|
|
||||||
width: auto;
|
|
||||||
min-width: 0;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .search .search-item-label {
|
|
||||||
flex: 0 0 90px;
|
|
||||||
width: 90px;
|
|
||||||
min-width: 0;
|
|
||||||
margin-right: 12px;
|
|
||||||
color: #606266;
|
|
||||||
text-align: right;
|
|
||||||
line-height: 20px;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .search .search-item-option {
|
|
||||||
flex: 1;
|
|
||||||
width: 0;
|
|
||||||
min-width: 0;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .search-item-option > .el-input,
|
|
||||||
.therapy-desktop #app .search-item-option > .el-select,
|
|
||||||
.therapy-desktop #app .search-item-option > .el-date-editor {
|
|
||||||
width: 100%;
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .search-item-option > .el-radio-group {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
gap: 4px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .search .search-query {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 10px;
|
|
||||||
width: auto;
|
|
||||||
margin: 0;
|
|
||||||
padding-left: 102px;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .query-row {
|
|
||||||
height: auto;
|
|
||||||
min-height: 56px;
|
|
||||||
padding: 12px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .query-row > .query-row-title:empty {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .query-row .el-col {
|
|
||||||
min-width: 0;
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .query-row-content {
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .query-row-content > .el-row {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
row-gap: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .query-row-content > .el-row > .el-col {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 12px;
|
|
||||||
padding-right: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .query-row-content > .el-row > .el-col > span:first-child {
|
|
||||||
flex: 0 0 90px;
|
|
||||||
color: #606266;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .query-row-content > .el-row > .el-col > .el-input,
|
|
||||||
.therapy-desktop #app .query-row-content > .el-row > .el-col > .el-select {
|
|
||||||
flex: 1;
|
|
||||||
width: 0 !important;
|
|
||||||
min-width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop .therapy-table-tool {
|
|
||||||
flex-wrap: wrap;
|
|
||||||
gap: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop .therapy-table-tool > div {
|
|
||||||
min-width: 0;
|
|
||||||
max-width: 100%;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
gap: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop .therapy-title {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
min-width: 0;
|
|
||||||
margin-bottom: 16px;
|
|
||||||
color: #303133 !important;
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: 600 !important;
|
|
||||||
line-height: 24px;
|
|
||||||
overflow-wrap: anywhere;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop .therapy-title .therapy-title-marker {
|
|
||||||
flex: 0 0 3px;
|
|
||||||
height: 16px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop .therapy-title .therapy-title-text {
|
|
||||||
margin-left: 10px !important;
|
|
||||||
font-size: 16px !important;
|
|
||||||
letter-spacing: normal !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .chart-title,
|
|
||||||
.therapy-desktop #app .col-title {
|
|
||||||
color: #303133;
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 1199px) {
|
|
||||||
.therapy-desktop #app .search {
|
|
||||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 767px) {
|
|
||||||
.therapy-desktop #app .search {
|
|
||||||
grid-template-columns: minmax(0, 1fr);
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop #app .query-row-content > .el-row > .el-col {
|
|
||||||
width: 100%;
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.therapy-desktop .therapy-table-tool > div {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,166 +0,0 @@
|
|||||||
var therapyTableMixins = {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
festival: ['元旦', '春节', '清明节', '劳动节', '端午节', '中秋节', '国庆节', '其它'],
|
|
||||||
submitLoading: false,
|
|
||||||
searchMore: false,
|
|
||||||
tableSize: '',
|
|
||||||
tableKey: '',
|
|
||||||
formData: {},
|
|
||||||
formRules: {},
|
|
||||||
formLoading: false,
|
|
||||||
tableLoading: false,
|
|
||||||
tableData: [],
|
|
||||||
tableColumns: [],
|
|
||||||
pageForm: {
|
|
||||||
searchName: "",
|
|
||||||
searchKeyword: "",
|
|
||||||
pageNumber: 1,
|
|
||||||
pageSize: 10,
|
|
||||||
totalCount: 0,
|
|
||||||
pageOrderName: "",
|
|
||||||
pageOrderBy: ""
|
|
||||||
},
|
|
||||||
guavaIndex: 'index',
|
|
||||||
unionGroups: [],
|
|
||||||
threeUnits: []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
filters: {
|
|
||||||
date(value) {
|
|
||||||
return value ? moment(value).format('YYYY-MM-DD') : ''
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
dropdownCommand({action, value}) {
|
|
||||||
if (action) action(value)
|
|
||||||
},
|
|
||||||
|
|
||||||
fileHandleRemove(file, fileList) {
|
|
||||||
return fileList;
|
|
||||||
},
|
|
||||||
fileHandleChange(file, fileList, {type, size}) {
|
|
||||||
const removeFile = () => {
|
|
||||||
fileList.splice(fileList.findIndex(v => v === file))
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!file.size) {
|
|
||||||
this.notifyWarning('您选择的是空文件!')
|
|
||||||
removeFile()
|
|
||||||
}
|
|
||||||
|
|
||||||
if (type && type.length && !type.includes(file.name.split('.').pop().toLowerCase())) {
|
|
||||||
this.notifyWarning(`文件只能是 ${type.map(v => v.toUpperCase()).join('/')} 格式!`)
|
|
||||||
removeFile()
|
|
||||||
}
|
|
||||||
|
|
||||||
if (size && file.size > size) {
|
|
||||||
this.notifyWarning(`文件大小不能超过 ${size / 1024 / 1024}MB!`)
|
|
||||||
removeFile()
|
|
||||||
}
|
|
||||||
|
|
||||||
return fileList;
|
|
||||||
},
|
|
||||||
|
|
||||||
columnChange(val) {
|
|
||||||
this.tableLoading = true
|
|
||||||
this.tableColumns = val
|
|
||||||
this.tableLoading = false
|
|
||||||
},
|
|
||||||
tableSizeChange(size) {
|
|
||||||
this.tableSize = size
|
|
||||||
},
|
|
||||||
indexMethod(index) {
|
|
||||||
return index + (this.pageForm.pageNumber - 1) * this.pageForm.pageSize + 1
|
|
||||||
},
|
|
||||||
doSearch() {
|
|
||||||
this.tableKey = new Date().getTime()
|
|
||||||
this.pageForm.pageNumber = 1
|
|
||||||
this.pageData()
|
|
||||||
},
|
|
||||||
pageOrder(column) {
|
|
||||||
this.pageForm.pageOrderName = column.prop;
|
|
||||||
this.pageForm.pageOrderBy = column.order;
|
|
||||||
this.pageData();
|
|
||||||
},
|
|
||||||
pageNumberChange(val) {
|
|
||||||
this.pageForm.pageNumber = val;
|
|
||||||
this.pageData();
|
|
||||||
},
|
|
||||||
pageSizeChange(val) {
|
|
||||||
this.pageForm.pageSize = val;
|
|
||||||
this.pageData();
|
|
||||||
},
|
|
||||||
pageData(url) {
|
|
||||||
const address = url ? url : loc() + "/pageData"
|
|
||||||
this.tableLoading = true
|
|
||||||
$.post(address, this.pageForm, (data) => {
|
|
||||||
this.tableLoading = false
|
|
||||||
if (data.code == 0) {
|
|
||||||
this.tableData = data.data.list;
|
|
||||||
this.pageForm.totalCount = data.data.totalCount;
|
|
||||||
} else {
|
|
||||||
this.$message.error(data.msg);
|
|
||||||
}
|
|
||||||
}, "json").always(() => {
|
|
||||||
this.tableLoading = false;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
notifySuccess(msg) {
|
|
||||||
this.$notify({
|
|
||||||
title: '成功',
|
|
||||||
message: msg,
|
|
||||||
type: 'success'
|
|
||||||
});
|
|
||||||
},
|
|
||||||
notifyWarning(msg) {
|
|
||||||
this.$notify({
|
|
||||||
title: '警告',
|
|
||||||
message: msg,
|
|
||||||
type: 'warning'
|
|
||||||
});
|
|
||||||
},
|
|
||||||
notifyError(msg) {
|
|
||||||
this.$notify.error({
|
|
||||||
title: '错误',
|
|
||||||
message: msg
|
|
||||||
});
|
|
||||||
},
|
|
||||||
async getThreeUnits() {
|
|
||||||
this.$set(this.pageForm, 'threeUnitId', null)
|
|
||||||
this.threeUnits = []
|
|
||||||
this.threeUnits = await threeUnitsByUnionGroupOrUnitId(this.pageForm.unitId, this.pageForm.unionGroupId)
|
|
||||||
},
|
|
||||||
launchFullscreen() {
|
|
||||||
const element = document.documentElement
|
|
||||||
if (element.requestFullscreen) {
|
|
||||||
element.requestFullscreen();
|
|
||||||
} else if (element.mozRequestFullScreen) {
|
|
||||||
element.mozRequestFullScreen();
|
|
||||||
} else if (element.webkitRequestFullscreen) {
|
|
||||||
element.webkitRequestFullscreen();
|
|
||||||
} else if (element.msRequestFullscreen) {
|
|
||||||
element.msRequestFullscreen();
|
|
||||||
}
|
|
||||||
this.calcSignTableHeight()
|
|
||||||
},
|
|
||||||
exitFullscreen() {
|
|
||||||
if (document.exitFullscreen) {
|
|
||||||
document.exitFullscreen();
|
|
||||||
} else if (document.mozCancelFullScreen) {
|
|
||||||
document.mozCancelFullScreen();
|
|
||||||
} else if (document.webkitExitFullscreen) {
|
|
||||||
document.webkitExitFullscreen();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
toggleFullScreen() {
|
|
||||||
if (!document.fullscreenElement) {
|
|
||||||
document.documentElement.requestFullscreen();
|
|
||||||
} else {
|
|
||||||
if (document.exitFullscreen) {
|
|
||||||
document.exitFullscreen();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,119 +0,0 @@
|
|||||||
html {
|
|
||||||
display: block;
|
|
||||||
font-size: 16px;
|
|
||||||
min-height: 100vh;
|
|
||||||
background-color: #f6f7f9;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
min-width: 320px;
|
|
||||||
max-width: 640px;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding: 0;
|
|
||||||
font-family: "微软雅黑", Helvetica, STHeiTi, sans-serif;
|
|
||||||
color: #000000;
|
|
||||||
-webkit-text-size-adjust: 100% !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#app {
|
|
||||||
min-height: 100vh;
|
|
||||||
background-color: #f9f9f9;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
[v-cloak] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
a, img {
|
|
||||||
-webkit-touch-callout: none;
|
|
||||||
text-decoration: none;
|
|
||||||
color: #000000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-center {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-right {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-left {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.m5 {
|
|
||||||
margin: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.m10 {
|
|
||||||
margin: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mb5 {
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mb10 {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mt5 {
|
|
||||||
margin-top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mt10 {
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ml5 {
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ml15 {
|
|
||||||
margin-left: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.ml10 {
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mr5 {
|
|
||||||
margin-right: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mr10 {
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mt20 {
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.p10 {
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mb20 {
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex-box {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-bold {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-overflow {
|
|
||||||
white-space: nowrap;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,177 +0,0 @@
|
|||||||
.van-pagination__item--active {
|
|
||||||
background-color: #1867b0;
|
|
||||||
color: #FFFFFF !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-pagination__item:active {
|
|
||||||
background-color: #1867b0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-pagination__item {
|
|
||||||
color: #1867b0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-dropdown-menu__bar {
|
|
||||||
border-top: 1px solid #f8f8f8;
|
|
||||||
border-bottom: 1px solid #f8f8f8;
|
|
||||||
box-shadow: none;
|
|
||||||
overflow-x: auto;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*.van-dropdown-menu__bar > .van-dropdown-menu__item:not(:last-child) {*/
|
|
||||||
/* border-right: 1px solid #f0f0f0;*/
|
|
||||||
/*}*/
|
|
||||||
|
|
||||||
.van-dropdown-menu__title--active, .van-dropdown-item__option--active, .van-dropdown-item__option--active .van-dropdown-item__icon {
|
|
||||||
color: #1867b0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-tabs {
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-tabs__line {
|
|
||||||
background-color: #1867b0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-theme-color {
|
|
||||||
color: #1867b0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-nav-bar {
|
|
||||||
/*background-color: #1867b0;*/
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
z-index: 11;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-nav-bar .van-nav-bar__left > .van-icon-arrow-left {
|
|
||||||
/*color: #FFFFFF;*/
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-nav-bar .van-nav-bar__title {
|
|
||||||
/*color: #FFFFFF;*/
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.van-dropdown-menu__title {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.layui-table th, .layui-table td {
|
|
||||||
text-align: center !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.layui-table-fixed {
|
|
||||||
z-index: 9 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search-fixed {
|
|
||||||
position: fixed;
|
|
||||||
top: 46px;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
z-index: 1;
|
|
||||||
box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-empty {
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
position: absolute;
|
|
||||||
left: 50%;
|
|
||||||
top: 50%;
|
|
||||||
transform: translate(-50%, -50%);
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
z-index: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-dropdown-item__content {
|
|
||||||
border-bottom-right-radius: 15px;
|
|
||||||
border-bottom-left-radius: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-dropdown-menu__bar {
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-dropdown-menu__item {
|
|
||||||
flex: unset;
|
|
||||||
flex-shrink: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-dropdown-menu__title {
|
|
||||||
padding: 0 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.list-card {
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.list-card .van-cell {
|
|
||||||
padding: 8px 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.list-card .van-cell__title {
|
|
||||||
flex: 1;
|
|
||||||
color: #969799;
|
|
||||||
/*font-weight: 500;*/
|
|
||||||
}
|
|
||||||
|
|
||||||
.list-card .van-cell__title:after {
|
|
||||||
content: ':';
|
|
||||||
margin-left: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.list-card .van-cell__value {
|
|
||||||
text-align: left;
|
|
||||||
flex: 2.5;
|
|
||||||
color: #323233;
|
|
||||||
/*font-weight: 500;*/
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-cell-group__title {
|
|
||||||
padding: 5px 0 5px 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-calendar__confirm {
|
|
||||||
height: 45px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-index-bar__sidebar {
|
|
||||||
top: -webkit-calc(20% + 20px);
|
|
||||||
top: calc(20% + 20px);
|
|
||||||
height: -webkit-calc(80% - 100px);
|
|
||||||
height: calc(80% - 100px);
|
|
||||||
-webkit-transform: unset;
|
|
||||||
-ms-transform: unset;
|
|
||||||
transform: unset;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-index-bar__index {
|
|
||||||
-webkit-box-flex: 1;
|
|
||||||
-webkit-flex: 1;
|
|
||||||
-ms-flex: 1;
|
|
||||||
flex: 1;
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-sidebar-item {
|
|
||||||
margin: 0 !important;
|
|
||||||
padding: 10px 12px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-sidebar-item--select::before {
|
|
||||||
background-color: #373AA3;
|
|
||||||
left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.van-sidebar-item--select {
|
|
||||||
text-indent: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
const mobileMixins = {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
tableData: [],
|
|
||||||
mLoading: false,
|
|
||||||
finished: false,
|
|
||||||
loading: false,
|
|
||||||
refreshing: false,
|
|
||||||
formData: {},
|
|
||||||
pageForm: {
|
|
||||||
pageNumber: 1,
|
|
||||||
pageSize: 5,
|
|
||||||
totalCount: 0
|
|
||||||
},
|
|
||||||
themeColor: '#373AA3',
|
|
||||||
pageDataUrl: null,
|
|
||||||
yearList: []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
filters: {
|
|
||||||
date(value) {
|
|
||||||
return value ? moment(value).format('YYYY-MM-DD') : ''
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
historyBack(callback) {
|
|
||||||
if (window.history.length > 1) {
|
|
||||||
window.history.back()
|
|
||||||
} else {
|
|
||||||
window.location.href = '/platform/h5/home'
|
|
||||||
}
|
|
||||||
if (typeof callback === 'function') callback()
|
|
||||||
},
|
|
||||||
async pageData() {
|
|
||||||
this.mLoading = true
|
|
||||||
if (this.pageDataUrl == null) {
|
|
||||||
this.pageDataUrl = loc() + '/pageData'
|
|
||||||
}
|
|
||||||
$.post(this.pageDataUrl, this.pageForm, (res) => {
|
|
||||||
const {code, data} = res
|
|
||||||
if (this.refreshing) {
|
|
||||||
this.tableData = [];
|
|
||||||
this.refreshing = false;
|
|
||||||
}
|
|
||||||
this.loading = false;
|
|
||||||
|
|
||||||
if (code === 0) {
|
|
||||||
this.tableData = this.tableData.concat(data.list)
|
|
||||||
this.pageForm.totalCount = data.totalCount
|
|
||||||
|
|
||||||
if (this.tableData.length === 0) {
|
|
||||||
this.finished = true;
|
|
||||||
} else {
|
|
||||||
this.none_data = false
|
|
||||||
if (this.tableData.length >= this.pageForm.totalCount) {
|
|
||||||
this.finished = true;
|
|
||||||
this.pageForm.pageNumber++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
this.mLoading = false
|
|
||||||
},
|
|
||||||
async onRefresh() {
|
|
||||||
this.tableData = []
|
|
||||||
this.refreshing = true;
|
|
||||||
this.finished = false;
|
|
||||||
this.pageForm.pageNumber = 0
|
|
||||||
this.loading = true;
|
|
||||||
await this.pageData();
|
|
||||||
},
|
|
||||||
GetQueryString(name) {
|
|
||||||
const reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
|
|
||||||
const r = window.location.search.substr(1).match(reg);
|
|
||||||
if (r != null) return unescape(r[2]);
|
|
||||||
return "";
|
|
||||||
},
|
|
||||||
createYearList() {
|
|
||||||
for (let i = new Date().getFullYear() - 50; i <= new Date().getFullYear(); i++) {
|
|
||||||
this.yearList.unshift({value: i, text: i + '年'},)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
startLoading() {
|
|
||||||
this.vLoading = vant.Toast.loading({
|
|
||||||
message: '加载中...',
|
|
||||||
forbidClick: true,
|
|
||||||
duration: 0
|
|
||||||
})
|
|
||||||
},
|
|
||||||
closeLoading() {
|
|
||||||
setTimeout(() => {
|
|
||||||
this.vLoading.close()
|
|
||||||
}, 500)
|
|
||||||
},
|
|
||||||
doSearch() {
|
|
||||||
this.tableKey = new Date().getTime()
|
|
||||||
this.pageForm.pageNumber = 1
|
|
||||||
this.pageForm.totalCount = 0
|
|
||||||
this.tableData = []
|
|
||||||
this.pageData()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.createYearList()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,426 +0,0 @@
|
|||||||
/**
|
|
||||||
* 根据enum获取选项
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getEnumOptions = async (enumName) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/enumOptions", {enumName})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据code获取字典选项
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getDictOptions = async (code) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/dictOptions", {code})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据code获取字典选项信息
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getDictState = async (code) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/dictState", {code})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取校区
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getCampus = async () => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getCampus")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取代表团
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getDbt = async (jdhId) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getDbt", {jdhId})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
//查询当前用户管理的院级工会
|
|
||||||
var getUnion = async () => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getUnion")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
//查询当前用户管理的院级工会下的单位
|
|
||||||
var getUnit = async (unionid) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getUnit", {unionid: unionid})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取代表小组
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getGroup = async (jdhId) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getGroup", {jdhId})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
//获取所有开启的教代会
|
|
||||||
var getOpenJdh = async () => {
|
|
||||||
const {data} = await $.get("/platform/jdh/Common/getOpenJdhxx")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取院级工会
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getUnions = async (delegationId = null, isPermission = false) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/unions", {delegationId, isPermission})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取活动院级工会
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getActivityUnions = async () => {
|
|
||||||
const {data} = await $.get("/platform/activity/basic/union/getActivityUnions",)
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取单位
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getUnits = async (unionId = null) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/units", {unionId})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
var getClubUnits = async () => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getClubUnits", {})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取单位
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getActivityUnits = async (unionId) => {
|
|
||||||
const {data} = await $.get("/platform/activity/basic/union/getActivityUnits", {unionId})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取本分工会的单位
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getUnionUnits = async () => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/unionUnits")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取福利单位
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getWelfareUnits = async () => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/welfareUnits")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取福利单位的二级单位
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getUnitsByWelfareUnit = async (welfareUnitId) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/unitsByWelfareUnit", {welfareUnitId})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取协会
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getClubs = async () => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/clubs", {})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取届次
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getJc = async () => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getJcByDict")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取当前人所管理的协会
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getClubsByRole = async () => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getClubsByRole", {})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 获取当前人所在的协会
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getClubsByUser = async () => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getClubsByUser", {})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取文件类型
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getFileType = async () => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getFileTypeByDict")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取基层干部的角色
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getJcgbJs = async () => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getJcgbJsByDict")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取审批员的角色
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getSpyJs = async () => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getSpyJsByDict")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取协会类型
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getClubType = async () => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getClubTypeByDict")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取系统名称
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getSystemName = async () => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getSystemNameByDict")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取工代会
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getGdh = async (open = true) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getGdh", {open})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取工代会代表团
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getGdhDbt = async (jdhId) => {
|
|
||||||
const {data} = await $.get("/platform/gdh/common/getDbt", {jdhId})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据id查用户
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var queryUserByIds = async (ids) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/queryUserByIds", {ids: JSON.stringify(ids)})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据id查用户
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var queryUserById = async (id) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/queryUserById", {id: id})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询用户
|
|
||||||
* @param query
|
|
||||||
* @param unionId
|
|
||||||
* @param unitId
|
|
||||||
* @param sex
|
|
||||||
* @param member
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var searchUser = async (query, unionId = null, unitId = null, sex = null, member = null) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/searchUser", {
|
|
||||||
query,
|
|
||||||
unionId,
|
|
||||||
unitId,
|
|
||||||
sex,
|
|
||||||
member
|
|
||||||
})
|
|
||||||
return data.list
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取代表可以操作的教代会
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getJdhByDb = async () => {
|
|
||||||
const {data} = await $.get("/platform/proposal/common/getJdhByDb")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取代表可以操作的开启的教代会
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getOpenJdhByDb = async () => {
|
|
||||||
const {data} = await $.get("/platform/proposal/common/getOpenMeeting")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取教代会工作资料类型
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getGzzllx = async () => {
|
|
||||||
const {data} = await $.get("/platform/jdh/Common/getGzzllx")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取疗休养活动
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getLxyHd = async () => {
|
|
||||||
const {data} = await $.get("/platform/zgfw/lxy/common/getHdList")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
var getlxyHdCd = async () => {
|
|
||||||
const {data} = await $.get("/platform/zgfw/lxy/common/getlxyHdCd")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
var getNowLxyHd = async () => {
|
|
||||||
const {data} = await $.get("/platform/zgfw/lxy/common/getNowHdList")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取基层工会
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getUnionList = async (unionId) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/unionList", {unionId})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
var threeUnitsByUnionGroupOrUnitId = async (unitId, groupId) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/threeUnitsByUnionGroupOrUnitId", {
|
|
||||||
unitId,
|
|
||||||
groupId
|
|
||||||
})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
var unionGroupsByUnionId = async (unionId) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/unionGroupsByUnionId", {unionId})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取活动人员范围
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getActivityGroup = async () => {
|
|
||||||
const {data} = await $.get('/platform/activity/basic/scope/getActivityUserScopeGroup')
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 查看该人员是否在活动范围中
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getScopeUser = async (activityGroupId) => {
|
|
||||||
const {data} = await $.get('/platform/activity/basic/scope/getScopeUser', {activityGroupId})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据code查询活动项目下面的类型
|
|
||||||
* @param id
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getActivityTwoLevelType = async (code) => {
|
|
||||||
const {data} = await $.get("/platform/activity/basic/basic/settings/getActivityTwoLevelType", {code})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
//获取二级教代会(双代会)工作资料类型
|
|
||||||
var getJdh2Gzzllx = async () => {
|
|
||||||
const {data} = await $.get("/platform/jdh/Common/getJdh2Gzzllx")
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
var getLocationVariable = (variable) => {
|
|
||||||
var query = window.location.search.substring(1);
|
|
||||||
var vars = query.split("&");
|
|
||||||
for (let i = 0; i < vars.length; i++) {
|
|
||||||
var pair = vars[i].split("=");
|
|
||||||
if (pair[0] == variable) {
|
|
||||||
return pair[1];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
var getConfigKey = async (key) => {
|
|
||||||
const {data} = await $.get('/platform/inclusiveTherapyV3/common/getValue', {key})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据多个工会获取单位
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getUnitByUnions = async (unionId = null) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getUnitsByUnions", {unionId})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 多个单位或小组获取三级单位
|
|
||||||
* @param unitId
|
|
||||||
* @param groupId
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getThreeUnitsByUnionGroupsOrUnitIds = async (unitId, groupId) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getThreeUnitsByUnionGroupsOrUnitIds", {
|
|
||||||
unitId,
|
|
||||||
groupId
|
|
||||||
})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 多个工会获取工会小组
|
|
||||||
* @param unionId
|
|
||||||
* @returns {Promise<*>}
|
|
||||||
*/
|
|
||||||
var getUnionGroupsByUnions = async (unionId) => {
|
|
||||||
const {data} = await $.get("/platform/inclusiveTherapyV3/common/getUnionGroupsByUnions", {unionId})
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
/**
|
|
||||||
*Desc:
|
|
||||||
*Create by: jug
|
|
||||||
*Create time:2023/11/10/11:07
|
|
||||||
*/
|
|
||||||
<template>
|
|
||||||
<div class="el-descriptions">
|
|
||||||
<div class="el-descriptions__body">
|
|
||||||
<slot></slot>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
module.exports = {}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
.el-descriptions__table {
|
|
||||||
table-layout: fixed;
|
|
||||||
!important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-descriptions table {
|
|
||||||
table-layout: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-descriptions__body table {
|
|
||||||
border-collapse: collapse;
|
|
||||||
width: 100%;
|
|
||||||
table-layout: fixed;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-descriptions :not(.is-bordered) th, td {
|
|
||||||
padding-bottom: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-descriptions .is-bordered th, td {
|
|
||||||
border: 1px solid #ebeef5;
|
|
||||||
padding: 12px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-descriptions__body table th, td {
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
text-align: left;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-descriptions__body table th {
|
|
||||||
font-weight: 400;
|
|
||||||
color: #909399;
|
|
||||||
background: #fafafa;
|
|
||||||
border: 1px solid #ebeef5;
|
|
||||||
padding: 12px 10px;
|
|
||||||
min-width: 180px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-descriptions__body table td .el-form-item {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-descriptions__body table td .is-required .el-form-item__error {
|
|
||||||
background: #303133;
|
|
||||||
color: #fff;
|
|
||||||
position: absolute;
|
|
||||||
border-radius: 4px;
|
|
||||||
padding: 10px;
|
|
||||||
z-index: 2000;
|
|
||||||
font-size: 12px;
|
|
||||||
line-height: 1.2;
|
|
||||||
min-width: 10px;
|
|
||||||
word-wrap: break-word;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-descriptions .el-date-editor.el-input, .el-date-editor.el-input__inner {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
</style>
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div>
|
|
||||||
<div v-if="view">
|
|
||||||
<a v-for="file in files" :key="file.id || file.filepath" :href="file.downloadPath || file.filepath || preview(file.id)" target="_blank" style="display:block">{{ file.name || file.filename }}</a>
|
|
||||||
</div>
|
|
||||||
<el-upload v-else action="/platform/sys/file/uploadDynamicReturnUrl" name="file"
|
|
||||||
:limit="max" :multiple="max > 1" :file-list="fileList" :drag="card"
|
|
||||||
:before-upload="beforeUpload" :on-success="success" :on-error="error" :on-remove="remove" :on-preview="open">
|
|
||||||
<el-button size="small" type="primary">选择文件</el-button>
|
|
||||||
<div slot="tip"><slot></slot></div>
|
|
||||||
</el-upload>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
module.exports = {
|
|
||||||
props: {files: {type: Array, default: () => []}, view: Boolean, card: Boolean,
|
|
||||||
max: {type: Number, default: 10}, type: Array, max_size: Number},
|
|
||||||
data() { return {fileList: []}; },
|
|
||||||
watch: {files: {immediate: true, deep: true, handler(files) {
|
|
||||||
this.fileList = (files || []).map(file => ({name: file.name || file.filename, url: file.downloadPath || file.filepath || therapyPreview(file.id), rawInfo: file}));
|
|
||||||
}}},
|
|
||||||
methods: {
|
|
||||||
preview: therapyPreview,
|
|
||||||
beforeUpload(file) {
|
|
||||||
const suffix = file.name.split('.').pop().toLowerCase();
|
|
||||||
if (this.type && !this.type.includes(suffix)) { this.$message.warning('文件格式不符合要求'); return false; }
|
|
||||||
if (this.max_size && file.size > this.max_size) { this.$message.warning('文件大小超过限制'); return false; }
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
success(result, file, list) {
|
|
||||||
if (result.code !== 0) {
|
|
||||||
list.splice(list.indexOf(file), 1);
|
|
||||||
this.$message.error(result.msg); return;
|
|
||||||
}
|
|
||||||
if (typeof result.data !== 'string' || !result.data) {
|
|
||||||
list.splice(list.indexOf(file), 1);
|
|
||||||
this.$message.error('上传未返回文件地址'); return;
|
|
||||||
}
|
|
||||||
const id = new URL(result.data, window.location.origin).searchParams.get('id');
|
|
||||||
file.rawInfo = {id: id, name: file.name, filename: file.name,
|
|
||||||
downloadPath: result.data, filepath: result.data, url: result.data};
|
|
||||||
file.url = result.data;
|
|
||||||
this.emit(list);
|
|
||||||
},
|
|
||||||
error() { this.$message.error('文件上传失败,请重试'); },
|
|
||||||
remove(file, list) { this.emit(list); },
|
|
||||||
emit(list) {
|
|
||||||
this.$emit('update:files', list.map(file => file.rawInfo || file.response && file.response.data).filter(Boolean));
|
|
||||||
},
|
|
||||||
open(file) { window.open(file.url || file.rawInfo && (file.rawInfo.downloadPath || file.rawInfo.filepath)); }
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
@@ -1,150 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="guava-main-content">
|
|
||||||
<div v-show="v==='index'" key="index" class="transition-item">
|
|
||||||
<slot></slot>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<el-card v-show="v==='edit'" key="edit" shadow="never" class="animated-card">
|
|
||||||
<template #header>
|
|
||||||
<el-row type="flex">
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-button icon="el-icon-back" style="font-size: 16px; padding: 0" type="text" @click="v='index'">返回</el-button>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12" class="text-right">
|
|
||||||
<slot name="edit_func"></slot>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</template>
|
|
||||||
<div :class="{'card_scroll':edit_scroll}">
|
|
||||||
<slot name="edit"></slot>
|
|
||||||
</div>
|
|
||||||
</el-card>
|
|
||||||
|
|
||||||
<el-card v-show="v==='view'" key="view" shadow="never" class="animated-card">
|
|
||||||
<template #header>
|
|
||||||
<el-button icon="el-icon-back" style="font-size: 16px; padding: 0" type="text" @click="v='index'">返回</el-button>
|
|
||||||
</template>
|
|
||||||
<div :class="{'card_scroll':edit_scroll}">
|
|
||||||
<slot name="view"></slot>
|
|
||||||
</div>
|
|
||||||
</el-card>
|
|
||||||
|
|
||||||
<el-card v-show="v==='public'" key="public" shadow="never" class="animated-card">
|
|
||||||
<div slot="header" class="clearfix">
|
|
||||||
<el-button icon="el-icon-back" style="font-size: 16px; padding: 0" type="text" @click="back()">返回
|
|
||||||
</el-button>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<slot name="public"></slot>
|
|
||||||
</div>
|
|
||||||
</el-card>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
module.exports = {
|
|
||||||
props: {
|
|
||||||
value: {
|
|
||||||
type: String,
|
|
||||||
default: 'index'
|
|
||||||
},
|
|
||||||
//为true的时候页面不会滚动 card-body滚动 edit view 自己来控制
|
|
||||||
edit_scroll: {
|
|
||||||
type: Boolean,
|
|
||||||
default: true
|
|
||||||
},
|
|
||||||
view_scroll: {
|
|
||||||
type: Boolean,
|
|
||||||
default: true
|
|
||||||
},
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
v: 'index',
|
|
||||||
}
|
|
||||||
},
|
|
||||||
watch: {
|
|
||||||
v(newValue, oldValue) {
|
|
||||||
this.$emit('vchange', {newValue, oldValue})
|
|
||||||
this.$emit('input', newValue)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
index() {
|
|
||||||
this.v = 'index'
|
|
||||||
},
|
|
||||||
edit() {
|
|
||||||
this.v = 'edit'
|
|
||||||
},
|
|
||||||
view() {
|
|
||||||
this.v = 'view'
|
|
||||||
},
|
|
||||||
public() {
|
|
||||||
this.v = 'public'
|
|
||||||
},
|
|
||||||
back() {
|
|
||||||
this.v = 'index'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
|
|
||||||
.guava-main-content {
|
|
||||||
padding: 0;
|
|
||||||
background-color: #f6f6f6;
|
|
||||||
min-height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.animated-card {
|
|
||||||
animation-name: cardAnimation;
|
|
||||||
animation-duration: .5s;
|
|
||||||
animation-fill-mode: both;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes cardAnimation {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateY(-50px);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.guava-main-content > .animated-card > .el-card__header {
|
|
||||||
padding: 12px 24px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.guava-main-content > .animated-card > .el-card__body {
|
|
||||||
padding: 20px 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-tabs--border-card {
|
|
||||||
box-shadow: unset !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card_scroll {
|
|
||||||
max-height: calc(100vh - 50px - 20px - 54px - 40px - 5px);
|
|
||||||
overflow-y: scroll;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card_scroll {
|
|
||||||
overflow: scroll;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card_scroll::-webkit-scrollbar {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card_scroll::-webkit-scrollbar-vertical {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card_scroll::-webkit-scrollbar-horizontal {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
<template>
|
|
||||||
<el-upload action="/platform/sys/file/uploadDynamicReturnUrl" name="file" list-type="picture-card"
|
|
||||||
:file-list="fileList" :limit="limit" :before-upload="beforeUpload"
|
|
||||||
:on-success="success" :on-error="error" :on-exceed="exceed" :on-remove="remove" :on-preview="open"
|
|
||||||
:style="{'--therapy-width': width + 'px', '--therapy-height': height + 'px'}">
|
|
||||||
<i class="el-icon-plus"></i>
|
|
||||||
</el-upload>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
module.exports = {
|
|
||||||
props: {value: {type: [String, Array], default: ''}, limit: {type: Number, default: 1},
|
|
||||||
width: {type: Number, default: 100}, height: {type: Number, default: 100}, fileType: Array, fileSize: Number},
|
|
||||||
data() { return {fileList: []}; },
|
|
||||||
watch: {value: {immediate: true, deep: true, handler(values) {
|
|
||||||
const items = Array.isArray(values) ? values : values ? [values] : [];
|
|
||||||
this.fileList = items.map((value, index) => ({name: '图片' + (index + 1), url: therapyPreview(value), storedValue: value}));
|
|
||||||
}}},
|
|
||||||
methods: {
|
|
||||||
beforeUpload(file) {
|
|
||||||
if (this.fileType && !this.fileType.includes(file.name.split('.').pop().toLowerCase())) {
|
|
||||||
this.$message.warning('图片格式不符合要求'); return false;
|
|
||||||
}
|
|
||||||
if (this.fileSize && file.size > this.fileSize * 1024 * 1024) {
|
|
||||||
this.$message.warning('图片大小超过限制'); return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
success(result, file, list) {
|
|
||||||
if (result.code !== 0) {
|
|
||||||
list.splice(list.indexOf(file), 1);
|
|
||||||
this.$message.error(result.msg); return;
|
|
||||||
}
|
|
||||||
if (typeof result.data !== 'string' || !result.data) {
|
|
||||||
list.splice(list.indexOf(file), 1);
|
|
||||||
this.$message.error('上传未返回图片地址'); return;
|
|
||||||
}
|
|
||||||
file.url = result.data;
|
|
||||||
file.storedValue = result.data;
|
|
||||||
this.emit(list);
|
|
||||||
},
|
|
||||||
error() { this.$message.error('图片上传失败,请重试'); },
|
|
||||||
exceed() { this.$message.warning('最多上传' + this.limit + '张图片'); },
|
|
||||||
remove(file, list) { this.emit(list); },
|
|
||||||
emit(list) {
|
|
||||||
const values = list.map(file => file.storedValue).filter(Boolean);
|
|
||||||
this.$emit('input', Array.isArray(this.value) ? values : values[0] || '');
|
|
||||||
},
|
|
||||||
open(file) {
|
|
||||||
const img = new Image();
|
|
||||||
img.src = file.url;
|
|
||||||
const viewer = new Viewer(img, {hidden() { viewer.destroy(); }});
|
|
||||||
viewer.show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
<style scoped>
|
|
||||||
.el-upload-list--picture-card .el-upload-list__item, .el-upload--picture-card {
|
|
||||||
width: var(--therapy-width); height: var(--therapy-height); line-height: var(--therapy-height);
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
-50
@@ -1,50 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="card">
|
|
||||||
<div class="card-header" v-if="$slots.header">
|
|
||||||
<slot name="header"></slot>
|
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
|
||||||
<slot></slot>
|
|
||||||
</div>
|
|
||||||
<div class="card-footer" v-if="$slots.footer">
|
|
||||||
<slot name="footer"></slot>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
module.exports = {
|
|
||||||
name: "MCard"
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
.card {
|
|
||||||
border: none;
|
|
||||||
border-radius: .5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-header {
|
|
||||||
border-bottom:1px dashed rgba(0,0,0,.125);
|
|
||||||
font-size: 1.15rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-header:first-child {
|
|
||||||
border-radius: calc(.5rem - 1px) calc(.5rem - 1px) 0 0
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-body>.van-cell{
|
|
||||||
padding: 5px 0;
|
|
||||||
}
|
|
||||||
.card-body{
|
|
||||||
padding-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.card-header, .card-footer {
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</style>
|
|
||||||
-89
@@ -1,89 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="loader"></div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
module.exports = {
|
|
||||||
name: "MLoading"
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
.loader {
|
|
||||||
z-index: 10000;
|
|
||||||
position: relative;
|
|
||||||
width: 2.5em;
|
|
||||||
height: 2.5em;
|
|
||||||
transform: rotate(165deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.loader:before, .loader:after {
|
|
||||||
content: "";
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
display: block;
|
|
||||||
width: 0.5em;
|
|
||||||
height: 0.5em;
|
|
||||||
border-radius: 0.25em;
|
|
||||||
transform: translate(-50%, -50%);
|
|
||||||
}
|
|
||||||
|
|
||||||
.loader:before {
|
|
||||||
animation: before 2s infinite;
|
|
||||||
}
|
|
||||||
|
|
||||||
.loader:after {
|
|
||||||
animation: after 2s infinite;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes before {
|
|
||||||
0% {
|
|
||||||
width: 0.5em;
|
|
||||||
box-shadow: 1em -0.5em rgba(225, 20, 98, 0.75), -1em 0.5em rgba(111, 202, 220, 0.75);
|
|
||||||
}
|
|
||||||
35% {
|
|
||||||
width: 2.5em;
|
|
||||||
box-shadow: 0 -0.5em rgba(225, 20, 98, 0.75), 0 0.5em rgba(111, 202, 220, 0.75);
|
|
||||||
}
|
|
||||||
70% {
|
|
||||||
width: 0.5em;
|
|
||||||
box-shadow: -1em -0.5em rgba(225, 20, 98, 0.75), 1em 0.5em rgba(111, 202, 220, 0.75);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
box-shadow: 1em -0.5em rgba(225, 20, 98, 0.75), -1em 0.5em rgba(111, 202, 220, 0.75);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes after {
|
|
||||||
0% {
|
|
||||||
height: 0.5em;
|
|
||||||
box-shadow: 0.5em 1em rgba(61, 184, 143, 0.75), -0.5em -1em rgba(233, 169, 32, 0.75);
|
|
||||||
}
|
|
||||||
35% {
|
|
||||||
height: 2.5em;
|
|
||||||
box-shadow: 0.5em 0 rgba(61, 184, 143, 0.75), -0.5em 0 rgba(233, 169, 32, 0.75);
|
|
||||||
}
|
|
||||||
70% {
|
|
||||||
height: 0.5em;
|
|
||||||
box-shadow: 0.5em -1em rgba(61, 184, 143, 0.75), -0.5em 1em rgba(233, 169, 32, 0.75);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
box-shadow: 0.5em 1em rgba(61, 184, 143, 0.75), -0.5em -1em rgba(233, 169, 32, 0.75);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Attempt to center the whole thing!
|
|
||||||
*/
|
|
||||||
html,
|
|
||||||
body {
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.loader {
|
|
||||||
position: absolute;
|
|
||||||
top: calc(50% - 1.25em);
|
|
||||||
left: calc(50% - 1.25em);
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
-140
@@ -1,140 +0,0 @@
|
|||||||
<template>
|
|
||||||
<figure>
|
|
||||||
<div class="dot white"></div>
|
|
||||||
<div class="dot"></div>
|
|
||||||
<div class="dot"></div>
|
|
||||||
<div class="dot"></div>
|
|
||||||
<div class="dot"></div>
|
|
||||||
</figure>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
module.exports = {
|
|
||||||
name: "MTableLoading"
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
body {
|
|
||||||
background: #222;
|
|
||||||
}
|
|
||||||
|
|
||||||
figure {
|
|
||||||
position: absolute;
|
|
||||||
margin: auto;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
width: 6.250em;
|
|
||||||
height: 6.250em;
|
|
||||||
animation: rotate 2.4s linear infinite;
|
|
||||||
}
|
|
||||||
|
|
||||||
.white {
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
background: white;
|
|
||||||
animation: flash 2.4s linear infinite;
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dot {
|
|
||||||
position: absolute;
|
|
||||||
margin: auto;
|
|
||||||
width: 2.4em;
|
|
||||||
height: 2.4em;
|
|
||||||
border-radius: 100%;
|
|
||||||
transition: all 1s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dot:nth-child(2) {
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
background: #FF4444;
|
|
||||||
animation: dotsY 2.4s linear infinite;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dot:nth-child(3) {
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
background: #FFBB33;
|
|
||||||
animation: dotsX 2.4s linear infinite;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dot:nth-child(4) {
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
right: 0;
|
|
||||||
background: #99CC00;
|
|
||||||
animation: dotsY 2.4s linear infinite;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dot:nth-child(5) {
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
background: #33B5E5;
|
|
||||||
animation: dotsX 2.4s linear infinite;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes rotate {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0);
|
|
||||||
}
|
|
||||||
10% {
|
|
||||||
width: 6.250em;
|
|
||||||
height: 6.250em;
|
|
||||||
}
|
|
||||||
66% {
|
|
||||||
width: 2.4em;
|
|
||||||
height: 2.4em;
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(360deg);
|
|
||||||
width: 6.250em;
|
|
||||||
height: 6.250em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes dotsY {
|
|
||||||
66% {
|
|
||||||
opacity: .1;
|
|
||||||
width: 2.4em;
|
|
||||||
}
|
|
||||||
77% {
|
|
||||||
opacity: 1;
|
|
||||||
width: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes dotsX {
|
|
||||||
66% {
|
|
||||||
opacity: .1;
|
|
||||||
height: 2.4em;
|
|
||||||
}
|
|
||||||
77% {
|
|
||||||
opacity: 1;
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes flash {
|
|
||||||
33% {
|
|
||||||
opacity: 0;
|
|
||||||
border-radius: 0%;
|
|
||||||
}
|
|
||||||
55% {
|
|
||||||
opacity: .6;
|
|
||||||
border-radius: 100%;
|
|
||||||
}
|
|
||||||
66% {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
-680
@@ -1,680 +0,0 @@
|
|||||||
<template>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<van-uploader v-model="fileList" multiple
|
|
||||||
:after-read="afterRead"
|
|
||||||
@delete="doDelete"
|
|
||||||
:max-count="max"
|
|
||||||
:show-upload="!view"
|
|
||||||
:deletable="!view"
|
|
||||||
:max-size="max_size"
|
|
||||||
:preview-options="{closeable:true}"
|
|
||||||
@oversize="onOversize"
|
|
||||||
@click-preview="clickPreview"
|
|
||||||
:before-read="beforeRead"
|
|
||||||
>
|
|
||||||
</van-uploader>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</template>
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件类型解析
|
|
||||||
* @type {{isImg: wpUploadFileTypeResolve.isImg}}
|
|
||||||
*/
|
|
||||||
let fileTypeResolving = {
|
|
||||||
/**
|
|
||||||
* 是否是一张图片
|
|
||||||
*/
|
|
||||||
isImg: function (fileItem) {
|
|
||||||
return fileTypeResolving.resolvingByType(fileItem.type, /image\/(\w)*/)
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 通过后缀验证图片
|
|
||||||
*/
|
|
||||||
isImgByName: function (fileItemName) {
|
|
||||||
let checkSuffixArray = ['jpg', 'png', 'jpeg', 'bmp', 'gif', 'webp', 'tif', 'svg', 'wmf'];
|
|
||||||
return fileTypeResolving.resolvingByName(fileItemName, checkSuffixArray)
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 是否是视频
|
|
||||||
*/
|
|
||||||
isVideo: function (fileItem) {
|
|
||||||
return fileTypeResolving.resolvingByType(fileItem.type, /video\/(\w)*/)
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 通过后缀验证图片
|
|
||||||
*/
|
|
||||||
isVideoByName: function (fileItemName) {
|
|
||||||
let checkSuffixArray = ['mp4', 'Ogg', 'webm'];
|
|
||||||
return fileTypeResolving.resolvingByName(fileItemName, checkSuffixArray)
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 是否是音频
|
|
||||||
*/
|
|
||||||
isAudio: function (fileItem) {
|
|
||||||
return fileTypeResolving.resolvingByType(fileItem.type, /audio\/(\w)*/)
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 通过后缀验证图片
|
|
||||||
*/
|
|
||||||
isAudioByName: function (fileItemName) {
|
|
||||||
let checkSuffixArray = ['mp3', 'ogg', 'wav'];
|
|
||||||
return fileTypeResolving.resolvingByName(fileItemName, checkSuffixArray)
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否是doc文件
|
|
||||||
*/
|
|
||||||
isDoc: function (fileItemName) {
|
|
||||||
let checkSuffixArray = ['doc', 'docx', 'dot', 'dotx'];
|
|
||||||
return fileTypeResolving.resolvingByName(fileItemName, checkSuffixArray);
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 是否是excel文件
|
|
||||||
*/
|
|
||||||
isExcel: function (fileItemName) {
|
|
||||||
let checkSuffixArray = ['xls', 'xlsx', 'csv', 'xlt', 'xltx'];
|
|
||||||
return fileTypeResolving.resolvingByName(fileItemName, checkSuffixArray);
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 是否是PPT文件
|
|
||||||
*/
|
|
||||||
isPPT: function (fileItemName) {
|
|
||||||
let checkSuffixArray = ['ppt', 'pptx', 'pot', 'potx', 'odp'];
|
|
||||||
return fileTypeResolving.resolvingByName(fileItemName, checkSuffixArray);
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 是否是Pdf文件
|
|
||||||
*/
|
|
||||||
isPdf: function (fileItemName) {
|
|
||||||
let checkSuffixArray = ['pdf'];
|
|
||||||
return fileTypeResolving.resolvingByName(fileItemName, checkSuffixArray);
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 是否是压缩文件
|
|
||||||
* @param fileItem
|
|
||||||
* @returns {boolean}
|
|
||||||
*/
|
|
||||||
isZip: function (fileItemName) {
|
|
||||||
let checkSuffixArray = ['zip', '7z', 'war', 'tar', 'rar', 'jar', 'zipx', 'zix', 'zoo'];
|
|
||||||
return fileTypeResolving.resolvingByName(fileItemName, checkSuffixArray);
|
|
||||||
},
|
|
||||||
isWeb: function (fileItemName) {
|
|
||||||
let checkSuffixArray = ['html', 'htm'];
|
|
||||||
return fileTypeResolving.resolvingByName(fileItemName, checkSuffixArray);
|
|
||||||
},
|
|
||||||
isTxt: function (fileItemName) {
|
|
||||||
let checkSuffixArray = ['txt'];
|
|
||||||
return fileTypeResolving.resolvingByName(fileItemName, checkSuffixArray);
|
|
||||||
},
|
|
||||||
isPsd: function (fileItemName) {
|
|
||||||
let checkSuffixArray = ['psd'];
|
|
||||||
return fileTypeResolving.resolvingByName(fileItemName, checkSuffixArray);
|
|
||||||
},
|
|
||||||
isCad: function (fileItemName) {
|
|
||||||
let checkSuffixArray = ['cad'];
|
|
||||||
return fileTypeResolving.resolvingByName(fileItemName, checkSuffixArray);
|
|
||||||
},
|
|
||||||
isIso: function (fileItemName) {
|
|
||||||
let checkSuffixArray = ['iso'];
|
|
||||||
return fileTypeResolving.resolvingByName(fileItemName, checkSuffixArray);
|
|
||||||
},
|
|
||||||
isExe: function (fileItemName) {
|
|
||||||
let checkSuffixArray = ['exe'];
|
|
||||||
return fileTypeResolving.resolvingByName(fileItemName, checkSuffixArray);
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 根据文件类型来解析
|
|
||||||
* @param fileType 文件类型
|
|
||||||
* @param checkTypeModel 文件类型模型,如:image\/(\w)*
|
|
||||||
* @returns {boolean}
|
|
||||||
*/
|
|
||||||
resolvingByType: function (fileType, checkTypeModel) {
|
|
||||||
if (checkTypeModel.test(fileType)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 根据名字和名字后缀名来验证文件
|
|
||||||
* @param fileName 文件名
|
|
||||||
* @param checkSuffixArray 文件类型包含的后缀
|
|
||||||
*/
|
|
||||||
resolvingByName: function (fileName, checkSuffixArray) {
|
|
||||||
let suffixName = wpUploadFileTools.getSuffixNameByFileName(fileName);
|
|
||||||
// 名字是否有效
|
|
||||||
if (!wpUploadDataValid.isValidStr(suffixName)) {
|
|
||||||
// 无效直接返回false
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
suffixName = suffixName.trim();
|
|
||||||
suffixName = suffixName.toLowerCase();
|
|
||||||
if (checkSuffixArray.indexOf(suffixName) != -1) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件工具
|
|
||||||
* @type {{}}
|
|
||||||
*/
|
|
||||||
let wpUploadFileTools = {
|
|
||||||
/**
|
|
||||||
* 获取文件显示模版
|
|
||||||
* @param fileItem
|
|
||||||
*/
|
|
||||||
wapFileItemShow: function (fileItem) {
|
|
||||||
return wpUploadFileTools.wapFileItemShowBase(fileItem, false);
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 包装已上传的文件列表
|
|
||||||
*/
|
|
||||||
wapFileItemShowWithUpload(uploadFile) {
|
|
||||||
return wpUploadFileTools.wapFileItemShowBase(uploadFile, true);
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 获取文件显示的基本操作
|
|
||||||
*/
|
|
||||||
wapFileItemShowBase(fileItem, isUploaded = false) {
|
|
||||||
let fileName = "";
|
|
||||||
let suffix = "";
|
|
||||||
let show = "";
|
|
||||||
let showIcon = "";
|
|
||||||
if (!isUploaded) {
|
|
||||||
fileName = fileItem.name;
|
|
||||||
suffix = wpUploadFileTools.getSuffixNameByFileName(fileName);
|
|
||||||
show = wpUploadFileTools.resolvingShow(fileItem);
|
|
||||||
showIcon = wpUploadFileShowResolving.getFileItemShowIcon(show, fileItem, false);
|
|
||||||
} else {
|
|
||||||
fileName = fileItem.name ? fileItem.name : wpUploadFileTools.resolvingUrlFileName(fileItem.url);
|
|
||||||
let fileNameGetOFuRL = wpUploadFileTools.resolvingUrlFileName(fileItem.url);
|
|
||||||
suffix = wpUploadFileTools.getSuffixNameByFileName(fileNameGetOFuRL);
|
|
||||||
show = wpUploadFileTools.resolvingShowByFileName(fileNameGetOFuRL);
|
|
||||||
showIcon = wpUploadFileShowResolving.getFileItemShowIcon(show, fileItem.url, true);
|
|
||||||
}
|
|
||||||
let fileItemShow = {
|
|
||||||
// 文件的id
|
|
||||||
id: wpUploadFileTools.uuid(),
|
|
||||||
// 文件对象
|
|
||||||
file: null,
|
|
||||||
// 文件的类型
|
|
||||||
type: null,
|
|
||||||
// 文件的大小
|
|
||||||
size: null,
|
|
||||||
// 文件的名字
|
|
||||||
name: fileName,
|
|
||||||
// 文件地址
|
|
||||||
url: null,
|
|
||||||
// 后缀
|
|
||||||
suffix: suffix,
|
|
||||||
// 显示的类型
|
|
||||||
show: show,
|
|
||||||
// 显示的图标或者图片地址
|
|
||||||
showIcon: showIcon,
|
|
||||||
// 显示进度条
|
|
||||||
processStatus: {
|
|
||||||
show: false,
|
|
||||||
width: 0,
|
|
||||||
isFail: false
|
|
||||||
},
|
|
||||||
// 文件来源,0选择文件上传,1回显文件
|
|
||||||
fileSource: 0,
|
|
||||||
// 状态0未上传,失败也会转到0,1正在上传,2已经上传
|
|
||||||
status: 0,
|
|
||||||
// 上传文件的描述
|
|
||||||
fileDes: null
|
|
||||||
}
|
|
||||||
if (!isUploaded) {
|
|
||||||
// 如果非选择文件下面三个属性为null
|
|
||||||
fileItemShow.file = fileItem;
|
|
||||||
fileItemShow.type = fileItem.type;
|
|
||||||
fileItemShow.size = fileItem.size;
|
|
||||||
} else {
|
|
||||||
// 文件描述
|
|
||||||
fileItemShow.status = 2;
|
|
||||||
fileItemShow.fileDes = fileItem;
|
|
||||||
fileItemShow.fileSource = 1;
|
|
||||||
fileItemShow.url = fileItem.url;
|
|
||||||
}
|
|
||||||
return fileItemShow;
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 解析URL的文件名字
|
|
||||||
*/
|
|
||||||
resolvingUrlFileName: function (fileUrl) {
|
|
||||||
let index = fileUrl.lastIndexOf("/");
|
|
||||||
if (index <= 0) {
|
|
||||||
index = fileUrl.lastIndexOf("\\");
|
|
||||||
}
|
|
||||||
index = index + 1;
|
|
||||||
let fileName = fileUrl.substring(index, fileUrl.length);
|
|
||||||
return fileName;
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 获取文件名后缀
|
|
||||||
* @param fileName 文件名全名
|
|
||||||
* */
|
|
||||||
getSuffixNameByFileName: function (fileName) {
|
|
||||||
let str = fileName;
|
|
||||||
let index = str.lastIndexOf(".");
|
|
||||||
if (index < 0) {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
let pos = index + 1;
|
|
||||||
return str.substring(pos, str.length);
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 解析显示类型
|
|
||||||
* @param fileItem 文件
|
|
||||||
* @returns {number}
|
|
||||||
*/
|
|
||||||
resolvingShow: function (fileItem) {
|
|
||||||
// 默认0普通文件
|
|
||||||
let showResult = 0;
|
|
||||||
if (wpUploadFileTypeResolving.isImg(fileItem)) {
|
|
||||||
showResult = 1;
|
|
||||||
} else if (wpUploadFileTypeResolving.isVideo(fileItem)) {
|
|
||||||
showResult = 2;
|
|
||||||
} else if (wpUploadFileTypeResolving.isAudio(fileItem)) {
|
|
||||||
showResult = 3;
|
|
||||||
} else if (wpUploadFileTypeResolving.isDoc(fileItem.name)) {
|
|
||||||
showResult = 4;
|
|
||||||
} else if (wpUploadFileTypeResolving.isExcel(fileItem.name)) {
|
|
||||||
showResult = 5;
|
|
||||||
} else if (wpUploadFileTypeResolving.isPPT(fileItem.name)) {
|
|
||||||
showResult = 6;
|
|
||||||
} else if (wpUploadFileTypeResolving.isPdf(fileItem.name)) {
|
|
||||||
showResult = 7;
|
|
||||||
} else if (wpUploadFileTypeResolving.isZip(fileItem.name)) {
|
|
||||||
showResult = 8;
|
|
||||||
} else if (wpUploadFileTypeResolving.isWeb(fileItem.name)) {
|
|
||||||
showResult = 9;
|
|
||||||
} else if (wpUploadFileTypeResolving.isTxt(fileItem.name)) {
|
|
||||||
showResult = 10;
|
|
||||||
} else if (wpUploadFileTypeResolving.isPsd(fileItem.name)) {
|
|
||||||
showResult = 11;
|
|
||||||
} else if (wpUploadFileTypeResolving.isCad(fileItem.name)) {
|
|
||||||
showResult = 12;
|
|
||||||
} else if (wpUploadFileTypeResolving.isIso(fileItem.name)) {
|
|
||||||
showResult = 13;
|
|
||||||
} else if (wpUploadFileTypeResolving.isExe(fileItem.name)) {
|
|
||||||
showResult = 14;
|
|
||||||
}
|
|
||||||
return showResult
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 解析显示类型
|
|
||||||
* @param fileItem 文件
|
|
||||||
* @returns {number}
|
|
||||||
*/
|
|
||||||
resolvingShowByFileName: function (fileItemName) {
|
|
||||||
// 默认0普通文件
|
|
||||||
let showResult = 0;
|
|
||||||
if (wpUploadFileTypeResolving.isImgByName(fileItemName)) {
|
|
||||||
showResult = 1;
|
|
||||||
} else if (wpUploadFileTypeResolving.isVideoByName(fileItemName)) {
|
|
||||||
showResult = 2;
|
|
||||||
} else if (wpUploadFileTypeResolving.isAudioByName(fileItemName)) {
|
|
||||||
showResult = 3;
|
|
||||||
} else if (wpUploadFileTypeResolving.isDoc(fileItemName)) {
|
|
||||||
showResult = 4;
|
|
||||||
} else if (wpUploadFileTypeResolving.isExcel(fileItemName)) {
|
|
||||||
showResult = 5;
|
|
||||||
} else if (wpUploadFileTypeResolving.isPPT(fileItemName)) {
|
|
||||||
showResult = 6;
|
|
||||||
} else if (wpUploadFileTypeResolving.isPdf(fileItemName)) {
|
|
||||||
showResult = 7;
|
|
||||||
} else if (wpUploadFileTypeResolving.isZip(fileItemName)) {
|
|
||||||
showResult = 8;
|
|
||||||
} else if (wpUploadFileTypeResolving.isWeb(fileItemName)) {
|
|
||||||
showResult = 9;
|
|
||||||
} else if (wpUploadFileTypeResolving.isTxt(fileItemName)) {
|
|
||||||
showResult = 10;
|
|
||||||
} else if (wpUploadFileTypeResolving.isPsd(fileItemName)) {
|
|
||||||
showResult = 11;
|
|
||||||
} else if (wpUploadFileTypeResolving.isCad(fileItemName)) {
|
|
||||||
showResult = 12;
|
|
||||||
} else if (wpUploadFileTypeResolving.isIso(fileItemName)) {
|
|
||||||
showResult = 13;
|
|
||||||
} else if (wpUploadFileTypeResolving.isExe(fileItemName)) {
|
|
||||||
showResult = 14;
|
|
||||||
}
|
|
||||||
return showResult
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 生成UUID
|
|
||||||
* @returns {string}
|
|
||||||
*/
|
|
||||||
uuid: function () {
|
|
||||||
let str = wpUploadFileTools.uuidFull();
|
|
||||||
str = str.replace(/-/g, "");
|
|
||||||
return str;
|
|
||||||
},
|
|
||||||
uuidFull() {
|
|
||||||
let s = []
|
|
||||||
let hexDigits = "0123456789abcdef"
|
|
||||||
for (var i = 0; i < 36; i++) {
|
|
||||||
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)
|
|
||||||
}
|
|
||||||
s[14] = "4"
|
|
||||||
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1)
|
|
||||||
s[8] = s[13] = s[18] = s[23] = "-"
|
|
||||||
let uuid = s.join("")
|
|
||||||
return uuid
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 禁止某个dom的某个事件
|
|
||||||
*/
|
|
||||||
disableObjEvent(domObj, eventName) {
|
|
||||||
domObj.addEventListener(eventName, function (e) {
|
|
||||||
e.preventDefault();
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 数据验证工具
|
|
||||||
* @type {{isValid: wpUploadDataValid.isValid}}
|
|
||||||
*/
|
|
||||||
let wpUploadDataValid = {
|
|
||||||
isValid: function (obj) {
|
|
||||||
if (undefined === obj || null === obj) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
isValidStr: function (str) {
|
|
||||||
let isValidObj = wpUploadDataValid.isValid(str);
|
|
||||||
if (!isValidObj) {
|
|
||||||
return isValidObj;
|
|
||||||
}
|
|
||||||
str = str.trim();
|
|
||||||
if ("" == str || '' == str) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
isValidArray(array) {
|
|
||||||
if (null == array || array == undefined || array.length <= 0) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
props: {
|
|
||||||
files: Array,
|
|
||||||
type: {
|
|
||||||
type: Array,
|
|
||||||
default: ['jpg', 'jpeg', 'png', 'doc', 'docx', 'xls', 'xlsx', 'pdf']
|
|
||||||
},
|
|
||||||
max: {
|
|
||||||
type: Number,
|
|
||||||
default: 10
|
|
||||||
},
|
|
||||||
max_size: {
|
|
||||||
type: Number,
|
|
||||||
default: 100 * 1024 * 1024
|
|
||||||
},
|
|
||||||
view: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
},
|
|
||||||
del: {
|
|
||||||
type: Boolean,
|
|
||||||
default: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
fileList: []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
watch: {
|
|
||||||
files(val) {
|
|
||||||
this.updateFileList(val)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
// 返回布尔值
|
|
||||||
beforeRead(file) {
|
|
||||||
if (Array.isArray(file)) return file.every(item => this.beforeRead(item));
|
|
||||||
const lastIndexOf = file.name.lastIndexOf(".")
|
|
||||||
const type = this.type.map(v => v.toLowerCase()).includes(file.name.substr(lastIndexOf + 1).toLowerCase())
|
|
||||||
if (!type) {
|
|
||||||
this.$toast(`上传文件只能是 ${this.type.map(v => v.toLowerCase()).join("/")} 格式!`);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
getAccept() {
|
|
||||||
return this.type.map(v => '.' + v).join(",")
|
|
||||||
},
|
|
||||||
onOversize() {
|
|
||||||
this.$toast(`上传文件大小不能超过 ${this.max_size / 1024 / 1024} MB!`);
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 查看资源
|
|
||||||
*/
|
|
||||||
showSource(showItem) {
|
|
||||||
const show = this.resolvingShowByFileName(showItem.name || showItem.filename || '')
|
|
||||||
if (show == 1 || show == 2 || show == 3) {
|
|
||||||
window.open(showItem.downloadPath || showItem.filepath || therapyPreview(showItem.id));
|
|
||||||
} else if (show == 4 || show == 5 || show == 7) {
|
|
||||||
preview(showItem.name || showItem.filename, showItem.id)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 解析显示类型
|
|
||||||
* @param fileItem 文件
|
|
||||||
* @returns {number}
|
|
||||||
*/
|
|
||||||
resolvingShowByFileName(fileItemName) {
|
|
||||||
// 默认0普通文件
|
|
||||||
let showResult = 0;
|
|
||||||
if (fileTypeResolving.isImgByName(fileItemName)) {
|
|
||||||
showResult = 1;
|
|
||||||
} else if (fileTypeResolving.isVideoByName(fileItemName)) {
|
|
||||||
showResult = 2;
|
|
||||||
} else if (fileTypeResolving.isAudioByName(fileItemName)) {
|
|
||||||
showResult = 3;
|
|
||||||
} else if (fileTypeResolving.isDoc(fileItemName)) {
|
|
||||||
showResult = 4;
|
|
||||||
} else if (fileTypeResolving.isExcel(fileItemName)) {
|
|
||||||
showResult = 5;
|
|
||||||
} else if (fileTypeResolving.isPPT(fileItemName)) {
|
|
||||||
showResult = 6;
|
|
||||||
} else if (fileTypeResolving.isPdf(fileItemName)) {
|
|
||||||
showResult = 7;
|
|
||||||
} else if (fileTypeResolving.isZip(fileItemName)) {
|
|
||||||
showResult = 8;
|
|
||||||
} else if (fileTypeResolving.isWeb(fileItemName)) {
|
|
||||||
showResult = 9;
|
|
||||||
} else if (fileTypeResolving.isTxt(fileItemName)) {
|
|
||||||
showResult = 10;
|
|
||||||
} else if (fileTypeResolving.isPsd(fileItemName)) {
|
|
||||||
showResult = 11;
|
|
||||||
} else if (fileTypeResolving.isCad(fileItemName)) {
|
|
||||||
showResult = 12;
|
|
||||||
} else if (fileTypeResolving.isIso(fileItemName)) {
|
|
||||||
showResult = 13;
|
|
||||||
} else if (fileTypeResolving.isExe(fileItemName)) {
|
|
||||||
showResult = 14;
|
|
||||||
}
|
|
||||||
return showResult
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 获取文件显示图标
|
|
||||||
* @param filePath
|
|
||||||
* @returns {string}
|
|
||||||
*/
|
|
||||||
getFileItemShowIcon(filePath) {
|
|
||||||
let showIcon = '';
|
|
||||||
switch (this.resolvingShowByFileName(filePath)) {
|
|
||||||
case 0:
|
|
||||||
showIcon = "#icon-yunpanlogo-3";
|
|
||||||
break;
|
|
||||||
// 图片
|
|
||||||
case 1:
|
|
||||||
showIcon = this.getImgShowIcon(filePath);
|
|
||||||
break;
|
|
||||||
// 视频
|
|
||||||
case 2:
|
|
||||||
showIcon = "#icon-yunpanlogo-6";
|
|
||||||
break;
|
|
||||||
// 音乐
|
|
||||||
case 3:
|
|
||||||
showIcon = "#icon-yunpanlogo-4";
|
|
||||||
break;
|
|
||||||
// doc
|
|
||||||
case 4:
|
|
||||||
showIcon = "#icon-yunpanlogo-2";
|
|
||||||
break;
|
|
||||||
// excel
|
|
||||||
case 5:
|
|
||||||
showIcon = "#icon-yunpanlogo-";
|
|
||||||
break;
|
|
||||||
// ppt
|
|
||||||
case 6:
|
|
||||||
showIcon = "#icon-yunpanlogo-1";
|
|
||||||
break;
|
|
||||||
// pdf
|
|
||||||
case 7:
|
|
||||||
showIcon = "#icon-yunpanlogo-12";
|
|
||||||
break;
|
|
||||||
// zip
|
|
||||||
case 8:
|
|
||||||
showIcon = "#icon-yasuobao";
|
|
||||||
break;
|
|
||||||
// web文件
|
|
||||||
case 9:
|
|
||||||
showIcon = "#icon-yunpanlogo-5";
|
|
||||||
break;
|
|
||||||
// txt文件
|
|
||||||
case 10:
|
|
||||||
showIcon = "#icon-yunpanlogo-7";
|
|
||||||
break;
|
|
||||||
// PSD
|
|
||||||
case 11:
|
|
||||||
showIcon = "#icon-yunpanlogo-10";
|
|
||||||
break;
|
|
||||||
// cad
|
|
||||||
case 12:
|
|
||||||
showIcon = "#icon-yunpanlogo-11";
|
|
||||||
break;
|
|
||||||
// ISO
|
|
||||||
case 13:
|
|
||||||
showIcon = "#icon-yunpanlogo-8";
|
|
||||||
break;
|
|
||||||
// 可执行
|
|
||||||
case 14:
|
|
||||||
showIcon = "#icon-yunpanlogo-9";
|
|
||||||
break;
|
|
||||||
// 普通文件
|
|
||||||
default:
|
|
||||||
showIcon = "#icon-yunpanlogo-3";
|
|
||||||
}
|
|
||||||
return showIcon;
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 获取图片的显示图标
|
|
||||||
* @param fileItem
|
|
||||||
* @returns {string|*}
|
|
||||||
*/
|
|
||||||
getImgShowIcon(fileItem) {
|
|
||||||
return FILE_DOMAIN + fileItem;
|
|
||||||
},
|
|
||||||
change(fileList) {
|
|
||||||
this.$emit("update:files", fileList.map(v => v.data).filter(Boolean))
|
|
||||||
},
|
|
||||||
afterRead(file) {
|
|
||||||
if (Array.isArray(file)) {
|
|
||||||
file.forEach(item => this.afterRead(item));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
file.status = 'uploading';
|
|
||||||
file.message = '上传中...';
|
|
||||||
|
|
||||||
let formData = new FormData();
|
|
||||||
formData.append("file", file.file, file.file.name);
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
url: FILE_UPLOAD_ADDRESS,
|
|
||||||
type: "post",
|
|
||||||
data: formData,
|
|
||||||
processData: false,
|
|
||||||
contentType: false,
|
|
||||||
success: (res) => {
|
|
||||||
const {code, data} = res
|
|
||||||
if (code === 0) {
|
|
||||||
file.status = 'success';
|
|
||||||
file.data = data
|
|
||||||
file.url = data.downloadPath || data.filepath || therapyPreview(data.id)
|
|
||||||
this.change(this.fileList)
|
|
||||||
} else {
|
|
||||||
file.status = 'failed';
|
|
||||||
file.message = res.msg || '上传失败';
|
|
||||||
this.$toast.fail(file.message);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
error: (err) => {
|
|
||||||
file.status = 'failed';
|
|
||||||
file.message = '上传失败';
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
doDelete(file) {
|
|
||||||
if (file.data) {
|
|
||||||
const {id} = file.data
|
|
||||||
if (this.del && id) {
|
|
||||||
$.post(FILE_DELETE_ADDRESS, {id})
|
|
||||||
}
|
|
||||||
this.change(this.fileList)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
clickPreview(file) {
|
|
||||||
if (!file.data) return;
|
|
||||||
const {filename, name, id} = file.data
|
|
||||||
const show = this.resolvingShowByFileName(name || filename || '')
|
|
||||||
if (show == 4 || show == 5 || show == 7) {
|
|
||||||
preview(name || filename, id)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
updateFileList(val) {
|
|
||||||
if (!val || !val.length) {
|
|
||||||
this.fileList = []
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
const pending = this.fileList.filter(file => !file.data);
|
|
||||||
this.fileList = val.map(v => {
|
|
||||||
const name = v.name || v.filename || ''
|
|
||||||
const url = v.downloadPath || v.filepath || therapyPreview(v.id)
|
|
||||||
if (this.resolvingShowByFileName(name) == 1) {
|
|
||||||
return {data: v, url, isImage: true, file: {name}, status: 'success'}
|
|
||||||
}
|
|
||||||
return {data: v, url, file: {name}, status: 'success'}
|
|
||||||
}).concat(pending)
|
|
||||||
},
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.updateFileList(this.files)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
.van-image-preview .van-image-preview__close-icon--top-right {
|
|
||||||
font-size: 50px !important;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@@ -3,7 +3,7 @@ const unionReimburseInfo = {
|
|||||||
<div>
|
<div>
|
||||||
<div class="process-title" style="display: flex; align-items: center; justify-content: space-between; gap: 12px;">
|
<div class="process-title" style="display: flex; align-items: center; justify-content: space-between; gap: 12px;">
|
||||||
<span>申请信息</span>
|
<span>申请信息</span>
|
||||||
<el-link type="primary" @click="openChart">点击查看流程图</el-link>
|
<!-- <el-link type="primary" @click="openChart">点击查看流程图</el-link> -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-tabs v-model="activeTabName" style="margin-top: 10px;">
|
<el-tabs v-model="activeTabName" style="margin-top: 10px;">
|
||||||
|
|||||||
+32
-24
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
|
|
||||||
<style xmlns="">
|
<style xmlns="">
|
||||||
.query-row {
|
.query-row {
|
||||||
@@ -192,13 +193,13 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card shadow="never" class="mt10">
|
<el-card shadow="never" class="mt10">
|
||||||
<table-tool label="审核列表" :app="this">
|
<table-tool label="审核列表" :columns.sync="tableColumns">
|
||||||
<template #label_end>
|
<template #content>
|
||||||
<!-- <span style="color: red;margin-left: 10px">温馨提示:省内线路不需要审核</span>-->
|
<!-- <span style="color: red;margin-left: 10px">温馨提示:省内线路不需要审核</span>-->
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template #func>
|
<template>
|
||||||
<el-tag :effect="pageForm.state===item.value?'dark':'plain'"
|
<el-tag :effect="pageForm.state===item.value?'dark':'plain'"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:type="item.label"
|
:type="item.label"
|
||||||
@@ -226,6 +227,16 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
<el-button icon="el-icon-refresh" @click="doSearch" circle></el-button>
|
||||||
|
<el-dropdown @command="tableSizeChange">
|
||||||
|
<el-button icon="el-icon-c-scale-to-original" circle></el-button>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="mini">Mini</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="small">Small</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="medium">Medium</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="">Large</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
</table-tool>
|
</table-tool>
|
||||||
<el-table :data="tableData" style="width: 100%"
|
<el-table :data="tableData" style="width: 100%"
|
||||||
row-key="id" @sort-change="pageOrder"
|
row-key="id" @sort-change="pageOrder"
|
||||||
@@ -243,7 +254,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
align="center"
|
align="center"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
v-for="column in tableColumns" :key="column.prop"
|
v-for="column in tableColumns.filter(column => column.visible !== false)" :key="column.prop"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
:label="column.label"
|
:label="column.label"
|
||||||
:prop="column.prop"
|
:prop="column.prop"
|
||||||
@@ -271,7 +282,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</template>
|
</template>
|
||||||
<template slot-scope="{row}" v-else-if="column.prop=='stateId'">
|
<template slot-scope="{row}" v-else-if="column.prop=='stateId'">
|
||||||
<span v-if="row.stateId">
|
<span v-if="row.stateId">
|
||||||
<vi-table-state :state="row"></vi-table-state>
|
<span :style="{color: row.stateColor}">{{ row.stateName }}</span>
|
||||||
</span>
|
</span>
|
||||||
<sapn v-else style="color: #67C23A">暂无</sapn>
|
<sapn v-else style="color: #67C23A">暂无</sapn>
|
||||||
</template>
|
</template>
|
||||||
@@ -548,7 +559,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<script>
|
<script>
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [therapyTableMixins],
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
unionDisabled: false,
|
unionDisabled: false,
|
||||||
@@ -671,7 +682,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doDelete')
|
this._therapyActions.delete('doDelete')
|
||||||
}
|
}
|
||||||
@@ -703,9 +714,9 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
if (this._therapyActions.has('doEdit')) return
|
if (this._therapyActions.has('doEdit')) return
|
||||||
this._therapyActions.add('doEdit')
|
this._therapyActions.add('doEdit')
|
||||||
try {
|
try {
|
||||||
return await this.$validateForm(this.$refs['editForm']).then(async valid => {
|
return await this.validateForm(this.$refs['editForm']).then(async valid => {
|
||||||
if (!valid) return
|
if (!valid) return
|
||||||
const confirm = await this.$confirmAction('您确定要修改这位老师的报名信息吗?', '提示', {
|
const confirm = await this.confirmAction('您确定要修改这位老师的报名信息吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -726,7 +737,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doEdit')
|
this._therapyActions.delete('doEdit')
|
||||||
}
|
}
|
||||||
@@ -759,7 +770,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
} else if (!adjustment && flag) {
|
} else if (!adjustment && flag) {
|
||||||
msg = '您确定要一键【通过】您所勾选的报名信息吗,是否继续?'
|
msg = '您确定要一键【通过】您所勾选的报名信息吗,是否继续?'
|
||||||
}
|
}
|
||||||
const confirm = await this.$confirmAction(msg, '提示', {
|
const confirm = await this.confirmAction(msg, '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -781,7 +792,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doOnekeyAudit')
|
this._therapyActions.delete('doOnekeyAudit')
|
||||||
}
|
}
|
||||||
@@ -831,7 +842,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
if (this._therapyActions.has('doRecall')) return
|
if (this._therapyActions.has('doRecall')) return
|
||||||
this._therapyActions.add('doRecall')
|
this._therapyActions.add('doRecall')
|
||||||
try {
|
try {
|
||||||
const confirm = await this.$confirmAction('您确定要撤回吗, 是否继续?', '提示', {
|
const confirm = await this.confirmAction('您确定要撤回吗, 是否继续?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -846,7 +857,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doRecall')
|
this._therapyActions.delete('doRecall')
|
||||||
}
|
}
|
||||||
@@ -864,7 +875,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
} else if (!adjustment && flag) {
|
} else if (!adjustment && flag) {
|
||||||
msg = '您确定要【通过】该报名信息吗,是否继续?'
|
msg = '您确定要【通过】该报名信息吗,是否继续?'
|
||||||
}
|
}
|
||||||
const confirm = await this.$confirmAction(msg, '提示', {
|
const confirm = await this.confirmAction(msg, '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -888,24 +899,21 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
|
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doAudit')
|
this._therapyActions.delete('doAudit')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
openLine(row) {
|
openLine(row) {
|
||||||
this.$refs.guava.public()
|
this.openGuavaDetail('public', 'viewLineInfo', 'findOne', row.lineId)
|
||||||
this.$refs.viewLineInfo.findOne(row.lineId)
|
|
||||||
},
|
},
|
||||||
openEdit(row) {
|
openEdit(row) {
|
||||||
this.$set(this.formData, "isTransferIn", row.isTransferIn)
|
this.$set(this.formData, "isTransferIn", row.isTransferIn)
|
||||||
this.$set(this.formData, "id", row.id)
|
this.$set(this.formData, "id", row.id)
|
||||||
this.$refs.guava.edit()
|
this.openGuavaDetail('edit', 'editEnrollInfo', 'openAudit', row.id, 'audit')
|
||||||
this.$refs.editEnrollInfo.openAudit(row.id, 'audit')
|
|
||||||
},
|
},
|
||||||
openView(row) {
|
openView(row) {
|
||||||
this.$refs.guava.view()
|
this.openGuavaDetail('view', 'viewEnrollInfo', 'openView', row.id)
|
||||||
this.$refs.viewEnrollInfo.openView(row.id)
|
|
||||||
},
|
},
|
||||||
async checkState(type) {
|
async checkState(type) {
|
||||||
this.pageForm.state = type
|
this.pageForm.state = type
|
||||||
@@ -932,7 +940,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
},
|
},
|
||||||
async unionChange() {
|
async unionChange() {
|
||||||
this.pageForm.unitId = null
|
this.pageForm.unitId = null
|
||||||
this.unitOptions = await getUnits(this.pageForm.unionId)
|
this.unitOptions = await this.getTherapyUnits(this.pageForm.unionId)
|
||||||
this.takePartInLines = await this.getXlByUnion()
|
this.takePartInLines = await this.getXlByUnion()
|
||||||
await this.doSearch()
|
await this.doSearch()
|
||||||
},
|
},
|
||||||
|
|||||||
+31
-22
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
|
|
||||||
<style xmlns="">
|
<style xmlns="">
|
||||||
.query-row {
|
.query-row {
|
||||||
@@ -124,12 +125,12 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card shadow="never" class="mt10">
|
<el-card shadow="never" class="mt10">
|
||||||
<table-tool label="审核列表" :app="this">
|
<table-tool label="审核列表" :columns.sync="tableColumns">
|
||||||
<template #label_end>
|
<template #content>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template #func>
|
<template>
|
||||||
<el-tag :effect="pageForm.state===item.value?'dark':'plain'"
|
<el-tag :effect="pageForm.state===item.value?'dark':'plain'"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:type="item.label"
|
:type="item.label"
|
||||||
@@ -154,6 +155,16 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
<el-button icon="el-icon-refresh" @click="doSearch" circle></el-button>
|
||||||
|
<el-dropdown @command="tableSizeChange">
|
||||||
|
<el-button icon="el-icon-c-scale-to-original" circle></el-button>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="mini">Mini</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="small">Small</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="medium">Medium</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="">Large</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
</table-tool>
|
</table-tool>
|
||||||
<el-table :data="tableData" style="width: 100%"
|
<el-table :data="tableData" style="width: 100%"
|
||||||
row-key="id" @sort-change="pageOrder"
|
row-key="id" @sort-change="pageOrder"
|
||||||
@@ -171,7 +182,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
align="center"
|
align="center"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
v-for="column in tableColumns" :key="column.prop"
|
v-for="column in tableColumns.filter(column => column.visible !== false)" :key="column.prop"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
:label="column.label"
|
:label="column.label"
|
||||||
:prop="column.prop"
|
:prop="column.prop"
|
||||||
@@ -195,7 +206,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</template>
|
</template>
|
||||||
<template slot-scope="{row}" v-else-if="column.prop=='stateId'">
|
<template slot-scope="{row}" v-else-if="column.prop=='stateId'">
|
||||||
<span v-if="row.stateId">
|
<span v-if="row.stateId">
|
||||||
<vi-table-state :state="row"></vi-table-state>
|
<span :style="{color: row.stateColor}">{{ row.stateName }}</span>
|
||||||
</span>
|
</span>
|
||||||
<sapn v-else style="color: #67C23A">暂无</sapn>
|
<sapn v-else style="color: #67C23A">暂无</sapn>
|
||||||
</template>
|
</template>
|
||||||
@@ -434,7 +445,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<script>
|
<script>
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [therapyTableMixins],
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
unionDisabled: false,
|
unionDisabled: false,
|
||||||
@@ -544,7 +555,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doDelete')
|
this._therapyActions.delete('doDelete')
|
||||||
}
|
}
|
||||||
@@ -575,9 +586,9 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
if (this._therapyActions.has('doEdit')) return
|
if (this._therapyActions.has('doEdit')) return
|
||||||
this._therapyActions.add('doEdit')
|
this._therapyActions.add('doEdit')
|
||||||
try {
|
try {
|
||||||
return await this.$validateForm(this.$refs['editForm']).then(async valid => {
|
return await this.validateForm(this.$refs['editForm']).then(async valid => {
|
||||||
if (!valid) return
|
if (!valid) return
|
||||||
const confirm = await this.$confirmAction('您确定要修改这位老师的报名信息吗?', '提示', {
|
const confirm = await this.confirmAction('您确定要修改这位老师的报名信息吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -598,7 +609,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doEdit')
|
this._therapyActions.delete('doEdit')
|
||||||
}
|
}
|
||||||
@@ -616,7 +627,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
} else if (!adjustment && flag) {
|
} else if (!adjustment && flag) {
|
||||||
msg = '您确定要一键【通过】您所勾选的报名信息吗,是否继续?'
|
msg = '您确定要一键【通过】您所勾选的报名信息吗,是否继续?'
|
||||||
}
|
}
|
||||||
const confirm = await this.$confirmAction(msg, '提示', {
|
const confirm = await this.confirmAction(msg, '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -638,7 +649,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doOnekeyAudit')
|
this._therapyActions.delete('doOnekeyAudit')
|
||||||
}
|
}
|
||||||
@@ -688,7 +699,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
if (this._therapyActions.has('doRecall')) return
|
if (this._therapyActions.has('doRecall')) return
|
||||||
this._therapyActions.add('doRecall')
|
this._therapyActions.add('doRecall')
|
||||||
try {
|
try {
|
||||||
const confirm = await this.$confirmAction('您确定要撤回吗, 是否继续?', '提示', {
|
const confirm = await this.confirmAction('您确定要撤回吗, 是否继续?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -703,7 +714,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doRecall')
|
this._therapyActions.delete('doRecall')
|
||||||
}
|
}
|
||||||
@@ -721,7 +732,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
} else if (!adjustment && flag) {
|
} else if (!adjustment && flag) {
|
||||||
msg = '您确定要【通过】该报名信息吗,是否继续?'
|
msg = '您确定要【通过】该报名信息吗,是否继续?'
|
||||||
}
|
}
|
||||||
const confirm = await this.$confirmAction(msg, '提示', {
|
const confirm = await this.confirmAction(msg, '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -745,7 +756,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
|
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doAudit')
|
this._therapyActions.delete('doAudit')
|
||||||
}
|
}
|
||||||
@@ -753,12 +764,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
openEdit(row) {
|
openEdit(row) {
|
||||||
this.$set(this.formData, "isTransferIn", row.isTransferIn)
|
this.$set(this.formData, "isTransferIn", row.isTransferIn)
|
||||||
this.$set(this.formData, "id", row.id)
|
this.$set(this.formData, "id", row.id)
|
||||||
this.$refs.guava.edit()
|
this.openGuavaDetail('edit', 'editEnrollInfo', 'openAudit', row.id, 'audit')
|
||||||
this.$refs.editEnrollInfo.openAudit(row.id, 'audit')
|
|
||||||
},
|
},
|
||||||
openView(row) {
|
openView(row) {
|
||||||
this.$refs.guava.view()
|
this.openGuavaDetail('view', 'viewEnrollInfo', 'openView', row.id)
|
||||||
this.$refs.viewEnrollInfo.openView(row.id)
|
|
||||||
},
|
},
|
||||||
async checkState(type) {
|
async checkState(type) {
|
||||||
this.pageForm.state = type
|
this.pageForm.state = type
|
||||||
@@ -785,7 +794,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
},
|
},
|
||||||
async unionChange() {
|
async unionChange() {
|
||||||
this.pageForm.unitId = null
|
this.pageForm.unitId = null
|
||||||
this.unitOptions = await getUnits(this.pageForm.unionId)
|
this.unitOptions = await this.getTherapyUnits(this.pageForm.unionId)
|
||||||
await this.doSearch()
|
await this.doSearch()
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
|
|||||||
+32
-24
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
|
|
||||||
<style xmlns="">
|
<style xmlns="">
|
||||||
.query-row {
|
.query-row {
|
||||||
@@ -191,12 +192,12 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card shadow="never" class="mt10">
|
<el-card shadow="never" class="mt10">
|
||||||
<table-tool label="审核列表" :app="this">
|
<table-tool label="审核列表" :columns.sync="tableColumns">
|
||||||
<template #label_end>
|
<template #content>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template #func
|
<template
|
||||||
v-if="!pageForm.regionalNature||
|
v-if="!pageForm.regionalNature||
|
||||||
(pageForm.regionalNature==='省内'&&modifyConfig.isSnLine)||
|
(pageForm.regionalNature==='省内'&&modifyConfig.isSnLine)||
|
||||||
(pageForm.regionalNature==='省外'&&modifyConfig.isSwLine)">
|
(pageForm.regionalNature==='省外'&&modifyConfig.isSwLine)">
|
||||||
@@ -219,6 +220,16 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<el-radio-button label="false">未审核</el-radio-button>
|
<el-radio-button label="false">未审核</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</template>
|
</template>
|
||||||
|
<el-button icon="el-icon-refresh" @click="doSearch" circle></el-button>
|
||||||
|
<el-dropdown @command="tableSizeChange">
|
||||||
|
<el-button icon="el-icon-c-scale-to-original" circle></el-button>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="mini">Mini</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="small">Small</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="medium">Medium</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="">Large</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
</table-tool>
|
</table-tool>
|
||||||
<el-table :data="tableData" style="width: 100%"
|
<el-table :data="tableData" style="width: 100%"
|
||||||
row-key="id" @sort-change="pageOrder"
|
row-key="id" @sort-change="pageOrder"
|
||||||
@@ -236,7 +247,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
align="center"
|
align="center"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
v-for="column in tableColumns" :key="column.prop"
|
v-for="column in tableColumns.filter(column => column.visible !== false)" :key="column.prop"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
:label="column.label"
|
:label="column.label"
|
||||||
:prop="column.prop"
|
:prop="column.prop"
|
||||||
@@ -264,7 +275,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</template>
|
</template>
|
||||||
<template slot-scope="{row}" v-else-if="column.prop=='stateId'">
|
<template slot-scope="{row}" v-else-if="column.prop=='stateId'">
|
||||||
<span v-if="row.stateId">
|
<span v-if="row.stateId">
|
||||||
<vi-table-state :state="row"></vi-table-state>
|
<span :style="{color: row.stateColor}">{{ row.stateName }}</span>
|
||||||
</span>
|
</span>
|
||||||
<sapn v-else style="color: #67C23A">暂无</sapn>
|
<sapn v-else style="color: #67C23A">暂无</sapn>
|
||||||
</template>
|
</template>
|
||||||
@@ -541,7 +552,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<script>
|
<script>
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [therapyTableMixins],
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
unionDisabled: false,
|
unionDisabled: false,
|
||||||
@@ -666,7 +677,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doDelete')
|
this._therapyActions.delete('doDelete')
|
||||||
}
|
}
|
||||||
@@ -698,9 +709,9 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
if (this._therapyActions.has('doEdit')) return
|
if (this._therapyActions.has('doEdit')) return
|
||||||
this._therapyActions.add('doEdit')
|
this._therapyActions.add('doEdit')
|
||||||
try {
|
try {
|
||||||
return await this.$validateForm(this.$refs['editForm']).then(async valid => {
|
return await this.validateForm(this.$refs['editForm']).then(async valid => {
|
||||||
if (!valid) return
|
if (!valid) return
|
||||||
const confirm = await this.$confirmAction('您确定要修改这位老师的报名信息吗?', '提示', {
|
const confirm = await this.confirmAction('您确定要修改这位老师的报名信息吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -722,7 +733,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doEdit')
|
this._therapyActions.delete('doEdit')
|
||||||
}
|
}
|
||||||
@@ -770,7 +781,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
} else if (!adjustment && flag) {
|
} else if (!adjustment && flag) {
|
||||||
msg = '您确定要一键【通过】您所勾选的报名信息吗,是否继续?'
|
msg = '您确定要一键【通过】您所勾选的报名信息吗,是否继续?'
|
||||||
}
|
}
|
||||||
const confirm = await this.$confirmAction(msg, '提示', {
|
const confirm = await this.confirmAction(msg, '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -792,7 +803,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doOnekeyAudit')
|
this._therapyActions.delete('doOnekeyAudit')
|
||||||
}
|
}
|
||||||
@@ -833,7 +844,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
if (this._therapyActions.has('doRecall')) return
|
if (this._therapyActions.has('doRecall')) return
|
||||||
this._therapyActions.add('doRecall')
|
this._therapyActions.add('doRecall')
|
||||||
try {
|
try {
|
||||||
const confirm = await this.$confirmAction('您确定要撤回吗, 是否继续?', '提示', {
|
const confirm = await this.confirmAction('您确定要撤回吗, 是否继续?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -849,7 +860,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doRecall')
|
this._therapyActions.delete('doRecall')
|
||||||
}
|
}
|
||||||
@@ -867,7 +878,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
} else if (!adjustment && flag) {
|
} else if (!adjustment && flag) {
|
||||||
msg = '您确定要【通过】该报名信息吗,是否继续?'
|
msg = '您确定要【通过】该报名信息吗,是否继续?'
|
||||||
}
|
}
|
||||||
const confirm = await this.$confirmAction(msg, '提示', {
|
const confirm = await this.confirmAction(msg, '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -890,24 +901,21 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doAudit')
|
this._therapyActions.delete('doAudit')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
openLine(row) {
|
openLine(row) {
|
||||||
this.$refs.guava.public()
|
this.openGuavaDetail('public', 'viewLineInfo', 'findOne', row.lineId)
|
||||||
this.$refs.viewLineInfo.findOne(row.lineId)
|
|
||||||
},
|
},
|
||||||
openEdit(row) {
|
openEdit(row) {
|
||||||
this.$set(this.formData, "isTransferIn", row.isTransferIn)
|
this.$set(this.formData, "isTransferIn", row.isTransferIn)
|
||||||
this.$set(this.formData, "id", row.id)
|
this.$set(this.formData, "id", row.id)
|
||||||
this.$refs.guava.edit()
|
this.openGuavaDetail('edit', 'editEnrollInfo', 'openAudit', row.id, 'audit')
|
||||||
this.$refs.editEnrollInfo.openAudit(row.id, 'audit')
|
|
||||||
},
|
},
|
||||||
openView(row) {
|
openView(row) {
|
||||||
this.$refs.guava.view()
|
this.openGuavaDetail('view', 'viewEnrollInfo', 'openView', row.id)
|
||||||
this.$refs.viewEnrollInfo.openView(row.id)
|
|
||||||
},
|
},
|
||||||
async checkState(type) {
|
async checkState(type) {
|
||||||
this.pageForm.state = type
|
this.pageForm.state = type
|
||||||
@@ -934,7 +942,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
},
|
},
|
||||||
async unionChange() {
|
async unionChange() {
|
||||||
this.pageForm.unitId = null
|
this.pageForm.unitId = null
|
||||||
this.unitOptions = await getUnits(this.pageForm.unionId)
|
this.unitOptions = await this.getTherapyUnits(this.pageForm.unionId)
|
||||||
this.takePartInLines = await this.getXlByUnion()
|
this.takePartInLines = await this.getXlByUnion()
|
||||||
await this.doSearch()
|
await this.doSearch()
|
||||||
},
|
},
|
||||||
|
|||||||
+75
-51
@@ -1,13 +1,14 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
<guava ref="guava">
|
<guava ref="guava">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<div class="search">
|
<search :is-search-button="false">
|
||||||
<div class="search-item">
|
<search-item label="年度:">
|
||||||
<div class="search-item-label">年度:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
@change="doSearch"
|
@change="doSearch"
|
||||||
@@ -16,21 +17,21 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
v-model="pageForm.year"
|
v-model="pageForm.year"
|
||||||
value-format="yyyy">
|
value-format="yyyy">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
<div class="search-item">
|
<search-item label="目的地:">
|
||||||
<div class="search-item-label">目的地:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-input @keyup.enter.native="doSearch" clearable clearable
|
<el-input @keyup.enter.native="doSearch" clearable clearable
|
||||||
placeholder="请输入目的地名称"
|
placeholder="请输入目的地名称"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="pageForm.baseName">
|
v-model="pageForm.baseName">
|
||||||
</el-input>
|
</el-input>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
<div class="search-item">
|
<search-item label="旅行社:">
|
||||||
<div class="search-item-label">旅行社:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-select clearable filterable style="width: 100%"
|
<el-select clearable filterable style="width: 100%"
|
||||||
v-model="pageForm.travelAgencyId"
|
v-model="pageForm.travelAgencyId"
|
||||||
@change="doSearch">
|
@change="doSearch">
|
||||||
@@ -40,22 +41,22 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
v-for="item in travelAgencyList"
|
v-for="item in travelAgencyList"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
<div class="search-item">
|
<search-item label="活动范围:">
|
||||||
<div class="search-item-label">活动范围:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-select clearable filterable style="width: 100%"
|
<el-select clearable filterable style="width: 100%"
|
||||||
v-model="pageForm.regionalNature"
|
v-model="pageForm.regionalNature"
|
||||||
@change="doSearch">
|
@change="doSearch">
|
||||||
<el-option key="1" label="省内" value="省内"></el-option>
|
<el-option key="1" label="省内" value="省内"></el-option>
|
||||||
<el-option key="1" label="省外" value="省外"></el-option>
|
<el-option key="1" label="省外" value="省外"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
<div class="search-item">
|
<search-item label="标段时间:">
|
||||||
<div class="search-item-label">标段时间:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-select clearable filterable style="width: 100%"
|
<el-select clearable filterable style="width: 100%"
|
||||||
v-model="pageForm.lotId"
|
v-model="pageForm.lotId"
|
||||||
@change="doSearch">
|
@change="doSearch">
|
||||||
@@ -65,20 +66,30 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
v-for="item in modifyBdList"
|
v-for="item in modifyBdList"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
<div class="search-query">
|
<div class="search-query">
|
||||||
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</search>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card class="mt10" shadow="never">
|
<el-card class="mt10" shadow="never">
|
||||||
<table-tool :app="this" label="目的地列表">
|
<table-tool :columns.sync="tableColumns" label="目的地列表">
|
||||||
<template #func>
|
<template>
|
||||||
<el-button @click="openImport" size="medium" type="primary" style="margin-right: 10px">导入目的地</el-button>
|
<el-button @click="openImport" size="medium" type="primary" style="margin-right: 10px">导入目的地</el-button>
|
||||||
<el-button @click="openAdd" size="medium" type="primary">新建目的地</el-button>
|
<el-button @click="openAdd" size="medium" type="primary">新建目的地</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
<el-button icon="el-icon-refresh" @click="doSearch" circle></el-button>
|
||||||
|
<el-dropdown @command="tableSizeChange">
|
||||||
|
<el-button icon="el-icon-c-scale-to-original" circle></el-button>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="mini">Mini</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="small">Small</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="medium">Medium</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="">Large</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
</table-tool>
|
</table-tool>
|
||||||
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder"
|
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder"
|
||||||
align="center"
|
align="center"
|
||||||
@@ -92,7 +103,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
align="center"
|
align="center"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
v-for="column in tableColumns" :key="column.prop"
|
v-for="column in tableColumns.filter(column => column.visible !== false)" :key="column.prop"
|
||||||
>
|
>
|
||||||
<template slot-scope="{row}" v-if="column.prop==='isDisabled'">
|
<template slot-scope="{row}" v-if="column.prop==='isDisabled'">
|
||||||
<el-switch
|
<el-switch
|
||||||
@@ -326,13 +337,8 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :md="24" :sm="24" :xs="24">
|
<el-col :md="24" :sm="24" :xs="24">
|
||||||
<el-form-item label="图片上传" prop="files">
|
<el-form-item label="图片上传" prop="files">
|
||||||
<file-upload :files.sync="formData.files" :max="1" :type="['jpg', 'jpeg', 'png']">
|
<file-upload :value.sync="baseUploadFiles" :upload_number="1" accept=".jpg,.jpeg,.png"
|
||||||
<template #el-upload__tip>
|
upload_result_category="array" :complete_result="true"></file-upload>
|
||||||
<div class="el-upload__tip" slot="tip">
|
|
||||||
图片类请上传jpg/png/jpeg格式,上传数量为1个
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</file-upload>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -340,7 +346,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</el-form>
|
</el-form>
|
||||||
<el-row class="pb20" justify="end" type="flex">
|
<el-row class="pb20" justify="end" type="flex">
|
||||||
<el-button @click="$refs.guava.index()">取消</el-button>
|
<el-button @click="$refs.guava.index()">取消</el-button>
|
||||||
<el-button @click="doSubmit" type="primary" v-throttle>提交</el-button>
|
<el-button @click="doSubmit" type="primary" :loading="submitLoading">提交</el-button>
|
||||||
</el-row>
|
</el-row>
|
||||||
</template>
|
</template>
|
||||||
<template #view>
|
<template #view>
|
||||||
@@ -357,7 +363,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<el-timeline-item timestamp="下载模板" placement="top">
|
<el-timeline-item timestamp="下载模板" placement="top">
|
||||||
<el-card>
|
<el-card>
|
||||||
<el-button size="medium" type=""
|
<el-button size="medium" type=""
|
||||||
@click="$downloadFile('/platform/inclusiveTherapyV3/baseManagement/exportTemplate')"
|
@click="downloadFile('/platform/inclusiveTherapyV3/baseManagement/exportTemplate')"
|
||||||
icon="el-icon-download">下载模板
|
icon="el-icon-download">下载模板
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
||||||
@@ -398,7 +404,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<script>
|
<script>
|
||||||
new Vue({
|
new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [therapyTableMixins],
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
components: {
|
components: {
|
||||||
'base-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/BaseManageInfo.vue')
|
'base-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/BaseManageInfo.vue')
|
||||||
},
|
},
|
||||||
@@ -569,7 +575,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('baseStatusChange')
|
this._therapyActions.delete('baseStatusChange')
|
||||||
}
|
}
|
||||||
@@ -579,7 +585,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
if (this._therapyActions.has('doDelete')) return
|
if (this._therapyActions.has('doDelete')) return
|
||||||
this._therapyActions.add('doDelete')
|
this._therapyActions.add('doDelete')
|
||||||
try {
|
try {
|
||||||
const confirm = await this.$confirmAction('您确定要删除吗?', '提示', {
|
const confirm = await this.confirmAction('您确定要删除吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -594,7 +600,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doDelete')
|
this._therapyActions.delete('doDelete')
|
||||||
}
|
}
|
||||||
@@ -603,9 +609,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
if (!this._therapyActions) this._therapyActions = new Set()
|
if (!this._therapyActions) this._therapyActions = new Set()
|
||||||
if (this._therapyActions.has('doSubmit')) return
|
if (this._therapyActions.has('doSubmit')) return
|
||||||
this._therapyActions.add('doSubmit')
|
this._therapyActions.add('doSubmit')
|
||||||
|
this.submitLoading = true
|
||||||
let loading = null
|
let loading = null
|
||||||
try {
|
try {
|
||||||
const valid = await this.$validateForm(this.$refs['form'])
|
const valid = await this.validateForm(this.$refs['form'])
|
||||||
if (!valid) return
|
if (!valid) return
|
||||||
|
|
||||||
loading = this.$loading({
|
loading = this.$loading({
|
||||||
@@ -624,10 +631,11 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
if (loading) loading.close()
|
if (loading) loading.close()
|
||||||
this._therapyActions.delete('doSubmit')
|
this._therapyActions.delete('doSubmit')
|
||||||
|
this.submitLoading = false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
yearChange() {
|
yearChange() {
|
||||||
@@ -635,8 +643,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.selectTravelAgencyList()
|
this.selectTravelAgencyList()
|
||||||
},
|
},
|
||||||
async openView(id) {
|
async openView(id) {
|
||||||
this.$refs.guava.view()
|
this.openGuavaDetail('view', 'viewBaseInfo', 'openView', id, this.modifyBdList)
|
||||||
this.$refs.viewBaseInfo.openView(id, this.modifyBdList)
|
|
||||||
},
|
},
|
||||||
doBdModify() {
|
doBdModify() {
|
||||||
let obj = this.formData;
|
let obj = this.formData;
|
||||||
@@ -649,7 +656,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
},
|
},
|
||||||
async initPageData() {
|
async initPageData() {
|
||||||
await this.getModifyBd();
|
await this.getModifyBd();
|
||||||
this.unionOptions = await getUnions(null)
|
this.unionOptions = await this.getTherapyUnions(null)
|
||||||
await this.selectTravelAgencyList()
|
await this.selectTravelAgencyList()
|
||||||
},
|
},
|
||||||
async getModifyBd() {
|
async getModifyBd() {
|
||||||
@@ -688,7 +695,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
this.importLoading = true
|
this.importLoading = true
|
||||||
try {
|
try {
|
||||||
const resp = await this.$importExcel('/platform/inclusiveTherapyV3/baseManagement/importBaseManager', files)
|
const resp = await this.importExcel('/platform/inclusiveTherapyV3/baseManagement/importBaseManager', files)
|
||||||
if (resp.code === 0) {
|
if (resp.code === 0) {
|
||||||
this.notifySuccess(resp.msg || '导入成功')
|
this.notifySuccess(resp.msg || '导入成功')
|
||||||
this.pageData()
|
this.pageData()
|
||||||
@@ -697,7 +704,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg || '导入失败')
|
this.notifyWarning(resp.msg || '导入失败')
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this.importLoading = false
|
this.importLoading = false
|
||||||
}
|
}
|
||||||
@@ -708,6 +715,23 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.pageData();
|
this.pageData();
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
baseUploadFiles: {
|
||||||
|
get() {
|
||||||
|
return (this.formData.files || []).map(file => {
|
||||||
|
const url = file.downloadPath || file.filepath || '/platform/sys/file/download?id=' + encodeURIComponent(file.id);
|
||||||
|
return {name: file.name || file.filename, url, status: 'success',
|
||||||
|
response: {code: 0, data: url}, storedFile: file};
|
||||||
|
});
|
||||||
|
},
|
||||||
|
set(files) {
|
||||||
|
this.$set(this.formData, 'files', (files || []).map(file => {
|
||||||
|
if (file.storedFile) return file.storedFile;
|
||||||
|
const url = file.response.data;
|
||||||
|
const id = new URL(url, window.location.origin).searchParams.get('id');
|
||||||
|
return {id, name: file.name, filename: file.name, downloadPath: url, filepath: url, url};
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
},
|
||||||
editDialogTitle() {
|
editDialogTitle() {
|
||||||
return this.formData.id ? '编辑目的地' : '新增目的地'
|
return this.formData.id ? '编辑目的地' : '新增目的地'
|
||||||
}
|
}
|
||||||
|
|||||||
+64
-53
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
/*.mr0-radio {*/
|
/*.mr0-radio {*/
|
||||||
@@ -55,10 +56,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
<guava ref="guava">
|
<guava ref="guava">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<div class="search">
|
<search :is-search-button="false">
|
||||||
<div class="search-item">
|
<search-item label="年度范围:">
|
||||||
<div class="search-item-label">年度范围:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-popover v-model="yearRangeVisible" placement="bottom-start" trigger="click"
|
<el-popover v-model="yearRangeVisible" placement="bottom-start" trigger="click"
|
||||||
width="320" popper-class="line-year-range-panel" @show="openYearRange">
|
width="320" popper-class="line-year-range-panel" @show="openYearRange">
|
||||||
<div class="year-range-header">
|
<div class="year-range-header">
|
||||||
@@ -84,11 +85,11 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
prefix-icon="el-icon-date" placeholder="开始年份 至 结束年份"
|
prefix-icon="el-icon-date" placeholder="开始年份 至 结束年份"
|
||||||
:value="pageForm.startYear || pageForm.endYear ? (pageForm.startYear || '开始年份') + ' 至 ' + (pageForm.endYear || '结束年份') : ''"></el-input>
|
:value="pageForm.startYear || pageForm.endYear ? (pageForm.startYear || '开始年份') + ' 至 ' + (pageForm.endYear || '结束年份') : ''"></el-input>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
<div class="search-item">
|
<search-item label="旅行社:">
|
||||||
<div class="search-item-label">旅行社:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-select @change="doSearch"
|
<el-select @change="doSearch"
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
@@ -99,21 +100,21 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
:value="item.id"
|
:value="item.id"
|
||||||
v-for="item in travelAgencyOptions"></el-option>
|
v-for="item in travelAgencyOptions"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
<div class="search-item">
|
<search-item label="线路名称:">
|
||||||
<div class="search-item-label">线路名称:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-input @keyup.enter.native="doSearch" clearable clearable
|
<el-input @keyup.enter.native="doSearch" clearable clearable
|
||||||
placeholder="请输入内容"
|
placeholder="请输入内容"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="pageForm.lineName">
|
v-model="pageForm.lineName">
|
||||||
</el-input>
|
</el-input>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
<div class="search-item">
|
<search-item label="时间标段:">
|
||||||
<div class="search-item-label">时间标段:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-select @change="doSearch" clearable filterable
|
<el-select @change="doSearch" clearable filterable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="pageForm.lotId">
|
v-model="pageForm.lotId">
|
||||||
@@ -123,11 +124,11 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
v-for="item in lotList"
|
v-for="item in lotList"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
<div class="search-item">
|
<search-item label="组织形式:">
|
||||||
<div class="search-item-label">组织形式:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-select @change="doSearch" clearable filterable
|
<el-select @change="doSearch" clearable filterable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="pageForm.signUpMode">
|
v-model="pageForm.signUpMode">
|
||||||
@@ -137,12 +138,12 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
v-for="item in signUpModeList"
|
v-for="item in signUpModeList"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search-item" v-if="${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('sysadmin')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('A06')}">
|
</search-item>
|
||||||
<div class="search-item-label">分工会:</div>
|
|
||||||
<div class="search-item-option">
|
<search-item label="分工会:">
|
||||||
|
|
||||||
|
|
||||||
<el-select @change="doSearch"
|
<el-select @change="doSearch"
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
@@ -153,22 +154,32 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
:value="item.id"
|
:value="item.id"
|
||||||
v-for="item in unionOptions"></el-option>
|
v-for="item in unionOptions"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
|
|
||||||
<div class="search-query">
|
<div class="search-query">
|
||||||
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</search>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card class="mt10" shadow="never">
|
<el-card class="mt10" shadow="never">
|
||||||
<table-tool :app="this" label="线路列表">
|
<table-tool :columns.sync="tableColumns" label="线路列表">
|
||||||
<template #func>
|
<template>
|
||||||
<!-- <el-button @click="openImport" size="medium" type="primary">导入线路</el-button>-->
|
<!-- <el-button @click="openImport" size="medium" type="primary">导入线路</el-button>-->
|
||||||
<el-button @click="openLineImport" size="medium" type="primary">导入</el-button>
|
<el-button @click="openLineImport" size="medium" type="primary">导入</el-button>
|
||||||
<el-button @click="openAdd" size="medium" type="primary">新建线路</el-button>
|
<el-button @click="openAdd" size="medium" type="primary">新建线路</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
<el-button icon="el-icon-refresh" @click="doSearch" circle></el-button>
|
||||||
|
<el-dropdown @command="tableSizeChange">
|
||||||
|
<el-button icon="el-icon-c-scale-to-original" circle></el-button>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="mini">Mini</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="small">Small</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="medium">Medium</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="">Large</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
</table-tool>
|
</table-tool>
|
||||||
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder"
|
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder"
|
||||||
align="center"
|
align="center"
|
||||||
@@ -183,7 +194,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
align="center"
|
align="center"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
v-for="column in tableColumns"
|
v-for="column in tableColumns.filter(column => column.visible !== false)"
|
||||||
:key="column.prop"
|
:key="column.prop"
|
||||||
>
|
>
|
||||||
<template slot-scope="{row}">
|
<template slot-scope="{row}">
|
||||||
@@ -496,9 +507,8 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :md="24" :sm="24" :xs="24">
|
<el-col :md="24" :sm="24" :xs="24">
|
||||||
<el-form-item label="移动端缩略图" prop="files">
|
<el-form-item label="移动端缩略图" prop="files">
|
||||||
<image-Upload :height="100" :width="100" :limit="1" :file-type="['png', 'jpg']"
|
<file-upload upload_mode="image" :upload_number="1" accept=".png,.jpg"
|
||||||
:file-size="1"
|
:upload_size="1024 * 1024" :value.sync="therapyThumbnail"></file-upload>
|
||||||
v-model="formData.files"></image-Upload>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -506,7 +516,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</el-form>
|
</el-form>
|
||||||
<el-row class="pb20" justify="end" type="flex">
|
<el-row class="pb20" justify="end" type="flex">
|
||||||
<el-button @click="$refs.guava.index()">取消</el-button>
|
<el-button @click="$refs.guava.index()">取消</el-button>
|
||||||
<el-button @click="doSubmit" type="primary" v-throttle>提交</el-button>
|
<el-button @click="doSubmit" type="primary" :loading="submitLoading">提交</el-button>
|
||||||
</el-row>
|
</el-row>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -637,7 +647,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
|
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [therapyTableMixins],
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
components: {
|
components: {
|
||||||
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
|
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
|
||||||
},
|
},
|
||||||
@@ -856,12 +866,13 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
if (!this._therapyActions) this._therapyActions = new Set()
|
if (!this._therapyActions) this._therapyActions = new Set()
|
||||||
if (this._therapyActions.has('doSubmit')) return
|
if (this._therapyActions.has('doSubmit')) return
|
||||||
this._therapyActions.add('doSubmit')
|
this._therapyActions.add('doSubmit')
|
||||||
|
this.submitLoading = true
|
||||||
let loading = null
|
let loading = null
|
||||||
try {
|
try {
|
||||||
const valid = await this.$validateForm(this.$refs['form'])
|
const valid = await this.validateForm(this.$refs['form'])
|
||||||
if (!valid) return
|
if (!valid) return
|
||||||
|
|
||||||
const confirm = await this.$confirmAction('确定保存该线路吗?', '保存确认', {
|
const confirm = await this.confirmAction('确定保存该线路吗?', '保存确认', {
|
||||||
confirmButtonText: '确认保存',
|
confirmButtonText: '确认保存',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -897,10 +908,11 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.$message.warning(resp.msg)
|
this.$message.warning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
if (loading) loading.close()
|
if (loading) loading.close()
|
||||||
this._therapyActions.delete('doSubmit')
|
this._therapyActions.delete('doSubmit')
|
||||||
|
this.submitLoading = false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async lineStatusChange(id) {
|
async lineStatusChange(id) {
|
||||||
@@ -915,7 +927,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('lineStatusChange')
|
this._therapyActions.delete('lineStatusChange')
|
||||||
}
|
}
|
||||||
@@ -925,7 +937,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
if (this._therapyActions.has('doDelete')) return
|
if (this._therapyActions.has('doDelete')) return
|
||||||
this._therapyActions.add('doDelete')
|
this._therapyActions.add('doDelete')
|
||||||
try {
|
try {
|
||||||
const confirm = await this.$confirmAction('可能会导致数据不完整,您确定要删除吗?', '提示', {
|
const confirm = await this.confirmAction('可能会导致数据不完整,您确定要删除吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -940,14 +952,13 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doDelete')
|
this._therapyActions.delete('doDelete')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async openView(id) {
|
async openView(id) {
|
||||||
this.$refs.guava.view()
|
this.openGuavaDetail('view', 'viewLineInfo', 'openView', id)
|
||||||
this.$refs.viewLineInfo.openView(id)
|
|
||||||
},
|
},
|
||||||
initLineContentEditor(content) {
|
initLineContentEditor(content) {
|
||||||
this.$set(this.formData, "content", content || "")
|
this.$set(this.formData, "content", content || "")
|
||||||
@@ -970,13 +981,13 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
},
|
},
|
||||||
async initPageData() {
|
async initPageData() {
|
||||||
await this.getConfig()
|
await this.getConfig()
|
||||||
this.regionalNatureList = await getEnumOptions('TheRapyRecuperationProvinceType')
|
this.regionalNatureList = await this.getTherapyOptions('TheRapyRecuperationProvinceType')
|
||||||
if ("${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('sysadmin')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('A06')}" !== 'true') {
|
if ("${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('sysadmin')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('A06')}" !== 'true') {
|
||||||
this.regionalNatureList = this.regionalNatureList.filter(o => o.name === 'provinceIn')
|
this.regionalNatureList = this.regionalNatureList.filter(o => o.name === 'provinceIn')
|
||||||
}
|
}
|
||||||
this.signUpModeList = await getEnumOptions('TheRapyRecuperationSignUpMode')
|
this.signUpModeList = await this.getTherapyOptions('TheRapyRecuperationSignUpMode')
|
||||||
this.createModeList = await getEnumOptions('TheRapyRecuperationLineCreateMode')
|
this.createModeList = await this.getTherapyOptions('TheRapyRecuperationLineCreateMode')
|
||||||
this.unionOptions = await getUnions(null)
|
this.unionOptions = await this.getTherapyUnions(null)
|
||||||
await this.getLotList()
|
await this.getLotList()
|
||||||
await this.selectTravelAgencyList()
|
await this.selectTravelAgencyList()
|
||||||
await this.getTravelAgencyOptions()
|
await this.getTravelAgencyOptions()
|
||||||
|
|||||||
+35
-24
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.viewTable .el-descriptions__table {
|
.viewTable .el-descriptions__table {
|
||||||
@@ -15,10 +16,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
<guava ref="guava">
|
<guava ref="guava">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<div class="search">
|
<search :is-search-button="false">
|
||||||
<div class="search-item">
|
<search-item label="年度:">
|
||||||
<div class="search-item-label">年度:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
placeholder="选择年度"
|
placeholder="选择年度"
|
||||||
type="year"
|
type="year"
|
||||||
@@ -27,30 +28,40 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
v-model="pageForm.year"
|
v-model="pageForm.year"
|
||||||
value-format="yyyy">
|
value-format="yyyy">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
<div class="search-item">
|
<search-item label="关键字:">
|
||||||
<div class="search-item-label">关键字:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-input @keyup.enter.native="doSearch" clearable clearable
|
<el-input @keyup.enter.native="doSearch" clearable clearable
|
||||||
placeholder="请输入内容"
|
placeholder="请输入内容"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="pageForm.keywords">
|
v-model="pageForm.keywords">
|
||||||
</el-input>
|
</el-input>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
<div class="search-query">
|
<div class="search-query">
|
||||||
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</search>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card class="mt10" shadow="never">
|
<el-card class="mt10" shadow="never">
|
||||||
<table-tool :app="this" label="旅行社列表">
|
<table-tool :columns.sync="tableColumns" label="旅行社列表">
|
||||||
<template #func>
|
<template>
|
||||||
<el-button @click="openImport" size="medium" type="primary">导入旅行社</el-button>
|
<el-button @click="openImport" size="medium" type="primary">导入旅行社</el-button>
|
||||||
<el-button @click="openAdd" size="medium" type="primary">新建旅行社</el-button>
|
<el-button @click="openAdd" size="medium" type="primary">新建旅行社</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
<el-button icon="el-icon-refresh" @click="doSearch" circle></el-button>
|
||||||
|
<el-dropdown @command="tableSizeChange">
|
||||||
|
<el-button icon="el-icon-c-scale-to-original" circle></el-button>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="mini">Mini</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="small">Small</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="medium">Medium</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="">Large</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
</table-tool>
|
</table-tool>
|
||||||
<el-table :data="tableData" :size="tableSize">
|
<el-table :data="tableData" :size="tableSize">
|
||||||
<el-table-column :index="indexMethod" align="center" header-align="center" label="序号" type="index"
|
<el-table-column :index="indexMethod" align="center" header-align="center" label="序号" type="index"
|
||||||
@@ -63,7 +74,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
align="center"
|
align="center"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
v-for="column in tableColumns"
|
v-for="column in tableColumns.filter(column => column.visible !== false)"
|
||||||
:key="column.prop"
|
:key="column.prop"
|
||||||
>
|
>
|
||||||
<template slot-scope="{row}">
|
<template slot-scope="{row}">
|
||||||
@@ -193,8 +204,8 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :md="24" :sm="24" :xs="24">
|
<el-col :md="24" :sm="24" :xs="24">
|
||||||
<el-form-item label="移动端缩略图" prop="files">
|
<el-form-item label="移动端缩略图" prop="files">
|
||||||
<image-Upload :height="100" :width="100" :limit="1" :file-type="['png', 'jpg']" :file-size="1"
|
<file-upload upload_mode="image" :upload_number="1" accept=".png,.jpg"
|
||||||
v-model="formData.files"></image-Upload>
|
:upload_size="1024 * 1024" :value.sync="therapyThumbnail"></file-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -281,7 +292,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<script>
|
<script>
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [therapyTableMixins],
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tableColumns: [
|
tableColumns: [
|
||||||
@@ -391,7 +402,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
if (this._therapyActions.has('doSubmit')) return
|
if (this._therapyActions.has('doSubmit')) return
|
||||||
this._therapyActions.add('doSubmit')
|
this._therapyActions.add('doSubmit')
|
||||||
try {
|
try {
|
||||||
const valid = await this.$validateForm(this.$refs['form'])
|
const valid = await this.validateForm(this.$refs['form'])
|
||||||
if (!valid) return
|
if (!valid) return
|
||||||
const resp = await $.post(loc() + '/doSubmit', {travelAgency: JSON.stringify(this.formData)})
|
const resp = await $.post(loc() + '/doSubmit', {travelAgency: JSON.stringify(this.formData)})
|
||||||
if (resp.code === 0) {
|
if (resp.code === 0) {
|
||||||
@@ -402,7 +413,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doSubmit')
|
this._therapyActions.delete('doSubmit')
|
||||||
}
|
}
|
||||||
@@ -419,7 +430,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('travelAgencyStatusChange')
|
this._therapyActions.delete('travelAgencyStatusChange')
|
||||||
}
|
}
|
||||||
@@ -429,7 +440,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
if (this._therapyActions.has('doDelete')) return
|
if (this._therapyActions.has('doDelete')) return
|
||||||
this._therapyActions.add('doDelete')
|
this._therapyActions.add('doDelete')
|
||||||
try {
|
try {
|
||||||
const confirm = await this.$confirmAction('可能会导致数据不完整,您确定要删除吗?', '提示', {
|
const confirm = await this.confirmAction('可能会导致数据不完整,您确定要删除吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -444,7 +455,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doDelete')
|
this._therapyActions.delete('doDelete')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
<script nonce="${cspNonce!}">
|
||||||
|
var therapyBusinessMixin = {
|
||||||
|
components: {
|
||||||
|
draggable: window.vuedraggable
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
therapyThumbnail: {
|
||||||
|
get() {
|
||||||
|
const value = this.formData.files;
|
||||||
|
return value && !/^(https?:|data:|blob:|\/)/.test(value)
|
||||||
|
? '/platform/sys/file/download?id=' + encodeURIComponent(value) : value;
|
||||||
|
},
|
||||||
|
set(value) {
|
||||||
|
this.$set(this.formData, 'files', value || '');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getTherapyOptions(enumName) {
|
||||||
|
return this.$axios.get('/platform/inclusiveTherapyV3/common/enumOptions', {params: {enumName}}).then(res => res.data);
|
||||||
|
},
|
||||||
|
getTherapyUnions(delegationId = null, isPermission = false) {
|
||||||
|
return this.$axios.get('/platform/inclusiveTherapyV3/common/unions', {params: {delegationId, isPermission}}).then(res => res.data);
|
||||||
|
},
|
||||||
|
getTherapyUnits(unionId = null) {
|
||||||
|
return this.$axios.get('/platform/inclusiveTherapyV3/common/units', {params: {unionId}}).then(res => res.data);
|
||||||
|
},
|
||||||
|
getTherapyGroups() {
|
||||||
|
return this.$axios.get('/platform/activity/basic/scope/getActivityUserScopeGroup').then(res => res.data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
+8
-36
@@ -1,36 +1,8 @@
|
|||||||
<!doctype html>
|
<!--#
|
||||||
<html lang="zh-CN">
|
layout("/layouts/platform_h5.html"){
|
||||||
<head>
|
#-->
|
||||||
<meta charset="UTF-8">
|
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/mobile/pages.css">
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
|
${layoutContent}
|
||||||
<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/plugins/vant/index.css">
|
|
||||||
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/mobile/theme.css">
|
|
||||||
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/mobile/main.css">
|
|
||||||
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/mobile/pages.css">
|
|
||||||
<script src="${base!}/assets/platform/plugins/vant/index.js"></script>
|
|
||||||
<script src="${base!}/assets/staffbenefit/therapyRecuperation/basic.js"></script>
|
|
||||||
<script src="${base!}/assets/staffbenefit/therapyRecuperation/v.js"></script>
|
|
||||||
<script src="${base!}/assets/staffbenefit/therapyRecuperation/mobileMixins.js"></script>
|
|
||||||
<script src="${base!}/assets/staffbenefit/therapyRecuperation/compat.js"></script>
|
|
||||||
<link rel="stylesheet" href="${base!}/assets/platform/css/pdf/pdfh5.css">
|
|
||||||
<script src="${base!}/assets/platform/plugins/pdfJs/h5/pdf.js"></script>
|
|
||||||
<script src="${base!}/assets/platform/plugins/pdfJs/h5/pdf.worker.js"></script>
|
|
||||||
<script src="${base!}/assets/platform/plugins/pdfJs/h5/pdfh5.js"></script>
|
|
||||||
<style>[v-cloak] {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0
|
|
||||||
}</style>
|
|
||||||
</head>
|
|
||||||
<body>${layoutContent}</body>
|
|
||||||
</html>
|
|
||||||
|
|||||||
+2
-26
@@ -1,32 +1,8 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/css/desktop.css">
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
<script src="${base!}/assets/platform/plugins/echarts/echarts.min.js"></script>
|
${layoutContent}
|
||||||
<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>
|
|
||||||
Vue.prototype.$axios = commonUtil.axiosService();
|
|
||||||
Vue.prototype.$businessTool = businessTool;
|
|
||||||
Vue.prototype.$downLoad = commonUtil.downLoadService;
|
|
||||||
Vue.prototype.$download = commonUtil.downLoadService;
|
|
||||||
Vue.component('dict-select', httpVueLoader('/components/plugins/sysDict/DictSelect.vue'));
|
|
||||||
Vue.component('guava', httpVueLoader('/components/staffbenefit/therapyRecuperation/Guava.vue'));
|
|
||||||
Vue.component('text-editor', httpVueLoader('/components/plugins/sysTextEditor/index.vue'));
|
|
||||||
Vue.component('file-upload', httpVueLoader('/components/staffbenefit/therapyRecuperation/FileUpload.vue'));
|
|
||||||
Vue.component('image-upload', httpVueLoader('/components/staffbenefit/therapyRecuperation/ImageUpload.vue'));
|
|
||||||
Vue.component('border-table', httpVueLoader('/components/staffbenefit/therapyRecuperation/BorderTable.vue'));
|
|
||||||
Vue.component('vuedraggable', window.vuedraggable);
|
|
||||||
Vue.directive('auth', {inserted(el, binding) {
|
|
||||||
const roles = ${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.getRoleCodesJson()};
|
|
||||||
const requested = Array.isArray(binding.value) ? binding.value : [binding.value];
|
|
||||||
if (!requested.some(role => roles.includes(role))) el.parentNode.removeChild(el);
|
|
||||||
}});
|
|
||||||
</script>
|
|
||||||
<div class="therapy-desktop">${layoutContent}</div>
|
|
||||||
<!--#
|
<!--#
|
||||||
}
|
}
|
||||||
#-->
|
#-->
|
||||||
|
|||||||
+41
-37
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.query-row {
|
.query-row {
|
||||||
@@ -535,8 +536,8 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
|
|
||||||
|
|
||||||
<el-card shadow="never" class="mt10">
|
<el-card shadow="never" class="mt10">
|
||||||
<therapy-table-tool label="" :app="this" ref="table_tool">
|
<table-tool label="" :columns.sync="tableColumns" ref="table_tool">
|
||||||
<template #label_end>
|
<template #content>
|
||||||
<el-radio-group size="small" v-model="pageForm.lb" class="ml10"
|
<el-radio-group size="small" v-model="pageForm.lb" class="ml10"
|
||||||
@change="doSearch()"
|
@change="doSearch()"
|
||||||
v-if="pageForm.state=='1'">
|
v-if="pageForm.state=='1'">
|
||||||
@@ -558,22 +559,22 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<span class="ml10"
|
<span class="ml10"
|
||||||
style="color: red">当前报名人数有教职工{{applyNum.count1}}人,家属有{{applyNum.count2}}人</span>
|
style="color: red">当前报名人数有教职工{{applyNum.count1}}人,家属有{{applyNum.count2}}人</span>
|
||||||
</template>
|
</template>
|
||||||
<template #func>
|
<template>
|
||||||
<!-- <el-button icon="el-icon-s-promotion" @click="openImport" size="small"
|
<!-- <el-button icon="el-icon-s-promotion" @click="openImport" size="small"
|
||||||
type="primary">参加人员导入
|
type="primary">参加人员导入
|
||||||
</el-button>-->
|
</el-button>-->
|
||||||
<!--# if(@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasAnyRoles('H04,sysadmin')){ #-->
|
<!--# if(@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasAnyRoles('H04,sysadmin')){ #-->
|
||||||
<template>
|
<template>
|
||||||
<el-button icon="el-icon-s-promotion"
|
<el-button icon="el-icon-s-promotion"
|
||||||
@click="$downloadFile('/platform/inclusiveTherapyV3/query/exportDeclareForm')"
|
@click="downloadFile('/platform/inclusiveTherapyV3/query/exportDeclareForm')"
|
||||||
size="small" type="primary">申报表导出
|
size="small" type="primary">申报表导出
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button icon="el-icon-s-promotion"
|
<el-button icon="el-icon-s-promotion"
|
||||||
@click="$downloadFile('/platform/inclusiveTherapyV3/query/exportTravelers?year=' + pageForm.year)"
|
@click="downloadFile('/platform/inclusiveTherapyV3/query/exportTravelers?year=' + pageForm.year)"
|
||||||
size="small" type="primary">出行人员导出
|
size="small" type="primary">出行人员导出
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button icon="el-icon-s-promotion"
|
<el-button icon="el-icon-s-promotion"
|
||||||
@click="$downloadFile('/platform/inclusiveTherapyV3/query/exportSignUser?year=' + pageForm.year)"
|
@click="downloadFile('/platform/inclusiveTherapyV3/query/exportSignUser?year=' + pageForm.year)"
|
||||||
size="small" type="primary">本分工会报名人员导出
|
size="small" type="primary">本分工会报名人员导出
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
@@ -612,7 +613,17 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<el-radio-button label="省外">省外</el-radio-button>
|
<el-radio-button label="省外">省外</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</template>
|
</template>
|
||||||
</therapy-table-tool>
|
<el-button icon="el-icon-refresh" @click="doSearch" circle></el-button>
|
||||||
|
<el-dropdown @command="tableSizeChange">
|
||||||
|
<el-button icon="el-icon-c-scale-to-original" circle></el-button>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="mini">Mini</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="small">Small</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="medium">Medium</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="">Large</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
|
</table-tool>
|
||||||
|
|
||||||
<el-table :key="pageForm.state + '-' + pageForm.lb" :data="tableData" style="width: 100%"
|
<el-table :key="pageForm.state + '-' + pageForm.lb" :data="tableData" style="width: 100%"
|
||||||
ref="table"
|
ref="table"
|
||||||
@@ -636,7 +647,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
align="center"
|
align="center"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
v-for="column in tableColumns" :key="column.prop"
|
v-for="column in tableColumns.filter(column => column.visible !== false)" :key="column.prop"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
:label="column.label"
|
:label="column.label"
|
||||||
:prop="column.prop"
|
:prop="column.prop"
|
||||||
@@ -682,7 +693,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</template>
|
</template>
|
||||||
<template v-else-if="column.prop=='stateId'">
|
<template v-else-if="column.prop=='stateId'">
|
||||||
<span v-if="row.stateId">
|
<span v-if="row.stateId">
|
||||||
<vi-table-state :state="row"></vi-table-state>
|
<span :style="{color: row.stateColor}">{{ row.stateName }}</span>
|
||||||
</span>
|
</span>
|
||||||
<span v-else style="color: #67C23A">暂无</span>
|
<span v-else style="color: #67C23A">暂无</span>
|
||||||
</template>
|
</template>
|
||||||
@@ -995,7 +1006,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<el-timeline-item timestamp="下载模板" placement="top">
|
<el-timeline-item timestamp="下载模板" placement="top">
|
||||||
<el-card>
|
<el-card>
|
||||||
<el-button size="small" type=""
|
<el-button size="small" type=""
|
||||||
@click="$downloadFile('/platform/inclusiveTherapyV3/common/downloadTemplate?filePath=travel/TravelEnrollImport.xlsx&fileName=参加人员导入模板.xls')"
|
@click="downloadFile('/platform/inclusiveTherapyV3/common/downloadTemplate?filePath=travel/TravelEnrollImport.xlsx&fileName=参加人员导入模板.xls')"
|
||||||
icon="el-icon-download">下载模板
|
icon="el-icon-download">下载模板
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-card>
|
</el-card>
|
||||||
@@ -1184,7 +1195,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<script>
|
<script>
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [therapyTableMixins],
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
lotId: "",
|
lotId: "",
|
||||||
@@ -1356,7 +1367,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.$message.warning('请勾选需要报销的报名信息')
|
this.$message.warning('请勾选需要报销的报名信息')
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doReimbursement')
|
this._therapyActions.delete('doReimbursement')
|
||||||
}
|
}
|
||||||
@@ -1408,7 +1419,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doDelete')
|
this._therapyActions.delete('doDelete')
|
||||||
}
|
}
|
||||||
@@ -1424,9 +1435,9 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
if (this._therapyActions.has('doEdit')) return
|
if (this._therapyActions.has('doEdit')) return
|
||||||
this._therapyActions.add('doEdit')
|
this._therapyActions.add('doEdit')
|
||||||
try {
|
try {
|
||||||
return await this.$validateForm(this.$refs['editForm']).then(async valid => {
|
return await this.validateForm(this.$refs['editForm']).then(async valid => {
|
||||||
if (!valid) return
|
if (!valid) return
|
||||||
const confirm = await this.$confirmAction('您确定要修改这位老师的报名信息吗?', '提示', {
|
const confirm = await this.confirmAction('您确定要修改这位老师的报名信息吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -1447,7 +1458,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doEdit')
|
this._therapyActions.delete('doEdit')
|
||||||
}
|
}
|
||||||
@@ -1557,7 +1568,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doAttend')
|
this._therapyActions.delete('doAttend')
|
||||||
}
|
}
|
||||||
@@ -1585,7 +1596,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
await this.doSearch()
|
await this.doSearch()
|
||||||
},
|
},
|
||||||
async doEmail(row) {
|
async doEmail(row) {
|
||||||
const confirm = await this.$confirmAction('您将发送文件到旅行社邮箱!, 是否继续?', '提示', {
|
const confirm = await this.confirmAction('您将发送文件到旅行社邮箱!, 是否继续?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -1600,7 +1611,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async doRemind(row) {
|
async doRemind(row) {
|
||||||
const confirm = await this.$confirmAction('您将发送提醒!, 是否继续?', '提示', {
|
const confirm = await this.confirmAction('您将发送提醒!, 是否继续?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -1628,7 +1639,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
linePlayTime,
|
linePlayTime,
|
||||||
} = this.pageForm
|
} = this.pageForm
|
||||||
let types = this.pageForm.state == 1 ? JSON.stringify(['line']) : JSON.stringify(['travel'])
|
let types = this.pageForm.state == 1 ? JSON.stringify(['line']) : JSON.stringify(['travel'])
|
||||||
this.$downloadFile("/platform/inclusiveTherapyV3/user/query/doExport?" +
|
this.downloadFile("/platform/inclusiveTherapyV3/user/query/doExport?" +
|
||||||
"searchName=" + searchName +
|
"searchName=" + searchName +
|
||||||
"&searchKeyword=" + searchKeyword +
|
"&searchKeyword=" + searchKeyword +
|
||||||
"&startYear=" + year +
|
"&startYear=" + year +
|
||||||
@@ -1657,7 +1668,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
linePlayTime,
|
linePlayTime,
|
||||||
} = this.pageForm
|
} = this.pageForm
|
||||||
let types = this.pageForm.state == 1 ? JSON.stringify(['line']) : JSON.stringify(['travel'])
|
let types = this.pageForm.state == 1 ? JSON.stringify(['line']) : JSON.stringify(['travel'])
|
||||||
this.$downloadFile("/platform/inclusiveTherapyV3/user/query/doExportExcel?" +
|
this.downloadFile("/platform/inclusiveTherapyV3/user/query/doExportExcel?" +
|
||||||
"searchName=" + searchName +
|
"searchName=" + searchName +
|
||||||
"&searchKeyword=" + searchKeyword +
|
"&searchKeyword=" + searchKeyword +
|
||||||
"&startYear=" + year +
|
"&startYear=" + year +
|
||||||
@@ -1757,13 +1768,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.$refs.guava.edit()
|
this.$refs.guava.edit()
|
||||||
},
|
},
|
||||||
openLine(row) {
|
openLine(row) {
|
||||||
this.$refs.guava.public()
|
this.openGuavaDetail('public', 'viewLineInfo', 'findOne', row.lineId, (row.regionalNature === "省内" ? null : row.usUnionId))
|
||||||
if (row.regionalNature === "省内") {
|
|
||||||
this.$refs.viewLineInfo.findOne(row.lineId, null)
|
|
||||||
} else {
|
|
||||||
this.$refs.viewLineInfo.findOne(row.lineId, row.usUnionId)
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
async pageOrder1(column) {
|
async pageOrder1(column) {
|
||||||
this.pageForm.pageOrderName = column.prop;
|
this.pageForm.pageOrderName = column.prop;
|
||||||
@@ -1826,8 +1831,8 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
{prop: 'unionname', label: '创建工会', sortable: true},
|
{prop: 'unionname', label: '创建工会', sortable: true},
|
||||||
{prop: 'regionalNature', label: '线路类型', sortable: true},
|
{prop: 'regionalNature', label: '线路类型', sortable: true},
|
||||||
{prop: 'signUpMode', label: '组织形式', sortable: true},
|
{prop: 'signUpMode', label: '组织形式', sortable: true},
|
||||||
{prop: 'contact', label: '联系人', sortable: true, checked: 0},
|
{prop: 'contact', label: '联系人', sortable: true, visible: false},
|
||||||
{prop: 'contactMobileNumber', label: '联系方式', checked: 0},
|
{prop: 'contactMobileNumber', label: '联系方式', visible: false},
|
||||||
{prop: 'lineNum', label: '报名人数(家属)'}
|
{prop: 'lineNum', label: '报名人数(家属)'}
|
||||||
]
|
]
|
||||||
await this.getXlData()
|
await this.getXlData()
|
||||||
@@ -1890,12 +1895,11 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
await this.getApplyNum()
|
await this.getApplyNum()
|
||||||
await this.$nextTick()
|
await this.$nextTick()
|
||||||
if (this.$refs.table_tool) this.$refs.table_tool.getColumns()
|
|
||||||
|
|
||||||
},
|
},
|
||||||
async flushUnits() {
|
async flushUnits() {
|
||||||
if (this.pageForm.unionId) {
|
if (this.pageForm.unionId) {
|
||||||
this.unitOptions = await getUnits(this.pageForm.unionId)
|
this.unitOptions = await this.getTherapyUnits(this.pageForm.unionId)
|
||||||
} else {
|
} else {
|
||||||
this.unitOptions = []
|
this.unitOptions = []
|
||||||
this.$set(this.pageForm, "unitId", "")
|
this.$set(this.pageForm, "unitId", "")
|
||||||
@@ -2043,7 +2047,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
this.importLoading = true
|
this.importLoading = true
|
||||||
try {
|
try {
|
||||||
const resp = await this.$importExcel('/platform/inclusiveTherapyV3/user/query/enrollImport', files)
|
const resp = await this.importExcel('/platform/inclusiveTherapyV3/user/query/enrollImport', files)
|
||||||
if (resp.code === 0) {
|
if (resp.code === 0) {
|
||||||
this.notifySuccess(resp.msg || '导入成功')
|
this.notifySuccess(resp.msg || '导入成功')
|
||||||
this.pageData()
|
this.pageData()
|
||||||
@@ -2052,7 +2056,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg || '导入失败')
|
this.notifyWarning(resp.msg || '导入失败')
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this.importLoading = false
|
this.importLoading = false
|
||||||
}
|
}
|
||||||
@@ -2073,8 +2077,8 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
},
|
},
|
||||||
async created() {
|
async created() {
|
||||||
await this.getModifyConfig()
|
await this.getModifyConfig()
|
||||||
this.signUpModeList = await getEnumOptions('TheRapyRecuperationSignUpMode')
|
this.signUpModeList = await this.getTherapyOptions('TheRapyRecuperationSignUpMode')
|
||||||
this.unionOptions = await getUnions()
|
this.unionOptions = await this.getTherapyUnions()
|
||||||
await this.getAgencyList()
|
await this.getAgencyList()
|
||||||
await this.getApplyNumAudit()
|
await this.getApplyNumAudit()
|
||||||
if ("${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('H04')}" === 'true' && "${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('sysadmin')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('A06')}" === 'false') {
|
if ("${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('H04')}" === 'true' && "${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('sysadmin')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('A06')}" === 'false') {
|
||||||
|
|||||||
+37
-33
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
|
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@@ -207,8 +208,8 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
|
|
||||||
<el-card shadow="never" class="mt10">
|
<el-card shadow="never" class="mt10">
|
||||||
|
|
||||||
<table-tool label="人员列表" :app="this">
|
<table-tool label="人员列表" :columns.sync="tableColumns">
|
||||||
<template #func>
|
<template>
|
||||||
<el-button icon="el-icon-s-promotion" size="small" type="primary"
|
<el-button icon="el-icon-s-promotion" size="small" type="primary"
|
||||||
@click="doExport"
|
@click="doExport"
|
||||||
v-if="pageForm.state">导出
|
v-if="pageForm.state">导出
|
||||||
@@ -241,6 +242,16 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
<el-button icon="el-icon-refresh" @click="doSearch" circle></el-button>
|
||||||
|
<el-dropdown @command="tableSizeChange">
|
||||||
|
<el-button icon="el-icon-c-scale-to-original" circle></el-button>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="mini">Mini</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="small">Small</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="medium">Medium</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="">Large</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
</table-tool>
|
</table-tool>
|
||||||
|
|
||||||
<el-table :data="tableData" style="width: 100%"
|
<el-table :data="tableData" style="width: 100%"
|
||||||
@@ -260,7 +271,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
align="center"
|
align="center"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
v-for="column in tableColumns" :key="column.prop"
|
v-for="column in tableColumns.filter(column => column.visible !== false)" :key="column.prop"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
:label="column.label"
|
:label="column.label"
|
||||||
:prop="column.prop"
|
:prop="column.prop"
|
||||||
@@ -395,7 +406,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<el-timeline-item timestamp="下载模板" placement="top">
|
<el-timeline-item timestamp="下载模板" placement="top">
|
||||||
<el-card>
|
<el-card>
|
||||||
<el-button size="medium" type=""
|
<el-button size="medium" type=""
|
||||||
@click="$downloadFile('/platform/inclusiveTherapyV3/common/downloadTemplate?filePath=travel/TravelEnrollImport.xlsx&fileName=参加人员导入模板.xls')"
|
@click="downloadFile('/platform/inclusiveTherapyV3/common/downloadTemplate?filePath=travel/TravelEnrollImport.xlsx&fileName=参加人员导入模板.xls')"
|
||||||
icon="el-icon-download">下载模板
|
icon="el-icon-download">下载模板
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-card>
|
</el-card>
|
||||||
@@ -709,7 +720,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<script>
|
<script>
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [therapyTableMixins],
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
jdList: [],
|
jdList: [],
|
||||||
@@ -739,10 +750,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
{prop: 'regionalNature', label: '线路类型'},
|
{prop: 'regionalNature', label: '线路类型'},
|
||||||
{prop: 'lotName', label: '标段'},
|
{prop: 'lotName', label: '标段'},
|
||||||
{prop: 'isFamily', label: '是否携带家属'},
|
{prop: 'isFamily', label: '是否携带家属'},
|
||||||
{prop: 'signingUptime', label: '报名时间', checked: 0},
|
{prop: 'signingUptime', label: '报名时间', visible: false},
|
||||||
{prop: 'isTakePartIn', label: '是否参加'},
|
{prop: 'isTakePartIn', label: '是否参加'},
|
||||||
{prop: 'reimbursementStatus', label: '是否报销'},
|
{prop: 'reimbursementStatus', label: '是否报销'},
|
||||||
{prop: 'takePartInTime', label: '参加时间', checked: 0},
|
{prop: 'takePartInTime', label: '参加时间', visible: false},
|
||||||
],
|
],
|
||||||
pageForm: {
|
pageForm: {
|
||||||
startYear: moment().format('YYYY'),
|
startYear: moment().format('YYYY'),
|
||||||
@@ -1020,7 +1031,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.$message.warning('请勾选需要报销的报名信息')
|
this.$message.warning('请勾选需要报销的报名信息')
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doReimbursement')
|
this._therapyActions.delete('doReimbursement')
|
||||||
}
|
}
|
||||||
@@ -1060,7 +1071,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
isTakePartIn,
|
isTakePartIn,
|
||||||
} = this.pageForm
|
} = this.pageForm
|
||||||
let types = this.pageForm.state == 1 ? JSON.stringify(['line']) : JSON.stringify(['travel'])
|
let types = this.pageForm.state == 1 ? JSON.stringify(['line']) : JSON.stringify(['travel'])
|
||||||
this.$downloadFile(loc() + "/doExport?takePartInBaseManagementId=" + takePartInBaseManagementId +
|
this.downloadFile(loc() + "/doExport?takePartInBaseManagementId=" + takePartInBaseManagementId +
|
||||||
"&searchName=" + searchName +
|
"&searchName=" + searchName +
|
||||||
"&searchKeyword=" + searchKeyword +
|
"&searchKeyword=" + searchKeyword +
|
||||||
"&startYear=" + startYear +
|
"&startYear=" + startYear +
|
||||||
@@ -1096,7 +1107,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
linePlayTime,
|
linePlayTime,
|
||||||
isTakePartIn,
|
isTakePartIn,
|
||||||
} = this.pageForm
|
} = this.pageForm
|
||||||
this.$downloadFile(loc() + "/doExportViewExcel?takePartInBaseManagementId=" + takePartInBaseManagementId +
|
this.downloadFile(loc() + "/doExportViewExcel?takePartInBaseManagementId=" + takePartInBaseManagementId +
|
||||||
"&searchName=" + searchName +
|
"&searchName=" + searchName +
|
||||||
"&searchKeyword=" + searchKeyword +
|
"&searchKeyword=" + searchKeyword +
|
||||||
"&startYear=" + startYear +
|
"&startYear=" + startYear +
|
||||||
@@ -1126,9 +1137,9 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
if (this._therapyActions.has('doEdit')) return
|
if (this._therapyActions.has('doEdit')) return
|
||||||
this._therapyActions.add('doEdit')
|
this._therapyActions.add('doEdit')
|
||||||
try {
|
try {
|
||||||
return await this.$validateForm(this.$refs['editForm']).then(async valid => {
|
return await this.validateForm(this.$refs['editForm']).then(async valid => {
|
||||||
if (!valid) return
|
if (!valid) return
|
||||||
const confirm = await this.$confirmAction('您确定要修改这位老师的报名信息吗?', '提示', {
|
const confirm = await this.confirmAction('您确定要修改这位老师的报名信息吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -1149,7 +1160,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doEdit')
|
this._therapyActions.delete('doEdit')
|
||||||
}
|
}
|
||||||
@@ -1278,7 +1289,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doAttend')
|
this._therapyActions.delete('doAttend')
|
||||||
}
|
}
|
||||||
@@ -1347,10 +1358,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
{prop: 'unionName', label: '工会', sortable: true},
|
{prop: 'unionName', label: '工会', sortable: true},
|
||||||
{prop: 'travelAgencyName', label: '旅行社'},
|
{prop: 'travelAgencyName', label: '旅行社'},
|
||||||
{prop: 'isFamily', label: '是否携带家属'},
|
{prop: 'isFamily', label: '是否携带家属'},
|
||||||
{prop: 'signingUptime', label: '报名时间', checked: 0},
|
{prop: 'signingUptime', label: '报名时间', visible: false},
|
||||||
{prop: 'isTakePartIn', label: '是否参加'},
|
{prop: 'isTakePartIn', label: '是否参加'},
|
||||||
{prop: 'reimbursementStatus', label: '是否报销'},
|
{prop: 'reimbursementStatus', label: '是否报销'},
|
||||||
{prop: 'takePartInTime', label: '参加时间', checked: 0},
|
{prop: 'takePartInTime', label: '参加时间', visible: false},
|
||||||
]
|
]
|
||||||
} else {
|
} else {
|
||||||
this.tableColumns = [
|
this.tableColumns = [
|
||||||
@@ -1364,10 +1375,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
{prop: 'regionalNature', label: '线路类型'},
|
{prop: 'regionalNature', label: '线路类型'},
|
||||||
{prop: 'lotName', label: '标段'},
|
{prop: 'lotName', label: '标段'},
|
||||||
{prop: 'isFamily', label: '是否携带家属'},
|
{prop: 'isFamily', label: '是否携带家属'},
|
||||||
{prop: 'signingUptime', label: '报名时间', checked: 0},
|
{prop: 'signingUptime', label: '报名时间', visible: false},
|
||||||
{prop: 'isTakePartIn', label: '是否参加'},
|
{prop: 'isTakePartIn', label: '是否参加'},
|
||||||
{prop: 'reimbursementStatus', label: '是否报销'},
|
{prop: 'reimbursementStatus', label: '是否报销'},
|
||||||
{prop: 'takePartInTime', label: '参加时间', checked: 0},
|
{prop: 'takePartInTime', label: '参加时间', visible: false},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1379,17 +1390,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
},
|
},
|
||||||
|
|
||||||
openView(row) {
|
openView(row) {
|
||||||
this.$refs.guava.view()
|
this.openGuavaDetail('view', 'viewEnrollInfo', 'openView', row.id)
|
||||||
this.$refs.viewEnrollInfo.openView(row.id)
|
|
||||||
},
|
},
|
||||||
openLine(row) {
|
openLine(row) {
|
||||||
this.$refs.guava.public()
|
this.openGuavaDetail('public', 'viewLineInfo', 'findOne', row.takePartInLineId, (row.regionalNature === "省内" ? null : row.usUnionId))
|
||||||
if (row.regionalNature === "省内") {
|
|
||||||
this.$refs.viewLineInfo.findOne(row.takePartInLineId, null)
|
|
||||||
} else {
|
|
||||||
this.$refs.viewLineInfo.findOne(row.takePartInLineId, row.usUnionId)
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
getXlByUnion() {
|
getXlByUnion() {
|
||||||
return $.post("/platform/inclusiveTherapyV3/TheRapyAudit/getXlByUnion", {
|
return $.post("/platform/inclusiveTherapyV3/TheRapyAudit/getXlByUnion", {
|
||||||
@@ -1421,11 +1425,11 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
async flushUnits() {
|
async flushUnits() {
|
||||||
this.$set(this.pageForm, "unitId", "")
|
this.$set(this.pageForm, "unitId", "")
|
||||||
if ("${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('sysadmin')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('A06')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('H03')}" === 'true') {
|
if ("${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('sysadmin')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('A06')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('H03')}" === 'true') {
|
||||||
this.unitOptions = await getUnits(this.pageForm.unionId)
|
this.unitOptions = await this.getTherapyUnits(this.pageForm.unionId)
|
||||||
} else {
|
} else {
|
||||||
this.unionOptions = this.unionOptions.filter(v => v.id === "${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.getUnionId()}")
|
this.unionOptions = this.unionOptions.filter(v => v.id === "${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.getUnionId()}")
|
||||||
this.$set(this.pageForm, "unionId", this.unionOptions[0].id)
|
this.$set(this.pageForm, "unionId", this.unionOptions[0].id)
|
||||||
this.unitOptions = await getUnits("${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.getUnionId()}")
|
this.unitOptions = await this.getTherapyUnits("${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.getUnionId()}")
|
||||||
}
|
}
|
||||||
await this.doSearch()
|
await this.doSearch()
|
||||||
},
|
},
|
||||||
@@ -1469,7 +1473,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
this.importLoading = true
|
this.importLoading = true
|
||||||
try {
|
try {
|
||||||
const resp = await this.$importExcel('/platform/inclusiveTherapyV3/user/query/enrollImport', files)
|
const resp = await this.importExcel('/platform/inclusiveTherapyV3/user/query/enrollImport', files)
|
||||||
if (resp.code === 0) {
|
if (resp.code === 0) {
|
||||||
this.notifySuccess(resp.msg || '导入成功')
|
this.notifySuccess(resp.msg || '导入成功')
|
||||||
this.pageData()
|
this.pageData()
|
||||||
@@ -1478,7 +1482,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg || '导入失败')
|
this.notifyWarning(resp.msg || '导入失败')
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this.importLoading = false
|
this.importLoading = false
|
||||||
}
|
}
|
||||||
@@ -1502,7 +1506,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
await this.getModifyConfig()
|
await this.getModifyConfig()
|
||||||
await this.getAgencyList()
|
await this.getAgencyList()
|
||||||
await this.getUnionSelectLine();
|
await this.getUnionSelectLine();
|
||||||
this.unionOptions = await getUnions(null)
|
this.unionOptions = await this.getTherapyUnions(null)
|
||||||
this.flushUnits()
|
this.flushUnits()
|
||||||
await this.getXlLxsUserCount()
|
await this.getXlLxsUserCount()
|
||||||
this.pageData()
|
this.pageData()
|
||||||
|
|||||||
+5
-4
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.card-body-center-bottom {
|
.card-body-center-bottom {
|
||||||
@@ -156,7 +157,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<script>
|
<script>
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [therapyTableMixins],
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
@@ -248,7 +249,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
this.stepActive++
|
this.stepActive++
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('next')
|
this._therapyActions.delete('next')
|
||||||
}
|
}
|
||||||
@@ -264,7 +265,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
downloadTemplate() {
|
downloadTemplate() {
|
||||||
this.$downloadFile(loc() + '/downloadTemplate')
|
this.downloadFile(loc() + '/downloadTemplate')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
updated() {
|
updated() {
|
||||||
|
|||||||
+63
-52
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.companion_card {
|
.companion_card {
|
||||||
@@ -20,10 +21,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
<guava ref="guava">
|
<guava ref="guava">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<div class="search">
|
<search :is-search-button="false">
|
||||||
<div class="search-item">
|
<search-item label="年度:">
|
||||||
<div class="search-item-label">年度:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
@change="doSearch"
|
@change="doSearch"
|
||||||
placeholder="选择年度"
|
placeholder="选择年度"
|
||||||
@@ -32,11 +33,11 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
v-model="pageForm.year"
|
v-model="pageForm.year"
|
||||||
value-format="yyyy">
|
value-format="yyyy">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
<div class="search-item">
|
<search-item label="线路:">
|
||||||
<div class="search-item-label">线路:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-select @change="doSearch"
|
<el-select @change="doSearch"
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
@@ -46,22 +47,22 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
:value="item.id"
|
:value="item.id"
|
||||||
v-for="(item, therapyIndex) in schoolFreeLineList" :key="item.id || item.code || therapyIndex"></el-option>
|
v-for="(item, therapyIndex) in schoolFreeLineList" :key="item.id || item.code || therapyIndex"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
<div class="search-item">
|
<search-item label="关键字:">
|
||||||
<div class="search-item-label">关键字:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-input @keyup.enter.native="doSearch" clearable clearable
|
<el-input @keyup.enter.native="doSearch" clearable clearable
|
||||||
placeholder="请输入内容"
|
placeholder="请输入内容"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="pageForm.keywords">
|
v-model="pageForm.keywords">
|
||||||
</el-input>
|
</el-input>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search-item" v-if="${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('sysadmin')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('A06')}">
|
</search-item>
|
||||||
<div class="search-item-label">分工会:</div>
|
|
||||||
<div class="search-item-option">
|
<search-item label="分工会:">
|
||||||
|
|
||||||
|
|
||||||
<el-select @change="doSearch"
|
<el-select @change="doSearch"
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
@@ -72,23 +73,23 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
:value="item.id"
|
:value="item.id"
|
||||||
v-for="item in unionOptions"></el-option>
|
v-for="item in unionOptions"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search-item">
|
</search-item>
|
||||||
<div class="search-item-label">线路类型:</div>
|
|
||||||
<div class="search-item-option">
|
<search-item label="线路类型:">
|
||||||
|
|
||||||
|
|
||||||
<el-select placeholder="请选择线路类型" style="width: 100%"
|
<el-select placeholder="请选择线路类型" style="width: 100%"
|
||||||
v-model="pageForm.regionalNature">
|
v-model="pageForm.regionalNature">
|
||||||
<el-option :value="item.value" :label="item.label"
|
<el-option :value="item.value" :label="item.label"
|
||||||
v-for="(item, therapyIndex) in regionalNatureList" :key="item.id || item.code || therapyIndex"></el-option>
|
v-for="(item, therapyIndex) in regionalNatureList" :key="item.id || item.code || therapyIndex"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search-item">
|
</search-item>
|
||||||
<div class="search-item-label">时间标段:</div>
|
|
||||||
<div class="search-item-option">
|
<search-item label="时间标段:">
|
||||||
|
|
||||||
|
|
||||||
<el-select @change="doSearch" clearable filterable
|
<el-select @change="doSearch" clearable filterable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="pageForm.lotId">
|
v-model="pageForm.lotId">
|
||||||
@@ -98,20 +99,30 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
v-for="item in lotList"
|
v-for="item in lotList"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
|
|
||||||
<div class="search-query">
|
<div class="search-query">
|
||||||
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</search>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card class="mt10" shadow="never">
|
<el-card class="mt10" shadow="never">
|
||||||
<table-tool :app="this" label="线路列表">
|
<table-tool :columns.sync="tableColumns" label="线路列表">
|
||||||
<template #func>
|
<template>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
<el-button icon="el-icon-refresh" @click="doSearch" circle></el-button>
|
||||||
|
<el-dropdown @command="tableSizeChange">
|
||||||
|
<el-button icon="el-icon-c-scale-to-original" circle></el-button>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="mini">Mini</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="small">Small</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="medium">Medium</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="">Large</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
</table-tool>
|
</table-tool>
|
||||||
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder"
|
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder"
|
||||||
align="center"
|
align="center"
|
||||||
@@ -126,7 +137,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
header-align="center"
|
header-align="center"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
:width="column.width"
|
:width="column.width"
|
||||||
v-for="column in tableColumns" :key="column.prop"
|
v-for="column in tableColumns.filter(column => column.visible !== false)" :key="column.prop"
|
||||||
>
|
>
|
||||||
<template slot-scope="{row:{signUpMode}}" v-if="column.prop==='signUpMode'">
|
<template slot-scope="{row:{signUpMode}}" v-if="column.prop==='signUpMode'">
|
||||||
{{signUpModeName(signUpMode)}}
|
{{signUpModeName(signUpMode)}}
|
||||||
@@ -171,15 +182,15 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<template #edit>
|
<template #edit>
|
||||||
<vi-title2 title="报名人员">
|
<table-tool label="报名人员">
|
||||||
<template #func>
|
<template>
|
||||||
<el-button @click="aKeyToAdjust" size="small" type="primary">一键调整
|
<el-button @click="aKeyToAdjust" size="small" type="primary">一键调整
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
||||||
<el-button @click="smsAlerts" size="small" type="primary">短信提醒
|
<el-button @click="smsAlerts" size="small" type="primary">短信提醒
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</vi-title2>
|
</table-tool>
|
||||||
|
|
||||||
<el-table :row-class-name="getRowClassName" :cell-class-name="getColumnClassName"
|
<el-table :row-class-name="getRowClassName" :cell-class-name="getColumnClassName"
|
||||||
:data="schoolFreeSignUpUserList" ref="adjustTable">
|
:data="schoolFreeSignUpUserList" ref="adjustTable">
|
||||||
@@ -245,7 +256,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<script>
|
<script>
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [therapyTableMixins],
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
components: {
|
components: {
|
||||||
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
|
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
|
||||||
},
|
},
|
||||||
@@ -325,7 +336,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this.tableLoading = false
|
this.tableLoading = false
|
||||||
}
|
}
|
||||||
@@ -350,7 +361,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this._therapyActions.add('adjustmentUser')
|
this._therapyActions.add('adjustmentUser')
|
||||||
try {
|
try {
|
||||||
const msg = isNormal ? '确定要调整吗?' : '确定要恢复吗?'
|
const msg = isNormal ? '确定要调整吗?' : '确定要恢复吗?'
|
||||||
const confirm = await this.$confirmAction(msg, '提示', {
|
const confirm = await this.confirmAction(msg, '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -365,7 +376,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('adjustmentUser')
|
this._therapyActions.delete('adjustmentUser')
|
||||||
}
|
}
|
||||||
@@ -380,7 +391,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const confirm = await this.$confirmAction('您确定要一键调整吗', '提示', {
|
const confirm = await this.confirmAction('您确定要一键调整吗', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -404,7 +415,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('aKeyToAdjust')
|
this._therapyActions.delete('aKeyToAdjust')
|
||||||
}
|
}
|
||||||
@@ -418,7 +429,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning('请选择需要发送短信通知的人员')
|
this.notifyWarning('请选择需要发送短信通知的人员')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const confirm = await this.$confirmAction('此操作会向已调整的人员发送短信,您确定要发送短信提醒吗?', '提示', {
|
const confirm = await this.confirmAction('此操作会向已调整的人员发送短信,您确定要发送短信提醒吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -443,7 +454,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('smsAlerts')
|
this._therapyActions.delete('smsAlerts')
|
||||||
}
|
}
|
||||||
@@ -460,7 +471,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('lineStatusChange')
|
this._therapyActions.delete('lineStatusChange')
|
||||||
}
|
}
|
||||||
@@ -472,10 +483,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
},
|
},
|
||||||
async created() {
|
async created() {
|
||||||
await this.getConfigData()
|
await this.getConfigData()
|
||||||
this.createModeList = await getEnumOptions('TheRapyRecuperationLineCreateMode')
|
this.createModeList = await this.getTherapyOptions('TheRapyRecuperationLineCreateMode')
|
||||||
this.signUpModeList = await getEnumOptions('TheRapyRecuperationSignUpMode')
|
this.signUpModeList = await this.getTherapyOptions('TheRapyRecuperationSignUpMode')
|
||||||
this.regionalNatureList = await getEnumOptions('TheRapyRecuperationProvinceType')
|
this.regionalNatureList = await this.getTherapyOptions('TheRapyRecuperationProvinceType')
|
||||||
this.unionOptions = await getUnions(null)
|
this.unionOptions = await this.getTherapyUnions(null)
|
||||||
await this.findUnionSignUpModeLineList()
|
await this.findUnionSignUpModeLineList()
|
||||||
this.lotList = this.getLotList()
|
this.lotList = this.getLotList()
|
||||||
await this.pageData()
|
await this.pageData()
|
||||||
|
|||||||
+42
-33
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.item {
|
.item {
|
||||||
@@ -48,10 +49,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
<guava ref="guava">
|
<guava ref="guava">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<div class="search">
|
<search :is-search-button="false">
|
||||||
<div class="search-item">
|
<search-item label="年度:">
|
||||||
<div class="search-item-label">年度:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
@change="doSearch"
|
@change="doSearch"
|
||||||
placeholder="选择年度"
|
placeholder="选择年度"
|
||||||
@@ -60,22 +61,22 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
v-model="pageForm.year"
|
v-model="pageForm.year"
|
||||||
value-format="yyyy">
|
value-format="yyyy">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
<div class="search-item">
|
<search-item label="线路名称:">
|
||||||
<div class="search-item-label">线路名称:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-input @keyup.enter.native="doSearch" clearable
|
<el-input @keyup.enter.native="doSearch" clearable
|
||||||
placeholder="请输入内容"
|
placeholder="请输入内容"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="pageForm.keywords">
|
v-model="pageForm.keywords">
|
||||||
</el-input>
|
</el-input>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search-item" v-if="${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('sysadmin')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('A06')}">
|
</search-item>
|
||||||
<div class="search-item-label">分工会:</div>
|
|
||||||
<div class="search-item-option">
|
<search-item label="分工会:">
|
||||||
|
|
||||||
|
|
||||||
<el-select @change="doSearch" clearable filterable style="width: 100%"
|
<el-select @change="doSearch" clearable filterable style="width: 100%"
|
||||||
v-model="pageForm.unionId">
|
v-model="pageForm.unionId">
|
||||||
<el-option :key="item.id"
|
<el-option :key="item.id"
|
||||||
@@ -83,20 +84,30 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
:value="item.id"
|
:value="item.id"
|
||||||
v-for="item in unionOptions"></el-option>
|
v-for="item in unionOptions"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
|
|
||||||
<div class="search-query">
|
<div class="search-query">
|
||||||
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</search>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card class="mt10" shadow="never">
|
<el-card class="mt10" shadow="never">
|
||||||
<table-tool :app="this" label="线路列表">
|
<table-tool :columns.sync="tableColumns" label="线路列表">
|
||||||
<template #func>
|
<template>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
<el-button icon="el-icon-refresh" @click="doSearch" circle></el-button>
|
||||||
|
<el-dropdown @command="tableSizeChange">
|
||||||
|
<el-button icon="el-icon-c-scale-to-original" circle></el-button>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="mini">Mini</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="small">Small</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="medium">Medium</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="">Large</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
</table-tool>
|
</table-tool>
|
||||||
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder"
|
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder"
|
||||||
align="center"
|
align="center"
|
||||||
@@ -110,7 +121,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
align="center"
|
align="center"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
v-for="column in tableColumns" :key="column.prop"
|
v-for="column in tableColumns.filter(column => column.visible !== false)" :key="column.prop"
|
||||||
>
|
>
|
||||||
<template slot-scope="{row:{signUpMode}}" v-if="column.prop==='signUpMode'">
|
<template slot-scope="{row:{signUpMode}}" v-if="column.prop==='signUpMode'">
|
||||||
{{signUpModeName(signUpMode)}}
|
{{signUpModeName(signUpMode)}}
|
||||||
@@ -218,7 +229,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
|
|
||||||
<template #view>
|
<template #view>
|
||||||
<div>
|
<div>
|
||||||
<vi-title title="团列表"></vi-title>
|
<h3>团列表</h3>
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<el-tag :effect="item.id === selectClusterTagId ? 'dark':'light'"
|
<el-tag :effect="item.id === selectClusterTagId ? 'dark':'light'"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
@@ -230,7 +241,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
{{ item.clusterName }}
|
{{ item.clusterName }}
|
||||||
</el-tag>
|
</el-tag>
|
||||||
</el-card>
|
</el-card>
|
||||||
<vi-title class="mt10" title="人员列表"></vi-title>
|
<h3 class="mt10">人员列表</h3>
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<el-table :data="clusterTableData">
|
<el-table :data="clusterTableData">
|
||||||
<el-table-column label="序号" type="index"></el-table-column>
|
<el-table-column label="序号" type="index"></el-table-column>
|
||||||
@@ -252,7 +263,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
|
|
||||||
<el-dialog :append-to-body="true" :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">
|
<div class="mb10">
|
||||||
<vi-title2 title="原分组"></vi-title2>
|
<table-tool label="原分组"></table-tool>
|
||||||
<el-radio-group size="small" v-model="batchMoveData.originalGroup">
|
<el-radio-group size="small" v-model="batchMoveData.originalGroup">
|
||||||
<el-radio :label="item"
|
<el-radio :label="item"
|
||||||
border
|
border
|
||||||
@@ -274,7 +285,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="batchMoveData.originalGroup.members.length>0">
|
<div v-if="batchMoveData.originalGroup.members.length>0">
|
||||||
<vi-title2 title="筛选条件"></vi-title2>
|
<table-tool label="筛选条件"></table-tool>
|
||||||
|
|
||||||
<el-form label-width="80px">
|
<el-form label-width="80px">
|
||||||
<el-form-item label="分工会">
|
<el-form-item label="分工会">
|
||||||
@@ -291,7 +302,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb10" v-if="batchMoveData.originalGroup.members.length>0">
|
<div class="mb10" v-if="batchMoveData.originalGroup.members.length>0">
|
||||||
<vi-title2 title="移动后分组"></vi-title2>
|
<table-tool label="移动后分组"></table-tool>
|
||||||
<el-radio-group size="small" v-model="batchMoveData.currentGroup">
|
<el-radio-group size="small" v-model="batchMoveData.currentGroup">
|
||||||
<el-radio :disabled="item.clusterName == batchMoveData.originalGroup.clusterName"
|
<el-radio :disabled="item.clusterName == batchMoveData.originalGroup.clusterName"
|
||||||
:label="item"
|
:label="item"
|
||||||
@@ -310,13 +321,11 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/assets/platform/plugins/sortablejs/sortable.min.js"></script>
|
|
||||||
<script src="/assets/platform/plugins/vuedraggable/vuedraggable.umd.min.js"></script>
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [therapyTableMixins],
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
components: {
|
components: {
|
||||||
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
|
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
|
||||||
},
|
},
|
||||||
@@ -449,7 +458,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('setClusterMembers')
|
this._therapyActions.delete('setClusterMembers')
|
||||||
}
|
}
|
||||||
@@ -513,9 +522,9 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
|
|
||||||
},
|
},
|
||||||
async created() {
|
async created() {
|
||||||
this.createModeList = await getEnumOptions('TheRapyRecuperationLineCreateMode')
|
this.createModeList = await this.getTherapyOptions('TheRapyRecuperationLineCreateMode')
|
||||||
this.signUpModeList = await getEnumOptions('TheRapyRecuperationSignUpMode')
|
this.signUpModeList = await this.getTherapyOptions('TheRapyRecuperationSignUpMode')
|
||||||
this.unionOptions = await getUnions(null)
|
this.unionOptions = await this.getTherapyUnions(null)
|
||||||
this.pageData()
|
this.pageData()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
+55
-45
@@ -1,14 +1,15 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
|
|
||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
<guava ref="guava">
|
<guava ref="guava">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<div class="search">
|
<search :is-search-button="false">
|
||||||
<div class="search-item">
|
<search-item label="年度:">
|
||||||
<div class="search-item-label">年度:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
placeholder="选择年度"
|
placeholder="选择年度"
|
||||||
@@ -18,12 +19,12 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
value-format="yyyy"
|
value-format="yyyy"
|
||||||
:clearable="false">
|
:clearable="false">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search-item">
|
</search-item>
|
||||||
<div class="search-item-label">旅行社:</div>
|
|
||||||
<div class="search-item-option">
|
<search-item label="旅行社:">
|
||||||
|
|
||||||
|
|
||||||
<el-select @change="doSearch"
|
<el-select @change="doSearch"
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
@@ -35,36 +36,36 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
:value="item.id"
|
:value="item.id"
|
||||||
v-for="item in travelAgencyArray"></el-option>
|
v-for="item in travelAgencyArray"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search-item">
|
</search-item>
|
||||||
<div class="search-item-label">线路类型:</div>
|
|
||||||
<div class="search-item-option">
|
<search-item label="线路类型:">
|
||||||
|
|
||||||
|
|
||||||
<el-select placeholder="请选择线路类型" style="width: 100%"
|
<el-select placeholder="请选择线路类型" style="width: 100%"
|
||||||
@change="doSearch"
|
@change="doSearch"
|
||||||
v-model="pageForm.regionalNature">
|
v-model="pageForm.regionalNature">
|
||||||
<el-option :value="item.value" :label="item.label"
|
<el-option :value="item.value" :label="item.label"
|
||||||
v-for="(item, therapyIndex) in regionalNatureList" :key="item.id || item.code || therapyIndex"></el-option>
|
v-for="(item, therapyIndex) in regionalNatureList" :key="item.id || item.code || therapyIndex"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search-item">
|
</search-item>
|
||||||
<div class="search-item-label">线路名称:</div>
|
|
||||||
<div class="search-item-option">
|
<search-item label="线路名称:">
|
||||||
|
|
||||||
|
|
||||||
<el-input @keyup.enter.native="doSearch"
|
<el-input @keyup.enter.native="doSearch"
|
||||||
clearable
|
clearable
|
||||||
placeholder="请输入内容"
|
placeholder="请输入内容"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="pageForm.keywords">
|
v-model="pageForm.keywords">
|
||||||
</el-input>
|
</el-input>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search-item">
|
</search-item>
|
||||||
<div class="search-item-label">分工会:</div>
|
|
||||||
<div class="search-item-option">
|
<search-item label="分工会:">
|
||||||
|
|
||||||
|
|
||||||
<el-select @change="doSearch"
|
<el-select @change="doSearch"
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
@@ -76,12 +77,12 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
:value="item.id"
|
:value="item.id"
|
||||||
v-for="item in unionOptions"></el-option>
|
v-for="item in unionOptions"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search-item">
|
</search-item>
|
||||||
<div class="search-item-label">时间标段:</div>
|
|
||||||
<div class="search-item-option">
|
<search-item label="时间标段:">
|
||||||
|
|
||||||
|
|
||||||
<el-select @change="doSearch"
|
<el-select @change="doSearch"
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
@@ -93,20 +94,30 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
:value="item.id"
|
:value="item.id"
|
||||||
v-for="item in lotList"></el-option>
|
v-for="item in lotList"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
|
|
||||||
<div class="search-query">
|
<div class="search-query">
|
||||||
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</search>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card class="mt10" shadow="never">
|
<el-card class="mt10" shadow="never">
|
||||||
<table-tool :app="this" label="线路列表">
|
<table-tool :columns.sync="tableColumns" label="线路列表">
|
||||||
<template #func>
|
<template>
|
||||||
<el-button @click="doExportExcel" icon="el-icon-download" size="small" type="primary">导出表格</el-button>
|
<el-button @click="doExportExcel" icon="el-icon-download" size="small" type="primary">导出表格</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
<el-button icon="el-icon-refresh" @click="doSearch" circle></el-button>
|
||||||
|
<el-dropdown @command="tableSizeChange">
|
||||||
|
<el-button icon="el-icon-c-scale-to-original" circle></el-button>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="mini">Mini</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="small">Small</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="medium">Medium</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="">Large</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
</table-tool>
|
</table-tool>
|
||||||
<el-table :data="tableData"
|
<el-table :data="tableData"
|
||||||
:size="tableSize"
|
:size="tableSize"
|
||||||
@@ -130,7 +141,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
align="center"
|
align="center"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
v-for="column in tableColumns">
|
v-for="column in tableColumns.filter(column => column.visible !== false)">
|
||||||
<template slot-scope="{row}">
|
<template slot-scope="{row}">
|
||||||
<template v-if="column.prop === 'playTimes' || column.prop === 'signUpTimes'">
|
<template v-if="column.prop === 'playTimes' || column.prop === 'signUpTimes'">
|
||||||
<template v-if="row[column.prop]">
|
<template v-if="row[column.prop]">
|
||||||
@@ -400,7 +411,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<script>
|
<script>
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [therapyTableMixins],
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
components: {
|
components: {
|
||||||
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
|
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
|
||||||
},
|
},
|
||||||
@@ -493,14 +504,13 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
url += this.buildExportParam('regionalNature', this.pageForm.regionalNature)
|
url += this.buildExportParam('regionalNature', this.pageForm.regionalNature)
|
||||||
url += this.buildExportParam('pageOrderName', this.pageForm.pageOrderName)
|
url += this.buildExportParam('pageOrderName', this.pageForm.pageOrderName)
|
||||||
url += this.buildExportParam('pageOrderBy', this.pageForm.pageOrderBy)
|
url += this.buildExportParam('pageOrderBy', this.pageForm.pageOrderBy)
|
||||||
this.$downloadFile(url)
|
this.downloadFile(url)
|
||||||
},
|
},
|
||||||
buildExportParam(name, value) {
|
buildExportParam(name, value) {
|
||||||
return '&' + name + '=' + encodeURIComponent(value == null ? '' : value)
|
return '&' + name + '=' + encodeURIComponent(value == null ? '' : value)
|
||||||
},
|
},
|
||||||
openViewLineInfo(row) {
|
openViewLineInfo(row) {
|
||||||
this.$refs.guava.view()
|
this.openGuavaDetail('view', 'viewLineInfo', 'openView', row.lineId, null, 1, this.pageForm.year)
|
||||||
this.$refs.viewLineInfo.openView(row.lineId, null, 1, this.pageForm.year)
|
|
||||||
},
|
},
|
||||||
openViewTimeSlot(row) {
|
openViewTimeSlot(row) {
|
||||||
$.post(loc() + '/timeSlots', {
|
$.post(loc() + '/timeSlots', {
|
||||||
@@ -579,7 +589,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async saveEditTimeSlots() {
|
async saveEditTimeSlots() {
|
||||||
if (this.editTimeSlotsLoading || !await this.$validateForm(this.$refs.editTimeSlotsForm)) return
|
if (this.editTimeSlotsLoading || !await this.validateForm(this.$refs.editTimeSlotsForm)) return
|
||||||
try {
|
try {
|
||||||
this.$set(this, 'editTimeSlotsLoading', true)
|
this.$set(this, 'editTimeSlotsLoading', true)
|
||||||
await $.post(loc() + '/saveTimeSlots', {
|
await $.post(loc() + '/saveTimeSlots', {
|
||||||
@@ -599,7 +609,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.$set(this, 'editTimeSlotsLoading', false)
|
this.$set(this, 'editTimeSlotsLoading', false)
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
cancelLine(row) {
|
cancelLine(row) {
|
||||||
@@ -651,17 +661,17 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
getUnionOptions() {
|
getUnionOptions() {
|
||||||
getUnions(null).then((resp) => {
|
this.getTherapyUnions(null).then((resp) => {
|
||||||
this.$set(this, 'unionOptions', resp || [])
|
this.$set(this, 'unionOptions', resp || [])
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getRegionalNatureOptions() {
|
getRegionalNatureOptions() {
|
||||||
getEnumOptions('TheRapyRecuperationProvinceType').then((resp) => {
|
this.getTherapyOptions('TheRapyRecuperationProvinceType').then((resp) => {
|
||||||
this.$set(this, 'regionalNatureList', this.regionalNatureList.concat(resp || []))
|
this.$set(this, 'regionalNatureList', this.regionalNatureList.concat(resp || []))
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getSignUpModeOptions() {
|
getSignUpModeOptions() {
|
||||||
getEnumOptions('TheRapyRecuperationSignUpMode').then((resp) => {
|
this.getTherapyOptions('TheRapyRecuperationSignUpMode').then((resp) => {
|
||||||
this.$set(this, 'signUpModeList', resp || [])
|
this.$set(this, 'signUpModeList', resp || [])
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
+53
-42
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.timesTable .el-form-item {
|
.timesTable .el-form-item {
|
||||||
@@ -113,10 +114,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
<guava ref="guava">
|
<guava ref="guava">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<div class="search">
|
<search :is-search-button="false">
|
||||||
<div class="search-item">
|
<search-item label="年度:">
|
||||||
<div class="search-item-label">年度:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
placeholder="选择年度"
|
placeholder="选择年度"
|
||||||
@@ -126,12 +127,12 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
value-format="yyyy"
|
value-format="yyyy"
|
||||||
:clearable="false">
|
:clearable="false">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search-item">
|
</search-item>
|
||||||
<div class="search-item-label">旅行社:</div>
|
|
||||||
<div class="search-item-option">
|
<search-item label="旅行社:">
|
||||||
|
|
||||||
|
|
||||||
<el-select @change="doSearch"
|
<el-select @change="doSearch"
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
@@ -142,35 +143,35 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
:value="item.id"
|
:value="item.id"
|
||||||
v-for="item in travelAgencyArray"></el-option>
|
v-for="item in travelAgencyArray"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search-item">
|
</search-item>
|
||||||
<div class="search-item-label">线路类型:</div>
|
|
||||||
<div class="search-item-option">
|
<search-item label="线路类型:">
|
||||||
|
|
||||||
|
|
||||||
<el-select placeholder="请选择线路类型" style="width: 100%"
|
<el-select placeholder="请选择线路类型" style="width: 100%"
|
||||||
@change="doSearch"
|
@change="doSearch"
|
||||||
v-model="pageForm.regionalNature">
|
v-model="pageForm.regionalNature">
|
||||||
<el-option :value="item.value" :label="item.label"
|
<el-option :value="item.value" :label="item.label"
|
||||||
v-for="(item, therapyIndex) in regionalNatureList" :key="item.id || item.code || therapyIndex"></el-option>
|
v-for="(item, therapyIndex) in regionalNatureList" :key="item.id || item.code || therapyIndex"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search-item">
|
</search-item>
|
||||||
<div class="search-item-label">线路名称:</div>
|
|
||||||
<div class="search-item-option">
|
<search-item label="线路名称:">
|
||||||
|
|
||||||
|
|
||||||
<el-input @keyup.enter.native="doSearch" clearable clearable
|
<el-input @keyup.enter.native="doSearch" clearable clearable
|
||||||
placeholder="请输入内容"
|
placeholder="请输入内容"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="pageForm.keywords">
|
v-model="pageForm.keywords">
|
||||||
</el-input>
|
</el-input>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search-item">
|
</search-item>
|
||||||
<div class="search-item-label">时间标段:</div>
|
|
||||||
<div class="search-item-option">
|
<search-item label="时间标段:">
|
||||||
|
|
||||||
|
|
||||||
<el-select @change="doSearch" clearable filterable
|
<el-select @change="doSearch" clearable filterable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="pageForm.lotId">
|
v-model="pageForm.lotId">
|
||||||
@@ -180,19 +181,19 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
v-for="item in lotList"
|
v-for="item in lotList"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
|
|
||||||
<div class="search-query">
|
<div class="search-query">
|
||||||
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</search>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card class="mt10" shadow="never">
|
<el-card class="mt10" shadow="never">
|
||||||
<table-tool :app="this"
|
<table-tool :columns.sync="tableColumns"
|
||||||
:label="'线路列表(温馨提示:您本年度省外线路最少需选择' + unionLineNumberConfig.minProvinceOutNumber + '条,省内最少' + unionLineNumberConfig.minProvinceInNumber + '条。目前已选择省外' + selectedLineCount.outCount + '条,省内' + selectedLineCount.inCount + '条)'">
|
:label="'线路列表(温馨提示:您本年度省外线路最少需选择' + unionLineNumberConfig.minProvinceOutNumber + '条,省内最少' + unionLineNumberConfig.minProvinceInNumber + '条。目前已选择省外' + selectedLineCount.outCount + '条,省内' + selectedLineCount.inCount + '条)'">
|
||||||
<template #func>
|
<template>
|
||||||
|
|
||||||
<el-radio-group @change="doSearch" size="small" v-model="pageForm.selectStatus">
|
<el-radio-group @change="doSearch" size="small" v-model="pageForm.selectStatus">
|
||||||
<!--<el-radio-button :label="0">全部</el-radio-button>-->
|
<!--<el-radio-button :label="0">全部</el-radio-button>-->
|
||||||
@@ -200,6 +201,16 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<el-radio-button :label="-1">可选择</el-radio-button>
|
<el-radio-button :label="-1">可选择</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</template>
|
</template>
|
||||||
|
<el-button icon="el-icon-refresh" @click="doSearch" circle></el-button>
|
||||||
|
<el-dropdown @command="tableSizeChange">
|
||||||
|
<el-button icon="el-icon-c-scale-to-original" circle></el-button>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="mini">Mini</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="small">Small</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="medium">Medium</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="">Large</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
</table-tool>
|
</table-tool>
|
||||||
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder"
|
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder"
|
||||||
ref="table"
|
ref="table"
|
||||||
@@ -220,7 +231,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
header-align="center"
|
header-align="center"
|
||||||
:show-overflow-tooltip="column.prop!=='playTime'"
|
:show-overflow-tooltip="column.prop!=='playTime'"
|
||||||
:key="column.prop"
|
:key="column.prop"
|
||||||
v-for="column in tableColumns"
|
v-for="column in tableColumns.filter(column => column.visible !== false)"
|
||||||
:width="column.width"
|
:width="column.width"
|
||||||
>
|
>
|
||||||
<!--<template scope="{row}" v-if="column.prop==='isDisabled'">
|
<!--<template scope="{row}" v-if="column.prop==='isDisabled'">
|
||||||
@@ -635,7 +646,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
|
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [therapyTableMixins],
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
components: {
|
components: {
|
||||||
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
|
'line-info': httpVueLoader('/components/staffbenefit/therapyRecuperation/LineInfo.vue')
|
||||||
},
|
},
|
||||||
@@ -829,10 +840,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this._therapyActions.add('doSelect')
|
this._therapyActions.add('doSelect')
|
||||||
try {
|
try {
|
||||||
if (!this.assertCanSelectLine()) return
|
if (!this.assertCanSelectLine()) return
|
||||||
const valid = await this.$validateForm(this.$refs['form'])
|
const valid = await this.validateForm(this.$refs['form'])
|
||||||
if (!valid) return
|
if (!valid) return
|
||||||
|
|
||||||
const confirm = await this.$confirmAction('请再次确认,是否选择此线路为疗休养线路?', '提示', {
|
const confirm = await this.confirmAction('请再次确认,是否选择此线路为疗休养线路?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -858,7 +869,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('doSelect')
|
this._therapyActions.delete('doSelect')
|
||||||
}
|
}
|
||||||
@@ -878,7 +889,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
try {
|
try {
|
||||||
if (!this.assertCanSelectLine()) return
|
if (!this.assertCanSelectLine()) return
|
||||||
const msg = applyCount > 0 ? '已经有教工选择本线路,请确认是否取消选择本线路,一旦取消将清空报名人员!!!' : '您确定要取消吗?'
|
const msg = applyCount > 0 ? '已经有教工选择本线路,请确认是否取消选择本线路,一旦取消将清空报名人员!!!' : '您确定要取消吗?'
|
||||||
const confirm = await this.$confirmAction(msg, '提示', {
|
const confirm = await this.confirmAction(msg, '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -893,7 +904,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.notifyWarning(resp.msg)
|
this.notifyWarning(resp.msg)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('deSelect')
|
this._therapyActions.delete('deSelect')
|
||||||
}
|
}
|
||||||
@@ -988,7 +999,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
this.pageData()
|
this.pageData()
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
this.pageData()
|
this.pageData()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1001,11 +1012,11 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
await this.getLotList()
|
await this.getLotList()
|
||||||
this.getLineSelectLimit()
|
this.getLineSelectLimit()
|
||||||
this.pageData()
|
this.pageData()
|
||||||
this.createModeList = await getEnumOptions('TheRapyRecuperationLineCreateMode')
|
this.createModeList = await this.getTherapyOptions('TheRapyRecuperationLineCreateMode')
|
||||||
this.signUpModeList = await getEnumOptions('TheRapyRecuperationSignUpMode')
|
this.signUpModeList = await this.getTherapyOptions('TheRapyRecuperationSignUpMode')
|
||||||
this.regionalNatureList.push(...await getEnumOptions('TheRapyRecuperationProvinceType'))
|
this.regionalNatureList.push(...await this.getTherapyOptions('TheRapyRecuperationProvinceType'))
|
||||||
// const result = await getEnumOptions('TheRapyRecuperationProvinceType')
|
// const result = await getEnumOptions('TheRapyRecuperationProvinceType')
|
||||||
this.unionOptions = await getUnions(null)
|
this.unionOptions = await this.getTherapyUnions(null)
|
||||||
this.travelAgencyOptions = this.selectTravelAgencyList()
|
this.travelAgencyOptions = this.selectTravelAgencyList()
|
||||||
await this.getTravelAgencyOptions()
|
await this.getTravelAgencyOptions()
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-2
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
|
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@@ -104,7 +105,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [therapyTableMixins],
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
aaa: ['极差', '失望', '一般', '满意', '最高平均分五分'],
|
aaa: ['极差', '失望', '一般', '满意', '最高平均分五分'],
|
||||||
|
|||||||
+45
-41
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
<style>
|
<style>
|
||||||
.query-row {
|
.query-row {
|
||||||
height: 70px;
|
height: 70px;
|
||||||
@@ -216,8 +217,8 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
|
|
||||||
|
|
||||||
<el-card shadow="never" class="mt10">
|
<el-card shadow="never" class="mt10">
|
||||||
<therapy-table-tool label="" :app="this" ref="table_tool">
|
<table-tool label="" :columns.sync="tableColumns" ref="table_tool">
|
||||||
<template #func>
|
<template>
|
||||||
<el-button @click="showGiveTimes"
|
<el-button @click="showGiveTimes"
|
||||||
size="small"
|
size="small"
|
||||||
style="margin-right: 10px"
|
style="margin-right: 10px"
|
||||||
@@ -243,7 +244,17 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
class="mr10">导出成团线路人员
|
class="mr10">导出成团线路人员
|
||||||
</el-button>-->
|
</el-button>-->
|
||||||
</template>
|
</template>
|
||||||
</therapy-table-tool>
|
<el-button icon="el-icon-refresh" @click="doSearch" circle></el-button>
|
||||||
|
<el-dropdown @command="tableSizeChange">
|
||||||
|
<el-button icon="el-icon-c-scale-to-original" circle></el-button>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="mini">Mini</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="small">Small</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="medium">Medium</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="">Large</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
|
</table-tool>
|
||||||
<el-table :data="tableData" style="width: 100%"
|
<el-table :data="tableData" style="width: 100%"
|
||||||
ref="table"
|
ref="table"
|
||||||
row-key="lineUId" @sort-change="pageOrder"
|
row-key="lineUId" @sort-change="pageOrder"
|
||||||
@@ -259,7 +270,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
align="center"
|
align="center"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
v-for="column in tableColumns" :key="column.prop"
|
v-for="column in tableColumns.filter(column => column.visible !== false)" :key="column.prop"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
:label="column.label"
|
:label="column.label"
|
||||||
:prop="column.prop"
|
:prop="column.prop"
|
||||||
@@ -310,42 +321,41 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
|
|
||||||
<template #edit>
|
<template #edit>
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<div class="search">
|
<search :is-search-button="false">
|
||||||
<div class="search-item">
|
<search-item label="工号姓名">
|
||||||
<div class="search-item-label">工号姓名</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-input v-model="userPageForm.searchKeyword" maxlength="10" clearable></el-input>
|
<el-input v-model="userPageForm.searchKeyword" maxlength="10" clearable></el-input>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
|
|
||||||
|
<search-item label="所属工会:">
|
||||||
|
|
||||||
|
|
||||||
<div class="search-item"
|
|
||||||
v-if="${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('sysadmin')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('A06')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('SchoolUnionMemberAdmin')}">
|
|
||||||
<div class="search-item-label">所属工会:</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-select @change="flushUnits" @clear="flushUnits" clearable="true"
|
<el-select @change="flushUnits" @clear="flushUnits" clearable="true"
|
||||||
filterable="true"
|
filterable="true"
|
||||||
placeholder="所属工会" style="width: 100%;"
|
placeholder="所属工会" style="width: 100%;"
|
||||||
v-model="userPageForm.unionId">
|
v-model="userPageForm.unionId">
|
||||||
<el-option :label="item.unionname" :value="item.id" v-for="(item, therapyIndex) in unions" :key="item.id || item.code || therapyIndex"></el-option>
|
<el-option :label="item.unionname" :value="item.id" v-for="(item, therapyIndex) in unions" :key="item.id || item.code || therapyIndex"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="search-item">
|
</search-item>
|
||||||
<div class="search-item-label">所属单位:</div>
|
|
||||||
<div class="search-item-option">
|
<search-item label="所属单位:">
|
||||||
|
|
||||||
|
|
||||||
<el-select clearable="true" filterable="true" placeholder="所属单位"
|
<el-select clearable="true" filterable="true" placeholder="所属单位"
|
||||||
style="width: 100%;"
|
style="width: 100%;"
|
||||||
v-model="userPageForm.unitId">
|
v-model="userPageForm.unitId">
|
||||||
<el-option :label="item.name" :value="item.id" v-for="(item, therapyIndex) in units" :key="item.id || item.code || therapyIndex"></el-option>
|
<el-option :label="item.name" :value="item.id" v-for="(item, therapyIndex) in units" :key="item.id || item.code || therapyIndex"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
|
|
||||||
<div class="search-query">
|
<div class="search-query">
|
||||||
<el-button @click="getUserDataByLineId" icon="el-icon-search" type="primary">搜索</el-button>
|
<el-button @click="getUserDataByLineId" icon="el-icon-search" type="primary">搜索</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</search>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card shadow="never" class="mt10">
|
<el-card shadow="never" class="mt10">
|
||||||
@@ -465,7 +475,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<script>
|
<script>
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [therapyTableMixins],
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
pageForm: {
|
pageForm: {
|
||||||
@@ -486,9 +496,9 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
{prop: 'signUpTime', label: '报名时间', width: 150},
|
{prop: 'signUpTime', label: '报名时间', width: 150},
|
||||||
{prop: 'adjustSignUpEndTime', label: '调剂报名截止时间', width: 160},
|
{prop: 'adjustSignUpEndTime', label: '调剂报名截止时间', width: 160},
|
||||||
{prop: 'travelAgencyName', label: '承担旅行社', sortable: true, width: 150},
|
{prop: 'travelAgencyName', label: '承担旅行社', sortable: true, width: 150},
|
||||||
{prop: 'regionalNature', label: '线路类型', sortable: true, checked: 0},
|
{prop: 'regionalNature', label: '线路类型', sortable: true, visible: false},
|
||||||
{prop: 'contact', label: '联系人', sortable: true, checked: 0},
|
{prop: 'contact', label: '联系人', sortable: true, visible: false},
|
||||||
{prop: 'contactMobileNumber', label: '联系方式', checked: 0},
|
{prop: 'contactMobileNumber', label: '联系方式', visible: false},
|
||||||
{prop: 'estimatedFamilyNumbers', label: '最少成团人数', width: 80},
|
{prop: 'estimatedFamilyNumbers', label: '最少成团人数', width: 80},
|
||||||
{prop: 'groupCount', label: '成团计入人数', width: 80},
|
{prop: 'groupCount', label: '成团计入人数', width: 80},
|
||||||
{prop: 'lineNum', label: '教职工报名人数', width: 80},
|
{prop: 'lineNum', label: '教职工报名人数', width: 80},
|
||||||
@@ -632,7 +642,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
regionalNature,
|
regionalNature,
|
||||||
travelAgencyId,
|
travelAgencyId,
|
||||||
} = this.pageForm
|
} = this.pageForm
|
||||||
this.$downloadFile("/platform/inclusiveTherapyV3/user/query/doExport?" +
|
this.downloadFile("/platform/inclusiveTherapyV3/user/query/doExport?" +
|
||||||
"startYear=" + startYear +
|
"startYear=" + startYear +
|
||||||
"&endYear=" + endYear +
|
"&endYear=" + endYear +
|
||||||
"&unionId=" + unionId +
|
"&unionId=" + unionId +
|
||||||
@@ -683,7 +693,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('sendSuccess')
|
this._therapyActions.delete('sendSuccess')
|
||||||
}
|
}
|
||||||
@@ -704,7 +714,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
sendGroupMail() {
|
sendGroupMail() {
|
||||||
@@ -765,17 +775,11 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
openLine(row) {
|
openLine(row) {
|
||||||
this.$refs.guava.public()
|
this.openGuavaDetail('public', 'viewLineInfo', 'findOne', row.lineId, (row.regionalNature === "省内" ? null : row.usUnionId), row.signUpMode, row.year)
|
||||||
if (row.regionalNature === "省内") {
|
|
||||||
this.$refs.viewLineInfo.findOne(row.lineId, null, row.signUpMode, row.year)
|
|
||||||
} else {
|
|
||||||
this.$refs.viewLineInfo.findOne(row.lineId, row.usUnionId, row.signUpMode, row.year)
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
openUserData(row){
|
openUserData(row){
|
||||||
this.lineUId = row.lineUId
|
this.lineUId = row.lineUId
|
||||||
@@ -817,9 +821,9 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
async flushUnits() {
|
async flushUnits() {
|
||||||
this.$set(this.userData, "unitId", "")
|
this.$set(this.userData, "unitId", "")
|
||||||
if ("${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('sysadmin')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('A06')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('SchoolUnionMemberAdmin')}" === 'true') {
|
if ("${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('sysadmin')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('A06')||@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.hasRole('SchoolUnionMemberAdmin')}" === 'true') {
|
||||||
this.units = await getUnits(this.userData.unionId)
|
this.units = await this.getTherapyUnits(this.userData.unionId)
|
||||||
} else {
|
} else {
|
||||||
this.units = await getUnits("${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.getUnionId()}")
|
this.units = await this.getTherapyUnits("${@com.budwk.app.zhgh.staffbenefit.therapyRecuperation.support.TherapyContext.getUnionId()}")
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
userPageSizeChange(val) {
|
userPageSizeChange(val) {
|
||||||
@@ -840,7 +844,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async created() {
|
async created() {
|
||||||
this.unions = await getUnions()
|
this.unions = await this.getTherapyUnions()
|
||||||
await this.getModifyConfig();
|
await this.getModifyConfig();
|
||||||
await this.getAgencyList();
|
await this.getAgencyList();
|
||||||
await this.getUnionSelectLine();
|
await this.getUnionSelectLine();
|
||||||
|
|||||||
+12
-10
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
<style>
|
<style>
|
||||||
.chart-card {
|
.chart-card {
|
||||||
min-height: 520px;
|
min-height: 520px;
|
||||||
@@ -30,10 +31,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<guava ref="guava">
|
<guava ref="guava">
|
||||||
<template>
|
<template>
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<div class="search">
|
<search :is-search-button="false">
|
||||||
<div class="search-item">
|
<search-item label="年度">
|
||||||
<div class="search-item-label">年度</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
:clearable="false"
|
:clearable="false"
|
||||||
v-model="pageForm.year"
|
v-model="pageForm.year"
|
||||||
@@ -43,9 +44,9 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
@change="getAllChartData">
|
@change="getAllChartData">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
</div>
|
</search>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card shadow="never" class="mt10 chart-card" v-loading="chartLoading">
|
<el-card shadow="never" class="mt10 chart-card" v-loading="chartLoading">
|
||||||
@@ -85,6 +86,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
|
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
chartLoading: false,
|
chartLoading: false,
|
||||||
@@ -262,10 +264,10 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
doExportExcel() {
|
doExportExcel() {
|
||||||
this.$downloadFile(loc() + '/doExportExcel?year=' + encodeURIComponent(this.pageForm.year || ''))
|
this.downloadFile(loc() + '/doExportExcel?year=' + encodeURIComponent(this.pageForm.year || ''))
|
||||||
},
|
},
|
||||||
doExportUnionExcel() {
|
doExportUnionExcel() {
|
||||||
this.$downloadFile(loc() + '/doExportUnionExcel?year=' + encodeURIComponent(this.pageForm.year || ''))
|
this.downloadFile(loc() + '/doExportUnionExcel?year=' + encodeURIComponent(this.pageForm.year || ''))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|||||||
+11
-9
@@ -1,14 +1,15 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
<guava ref="guava">
|
<guava ref="guava">
|
||||||
<template>
|
<template>
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<div class="search">
|
<search :is-search-button="false">
|
||||||
<div class="search-item">
|
<search-item label="分工会">
|
||||||
<div class="search-item-label">分工会</div>
|
|
||||||
<div class="search-item-option">
|
|
||||||
<el-select v-model="pageForm.unionId" placeholder="请选择分工会" filterable clearable
|
<el-select v-model="pageForm.unionId" placeholder="请选择分工会" filterable clearable
|
||||||
style="width: 100%" @change="pageData" @clear="pageData">
|
style="width: 100%" @change="pageData" @clear="pageData">
|
||||||
<el-option v-for="item in unionOptions"
|
<el-option v-for="item in unionOptions"
|
||||||
@@ -17,9 +18,9 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
:value="item.id">
|
:value="item.id">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</div>
|
</search-item>
|
||||||
</div>
|
</search>
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-card shadow="never" class="mt10">
|
<el-card shadow="never" class="mt10">
|
||||||
<el-table :data="tableData"
|
<el-table :data="tableData"
|
||||||
@@ -56,6 +57,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
<script>
|
<script>
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tableLoading: false,
|
tableLoading: false,
|
||||||
@@ -83,7 +85,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async created() {
|
async created() {
|
||||||
this.unionOptions = await getUnions(null)
|
this.unionOptions = await this.getTherapyUnions(null)
|
||||||
this.pageData()
|
this.pageData()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
+7
-6
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<!--#include("/platform/zhgh/staffbenefit/therapyRecuperation/common.html"){}#-->
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
@@ -488,9 +489,9 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
Vue.component('table-tool', httpVueLoader('/components/plugins/sysTableTool/index.vue'))
|
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
|
mixins: [initTableMixins, therapyBusinessMixin],
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -600,7 +601,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
this.tableScopeId=scope.row.id
|
this.tableScopeId=scope.row.id
|
||||||
this.tableScopeIndex=scope.$index;
|
this.tableScopeIndex=scope.$index;
|
||||||
}else {
|
}else {
|
||||||
const confirm = await this.$confirmAction('您确定要删除吗?', '提示', {
|
const confirm = await this.confirmAction('您确定要删除吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -651,7 +652,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
lock: true,
|
lock: true,
|
||||||
text: '正在提交...',
|
text: '正在提交...',
|
||||||
spinner: 'el-icon-loading',
|
spinner: 'el-icon-loading',
|
||||||
background: COVER_LAYER_COLOR
|
background: 'rgba(0,0,0,.45)'
|
||||||
})
|
})
|
||||||
try {
|
try {
|
||||||
const cloneData = clone(this.formData)
|
const cloneData = clone(this.formData)
|
||||||
@@ -733,7 +734,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
|
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$actionError(error)
|
this.actionError(error)
|
||||||
} finally {
|
} finally {
|
||||||
this._therapyActions.delete('deleteLotById')
|
this._therapyActions.delete('deleteLotById')
|
||||||
}
|
}
|
||||||
@@ -747,7 +748,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/platform.html"){
|
|||||||
watch: {
|
watch: {
|
||||||
'formData.activityGroupId': {
|
'formData.activityGroupId': {
|
||||||
async handler(newVal, oldVal) {
|
async handler(newVal, oldVal) {
|
||||||
this.activityGroupList = await getActivityGroup()
|
this.activityGroupList = await this.getTherapyGroups()
|
||||||
this.userScopeDialog = false
|
this.userScopeDialog = false
|
||||||
},
|
},
|
||||||
deep: true
|
deep: true
|
||||||
|
|||||||
+8
-8
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
layout("/layouts/platform_h5.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/mobile/pages.css">
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
.container img {
|
.container img {
|
||||||
@@ -439,7 +440,6 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
|
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [mobileMixins],
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
active: 0,
|
active: 0,
|
||||||
@@ -513,7 +513,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
cloneData.companionList.splice(index, 1)
|
cloneData.companionList.splice(index, 1)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const resp = await $.post('/platform/inclusiveTherapyV3/line/enroll/doSignUpForBaseManagement', {
|
const resp = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/doSignUpForBaseManagement', {
|
||||||
enroll: JSON.stringify(cloneData),
|
enroll: JSON.stringify(cloneData),
|
||||||
})
|
})
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@@ -539,7 +539,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
this.formData.companionList.splice(this.active, 1)
|
this.formData.companionList.splice(this.active, 1)
|
||||||
},
|
},
|
||||||
async join() {
|
async join() {
|
||||||
const re = await $.post('/platform/inclusiveTherapyV3/line/enroll/validSignUpInfo', {
|
const re = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/validSignUpInfo', {
|
||||||
enroll: JSON.stringify({
|
enroll: JSON.stringify({
|
||||||
takePartInBaseManagementId: this.baseData.id,
|
takePartInBaseManagementId: this.baseData.id,
|
||||||
isNormal: this.baseData.isNormal,
|
isNormal: this.baseData.isNormal,
|
||||||
@@ -570,9 +570,9 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
this.joinPopup = true
|
this.joinPopup = true
|
||||||
},
|
},
|
||||||
async getData() {
|
async getData() {
|
||||||
const res = await $.get('/platform/inclusiveTherapyV3/baseManagement/selectBaseAllInfo', {
|
const res = await this.$axios.get('/platform/inclusiveTherapyV3/baseManagement/selectBaseAllInfo', {params: {
|
||||||
id: this.id
|
id: this.id
|
||||||
})
|
}})
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.baseData = res.data
|
this.baseData = res.data
|
||||||
this.formData.baseName = this.baseData.baseName
|
this.formData.baseName = this.baseData.baseName
|
||||||
@@ -598,7 +598,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
},
|
},
|
||||||
//修改时查询报名信息,进行回显
|
//修改时查询报名信息,进行回显
|
||||||
async findSignUpInfoById() {
|
async findSignUpInfoById() {
|
||||||
const res = await $.post('/platform/inclusiveTherapyV3/line/enroll/findSignUpInfoById/' + this.enrollId)
|
const res = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/findSignUpInfoById/' + this.enrollId)
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.formData = res.data
|
this.formData = res.data
|
||||||
if (this.formData.bedInfo === null) {
|
if (this.formData.bedInfo === null) {
|
||||||
@@ -615,7 +615,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async getConfigData() {
|
async getConfigData() {
|
||||||
const resp = await $.get('/platform/inclusiveTherapyV3/TheRapyConfig/findOne')
|
const resp = await this.$axios.get('/platform/inclusiveTherapyV3/TheRapyConfig/findOne')
|
||||||
this.configData = resp.data
|
this.configData = resp.data
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
+6
-6
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
layout("/layouts/platform_h5.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/mobile/pages.css">
|
||||||
<style>
|
<style>
|
||||||
#app.therapy-home {
|
#app.therapy-home {
|
||||||
padding-bottom: calc(20px + env(safe-area-inset-bottom));
|
padding-bottom: calc(20px + env(safe-area-inset-bottom));
|
||||||
@@ -219,7 +220,6 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
<script>
|
<script>
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [mobileMixins],
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
chooseButton: [],
|
chooseButton: [],
|
||||||
@@ -250,11 +250,11 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
this.noticeVisible = false
|
this.noticeVisible = false
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
window.history.back()
|
historyBack()
|
||||||
},
|
},
|
||||||
async toLineList(index) {
|
async toLineList(index) {
|
||||||
if (this.configLoading) return
|
if (this.configLoading) return
|
||||||
const isExist = this.configData.activityGroupId && await getScopeUser(this.configData.activityGroupId)
|
const isExist = this.configData.activityGroupId && await this.$axios.get('/platform/activity/basic/scope/getScopeUser', {params: {activityGroupId: this.configData.activityGroupId}}).then(res => res.data)
|
||||||
if (!isExist) {
|
if (!isExist) {
|
||||||
vant.Dialog.alert({
|
vant.Dialog.alert({
|
||||||
title: '温馨提示',
|
title: '温馨提示',
|
||||||
@@ -270,7 +270,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
this.configLoading = true
|
this.configLoading = true
|
||||||
this.configError = false
|
this.configError = false
|
||||||
try {
|
try {
|
||||||
const resp = await $.get('/platform/inclusiveTherapyV3/TheRapyConfig/findOne')
|
const resp = await this.$axios.get('/platform/inclusiveTherapyV3/TheRapyConfig/findOne')
|
||||||
if (resp.code !== 0) throw new Error(resp.msg || '须知加载失败')
|
if (resp.code !== 0) throw new Error(resp.msg || '须知加载失败')
|
||||||
this.configData = resp.data || {}
|
this.configData = resp.data || {}
|
||||||
this.noticePdfUrl = ''
|
this.noticePdfUrl = ''
|
||||||
@@ -292,7 +292,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
async created() {
|
async created() {
|
||||||
this.chooseButton = await getEnumOptions('TheRapyRecuperationType')
|
this.chooseButton = await this.$axios.get('/platform/inclusiveTherapyV3/common/enumOptions', {params: {enumName: 'TheRapyRecuperationType'}}).then(res => res.data)
|
||||||
this.chooseButton = this.chooseButton.filter(o => o.value !== 3 && o.value !== 2)
|
this.chooseButton = this.chooseButton.filter(o => o.value !== 3 && o.value !== 2)
|
||||||
await this.getConfigData()
|
await this.getConfigData()
|
||||||
|
|
||||||
|
|||||||
+8
-11
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
layout("/layouts/platform_h5.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/mobile/pages.css">
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
#app {
|
#app {
|
||||||
@@ -535,7 +536,6 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
let pdfh5 = null
|
let pdfh5 = null
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [mobileMixins],
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isPdf: false,
|
isPdf: false,
|
||||||
@@ -577,9 +577,6 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
moment,
|
moment,
|
||||||
historyBack() {
|
|
||||||
window.history.back()
|
|
||||||
},
|
|
||||||
roomCancel() {
|
roomCancel() {
|
||||||
if (!this.self) {
|
if (!this.self) {
|
||||||
this.formData.companionList[this.active].bedInfo.bedType = ''
|
this.formData.companionList[this.active].bedInfo.bedType = ''
|
||||||
@@ -625,7 +622,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
} else {
|
} else {
|
||||||
url = '/platform/inclusiveTherapyV3/line/enroll/doSignUpForLine'
|
url = '/platform/inclusiveTherapyV3/line/enroll/doSignUpForLine'
|
||||||
}
|
}
|
||||||
const resp = await $.post(url, {
|
const resp = await this.$axios.post(url, {
|
||||||
enroll: JSON.stringify(cloneData),
|
enroll: JSON.stringify(cloneData),
|
||||||
})
|
})
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@@ -699,7 +696,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
this.formData.companionList.splice(this.active, 1)
|
this.formData.companionList.splice(this.active, 1)
|
||||||
},
|
},
|
||||||
async join() {
|
async join() {
|
||||||
const re = await $.post('/platform/inclusiveTherapyV3/line/enroll/validSignUpInfo', {
|
const re = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/validSignUpInfo', {
|
||||||
enroll: JSON.stringify({
|
enroll: JSON.stringify({
|
||||||
id: this.enrollId,
|
id: this.enrollId,
|
||||||
isNormal: this.lineData.isNormal,
|
isNormal: this.lineData.isNormal,
|
||||||
@@ -754,11 +751,11 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
this.joinPopup = true
|
this.joinPopup = true
|
||||||
},
|
},
|
||||||
async getData() {
|
async getData() {
|
||||||
const res = await $.get('/platform/inclusiveTherapyV3/line/enroll/selectLineAllInfo', {
|
const res = await this.$axios.get('/platform/inclusiveTherapyV3/line/enroll/selectLineAllInfo', {params: {
|
||||||
usId: this.id,
|
usId: this.id,
|
||||||
usUnionId: this.takePartInUnionId,
|
usUnionId: this.takePartInUnionId,
|
||||||
year: this.queryYear
|
year: this.queryYear
|
||||||
})
|
}})
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.lineData = res.data
|
this.lineData = res.data
|
||||||
this.formData.lineName = this.lineData.lineName
|
this.formData.lineName = this.lineData.lineName
|
||||||
@@ -785,7 +782,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
},
|
},
|
||||||
//修改时查询报名信息,进行回显
|
//修改时查询报名信息,进行回显
|
||||||
async findSignUpInfoById() {
|
async findSignUpInfoById() {
|
||||||
const res = await $.post('/platform/inclusiveTherapyV3/line/enroll/findSignUpInfoById/' + this.enrollId)
|
const res = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/findSignUpInfoById/' + this.enrollId)
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.formData = res.data
|
this.formData = res.data
|
||||||
if (this.formData.bedInfo === null) {
|
if (this.formData.bedInfo === null) {
|
||||||
@@ -802,7 +799,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async getConfigData() {
|
async getConfigData() {
|
||||||
const resp = await $.get('/platform/inclusiveTherapyV3/TheRapyConfig/findOne')
|
const resp = await this.$axios.get('/platform/inclusiveTherapyV3/TheRapyConfig/findOne')
|
||||||
this.configData = resp.data
|
this.configData = resp.data
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
+14
-17
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
layout("/layouts/platform_h5.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/mobile/pages.css">
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
#app {
|
#app {
|
||||||
@@ -635,7 +636,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
<van-image
|
<van-image
|
||||||
fit="cover"
|
fit="cover"
|
||||||
radius="8"
|
radius="8"
|
||||||
:src="CREATE_PREVIEW_URL(o.fileId)"
|
:src="$commonUtil.getFileUrl(o.fileId)"
|
||||||
width="100%">
|
width="100%">
|
||||||
</van-image>
|
</van-image>
|
||||||
</div>
|
</div>
|
||||||
@@ -825,7 +826,6 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
|
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [mobileMixins],
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
searchKeyWord: '',
|
searchKeyWord: '',
|
||||||
@@ -860,6 +860,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
// 移动端线路查询每次只加载 5 条,配合 van-list 下滑分页追加数据。
|
// 移动端线路查询每次只加载 5 条,配合 van-list 下滑分页追加数据。
|
||||||
pageSize: 5
|
pageSize: 5
|
||||||
},
|
},
|
||||||
|
tableData: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
finished: false,
|
finished: false,
|
||||||
refreshing: false,
|
refreshing: false,
|
||||||
@@ -886,10 +887,6 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
moment,
|
moment,
|
||||||
CREATE_PREVIEW_URL,
|
|
||||||
historyBack() {
|
|
||||||
window.history.back()
|
|
||||||
},
|
|
||||||
async openSignUser(row, type) {
|
async openSignUser(row, type) {
|
||||||
const id = type === 'line' ? row.usId : row.id
|
const id = type === 'line' ? row.usId : row.id
|
||||||
location.href = '/platform/inclusiveTherapyV3/mobile/userSignInfo?type=' + type + '&id=' + id
|
location.href = '/platform/inclusiveTherapyV3/mobile/userSignInfo?type=' + type + '&id=' + id
|
||||||
@@ -904,7 +901,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
await this.findOne(o)
|
await this.findOne(o)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const resp = await $.post('/platform/inclusiveTherapyV3/line/enroll/getSelectLineById',
|
const resp = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/getSelectLineById',
|
||||||
{
|
{
|
||||||
lineId: o.lineId,
|
lineId: o.lineId,
|
||||||
usId: o.usId,
|
usId: o.usId,
|
||||||
@@ -1015,7 +1012,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
this.getData()
|
this.getData()
|
||||||
},
|
},
|
||||||
async join(o) {
|
async join(o) {
|
||||||
const re = await $.post('/platform/inclusiveTherapyV3/line/enroll/validSignUpInfo', {
|
const re = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/validSignUpInfo', {
|
||||||
enroll: JSON.stringify({
|
enroll: JSON.stringify({
|
||||||
takePartInTravelAgencyId: o.id,
|
takePartInTravelAgencyId: o.id,
|
||||||
}),
|
}),
|
||||||
@@ -1036,7 +1033,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
const sendData = {
|
const sendData = {
|
||||||
takePartInTravelAgencyId: o.id,
|
takePartInTravelAgencyId: o.id,
|
||||||
}
|
}
|
||||||
const resp = await $.post('/platform/inclusiveTherapyV3/line/enroll/doSignUpForTravelAgency', {
|
const resp = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/doSignUpForTravelAgency', {
|
||||||
enroll: JSON.stringify(sendData),
|
enroll: JSON.stringify(sendData),
|
||||||
})
|
})
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@@ -1077,7 +1074,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
} else if (type === 3) {
|
} else if (type === 3) {
|
||||||
location.href = '/platform/inclusiveTherapyV3/mobile/baseInfo?id=' + o.usId + '&index=' + this.pageForm.theRapyRecuperationType
|
location.href = '/platform/inclusiveTherapyV3/mobile/baseInfo?id=' + o.usId + '&index=' + this.pageForm.theRapyRecuperationType
|
||||||
} else if (type === 2) {
|
} else if (type === 2) {
|
||||||
const re = await $.post('/platform/inclusiveTherapyV3/line/enroll/validSignUpInfo', {
|
const re = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/validSignUpInfo', {
|
||||||
enroll: JSON.stringify({
|
enroll: JSON.stringify({
|
||||||
takePartInTravelAgencyId: o.id,
|
takePartInTravelAgencyId: o.id,
|
||||||
}),
|
}),
|
||||||
@@ -1105,7 +1102,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
},
|
},
|
||||||
async onLoad() {
|
async onLoad() {
|
||||||
// van-list 触底时按 pageNumber/pageSize 查询下一页,并追加到当前列表。
|
// van-list 触底时按 pageNumber/pageSize 查询下一页,并追加到当前列表。
|
||||||
const res = await $.post('/platform/inclusiveTherapyV3/line/enroll/pageData', this.pageForm)
|
const res = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/pageData', this.pageForm)
|
||||||
|
|
||||||
if (res.code === 0 && res.data) {
|
if (res.code === 0 && res.data) {
|
||||||
const list = res.data.list || []
|
const list = res.data.list || []
|
||||||
@@ -1127,20 +1124,20 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
this.yearArray.unshift({value: null, text: '全部'})
|
this.yearArray.unshift({value: null, text: '全部'})
|
||||||
},
|
},
|
||||||
async getTheRapyUnions() {
|
async getTheRapyUnions() {
|
||||||
const resp = await $.get('/platform/inclusiveTherapyV3/line/enroll/getTheRapyUnions', {
|
const resp = await this.$axios.get('/platform/inclusiveTherapyV3/line/enroll/getTheRapyUnions', {params: {
|
||||||
year: this.pageForm.year,
|
year: this.pageForm.year,
|
||||||
theRapyRecuperationType: this.pageForm.theRapyRecuperationType
|
theRapyRecuperationType: this.pageForm.theRapyRecuperationType
|
||||||
})
|
}})
|
||||||
return resp.data
|
return resp.data
|
||||||
},
|
},
|
||||||
async getModifyConfig() {
|
async getModifyConfig() {
|
||||||
const res = await $.post('/platform/inclusiveTherapyV3/TheRapyConfig/findOne')
|
const res = await this.$axios.post('/platform/inclusiveTherapyV3/TheRapyConfig/findOne')
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.modifyConfig = res.data
|
this.modifyConfig = res.data
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async getSchoolTime() {
|
async getSchoolTime() {
|
||||||
const res = await $.post('/platform/inclusiveTherapyV3/line/enroll/getSchoolTime')
|
const res = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/getSchoolTime')
|
||||||
this.schoolTime = res.data
|
this.schoolTime = res.data
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -1158,7 +1155,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
this.createYear()
|
this.createYear()
|
||||||
await this.getModifyConfig()
|
await this.getModifyConfig()
|
||||||
await this.getSchoolTime()
|
await this.getSchoolTime()
|
||||||
this.chooseButton = await getEnumOptions('TheRapyRecuperationType')
|
this.chooseButton = await this.$axios.get('/platform/inclusiveTherapyV3/common/enumOptions', {params: {enumName: 'TheRapyRecuperationType'}}).then(res => res.data)
|
||||||
this.chooseButton = this.chooseButton.filter(o => o.value !== 3 && o.value !== 2)
|
this.chooseButton = this.chooseButton.filter(o => o.value !== 3 && o.value !== 2)
|
||||||
const unions = await this.getTheRapyUnions()
|
const unions = await this.getTheRapyUnions()
|
||||||
unions.forEach(item => {
|
unions.forEach(item => {
|
||||||
|
|||||||
+15
-14
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
layout("/layouts/platform_h5.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/mobile/pages.css">
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
#app {
|
#app {
|
||||||
@@ -224,7 +225,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
<van-image
|
<van-image
|
||||||
height="86"
|
height="86"
|
||||||
radius="8"
|
radius="8"
|
||||||
:src="CREATE_PREVIEW_URL(o.fileId)"
|
:src="$commonUtil.getFileUrl(o.fileId)"
|
||||||
width="130"></van-image>
|
width="130"></van-image>
|
||||||
|
|
||||||
<div v-if="pageForm.theRapyRecuperationType != '2' && pageForm.theRapyRecuperationType != '3'"
|
<div v-if="pageForm.theRapyRecuperationType != '2' && pageForm.theRapyRecuperationType != '3'"
|
||||||
@@ -389,17 +390,20 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
|
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [mobileMixins],
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
yearArray: [],
|
yearArray: [],
|
||||||
popVisible: false,
|
popVisible: false,
|
||||||
chooseButton: [],
|
chooseButton: [],
|
||||||
pageForm: {
|
pageForm: {
|
||||||
|
pageNumber: 1,
|
||||||
|
pageSize: 5,
|
||||||
|
totalCount: 0,
|
||||||
theRapyRecuperationType: null,
|
theRapyRecuperationType: null,
|
||||||
signUpStateId: 1,
|
signUpStateId: 1,
|
||||||
year: new Date().getFullYear(),
|
year: new Date().getFullYear(),
|
||||||
},
|
},
|
||||||
|
tableData: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
finished: false,
|
finished: false,
|
||||||
refreshing: false,
|
refreshing: false,
|
||||||
@@ -413,9 +417,6 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
historyBack() {
|
|
||||||
window.history.back()
|
|
||||||
},
|
|
||||||
isValidDate(value) {
|
isValidDate(value) {
|
||||||
return value && moment(value).isValid()
|
return value && moment(value).isValid()
|
||||||
},
|
},
|
||||||
@@ -472,7 +473,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const res = await $.post('/platform/inclusiveTherapyV3/line/enroll/doFeedBack', this.satisfactionForm)
|
const res = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/doFeedBack', this.satisfactionForm)
|
||||||
if(res.code === 0) {
|
if(res.code === 0) {
|
||||||
this.popVisible = false
|
this.popVisible = false
|
||||||
vant.Toast('操作成功')
|
vant.Toast('操作成功')
|
||||||
@@ -483,7 +484,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
},
|
},
|
||||||
async edit(o) {
|
async edit(o) {
|
||||||
if (this.pageForm.theRapyRecuperationType != '2' && this.pageForm.theRapyRecuperationType != '3') {
|
if (this.pageForm.theRapyRecuperationType != '2' && this.pageForm.theRapyRecuperationType != '3') {
|
||||||
const res = await $.post('/platform/inclusiveTherapyV3/line/enroll/validSignUpInfo', {
|
const res = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/validSignUpInfo', {
|
||||||
enroll: JSON.stringify({
|
enroll: JSON.stringify({
|
||||||
takePartInLineId: o.takePartInLineId,
|
takePartInLineId: o.takePartInLineId,
|
||||||
id: o.id,
|
id: o.id,
|
||||||
@@ -512,7 +513,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if(this.pageForm.theRapyRecuperationType != '2') {
|
if(this.pageForm.theRapyRecuperationType != '2') {
|
||||||
const re = await $.post('/platform/inclusiveTherapyV3/line/enroll/canDelete/' + o.id)
|
const re = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/canDelete/' + o.id)
|
||||||
if(re.code !== 0) {
|
if(re.code !== 0) {
|
||||||
vant.Toast(re.msg)
|
vant.Toast(re.msg)
|
||||||
return
|
return
|
||||||
@@ -522,7 +523,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
title: '温馨提醒',
|
title: '温馨提醒',
|
||||||
message: '您确定要取消此报名吗?',
|
message: '您确定要取消此报名吗?',
|
||||||
}).then(async () => {
|
}).then(async () => {
|
||||||
const res = await $.post('/platform/inclusiveTherapyV3/line/enroll/doDeleteMyEnrollInfoById/' + o.id)
|
const res = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/doDeleteMyEnrollInfoById/' + o.id)
|
||||||
if(res.code === 0) {
|
if(res.code === 0) {
|
||||||
vant.Toast('取消成功')
|
vant.Toast('取消成功')
|
||||||
this.getData()
|
this.getData()
|
||||||
@@ -543,7 +544,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
this.onLoad()
|
this.onLoad()
|
||||||
},
|
},
|
||||||
async onLoad() {
|
async onLoad() {
|
||||||
const res = await $.post('/platform/inclusiveTherapyV3/line/enroll/mySignUpPageData', this.pageForm)
|
const res = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/mySignUpPageData', this.pageForm)
|
||||||
|
|
||||||
if (res.code === 0 && res.data) {
|
if (res.code === 0 && res.data) {
|
||||||
this.tableData = this.tableData.concat(res.data.list)
|
this.tableData = this.tableData.concat(res.data.list)
|
||||||
@@ -556,7 +557,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
this.loading = false
|
this.loading = false
|
||||||
},
|
},
|
||||||
async getType() {
|
async getType() {
|
||||||
const res = await $.post('/platform/inclusiveTherapyV3/line/enroll/getType')
|
const res = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/getType')
|
||||||
return res.data
|
return res.data
|
||||||
},
|
},
|
||||||
createYear() {
|
createYear() {
|
||||||
@@ -565,7 +566,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async getConfigData() {
|
async getConfigData() {
|
||||||
const resp = await $.get('/platform/inclusiveTherapyV3/TheRapyConfig/findOne')
|
const resp = await this.$axios.get('/platform/inclusiveTherapyV3/TheRapyConfig/findOne')
|
||||||
this.configData = resp.data
|
this.configData = resp.data
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -573,7 +574,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
this.createYear()
|
this.createYear()
|
||||||
this.yearArray.unshift({value: null, text: '所有年度'})
|
this.yearArray.unshift({value: null, text: '所有年度'})
|
||||||
this.pageForm.theRapyRecuperationType = getQueryString('index') ? getQueryString('index') : await this.getType()
|
this.pageForm.theRapyRecuperationType = getQueryString('index') ? getQueryString('index') : await this.getType()
|
||||||
this.chooseButton = await getEnumOptions('TheRapyRecuperationType')
|
this.chooseButton = await this.$axios.get('/platform/inclusiveTherapyV3/common/enumOptions', {params: {enumName: 'TheRapyRecuperationType'}}).then(res => res.data)
|
||||||
this.chooseButton = this.chooseButton.filter(o => o.value !== 3 && o.value !== 2)
|
this.chooseButton = this.chooseButton.filter(o => o.value !== 3 && o.value !== 2)
|
||||||
await this.getConfigData()
|
await this.getConfigData()
|
||||||
this.onLoad()
|
this.onLoad()
|
||||||
|
|||||||
+3
-3
@@ -1,6 +1,7 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
layout("/layouts/platform_h5.html"){
|
||||||
#-->
|
#-->
|
||||||
|
<link rel="stylesheet" href="${base!}/assets/staffbenefit/therapyRecuperation/mobile/pages.css">
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
#app {
|
#app {
|
||||||
@@ -48,7 +49,6 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
|
|
||||||
const vue = new Vue({
|
const vue = new Vue({
|
||||||
el: '#app',
|
el: '#app',
|
||||||
mixins: [mobileMixins],
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
searchKeyWord: '',
|
searchKeyWord: '',
|
||||||
@@ -66,7 +66,7 @@ layout("/platform/zhgh/staffbenefit/therapyRecuperation/layouts/mobile.html"){
|
|||||||
overlay: true,
|
overlay: true,
|
||||||
message: '努力查询中',
|
message: '努力查询中',
|
||||||
})
|
})
|
||||||
const resp = await $.post('/platform/inclusiveTherapyV3/line/enroll/openSignUser', params)
|
const resp = await this.$axios.post('/platform/inclusiveTherapyV3/line/enroll/openSignUser', params)
|
||||||
this.signUserData = resp.data
|
this.signUserData = resp.data
|
||||||
toast.close()
|
toast.close()
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user