244 lines
5.4 KiB
Vue
244 lines
5.4 KiB
Vue
|
<template>
|
|||
|
<view class="detail">
|
|||
|
<view class="card">
|
|||
|
<view class="title">查看详细</view>
|
|||
|
<view class="row">
|
|||
|
<label>工作岗位:</label>
|
|||
|
<label>{{detail.postName}}</label>
|
|||
|
</view>
|
|||
|
<view class="row">
|
|||
|
<label>姓名:</label>
|
|||
|
<label>{{detail.stuName}}</label>
|
|||
|
</view>
|
|||
|
<view class="row">
|
|||
|
<label>总工作时长/{{ detail.postType == '固定岗位A' ? '天' : '小时' }}:</label>
|
|||
|
<label>{{detail.totalTime}}</label>
|
|||
|
</view>
|
|||
|
<view class="row">
|
|||
|
<label>部门意见:</label>
|
|||
|
<uni-data-checkbox v-model="detail.deptCmt" :localdata="deptCmt" />
|
|||
|
</view>
|
|||
|
<button @click="doAudit" type="primary" plain>审核</button>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
import {
|
|||
|
CheckImgExists,
|
|||
|
isEmpty
|
|||
|
} from "@/api/helpFunc";
|
|||
|
import {
|
|||
|
baseUrl
|
|||
|
} from "@/config.js";
|
|||
|
import {
|
|||
|
previewImg
|
|||
|
} from "@/utils/uploadImg.js"
|
|||
|
import {
|
|||
|
doAudit,
|
|||
|
} from "@/api/workStudy/money";
|
|||
|
|
|||
|
export default {
|
|||
|
data() {
|
|||
|
return {
|
|||
|
detail: null,
|
|||
|
attachment: [],
|
|||
|
basePath: baseUrl,
|
|||
|
deptCmt: [{
|
|||
|
text: '同意',
|
|||
|
value: '同意'
|
|||
|
}, {
|
|||
|
text: '拒绝',
|
|||
|
value: '拒绝'
|
|||
|
}, {
|
|||
|
text: '驳回',
|
|||
|
value: '驳回'
|
|||
|
}],
|
|||
|
}
|
|||
|
},
|
|||
|
onLoad(option) {
|
|||
|
this.detail = JSON.parse(option.detailData);
|
|||
|
},
|
|||
|
methods: {
|
|||
|
async doAudit() {
|
|||
|
let sdata = {
|
|||
|
...this.detail
|
|||
|
};
|
|||
|
if (isEmpty(sdata.deptCmt)) {
|
|||
|
uni.showToast({
|
|||
|
title: "请选择部门意见",
|
|||
|
icon: "error"
|
|||
|
});
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
uni.showLoading({
|
|||
|
title: "正在提交",
|
|||
|
success: async () => {
|
|||
|
try {
|
|||
|
if (sdata.deptCmt === '驳回') {
|
|||
|
sdata.applyStatus = "11"; // 驳回
|
|||
|
uni.showModal({
|
|||
|
title: '驳回原因',
|
|||
|
content: '',
|
|||
|
editable: true,
|
|||
|
placeholderText: '请填写',
|
|||
|
success: async (res) => {
|
|||
|
if (res.confirm && res.content.trim()) {
|
|||
|
sdata.auditRemark = res.content.trim();
|
|||
|
uni.showLoading({
|
|||
|
title: '处理中...'
|
|||
|
});
|
|||
|
try {
|
|||
|
let response = await doAudit(sdata);
|
|||
|
uni.hideLoading();
|
|||
|
if (response.code === 200) {
|
|||
|
uni.showToast({
|
|||
|
title: "提交成功"
|
|||
|
});
|
|||
|
setTimeout(() => {
|
|||
|
uni.navigateBack({
|
|||
|
success: () => {
|
|||
|
const pages = getCurrentPages();
|
|||
|
if (pages.length > 0) {
|
|||
|
const prevPage = pages[pages.length -
|
|||
|
2]
|
|||
|
console.log(prevPage);
|
|||
|
if (prevPage && typeof prevPage
|
|||
|
.getList ===
|
|||
|
'function') {
|
|||
|
prevPage.queryParams.pageNum = 1;
|
|||
|
prevPage.getList();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
})
|
|||
|
}, 1000)
|
|||
|
}
|
|||
|
} catch (error) {
|
|||
|
uni.hideLoading();
|
|||
|
}
|
|||
|
} else if (res.confirm) {
|
|||
|
uni.showToast({
|
|||
|
title: '请填写驳回原因',
|
|||
|
icon: 'none'
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
} else {
|
|||
|
sdata.applyStatus = sdata.deptCmt === '同意' ? '2' : '10';
|
|||
|
|
|||
|
uni.showLoading({
|
|||
|
title: '处理中...'
|
|||
|
});
|
|||
|
doAudit(sdata).then(response => {
|
|||
|
uni.hideLoading();
|
|||
|
if (response.code === 200) {
|
|||
|
uni.showToast({
|
|||
|
title: "提交成功"
|
|||
|
});
|
|||
|
setTimeout(() => {
|
|||
|
uni.navigateBack({
|
|||
|
success: () => {
|
|||
|
const pages = getCurrentPages();
|
|||
|
if (pages.length > 0) {
|
|||
|
const prevPage = pages[pages.length -
|
|||
|
2]
|
|||
|
console.log(prevPage);
|
|||
|
if (prevPage && typeof prevPage
|
|||
|
.getList ===
|
|||
|
'function') {
|
|||
|
prevPage.queryParams.pageNum = 1;
|
|||
|
prevPage.getList();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
})
|
|||
|
}, 1000)
|
|||
|
}
|
|||
|
}).catch(() => {
|
|||
|
uni.hideLoading();
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
} catch (error) {} finally {
|
|||
|
this.isSubmitting = false;
|
|||
|
}
|
|||
|
}
|
|||
|
})
|
|||
|
// if (!CheckImgExists(this.baseurl + sdata.zdlsSign)) {
|
|||
|
// this.$message.info("签名失效,请重新上传");
|
|||
|
// return;
|
|||
|
// }
|
|||
|
|
|||
|
// let res = await doAudit(sdata);
|
|||
|
// if (res.code == 200) {
|
|||
|
// uni.showToast({
|
|||
|
// title: res.msg,
|
|||
|
// icon: "success"
|
|||
|
// });
|
|||
|
// this.getList();
|
|||
|
// this.lookV = false;
|
|||
|
// }
|
|||
|
},
|
|||
|
previewImg(imgs, index) {
|
|||
|
let images = imgs.map(img => {
|
|||
|
return {
|
|||
|
path: baseUrl + img
|
|||
|
}
|
|||
|
})
|
|||
|
previewImg(images, index);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
</script>
|
|||
|
|
|||
|
<style scoped lang="scss">
|
|||
|
.detail {
|
|||
|
height: calc(100vh - 44px);
|
|||
|
background-color: #F5F5F7;
|
|||
|
padding: 20rpx 30rpx 0;
|
|||
|
|
|||
|
.card {
|
|||
|
margin: 30rpx 0rpx 0;
|
|||
|
padding: 30rpx;
|
|||
|
background-color: white;
|
|||
|
border-radius: 20rpx;
|
|||
|
|
|||
|
.title {
|
|||
|
font-weight: bold;
|
|||
|
color: #202020;
|
|||
|
display: inline-block;
|
|||
|
font-size: 30rpx;
|
|||
|
margin-bottom: 30rpx;
|
|||
|
}
|
|||
|
|
|||
|
.row {
|
|||
|
margin-bottom: 30rpx;
|
|||
|
|
|||
|
&>label:first-child {
|
|||
|
color: #9C9C9C;
|
|||
|
margin-right: 40rpx;
|
|||
|
}
|
|||
|
|
|||
|
.photos {
|
|||
|
margin-top: 10rpx;
|
|||
|
display: flex;
|
|||
|
flex-wrap: wrap;
|
|||
|
|
|||
|
image {
|
|||
|
margin-bottom: 10rpx;
|
|||
|
width: 23.5%;
|
|||
|
border-radius: 8rpx;
|
|||
|
height: 136rpx;
|
|||
|
|
|||
|
&:not(:nth-child(4n)) {
|
|||
|
margin-right: 2%;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
</style>
|