|
@@ -1,82 +1,202 @@
|
|
|
|
|
|
<template>
|
|
|
- <van-form @submit="submitNextActivity" required="true">
|
|
|
+ <flow-form :data="formData" @submit="submitNextActivity">
|
|
|
+ <card title="基础信息">
|
|
|
+ <van-form required="true">
|
|
|
+ <van-cell-group inset>
|
|
|
+ <van-field
|
|
|
+ v-model="formData.userNickname"
|
|
|
+ name="请假人"
|
|
|
+ label="请假人"
|
|
|
+ placeholder="请假人"
|
|
|
+ readonly
|
|
|
+ :rules="[{ required: true, message: '未获取请假人' }]"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="formData.deptName"
|
|
|
+ name="所在部门"
|
|
|
+ label="所在部门"
|
|
|
+ placeholder="所在部门"
|
|
|
+ readonly
|
|
|
+ :rules="[{ required: true, message: '未获取所在部门' }]"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="formData.createTime"
|
|
|
+ name="申请时间"
|
|
|
+ label="申请时间"
|
|
|
+ placeholder="申请时间"
|
|
|
+ readonly
|
|
|
+ :rules="[{ required: true, message: '请填写申请时间' }]"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="formData.leaveType"
|
|
|
+ is-link
|
|
|
+ readonly
|
|
|
+ name="休假类型"
|
|
|
+ label="休假类型"
|
|
|
+ placeholder="点击选择休假类型"
|
|
|
+ :rules="[{ required: true, message: '请选择休假类型' }]"
|
|
|
+ @click="showPicker = true"
|
|
|
+ />
|
|
|
+ <van-popup v-model:show="showPicker" position="bottom">
|
|
|
+ <van-picker
|
|
|
+ :columns="columns"
|
|
|
+ @confirm="onConfirm"
|
|
|
+ @cancel="showPicker = false"
|
|
|
+ />
|
|
|
+ </van-popup>
|
|
|
+ <van-field
|
|
|
+ v-model="formData.leaveDays"
|
|
|
+ name="休假天数"
|
|
|
+ label="休假天数"
|
|
|
+ placeholder="休假天数"
|
|
|
+ readonly
|
|
|
+ :rules="[{ required: true, message: '请填写休假天数' }]"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="formData.leaveReason"
|
|
|
+ name="请假原因"
|
|
|
+ label="请假原因"
|
|
|
+ placeholder="请假原因"
|
|
|
+ type="textarea"
|
|
|
+ rows="3"
|
|
|
+ autosize
|
|
|
+ :rules="[{ required: true, message: '请填写休假原因' }]"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="formData.leaveDays"
|
|
|
+ name="休假天数"
|
|
|
+ label="休假天数"
|
|
|
+ placeholder="休假天数"
|
|
|
+ readonly
|
|
|
+ :rules="[{ required: true, message: '请填写休假天数' }]"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="formData.leaveReason"
|
|
|
+ name="请假原因"
|
|
|
+ label="请假原因"
|
|
|
+ placeholder="请假原因"
|
|
|
+ type="textarea"
|
|
|
+ rows="3"
|
|
|
+ autosize
|
|
|
+ :rules="[{ required: true, message: '请填写休假原因' }]"
|
|
|
+ />
|
|
|
+ </van-cell-group>
|
|
|
+ </van-form>
|
|
|
+ </card>
|
|
|
+ <card title="详情信息">
|
|
|
+ <template #right>
|
|
|
+ <button class="add_btn" @click="popupShow = true">新增</button>
|
|
|
+ </template>
|
|
|
+ <template #default>
|
|
|
+ <van-cell-group inset>
|
|
|
+ <van-field
|
|
|
+ v-model="formData.userNickname"
|
|
|
+ name="请假人"
|
|
|
+ label="请假人"
|
|
|
+ placeholder="请假人"
|
|
|
+ readonly
|
|
|
+ :rules="[{ required: true, message: '未获取请假人' }]"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="formData.deptName"
|
|
|
+ name="所在部门"
|
|
|
+ label="所在部门"
|
|
|
+ placeholder="所在部门"
|
|
|
+ readonly
|
|
|
+ :rules="[{ required: true, message: '未获取所在部门' }]"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="formData.createTime"
|
|
|
+ name="申请时间"
|
|
|
+ label="申请时间"
|
|
|
+ placeholder="申请时间"
|
|
|
+ readonly
|
|
|
+ :rules="[{ required: true, message: '请填写申请时间' }]"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="formData.leaveType"
|
|
|
+ is-link
|
|
|
+ readonly
|
|
|
+ name="休假类型"
|
|
|
+ label="休假类型"
|
|
|
+ placeholder="点击选择休假类型"
|
|
|
+ :rules="[{ required: true, message: '请选择休假类型' }]"
|
|
|
+ @click="showPicker = true"
|
|
|
+ />
|
|
|
+ <van-popup v-model:show="showPicker" position="bottom">
|
|
|
+ <van-picker
|
|
|
+ :columns="columns"
|
|
|
+ @confirm="onConfirm"
|
|
|
+ @cancel="showPicker = false"
|
|
|
+ />
|
|
|
+ </van-popup>
|
|
|
+ <van-field
|
|
|
+ v-model="formData.leaveDays"
|
|
|
+ name="休假天数"
|
|
|
+ label="休假天数"
|
|
|
+ placeholder="休假天数"
|
|
|
+ readonly
|
|
|
+ :rules="[{ required: true, message: '请填写休假天数' }]"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="formData.leaveReason"
|
|
|
+ name="请假原因"
|
|
|
+ label="请假原因"
|
|
|
+ placeholder="请假原因"
|
|
|
+ type="textarea"
|
|
|
+ rows="3"
|
|
|
+ autosize
|
|
|
+ :rules="[{ required: true, message: '请填写休假原因' }]"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="formData.leaveDays"
|
|
|
+ name="休假天数"
|
|
|
+ label="休假天数"
|
|
|
+ placeholder="休假天数"
|
|
|
+ readonly
|
|
|
+ :rules="[{ required: true, message: '请填写休假天数' }]"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="formData.leaveReason"
|
|
|
+ name="请假原因"
|
|
|
+ label="请假原因"
|
|
|
+ placeholder="请假原因"
|
|
|
+ type="textarea"
|
|
|
+ rows="3"
|
|
|
+ autosize
|
|
|
+ :rules="[{ required: true, message: '请填写休假原因' }]"
|
|
|
+ />
|
|
|
+ </van-cell-group>
|
|
|
+ </template>
|
|
|
+ </card>
|
|
|
+ </flow-form>
|
|
|
+ <van-popup class="detail-popup" v-model:show="popupShow" position="bottom">
|
|
|
+ <h4 class="title">详细信息新增</h4>
|
|
|
<van-cell-group inset>
|
|
|
- <van-field
|
|
|
- v-model="formData.userNickname"
|
|
|
- name="请假人"
|
|
|
- label="请假人"
|
|
|
- placeholder="请假人"
|
|
|
- readonly
|
|
|
- :rules="[{ required: true, message: '未获取请假人' }]"
|
|
|
- />
|
|
|
- <van-field
|
|
|
- v-model="formData.deptName"
|
|
|
- name="所在部门"
|
|
|
- label="所在部门"
|
|
|
- placeholder="所在部门"
|
|
|
- readonly
|
|
|
- :rules="[{ required: true, message: '未获取所在部门' }]"
|
|
|
- />
|
|
|
- <van-field
|
|
|
- v-model="formData.createTime"
|
|
|
- name="申请时间"
|
|
|
- label="申请时间"
|
|
|
- placeholder="申请时间"
|
|
|
- readonly
|
|
|
- :rules="[{ required: true, message: '请填写申请时间' }]"
|
|
|
- />
|
|
|
- <van-field
|
|
|
- v-model="formData.leaveType"
|
|
|
- is-link
|
|
|
- readonly
|
|
|
- name="休假类型"
|
|
|
- label="休假类型"
|
|
|
- placeholder="点击选择休假类型"
|
|
|
- :rules="[{ required: true, message: '请选择休假类型' }]"
|
|
|
- @click="showPicker = true"
|
|
|
- />
|
|
|
- <van-popup v-model:show="showPicker" position="bottom">
|
|
|
- <van-picker
|
|
|
- :columns="columns"
|
|
|
- @confirm="onConfirm"
|
|
|
- @cancel="showPicker = false"
|
|
|
+ <date-time-range
|
|
|
+ label="起始时间"
|
|
|
+ v-model="dateTimeRange"
|
|
|
+ placeholder="请选择起始时间"
|
|
|
/>
|
|
|
- </van-popup>
|
|
|
- <van-field
|
|
|
- v-model="formData.leaveDays"
|
|
|
- name="休假天数"
|
|
|
- label="休假天数"
|
|
|
- placeholder="休假天数"
|
|
|
- readonly
|
|
|
- :rules="[{ required: true, message: '请填写休假天数' }]"
|
|
|
- />
|
|
|
- <van-field
|
|
|
- v-model="formData.leaveReason"
|
|
|
- name="请假原因"
|
|
|
- label="请假原因"
|
|
|
- placeholder="请假原因"
|
|
|
- type="textarea"
|
|
|
- rows="3"
|
|
|
- autosize
|
|
|
- :rules="[{ required: true, message: '请填写休假原因' }]"
|
|
|
- />
|
|
|
</van-cell-group>
|
|
|
- <div style="margin: 16px;">
|
|
|
- <van-button round block type="primary" native-type="submit">
|
|
|
- 转件
|
|
|
- </van-button>
|
|
|
+ <div class="fixed-btn">
|
|
|
+ <van-button round block type="primary" @click="saveHandle">
|
|
|
+ 保存
|
|
|
+ </van-button>
|
|
|
</div>
|
|
|
- </van-form>
|
|
|
+ </van-popup>
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
-import { onMounted } from 'vue'
|
|
|
import { useRoute } from 'vue-router';
|
|
|
import { FlowDTO, getNextActivity } from '@/service/flow';
|
|
|
import reqest from "@/utils/request";
|
|
|
+import DateTimeRange from '@/components/dateTimeRange.vue';
|
|
|
+import FlowForm from '@/components/flowForm.vue';
|
|
|
+import Card from '@/components/card.vue';
|
|
|
|
|
|
-
|
|
|
+const popupShow = ref<boolean>(false)
|
|
|
const route = useRoute();
|
|
|
const formData = ref({
|
|
|
instanceId: undefined,
|
|
@@ -89,8 +209,9 @@ const formData = ref({
|
|
|
leaveType: undefined,
|
|
|
leaveDays: undefined,
|
|
|
leaveReason: undefined,
|
|
|
- leaveTimeCreateList: []
|
|
|
+ leaveTimeCreateList: [],
|
|
|
})
|
|
|
+const dateTimeRange = ref(['2025', '02', '30', '09', '30'])
|
|
|
const showPicker = ref(false);
|
|
|
const columns = [
|
|
|
{ text: '事假', value: '11' },
|
|
@@ -148,10 +269,12 @@ const initFormData= async () => {
|
|
|
const result = await reqest.get(`/business/Leave/mobileAdd?flowInstanceId=${flowInstanceId}`)
|
|
|
formData.value = result.data
|
|
|
}
|
|
|
-
|
|
|
+const saveHandle = () => {
|
|
|
+
|
|
|
+}
|
|
|
/** 初始化 */
|
|
|
onMounted(() => {
|
|
|
- initFormData()
|
|
|
+ // initFormData()
|
|
|
})
|
|
|
</script>
|
|
|
|