Bladeren bron

提交相关代码

Lijy 2 maanden geleden
bovenliggende
commit
95f545e032
1 gewijzigde bestanden met toevoegingen van 71 en 9 verwijderingen
  1. 71 9
      fhKeeper/formulahousekeeper/timesheet_h5/src/views/exaLeave/applyLeave.vue

+ 71 - 9
fhKeeper/formulahousekeeper/timesheet_h5/src/views/exaLeave/applyLeave.vue

@@ -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-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-form>
@@ -111,6 +117,9 @@
                         <div><span>请假结束时间:</span><span>{{item.endDate}}</span></div>
                         <div><span>请假天数:</span><span>{{item.timeDays ? item.timeDays + '天' : '/'}}</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>
                     <div class="operation" v-if="((item.status != 0 && item.ownerId == user.id) || leaveAll) && !isSyncData">
@@ -206,7 +215,8 @@ export default {
                 timeType: '0',
                 timeDays: 0,
                 timeHours: 8,
-                remark: ''
+                remark: '',
+                fileUrlsList: []
             },
             formshowText: {
                 name: '',
@@ -240,9 +250,9 @@ export default {
             denyParm: {
                 id: '',
                 denyReason: ''
-            }
-
-            
+            },
+            tupiansss: [],
+            isCorpWX: false
         }
     },
     mounted() {
@@ -271,6 +281,11 @@ export default {
                 this.active = '0'
             }
         }
+
+        var ua = navigator.userAgent.toLowerCase();
+        if (ua.indexOf("wxwork") > 0) {
+            this.isCorpWX = true;
+        }
         
         // if(!this.canExamine){
             this.editForm.ownerId = this.user.id
@@ -282,6 +297,33 @@ export default {
         // }
     },
     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(){
             history.back();
         },
@@ -403,9 +445,15 @@ export default {
                 if(!this.editForm.endDate) {
                     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.$axios.post("/leave-sheet/add", this.editForm)
+                this.$axios.post("/leave-sheet/add", {
+                    ...formVal 
+                })
                 .then(res => {
                     this.submitLoading = false
                     if(res.code == "ok") {
@@ -418,8 +466,10 @@ export default {
                             timeType: '0',
                             timeDays: 0,
                             timeHours: this.user.timeType.allday,
-                            remark: ''
+                            remark: '',
+                            fileUrlsList: []
                         }
+                        this.tupiansss = []
                         this.formshowText.dateTitle = ''
                         this.$toast.success('提交成功');
                     } else {
@@ -438,8 +488,10 @@ export default {
                 timeType: '0',
                 timeDays: 0,
                 timeHours: this.user.timeType.allday,
-                remark: ''
+                remark: '',
+                fileUrlsList: []
             }
+            this.tupiansss = []
             this.formshowText.dateTitle = ''
         },
         getDingDingLeaveQt(){
@@ -497,6 +549,7 @@ export default {
         },
         submitAgain(item){
             this.editForm = item
+            this.tupiansss = item.fileUrlsList
             if(this.editForm.startDate && !this.editForm.endDate){
                 this.$set(this.editForm,'timeType','1')
             }else{
@@ -504,6 +557,7 @@ export default {
             }
             this.timeTypeChange()
             this.active = 0
+            this.editForm.fileUrls = item.fileUrlsList
         },
 // #endregion
 
@@ -578,7 +632,15 @@ export default {
             this.$axios.post("/leave-sheet/list", parameter)
             .then(res => {
                 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 {
                     this.$toast.fail('获取失败:'+res.smg);
                 }