This commit is contained in:
@jyuhsin
2024-10-22 16:25:08 +08:00
parent 8cfea63d5f
commit 724c9249d3
9 changed files with 147 additions and 36 deletions
@@ -134,6 +134,10 @@ layout("/mobile/platform.html"){
top: 28px;
}
.custom-image {
height: 50% !important;
}
</style>
<div id="app" v-cloak>
@@ -354,11 +358,11 @@ layout("/mobile/platform.html"){
</div>
</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="请输入工号或姓名搜索"
@input="delaySearch">
</van-search>
<van-cell-group>
<van-cell-group v-if="userList && userList.length > 0">
<div>
<van-checkbox-group style="text-align: center">
<van-cell-group>
@@ -370,6 +374,12 @@ layout("/mobile/platform.html"){
</van-checkbox-group>
</div>
</van-cell-group>
<van-empty
v-else
class="custom-image"
image="/none.svg"
description="暂无数据"
></van-empty>
</van-popup>
</div>
@@ -538,7 +548,7 @@ layout("/mobile/platform.html"){
if (res.code === 0) {
this.timeList = res.data
if (this.timeList.length === 0) {
vant.Toast('暂无可请假的假时间段');
vant.Toast('暂无可请假的会议');
return
}
this.leaveShow = true
@@ -600,7 +610,8 @@ layout("/mobile/platform.html"){
}
const resp = await $.post('/mobile/meeting/mine/askForLeave', {
meetingId: this.clickRow.id,
data: JSON.stringify(paramArray)
data: JSON.stringify(paramArray),
helpLeave: this.helpLeave
})
if (resp.code === 0) {
vant.Toast('操作成功');
@@ -8,13 +8,13 @@
name="viewport">
<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">
<!-- 引入 Vue 和 Vant 的 JS 文件 -->
<script src="https://cdn.staticfile.org/vue/2.6.9/vue.min.js"></script>
<script src="https://cdn.staticfile.org/vant/2.12.5/vant.min.js"></script>
<script src="https://cdn.staticfile.org/jquery/1.10.0/jquery.min.js"></script>
<script src="${base!}/assets/platform/plugins/vue/vue.min.js"></script>
<script src="${base!}/assets/platform/plugins/vant/vant.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="https://cdn.staticfile.org/js-cookie/2.2.1/js.cookie.min.js"></script>
@@ -423,6 +423,59 @@
</div>
</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>
</van-tab>
</van-tabs>
@@ -535,6 +588,7 @@
audiotype: ['mp3', 'wma', 'flac', 'wav', 'm4a', 'amr', 'au'],
doctype: ['doc', 'docx', 'xlsx', 'xls', 'txt'],
videotype: ['flv', 'swf', 'mkv', 'avi', 'rm', 'rmvb', 'wmv', 'mp4', 'mov', 'mpg', 'mpeg', 'quicktime'],
ziptype: ['zip', 'rar'],
chooseLb: {},
}
},
@@ -560,6 +614,11 @@
this.readytodelfile.push(filepath);
}
,
zipDelete(idx, i, filepath) {
this.fd[i].zipList.splice(idx, 1)
this.readytodelfile.push(filepath);
}
,
onConfirm(value) {
this.formData.hdzplx2 = value.zname;
this.showPicker = false;
@@ -657,6 +716,9 @@
this.fd[i].videoList.forEach(val => {
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'));
}
if (!this.isNull(this.formData.id)) {
@@ -669,6 +731,9 @@
this.fd[i].videoList.forEach(val => {
formData2.append("file", val.file);
});
this.fd[i].zipList.forEach(val => {
formData2.append("file", val.file);
});
$.ajax({
url: "/platform/hd/jzghd/sczp/doEdit",
type: "post",
@@ -693,6 +758,7 @@
vue.fd[i].sbsj = ''
vue.fd[i].imgList = []
vue.fd[i].videoList = []
vue.fd[i].zipList = []
vue.fd[i].audioList = []
Cookies.remove('sa_formData');
@@ -742,6 +808,7 @@
vue.fd[i].sbsj = ''
vue.fd[i].imgList = []
vue.fd[i].videoList = []
vue.fd[i].zipList = []
vue.fd[i].audioList = []
Cookies.remove('sa_formData');
@@ -799,6 +866,19 @@
return false
}
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: '',
imgList: [],
videoList: [],
zipList: [],
})
})
this.boxData = data.data
@@ -866,12 +947,15 @@
const filetype = v.filename.substring(v.filename.lastIndexOf(".") + 1)
const aa = this.audiotype.concat(this.videotype)
const bb = this.doctype.concat(this.doctype)
const zip = this.ziptype.concat(this.ziptype)
if (this.imgtype.indexOf(filetype) > -1) {
this.fd[refs[0].llocation - 1].imgList.push(v)
} else if (aa.indexOf(filetype) > -1) {
this.fd[refs[0].llocation - 1].videoList.push(v);
} else if (bb.indexOf(filetype) > -1) {
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: [
{prop: 'meetingName', label: '会议名称', sortable: true},
{prop: 'meetingTypeName', label: '会议类型', sortable: true},
{prop: 'startTime', label: '会议时间', sortable: true},
/*{prop: 'endTime', label: '结束时间', sortable: true},*/
{prop: 'startTime', label: '开始时间', sortable: true},
{prop: 'endTime', label: '结束时间', sortable: true},
{prop: 'location', label: '会议地点', sortable: true},
{prop: 'isCanLeave', label: '能否请假', sortable: true},
],
@@ -246,13 +246,6 @@ layout("/layouts/platform.html"){
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>