Просмотр исходного кода

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

seyason 4 лет назад
Родитель
Сommit
6f90cf1b79

BIN
fhKeeper/formulahousekeeper/timesheet/src/assets/image/hong.png


BIN
fhKeeper/formulahousekeeper/timesheet/src/assets/image/huang.png


BIN
fhKeeper/formulahousekeeper/timesheet/src/assets/image/hui.png


+ 46 - 7
fhKeeper/formulahousekeeper/timesheet/src/views/project/projectInside.vue

@@ -122,15 +122,18 @@
                                                     </el-dropdown-menu>
                                             </el-dropdown>
                                         </div>
-                                        <div v-for="element in stage.taskList" :id="element.id" :key="element.id" class="taskCard" @click="editTask(element)" :style="element.taskStatus==0?'':'background:#eFeFeF;'">
+                                        <div v-for="element in stage.taskList" :id="element.id" :key="element.id" class="taskCard" ref="tasks" @click="editTask(element)" :style="element.taskStatus==0?'':'background:#eFeFeF;'">
                                             <!--任务卡片内容显示 -->
                                             <div>
+                                                <div v-if="element.taskLevel == 2" class="taskImg hong"><img src="../../assets/image/hong.png" alt=""></div>
+                                                <div v-if="element.taskLevel == 1" class="taskImg huang"><img src="../../assets/image/huang.png" alt=""></div>
+                                                <div v-if="element.taskLevel == 0" class="taskImg hui"><img src="../../assets/image/hui.png" alt=""></div>
                                                 <el-checkbox :disabled="element.taskStatus==2 || element.subTaskList.length > element.subTaskFinishNum" :checked="element.taskStatus==1?true:false" size="large" class="cb"  
                                                 @change="finishTask(element)"
                                                 @click.stop.native=""
                                                 ></el-checkbox>
                                                 <el-tooltip class="item" effect="dark" :content="element.name" placement="top">
-                                                <label class="task_name" :style="'background:'+(element.taskStatus==0?'#ffffff;':'#eFeFeF;')">{{element.name}}</label>
+                                                <label class="task_name" :style="'background:'+(element.taskStatus==0?'#ffffff;':'#eFeFeF;')"><span>{{element.name}}</span></label>
                                                 </el-tooltip>
                                                 <span v-if="element.executorName != null" :style="'background:'+element.executorColor" class="user_name_icon">{{element.executorName.length>2?element.executorName.substring(element.executorName.length-2, element.executorName.length):element.executorName}}</span>
                                                 <el-button v-if="element.executorName == null" type="primary" @click.stop.native="addAsMyTask(element)" size="mini" style="float:right;width:38px;padding:5px;">认领</el-button>
@@ -969,14 +972,10 @@ toolbar: 'bold italic underline strikethrough | fontsizeselect | forecolor backc
                 this.title = "编辑任务";
                 this.getTaskDetail(task.id);
                 this.gain(task); // 获取评论列表
-                // this.gengx()
             },  
-            // gengx() {
-            //     var ok = document.getElementById('player');
-            //     console.log(ok,1234);
-            // },
             // 获取评论列表
             gain (task) {
+                console.log(this.stageList, '卡片视图的数据');
                 this.taskId = task.id
                 this.http.post('/task-comment/getList', {taskId: task.id},
                 res => {
@@ -1044,6 +1043,7 @@ toolbar: 'bold italic underline strikethrough | fontsizeselect | forecolor backc
                 this.http.post('/task/getTask',{id: id},
                 res => {
                     if (res.code == "ok") {
+                        console.log(res, '点击卡片视图的数据');
                         this.addForm = res.data;
                         this.addForm.createDate = null;
                         this.addForm.indate = null;
@@ -1103,6 +1103,7 @@ toolbar: 'bold italic underline strikethrough | fontsizeselect | forecolor backc
                 res => {
                     if (res.code == "ok") {
                         this.stageList = res.data;
+                        // console.log(this.stageList[0].taskList, '嘀嘀嘀');
                     } else {
                         this.$message({
                         message: res.msg,
@@ -1675,7 +1676,35 @@ toolbar: 'bold italic underline strikethrough | fontsizeselect | forecolor backc
     border-radius: 3px;
     box-shadow: 3px 3px 3px #e6e6e6;
     min-height:60px;
+    position: relative;
+    border-radius: 3px;
+    overflow: hidden;
+}
+
+.taskImg {
+    position: absolute;
+    box-sizing: border-box;
+    width: 100%;
+    height: 100%;
+    top: 0;
+    left: 0;
 }
+.taskImg img{
+    position: absolute;
+    top: -1px;
+}
+
+.hong:hover {
+    border-top: 1px solid #ff0000;
+}
+
+.huang:hover {
+    border-top: 1px solid #ff9600;
+}
+.hui:hover {
+    border-top: 1px solid #c9c9c9;
+}
+
 .taskCard:hover {
                 cursor: move;
 }
@@ -1719,10 +1748,19 @@ toolbar: 'bold italic underline strikethrough | fontsizeselect | forecolor backc
     color:#262626;
     display:inline-block;
     max-width: 235px;
+    height: 25px;
     overflow: hidden;
     white-space: nowrap;
     text-overflow: ellipsis;
 }
+.task_name span{
+    position: relative;
+    top: 8px;
+}
+.cb {
+    position: relative;
+    top: -2px;
+}
 .group_style {
     border-radius: 5px;margin:2px 0px 2px 0px;height:40px;line-height:40px;
 }
@@ -1795,6 +1833,7 @@ toolbar: 'bold italic underline strikethrough | fontsizeselect | forecolor backc
 }
 .jm {
     margin-left: -500px;
+    
 }
 
 .bj {

+ 17 - 21
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -168,39 +168,30 @@
                         </el-select>
                         <span v-if="reportTimeType.type == 1">小时</span>
 
-                        <!-- 是否加班 -->
-                            <!-- <el-checkbox v-model="domain.isOvertime">加班</el-checkbox> -->
-
-                        <!-- <div class="overtime">
-                            <input type="checkbox" :checked='selected' @click="check">
-                            <span>加班</span>
-                        </div> -->
-                        <!-- /是否加班 -->
-                        
                         <span v-if="reportTimeType.type == 2">
                         <!--时间范围选择 -->
-                        <el-time-select 
+                        <el-time-picker 
                         :disabled="workForm.domains.length==0?true:(workForm.domains[index].state>=2?false:true)"
                             placeholder="起始时间"
                             style="width:120px;"
+                            format="HH:mm"
                             v-model="domain.startTime"
                             :picker-options="{
                             start: '08:00',
-                            step: '00:30',
                             end: '23:30'
                             }">
-                        </el-time-select> - <el-time-select 
+                        </el-time-picker> - <el-time-picker 
                         :disabled="workForm.domains.length==0?true:(workForm.domains[index].state>=2?false:true)"
                             placeholder="结束时间"
                             style="width:120px;"
+                            format="HH:mm"
                             v-model="domain.endTime"
                             :picker-options="{
                             start: '08:00',
-                            step: '00:30',
                             end: '23:30',
                             minTime: domain.startTime
                             }">
-                        </el-time-select>
+                        </el-time-picker>
                         </span>
                         <div class="overtime"><el-checkbox v-model="domain.isOvertime">加班</el-checkbox></div>
                     </el-form-item>
@@ -1074,8 +1065,18 @@
                             } else if (this.reportTimeType.type == 1){
                                 formData.append("workingTime", this.workForm.domains[i].workingTime);
                             } else if (this.reportTimeType.type == 2) {
-                                formData.append("startTime", this.workForm.domains[i].startTime);
-                                formData.append("endTime", this.workForm.domains[i].endTime);
+                                // formData.append("startTime", this.workForm.domains[i].startTime);
+                                // formData.append("endTime", this.workForm.domains[i].endTime);
+                                var e = this.workForm.domains[i].endTime
+                                var s = this.workForm.domains[i].startTime
+                                var endTime = e.getHours() + ':' + e.getMinutes()
+                                this.dayDefault = endTime.split(' ')[1]
+                                formData.append("endTime", endTime);
+
+                                var startTime = s.getHours() + ':' + s.getMinutes()
+                                this.dayDefault = startTime.split(' ')[1]
+                                formData.append("startTime", startTime);
+
                             }
                             
                             
@@ -1086,7 +1087,6 @@
                             }
                             
                             formData.append("createDate", this.workForm.createDate);
-                            console.log(this.workForm.domains[i].isOvertime,123);
                             if(this.workForm.domains[i].isOvertime == undefined ) {
                                 this.workForm.domains[i].isOvertime = '0'
                                 formData.append("isOvertime", this.workForm.domains[i].isOvertime);
@@ -1097,10 +1097,7 @@
                                 this.workForm.domains[i].isOvertime = '1'
                                 formData.append("isOvertime", this.workForm.domains[i].isOvertime);
                             }
-                            // formData.append("isOvertime", this.workForm.domains[i].isOvertime);
                         }
-                        console.log(123,this.workForm);
-                        console.log(formData);
                         this.http.uploadFile( this.port.report.editPort, formData,
                         res => {
                             this.listLoading = false;
@@ -1129,7 +1126,6 @@
                     }
                 });
             },
-
             // 跳转
             junpToDeskTop(id) {
                 let day = this.choseDay > 9 ? "-" + (this.choseDay + 1) : "-0" + (this.choseDay + 1);

+ 30 - 4
fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/index.vue

@@ -50,8 +50,8 @@
                         @cancel="showStartTime = false"
                         :min-hour="8"
                         :max-hour="23"
-                        :filter="filter"
                         />
+                        <!-- :filter="filter" 原本这个属性在里面 -->
                     </van-popup>
                     <van-field v-if="reportTimeType.type == 2" readonly clickable name="datetimePicker" :value="item.endTime" label="结束时间" placeholder="点击选择时间" 
                         @click="showEndTime = true" />
@@ -61,14 +61,22 @@
                         type="time"
                         :min-hour="8"
                         :max-hour="23"
-                        :filter="filter"
                         @confirm="confirmTime(item,1)"
                         @cancel="showEndTime = false"
                         />
+                        <!-- :filter="filter" 原本这个属性在里面 -->
                     </van-popup>
                     <van-field class="form_input" 
                     v-model="item.content" name="content" type="textarea" label="工作事项" placeholder="请输入工作事项" 
                     rows="3" autosize  />
+                    <!-- 单选按钮 -->
+                    <!-- <van-radio-group v-model="isOvertime" direction="horizontal" class="overtime">
+                        <van-radio name="0">不加班</van-radio>
+                        <van-radio name="1">加班</van-radio>
+                    </van-radio-group> -->
+                    <div class="overtime">
+                        <van-checkbox v-model="item.isOvertime">加班</van-checkbox>
+                    </div>
                 </van-cell-group>
             </div>
             <div class="form_btn" style="margin: 16px;">
@@ -129,7 +137,8 @@
                 report: "",
 
                 loading: false,
-                finished: false
+                finished: false,
+                // isOvertime: false
             };
         },
 
@@ -453,8 +462,18 @@
                     } else {
                         formData.append("content", this.form.domains[i].content);
                     }
-                    
                     formData.append("createDate", this.form.createDate);
+
+                    if(this.form.domains[i].isOvertime == undefined ) {
+                        this.form.domains[i].isOvertime = '0'
+                        formData.append("isOvertime", this.form.domains[i].isOvertime);
+                    } else if (this.form.domains[i].isOvertime == false){
+                        this.form.domains[i].isOvertime = '0'
+                        formData.append("isOvertime", this.form.domains[i].isOvertime);
+                    } else {
+                        this.form.domains[i].isOvertime = '1'
+                        formData.append("isOvertime", this.form.domains[i].isOvertime);
+                    }
                 }
                 this.$axios.post("/report/editReport", formData)
                 .then(res => {
@@ -527,6 +546,13 @@
     .van-nav-bar .van-icon , .van-nav-bar__text {
         color: #20a0ff;
     }
+    .overtime {
+        height: 50px;
+        box-sizing: border-box;
+        padding-left: 10px;
+        display: flex;
+        align-items: center;
+    }
 </style>
 
 

+ 21 - 3
fhKeeper/formulahousekeeper/timesheet_h5/src/views/view/index.vue

@@ -9,7 +9,7 @@
             <van-popup v-model="showPicker" position="bottom">
                 <van-datetime-picker v-model="currentDate" type="date" :min-date="minDate" :max-date="maxDate" @confirm="changeTime" @cancel="showPicker = false"/>
             </van-popup>
-            <van-skeleton  v-if="report.length!=0" v-for="(item,index) in report" title avatar :row="3" :loading="false">
+            <van-skeleton  :v-if="report.length!=0" v-for="(item,index) in report" title avatar :row="3" :loading="false" :key="index">
                 <van-panel class="one_report" :title="item.name" :status="statusTxt[item.state]">
                     <div class="form_text">
                         <span style="margin-right:20px;margin-left:5px;font-size:14px;">
@@ -20,11 +20,13 @@
                         </span>
                         <!-- <span>系统智能统计:{{item.calculateTime}}h</span> -->
                     </div>
-                    <div v-for="(item1,index1) in item.data" class="one_report_data">
+                    <div v-for="(item1,index1) in item.data" class="one_report_data" :key="index1">
                         <div class="project_title">项目:{{item1.project}}</div>
                         <div class="project_time">时长:
                             <span v-if="item1.reportTimeType == 0" style="margin-right:10px;">{{fullDayTxt[item1.timeType]}}</span>
-                            <span v-if="item1.reportTimeType == 2" style="margin-right:10px;">{{item1.startTime+'-'+item1.endTime}}</span>{{item1.time}}h</div>
+                            <span v-if="item1.reportTimeType == 2" style="margin-right:10px;">{{item1.startTime+'-'+item1.endTime}}</span>{{item1.time}}h
+                            <div class="button" v-if="item1.isOvertime == 1">加班</div>
+                        </div>
                         <div class="project_content">事项:<span v-html="item1.content"></span></div>
                         <van-divider />
                     </div>
@@ -102,6 +104,7 @@
                     if(res.code == "ok") {
                         toast.clear();
                         this.report = res.data;
+                        console.log(this.report);
                         //计算状态
                         for (var i=0;i<this.report.length; i++) {
                             var item = this.report[i];
@@ -158,4 +161,19 @@
     .van-nav-bar .van-icon , .van-nav-bar__text {
         color: #20a0ff;
     }
+    .button {
+        float: right;
+        width: 50px;
+        height: 25px;
+        line-height: 25px;
+        text-align: center;
+        border: 1px solid red;
+        color: red;
+        box-sizing: border-box;
+        border-radius: 10px;
+        font-size: 14px;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+    }
 </style>

+ 10 - 9
fhKeeper/formulahousekeeper/timesheet_h5/vue.config.js

@@ -3,15 +3,16 @@ const pxtorem = require("postcss-pxtorem");
 const path = require('path');
 const themePath = path.resolve(__dirname,'src/assets/style/theme.less');
 
-var os = require('os'), ip = '', ifaces = os.networkInterfaces() // 获取本机ip
-for (var i in ifaces) {
-    for (var j in ifaces[i]) {
-        var val = ifaces[i][j]
-        if (val.family === 'IPv4' && val.address !== '127.0.0.1') {
-            ip = val.address
-        }
-    }
-}
+var ip = '192.168.2.2'
+// var os = require('os'), ip = '', ifaces = os.networkInterfaces() // 获取本机ip
+// for (var i in ifaces) {
+//     for (var j in ifaces[i]) {
+//         var val = ifaces[i][j]
+//         if (val.family === 'IPv4' && val.address !== '127.0.0.1') {
+//             ip = val.address
+//         }
+//     }
+// }
 
 module.exports = {
     // 关闭eslint检查