|
@@ -0,0 +1,162 @@
|
|
|
+<template>
|
|
|
+ <view class="ding flex flex-col">
|
|
|
+ <scroll-view
|
|
|
+ scroll-y="true"
|
|
|
+ refresher-enabled="false"
|
|
|
+ class="scroll-Y"
|
|
|
+ >
|
|
|
+ <view class="form-box">
|
|
|
+ <view class="f-item">
|
|
|
+ <view class="label">
|
|
|
+ <text class="title">异常日期:{{ tbDingApply.signDate||'' }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="f-item">
|
|
|
+ <view class="label">
|
|
|
+ <text class="text">补卡类型:{{ tbDingApply.type==='IN'?'签到':'签退' }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="f-item">
|
|
|
+ <view class="label">
|
|
|
+ <text class="red">*</text>
|
|
|
+ <text class="text">补卡时间</text>
|
|
|
+ </view>
|
|
|
+ <DATETIME :config="{}" @change="(time)=>{tbDingApply.applyTime=time}"></DATETIME>
|
|
|
+ </view>
|
|
|
+ <view class="f-item">
|
|
|
+ <view class="label">
|
|
|
+ <text class="text">补卡理由({{ (tbDingApply.reason||'').length }}/200)</text>
|
|
|
+ </view>
|
|
|
+ <u-input v-model="tbDingApply.reason" maxlength="200" type="textarea" :border="true" placeholder="请输入理由" height="200"/>
|
|
|
+ </view>
|
|
|
+ <view class="f-item">
|
|
|
+ <view class="label">
|
|
|
+ <text class="red">*</text>
|
|
|
+ <text class="text">证明附加</text>
|
|
|
+ <text class="sub-text flex">为提高审核通过率,请认真提交证明附件或截图。</text>
|
|
|
+ <UPLOADIMAGE :key="null" :config="{ length: 3, value: [] }" @change="(e)=>tbDingApply.attachmentIdList=e.value.map(e=>e.id)"></UPLOADIMAGE>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </scroll-view>
|
|
|
+ <view class="bottom-space">
|
|
|
+ <u-button type="primary" @click="submit">提交</u-button>
|
|
|
+ </view>
|
|
|
+ <u-toast ref="uToast"/>
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+
|
|
|
+
|
|
|
+import UPLOADIMAGE from "@/components/low-code/UPLOAD_IMAGE.vue";
|
|
|
+import TEXT from "@/components/low-code/TEXT.vue";
|
|
|
+import DATETIME from "@/components/low-code/DATETIME.vue";
|
|
|
+import {dingExceptionSave} from "@/api/ding";
|
|
|
+import {getFlowVersion} from "@/api/common";
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: 'ding-supplement',
|
|
|
+ components: {DATETIME, TEXT, UPLOADIMAGE},
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ loadingFlag: 0,
|
|
|
+ show:false,
|
|
|
+ tbDingApply: {
|
|
|
+ signDate:'',
|
|
|
+ dingId: 0,
|
|
|
+ applyTime: 0,
|
|
|
+ reason: '',
|
|
|
+ attachmentIdList: [],
|
|
|
+ flowDeploymentId: 0,
|
|
|
+ type: ''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.tbDingApply = this.$Route.query;
|
|
|
+ },
|
|
|
+
|
|
|
+ methods: {
|
|
|
+ async submit() {
|
|
|
+ const v= await getFlowVersion({type:'DING_EXCEPTION_FLOW'});
|
|
|
+ this.tbDingApply.flowDeploymentId=v[0].flowDeploymentId;
|
|
|
+ await dingExceptionSave(this.tbDingApply);
|
|
|
+ this.$refs.uToast.show({
|
|
|
+ title: '提交成功',
|
|
|
+ type: 'success'
|
|
|
+ })
|
|
|
+ this.$Router.back(1)
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.ding {
|
|
|
+ //height: calc(100% - 80rpx);
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+.scroll-Y {
|
|
|
+ height: calc(100vh - 184rpx);
|
|
|
+}
|
|
|
+
|
|
|
+.form-box {
|
|
|
+ padding: 12rpx;
|
|
|
+ background: #FFFFFF;
|
|
|
+ border-radius: 6px;
|
|
|
+ margin: 12rpx;
|
|
|
+
|
|
|
+ .f-item {
|
|
|
+ margin-bottom: 30rpx;
|
|
|
+
|
|
|
+ .label {
|
|
|
+ margin-bottom: 4rpx;
|
|
|
+
|
|
|
+ .red {
|
|
|
+ color: red;
|
|
|
+ margin-right: 4rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .title {
|
|
|
+ height: 22px;
|
|
|
+ font-size: 14px;
|
|
|
+ font-family: PingFangSC-Medium, PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #262626;
|
|
|
+ line-height: 22px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .text {
|
|
|
+ height: 22px;
|
|
|
+ font-size: 14px;
|
|
|
+ font-family: PingFangSC-Regular, PingFang SC;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #595959;
|
|
|
+ line-height: 22px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .sub-text {
|
|
|
+ height: 20px;
|
|
|
+ font-size: 12px;
|
|
|
+ font-family: PingFangSC-Regular, PingFang SC;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #FF7D00;
|
|
|
+ line-height: 20px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.bottom-space {
|
|
|
+ height: 88px;
|
|
|
+ background: #FFFFFF;
|
|
|
+ position: absolute;
|
|
|
+ bottom: 0;
|
|
|
+ width: 100%;
|
|
|
+ padding: 24px;
|
|
|
+}
|
|
|
+</style>
|