소스 검색

调整工时报告的样式,左右滑动

Lijy 2 년 전
부모
커밋
ec93bd3062
1개의 변경된 파일292개의 추가작업 그리고 214개의 파일을 삭제
  1. 292 214
      fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

+ 292 - 214
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -4,237 +4,235 @@
         <div>
             <el-card class="box-card daily" shadow="never">
                 <div style="position: relative;margin-top: -20px;margin-bottom: 20px">
-                <!-- <div class="jjk" style="display:inline-block;position:fixed;top:70px;background:#fff;left:250px;"> -->
-                <div class="jjk" style="display:inline-block;position:absolute;top:15px;background:#fff;left:0px;z-index: 10;margin-top: -10px;padding-top: 10px;height: 42px;">
-                        <el-date-picker size="small" v-model="date" :editable="false" format="yyyy-MM" value-format="yyyy-MM"
-                         style="width:190px;"
-                         @change="changeMonthOut" :clearable="false" type="month" placeholder="选择月份" :picker-options="getPickerOptions"></el-date-picker>
-                         <el-button style="margin-left:10px;" icon="iconfont firerock-icongongshitongji" size="mini"  @click="showWorkTime"></el-button>
-                         <!-- <el-button style="margin-left:10px;" icon="iconfont firerock-icongongshitongji" size="mini"  @click="tiaoshi"></el-button> -->
-                    </div>
-                <div slot="header" class="clearfix" id="clearfix" style="padding-left: 255px;">
-                    <!-- <div class="jjk" style="display:inline-block;position:fixed;top:70px;background:#fff;left:250px;">
-                        <el-date-picker size="small" v-model="date" :editable="false" format="yyyy-MM" value-format="yyyy-MM"
-                         style="width:190px;"
-                         @change="changeMonthOut" :clearable="false" type="month" placeholder="选择月份"></el-date-picker>
-                         <el-button style="margin-left:10px;" icon="iconfont firerock-icongongshitongji" size="mini"  @click="showWorkTime"></el-button>
-                    </div> -->
-                        <span v-for="(item,index) in allDate" :id="'day'+index" class="date_item"
-                        @click="choseDate(index, item)" :key="index" :style="'padding:0 6px;display: inline-block;width: 46px;text-align: center;' + (canClick(index,item) == false && user.timeType.fillAhead == 0 ? 'color:#c0c0c0;cursor:not-allowed;' : '') ">
-                        <div :style="'display:inline-block;text-align: center;'+(item.state == null?'':'')" >
-                            <div style="text-align:center;"><span :class="statusStyle[item.state]">{{item.showDate}}</span>
-                            <br>
-                            <span style="font-size:10px;text-align:center;color:#999;">{{item.weekDay}}</span>
-                            <span class="chooseDate" v-if="index == choseDay"></span>
-                        <!-- <i v-if="item.state != null" class="iconfont firerock-icondot" :class="statusStyle[item.state]" style="position:absolute;top:-1px;right:-18px"></i> -->
-
-                            </div>
+                    <div class="jjk" style="display:inline-block;position:absolute;top:15px;background:#fff;left:0px;z-index: 10;margin-top: -10px;padding-top: 10px;height: 42px;">
+                            <el-date-picker size="small" v-model="date" :editable="false" format="yyyy-MM" value-format="yyyy-MM"
+                            style="width:190px;"
+                            @change="changeMonthOut" :clearable="false" type="month" placeholder="选择月份" :picker-options="getPickerOptions"></el-date-picker>
+                            <el-button style="margin-left:10px;" icon="iconfont firerock-icongongshitongji" size="mini"  @click="showWorkTime"></el-button>
                         </div>
-                        </span>
-                </div>
+                    <div slot="header" class="clearfix" id="clearfix" style="padding-left: 255px;">
+                            <span v-for="(item,index) in allDate" :id="'day'+index" class="date_item"
+                            @click="choseDate(index, item)" :key="index" :style="'padding:0 6px;display: inline-block;width: 46px;text-align: center;' + (canClick(index,item) == false && user.timeType.fillAhead == 0 ? 'color:#c0c0c0;cursor:not-allowed;' : '') ">
+                            <div :style="'display:inline-block;text-align: center;'+(item.state == null?'':'')" >
+                                <div style="text-align:center;"><span :class="statusStyle[item.state]">{{item.showDate}}</span>
+                                <br>
+                                <span style="font-size:10px;text-align:center;color:#999;">{{item.weekDay}}</span>
+                                <span class="chooseDate" v-if="index == choseDay"></span>
+                                </div>
+                            </div>
+                            </span>
+                    </div>
                 </div>
                 <div style="display:flex;">
-                <div v-if="permissions.reportsCompany || user.manageDeptId != 0 || permissions.reportsDept" :style="'overflow-x:hidden;overflow-y:auto;height:' + tableHeight + 'px;'">
-                    <div style="width:260px;">
-                        <el-select v-model="selectState" size="small" @change="stateChange" style="width:215px">
-                        <el-option value="-1" label="全部状态" >全部状态</el-option>
-                        <el-option value="-2" label="未填报">未填报</el-option>
-                        <el-option value="1" label="已通过">已通过</el-option>
-                        <el-option value="0" label="待审核">待审核</el-option>
-                        <el-option value="2" label="不通过">不通过</el-option>
-                        <el-option value="3" label="待提交">待提交</el-option>
-                        </el-select></div>
-                    <div>
-                        <el-tree :data="data"  @node-click="handleNodeClick" node-key="id" :default-expanded-keys="expandDate">
-                            <span class="custom-tree-node" slot-scope="{ node, data}" style="width:90px">
-                                <span>{{ node.label }}</span>
-                                <span v-if="data.membCount != null && data.isUser == null">({{data.membCount}})</span>
-                                <div style="width:0%;float:right;">
-                                <span v-if="data.isUser == 1 && data.state == null && !data.leaveDays && !data.leaveTimes" style="color:red;font-size:13px">
-                                未填报
-                                </span>
-                                <span v-if="data.isUser == 1 && data.state == null && (data.leaveDays || data.leaveTimes)" :style="(data.leaveDays < 1 || data.leaveTimes < user.timeType.allday) ? 'color:red;font-size:13px' : 'color:#32cd32;font-size:13px'">
-                                {{data.leaveDays ? (data.leaveDays >= 1 ? '当日请假' : '未填报(请假' + data.leaveDays + '天)') : (data.leaveTimes >= user.timeType.allday ? '当日请假' : '未填报(请假' + data.leaveTimes + 'h)')}}
-                                </span>
-                                <span v-if="data.isUser == 1 && data.state == 0" style="color:orange;font-size:13px">
-                                待审核({{data.workingTime.toFixed(1) + 'h'}})
-                                </span>
-                                <span v-if="data.isUser == 1 && data.state == 1" style="color:#32cd32;font-size:13px">
-                                已通过({{data.workingTime.toFixed(1) + 'h'}})
-                                </span>
-                                <span v-if="data.isUser == 1 && data.state == 2" style="color:red;font-size:13px">
-                                未通过({{data.workingTime.toFixed(1) + 'h'}})
-                                </span>
-                                <span v-if="data.isUser == 1 && data.state == 3" style="color:#409eff;font-size:13px">
-                                待提交({{data.workingTime.toFixed(1) + 'h'}})
+                <div class="grand flex">
+                    <div class="left-laowang" style="flex: 0 0 180px;overflow: hidden;">
+                        <div v-if="permissions.reportsCompany || user.manageDeptId != 0 || permissions.reportsDept" :style="'overflow-x:hidden;overflow-y:auto;height:' + tableHeight + 'px;'">
+                            <div style="width: 100%;box-sizing: border-box;padding-right: 10px;">
+                                <el-select v-model="selectState" size="small" @change="stateChange" style="100%">
+                                <el-option value="-1" label="全部状态" >全部状态</el-option>
+                                <el-option value="-2" label="未填报">未填报</el-option>
+                                <el-option value="1" label="已通过">已通过</el-option>
+                                <el-option value="0" label="待审核">待审核</el-option>
+                                <el-option value="2" label="不通过">不通过</el-option>
+                                <el-option value="3" label="待提交">待提交</el-option>
+                                </el-select></div>
+                            <div>
+                                <el-tree :data="data"  @node-click="handleNodeClick" node-key="id" :default-expanded-keys="expandDate">
+                                    <span class="custom-tree-node"  style="position: relative;box-sizing: border-box;width: 10%;" slot-scope="{ node, data}">
+                                        <!-- <span>{{ node.label }}</span> -->
+                                        <span style="padding-right: 50px;box-sizing: border-box;overflow:hidden;text-overflow:ellipsis;line-height: 36px; display: inline-block;">
+                                            {{ node.label }}<span v-if="data.membCount != null && data.isUser == null">({{data.membCount}})</span>
+                                        </span>
+                                        
+                                        <div style="position: absolute;right: 6px;">
+                                        <span v-if="data.isUser == 1 && data.state == null && !data.leaveDays && !data.leaveTimes" style="color:red;font-size:13px">
+                                        未填报
+                                        </span>
+                                        <span v-if="data.isUser == 1 && data.state == null && (data.leaveDays || data.leaveTimes)" :style="(data.leaveDays < 1 || data.leaveTimes < user.timeType.allday) ? 'color:red;font-size:13px' : 'color:#32cd32;font-size:13px'">
+                                        {{data.leaveDays ? (data.leaveDays >= 1 ? '当日请假' : '未填报(请假' + data.leaveDays + '天)') : (data.leaveTimes >= user.timeType.allday ? '当日请假' : '未填报(请假' + data.leaveTimes + 'h)')}}
+                                        </span>
+                                        <span v-if="data.isUser == 1 && data.state == 0" style="color:orange;font-size:13px">
+                                        待审核({{data.workingTime.toFixed(1) + 'h'}})
+                                        </span>
+                                        <span v-if="data.isUser == 1 && data.state == 1" style="color:#32cd32;font-size:13px">
+                                        已通过({{data.workingTime.toFixed(1) + 'h'}})
+                                        </span>
+                                        <span v-if="data.isUser == 1 && data.state == 2" style="color:red;font-size:13px">
+                                        未通过({{data.workingTime.toFixed(1) + 'h'}})
+                                        </span>
+                                        <span v-if="data.isUser == 1 && data.state == 3" style="color:#409eff;font-size:13px">
+                                        待提交({{data.workingTime.toFixed(1) + 'h'}})
+                                        </span>
+                                    </div>
                                 </span>
+                                </el-tree>
                             </div>
-                        </span>
-                        </el-tree>
+                        </div>
                     </div>
-                </div>
-                
-                <div :style="'height:'+tableHeight+'px;width:1px;background:#eee;margin-right:10px;margin-left:10px;'" ></div>
-                <div class="allDaily" style="float:left;flex-grow:1">
-                    <!--系统管理员和部门负责人 -->
-                    <div class="report_title" style="display:flex;justify-content: space-between;">
-                        <span>
-                            <span>工作日报 ({{curDate}})</span>
-                            <span v-if="permissions.reportsCompany||user.manageDeptId != 0 || permissions.reportsDept">| {{depData != null ?depData.label:""}}
-                            <span v-if="targetUid == null">
-                            - 已提交
-                            <el-link :underline="false" @click="showMembList(1)"><span style="margin-left:5px;margin-right:5px;color:green;">{{reportList.filter(item => item.state != 3).length}}</span></el-link>人,
-                            待提交
-                            <el-link :underline="false" @click="showMembList(2)"><span style="margin-left:5px;margin-right:5px;color:green;">{{reportList.filter(item => item.state == 3).length}}</span></el-link>人,
-                            未填写<el-link :underline="false" @click="showMembList(0)"><span style="margin-left:5px;margin-right:5px;color:red;">{{(depData == null?data[0].membCount:(depData.isUser == 1?1:depData.membCount))-reportList.length | numbers}}</span></el-link>人
-                            </span>
-                            </span>
-                        </span>
-                        <span style="float:right;">
-                            <el-link type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReport(-1,0)">填写日报</el-link>
-                            <el-link v-if="reportTimeType.type != 0" type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReportss()">按周填报</el-link>
-                            <el-link type="primary" v-if="permissions.reportsFillOut" style="margin-right:10px;" :underline="false" @click="isSubstitude=true; fillInReport(-1,2)">代填日报</el-link>
-                            <el-link type="primary" v-if="permissions.reportBatch" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReport(-1,1)">批量填报</el-link>
-                            <el-link type="primary" v-if="permissions.importReport || user.manageDeptId != 0" style="margin-right:10px;" :underline="false" @click="imports()">工时导入</el-link>
-                            <el-link type="primary" style="margin-right:10px;" :underline="false" @click="showExportDialog">导出日报</el-link>
-                            <!--部门负责人给个导出工时的功能 -->
-                            <el-link type="primary" v-if="user.manageDeptId != 0" style="margin-right:10px;" :underline="false" @click="showExportTimeDialog">导出工时统计</el-link>
-                        </span>
+
+                    <div class="line line-second" style="display:flex;justify-content: center;align-items: center;position: relative;left: -9px;">
+                        <div style="line-height: 5px;text-align: center;color: rgb(151 151 151);">
+                        -
+                        -
+                        -
+                        </div>
                     </div>
-                    <!--普通员工,含项目经理 -->
-                    <!-- <div class="report_title" v-if="(user.role==0||user.role==3||user.role==5) && user.manageDeptId == 0"><span>日报列表</span>
-                    <span style="float:right;" v-if="(user.role==0||user.role==3||user.role==5) && user.manageDeptId == 0">
-                            <el-link type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReport(-1,0)">填写日报</el-link>
-                            <el-link v-if="reportTimeType.type != 0" type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReportss()">按周填报</el-link>
-                            <el-link type="primary" v-if="user.leader" style="margin-right:10px;" :underline="false" @click="isSubstitude=true; fillInReport(-1,0)">代填日报</el-link>
-                            <el-link type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReport(-1,1)">批量填报</el-link>
-                    </span> -->
-                    <!-- </div> -->
-                    <div :style="'height:'+(tableHeight-50)+'px;overflow:scroll;padding-top:10px;'">
-                        <div class="one_daily" v-for="(item1,index1) in reportList" :key="index1">
-                            <i class="fa fa-circle"></i>{{item1.name}}
-                            <span style="margin-left:30px;">
-                                <span style="margin-right:20px;">
-                                    <!-- <i v-if="parseFloat(item1.reportTime)>parseFloat(item1.calculateTime)+0.5" style="color:red;margin-right:8px;" class="fa fa-exclamation-triangle"></i> -->
-                                    工作总时长:
-                                    <!-- <span :style="parseFloat(item1.reportTime)>parseFloat(item1.calculateTime)+0.5?'color:red':''">{{item1.reportTime}}h</span> -->
-                                    <span >{{item1.reportTime | amounts}}</span>h
+
+                    <div style="width: 200px; flex: 1;padding: 0 10px;" class="box-second-father">
+                        <!-- <div :style="'height:'+tableHeight+'px;width:1px;background:#eee;margin-right:10px;margin-left:10px;'" ></div> -->
+                        <div class="allDaily" style="float:left;flex-grow:1">
+                            <!--系统管理员和部门负责人 -->
+                            <div class="report_title" style="display:flex;justify-content: space-between;">
+                                <span>
+                                    <span>工作日报 ({{curDate}})</span>
+                                    <span v-if="permissions.reportsCompany||user.manageDeptId != 0 || permissions.reportsDept">| {{depData != null ?depData.label:""}}
+                                    <span v-if="targetUid == null">
+                                    - 已提交
+                                    <el-link :underline="false" @click="showMembList(1)"><span style="margin-left:5px;margin-right:5px;color:green;">{{reportList.filter(item => item.state != 3).length}}</span></el-link>人,
+                                    待提交
+                                    <el-link :underline="false" @click="showMembList(2)"><span style="margin-left:5px;margin-right:5px;color:green;">{{reportList.filter(item => item.state == 3).length}}</span></el-link>人,
+                                    未填写<el-link :underline="false" @click="showMembList(0)"><span style="margin-left:5px;margin-right:5px;color:red;">{{(depData == null?data[0].membCount:(depData.isUser == 1?1:depData.membCount))-reportList.length | numbers}}</span></el-link>人
+                                    </span>
+                                    </span>
                                 </span>
-                                <span class="approvalProcessBox" v-if="user.timeType.showFillauditTime == 1">
-                                    <i class="iconfont firerock-iconliucheng1"></i>
-                                    <span class="approvalProcessClick" @click="getApprovalProcess(item1)">审批流程</span>
+                                <span style="float:right;">
+                                    <el-link type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReport(-1,0)">填写日报</el-link>
+                                    <el-link v-if="reportTimeType.type != 0" type="primary" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReportss()">按周填报</el-link>
+                                    <el-link type="primary" v-if="permissions.reportsFillOut" style="margin-right:10px;" :underline="false" @click="isSubstitude=true; fillInReport(-1,2)">代填日报</el-link>
+                                    <el-link type="primary" v-if="permissions.reportBatch" style="margin-right:10px;" :underline="false" @click="isSubstitude=false;fillInReport(-1,1)">批量填报</el-link>
+                                    <el-link type="primary" v-if="permissions.importReport || user.manageDeptId != 0" style="margin-right:10px;" :underline="false" @click="imports()">工时导入</el-link>
+                                    <el-link type="primary" style="margin-right:10px;" :underline="false" @click="showExportDialog">导出日报</el-link>
+                                    <!--部门负责人给个导出工时的功能 -->
+                                    <el-link type="primary" v-if="user.manageDeptId != 0" style="margin-right:10px;" :underline="false" @click="showExportTimeDialog">导出工时统计</el-link>
                                 </span>
-                            </span>
-                            <div class="checkbtn" style="padding-right:20px;">
-                                <el-button v-if="item1.state >= 2 && user.id == item1.id" type="primary" size="small" @click="isSubstitude=false; fillInReport(index1,0)">编辑日报</el-button>
-                                <el-button v-if="permissions.reportsDeleteAll && item1.state != 1" size="small" @click="guanli(item1)" style="float: right;">删除</el-button>
                             </div>
-                            <div class="one_daily_body">
-                                <el-timeline>
-                                    <el-timeline-item v-for="(item2,index2) in item1.data" :key="index2">
-                                        <el-card shadow="never">
-                                            <p>项目:<b>{{item2.project}}</b><span v-if="item2.subProjectName != null"> / {{item2.subProjectName}}</span>
-                                            
-                                            <span v-if="user.company.packageEngineering == 0">
-                                            <span style="margin-left:15px;color:#DAA520;"  v-if="item2.state == 0">[ 
-                                                <span v-if="item2.isDeptAudit==0">
-                                                    <span v-if="item2.projectAuditState==0">
-                                                        待项目审核人<span v-if="item2.projectAuditorName != null">({{item2.projectAuditorName}})</span>审核
+                            <div :style="'height:'+(tableHeight-50)+'px;overflow:scroll;padding-top:10px;'">
+                                <div class="one_daily" v-for="(item1,index1) in reportList" :key="index1">
+                                    <i class="fa fa-circle"></i>{{item1.name}}
+                                    <span style="margin-left:30px;">
+                                        <span style="margin-right:20px;">
+                                            <!-- <i v-if="parseFloat(item1.reportTime)>parseFloat(item1.calculateTime)+0.5" style="color:red;margin-right:8px;" class="fa fa-exclamation-triangle"></i> -->
+                                            工作总时长:
+                                            <!-- <span :style="parseFloat(item1.reportTime)>parseFloat(item1.calculateTime)+0.5?'color:red':''">{{item1.reportTime}}h</span> -->
+                                            <span >{{item1.reportTime | amounts}}</span>h
+                                        </span>
+                                        <span class="approvalProcessBox" v-if="user.timeType.showFillauditTime == 1">
+                                            <i class="iconfont firerock-iconliucheng1"></i>
+                                            <span class="approvalProcessClick" @click="getApprovalProcess(item1)">审批流程</span>
+                                        </span>
+                                    </span>
+                                    <div class="checkbtn" style="padding-right:20px;">
+                                        <el-button v-if="item1.state >= 2 && user.id == item1.id" type="primary" size="small" @click="isSubstitude=false; fillInReport(index1,0)">编辑日报</el-button>
+                                        <el-button v-if="permissions.reportsDeleteAll && item1.state != 1" size="small" @click="guanli(item1)" style="float: right;">删除</el-button>
+                                    </div>
+                                    <div class="one_daily_body">
+                                        <el-timeline>
+                                            <el-timeline-item v-for="(item2,index2) in item1.data" :key="index2">
+                                                <el-card shadow="never">
+                                                    <p>项目:<b>{{item2.project}}</b><span v-if="item2.subProjectName != null"> / {{item2.subProjectName}}</span>
+                                                    
+                                                    <span v-if="user.company.packageEngineering == 0">
+                                                    <span style="margin-left:15px;color:#DAA520;"  v-if="item2.state == 0">[ 
+                                                        <span v-if="item2.isDeptAudit==0">
+                                                            <span v-if="item2.projectAuditState==0">
+                                                                待项目审核人<span v-if="item2.projectAuditorName != null">({{item2.projectAuditorName}})</span>审核
+                                                            </span>
+                                                            <span style="color:#32CD32;" v-else-if="item2.projectAuditState==1">
+                                                                项目审核人<span v-if="item2.projectAuditorName != null">({{item2.projectAuditorName}})</span>审核通过
+                                                            </span>
+                                                        </span>
+                                                        <span v-else-if="item2.isDeptAudit==1">
+                                                            {{('待'+item2.auditDeptName+'审核')}}
+                                                        </span>
+                                                        ]</span>
+                                                    <span style="margin-left:15px;color:#DAA520;" v-else-if="item2.state == -1">[ 导入待审核 ]</span>
+                                                    <span style="margin-left:15px;color:#32CD32;" v-else-if="item2.state == 1">[ 已通过 ]</span>
+                                                    <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 2">[ 已驳回 ] 原因:{{item2.rejectReason}}</span>
+                                                    <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 3">[ 待提交 ]</span>
                                                     </span>
-                                                    <span style="color:#32CD32;" v-else-if="item2.projectAuditState==1">
-                                                        项目审核人<span v-if="item2.projectAuditorName != null">({{item2.projectAuditorName}})</span>审核通过
+                                                    <!-- <el-button v-if="(user.role == 1 || user.role == 2) && item2.state != 1 && user.manageDeptId != 0" size="mini" @click="guanli(item2, item1)" style="float: right;">删除</el-button> -->
+                                                    <span v-if="user.company.packageEngineering == 1">
+                                                        <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == -1">[ 导入待审核 ]</span>
+                                                        <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == 0 && item2.departmentAuditState == -1">[ 待专业审核 ]</span>
+                                                        <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == 0 && item2.departmentAuditState == 0">[ 待部门审核 ]</span>
+                                                        <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == 0 && item2.departmentAuditState == 1">[ 待项目审核人<span v-if="item2.projectAuditorName != null">({{item2.projectAuditorName}})</span>审核 ]</span>
+                                                        <span style="margin-left:15px;color:#32CD32;" v-else-if="item2.state == 1">[ 已通过 ]</span>
+                                                        <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 2">[ 已驳回 ] 原因:{{item2.rejectReason}}</span>
+                                                        <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 3">[ 待提交 ]</span>
                                                     </span>
-                                                </span>
-                                                <span v-else-if="item2.isDeptAudit==1">
-                                                    {{('待'+item2.auditDeptName+'审核')}}
-                                                </span>
-                                                 ]</span>
-                                            <span style="margin-left:15px;color:#DAA520;" v-else-if="item2.state == -1">[ 导入待审核 ]</span>
-                                            <span style="margin-left:15px;color:#32CD32;" v-else-if="item2.state == 1">[ 已通过 ]</span>
-                                            <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 2">[ 已驳回 ] 原因:{{item2.rejectReason}}</span>
-                                            <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 3">[ 待提交 ]</span>
-                                            </span>
-                                            <!-- <el-button v-if="(user.role == 1 || user.role == 2) && item2.state != 1 && user.manageDeptId != 0" size="mini" @click="guanli(item2, item1)" style="float: right;">删除</el-button> -->
-                                            <span v-if="user.company.packageEngineering == 1">
-                                                <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == -1">[ 导入待审核 ]</span>
-                                                <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == 0 && item2.departmentAuditState == -1">[ 待专业审核 ]</span>
-                                                <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == 0 && item2.departmentAuditState == 0">[ 待部门审核 ]</span>
-                                                <span style="margin-left:15px;color:#DAA520;" v-if="item2.state == 0 && item2.departmentAuditState == 1">[ 待项目审核人<span v-if="item2.projectAuditorName != null">({{item2.projectAuditorName}})</span>审核 ]</span>
-                                                <span style="margin-left:15px;color:#32CD32;" v-else-if="item2.state == 1">[ 已通过 ]</span>
-                                                <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 2">[ 已驳回 ] 原因:{{item2.rejectReason}}</span>
-                                                <span style="margin-left:15px;color:#FF0000;" v-else-if="item2.state == 3">[ 待提交 ]</span>
-                                            </span>
 
-                                            <!--每个项目上单独审核 -->
-                                            <span style="float:right;">
-                                                <el-button v-if="(permissions.projectReportReview || user.id == item2.projectAuditorId) && item2.state == 0 && item2.isDeptAudit==0 && item2.projectAuditState==0" type="primary" :loading="logining" 
-                                                size="small" @click="approve(item1.id, item2)">通过</el-button>
-                                                <el-button v-if="(permissions.projectReportReview ||user.id == item2.projectAuditorId) && item2.state == 0 && item2.isDeptAudit==0 && item2.projectAuditState==0" type="danger" :loading="logining" 
-                                                size="small" @click="showDenyDialog(item1.id,0, item2)">驳回</el-button>
-                                                <el-button v-if="(permissions.projectReportReview ||user.id == item2.projectAuditorId) && item2.state == 1" type="normal" :loading="logining" size="small" 
-                                                @click="showDenyDialog(item1.id,1, item2)">撤销</el-button>
-                                                <!--自己可以撤回待审核状态的报告 -->
-                                                <el-button v-if="user.id == item1.id && (item2.state == 0 || item2.state == -1)" type="normal" :loading="logining" size="small" @click="cancel(item1)">撤回</el-button>
-                                            </span>
-                                            </p>
-                                            <!--任务分组和阶段 -->
-                                            <p v-if="item2.groupId != 0">任务分组:{{item2.groupName}} <span v-if="item2.stage != null && item2.stage != '-'" style="margin-left:10px;">投入阶段:{{item2.stage}}</span></p>
-                                            <p v-if="user.timeType.customDegreeActive==1 && item2.degree_id != null && item2.degree_id != -1">{{user.timeType.customDegreeName}}:{{item2.degreeName}}</p>
-                                            <p v-if="user.timeType.customDataActive==1">{{user.timeType.customDataName}}:{{item2.customData}}</p>
-                                            <!-- 自定义日报文本 -->
-                                            <p v-if="user.timeType.customTextActive==1">{{user.timeType.customTextName}}:{{item2.customText}}</p>
-
-                                            <p v-if="user.company.packageEngineering == 1">
-                                                专业进度:
-                                                <span style="margin-right:10px;" v-for="progressItem in item2.professionProgress" :key="progressItem.id">{{progressItem.professionName}}({{progressItem.progress}}%) 
-                                                    <el-tooltip v-if="progressItem.auditState == 0"  content="待审核" effect="light" placement="top">
-                                                    <i class="iconfont firerock-icondaibandengdaishenhe"></i>
-                                                    </el-tooltip>
-                                                    <el-tooltip v-if="progressItem.auditState == 1" content="已通过" effect="light" placement="top">
-                                                    <i  class="iconfont firerock-iconshenhetongguo"></i>
-                                                    </el-tooltip>
-                                                    <el-tooltip v-if="progressItem.auditState == 2" content="不通过" effect="light" placement="top">
-                                                    <i  class="iconfont firerock-iconshenhebohui"></i>
-                                                    </el-tooltip>
+                                                    <!--每个项目上单独审核 -->
+                                                    <span style="float:right;">
+                                                        <el-button v-if="(permissions.projectReportReview || user.id == item2.projectAuditorId) && item2.state == 0 && item2.isDeptAudit==0 && item2.projectAuditState==0" type="primary" :loading="logining" 
+                                                        size="small" @click="approve(item1.id, item2)">通过</el-button>
+                                                        <el-button v-if="(permissions.projectReportReview ||user.id == item2.projectAuditorId) && item2.state == 0 && item2.isDeptAudit==0 && item2.projectAuditState==0" type="danger" :loading="logining" 
+                                                        size="small" @click="showDenyDialog(item1.id,0, item2)">驳回</el-button>
+                                                        <el-button v-if="(permissions.projectReportReview ||user.id == item2.projectAuditorId) && item2.state == 1" type="normal" :loading="logining" size="small" 
+                                                        @click="showDenyDialog(item1.id,1, item2)">撤销</el-button>
+                                                        <!--自己可以撤回待审核状态的报告 -->
+                                                        <el-button v-if="user.id == item1.id && (item2.state == 0 || item2.state == -1)" type="normal" :loading="logining" size="small" @click="cancel(item1)">撤回</el-button>
                                                     </span>
-                                            </p>
-                                            <p v-if="item2.taskId != null">任务:{{item2.taskName}}
-                                            </p>
-                                            <div v-if="item2.multiWorktime==0">
-                                            <p style="display: inline-block;">时长:
-                                                <span v-if="item2.reportTimeType == 0" style="margin-right:10px;">{{typeList[item2.timeType]}}</span>
-                                                <span v-if="item2.reportTimeType == 2" style="margin-right:10px;">{{item2.startTime+'-'+item2.endTime}}</span>
-                                            {{item2.time.toFixed(1)}}h  
-                                            <el-tag type="danger" size="mini" style="margin-left: 65px" v-if="item2.isOvertime === 1">加班<span v-if="item2.overtimeHours">{{item2.overtimeHours.toFixed(1)}}h</span></el-tag>
-                                            </p>
-                                            <p>事项:<span v-html="item2.content"></span></p>
-                                            </div>
-                                            <div v-if="item2.multiWorktime==1" >
-                                                <p>项目时长:{{item2.time.toFixed(1)}}h  <el-tag type="danger" size="mini" style="margin-left: 65px" v-if="item2.isOvertime === 1">加班<span v-if="item2.overtimeHours">{{item2.overtimeHours.toFixed(1)}}h</span></el-tag></p>
-                                                <div v-for="(timeItem, tIndex) in item2.worktimeList" :key="tIndex"
-                                                    style="border: 0.5px #ddd solid;margin-bottom:5px;padding:5px;">
+                                                    </p>
+                                                    <!--任务分组和阶段 -->
+                                                    <p v-if="item2.groupId != 0">任务分组:{{item2.groupName}} <span v-if="item2.stage != null && item2.stage != '-'" style="margin-left:10px;">投入阶段:{{item2.stage}}</span></p>
+                                                    <p v-if="user.timeType.customDegreeActive==1 && item2.degree_id != null && item2.degree_id != -1">{{user.timeType.customDegreeName}}:{{item2.degreeName}}</p>
+                                                    <p v-if="user.timeType.customDataActive==1">{{user.timeType.customDataName}}:{{item2.customData}}</p>
+                                                    <!-- 自定义日报文本 -->
+                                                    <p v-if="user.timeType.customTextActive==1">{{user.timeType.customTextName}}:{{item2.customText}}</p>
+
+                                                    <p v-if="user.company.packageEngineering == 1">
+                                                        专业进度:
+                                                        <span style="margin-right:10px;" v-for="progressItem in item2.professionProgress" :key="progressItem.id">{{progressItem.professionName}}({{progressItem.progress}}%) 
+                                                            <el-tooltip v-if="progressItem.auditState == 0"  content="待审核" effect="light" placement="top">
+                                                            <i class="iconfont firerock-icondaibandengdaishenhe"></i>
+                                                            </el-tooltip>
+                                                            <el-tooltip v-if="progressItem.auditState == 1" content="已通过" effect="light" placement="top">
+                                                            <i  class="iconfont firerock-iconshenhetongguo"></i>
+                                                            </el-tooltip>
+                                                            <el-tooltip v-if="progressItem.auditState == 2" content="不通过" effect="light" placement="top">
+                                                            <i  class="iconfont firerock-iconshenhebohui"></i>
+                                                            </el-tooltip>
+                                                            </span>
+                                                    </p>
+                                                    <p v-if="item2.taskId != null">任务:{{item2.taskName}}
+                                                    </p>
+                                                    <div v-if="item2.multiWorktime==0">
                                                     <p style="display: inline-block;">时长:
-                                                        <span v-if="item2.reportTimeType == 2" style="margin-right:10px;">{{timeItem.startTime+'-'+timeItem.endTime}}</span>
-                                                    {{timeItem.time.toFixed(1)}}h  
+                                                        <span v-if="item2.reportTimeType == 0" style="margin-right:10px;">{{typeList[item2.timeType]}}</span>
+                                                        <span v-if="item2.reportTimeType == 2" style="margin-right:10px;">{{item2.startTime+'-'+item2.endTime}}</span>
+                                                    {{item2.time.toFixed(1)}}h  
+                                                    <el-tag type="danger" size="mini" style="margin-left: 65px" v-if="item2.isOvertime === 1">加班<span v-if="item2.overtimeHours">{{item2.overtimeHours.toFixed(1)}}h</span></el-tag>
+                                                    </p>
+                                                    <p>事项:<span v-html="item2.content"></span></p>
+                                                    </div>
+                                                    <div v-if="item2.multiWorktime==1" >
+                                                        <p>项目时长:{{item2.time.toFixed(1)}}h  <el-tag type="danger" size="mini" style="margin-left: 65px" v-if="item2.isOvertime === 1">加班<span v-if="item2.overtimeHours">{{item2.overtimeHours.toFixed(1)}}h</span></el-tag></p>
+                                                        <div v-for="(timeItem, tIndex) in item2.worktimeList" :key="tIndex"
+                                                            style="border: 0.5px #ddd solid;margin-bottom:5px;padding:5px;">
+                                                            <p style="display: inline-block;">时长:
+                                                                <span v-if="item2.reportTimeType == 2" style="margin-right:10px;">{{timeItem.startTime+'-'+timeItem.endTime}}</span>
+                                                            {{timeItem.time.toFixed(1)}}h  
+                                                            </p>
+                                                            <p>事项:<span v-html="timeItem.content"></span></p>
+                                                        </div>
+                                                    </div>
+                                                    <!--照片的显示 -->
+                                                    <p v-if="item2.pics != null && item2.pics.length > 0"> 
+                                                        <el-image v-for="(pic, index) in item2.pics" :key="index"
+                                                            style="width: 100px; height: 100px; margin-right:10px;"
+                                                            :src="pic" 
+                                                            :preview-src-list="item2.pics">
+                                                        </el-image>
                                                     </p>
-                                                    <p>事项:<span v-html="timeItem.content"></span></p>
-                                                </div>
-                                            </div>
-                                            <!--照片的显示 -->
-                                            <p v-if="item2.pics != null && item2.pics.length > 0"> 
-                                                <el-image v-for="(pic, index) in item2.pics" :key="index"
-                                                    style="width: 100px; height: 100px; margin-right:10px;"
-                                                    :src="pic" 
-                                                    :preview-src-list="item2.pics">
-                                                </el-image>
-                                            </p>
-                                        </el-card>
-                                    </el-timeline-item>
-                                </el-timeline>
+                                                </el-card>
+                                            </el-timeline-item>
+                                        </el-timeline>
+                                    </div>
+                                </div>
+                                <!-- 简陋的无报告提示 -->
+                                <div v-if="reportList.length==0" style="width:100%;font-size:17px;text-align:center;color:#aaa;">{{curDate}}暂无报告</div>
                             </div>
                         </div>
-                        <!-- 简陋的无报告提示 -->
-                        <div v-if="reportList.length==0" style="width:100%;font-size:17px;text-align:center;color:#aaa;">{{curDate}}暂无报告</div>
                     </div>
                 </div>
                 </div>
@@ -1324,9 +1322,12 @@
 </template>
 
 <script>
+    // 左右滑动
+    import dragMixin from "@/common/js/tensile.js";
     import util from "../../common/js/util";
 
     export default {
+        mixins: [dragMixin],
         data() {
             return {
                 exportLoad: false,
@@ -5390,6 +5391,42 @@
                 that.tableHeight = window.innerHeight - 178;
             };
             this.toViewForm.companyId = this.user.companyId
+
+            this.initDrag([{
+                type: "LR",
+                domClass: {
+                // 中间分割线的名字
+                resize: "line-line",
+                // 左侧盒子的名字
+                left: "box-left",
+                // 右侧盒子的名字
+                right: "box-right",
+                // 父级的名字
+                box: "box-father",
+                },
+                otherInfo: {
+                // 限制左边栏最低宽度
+                leftWidth: 120,
+                },
+            },
+            {
+                type: "LR",
+                domClass: {
+                // 中间分割线的名字
+                resize: "line-second",
+                // 左侧盒子的名字
+                left: "left-laowang",
+                // 右侧盒子的名字
+                right: "box-second-father",
+                // 父级的名字
+                box: "grand",
+                },
+                otherInfo: {
+                // 限制左边栏最低宽度
+                leftWidth: 120,
+                },
+            },
+            ]);
         },
         mounted() {
             var now = new Date();
@@ -5447,7 +5484,7 @@
     }
 }
     .allDaily {
-        width:82%;
+        width:100%;
     }
     .report_title {
         padding:10px 0;
@@ -5612,4 +5649,45 @@
         justify-content: space-between;
         align-items: center;
     }
+    // 左右滑动样式
+    .line {
+    width: 30px;
+    /* height: 500px; */
+    background: #f2f2f2;
+    cursor: w-resize;
+    }
+    .box-father {
+    border: 8px solid #000;
+    }
+    .line-second {
+    width: 10px;
+    /* background: red; */
+    }
+    .flex {
+    display: flex;
+    width: 100%;
+    }
+    .box-left {
+    flex: 0 0 400px;
+    /* height: 600px; */
+    /* background: blue; */
+    }
+    .box-right {
+    /* height: 600px; */
+    /* background: green; */
+    flex: 1;
+    }
+    .box-postion {
+    width: 200px;
+    /* height: 400px; */
+    background: #ccc;
+    }
+    .custom-tree-node {
+        flex: 1;
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+        font-size: 14px;
+        padding-right: 8px;
+    }
 </style>