|
@@ -81,6 +81,12 @@
|
|
<van-field label="请假天数(天)" v-if="editForm.timeType == '0'" @blur="dayBlur()" v-model="editForm.timeDays" type="number" :rules="[{ required: true, message: '请输入请假天数' }]"></van-field>
|
|
<van-field label="请假天数(天)" v-if="editForm.timeType == '0'" @blur="dayBlur()" v-model="editForm.timeDays" type="number" :rules="[{ required: true, message: '请输入请假天数' }]"></van-field>
|
|
<!-- 请假时长 -->
|
|
<!-- 请假时长 -->
|
|
<van-field label="请假时长(小时)" v-else v-model="editForm.timeHours" @blur="hourBlur()" type="number" :rules="[{ required: true, message: '请输入请假时长' }]"></van-field>
|
|
<van-field label="请假时长(小时)" v-else v-model="editForm.timeHours" @blur="hourBlur()" type="number" :rules="[{ required: true, message: '请输入请假时长' }]"></van-field>
|
|
|
|
+ <!-- 报销凭证 -->
|
|
|
|
+ <van-field label="相关凭证" v-if="!isCorpWX">
|
|
|
|
+ <template #input>
|
|
|
|
+ <van-uploader v-model="tupiansss" :after-read="uploaderAfterRead" :max-count="5" multiple :before-delete="imgDeleteFile" />
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
<!-- 备注 -->
|
|
<!-- 备注 -->
|
|
<van-field v-model="editForm.remark" label="备注" type="textarea" :autosize="{minHeight:100}"></van-field>
|
|
<van-field v-model="editForm.remark" label="备注" type="textarea" :autosize="{minHeight:100}"></van-field>
|
|
</van-form>
|
|
</van-form>
|
|
@@ -111,6 +117,9 @@
|
|
<div><span>请假结束时间:</span><span>{{item.endDate}}</span></div>
|
|
<div><span>请假结束时间:</span><span>{{item.endDate}}</span></div>
|
|
<div><span>请假天数:</span><span>{{item.timeDays ? item.timeDays + '天' : '/'}}</span></div>
|
|
<div><span>请假天数:</span><span>{{item.timeDays ? item.timeDays + '天' : '/'}}</span></div>
|
|
<div><span>请假时长:</span><span>{{item.timeHours ? item.timeHours + '小时' : '/'}}</span></div>
|
|
<div><span>请假时长:</span><span>{{item.timeHours ? item.timeHours + '小时' : '/'}}</span></div>
|
|
|
|
+ <div v-if="!isCorpWX"><span>相关凭证:</span>
|
|
|
|
+ <van-uploader v-model="item.fileUrlsList" :max-count="0" :deletable="false" />
|
|
|
|
+ </div>
|
|
<div><span>备注:</span><span>{{item.remark}}</span></div>
|
|
<div><span>备注:</span><span>{{item.remark}}</span></div>
|
|
</div>
|
|
</div>
|
|
<div class="operation" v-if="((item.status != 0 && item.ownerId == user.id) || leaveAll) && !isSyncData">
|
|
<div class="operation" v-if="((item.status != 0 && item.ownerId == user.id) || leaveAll) && !isSyncData">
|
|
@@ -206,7 +215,8 @@ export default {
|
|
timeType: '0',
|
|
timeType: '0',
|
|
timeDays: 0,
|
|
timeDays: 0,
|
|
timeHours: 8,
|
|
timeHours: 8,
|
|
- remark: ''
|
|
|
|
|
|
+ remark: '',
|
|
|
|
+ fileUrlsList: []
|
|
},
|
|
},
|
|
formshowText: {
|
|
formshowText: {
|
|
name: '',
|
|
name: '',
|
|
@@ -240,9 +250,9 @@ export default {
|
|
denyParm: {
|
|
denyParm: {
|
|
id: '',
|
|
id: '',
|
|
denyReason: ''
|
|
denyReason: ''
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+ },
|
|
|
|
+ tupiansss: [],
|
|
|
|
+ isCorpWX: false
|
|
}
|
|
}
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
@@ -271,6 +281,11 @@ export default {
|
|
this.active = '0'
|
|
this.active = '0'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ var ua = navigator.userAgent.toLowerCase();
|
|
|
|
+ if (ua.indexOf("wxwork") > 0) {
|
|
|
|
+ this.isCorpWX = true;
|
|
|
|
+ }
|
|
|
|
|
|
// if(!this.canExamine){
|
|
// if(!this.canExamine){
|
|
this.editForm.ownerId = this.user.id
|
|
this.editForm.ownerId = this.user.id
|
|
@@ -282,6 +297,33 @@ export default {
|
|
// }
|
|
// }
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ imgDeleteFile(row, data) {
|
|
|
|
+ const { index } = data
|
|
|
|
+ this.editForm.fileUrlsList.splice(index, 1)
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ console.log(this.editForm);
|
|
|
|
+ console.log(this.tupiansss);
|
|
|
|
+ }, 2000)
|
|
|
|
+ return true
|
|
|
|
+ },
|
|
|
|
+ uploaderAfterRead(rowList) {
|
|
|
|
+ this.$toast('上传中...');
|
|
|
|
+ for(let i in rowList) {
|
|
|
|
+ const formData = new FormData()
|
|
|
|
+ formData.append('multipartFile', rowList[i].file);
|
|
|
|
+ this.$axios.post("/common/uploadFile", formData)
|
|
|
|
+ .then(res => {
|
|
|
|
+ if(res.code == "ok") {
|
|
|
|
+ this.editForm.fileUrlsList.push({
|
|
|
|
+ url: `/upload/${res.data}`,
|
|
|
|
+ name: res.data
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ this.$toast.fail(res.msg);
|
|
|
|
+ }
|
|
|
|
+ }).catch(err=> {console.log(err)});
|
|
|
|
+ }
|
|
|
|
+ },
|
|
back(){
|
|
back(){
|
|
history.back();
|
|
history.back();
|
|
},
|
|
},
|
|
@@ -403,9 +445,15 @@ export default {
|
|
if(!this.editForm.endDate) {
|
|
if(!this.editForm.endDate) {
|
|
this.editForm.endDate = this.editForm.startDate
|
|
this.editForm.endDate = this.editForm.startDate
|
|
}
|
|
}
|
|
- console.log(this.editForm, '<==== 将要提交的数据')
|
|
|
|
|
|
+ let formVal = {
|
|
|
|
+ ...this.editForm,
|
|
|
|
+ fileUrls: this.editForm.fileUrlsList.map(item => item.name).join(',')
|
|
|
|
+ }
|
|
|
|
+ delete formVal.fileUrlsList
|
|
this.submitLoading = true
|
|
this.submitLoading = true
|
|
- this.$axios.post("/leave-sheet/add", this.editForm)
|
|
|
|
|
|
+ this.$axios.post("/leave-sheet/add", {
|
|
|
|
+ ...formVal
|
|
|
|
+ })
|
|
.then(res => {
|
|
.then(res => {
|
|
this.submitLoading = false
|
|
this.submitLoading = false
|
|
if(res.code == "ok") {
|
|
if(res.code == "ok") {
|
|
@@ -418,8 +466,10 @@ export default {
|
|
timeType: '0',
|
|
timeType: '0',
|
|
timeDays: 0,
|
|
timeDays: 0,
|
|
timeHours: this.user.timeType.allday,
|
|
timeHours: this.user.timeType.allday,
|
|
- remark: ''
|
|
|
|
|
|
+ remark: '',
|
|
|
|
+ fileUrlsList: []
|
|
}
|
|
}
|
|
|
|
+ this.tupiansss = []
|
|
this.formshowText.dateTitle = ''
|
|
this.formshowText.dateTitle = ''
|
|
this.$toast.success('提交成功');
|
|
this.$toast.success('提交成功');
|
|
} else {
|
|
} else {
|
|
@@ -438,8 +488,10 @@ export default {
|
|
timeType: '0',
|
|
timeType: '0',
|
|
timeDays: 0,
|
|
timeDays: 0,
|
|
timeHours: this.user.timeType.allday,
|
|
timeHours: this.user.timeType.allday,
|
|
- remark: ''
|
|
|
|
|
|
+ remark: '',
|
|
|
|
+ fileUrlsList: []
|
|
}
|
|
}
|
|
|
|
+ this.tupiansss = []
|
|
this.formshowText.dateTitle = ''
|
|
this.formshowText.dateTitle = ''
|
|
},
|
|
},
|
|
getDingDingLeaveQt(){
|
|
getDingDingLeaveQt(){
|
|
@@ -497,6 +549,7 @@ export default {
|
|
},
|
|
},
|
|
submitAgain(item){
|
|
submitAgain(item){
|
|
this.editForm = item
|
|
this.editForm = item
|
|
|
|
+ this.tupiansss = item.fileUrlsList
|
|
if(this.editForm.startDate && !this.editForm.endDate){
|
|
if(this.editForm.startDate && !this.editForm.endDate){
|
|
this.$set(this.editForm,'timeType','1')
|
|
this.$set(this.editForm,'timeType','1')
|
|
}else{
|
|
}else{
|
|
@@ -504,6 +557,7 @@ export default {
|
|
}
|
|
}
|
|
this.timeTypeChange()
|
|
this.timeTypeChange()
|
|
this.active = 0
|
|
this.active = 0
|
|
|
|
+ this.editForm.fileUrls = item.fileUrlsList
|
|
},
|
|
},
|
|
// #endregion
|
|
// #endregion
|
|
|
|
|
|
@@ -578,7 +632,15 @@ export default {
|
|
this.$axios.post("/leave-sheet/list", parameter)
|
|
this.$axios.post("/leave-sheet/list", parameter)
|
|
.then(res => {
|
|
.then(res => {
|
|
if(res.code == "ok") {
|
|
if(res.code == "ok") {
|
|
- this.leaveList = res.data.records
|
|
|
|
|
|
+ this.leaveList = res.data.records.map(item => {
|
|
|
|
+ return {
|
|
|
|
+ ...item,
|
|
|
|
+ fileUrlsList: item.fileUrls ? item.fileUrls.split(',').map(em => {
|
|
|
|
+ return { url: `/upload/${em}`, name: em}
|
|
|
|
+ }) : []
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ console.log(this.leaveList, '<===== 看看')
|
|
} else {
|
|
} else {
|
|
this.$toast.fail('获取失败:'+res.smg);
|
|
this.$toast.fail('获取失败:'+res.smg);
|
|
}
|
|
}
|