Bladeren bron

提交代码

Lijy 1 jaar geleden
bovenliggende
commit
2cb821360a
1 gewijzigde bestanden met toevoegingen van 342 en 298 verwijderingen
  1. 342 298
      fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/weekEdit.vue

+ 342 - 298
fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/weekEdit.vue

@@ -27,8 +27,14 @@
                     @click="switchWeek(item,index)"
                     :disabled="canSelect(item)" v-if="user.timeType.enableNewWeeklyfill == 1">{{ weekText(dateRange[index]) }}</van-button>
                 </van-grid-item>
-                <van-grid-item v-if="weekIndex != 7">
-                    <van-button type="default" size="mini" class="selectgxbtn" @click="addWeekIndex()" icon="plus" v-if="user.timeType.enableNewWeeklyfill != 1"></van-button>
+                <!-- 周总结 -->
+                <van-grid-item v-if="user.timeType.enableNewWeeklyfill == 1" :class="999 == inbtn ? 'inbtn' : ''">
+                    <van-button class="selectgxbtn"
+                    type="default"
+                    size="mini" @click="switchWeekly(999)">周总结</van-button>
+                </van-grid-item>
+                <van-grid-item v-if="weekIndex != 7 && user.timeType.enableNewWeeklyfill != 1">
+                    <van-button type="default" size="mini" class="selectgxbtn" @click="addWeekIndex()" icon="plus"></van-button>
                 </van-grid-item>
                 <div class="kaoqin2" v-if="kaoqinText"><span>当日考勤:</span><span>{{kaoqinText}}</span></div>
                 <div class="kaoqin" v-if="workTimeText"><span>已填报工时:</span><span>{{workTimeText}}小时</span></div>
@@ -37,306 +43,325 @@
                 </div>
             </van-grid>
             <van-cell title="总时长(h)" v-if="reportTimeType.type == 3">
-                        <template>
-                            <van-stepper style="float:left;" :disabled="user.timeType.lockWorktime == 1" v-model="reportTimeType.allday" @change="changeAllTime" min="0.5" max="12" step="0.5" button-size="24px" :decimal-length="1" />
-                        </template>
-                    </van-cell>
-
+                <template>
+                    <van-stepper style="float:left;" :disabled="user.timeType.lockWorktime == 1" v-model="reportTimeType.allday" @change="changeAllTime" min="0.5" max="12" step="0.5" button-size="24px" :decimal-length="1" />
+                </template>
+            </van-cell>
 
-            <div class="form_domains" v-for="(item,index) in currentForm.domains" :key="item.id">
-                <div style="float:right;margin-top:10px;margin-right:10px;">
-                
-                <van-tag v-if="index>0" color="#fff" 
-                @click="delPro(index)" style="border: 1px solid #ff0000;padding:5px;margin-left:10px;"
-                 icon="plus" type="default" ><span style="color:#666;padding: 0 5px;">删除</span></van-tag>
-                </div>
+            
+            <!-- 每一周的数据循环 -->
+            <div v-if="inbtn != 999">
+                <div class="form_domains" v-for="(item,index) in currentForm.domains" :key="item.id">
+                    <div style="float:right;margin-top:10px;margin-right:10px;">
+                    
+                    <van-tag v-if="index>0" color="#fff" 
+                    @click="delPro(index)" style="border: 1px solid #ff0000;padding:5px;margin-left:10px;"
+                    icon="plus" type="default" ><span style="color:#666;padding: 0 5px;">删除</span></van-tag>
+                    </div>
 
-                <van-cell-group :title="(user.companyId==781?'任务':'项目') + (index+1)">
-                    <!-- <div>请选择投入项目</div> -->
-                    <!--按周填报的项目改成非必填-->
-                    <van-field  readonly  name="projectId" clickable :value="item.projectName" :label="user.companyId==781?'工作任务':'投入项目'" :placeholder="user.companyId==781?'请选择工作任务':'请选择项目'" @click="clickPicker(index, item)"
-                    />
-                    <van-field  readonly  name="subProjectId" v-if="item.subProjectList != null && item.subProjectList.length > 0 && user.timeType.mainProjectState != 1" clickable 
-                        :value="item.subProjectName" label="子项目" placeholder="请选择子项目" 
-                    @click="clickPickSubProject(index, item)" />
-
-                    <van-popup v-model="item.showPickerSubProject" position="bottom">
-                        <van-picker show-toolbar :columns="item.subProjectList" value-key="name" @confirm="choseSubProject" 
-                            @cancel="item.showPickerSubProject = false;$forceUpdate();" />
-                    </van-popup>
-                    <!--任务分组 -->
-                    <van-field  readonly  name="groupId" v-if="user.company.packageProject==1&&item.taskGroups != null && item.taskGroups.length > 0" clickable 
-                        :value="item.groupName" :label="user.timeType.enableNewWeeklyfill == 1 ? '分组' : '任务分组'" :placeholder="user.timeType.enableNewWeeklyfill == 1 ? '请选择分组' : '请选择任务分组'" 
-                    @click="clickPickTaskGroup(index, item)" />
-                    <van-popup v-model="item.showPickerTaskGroup" position="bottom">
-                        <van-picker show-toolbar :columns="item.taskGroups" value-key="name" @confirm="choseTaskGroup" 
-                            @cancel="item.showPickerTaskGroup = false;$forceUpdate();" />
-                    </van-popup>
-                    <!--任务阶段 -->
-                    <van-field  readonly  name="stage" v-if="user.company.packageProject==1&&item.stages != null && item.stages.length > 0" clickable 
-                        :value="item.stage" label="投入阶段" placeholder="请选择投入阶段" 
-                    @click="clickPickStage(index, item)" />
-                    <van-popup v-model="item.showPickerStage" position="bottom">
-                        <van-picker show-toolbar :columns="item.stages" value-key="stagesName" @confirm="choseStage" 
-                            @cancel="item.showPickerStage = false;$forceUpdate();" />
-                    </van-popup>
-                    <!-- 预算来源 -->
-                    <van-field  readonly  name="basecostId" v-if="user.company.packageProject==1&&reportBasecostList &&reportBasecostList.length>0" 
-                        :value="item.basecostName" label="预算来源" placeholder="请选择预算来源" 
-                    @click="clickPickCostId(index, item)" />
-                    <van-popup v-model="item.showPickerCostId" position="bottom">
-                        <van-picker show-toolbar :columns="reportBasecostList" value-key="name" @confirm="choseCostId" 
-                            @cancel="item.showPickerCostId = false;$forceUpdate();" />
-                    </van-popup>
-                    <!-- 审核人 -->
-                <template v-if="user.timeType.reportAuditType != 3">
-                    <van-field  readonly  name="projectAuditorId" v-if="item.auditUserList != null && item.auditUserList.length > 0" clickable
-                        :value="item.projectAuditorName" :label="user.companyId==781?'审核人':'项目审核人'" placeholder="请选择审核人" 
-                    @click="clickPickAuditor(index, item)">
-                        <template #input>
-                            <span v-if="user.userNameNeedTranslate == '1'"><ww-open-data type='userName' :openid='item.projectAuditorName'></ww-open-data></span>
-                            <span v-else>{{item.projectAuditorName}}</span>
-                        </template>
-                    </van-field>
-                    <van-popup v-model="item.showPickerAuditor" position="bottom">
-                        <van-picker show-toolbar :columns="item.auditUserList" value-key="auditorName" @confirm="choseAuditor" 
-                        @cancel="item.showPickerAuditor = false;$forceUpdate();">
-                            <template #option="item">
-                                <span v-if="user.userNameNeedTranslate == '1'"><ww-open-data type='userName' :openid='item.auditorName'></ww-open-data></span>
-                                <span v-else>{{item.auditorName}}</span>
+                    <van-cell-group :title="(user.companyId==781?'任务':'项目') + (index+1)">
+                        <!-- <div>请选择投入项目</div> -->
+                        <!--按周填报的项目改成非必填-->
+                        <van-field  readonly  name="projectId" clickable :value="item.projectName" :label="user.companyId==781?'工作任务':'投入项目'" :placeholder="user.companyId==781?'请选择工作任务':'请选择项目'" @click="clickPicker(index, item)"
+                        />
+                        <van-field  readonly  name="subProjectId" v-if="item.subProjectList != null && item.subProjectList.length > 0 && user.timeType.mainProjectState != 1" clickable 
+                            :value="item.subProjectName" label="子项目" placeholder="请选择子项目" 
+                        @click="clickPickSubProject(index, item)" />
+
+                        <van-popup v-model="item.showPickerSubProject" position="bottom">
+                            <van-picker show-toolbar :columns="item.subProjectList" value-key="name" @confirm="choseSubProject" 
+                                @cancel="item.showPickerSubProject = false;$forceUpdate();" />
+                        </van-popup>
+                        <!--任务分组 -->
+                        <van-field  readonly  name="groupId" v-if="user.company.packageProject==1&&item.taskGroups != null && item.taskGroups.length > 0" clickable 
+                            :value="item.groupName" :label="user.timeType.enableNewWeeklyfill == 1 ? '分组' : '任务分组'" :placeholder="user.timeType.enableNewWeeklyfill == 1 ? '请选择分组' : '请选择任务分组'" 
+                        @click="clickPickTaskGroup(index, item)" />
+                        <van-popup v-model="item.showPickerTaskGroup" position="bottom">
+                            <van-picker show-toolbar :columns="item.taskGroups" value-key="name" @confirm="choseTaskGroup" 
+                                @cancel="item.showPickerTaskGroup = false;$forceUpdate();" />
+                        </van-popup>
+                        <!--任务阶段 -->
+                        <van-field  readonly  name="stage" v-if="user.company.packageProject==1&&item.stages != null && item.stages.length > 0" clickable 
+                            :value="item.stage" label="投入阶段" placeholder="请选择投入阶段" 
+                        @click="clickPickStage(index, item)" />
+                        <van-popup v-model="item.showPickerStage" position="bottom">
+                            <van-picker show-toolbar :columns="item.stages" value-key="stagesName" @confirm="choseStage" 
+                                @cancel="item.showPickerStage = false;$forceUpdate();" />
+                        </van-popup>
+                        <!-- 预算来源 -->
+                        <van-field  readonly  name="basecostId" v-if="user.company.packageProject==1&&reportBasecostList &&reportBasecostList.length>0" 
+                            :value="item.basecostName" label="预算来源" placeholder="请选择预算来源" 
+                        @click="clickPickCostId(index, item)" />
+                        <van-popup v-model="item.showPickerCostId" position="bottom">
+                            <van-picker show-toolbar :columns="reportBasecostList" value-key="name" @confirm="choseCostId" 
+                                @cancel="item.showPickerCostId = false;$forceUpdate();" />
+                        </van-popup>
+                        <!-- 审核人 -->
+                    <template v-if="user.timeType.reportAuditType != 3">
+                        <van-field  readonly  name="projectAuditorId" v-if="item.auditUserList != null && item.auditUserList.length > 0" clickable
+                            :value="item.projectAuditorName" :label="user.companyId==781?'审核人':'项目审核人'" placeholder="请选择审核人" 
+                        @click="clickPickAuditor(index, item)">
+                            <template #input>
+                                <span v-if="user.userNameNeedTranslate == '1'"><ww-open-data type='userName' :openid='item.projectAuditorName'></ww-open-data></span>
+                                <span v-else>{{item.projectAuditorName}}</span>
                             </template>
-                        </van-picker>
-                    </van-popup>
-                </template>
+                        </van-field>
+                        <van-popup v-model="item.showPickerAuditor" position="bottom">
+                            <van-picker show-toolbar :columns="item.auditUserList" value-key="auditorName" @confirm="choseAuditor" 
+                            @cancel="item.showPickerAuditor = false;$forceUpdate();">
+                                <template #option="item">
+                                    <span v-if="user.userNameNeedTranslate == '1'"><ww-open-data type='userName' :openid='item.auditorName'></ww-open-data></span>
+                                    <span v-else>{{item.auditorName}}</span>
+                                </template>
+                            </van-picker>
+                        </van-popup>
+                    </template>
 
 
-                    <!-- 自选审批人 -->
-                <template v-if="user.timeType.reportAuditType == 3">
-                    <van-field readonly clickable label="第一审核人" @click="auditorClick(index,'auditorFirst')">
-                        <template #input>
-                            <span v-if="!item.auditorFirst"></span>
-                            <span v-else-if="user.userNameNeedTranslate == '1'"><ww-open-data type='userName' :openid='item.auditorFirst.name'></ww-open-data></span>
-                            <span v-else>{{item.auditorFirst.name}}</span>
-                        </template>
-                    </van-field>
-                    <van-field readonly clickable label="第二审核人" @click="auditorClick(index,'auditorSec')" v-if="user.timeType.auditLevel > 1">
-                        <template #input>
-                            <span v-if="!item.auditorSec"></span>
-                            <span v-else-if="user.userNameNeedTranslate == '1'"><ww-open-data type='userName' :openid='item.auditorSec.name'></ww-open-data></span>
-                            <span v-else>{{item.auditorSec.name}}</span>
-                        </template>
-                    </van-field>
-                    <van-field readonly clickable label="第三审核人" @click="auditorClick(index,'auditorThird')" v-if="user.timeType.auditLevel > 2">
-                        <template #input>
-                            <span v-if="!item.auditorThird"></span>
-                            <span v-else-if="user.userNameNeedTranslate == '1'"><ww-open-data type='userName' :openid='item.auditorThird.name'></ww-open-data></span>
-                            <span v-else>{{item.auditorThird.name}}</span>
-                        </template>
-                    </van-field>
-                    <van-field readonly clickable label="抄送人" @click="auditorClick(index,'ccUserid')">
-                        <template #input>
-                            <span v-if="!item.ccUserid"></span>
-                            <span v-else-if="user.userNameNeedTranslate == '1'"><ww-open-data type='userName' :openid='item.ccUserid.name'></ww-open-data></span>
-                            <span v-else>{{item.ccUserid.name}}</span>
-                        </template>
-                    </van-field>
-                    <van-popup v-model="auditorShow" position="bottom">
-                        <van-search v-model="auditor.searchText" placeholder="输入员工姓名搜索" @search="onSearch" v-if="user.userNameNeedTranslate != '1'"></van-search>
-                        <div style="minHeight:300px;">
-                            <van-radio-group v-model="auditor.item">
-                                <van-radio v-for="uitem in auditor.searchList" :key="uitem.id" :name="uitem" style="padding:10px">
-                                    <span>{{uitem.name}}</span>
-                                </van-radio>
-                            </van-radio-group>
-                            <van-button style="width:100%;position: -webkit-sticky;position: sticky;bottom: 0;" @click="searchAuditor()">确定</van-button>
-                        </div>
-                    </van-popup>
-                </template>
+                        <!-- 自选审批人 -->
+                    <template v-if="user.timeType.reportAuditType == 3">
+                        <van-field readonly clickable label="第一审核人" @click="auditorClick(index,'auditorFirst')">
+                            <template #input>
+                                <span v-if="!item.auditorFirst"></span>
+                                <span v-else-if="user.userNameNeedTranslate == '1'"><ww-open-data type='userName' :openid='item.auditorFirst.name'></ww-open-data></span>
+                                <span v-else>{{item.auditorFirst.name}}</span>
+                            </template>
+                        </van-field>
+                        <van-field readonly clickable label="第二审核人" @click="auditorClick(index,'auditorSec')" v-if="user.timeType.auditLevel > 1">
+                            <template #input>
+                                <span v-if="!item.auditorSec"></span>
+                                <span v-else-if="user.userNameNeedTranslate == '1'"><ww-open-data type='userName' :openid='item.auditorSec.name'></ww-open-data></span>
+                                <span v-else>{{item.auditorSec.name}}</span>
+                            </template>
+                        </van-field>
+                        <van-field readonly clickable label="第三审核人" @click="auditorClick(index,'auditorThird')" v-if="user.timeType.auditLevel > 2">
+                            <template #input>
+                                <span v-if="!item.auditorThird"></span>
+                                <span v-else-if="user.userNameNeedTranslate == '1'"><ww-open-data type='userName' :openid='item.auditorThird.name'></ww-open-data></span>
+                                <span v-else>{{item.auditorThird.name}}</span>
+                            </template>
+                        </van-field>
+                        <van-field readonly clickable label="抄送人" @click="auditorClick(index,'ccUserid')">
+                            <template #input>
+                                <span v-if="!item.ccUserid"></span>
+                                <span v-else-if="user.userNameNeedTranslate == '1'"><ww-open-data type='userName' :openid='item.ccUserid.name'></ww-open-data></span>
+                                <span v-else>{{item.ccUserid.name}}</span>
+                            </template>
+                        </van-field>
+                        <van-popup v-model="auditorShow" position="bottom">
+                            <van-search v-model="auditor.searchText" placeholder="输入员工姓名搜索" @search="onSearch" v-if="user.userNameNeedTranslate != '1'"></van-search>
+                            <div style="minHeight:300px;">
+                                <van-radio-group v-model="auditor.item">
+                                    <van-radio v-for="uitem in auditor.searchList" :key="uitem.id" :name="uitem" style="padding:10px">
+                                        <span>{{uitem.name}}</span>
+                                    </van-radio>
+                                </van-radio-group>
+                                <van-button style="width:100%;position: -webkit-sticky;position: sticky;bottom: 0;" @click="searchAuditor()">确定</van-button>
+                            </div>
+                        </van-popup>
+                    </template>
 
 
-                    <!-- 相关维度 -->
-                    <van-field :value="item.weiduName" v-if="item.projectId && user.timeType.customDegreeActive == 1"  readonly  name="id" clickable :label="user.timeType.customDegreeName" placeholder="请选择" @click="clickPickers(index)"/>
-                    <van-popup v-model="item.showPickDegree" position="bottom">
-                        <van-picker show-toolbar :columns="item.wuduList" value-key="name" @confirm="choseProjects" @cancel="item.showPickDegree = false;$forceUpdate()" />
-                    </van-popup>
-
-                    <!-- 自定义数值 -->
-                    <van-field v-if="user.timeType.customDataActive==1" type="number" v-model="item.customData" :label="user.timeType.customDataName" 
-                         placeholder="请输入数字" ></van-field> 
-                    <!-- 自定义文本 -->
-                    <van-field v-if="user.timeType.customTextActive==1" v-model="item.customText" :label="user.timeType.customTextName" 
-                         placeholder="请输入" maxlength="25"></van-field> 
-
-                    <van-cell title="专业进度" v-if="user.company.packageEngineering == 1">
-                    </van-cell>
-                    <van-field 
-                        type="number"  :name="'progress_'+pItem.professionId" input-align="right" 
-                        v-for="pItem in item.professionProgress" :key="pItem.professionId"
-                        :label="'--    '+pItem.professionName"  
-                    >
-                    <template slot="input">
-                        <van-stepper v-model="pItem.progress" integer min="0" max="100" />%
-                    </template>
-                    </van-field>
-                    
-                    <!-- 常规选择时间的方式 -->
-                    <!-- 全天上下午模式 -->
-                    <div v-if="reportTimeType.multiWorktime==0">
-                    <van-field v-if="reportTimeType.type < 2" readonly clickable  :value="reportTimeType.type==0?item.label:(parseFloat(item.workingTime).toFixed(1)+'h')" label="工作时长" placeholder="请选择工作时长(小时)" @click="clickTimePicker(index)"
-                    :rules="[{ required: true, message: '请选择工作时长' }]"/>
-                    <van-popup v-model="showPickerTime" position="bottom">
-                        <van-picker show-toolbar :columns="timeType"  value-key="label" @confirm="choseTimePick" @cancel="showPickerTime = false" />
-                    </van-popup>
-                    
-                    <!-- 选择数字时间长度模式 -->
-                    <van-popup v-model="showPickerHours" position="bottom">
-                        <van-picker show-toolbar :columns="timeRange" 
-                        :default-index="15"
-                        @confirm="choseTimePick" @cancel="showPickerHours = false" />
-                    </van-popup>
-
-                    <!-- 时间段选择模式 -->
-                    <van-field readonly v-if="reportTimeType.type == 2" clickable name="datetimePicker" :value="item.startTime" label="开始时间" placeholder="点击选择时间" 
-                        @click="showStartTime = true"
-                        :rules="[{ required: true, message: '请选择开始时间' }]"
-                          />
-                    <van-popup v-model="showStartTime" position="bottom">
-                        <van-datetime-picker
-                        v-model="startTime"
-                        type="time"
-                        @confirm="confirmTime(item,0);"
-                        @cancel="showStartTime = false"
-                        :min-hour="0"
-                        :max-hour="23"
-                        />
-                        <!-- :filter="filter" 原本这个属性在里面 -->
-                    </van-popup>
-                    <van-field v-if="reportTimeType.type == 2" readonly clickable name="datetimePicker" :value="item.endTime" label="结束时间" placeholder="点击选择时间" 
-                        @click="showEndTime = true"
-                        :rules="[{ required: true, message: '请选择结束时间' }]" />
-                    <van-popup v-model="showEndTime" position="bottom" >
-                        <van-datetime-picker
-                        v-model="endTime"
-                        type="time"
-                        :min-hour="0"
-                        :max-hour="23"
-                        @confirm="confirmTime(item,1)"
-                        @cancel="showEndTime = false" 
-                        />
-                        <!-- :filter="filter" 原本这个属性在里面 -->
-                    </van-popup>
-                    <van-cell v-if="reportTimeType.type == 3" >
-                        <template >
-                            <div>
-                        <span>用时占比</span>
-                        <van-slider :min="5" :step="5" style="width:120px;display:inline-block;margin-left:50px;" v-model="item.progress" :value="100" @change="item.workingTime = (reportTimeType.allday*item.progress/100).toFixed(1)" >
-                        <template #button>
-                            <div class="custom-button">{{ item.progress }}%</div>
+                        <!-- 相关维度 -->
+                        <van-field :value="item.weiduName" v-if="item.projectId && user.timeType.customDegreeActive == 1"  readonly  name="id" clickable :label="user.timeType.customDegreeName" placeholder="请选择" @click="clickPickers(index)"/>
+                        <van-popup v-model="item.showPickDegree" position="bottom">
+                            <van-picker show-toolbar :columns="item.wuduList" value-key="name" @confirm="choseProjects" @cancel="item.showPickDegree = false;$forceUpdate()" />
+                        </van-popup>
+
+                        <!-- 自定义数值 -->
+                        <van-field v-if="user.timeType.customDataActive==1" type="number" v-model="item.customData" :label="user.timeType.customDataName" 
+                            placeholder="请输入数字" ></van-field> 
+                        <!-- 自定义文本 -->
+                        <van-field v-if="user.timeType.customTextActive==1" v-model="item.customText" :label="user.timeType.customTextName" 
+                            placeholder="请输入" maxlength="25"></van-field> 
+
+                        <van-cell title="专业进度" v-if="user.company.packageEngineering == 1">
+                        </van-cell>
+                        <van-field 
+                            type="number"  :name="'progress_'+pItem.professionId" input-align="right" 
+                            v-for="pItem in item.professionProgress" :key="pItem.professionId"
+                            :label="'--    '+pItem.professionName"  
+                        >
+                        <template slot="input">
+                            <van-stepper v-model="pItem.progress" integer min="0" max="100" />%
                         </template>
-                        </van-slider>
-                        <span style="margin-left:10px;float:right;">{{item.workingTime}}小时</span>
+                        </van-field>
+                        
+                        <!-- 常规选择时间的方式 -->
+                        <!-- 全天上下午模式 -->
+                        <div v-if="reportTimeType.multiWorktime==0">
+                        <van-field v-if="reportTimeType.type < 2" readonly clickable  :value="reportTimeType.type==0?item.label:(parseFloat(item.workingTime).toFixed(1)+'h')" label="工作时长" placeholder="请选择工作时长(小时)" @click="clickTimePicker(index)"
+                        :rules="[{ required: true, message: '请选择工作时长' }]"/>
+                        <van-popup v-model="showPickerTime" position="bottom">
+                            <van-picker show-toolbar :columns="timeType"  value-key="label" @confirm="choseTimePick" @cancel="showPickerTime = false" />
+                        </van-popup>
+                        
+                        <!-- 选择数字时间长度模式 -->
+                        <van-popup v-model="showPickerHours" position="bottom">
+                            <van-picker show-toolbar :columns="timeRange" 
+                            :default-index="15"
+                            @confirm="choseTimePick" @cancel="showPickerHours = false" />
+                        </van-popup>
+
+                        <!-- 时间段选择模式 -->
+                        <van-field readonly v-if="reportTimeType.type == 2" clickable name="datetimePicker" :value="item.startTime" label="开始时间" placeholder="点击选择时间" 
+                            @click="showStartTime = true"
+                            :rules="[{ required: true, message: '请选择开始时间' }]"
+                            />
+                        <van-popup v-model="showStartTime" position="bottom">
+                            <van-datetime-picker
+                            v-model="startTime"
+                            type="time"
+                            @confirm="confirmTime(item,0);"
+                            @cancel="showStartTime = false"
+                            :min-hour="0"
+                            :max-hour="23"
+                            />
+                            <!-- :filter="filter" 原本这个属性在里面 -->
+                        </van-popup>
+                        <van-field v-if="reportTimeType.type == 2" readonly clickable name="datetimePicker" :value="item.endTime" label="结束时间" placeholder="点击选择时间" 
+                            @click="showEndTime = true"
+                            :rules="[{ required: true, message: '请选择结束时间' }]" />
+                        <van-popup v-model="showEndTime" position="bottom" >
+                            <van-datetime-picker
+                            v-model="endTime"
+                            type="time"
+                            :min-hour="0"
+                            :max-hour="23"
+                            @confirm="confirmTime(item,1)"
+                            @cancel="showEndTime = false" 
+                            />
+                            <!-- :filter="filter" 原本这个属性在里面 -->
+                        </van-popup>
+                        <van-cell v-if="reportTimeType.type == 3" >
+                            <template >
+                                <div>
+                            <span>用时占比</span>
+                            <van-slider :min="5" :step="5" style="width:120px;display:inline-block;margin-left:50px;" v-model="item.progress" :value="100" @change="item.workingTime = (reportTimeType.allday*item.progress/100).toFixed(1)" >
+                            <template #button>
+                                <div class="custom-button">{{ item.progress }}%</div>
+                            </template>
+                            </van-slider>
+                            <span style="margin-left:10px;float:right;">{{item.workingTime}}小时</span>
+                                </div>
+                            </template>
+                        </van-cell>
+                        <van-field class="form_input"
+                        v-model="item.content" name="content" type="textarea" :label="user.companyId==781?'具体内容与结果':'工作事项'" placeholder="请输入" 
+                        rows="3" autosize :rules="user.timeType.workContentState == 1 ? [{ required: true, message: user.companyId==781?'具体内容与结果':'工作事项' }] : null" />
+                        </div>
+                        
+                        <!-- 多个时间和工作事项的选择方式 -->
+                        <div v-if="reportTimeType.multiWorktime==1">
+                            <div v-for="(timeItem, tindex) in item.worktimeList" :key="tindex" style="position:relative;border:#ccc 0.5px solid;margin:7px;">
+                                <van-tag v-if="tindex>0" style="position:absolute; right:-7px;top:-7px;z-index:10;" 
+                                    @click="removeTimeItem(item,tindex)">X</van-tag>
+                                
+                                <!-- 时间段选择模式 -->
+                                <van-field readonly v-if="reportTimeType.type == 2" :clickable="true" name="datetimePicker" 
+                                :value="timeItem.startTime" label="开始时间" placeholder="点击选择时间" 
+                                :rules="[{ required: true, message: '必填项' }]"
+                                    @click="showStartDialog(timeItem)"  />
+                                
+                                <van-field v-if="reportTimeType.type == 2" readonly :clickable="true" name="datetimePicker" 
+                                :value="timeItem.endTime" label="结束时间" placeholder="点击选择时间" 
+                                :rules="[{ required: true, message: '必填项' }]"
+                                    @click="showEndDialog(timeItem)"  />
+                                
+                                <van-field class="form_input" style="color:#333;-webkit-text-fill-color:#646566;"
+                                
+                                    v-model="timeItem.content" name="content" type="textarea" label="工作事项" placeholder="请输入工作事项" 
+                                    :rules="user.timeType.workContentState == 1 ? [{ required: true, message: '请填写工作事项' }] : null"
+                                    rows="1" autosize  />
                             </div>
-                        </template>
-                    </van-cell>
-                    <van-field class="form_input"
-                    v-model="item.content" name="content" type="textarea" :label="user.companyId==781?'具体内容与结果':'工作事项'" placeholder="请输入" 
-                    rows="3" autosize :rules="user.timeType.workContentState == 1 ? [{ required: true, message: user.companyId==781?'具体内容与结果':'工作事项' }] : null" />
-                    </div>
-                    
-                    <!-- 多个时间和工作事项的选择方式 -->
-                    <div v-if="reportTimeType.multiWorktime==1">
-                        <div v-for="(timeItem, tindex) in item.worktimeList" :key="tindex" style="position:relative;border:#ccc 0.5px solid;margin:7px;">
-                            <van-tag v-if="tindex>0" style="position:absolute; right:-7px;top:-7px;z-index:10;" 
-                                @click="removeTimeItem(item,tindex)">X</van-tag>
-                            
-                            <!-- 时间段选择模式 -->
-                            <van-field readonly v-if="reportTimeType.type == 2" :clickable="true" name="datetimePicker" 
-                            :value="timeItem.startTime" label="开始时间" placeholder="点击选择时间" 
-                            :rules="[{ required: true, message: '必填项' }]"
-                                @click="showStartDialog(timeItem)"  />
-                            
-                            <van-field v-if="reportTimeType.type == 2" readonly :clickable="true" name="datetimePicker" 
-                            :value="timeItem.endTime" label="结束时间" placeholder="点击选择时间" 
-                            :rules="[{ required: true, message: '必填项' }]"
-                                @click="showEndDialog(timeItem)"  />
-                            
-                            <van-field class="form_input" style="color:#333;-webkit-text-fill-color:#646566;"
-                            
-                                v-model="timeItem.content" name="content" type="textarea" label="工作事项" placeholder="请输入工作事项" 
-                                :rules="user.timeType.workContentState == 1 ? [{ required: true, message: '请填写工作事项' }] : null"
-                                rows="1" autosize  />
+                            <!--时间选择器 , 做统一处理,不能放到循环里,不然会有多个公用showStartTime,最后一个会现在最上层UI,导致BUG -->
+                            <van-popup v-model="showWorkStartTime" position="bottom">
+                                    <van-datetime-picker
+                                    v-model="startTime"
+                                    type="time"
+                                    @confirm="confirmWorkTime(0);"
+                                    @cancel="showWorkStartTime = false"
+                                    :min-hour="0"
+                                    :max-hour="23"
+                                    />
+                                    <!-- :filter="filter" 原本这个属性在里面 -->
+                                </van-popup>
+                            <van-popup v-model="showWorkEndTime" position="bottom" >
+                                    <van-datetime-picker
+                                    v-model="endTime"
+                                    type="time"
+                                    :min-hour="0"
+                                    :max-hour="23"
+                                    @confirm="confirmWorkTime(1)"
+                                    @cancel="showWorkEndTime = false" 
+                                    />
+                                    <!-- :filter="filter" 原本这个属性在里面 -->
+                                </van-popup>
                         </div>
-                        <!--时间选择器 , 做统一处理,不能放到循环里,不然会有多个公用showStartTime,最后一个会现在最上层UI,导致BUG -->
-                        <van-popup v-model="showWorkStartTime" position="bottom">
-                                <van-datetime-picker
-                                v-model="startTime"
-                                type="time"
-                                @confirm="confirmWorkTime(0);"
-                                @cancel="showWorkStartTime = false"
-                                :min-hour="0"
-                                :max-hour="23"
-                                />
-                                <!-- :filter="filter" 原本这个属性在里面 -->
-                            </van-popup>
-                        <van-popup v-model="showWorkEndTime" position="bottom" >
-                                <van-datetime-picker
-                                v-model="endTime"
-                                type="time"
-                                :min-hour="0"
-                                :max-hour="23"
-                                @confirm="confirmWorkTime(1)"
-                                @cancel="showWorkEndTime = false" 
-                                />
-                                <!-- :filter="filter" 原本这个属性在里面 -->
-                            </van-popup>
-                    </div>
-                    
-                    <div style="width:100%;" v-if="reportTimeType.multiWorktime==1">
-                    <van-tag  style="text-align:center;padding:5px;margin-left:15px;border: 1px solid #20a0ff;"
-                         @click="addNewWorktime(index, item)" 
-                        icon="plus" color="#ffffff" ><span style="color:#999;text-align:center;padding: 0 5px;"> 添加工时  </span></van-tag>
-                    </div>
-                    
-                    <div class="overtime" v-if="((user.timeType.fillOvertime || (isWeekend && user.timeType.lockWorktime != 1)) || (isCorpWX&&canEdit)) && user.timeType.enableNewWeeklyfill != 1">
-                        <div class="overTimeClas">
-                            <van-checkbox  v-model="item.isOvertime" style="width: 4.3rem;">加班</van-checkbox>
-                            <van-field v-model="item.overtimeHours" type="number" :disabled="item.isOvertime==null||item.isOvertime==0"
-                            placeholder="请输入加班时长" style="width: 5rem"></van-field>
-                            <span :class="'overListTime'">小时</span>    
+                        
+                        <div style="width:100%;" v-if="reportTimeType.multiWorktime==1">
+                        <van-tag  style="text-align:center;padding:5px;margin-left:15px;border: 1px solid #20a0ff;"
+                            @click="addNewWorktime(index, item)" 
+                            icon="plus" color="#ffffff" ><span style="color:#999;text-align:center;padding: 0 5px;"> 添加工时  </span></van-tag>
                         </div>
-                        <van-tag style="position:absolute;right:10px;" v-if="isCorpWX" type="primary" size="large" @click="takePhoto(index)">拍照上传</van-tag>
-                    </div>
-                    <div style="padding:5px;text-align:center;" v-if="!isIOSystem">
-                        <span v-for="(p, index) in item.pics"  :key="p" style="margin-right:15px;">
-                        <div class="imgList">    
-                            <van-icon v-if=" user.companyId==7" size="20" name="clear"  @click="deleteImg(item, index)" class="imgList_i"/>
-                            <img  :src="p" style="width:100px; height:100px;" @click="showLargeImg(item.pics, index)"/>
+                        
+                        <div class="overtime" v-if="((user.timeType.fillOvertime || (isWeekend && user.timeType.lockWorktime != 1)) || (isCorpWX&&canEdit)) && user.timeType.enableNewWeeklyfill != 1">
+                            <div class="overTimeClas">
+                                <van-checkbox  v-model="item.isOvertime" style="width: 4.3rem;">加班</van-checkbox>
+                                <van-field v-model="item.overtimeHours" type="number" :disabled="item.isOvertime==null||item.isOvertime==0"
+                                placeholder="请输入加班时长" style="width: 5rem"></van-field>
+                                <span :class="'overListTime'">小时</span>    
+                            </div>
+                            <van-tag style="position:absolute;right:10px;" v-if="isCorpWX" type="primary" size="large" @click="takePhoto(index)">拍照上传</van-tag>
                         </div>
-                        </span>
-                    </div>
-                    <div style="padding:5px;text-align:center;" v-if="isIOSystem">
-                        <span v-for="(p, index) in item.iospics"  :key="p" style="margin-right:15px;">
-                        <div class="imgList">
-                            <van-icon  v-if=" user.companyId==7" size="20" name="clear"  @click="deleteImg(item, index)" class="imgList_i"/>
-                            <img :src="p" style="width:100px; height:100px;" @click="showLargeImg(item.iospics, index)"/>
+                        <div style="padding:5px;text-align:center;" v-if="!isIOSystem">
+                            <span v-for="(p, index) in item.pics"  :key="p" style="margin-right:15px;">
+                            <div class="imgList">    
+                                <van-icon v-if=" user.companyId==7" size="20" name="clear"  @click="deleteImg(item, index)" class="imgList_i"/>
+                                <img  :src="p" style="width:100px; height:100px;" @click="showLargeImg(item.pics, index)"/>
+                            </div>
+                            </span>
                         </div>
-                        </span>
-                    </div>
-                    <van-popup v-model="imgShow" position="bottom" closeable >
-                        <van-swipe class="my-swipe"  indicator-color="white">
-                        <van-swipe-item v-for="(picItem, index) in tmpPics" :key="index">
-                            <img :src="picItem" style="width:100%;" />
-                        </van-swipe-item>
-                        </van-swipe>
-                    </van-popup>
-                </van-cell-group>
-                
+                        <div style="padding:5px;text-align:center;" v-if="isIOSystem">
+                            <span v-for="(p, index) in item.iospics"  :key="p" style="margin-right:15px;">
+                            <div class="imgList">
+                                <van-icon  v-if=" user.companyId==7" size="20" name="clear"  @click="deleteImg(item, index)" class="imgList_i"/>
+                                <img :src="p" style="width:100px; height:100px;" @click="showLargeImg(item.iospics, index)"/>
+                            </div>
+                            </span>
+                        </div>
+                        <van-popup v-model="imgShow" position="bottom" closeable >
+                            <van-swipe class="my-swipe"  indicator-color="white">
+                            <van-swipe-item v-for="(picItem, index) in tmpPics" :key="index">
+                                <img :src="picItem" style="width:100%;" />
+                            </van-swipe-item>
+                            </van-swipe>
+                        </van-popup>
+                    </van-cell-group>
+                    
+                </div>
+
+                <!-- 新增项目或者任务 -->
+                <div style="text-align:center;" >
+                <van-tag size="large" style="text-align:center;margin:10px;padding:12px;margin-bottom:120px;border: 1px solid #20a0ff;"
+                    @click="addNewPro" 
+                    icon="plus" color="#ffffff" ><span style="color:#999;text-align:center;padding: 0 50px;"> + 新增{{user.companyId==781?'任务':'项目'}}  </span></van-tag>
+                </div> 
+            </div>
+            
+
+            <!-- 周总结 -->
+            <div v-if="user.timeType.enableNewWeeklyfill == 1 && inbtn == 999">
+                <div class="van-cell-group__title">周总结</div>
+                <van-field
+                    v-model="summary"
+                    rows="9"
+                    autosize
+                    type="textarea"
+                    placeholder="请输入周总结"
+                />
             </div>
-            <div style="text-align:center;" >
-            <van-tag size="large" style="text-align:center;margin:10px;padding:12px;margin-bottom:120px;border: 1px solid #20a0ff;"
-                 @click="addNewPro" 
-                icon="plus" color="#ffffff" ><span style="color:#999;text-align:center;padding: 0 50px;"> + 新增{{user.companyId==781?'任务':'项目'}}  </span></van-tag>
-            </div>  
+             
             <div class="form_btn" style="position:fixed; bottom:0px;width:100%;">
                 <div style="padding-bottom:10px;">
                     <van-button square block type="info" @click="submitReport" native-type="submit" style="width:100%;float:left;">
@@ -486,7 +511,8 @@
                     list: [],
                     searchList: [],
                 },
-                integrationProjectList: []
+                integrationProjectList: [],
+                summary: '', // 周总结
             };
         },
         methods: {
@@ -583,6 +609,11 @@
             },
             // 切换星期
             switchWeek(item,index){
+                console.log(this.inbtn)
+                if(this.inbtn == 999) {
+                    this.inbtn = index
+                    return
+                }
                 this.form[this.inbtn] = this.currentForm
                 this.inbtn = index
                 this.currentForm = this.form[this.inbtn]
@@ -590,10 +621,14 @@
                     this.currentForm.domains[0].basecostId = this.reportBasecostList[0].id;
                     this.currentForm.domains[0].basecostName = this.reportBasecostList[0].name;
                 }
-                // console.log(this.form);
                 this.getKaoqin()
                 this.getWorkTime()
             },
+            // 切换按周
+            switchWeekly(index) {
+                this.inbtn = index
+                console.log(this.form)
+            },
             addWeekIndex(){
                 console.log(this.weekIndex, this.dateRange);
                 if(this.dateRange.length < 7){
@@ -740,7 +775,8 @@
                 let startDateM = startDate.getMonth() + 1
                 let startDateD = startDate.getDate()
 
-                let endDate = this.dateRange[this.weekIndex - 1]
+                // let endDate = this.dateRange[this.weekIndex - 1]
+                let endDate = this.dateRange.at(-1)
                 let endDateM = endDate.getMonth() + 1
                 let endDateD = endDate.getDate()
 
@@ -752,7 +788,8 @@
                 }
 
                 this.form = []
-                for(let i=0;i<this.weekIndex;i++){
+                // for(let i=0;i<this.weekIndex;i++){
+                for(let i=0;i<this.dateRange.length;i++){
                     let formItem = {
                             createDate: this.format(this.dateRange[i],"yyyy-MM-dd"),
                             domains: [{
@@ -1648,6 +1685,10 @@
             },
             // 清空当前填写信息
             submitClear(){
+                if(this.inbtn == 999) {
+                    this.summary = ''
+                    return
+                }
                 this.currentForm.domains = [{
                                 id: null,
                                 projectId: "",
@@ -1664,9 +1705,10 @@
 
             // 提交日报
             submitReport() {
-                this.form[this.inbtn] = this.currentForm
-                const { allday, workContentState } = this.user.timeType // 系统设置的每日工作时间
-
+                if(this.inbtn != 999) {
+                    this.form[this.inbtn] = this.currentForm
+                }
+                const { allday, workContentState, enableNewWeeklyfill } = this.user.timeType // 系统设置的每日工作时间
                 // 针对物奇做的判断
                 if(this.user.timeType.enableNewWeeklyfill == 1){
                     const { next, error, group } = this.judgeStrange(this.form)
@@ -1747,10 +1789,11 @@
                 }
 
                 let formData = new URLSearchParams()
+                // 周总结
+                if(enableNewWeeklyfill == 1) {
+                    formData.append("summary", this.summary);
+                }
                 for(let formIndex=0;formIndex<this.form.length;formIndex++){
-                    
-
-
                     this.dateAr = []
                     let alp = []
                     if(this.user.timeType.multiWorktime == 1) {
@@ -2051,6 +2094,7 @@
                             this.$toast.success(this.isDraft==0?'提交成功':'暂存成功');
                             setTimeout(()=> {
                                 that.$router.push("/index");
+                                that.summary = ''
                             }, 1000);
                         }
                     } else {