Browse Source

提交移动端选择日报审核人

Lijy 2 years ago
parent
commit
c6add87fe4

+ 66 - 3
fhKeeper/formulahousekeeper/timesheet_h5/src/views/project/edit.vue

@@ -66,6 +66,31 @@
                 @cancel="levelShow = false"
                 ></van-picker>
             </van-popup>
+        <!-- 日报审核人 -->
+        <van-field label="日报审核人"  readonly clickable @click="dailyReviewFlg = true" v-if="user.timeType.reportAuditType == 0 || user.timeType.reportAuditType == 4">
+            <template #input>
+                <span v-if="projectDetail.auditorList.length > 0">
+                    <span v-for="(items, indexs) in projectDetail.auditorList" :key="indexs">
+                        <span v-if="user.userNameNeedTranslate != '1'">{{items.auditorName}}</span>
+                        <span v-if="user.userNameNeedTranslate == '1'"><ww-open-data type='userName' :openid='items.auditorName'></ww-open-data></span>
+                        <span v-if="projectDetail.auditorList.length - 1 > indexs">,</span>
+                    </span>
+                </span>
+                <span v-else>-</span>
+            </template>
+        </van-field>
+            <van-popup v-model="dailyReviewFlg" position="bottom" :style="{ height: '80%' }">
+                <van-search v-model="userName" placeholder="输入员工姓名搜索" @search="onSearch" v-if="user.userNameNeedTranslate != '1'"></van-search>
+                <div style="minHeight:300px;">
+                <template v-if="user.userNameNeedTranslate == '1'">
+                    <van-checkbox class="userCheckbox" v-for="(item) in dailyUserList" :key="item.id" v-model="item.isChecked" ><ww-open-data type='userName' :openid='item.name'></ww-open-data></van-checkbox>
+                </template>
+                <template v-else>
+                    <van-checkbox class="userCheckbox" v-for="(item) in dailyUserList" :key="item.id" v-model="item.isChecked" >{{item.name}}</van-checkbox>
+                </template>
+                <van-button style="width:100%;position: -webkit-sticky;position: sticky;bottom: 0;" @click="auditorNameConfirm(),dailyReviewFlg=false">确定</van-button>
+                </div>
+            </van-popup>
         <!-- 参与人 -->
         <!-- <van-button @click="test">test</van-button> -->
         <van-field label="全部参与人" @click="userNamesShow = true" readonly clickable v-show="projectDetail.isPublic == 0">
@@ -80,7 +105,7 @@
                 <span v-else>{{projectDetail.userNames}}</span>
             </template>
         </van-field>
-            <van-popup v-model="userNamesShow" position="bottom">
+            <van-popup v-model="userNamesShow" position="bottom" :style="{ height: '80%' }">
                 <van-search v-model="userName" placeholder="输入员工姓名搜索" @search="onSearch" v-if="user.userNameNeedTranslate != '1'"></van-search>
                 <div style="minHeight:300px;">
                 <template v-if="user.userNameNeedTranslate == '1'">
@@ -168,7 +193,9 @@ export default {
             projectId: JSON.parse(sessionStorage.projectId),
             minDate: new Date(2020,0,1),
             maxDate: new Date(2025,11,31),
-            projectDetail: {},
+            projectDetail: {
+                auditorList: []
+            },
             editCodeAndName: false,
 
             mainProjectList: [],
@@ -188,7 +215,9 @@ export default {
             currentStartDate: new Date(),
             startDateShow: false,
             currentEndDate: new Date(),
-            endDateShow: false
+            endDateShow: false,
+            dailyUserList: [],
+            dailyReviewFlg: false
         }
     },
     mounted() {
@@ -253,6 +282,39 @@ export default {
                 userNames = userNames.substring(0, userNames.length-1);
             }
             this.$set(this.projectDetail,'userNames',userNames)
+            this.integrationreAuidType()
+        },
+        auditorNameConfirm() {
+            let auditorIdList = []
+            let auditorList = []
+            this.dailyUserList.filter(u=>u.isChecked).forEach(u=>{
+                auditorIdList.push(u.id)
+                let obj = {}
+                obj.auditorName = u.name
+                obj.auditorId = u.id
+                auditorList.push(obj)
+            });
+            this.projectDetail.auditUserIds = auditorIdList
+            this.projectDetail.auditorList = auditorList
+        },
+        integrationreAuidType() {
+            this.dailyUserList = []
+            this.userList.filter(u=>u.isChecked).forEach(u=>{
+                let obj = {}
+                obj.name = u.name
+                obj.id = u.id
+                obj.isChecked = false
+                this.dailyUserList.push(obj)
+            });
+            let list = this.dailyUserList
+            for(var i in list) {
+                let length = this.projectDetail.auditorList.filter(u => u.auditorId == list[i].id).length
+                if(length){
+                    list[i].isChecked = true
+                }else{
+                    list[i].isChecked = false
+                }
+            }
         },
         inchargerConfirm(value,key){
             this.projectDetail.inchargerId = value.id
@@ -459,6 +521,7 @@ export default {
                     }
                     this.allUserList = list;
                     this.userList = list;
+                    this.integrationreAuidType()
                 } else {
                     this.$toast.fail('获取失败');
                 }

+ 1 - 1
fhKeeper/formulahousekeeper/timesheet_h5/src/views/project/projectInside.vue

@@ -156,7 +156,7 @@
                             </van-col>
                         </van-row>
                     </van-cell>
-                    <van-cell>
+                    <van-cell v-if="user.timeType.reportAuditType == 0 || user.timeType.reportAuditType == 4">
                         <van-row>
                             <van-col span="7">日报审核人:</van-col>
                             <van-col span="17" v-if="projectDetail.auditorList && projectDetail.auditorList.length != 0">