浏览代码

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

seyason 3 年之前
父节点
当前提交
c367cb2915

+ 5 - 5
fhKeeper/formulahousekeeper/timesheet/src/main.js

@@ -52,11 +52,11 @@ import 'nprogress/nprogress.css'
 
 var addRouFlag = false;
 //角色权限对应关系
-var userModules = [{role:0, modules:["工时报告","专业审核","部门审核","自动计时","费用报销","待办任务", "项目管理"]},
-            {role:3, modules:["工时报告","工时成本统计","项目报表服务","费用报销","待办任务","项目管理"]},
-            {role:4, modules:["工时报告","财务核算成本", "费用报销", "待办任务","组织架构"]},
-            {role:5, modules:["工时报告","自动计时","待办任务","项目管理","专业管理"]},
-            {role:6, modules:["工时报告","工时成本统计","财务核算成本","项目报表服务","费用报销","待办任务","项目管理"]},];
+var userModules = [{role:0, modules:["工时报告","专业审核","部门审核","自动计时","费用报销","待办任务", "项目管理", "请假管理"]},
+            {role:3, modules:["工时报告","工时成本统计","项目报表服务","费用报销","待办任务","项目管理","请假管理"]},
+            {role:4, modules:["工时报告","财务核算成本", "费用报销", "待办任务","组织架构","请假管理"]},
+            {role:5, modules:["工时报告","自动计时","待办任务","项目管理","专业管理","请假管理"]},
+            {role:6, modules:["工时报告","工时成本统计","财务核算成本","项目报表服务","费用报销","待办任务","项目管理","请假管理"]},];
 router.beforeEach((to, from, next) => {
     NProgress.start();
     if (to.path == '/register') {

+ 11 - 0
fhKeeper/formulahousekeeper/timesheet/src/routes.js

@@ -61,6 +61,7 @@ import simpleReport from './views/simplereport/list';
 import tasks from './views/task/list';
 
 // 请假
+import leave from './views/leave/list';
 
 Vue.use(Router)
 
@@ -225,6 +226,16 @@ export const allRouters = [//组织架构
             { path: '/corpreport', component: corpReport, name: '项目报表服务' }
         ]
     },
+    {
+        path: '/',
+        component: Home,
+        name: '请假管理',
+        iconCls: 'iconfont firerock-iconkehuguanli',
+        leaf: true,
+        children: [
+            { path: '/leave', component: leave, name: '请假管理' }
+        ]
+    },
     {
         path: '/',
         component: Home,

+ 795 - 0
fhKeeper/formulahousekeeper/timesheet/src/views/leave/list.vue

@@ -0,0 +1,795 @@
+<template>
+  <section>
+    <div class="sidebars" ref="sidebars" style="width: 200px;display: block;background: #fff">
+      <h3><i class="iconfont firerock-iconbaoxiao" style="padding-right: 10px"></i>请假管理</h3>
+      <el-divider ></el-divider>
+      <el-col :span="12">
+        <el-menu default-active="1-1" class="el-menu-vertical-demo" @select="staffs" background-color="#ffffff" text-color="#666666" active-text-color="#20A0FF" style="width:100%">
+          <el-submenu index="1">
+            <template slot="title">
+              <i class="iconfont firerock-icontianbao"></i>
+              <span>员工请假填报</span>
+            </template>
+              <el-menu-item index="1-1"><p @click="ssl(0)">请事假</p></el-menu-item>
+              <el-menu-item index="1-2"><p @click="ssl(1)">请病假</p></el-menu-item>
+              <el-menu-item index="1-3"><p @click="ssl(2)">请年假</p></el-menu-item>
+              <el-menu-item index="1-4"><p @click="ssl(3)">请产假</p></el-menu-item>
+          </el-submenu>
+          <el-submenu index="2" v-if="user.role != 0">
+            <template slot="title">
+              <i class="iconfont firerock-iconbaoxiaodan"></i>
+              <span>{{user.role == 0?"我的请假单":"请假单列表"}}</span>
+            </template>
+            <el-menu-item index="2-1" ><p @click="bills(false)" >全部</p></el-menu-item>
+            <el-menu-item index="2-2" ><p @click="bills(true)">待核审</p></el-menu-item>
+          </el-submenu>
+            <el-menu-item index="3" @select="bills" @click="bills(false)" v-if="user.role == 0">
+              <i class="iconfont firerock-iconbaoxiaodan"></i>
+              <span slot="title">{{user.role == 0?"我的请假单":"请假单列表"}}</span>
+            </el-menu-item>
+            <el-menu-item index="4">
+              <template slot="title">
+                <i class="iconfont firerock-icontianbao"></i>
+                <span slot="title">请假统计</span>
+              </template>
+          </el-menu-item>
+          </el-menu>
+      </el-col>
+    </div>
+     <!-- 侧边栏点击事件 -->
+      <!-- <div class="side" @click="side" ref="sid" style="left: 430px">
+        <div class="spans" ref="side" style="left: -19px;"><i  ref="sideI" class="el-icon-arrow-left"></i></div>
+      </div> -->
+    <!-- 内容主体区域 -->
+  <div class="contents">
+    <div v-if="!displayTable" class="headine" ref="headine">
+      <h3 ref="headHe" style="padding-left: 220px">{{shuz[ins]}}</h3>
+      <p style="float: right;margin-right: 25px;"><el-button type="primary" @click="submits('addFormRules')" size="mini">提交</el-button></p>
+    </div>
+    <!-- 上面部分 -->
+    <div v-if="!displayTable && apk == false" class="tops">
+        <!-- 公共 -->
+        <div class="ctons">
+            <!-- 表单 -->
+            <el-form ref="addForm" :model="addForm" label-width="80px" :rules="addFormRules">
+                <!-- 请假人 -->
+                <el-form-item label="请假人" prop="ownerId" >
+                    <!--普通员工只能自己填报自己的 -->
+                    <el-select v-model="addForm.ownerId" @change="selts()" placeholder="请选择请假人" style="width: 150px" :disabled="user.role == 0" filterable="true">
+                        <span v-for="(item, index) in users" :key="index">
+                        <el-option :label="item.name" :value="item.id"></el-option>
+                        </span> 
+                    </el-select>
+                </el-form-item>
+                <!-- 电话 -->
+                <el-form-item label="电话" prop="tel">
+                    <el-input v-model="addForm.tel" style="width: 250px" placeholder="请输入手机号"></el-input>
+                </el-form-item>
+                <!-- 单选 -->
+                <el-form-item>
+                    <el-radio-group v-model="addForm.timeType" @change="chanRadio()">
+                        <el-radio label="0">按天请假</el-radio>
+                        <el-radio label="1">按小时请假</el-radio>
+                    </el-radio-group>
+                </el-form-item>
+                <!-- 时间选择 -->
+                <el-form-item :label="flg ? '选择日期' : '选择时间'" style="width: 60%;margin-right:500px">
+                    <el-col :span="11">
+                        <el-date-picker v-if="flg" type="date" placeholder="开始日期" value-format="yyyy-MM-dd" :picker-options="pickerOptionsStart" v-model="addForm.startDate" style="width: 100%;" @blur="datas()"></el-date-picker>
+                        <el-date-picker v-else type="date" placeholder="开始日期" value-format="yyyy-MM-dd" v-model="addForm.startDate" style="width: 100%;" @change="datasss()"></el-date-picker>
+                    </el-col>
+                    <el-col class="line" :span="2">-</el-col>
+                    <el-col :span="11">
+                        <el-date-picker v-if="flg" type="date" placeholder="结束日期" value-format="yyyy-MM-dd" :picker-options="pickerOptionsEnd" v-model="addForm.endDate" style="width: 100%;" @blur="datas()"></el-date-picker>
+                        <!-- <el-select v-else v-model="addForm.timeHours" placeholder="请假时长" @change="chanSele()">
+                            <el-option v-for="(item, index) in options" :key="index" :label="item" :value="item"></el-option>
+                        </el-select> -->
+                    </el-col>
+                </el-form-item>
+                <!-- 请假天数 -->
+                <el-form-item :label="flg ? '请假天数' : '请假时长'" style="margin-right: 500px">
+                   <!-- {{flg ? addForm.timeDays : addForm.timeHours}}{{flg ? '天' : '小时'}} -->
+                   <div v-if="flg">{{addForm.timeDays}} 天</div>
+                   <div v-else>
+                     <el-select  v-model="addForm.timeHours" placeholder="请假时长" @change="chanSele()">
+                        <el-option v-for="(item, index) in options" :key="index" :label="item" :value="item"></el-option>
+                      </el-select>小时
+                   </div>
+                </el-form-item>
+                <!-- 备注 -->
+                <el-form-item label="备注" style="width: 100%">
+                    <el-input type="textarea" v-model="addForm.remark" :rows="5" style="width: 50%"></el-input>
+                </el-form-item>
+            </el-form>
+        </div>
+    </div>
+
+    <!-- 下面部分 -->
+    <div v-if="displayTable && apk == false" class="tops">
+        <!-- 公共 -->
+        <div class="ctons">
+            <el-table v-loading="loading" :data="tableData" style="width: 100%" height="100%">
+                <el-table-column prop="ownerName" label="请假人" width="180"></el-table-column>
+                <el-table-column prop="tel" label="电话" width="180"></el-table-column>
+                <el-table-column prop="leaveType" label="请假类型" width="180">
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.leaveType == 0">事假</div>
+                    <div v-if="scope.row.leaveType == 1">病假</div>
+                    <div v-if="scope.row.leaveType == 2">年假</div>
+                    <div v-if="scope.row.leaveType == 3">产假</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="startDate" label="请假开始时间" width="180"></el-table-column>
+                <el-table-column prop="endDate" label="请假结束时间" width="180"></el-table-column>
+                <el-table-column label="请假天数" width="120">
+                  <template slot-scope="scope">
+                    <div>{{scope.row.timeDays}}天</div>
+                  </template>
+                </el-table-column>
+                <el-table-column label="请假时长" width="120">
+                  <template slot-scope="scope">
+                    <div>{{scope.row.timeHours}}小时</div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="status" label="状态" width="100">
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.status == 0 || scope.row.status == 1 || scope.row.status == 2 || scope.row.status == 3 || scope.row.status == 4">
+                      <div v-if="scope.row.status == 0" >核审通过</div>
+                      <div v-if="scope.row.status == 1" style="color: orange">待核审</div>
+                      <div v-if="scope.row.status == 2" style="color: red">驳回</div>
+                      <div v-if="scope.row.status == 3" style="color: #666666">撤销</div>
+                    </div>
+                    <div v-else>
+                      <span>暂无请假单</span>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="remark" label="备注" width="200">
+                  <template slot-scope="scope">
+                    <!-- <div class="apls">{{scope.row.remark}}</div> -->
+                    <el-popover placement="top-start" title="标题" width="200" trigger="hover" :content="scope.row.remark">
+                      <div slot="reference" class="apls">{{scope.row.remark}}</div>
+                    </el-popover>
+                  </template>
+                </el-table-column>
+                <el-table-column label="操作" width="180" fixed="right" v-if="isAuditList">
+                    <template slot-scope="scope">
+                      <div v-if="user.role != 0">
+                        <el-button type="primary" size="mini" @click.stop.native="approve(scope.row)">通过</el-button>
+                        <el-button type="danger" size="mini"  @click.stop.native="deny(scope.row)">驳回</el-button>
+                      </div>
+                      <div v-else>
+                        <el-button type="danger" size="mini">撤销</el-button>
+                      </div>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <div class="poss">
+                <el-pagination
+                  @size-change="handleSizeChange"
+                  @current-change="handleCurrentChange"
+                  :current-page="currentPage4"
+                  :page-sizes="[20, 50, 100, 200]"
+                  :page-size="20"
+                  layout="total, sizes, prev, pager, next"
+                  :total="total">
+                </el-pagination>
+          </div>
+        </div>
+    </div>
+
+    <!-- 统计部分 -->
+    <div v-if="displayTable && apk" class="tops">
+      <!-- 公共 -->
+        <div class="ctons">
+          <div style="display: flex;align-items: center;">
+            <div style="display: inline-block;width: 350px">
+              <el-input style="float:left;" v-model="keyword" class="input-with-select" placeholder="请输入人员搜索" clearable="true">
+                  <el-button slot="append" @click="statistical" icon="el-icon-search"></el-button>
+              </el-input>
+            </div>
+            <div style="display: inline-block;width: 340px">
+              <span style="display: inline-block;margin: 0 15px 0 20px">开始日期</span>
+              <el-date-picker
+                v-model="statData"
+                type="date"
+                placeholder="选择日期" >
+              </el-date-picker>
+            </div>
+            <div style="display: inline-block;width: 350px">
+              <span style="display: inline-block;margin: 0 15px 0 0">结束日期</span>
+              <el-date-picker
+                v-model="endData"
+                type="date"
+                placeholder="选择日期">
+              </el-date-picker>
+            </div>
+          </div>
+          <div style="margin-top: 30px">
+            <el-table v-loading="loading" :data="statisticalList" height="100%" style="width: 100%">
+              <el-table-column prop="ownerName" label="姓名" width="300">
+                <template slot-scope="scope">
+                    <div v-if="scope.row.ownerName">
+                      {{scope.row.ownerName}}
+                    </div>
+                    <div v-else>
+                      <span>暂无请假统计</span>
+                    </div>
+                  </template>
+              </el-table-column>
+              <el-table-column prop="timeDays" label="请假总天数" width="300">
+                <template slot-scope="scope">
+                    {{scope.row.timeDays}}/天
+                  </template>
+              </el-table-column>
+              <el-table-column prop="timeHours" label="请假总时长">
+                <template slot-scope="scope">
+                    {{scope.row.timeHours}}/小时
+                  </template>
+              </el-table-column>
+            </el-table>
+          </div>
+        </div>
+    </div>
+  </div>
+ 
+  </section>
+</template>
+
+<script>
+export default {
+  name: "expense",
+  components: {},
+  props: {},
+  data() {
+    //验证手机号
+    var checkTel = (rule, value, callback) =>{
+        if (!value) {
+            return callback(new Error('手机号不能为空'));
+        } else {
+            const reg = /^1[3|4|5|7|8][0-9]\d{8}$/
+            if (reg.test(value)) {
+                callback();
+            } else {
+                return callback(new Error('请输入正确的手机号'));
+            }
+        }
+    };
+    return {
+      addFormRules: {
+        ownerId: [{ required: true, message: "请选择报销人", trigger: "blur" }],
+        tel: [{required: true, validator: checkTel, trigger: 'blur'}]
+      },
+      user: JSON.parse(sessionStorage.getItem("user")),
+      shuz: ['事假填报', '病假填报', '年假填报', '产假填报'],
+      ins: 0,
+      addForm: {
+        timeType: '0',
+        startDate: this.getCurrentTime(),
+        endDate: this.getCurrentTime(),
+        timeDays: 1,
+        leaveType: 0,
+        // indate: this.getCurrentTime(),
+        timeHours: '8'
+      },
+      displayTable: false,
+      users: [], // 人员信息
+      flg: true,
+      createDate: '2020-01-01',
+      pickerOptionsStart: {
+        disabledDate: (time) => {
+          if (this.addForm.endDate) {
+            return time.getTime() > new Date(this.addForm.endDate).getTime() || time.getTime() <= new Date(this.createDate).getTime() - 86400000;
+          }
+          return time.getTime() <= new Date(this.createDate).getTime() - 86400000;
+        },
+      },
+      pickerOptionsEnd: {
+          disabledDate: (time) => {
+          if (this.addForm.startDate) {
+              return time.getTime() < new Date(this.addForm.startDate).getTime();
+          }
+          return time.getTime() <= new Date(this.createDate).getTime() - 86400000;
+          },
+      },
+      options: ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'],
+      tableData: [],
+      page: 1,
+      size: 20,
+      isAuditList: '',
+      total:0,
+      apk: false,
+      keyword: '',
+      statData: this.getCurrentTime(),
+      endData: this.getCurrentTime(),
+      statisticalList: [],
+      loading: false
+    };
+  },
+  computed: {},
+  watch: {},
+  created() {},
+
+  mounted() {
+    this.getUsers() // 获取人员信息
+  },
+  filters: {},
+  methods: {
+    approve(item) {
+      //审核通过
+      this.http.post('/leave-sheet/approve', {id:item.id
+        },
+        res => {
+            if (res.code == "ok") {
+                this.bills(true);
+            } else {
+                this.$message({
+                message: res.msg,
+                type: "error"
+                });
+            }
+        },
+        error => {
+            this.$message({
+                message: error,
+                type: "error"
+            });
+        });
+    },
+    deny(item) {
+      //审核驳回
+      this.http.post('/leave-sheet/deny', {id:item.id
+        },
+        res => {
+            if (res.code == "ok") {
+                this.bills(true);
+            } else {
+                this.$message({
+                message: res.msg,
+                type: "error"
+                });
+            }
+        },
+        error => {
+            this.$message({
+                message: error,
+                type: "error"
+            });
+        });
+    },
+    getUsers() {
+      this.http.post(this.port.manage.list, {
+            departmentId: -1,
+            pageIndex: 1,
+            pageSize: 99999
+        },
+        res => {
+            if (res.code == "ok") {
+                this.users = res.data.records;
+                if (this.user.role == 0) {
+                    this.addForm.ownerId = this.user.id;
+                    this.addForm.status = 1;
+                    this.addForm.tel = this.user.phone
+                }
+            } else {
+                this.$message({
+                message: res.msg,
+                type: "error"
+                });
+            }
+        },
+        error => {
+            this.$message({
+                message: error,
+                type: "error"
+            });
+        });
+    },
+    // 员工请假填报点击事件
+    ssl(index) {
+      this.ins = index;
+      this.addForm.leaveType = index
+    },
+    staffs(key, keyPath) {
+      if (keyPath[0] == '1') {
+        this.displayTable = false;
+        this.apk = false
+      } else if(keyPath[0] == '2') {
+        this.displayTable = true;
+        this.apk = false
+      } else {
+        this.displayTable = true;
+        this.apk = true
+        this.statistical()
+      }
+    },
+    bills(audit){
+      this.tableData = []
+      this.displayTable = true;
+      this.isAuditList = audit;
+      this.loading = true
+      var param = {pageIndex: this.page,
+                    pageSize: this.size,
+                    code: '',
+                    createDate: '',
+                    ownerId:'',
+                    type:'',
+                  };
+      if (this.isAuditList) {
+        param.status = 1;
+      }
+      this.list = [];
+      // this.total = 0;
+      this.http.post('/leave-sheet/list', param,
+        res => {
+            if (res.code == "ok") {
+              this.tableData = res.data.records
+              this.total = res.data.total
+              this.loading = false
+            } else {
+              this.loading = false
+                this.$message({
+                message: res.msg,
+                type: "error"
+                });
+            }
+        },
+        error => {
+          this.loading = false
+            this.$message({
+                message: error,
+                type: "error"
+            });
+        });
+    },
+    submits(){
+        this.$refs.addForm.validate(valid => {
+          if (valid) {
+            this.http.post('/leave-sheet/add', this.addForm,
+            res => {
+                if (res.code == "ok") {
+                    this.$message({
+                      message: '填报成功',
+                      type: "success"
+                    });
+                } else {
+                    this.$message({
+                      message: res.msg,
+                      type: "error"
+                    });
+                }
+            },
+            error => {
+                this.$message({
+                    message: error,
+                    type: "error"
+                });
+            });
+          } else {
+            return false;
+          }
+        });
+    },
+    selts() {
+      console.log(this.addForm.ownerId)
+      console.log(this.users)
+      for(var i in this.users) {
+        if(this.users[i].id == this.addForm.ownerId) {
+          this.addForm.tel = this.users[i].phone
+        }
+      }
+    },
+    chanRadio() {
+      console.log(1234)
+      console.log(this.addForm.timeType)
+        if(this.addForm.timeType == '0') {
+            this.flg = true
+            this.addForm.startDate = this.getCurrentTime()
+            this.addForm.endDate = this.getCurrentTime()
+            this.addForm.timeType = '0'
+            this.addForm.timeDays = '1'
+            this.addForm.timeHours = '8'
+        } else {
+            this.flg = false
+            this.addForm.startDate = this.getCurrentTime()
+            this.addForm.endDate = this.getCurrentTime()
+            this.addForm.timeType = '1'
+            this.addForm.timeHours = '1'
+        }
+    },
+    // 计算日期
+    datas() {
+        this.addForm.timeDays = this.DateDiff(this.addForm.startDate, this.addForm.endDate)
+        this.addForm.timeHours = this.addForm.timeDays * 8
+    },
+    datasss() {
+      console.log(123)
+      this.addForm.endDate = this.addForm.startDate
+    },
+    DateDiff(sDate1,  sDate2){
+       var  aDate,  oDate1,  oDate2,  iDays  
+       aDate  =  sDate1.split("-")  
+       oDate1  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])
+       aDate  =  sDate2.split("-")  
+       oDate2  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])  
+       iDays  =  parseInt(Math.abs(oDate1  -  oDate2)  /  1000  /  60  /  60  /24)
+       return  iDays + 1
+    },
+    // 时间
+    getTadeTime() {
+        var time = new Date();
+        return time.getHours() +':00:00'
+    },
+    // 日期
+    getCurrentTime() {
+        var _this = this;
+      let yy = new Date().getFullYear();
+      let mm = new Date().getMonth()+1;
+      let dd = new Date().getDate();
+      _this.gettime = yy+'-'+mm+'-'+dd;
+       return  _this.gettime
+    },
+    chanSele() {
+        this.addForm.timeHours = parseInt(this.addForm.timeHours)
+    },
+    handleSizeChange(val){
+      this.size = val;
+      this.bills()
+    },
+    handleCurrentChange(val){
+      console.log(val, 1, '1')
+      this.page =  val;
+      this.bills()
+    },
+    statistical() {
+      this.loading = true
+      this.http.post('/leave-sheet/summaryData', {
+        keyword: this.keyword,
+        startDate: this.statData,
+        endDate: this.endData
+      },
+        res => {
+            if (res.code == "ok") {
+                this.statisticalList = res.data
+                this.loading = false
+            } else {
+              this.loading = false
+                this.$message({
+                message: res.msg,
+                type: "error"
+                });
+            }
+        },
+        error => {
+            this.$message({
+                message: error,
+                type: "error"
+            });
+        });
+    }
+  }
+};
+</script>
+<style scoped>
+.apls {
+  width: 200px;
+  white-space:nowrap;
+  overflow:hidden;
+  text-overflow:ellipsis;
+}
+.tups {
+  width: 100%;
+  height: 25px;
+  position: relative;
+  z-index: 99;
+  overflow: hidden;
+}
+.tups img {
+  height: 25px !important;
+  position: relative;
+  z-index: 99;
+}
+.viewer-canvas {
+  position: absolute;
+  z-index: 9 !important;
+}
+.icl {
+  margin-top: -25px !important;
+}
+/* 费用报销标题 */
+.headine {
+  width: 100%;
+  height: 46.4px;
+  line-height: 46.4px;
+  background: #fff;
+  box-sizing: border-box;
+}
+.headine h3 {
+  margin: 0;
+  display: inline-block;
+  box-sizing: border-box;
+  color: #999;
+}
+.headine p {
+  display: inline-block;
+  margin: 0;
+}
+/* /费用报销标题 */
+.sidebars {
+  height: 100%;
+  position: absolute;
+  border-right: 1px solid #E6E6E6;
+  z-index: 2;
+  top: 0;
+}
+.sidebars h3 {
+  margin: 0;
+  line-height: 45px;
+  background: #ffffff;
+  font-weight: normal;
+  color: #666;
+  padding-left: 20px;
+}
+.sidebars .el-col-12 {
+  width: 100%
+}
+
+.public {
+  height: 230px;
+  border-bottom: 1px solid #ddd;
+}
+.public .el-form-item {
+ display: inline-block;
+}
+.pu_button {
+  text-align: right;
+  width: 100%;
+  padding: 24px 30px;
+  box-sizing: border-box;
+}
+.pu_bu_x .pu_bu_t {
+  display: inline-block;
+}
+.pu_bu_x {
+  margin-right: 20px;
+  color: #20A0F7;
+  cursor: pointer;
+}
+.pu_bu_t {
+  color: #20A0F7;
+  cursor: pointer;
+  display: block; 
+  float: right; 
+  position: 
+  relative; 
+  top: -20px; 
+  right: 63px;
+}
+.pu_table {
+  margin-left: 10px;
+}
+.pu_bu_t:hover {
+  color: #7bbcff;
+}
+.pu_bu_x:hover {
+  color: #7bbcff;
+}
+
+/* 我的单据报销凭证 */
+.staff{
+  border-left: 1px solid #fff;
+  border-top: 1px solid #fff;
+  border-right: 1px solid #fff;
+  background: #fff;
+}
+
+/*  */
+.sdat{
+    display: inline-block;
+    width: 260px;
+    margin-left: 13px;
+}
+.messages .el-form-item{
+  display: inline-block;
+}
+.messages .el-date-editor.el-input, .el-date-editor.el-input__inner{
+  width: 190px;
+}
+
+/* 我的报销单据 */
+.search {
+  position: relative;
+  top: 20px;
+  left: 20px;
+}
+.tables {
+  margin-top: 50px;
+  box-sizing: border-box;
+  padding: 10px;
+}
+.informant .el-form-item {
+  display: inline-block;
+}
+/* 侧边栏收索 */
+.side {
+  position: absolute;
+  z-index: 2;
+  border-right: 2px solid #DDDDDD;
+  height: 100%;
+  top: 0;
+  width: 0;
+}
+.side .spans {
+  width: 20px;
+  height: 30px;
+  border: 1px solid #DDDDDD;
+  box-sizing: border-box;
+  position: absolute;
+  top: 50%;
+  margin-top: -50%;
+  text-align: center;
+  z-index: 1;
+  background: #fff;
+}
+.side .spans i{
+  margin-top: 7px;
+  color: #C0BFBF
+}
+.side:hover {
+  border-right: 2px solid #20A0FF;
+}
+.side:hover .spans {
+  border: 1px solid #20A0FF;
+  background: #20A0FF;
+}
+.side:hover .spans i{
+  color: #fff;
+}
+
+/* 右边整体页面 */
+.contents {
+  height: 100%;
+  /* padding: 30px; */
+  background: #F7F7F7;
+  /* position: absolute; */
+}
+
+.submits {
+  margin-left: 50%;
+
+}
+.waiting {
+  color:orange;
+}
+.rejected {
+  color:red;
+}
+/* 请假模块 */
+.tops {
+    width: 100%;
+    height:100%;
+    position: absolute;
+    background: #f7f7f7;
+    box-sizing: border-box;
+    padding: 20px 0 0 220px;
+}
+.ctons {
+    width: 86%;
+    height: 92%;
+    background: #fff;
+    padding: 30px 40px;
+    box-sizing: border-box;
+}
+.ctons .el-form-item {
+    display: inline-block;
+}
+.line {
+    text-align: center;
+}
+.poss {
+    position: fixed;
+    bottom: 20px;
+    right: 1%;
+    box-sizing: border-box;
+}
+</style>

+ 12 - 11
fhKeeper/formulahousekeeper/timesheet/src/views/task/list.vue

@@ -809,7 +809,7 @@ import { error } from 'dingtalk-jsapi';
             //选择参与人
             changeParticipator() {
                 //检查是否在参与人中,如果没有需要加入到参与人中
-                console.log(this.addForm.userId);
+                // console.log(this.addForm.userId);
                 var find = false;
                 this.participator = [];
                 this.addForm.userId.forEach(u=>{
@@ -895,7 +895,7 @@ import { error } from 'dingtalk-jsapi';
                             type: "error"
                         });
                     }
-                    console.log(res)
+                    // console.log(res)
                 },
                 error => {
                     this.listLoading = false;
@@ -1062,12 +1062,12 @@ import { error } from 'dingtalk-jsapi';
             switchs(e) {
                 this.idx = e
                 this.page = 1
-                console.log(this.searchField)
+                // console.log(this.searchField)
                 this.getList()
             },
             // 下拉框选择
             hiddens() {
-                console.log(this.searchField)
+                // console.log(this.searchField)
                 this.page = 1
                 this.getList()
             },
@@ -1102,7 +1102,7 @@ import { error } from 'dingtalk-jsapi';
             },
             // 点击任务事件
             editTask(task) {
-                console.log(task)
+                // console.log(task)
                 this.addFormVisible = true;
                 // this.addLoading = false;
                 this.title = "编辑任务";
@@ -1121,7 +1121,7 @@ import { error } from 'dingtalk-jsapi';
                         this.addForm.indate = null;
                         this.addLoading = false;
                         this.recentProgressInfo = this.addForm.progress;
-                        console.log(this.addForm, '看看数据')
+                        // console.log(this.addForm, '看看数据')
                     } else {
                         this.$message({
                         message: res.msg,
@@ -1154,7 +1154,7 @@ import { error } from 'dingtalk-jsapi';
                 );
             },
             getUsers() {
-                console.log(this.port.manage.list)
+                // console.log(this.port.manage.list)
                 this.http.post(this.port.manage.list, {
                     departmentId: -1,
                     pageIndex: 1,
@@ -1473,12 +1473,12 @@ import { error } from 'dingtalk-jsapi';
             },
             //加载项目内的任务列表
             getStageList() {
-                console.log('进来了')
+                // console.log('进来了')
                 this.http.post('/stages/list',{groupId: this.selectedGroup.id, projectId: this.selectedGroup.projectId, order: this.order, isDesc: this.isDesc},
                 res => {
                     if (res.code == "ok") {
                         this.stageList = res.data;
-                        console.log('触发获取任务列表函数')
+                        // console.log('触发获取任务列表函数')
                         this.timess() // 处理时间的方法
                     } else {
                         this.$message({
@@ -1509,7 +1509,8 @@ import { error } from 'dingtalk-jsapi';
                     res => {
                         if (res.code == "ok") {
                             this.addFormVisible = false;
-                            this.getStageList();
+                            // this.getStageList();
+                            this.getList();
                         } else {
                             this.$message({
                             message: res.msg,
@@ -1528,7 +1529,7 @@ import { error } from 'dingtalk-jsapi';
                 
             },
             chan() {
-                console.log(this.critic)
+                // console.log(this.critic)
             }
         },
         created() {