commit
This commit is contained in:
@@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import cn.wizzer.framework.base.Result;
|
import cn.wizzer.framework.base.Result;
|
||||||
import io.v.nutz.annontation.ViReturn;
|
import io.v.nutz.annontation.ViReturn;
|
||||||
import io.v.nutz.base.utils.DateUtil;
|
import io.v.nutz.base.utils.DateUtil;
|
||||||
|
import io.v.nutz.base.utils.Vi;
|
||||||
import io.v.nutz.meeting.models.MeetingInfo;
|
import io.v.nutz.meeting.models.MeetingInfo;
|
||||||
import io.v.nutz.meeting.models.MeetingTimePeriodUser;
|
import io.v.nutz.meeting.models.MeetingTimePeriodUser;
|
||||||
import io.v.nutz.meeting.service.MeetingMineService;
|
import io.v.nutz.meeting.service.MeetingMineService;
|
||||||
@@ -138,7 +139,11 @@ public class MMeetingMineController {
|
|||||||
group.orLike("u.loginname", query);
|
group.orLike("u.loginname", query);
|
||||||
cnd.and(group);
|
cnd.and(group);
|
||||||
}
|
}
|
||||||
|
if (!io.v.nutz.util.ShiroUtil.hasAnyRoles(new String[]{"sysadmin", "A06"})) {
|
||||||
|
cnd.and("u.unionid", "=", Vi.getUnionId());
|
||||||
|
}
|
||||||
cnd.and("meetingId", "=", meetId);
|
cnd.and("meetingId", "=", meetId);
|
||||||
|
cnd.groupBy("pu.userId");
|
||||||
sql.setCondition(cnd);
|
sql.setCondition(cnd);
|
||||||
return meetingMineService.listMap(sql);
|
return meetingMineService.listMap(sql);
|
||||||
}
|
}
|
||||||
@@ -153,7 +158,7 @@ public class MMeetingMineController {
|
|||||||
@Ok("json:full")
|
@Ok("json:full")
|
||||||
@ViReturn
|
@ViReturn
|
||||||
@RequiresAuthentication
|
@RequiresAuthentication
|
||||||
public Object askForLeave(@Param("data") String meetingTimePeriodUsers) {
|
public Object askForLeave(@Param("data") String meetingTimePeriodUsers, @Param("helpLeave") Boolean helpLeave) {
|
||||||
//先清空,因为可能会涉及到修改
|
//先清空,因为可能会涉及到修改
|
||||||
/*org.nutz.dao.Chain clearChain = Chain.make("isJoin", null);
|
/*org.nutz.dao.Chain clearChain = Chain.make("isJoin", null);
|
||||||
clearChain.add("stateCode", null);
|
clearChain.add("stateCode", null);
|
||||||
@@ -167,7 +172,7 @@ public class MMeetingMineController {
|
|||||||
if (Lang.isEmpty(meetingTimePeriod)) {
|
if (Lang.isEmpty(meetingTimePeriod)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
meetingMineService.askForLeave(meetingTimePeriod);
|
meetingMineService.askForLeave(meetingTimePeriod, helpLeave);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public interface MeetingMineService extends ViService {
|
|||||||
* @param tpuIds tpuId 不解释
|
* @param tpuIds tpuId 不解释
|
||||||
* @param leaveReason 请假理由
|
* @param leaveReason 请假理由
|
||||||
*/
|
*/
|
||||||
void askForLeave(List<MeetingTimePeriodUser> meetingTimePeriodUsers);
|
void askForLeave(List<MeetingTimePeriodUser> meetingTimePeriodUsers, Boolean helpLeave);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 参加会议确认
|
* 参加会议确认
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public class MeetingCommonServiceImpl extends ViServiceImpl implements MeetingCo
|
|||||||
@Override
|
@Override
|
||||||
public Integer findStartStateCodeByModuleName(String moduleName) {
|
public Integer findStartStateCodeByModuleName(String moduleName) {
|
||||||
List<AuditState> auditStateList = dao().query(AuditState.class, Cnd.where("module", "=", moduleName).asc("stateId"));
|
List<AuditState> auditStateList = dao().query(AuditState.class, Cnd.where("module", "=", moduleName).asc("stateId"));
|
||||||
Optional<Integer> minOptional = auditStateList.stream().map(v -> v.getStateId()).min(Comparator.comparingInt(a -> a)).stream().findFirst();
|
Optional<Integer> minOptional = auditStateList.stream().map(AuditState::getStateId).min(Comparator.comparingInt(a -> a)).stream().findFirst();
|
||||||
return minOptional.orElse(null);
|
return minOptional.orElse(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -55,10 +55,11 @@ public class MeetingMineServiceImpl extends ViServiceImpl implements MeetingMine
|
|||||||
LEFT JOIN audit_state state on state.stateId = mu.stateCode
|
LEFT JOIN audit_state state on state.stateId = mu.stateCode
|
||||||
$condition
|
$condition
|
||||||
""");
|
""");
|
||||||
Sql userSql = Sqls.create("select meetingId from meeting_time_period_user where userId = @userId").setParam("userId", userId);
|
if (!io.v.nutz.util.ShiroUtil.hasAnyRoles(new String[]{"sysadmin", "A06", "H04", "jdhdbt01"})) {
|
||||||
cnd.and("info.id", "in", userSql);
|
Sql userSql = Sqls.create("select meetingId from meeting_time_period_user where userId = @userId").setParam("userId", userId);
|
||||||
|
cnd.and("info.id", "in", userSql);
|
||||||
cnd.and("mu.userid", "=", userId);
|
cnd.and("mu.userid", "=", userId);
|
||||||
|
}
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||||
@@ -100,9 +101,10 @@ public class MeetingMineServiceImpl extends ViServiceImpl implements MeetingMine
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void askForLeave(List<MeetingTimePeriodUser> meetingTimePeriodUsers) {
|
public void askForLeave(List<MeetingTimePeriodUser> meetingTimePeriodUsers, Boolean helpLeave) {
|
||||||
String moduleName = meetingCommonService.findModuleNameByMeetingId(meetingTimePeriodUsers.get(0).getMeetingId());
|
String meetingId = meetingTimePeriodUsers.get(0).getMeetingId();
|
||||||
Integer stateCode = meetingCommonService.findStartStateCodeByModuleName(moduleName);
|
String moduleName = meetingCommonService.findModuleNameByMeetingId(meetingId);
|
||||||
|
Integer stateCode = helpLeave ? meetingCommonService.findSuccessStateCode(meetingId) : meetingCommonService.findStartStateCodeByModuleName(moduleName);
|
||||||
if (stateCode != null) {
|
if (stateCode != null) {
|
||||||
|
|
||||||
meetingTimePeriodUsers.forEach(item -> {
|
meetingTimePeriodUsers.forEach(item -> {
|
||||||
@@ -111,15 +113,16 @@ public class MeetingMineServiceImpl extends ViServiceImpl implements MeetingMine
|
|||||||
});
|
});
|
||||||
dao().updateIgnoreNull(meetingTimePeriodUsers);
|
dao().updateIgnoreNull(meetingTimePeriodUsers);
|
||||||
|
|
||||||
List<NutMap> userIdMap = meetingCommonService.getNextAuditUser(stateCode, moduleName);
|
if(!helpLeave) {
|
||||||
List<String> userInfoStr = msgNotifyService.userData(userIdMap);
|
List<NutMap> userIdMap = meetingCommonService.getNextAuditUser(stateCode, moduleName);
|
||||||
|
List<String> userInfoStr = msgNotifyService.userData(userIdMap);
|
||||||
|
|
||||||
String meetingId = meetingTimePeriodUsers.get(0).getMeetingId();
|
MeetingInfo meetingInfo = dao().fetch(MeetingInfo.class, meetingId);
|
||||||
MeetingInfo meetingInfo = dao().fetch(MeetingInfo.class, meetingId);
|
|
||||||
|
|
||||||
String loginname = ShiroUtil.getPlatformUsername();
|
String loginname = ShiroUtil.getPlatformUsername();
|
||||||
String msgStr = String.format("%s针对%s提交了请假申请,请您审批!", loginname, meetingInfo.getMeetingName());
|
String msgStr = String.format("%s针对%s提交了请假申请,请您审批!", loginname, meetingInfo.getMeetingName());
|
||||||
//msgApi.sendSmsMsg(userInfoStr, msgStr);
|
//msgApi.sendSmsMsg(userInfoStr, msgStr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,13 +48,23 @@
|
|||||||
<td class="tpa">创作说明</td>
|
<td class="tpa">创作说明</td>
|
||||||
<td class="tpb" colspan="3">{{ viewData.hdsbzpms }}</td>
|
<td class="tpb" colspan="3">{{ viewData.hdsbzpms }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr style="border: 1px solid rgb(220,220,220);" v-if="viewData.isUploadPhoto||viewData.isUploadOther">
|
<tr style="border: 1px solid rgb(220,220,220);" v-if="viewData.isUploadPhoto||viewData.isUploadOther || viewData.isUploadZip">
|
||||||
<td class="tpa">作品信息</td>
|
<td class="tpa">作品信息</td>
|
||||||
<td class="tpb" colspan="3">
|
<td class="tpb" colspan="3">
|
||||||
<el-row v-if="viewData.isUploadPhoto">
|
<el-row v-if="viewData.isUploadPhoto">
|
||||||
<el-divider>照片 <i class="el-icon-picture-outline"></i></el-divider>
|
<el-divider>照片 <i class="el-icon-picture-outline"></i></el-divider>
|
||||||
<file-upload view :files="img2List"></file-upload>
|
<file-upload view :files="img2List"></file-upload>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-row v-if="viewData.isUploadOther">
|
||||||
|
<el-divider>音/视频、文档 <i class="el-icon-picture-outline"></i></el-divider>
|
||||||
|
<file-upload view :files="docList"></file-upload>
|
||||||
|
<file-upload view :files="audioList"></file-upload>
|
||||||
|
<file-upload view :files="videoList"></file-upload>
|
||||||
|
</el-row>
|
||||||
|
<el-row v-if="viewData.isUploadZip">
|
||||||
|
<el-divider>压缩包 <i class="el-icon-picture-outline"></i></el-divider>
|
||||||
|
<file-upload view :files="zipList"></file-upload>
|
||||||
|
</el-row>
|
||||||
<!-- <div v-if="viewData.isUploadOther">
|
<!-- <div v-if="viewData.isUploadOther">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-divider>视频 <i class="el-icon-video-camera"></i></el-divider>
|
<el-divider>视频 <i class="el-icon-video-camera"></i></el-divider>
|
||||||
@@ -226,11 +236,13 @@ module.exports = {
|
|||||||
viewData: {},
|
viewData: {},
|
||||||
loading: true,
|
loading: true,
|
||||||
imgtype: ['gif', 'jpg', 'png', 'jpeg'],
|
imgtype: ['gif', 'jpg', 'png', 'jpeg'],
|
||||||
|
ziptype: ['raa', 'zip'],
|
||||||
videotype: ['flv', 'swf', 'mkv', 'avi', 'rm', 'rmvb', 'wmv', 'mp4', 'mov', 'mpg', 'mpeg'],
|
videotype: ['flv', 'swf', 'mkv', 'avi', 'rm', 'rmvb', 'wmv', 'mp4', 'mov', 'mpg', 'mpeg'],
|
||||||
doctype: ['doc', 'docx', 'xlsx', 'xls', 'txt'],
|
doctype: ['doc', 'docx', 'xlsx', 'xls', 'txt'],
|
||||||
audiotype: ['mp3', 'wma', 'flac', 'wav', 'm4a', 'amr', 'au'],
|
audiotype: ['mp3', 'wma', 'flac', 'wav', 'm4a', 'amr', 'au'],
|
||||||
prevImgList: [],
|
prevImgList: [],
|
||||||
img2List: [],
|
img2List: [],
|
||||||
|
zipList: [],
|
||||||
videoList: [],
|
videoList: [],
|
||||||
docList: [],
|
docList: [],
|
||||||
audioList: [],
|
audioList: [],
|
||||||
@@ -251,6 +263,7 @@ module.exports = {
|
|||||||
async getInfo(id) {
|
async getInfo(id) {
|
||||||
|
|
||||||
this.img2List = [];
|
this.img2List = [];
|
||||||
|
this.zipList = [];
|
||||||
this.prevImgList = [];
|
this.prevImgList = [];
|
||||||
this.videoList = [];
|
this.videoList = [];
|
||||||
this.audioList = [];
|
this.audioList = [];
|
||||||
@@ -271,6 +284,8 @@ module.exports = {
|
|||||||
this.docList.push(val);
|
this.docList.push(val);
|
||||||
} else if (this.audiotype.indexOf(filetype) > -1) {
|
} else if (this.audiotype.indexOf(filetype) > -1) {
|
||||||
this.audioList.push(val);
|
this.audioList.push(val);
|
||||||
|
} else if (this.ziptype.indexOf(filetype) > -1) {
|
||||||
|
this.zipList.push(val);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -134,6 +134,10 @@ layout("/mobile/platform.html"){
|
|||||||
top: 28px;
|
top: 28px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.custom-image {
|
||||||
|
height: 50% !important;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
@@ -354,11 +358,11 @@ layout("/mobile/platform.html"){
|
|||||||
</div>
|
</div>
|
||||||
</van-action-sheet>
|
</van-action-sheet>
|
||||||
|
|
||||||
<van-popup position="bottom" round v-model="helpUserShow" :style="{ height: '70%' }" closeable>
|
<van-popup position="bottom" round v-model="helpUserShow" :style="{ height: '70%' }" closeable class="sign_pop">
|
||||||
<van-search v-model="searchResult" show-action style="padding: 10px;margin-top: 45px" placeholder="请输入工号或姓名搜索"
|
<van-search v-model="searchResult" show-action style="padding: 10px;margin-top: 45px" placeholder="请输入工号或姓名搜索"
|
||||||
@input="delaySearch">
|
@input="delaySearch">
|
||||||
</van-search>
|
</van-search>
|
||||||
<van-cell-group>
|
<van-cell-group v-if="userList && userList.length > 0">
|
||||||
<div>
|
<div>
|
||||||
<van-checkbox-group style="text-align: center">
|
<van-checkbox-group style="text-align: center">
|
||||||
<van-cell-group>
|
<van-cell-group>
|
||||||
@@ -370,6 +374,12 @@ layout("/mobile/platform.html"){
|
|||||||
</van-checkbox-group>
|
</van-checkbox-group>
|
||||||
</div>
|
</div>
|
||||||
</van-cell-group>
|
</van-cell-group>
|
||||||
|
<van-empty
|
||||||
|
v-else
|
||||||
|
class="custom-image"
|
||||||
|
image="/none.svg"
|
||||||
|
description="暂无数据"
|
||||||
|
></van-empty>
|
||||||
</van-popup>
|
</van-popup>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -538,7 +548,7 @@ layout("/mobile/platform.html"){
|
|||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.timeList = res.data
|
this.timeList = res.data
|
||||||
if (this.timeList.length === 0) {
|
if (this.timeList.length === 0) {
|
||||||
vant.Toast('暂无可请假的假时间段');
|
vant.Toast('暂无可请假的会议');
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.leaveShow = true
|
this.leaveShow = true
|
||||||
@@ -600,7 +610,8 @@ layout("/mobile/platform.html"){
|
|||||||
}
|
}
|
||||||
const resp = await $.post('/mobile/meeting/mine/askForLeave', {
|
const resp = await $.post('/mobile/meeting/mine/askForLeave', {
|
||||||
meetingId: this.clickRow.id,
|
meetingId: this.clickRow.id,
|
||||||
data: JSON.stringify(paramArray)
|
data: JSON.stringify(paramArray),
|
||||||
|
helpLeave: this.helpLeave
|
||||||
})
|
})
|
||||||
if (resp.code === 0) {
|
if (resp.code === 0) {
|
||||||
vant.Toast('操作成功');
|
vant.Toast('操作成功');
|
||||||
|
|||||||
@@ -8,13 +8,13 @@
|
|||||||
name="viewport">
|
name="viewport">
|
||||||
<title></title>
|
<title></title>
|
||||||
<!-- 引入样式文件 -->
|
<!-- 引入样式文件 -->
|
||||||
<link href="https://cdn.staticfile.org/vant/2.12.5/index.css" rel="stylesheet">
|
<link rel="stylesheet" href="${base!}/assets/platform/plugins/vant/vant.css">
|
||||||
<link href="https://res.wx.qq.com/open/libs/weui/2.2.0/weui.min.css" rel="stylesheet">
|
<link href="https://res.wx.qq.com/open/libs/weui/2.2.0/weui.min.css" rel="stylesheet">
|
||||||
|
|
||||||
<!-- 引入 Vue 和 Vant 的 JS 文件 -->
|
<!-- 引入 Vue 和 Vant 的 JS 文件 -->
|
||||||
<script src="https://cdn.staticfile.org/vue/2.6.9/vue.min.js"></script>
|
<script src="${base!}/assets/platform/plugins/vue/vue.min.js"></script>
|
||||||
<script src="https://cdn.staticfile.org/vant/2.12.5/vant.min.js"></script>
|
<script src="${base!}/assets/platform/plugins/vant/vant.js"></script>
|
||||||
<script src="https://cdn.staticfile.org/jquery/1.10.0/jquery.min.js"></script>
|
<script src="${base!}/assets/platform/plugins/jquery/jquery-1.11.1.min.js"></script>
|
||||||
<script src="/assets/platform/plugins/moment/moment.min.js"></script>
|
<script src="/assets/platform/plugins/moment/moment.min.js"></script>
|
||||||
<script src="https://cdn.staticfile.org/js-cookie/2.2.1/js.cookie.min.js"></script>
|
<script src="https://cdn.staticfile.org/js-cookie/2.2.1/js.cookie.min.js"></script>
|
||||||
|
|
||||||
@@ -423,6 +423,59 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<template v-if="chooseLb.isUploadZip === true">
|
||||||
|
<van-field input-align="right" label="压缩包" label-width="150"
|
||||||
|
readonly required
|
||||||
|
style="border: none;"></van-field>
|
||||||
|
<van-swipe-cell style="border: none;padding-top: 20px;"
|
||||||
|
v-for="(video,idx) in fd[i].zipList">
|
||||||
|
<van-row style="padding: 0 15px">
|
||||||
|
<van-col :span="6">
|
||||||
|
<van-image
|
||||||
|
fit="cover"
|
||||||
|
height="25vw"
|
||||||
|
src="1"
|
||||||
|
width="100%"
|
||||||
|
>
|
||||||
|
<template v-slot:error>
|
||||||
|
<i class="van-icon van-icon-description van-uploader__file-icon"></i>
|
||||||
|
<div class="van-uploader__file-name van-ellipsis">
|
||||||
|
{{video.filename ? video.filename : video.file.name }}
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</van-image>
|
||||||
|
</van-col>
|
||||||
|
</van-row>
|
||||||
|
|
||||||
|
<van-button
|
||||||
|
@click="zipDelete(idx,i,video.filepath)"
|
||||||
|
class="delete-button"
|
||||||
|
native-type="button"
|
||||||
|
slot="right"
|
||||||
|
square
|
||||||
|
text="删除"
|
||||||
|
type="danger"
|
||||||
|
></van-button>
|
||||||
|
</van-swipe-cell>
|
||||||
|
<van-field>
|
||||||
|
<template #input>
|
||||||
|
<van-uploader :before-read="beforeReadZip"
|
||||||
|
:max-count="chooseLb.zipNum"
|
||||||
|
:max-size="chooseLb.zipSize * 1048576"
|
||||||
|
:preview-image="false"
|
||||||
|
@oversize="$toast('文件大小不能超过' + chooseLb.zipSize + 'M')"
|
||||||
|
accept="*"
|
||||||
|
result-type="file"
|
||||||
|
v-model="fd[i].zipList"></van-uploader>
|
||||||
|
</template>
|
||||||
|
</van-field>
|
||||||
|
<div style="margin-top: 10px;padding-left: 20px;font-size: 12px;color: rgb(160,160,160)">
|
||||||
|
注意:文件最多{{ chooseLb.zipNum}}个,
|
||||||
|
每个不超过{{ chooseLb.zipSize}}M,
|
||||||
|
格式为{{chooseLb.zipType.toString()}}。
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</van-tab>
|
</van-tab>
|
||||||
</van-tabs>
|
</van-tabs>
|
||||||
@@ -535,6 +588,7 @@
|
|||||||
audiotype: ['mp3', 'wma', 'flac', 'wav', 'm4a', 'amr', 'au'],
|
audiotype: ['mp3', 'wma', 'flac', 'wav', 'm4a', 'amr', 'au'],
|
||||||
doctype: ['doc', 'docx', 'xlsx', 'xls', 'txt'],
|
doctype: ['doc', 'docx', 'xlsx', 'xls', 'txt'],
|
||||||
videotype: ['flv', 'swf', 'mkv', 'avi', 'rm', 'rmvb', 'wmv', 'mp4', 'mov', 'mpg', 'mpeg', 'quicktime'],
|
videotype: ['flv', 'swf', 'mkv', 'avi', 'rm', 'rmvb', 'wmv', 'mp4', 'mov', 'mpg', 'mpeg', 'quicktime'],
|
||||||
|
ziptype: ['zip', 'rar'],
|
||||||
chooseLb: {},
|
chooseLb: {},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -560,6 +614,11 @@
|
|||||||
this.readytodelfile.push(filepath);
|
this.readytodelfile.push(filepath);
|
||||||
}
|
}
|
||||||
,
|
,
|
||||||
|
zipDelete(idx, i, filepath) {
|
||||||
|
this.fd[i].zipList.splice(idx, 1)
|
||||||
|
this.readytodelfile.push(filepath);
|
||||||
|
}
|
||||||
|
,
|
||||||
onConfirm(value) {
|
onConfirm(value) {
|
||||||
this.formData.hdzplx2 = value.zname;
|
this.formData.hdzplx2 = value.zname;
|
||||||
this.showPicker = false;
|
this.showPicker = false;
|
||||||
@@ -657,6 +716,9 @@
|
|||||||
this.fd[i].videoList.forEach(val => {
|
this.fd[i].videoList.forEach(val => {
|
||||||
formData2.append("files", val.file, this.isNull(val.ms) ? val.file.name : val.ms + getSuffix(val.file.name));
|
formData2.append("files", val.file, this.isNull(val.ms) ? val.file.name : val.ms + getSuffix(val.file.name));
|
||||||
})
|
})
|
||||||
|
this.fd[i].zipList.forEach(val => {
|
||||||
|
formData2.append("files", val.file, this.isNull(val.ms) ? val.file.name : val.ms + getSuffix(val.file.name));
|
||||||
|
})
|
||||||
formData2.append("hdsbsj", moment().format('YYYY-MM-DD HH:mm:ss'));
|
formData2.append("hdsbsj", moment().format('YYYY-MM-DD HH:mm:ss'));
|
||||||
}
|
}
|
||||||
if (!this.isNull(this.formData.id)) {
|
if (!this.isNull(this.formData.id)) {
|
||||||
@@ -669,6 +731,9 @@
|
|||||||
this.fd[i].videoList.forEach(val => {
|
this.fd[i].videoList.forEach(val => {
|
||||||
formData2.append("file", val.file);
|
formData2.append("file", val.file);
|
||||||
});
|
});
|
||||||
|
this.fd[i].zipList.forEach(val => {
|
||||||
|
formData2.append("file", val.file);
|
||||||
|
});
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "/platform/hd/jzghd/sczp/doEdit",
|
url: "/platform/hd/jzghd/sczp/doEdit",
|
||||||
type: "post",
|
type: "post",
|
||||||
@@ -693,6 +758,7 @@
|
|||||||
vue.fd[i].sbsj = ''
|
vue.fd[i].sbsj = ''
|
||||||
vue.fd[i].imgList = []
|
vue.fd[i].imgList = []
|
||||||
vue.fd[i].videoList = []
|
vue.fd[i].videoList = []
|
||||||
|
vue.fd[i].zipList = []
|
||||||
vue.fd[i].audioList = []
|
vue.fd[i].audioList = []
|
||||||
Cookies.remove('sa_formData');
|
Cookies.remove('sa_formData');
|
||||||
|
|
||||||
@@ -742,6 +808,7 @@
|
|||||||
vue.fd[i].sbsj = ''
|
vue.fd[i].sbsj = ''
|
||||||
vue.fd[i].imgList = []
|
vue.fd[i].imgList = []
|
||||||
vue.fd[i].videoList = []
|
vue.fd[i].videoList = []
|
||||||
|
vue.fd[i].zipList = []
|
||||||
vue.fd[i].audioList = []
|
vue.fd[i].audioList = []
|
||||||
Cookies.remove('sa_formData');
|
Cookies.remove('sa_formData');
|
||||||
|
|
||||||
@@ -799,6 +866,19 @@
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
|
},
|
||||||
|
beforeReadZip: function (file, detail) {
|
||||||
|
var suffix = getSuffix(file.name)
|
||||||
|
if (suffix == null) {
|
||||||
|
this.$toast('获取不到后缀名!')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
const suf = file.name.split('.').pop().toLowerCase()
|
||||||
|
if (this.chooseLb.zipType.indexOf(suf) === -1) {
|
||||||
|
this.$toast('支持的文件类型:' + this.chooseLb.zipType.toString())
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
,
|
,
|
||||||
},
|
},
|
||||||
@@ -822,6 +902,7 @@
|
|||||||
zplb: '',
|
zplb: '',
|
||||||
imgList: [],
|
imgList: [],
|
||||||
videoList: [],
|
videoList: [],
|
||||||
|
zipList: [],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
this.boxData = data.data
|
this.boxData = data.data
|
||||||
@@ -866,12 +947,15 @@
|
|||||||
const filetype = v.filename.substring(v.filename.lastIndexOf(".") + 1)
|
const filetype = v.filename.substring(v.filename.lastIndexOf(".") + 1)
|
||||||
const aa = this.audiotype.concat(this.videotype)
|
const aa = this.audiotype.concat(this.videotype)
|
||||||
const bb = this.doctype.concat(this.doctype)
|
const bb = this.doctype.concat(this.doctype)
|
||||||
|
const zip = this.ziptype.concat(this.ziptype)
|
||||||
if (this.imgtype.indexOf(filetype) > -1) {
|
if (this.imgtype.indexOf(filetype) > -1) {
|
||||||
this.fd[refs[0].llocation - 1].imgList.push(v)
|
this.fd[refs[0].llocation - 1].imgList.push(v)
|
||||||
} else if (aa.indexOf(filetype) > -1) {
|
} else if (aa.indexOf(filetype) > -1) {
|
||||||
this.fd[refs[0].llocation - 1].videoList.push(v);
|
this.fd[refs[0].llocation - 1].videoList.push(v);
|
||||||
} else if (bb.indexOf(filetype) > -1) {
|
} else if (bb.indexOf(filetype) > -1) {
|
||||||
this.fd[refs[0].llocation - 1].videoList.push(v);
|
this.fd[refs[0].llocation - 1].videoList.push(v);
|
||||||
|
} else if (zip.indexOf(filetype) > -1) {
|
||||||
|
this.fd[refs[0].llocation - 1].zipList.push(v);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -86,8 +86,8 @@ layout("/layouts/platform.html"){
|
|||||||
tableColumns: [
|
tableColumns: [
|
||||||
{prop: 'meetingName', label: '会议名称', sortable: true},
|
{prop: 'meetingName', label: '会议名称', sortable: true},
|
||||||
{prop: 'meetingTypeName', label: '会议类型', sortable: true},
|
{prop: 'meetingTypeName', label: '会议类型', sortable: true},
|
||||||
{prop: 'startTime', label: '会议时间', sortable: true},
|
{prop: 'startTime', label: '开始时间', sortable: true},
|
||||||
/*{prop: 'endTime', label: '结束时间', sortable: true},*/
|
{prop: 'endTime', label: '结束时间', sortable: true},
|
||||||
{prop: 'location', label: '会议地点', sortable: true},
|
{prop: 'location', label: '会议地点', sortable: true},
|
||||||
{prop: 'isCanLeave', label: '能否请假', sortable: true},
|
{prop: 'isCanLeave', label: '能否请假', sortable: true},
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -246,13 +246,6 @@ layout("/layouts/platform.html"){
|
|||||||
this.formData.meetingTimePeriods[0].endTime = val[1]
|
this.formData.meetingTimePeriods[0].endTime = val[1]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'formData.meetTime'(val) {
|
|
||||||
if (val) {
|
|
||||||
//结束时间往后加30分钟
|
|
||||||
const endTime = moment(val).add(30, 'm').format('YYYY-MM-DD HH:mm:ss')
|
|
||||||
this.formData.meetingTime = [val, endTime]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user