123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 |
- <template>
- <div>
- <common @asynCallBack="asynCallBack"></common>
- <top-header :pageTitle="pageTitle"></top-header>
- <div class="mui-content vongi-qingjiadt">
- <div v-if="detail.picUrl" class="vongi-qingjiadt-head flew-sp">
- <div class="flew-items">
- <div class="flew"><img :src="detail.picUrl" width="50" /></div>
- <h4 v-text="detail.name+' 申请请假 '+detail.leaveTypeN"></h4>
- </div>
- <button class="mui-btn mui-btn-outlined" :class="statusColor[detail.status]" v-text="status[detail.status]">已批准</button>
- <!-- <div class="examine-refuse">已拒绝</div> -->
- </div>
- <form class="mui-input-group">
- <!--<div class="mui-input-row">-->
- <!--<label>身份证号</label>-->
- <!--<span v-text="detail.idCard">420400200002020101</span>-->
- <!--</div>-->
- <div class="mui-input-row" v-if="detail.jobNumber">
- <label>工号</label>
- <span v-text="detail.jobNumber">0201022121001</span>
- </div>
- <div class="mui-input-row" v-if="detail.department">
- <label>部门</label>
- <span v-text="detail.department">信息工程中心</span>
- </div>
- <div class="mui-input-row">
- <label>请假时间</label>
- <span v-if="detail.startTime==detail.endTime&&detail.startTimeQuantum=='0'&&detail.endTimeQuantum=='1'">自{{detail.startTime}}</span>
- <span v-else-if="detail.startTime==detail.endTime">自{{detail.startTime}}{{(detail.startTimeQuantum!=''?(detail.startTimeQuantum=='1'?'下午':'上午'):'')}}</span>
- <span v-else >自{{detail.startTime}}{{(detail.startTimeQuantum!=''?(detail.startTimeQuantum=='1'?'下午':'上午'):'')}}
- <br />至{{detail.endTime}}{{(detail.endTimeQuantum!=''?(detail.endTimeQuantum=='1'?'下午':'上午'):'')}}</span>
- </div>
- <div class="mui-input-row">
- <label>请假时长</label>
- <span v-text="daytime"></span>
- </div>
- <div class="mui-input-row">
- <label>请假事由</label>
- <span v-text="detail.reason">家中有事,需要会老家一趟家中有事,需要会老家一趟家中有事,需要会老家一趟家中有事,需要会老家一趟。</span>
- </div>
- <div class="mui-input-row">
- <label>上传图片</label>
- <span class="vongi-qingjiadt-photo">
- <template v-for="(item,index) in picList">
- <img :src="item" v-viewer />
- </template>
- </span>
- </div>
- <div class="mui-input-row">
- <label>申请时间</label>
- <span v-text="detail.createTime">2020-04-27 12:00:00</span>
- </div>
- </form>
- <div v-if="detail.status==0" class="fyy-scon-botton">
- <div class="examine-btn examine-btn1" @click="openFrom('2','拒绝')">拒绝</div>
- <div class="examine-btn examine-btn2" @click="openFrom('1','同意')">通过</div>
- </div>
- <div v-if="detail.status>0">
- <div class="mui-content-padded">
- <h5>审核记录</h5>
- </div>
- <form class="mui-input-group">
- <div class="mui-input-row">
- <label>审批人</label>
- <span>{{detail.approvedName}}</span>
- </div>
- <div class="mui-input-row">
- <label>审核意见</label>
- <span>{{detail.approvalExplain}}</span>
- </div>
- <div class="mui-input-row">
- <label>审核时间</label>
- <span>{{detail.approvedTime}}</span>
- </div>
- </form>
- </div>
- </div>
- <!-- 审批弹窗 -->
- <div v-show="openFromVisible" @click="openFromVisible=false" class="mui-backdrop mui-active"></div>
- <div v-show="openFromVisible" class="mui-card fyy-popup">
- <div class="mui-card-header mui-h3">审批意见</div>
- <div class="mui-card-content">
- <div class="mui-input-row">
- <textarea v-model="subForm.approvalExplain" rows="5" placeholder="请输入"></textarea>
- </div>
- </div>
- <div class="vongi-btn">
- <button class="mui-btn mui-btn-primary" @click="doAction">提交</button>
- </div>
- </div>
- <loading :visible="isLoading"></loading>
- </div>
- </template>
- <script>
- import * as API_Leave from '@/apis/Master/leave'
- import Common from '$project/components/Common.vue'
- import Loading from '$project/components/Loading.vue'
- import TopHeader from '$project/components/TopHeader.vue'
- import isReachBottom from '$project/utils/isReachBottom'
- import {
- daysDistance
- } from '$project/utils'
- import {
- mapGetters,
- mapMutations
- } from 'vuex'
- export default {
- name: 'MasterAttendanceLeaveInfo',
- components: {
- Common,
- Loading,
- TopHeader
- },
- data() {
- return {
- pageTitle: '请假详情',
- daytime:'',
- isLoading: false,
- id: this.$route.query.id,
- detail: {},
- status: ['待审核', '已批准', '已拒绝'],
- statusColor: ['', 'mui-btn-success', 'mui-btn-danger'],
- selectIndex: [],
- //审批内容弹窗显示
- openFromVisible: false,
- subForm: {
- id: 0,
- status: 0,
- approvalExplain: '', //说明
- },
- }
- },
- created() {
- },
- methods: {
- //info
- getDetail() {
- this.isLoading = true;
- API_Leave.detail({
- id: this.id
- }).then(response => {
- this.detail = response;
- var startTime=this.detail.startTime.replace('年','-').replace('月','-').replace('日','');
- var endTime=this.detail.endTime.replace('年','-').replace('月','-').replace('日','');
- var i= daysDistance(startTime,endTime);
- var day=i+(this.detail.endTimeQuantum-this.detail.startTimeQuantum)*0.5+0.5
- this.daytime=day+'天';
- this.isLoading = false;
- }).catch(error => {
- this.isLoading = false;
- mui.toast(error);
- })
- },
- //显示内容表单
- openFrom(status, val) {
- this.selectIndex = [this.id];
- if (!this.selectIndex.length) {
- mui.toast('请选择要处理的信息');
- } else {
- this.subForm.status = status;
- this.subForm.approvalExplain = val;
- //this.openFromVisible = true;
- //直接点击处理,不需要弹窗理由框
- this.doAction();
- }
- },
- //同意拒绝
- doAction() {
- console.log(this.selectIndex)
- if (this.checkForm()) {
- this.isLoading = true;
- this.subForm.id = this.selectIndex.toString();
- API_Leave.approved(this.subForm).then(response => {
- this.isLoading = false;
- this.openFromVisible = false;
- this.getDetail();
- }).catch(error => {
- this.isLoading = false;
- mui.toast(error);
- })
- }
- },
- //检测表单
- checkForm() {
- if (!this.subForm.approvalExplain) {
- mui.toast('请填写审核意见');
- return false;
- } else {
- return true;
- }
- },
- asynCallBack() {
- },
- },
- mounted() {
- this.getDetail();
- },
- destroyed() {},
- computed: {
- picList: {
- // getter
- get: function() {
- if (this.detail && this.detail.imageUrl) {
- return this.detail.imageUrl.split(',');
- } else {
- return [];
- }
- },
- // setter
- set: function(newValue) {
- console.log(newValue)
- }
- },
- ...mapGetters({
- openId: 'wx_openid',
- token: 'token',
- })
- },
- }
- </script>
- <style scoped src="$project/assets/css/xpwyfyy.css"></style>
- <style>
- </style>
|