116 lines
4.5 KiB
Vue
116 lines
4.5 KiB
Vue
|
<!--
|
|||
|
* @Author: your name
|
|||
|
* @Date: 2024-05-09 19:17:34
|
|||
|
* @LastEditTime: 2024-05-10 20:07:01
|
|||
|
* @LastEditors: Please set LastEditors
|
|||
|
* @Description: In User Settings Edit
|
|||
|
* @FilePath: \zg_web_new\src\views\backOfficeSystem\kqManagement\qxjsp\editAddForm.vue
|
|||
|
-->
|
|||
|
<template>
|
|||
|
<div class="dialog" v-if="dialogForm">
|
|||
|
<div class="head_box">
|
|||
|
<span class="title">详情</span>
|
|||
|
<div>
|
|||
|
<el-button size="small" @click="close">关闭</el-button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="description pd20" v-loading="loading">
|
|||
|
<el-descriptions :column="4" border>
|
|||
|
<el-descriptions-item class-name="my-content" label-class-name="my-label" :span="2" label="申请人">{{data.detail.sqrXm}}</el-descriptions-item>
|
|||
|
<el-descriptions-item class-name="my-content" label-class-name="my-label" :span="2" label="请假类型"><dict-tag :options="D_BZ_QXJLX" :value="data.detail.qjlx" :tag="false" /></el-descriptions-item>
|
|||
|
<el-descriptions-item class-name="my-content" label-class-name="my-label" :span="2" label="审核状态"><dict-tag :options="D_QW_KQ_SHZT" :value="data.detail.kqShzt" :tag="false" /></el-descriptions-item>
|
|||
|
<el-descriptions-item class-name="my-content" label-class-name="my-label" :span="2" label="起止时间">{{data.detail.kssj + ' ~ ' + data.detail.jssj}}</el-descriptions-item>
|
|||
|
<el-descriptions-item class-name="my-content" label-class-name="my-label" :span="4" label="请假原因">{{data.detail.qjyy}}</el-descriptions-item>
|
|||
|
<el-descriptions-item class-name="my-content" label-class-name="my-label" :span="4" label="备注">{{data.detail.bz}}</el-descriptions-item>
|
|||
|
<el-descriptions-item class-name="my-content" label-class-name="my-label" :span="4" label="审批人">
|
|||
|
<div class="flex align-center">
|
|||
|
<div v-for="(item,index) in data.detail.kqShryList" :key="index" class="flex align-center">
|
|||
|
<span>{{item.scryXm}}</span>
|
|||
|
<span class="ml10 flex">(<dict-tag :options="D_QW_KQ_SHZT" :value="item.kqShzt" :tag="false" />)</span>
|
|||
|
<span v-show="item.kqShyj && item.kqShyj !=''">审核意见:({{item.kqShyj}})</span>
|
|||
|
<span class="ml10 mr10" v-show="index < data.detail.kqShryList.length-1">|</span>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</el-descriptions-item>
|
|||
|
<el-descriptions-item class-name="my-content" label-class-name="my-label" :span="4" label="抄送人">
|
|||
|
<div class="flex align-center flex-warp">
|
|||
|
<div v-for="(item,index) in data.detail.kqCsryList" :key="index" class="flex align-center">
|
|||
|
<span>{{item.scryXm}}</span>
|
|||
|
<span class="ml10 mr10" v-show="index < data.detail.kqCsryList.length-1">、</span>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</el-descriptions-item>
|
|||
|
</el-descriptions>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</template>
|
|||
|
|
|||
|
<script setup>
|
|||
|
import * as MOSTY from "@/components/MyComponents/index";
|
|||
|
import { serviceGet, serviceDelete, servicePost } from "@/api/serviceApi.js";
|
|||
|
import { ref,defineExpose, reactive,getCurrentInstance} from 'vue';
|
|||
|
const { proxy } = getCurrentInstance();
|
|||
|
const { D_BZ_QXJLX, D_QW_KQ_SHZT } = proxy.$dict("D_BZ_QXJLX", "D_QW_KQ_SHZT");
|
|||
|
const emits = defineEmits(['updateDate'])
|
|||
|
const props = defineProps({
|
|||
|
dic:{ type:Object, default:{} }
|
|||
|
})
|
|||
|
const title = ref('新增');
|
|||
|
const elform = ref();
|
|||
|
const dialogForm = ref(false); //弹窗显示隐藏
|
|||
|
const loading = ref(false);
|
|||
|
const data = reactive({
|
|||
|
detail:{},
|
|||
|
});
|
|||
|
// 初始化数据
|
|||
|
const init = (type,id)=> {
|
|||
|
dialogForm.value = true;
|
|||
|
getDataById(id) //根据id查询详情
|
|||
|
}
|
|||
|
// 根据id查询详情
|
|||
|
const getDataById = (id)=>{
|
|||
|
loading.value = true;
|
|||
|
serviceGet({},`/mosty-qwzx//tbQwQxj/queryVOById/${id}`).then(res=>{
|
|||
|
data.detail = res;
|
|||
|
loading.value = false;
|
|||
|
})
|
|||
|
}
|
|||
|
// 关闭
|
|||
|
const close = ()=>{
|
|||
|
data.detail={};
|
|||
|
dialogForm.value = false;
|
|||
|
}
|
|||
|
defineExpose({init});
|
|||
|
</script>
|
|||
|
|
|||
|
<style lang='scss' scoped>
|
|||
|
@import "~@/assets/css/layout.scss";
|
|||
|
@import "~@/assets/css/element-plus.scss";
|
|||
|
::v-deep .el-descriptions__table{
|
|||
|
width: 70%;
|
|||
|
margin: 0 auto;
|
|||
|
}
|
|||
|
.description {
|
|||
|
:deep(.my-label) {
|
|||
|
width: 140px;
|
|||
|
height: 40px;
|
|||
|
font-size: 14px;
|
|||
|
font-weight: 400;
|
|||
|
background-color: #fff;
|
|||
|
color: #aaa;
|
|||
|
border-color: #ccc !important;
|
|||
|
}
|
|||
|
:deep(.my-content) {
|
|||
|
font-size: 14px;
|
|||
|
// background-color: #061b33;
|
|||
|
color: #000;
|
|||
|
border-color: #ccc !important;
|
|||
|
}
|
|||
|
.tab-red {
|
|||
|
box-shadow: inset 0 0 10px #ff2323;
|
|||
|
border: 1px solid #ff2323;
|
|||
|
border-radius: 4px;
|
|||
|
margin-right: 6px;
|
|||
|
}
|
|||
|
}
|
|||
|
</style>
|