Files
ys-app/src/pages/business/CRM/leave/backApply.vue
jiangyanshan fc8a324a9f CRM请假
2025-12-12 15:12:47 +08:00

159 lines
3.6 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="con-body">
<view class="con-bg">
<!-- 头部 -->
<customHeader ref="customHeaderRef" :title="'销假申请'" :leftFlag="true" :rightFlag="true">
</customHeader>
<!-- 高度来避免头部遮挡 -->
<view class="top-height" :style="{ paddingTop: navBarPaddingTop + 'px' }"></view>
<!-- 正文内容 -->
<view class="white-bg">
<view class="tabs-container">
<view class="white-bg-2" v-for="(item, index) in list" :key="index" @click="handleDetail(item)">
<view class="report-list">
<view class="title" style="margin-top: 10rpx;font-size: 30rpx">
{{ item.typeval == '1' ? '全天' : item.typeval == '2' ? '前半个班次' : '后半个班次' }}
<label v-if="item.applyType == '请假'" style="float: right;color: #03aa03;">
{{ item.applyType }}</label>
<label v-if="item.applyType == '销假'" style="float: right;color: #aa9303;">
{{ item.applyType }}</label>
</view>
<view class="apply-row" style="margin-top: 10px;">
<view class="r-left" style="font-size: 15px;font-weight: 500;">
申请日期 {{ item.applyDate }}
</view>
</view>
<view class="r-list">
<view class="r-left">休假日期</view>
<view class="r-right">{{ item.startDate }} {{ item.endDate }}
<label style="color: #03aa03;">
{{ item.days.replace('.0', '') }}</label>
</view>
</view>
<view class="r-list">
<view class="r-left">详细说明</view>
<view v-if="item.reason && item.reason.length <= 18" class="r-right">{{ item.reason }}
</view>
</view>
<view class="r-list" style="margin-top: -30rpx;"
v-if="item.reason && item.reason.length > 18">
<view class="r-right">{{ item.reason }}</view>
</view>
<view class="border-bottom" style="margin: 20rpx 0;"></view>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script setup>
import {
ref,
onMounted
} from 'vue'
import {
onShow
} from '@dcloudio/uni-app'
import customHeader from '@/components/customHeader.vue'
import {
getNavBarPaddingTop
} from '@/utils/system.js'
import {
getBackLeaveList
} from '@/api/crm/activity/activity'
let list = ref([]);
// 获取导航栏高度用于内容区域padding
const navBarPaddingTop = ref(0);
onMounted(() => {
navBarPaddingTop.value = getNavBarPaddingTop() * 2;
getApplyList();
})
onShow(() => {
uni.$on('isRefresh', function () {
getApplyList();
})
})
async function getApplyList() {
let param = {
num: 0,
size: 10
}
let res = await getBackLeaveList(param);
list.value = res.rows;
}
// 跳转到添加申请
let handleDetail = (item) => {
uni.navigateTo({
url: "/pages/business/CRM/leave/addBackApply?data=" + encodeURIComponent(JSON
.stringify(item))
})
}
</script>
<style scoped>
.all-body {
/* #ifdef APP-PLUS */
top: 150rpx;
height: calc(100vh - 75px);
/* #endif */
/* #ifndef APP-PLUS */
top: 120rpx;
height: calc(100vh);
/* #endif */
}
.search {
display: flex;
}
.search .btn-search {
border: none;
background: none;
line-height: normal;
color: #fff;
line-height: 56rpx !important;
padding: 10rpx 0 0;
text-align: left;
cursor: pointer;
}
.search .btn-search::after {
display: none;
}
.search .custom-search {
width: 80%;
}
.search .custom-search.uni-searchbar {
padding-right: 0 !important;
}
.scroll-h {
/* #ifdef APP-PLUS */
height: calc(100vh - 120px);
/* #endif */
/* #ifndef APP-PLUS */
height: calc(100vh - 110px);
/* #endif */
}
.white-bg {
padding-bottom: 10rpx;
}
:deep(.report-list .r-list) {
padding: 0.5rem 0;
}
</style>