Sfoglia il codice sorgente

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper into master

seyason 3 anni fa
parent
commit
b69345a4d6

+ 10 - 4
fhKeeper/formulahousekeeper/timesheet/src/views/project/detailDep.vue

@@ -7,10 +7,12 @@
                     <el-button type="text" @click="backToList" icon="el-icon-back" class="back">返回</el-button>
                 </el-form-item>
                 <el-form-item class="divLine"></el-form-item>
-                <el-form-item>
-                    <span class="workName">{{detailName}}</span>
-                    <el-cascader v-model="departmentId" placeholder="请选择部门" style="width: 70%;margin-left:10px;" @change="getList"
-                    :options="option" :props="{ checkStrictly: true }" :show-all-levels="false"></el-cascader>
+                <el-form-item style="width: 500px">
+                    <!-- <div class="dipali"> -->
+                        <span class="workName">{{detailName}}</span>
+                        <el-cascader v-model="departmentId" placeholder="请选择部门" style="width: 180px;margin-left:10px;" @change="getList"
+                        :options="option" :props="{ checkStrictly: true }" :show-all-levels="false"></el-cascader>
+                    <!-- </div> -->
                 </el-form-item>
                 <el-form-item style="float:right;">
                     <span style="font-size:18px;">部门成本:<span style="color:#20a0ff;">{{cost.toFixed(2)}}元</span></span>
@@ -299,6 +301,10 @@
         float: left;
         width: 100%;
     }
+    .dipali {
+        display: flex;
+        width: 100%;
+    }
 </style>
 
 <style lang="scss">

+ 76 - 49
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -494,49 +494,13 @@
                     <!-- <el-table-column align="center" v-for="(item, index) in projectList" :key="item.id" :label="item.projectName" width="200"> -->
                     <el-table-column align="center" v-for="item in projectList" :key="item.id" :label="item.projectName" width="200">
                         <template slot-scope="scope">
-                            <!-- <el-input v-model="scope.row[item.projectName]" style="width:120px;" @input="zhoZhi(scope.row, scope.$index)"></el-input> -->
-                            <!-- <el-popover placement="top" width="450" trigger="click">
-                                <div>
-                                    <div class="zhoFel" v-if="reportTimeType.type == 2">
-                                        <p>选择时间</p>
-                                        <el-time-picker style="width: 355px" is-range v-model="scope.row[item.projectName].time" format="HH:mm" value-format="HH:mm" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" placeholder="选择时间范围" @change="zhoTimes(scope.row[item.projectName], scope.$index, index)"></el-time-picker>
-                                    </div>
-                                    <div class="zhoFel" v-if="reportTimeType.type == 1">
-                                        <p>选择时长</p>
-                                        <el-select clearable v-model="scope.row[item.projectName].workingTime" style="width: 355px;" placeholder="请选择工作时长" @change="zhoXuan(scope.row[item.projectName], scope.$index, index)">
-                                            <el-option v-for="item in timeRange" :key="item" :value="item.toFixed(1)">{{item.toFixed(1)}}</el-option>
-                                        </el-select>
-                                    </div>
-                                    <div class="zhoFel" v-if="reportTimeType.type == 3">
-                                        <p>用时占比</p>
-                                        <div style="width:355px;display: flex;align-items: center;">
-                                            <el-col span="23"><el-slider style="margin-left: 5px;width:249px;" v-model="scope.row[item.projectName].progress" :min="0" :show-tooltip="false" :step="10" @input="scope.row[item.projectName].workingTime = (reportTimeType.allday*scope.row[item.projectName].progress/100).toFixed(1)" @change="addBli(scope.row[item.projectName], scope.$index, index)"></el-slider></el-col>
-                                            <el-col span="10"><span style="float:right;"><span style="margin-right:10px;">{{scope.row[item.projectName].progress || 0}}%</span>{{scope.row[item.projectName].workingTime | amounts}}小时</span></el-col>
-                                        </div>
-                                    </div>
-                                    <div class="zhoFel">
-                                        <p>工作事项</p>
-                                        <el-input type="textarea" v-model="scope.row[item.projectName].con" placeholder="请输入工作事项" style="width: 355px" clearable></el-input>
-                                    </div>
-                                </div>
-                                <div v-if="reportTimeType.multiWorktime == 0" slot="reference">
-                                    <el-button v-if="scope.row[item.projectName].workingTime != null && scope.row[item.projectName].workingTime != '' && reportTimeType.type == 3 && scope.row[item.projectName].workingTime > 0" type="text" slot="reference">{{scope.row[item.projectName].workingTime}} h</el-button>
-                                    <el-button v-else-if="scope.row[item.projectName].workingTime != null && scope.row[item.projectName].workingTime != '' && reportTimeType.type == 1 && scope.row[item.projectName].workingTime > 0" type="text" slot="reference">{{scope.row[item.projectName].workingTime}} h</el-button>
-                                    <el-button v-else-if="scope.row[item.projectName].time != null && scope.row[item.projectName].time != '' && reportTimeType.type == 2" type="text" slot="reference">{{scope.row[item.projectName].time[0]}} - {{scope.row[item.projectName].time[1]}}</el-button>
-                                    <el-button v-else type="text" >请填写</el-button>
-                                </div>
-                                <div v-if="reportTimeType.multiWorktime == 1" slot="reference">
-                                    <el-button v-if="scope.row[item.projectName].time != null && scope.row[item.projectName].time != '' && reportTimeType.type == 2" type="text" slot="reference">{{scope.row[item.projectName].time[0]}} - {{scope.row[item.projectName].time[1]}}</el-button>
-                                    <el-button v-else type="text" >请填写</el-button>
-                                </div>
-                            </el-popover> -->
-                            <div v-if="reportTimeType.multiWorktime == 0" slot="reference" @click="tianxies(scope.row[item.projectName], scope.$index, item.projectName)">
+                            <div v-if="reportTimeType.multiWorktime == 0" slot="reference" @click="tianxies(scope.row[item.projectName], scope.$index, item.projectName, workForm.domains)">
                                 <el-button v-if="scope.row[item.projectName].workingTime != null && scope.row[item.projectName].workingTime != '' && reportTimeType.type == 3 && scope.row[item.projectName].workingTime > 0" type="text" slot="reference">{{scope.row[item.projectName].workingTime}} h</el-button>
                                 <el-button v-else-if="scope.row[item.projectName].workingTime != null && scope.row[item.projectName].workingTime != '' && reportTimeType.type == 1 && scope.row[item.projectName].workingTime > 0" type="text" slot="reference">{{scope.row[item.projectName].workingTime}} h</el-button>
                                 <el-button v-else-if="scope.row[item.projectName].time != null && scope.row[item.projectName].time != '' && reportTimeType.type == 2" type="text" slot="reference">{{scope.row[item.projectName].time[0]}} - {{scope.row[item.projectName].time[1]}}</el-button>
                                 <el-button v-else type="text" >请填写</el-button>
                             </div>
-                            <div v-if="reportTimeType.multiWorktime == 1" slot="reference" @click="tianxies(scope.row[item.projectName], scope.$index, item.projectName)">
+                            <div v-if="reportTimeType.multiWorktime == 1" slot="reference" @click="tianxies(scope.row[item.projectName], scope.$index, item.projectName, workForm.domains)">
                                 <el-button v-if="scope.row[item.projectName].time != null && scope.row[item.projectName].time != '' && reportTimeType.type == 2" type="text" slot="reference">{{scope.row[item.projectName].time[0]}} - {{scope.row[item.projectName].time[1]}}</el-button>
                                 <el-button v-else type="text" >请填写</el-button>
                             </div>
@@ -569,6 +533,18 @@
         <!-- 按周填报弹窗 -->
         <el-dialog title="请填写" :visible.sync="tianxieDialogVisible" width="30%" :before-close="handleClose">
             <div>
+                <div class="zhoFel" v-if="zhoBao.subProjectList != null && zhoBao.subProjectList.length> 0">
+                    <p>子项目</p>
+                    <el-select v-model="zhoBao.subProjectId" placeholder="请选择" clearable="true" style="width: 355px">
+                        <el-option v-for="item in zhoBao.subProjectList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+                    </el-select>
+                </div>
+                <div class="zhoFel" v-if="user.company.packageProject == 1 && zhoBao.stages != null && zhoBao.stages.length> 0">
+                    <p>投入阶段</p>
+                    <el-select v-model="zhoBao.stage" placeholder="请选择" style="width: 355px" clearable="true">
+                            <el-option v-for="item in zhoBao.stages" :key="item" :label="item" :value="item"></el-option>
+                    </el-select>
+                </div>
                 <div class="zhoFel" v-if="reportTimeType.type == 2">
                     <p>选择时间</p>
                     <el-time-picker style="width: 355px" is-range v-model="zhoBao.time" format="HH:mm" value-format="HH:mm" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" placeholder="选择时间范围"></el-time-picker>
@@ -975,9 +951,14 @@
                     workingTime: '',
                     progress: '',
                     con: '',
+                    subProjectId: '',
+                    stage: '',
+                    subProjectList: [],
+                    stages: [],
                 },
                 zhoBaoIdx: '',
-                zhoBaoName: ''
+                zhoBaoName: '',
+                zhis: {}
             };
         },
         filters: {
@@ -1604,6 +1585,7 @@
             },
             //项目选中了, 加载子项目
             selectProject(domain, index) {
+                console.log(domain, index, '加载')
                 this.http.post('/sub-project/list',{ 
                     projectId: domain.projectId
                 },
@@ -2547,7 +2529,16 @@
                 
             },
             // 按周填报里内容的填写
-            tianxies(item, i, names) {
+            tianxies(item, i, names, row) {
+                console.log(item, i, names, row[0], '你好')
+                var idd = ''
+                var obj = {}
+                for(var l in this.projectList) {
+                    if(this.projectList[l].projectName == names) idd = this.projectList[l].id
+                }
+                obj.projectId = idd
+                this.selectProject(obj, 0)
+                console.log(this.workForm.domains[0], '打印出来的')
                 this.tianxieDialogVisible = true
                 this.scopess = item
                 var sss = {}
@@ -2555,9 +2546,44 @@
                 sss.progress = item.progress
                 sss.time = item.time
                 sss.workingTime = item.workingTime
-                this.zhoBaoIdx = i
-                this.zhoBaoName = names
-                this.zhoBao = sss
+                var that = this
+                setTimeout(() =>{
+                    if(Object.keys(item).length < 5) {
+                        console.log(456)
+                        sss.subProjectId = that.workForm.domains[0].subProjectId
+                        sss.stage = that.workForm.domains[0].stage
+                        sss.subProjectList = that.workForm.domains[0].subProjectList
+                        sss.stages = that.workForm.domains[0].stages
+                    } else {
+                        console.log(123)
+                        sss.subProjectId = item.subProjectId
+                        sss.stage = item.stage
+                        sss.subProjectList = item.subProjectList
+                        sss.stages = item.stages
+                    }
+                    console.log(sss, '数据')
+                    that.zhoBaoIdx = i
+                    that.zhoBaoName = names
+                    that.zhoBao = sss
+                    that.zhis = row
+                },200);
+                // if(Object.keys(sss).length <= 4) {
+                //     sss.subProjectId = this.workForm.domains[0].subProjectId
+                //     sss.stage = this.workForm.domains[0].stage
+                //     sss.subProjectList = this.workForm.domains[0].subProjectList
+                //     sss.stages = this.workForm.domains[0].stages
+                // } else {
+                //     sss.subProjectId = item.subProjectId
+                //     sss.stage = item.stage
+                //     sss.subProjectList = item.subProjectList
+                //     sss.stages = item.stages
+                // }
+                // console.log(sss, '数据')
+                // this.zhoBaoIdx = i
+                // this.zhoBaoName = names
+                // this.zhoBao = sss
+                // this.zhis = row
+                // this.selectProject(row[0], i)
             },
             // 按周填报里内容的填写点击确定
             btnTianxiaes() {
@@ -2879,7 +2905,7 @@
                                             formData.append("projectId", this.projectList[s].id);
                                         }
                                     }
-                                    formData.append("subProjectId", '0');
+                                    zhoD[j].subProjectId ? formData.append("subProjectId", zhoD[j].subProjectId) : formData.append("subProjectId", '0');
                                     formData.append("taskId", 0);
                                     formData.append("reportTimeType", this.reportTimeType.type);
                                     formData.append("endTime", '');
@@ -2896,7 +2922,7 @@
                                     formData.append("content", zhiZhi)
                                     formData.append("isOvertime", 0)
                                     formData.append("professionProgress", "[]")
-                                    formData.append("stage", "");
+                                    zhoD[j].stage ? formData.append("stage", zhoD[j].stage) : formData.append("stage", '');
                                     formData.append("createDate",zhoD.zhoDataTime)
 
                                 }
@@ -2917,7 +2943,7 @@
                                                 formData.append("projectId", this.projectList[s].id);
                                             }
                                         }
-                                        formData.append("subProjectId", '0');
+                                        zhoD[j].subProjectId ? formData.append("subProjectId", zhoD[j].subProjectId) : formData.append("subProjectId", '0');
                                         formData.append("taskId", 0);
                                         formData.append("reportTimeType", this.reportTimeType.type);
                                         formData.append("endTime", zhoD[j].time[1]);
@@ -2926,7 +2952,7 @@
                                         formData.append("content", zhoD[j].con)
                                         formData.append("isOvertime", 0)
                                         formData.append("professionProgress", "[]")
-                                        formData.append("stage", "");
+                                        zhoD[j].stage ? formData.append("stage", zhoD[j].stage) : formData.append("stage", '');
                                         formData.append("createDate",zhoD.zhoDataTime)
 
                                     }
@@ -2942,7 +2968,8 @@
                                                 formData.append("projectId", this.projectList[s].id);
                                             }
                                         }
-                                        formData.append("subProjectId", '0');
+                                        zhoD[j].subProjectId ? formData.append("subProjectId", zhoD[j].subProjectId) : formData.append("subProjectId", '0')
+                                        // formData.append("subProjectId", zhoD[j].subProjectId);
                                         formData.append("taskId", 0);
                                         formData.append("reportTimeType", this.reportTimeType.type);
                                         if(this.reportTimeType.type == 1) {
@@ -2958,7 +2985,7 @@
                                         formData.append("content", zhoD[j].con)
                                         formData.append("isOvertime", 0)
                                         formData.append("professionProgress", "[]")
-                                        formData.append("stage", "");
+                                        zhoD[j].stage ? formData.append("stage", zhoD[j].stage) : formData.append("stage", '');
                                         formData.append("createDate",zhoD.zhoDataTime)
 
                                     }