Explorar el Código

H5请假页面

chenjun hace 1 año
padre
commit
5d3c2317dc
Se han modificado 1 ficheros con 67 adiciones y 17 borrados
  1. 67 17
      client_h5/src/pages/leave/index.vue

+ 67 - 17
client_h5/src/pages/leave/index.vue

@@ -40,8 +40,10 @@
               />
               <van-popup v-model:show="showPicker" position="bottom">
                 <van-picker
+                  v-model="leaveTypePiker"
                   :columns="columns"
                   @confirm="onConfirm"
+                  @change="onConfirm"
                   @cancel="showPicker = false"
                 />
               </van-popup>
@@ -71,18 +73,19 @@
               <button class="add_btn" @click="popupShow = true">新增</button>
             </template>
             <template #default>
-              <van-swipe-cell>
-                <card-cell>
-                  <van-cell title="单元格" value="内容" />
-                  <van-cell title="单元格" value="内容" />
-                  <van-cell title="单元格" value="内容" />
-                  <van-cell title="单元格" value="内容" />
-                </card-cell>
-                <template #right>
-                  <van-button square type="primary" text="编辑" />
-                  <van-button square type="danger" text="删除" />
-                </template>
-            </van-swipe-cell>
+              <div v-for="item in formData.leaveTimeCreateList" :key="item.id">
+                <van-swipe-cell>
+                  <card-cell>
+                    <van-cell title="起始时间" :value="item.startTime" />
+                    <van-cell title="截止时间" :value="item.endTime" />
+                    <van-cell title="备注" :value="item.bz1" />
+                  </card-cell>
+                  <template #right>
+                    <van-button square type="primary" text="编辑" />
+                    <van-button square type="danger" text="删除" />
+                  </template>
+                </van-swipe-cell> 
+              </div>
             </template>
         </card>
   </flow-form>
@@ -91,9 +94,23 @@
     <van-cell-group inset>
       <date-time-range 
         label="起始时间"
-        v-model="dateTimeRange"
+        v-model="detailData.startTime"
         placeholder="请选择起始时间"
         />
+      <date-time-range 
+        label="截止时间"
+        v-model="detailData.endTime"
+        placeholder="请选择截止时间"
+        />
+      <van-field
+        v-model="detailData.bz1"
+        name="备注"
+        label="备注"
+        placeholder="备注"
+        type="textarea"
+        rows="3"
+        autosize
+      />  
     </van-cell-group>
     <div class="fixed-btn">
       <van-button round block type="primary" @click="saveHandle">
@@ -114,7 +131,23 @@ import CardCell from '@/components/cardCell.vue';
 
 const popupShow = ref<boolean>(false)
 const route = useRoute();
-const formData = ref({
+interface FormDataType {
+  instanceId: string
+  id: string
+  leaveHours: number
+  userNickname: string
+  deptName: string
+  createTime: string
+  leaveNo: string
+  leaveType: number
+  leaveTypeText: string
+  leaveDays: string
+  leaveReason: string
+  leaveTimeCreateList: {
+    text: string
+  }[]
+}
+const formData = ref<FormDataType>({
   instanceId: undefined,
   id: undefined,
   leaveHours: undefined,
@@ -126,9 +159,15 @@ const formData = ref({
   leaveTypeText: undefined,
   leaveDays: undefined,
   leaveReason: undefined,
-  leaveTimeCreateList: [],
+  leaveTimeCreateList: []
 })
-const dateTimeRange = ref("2025-10-02 10:30:00") 
+const detailData = ref({
+  leaveId: '',
+  startTime: '',
+  endTime: '',
+  bz1: ''
+})
+const leaveTypePiker = ref(['11']);
 const showPicker = ref(false);
 const columns = [
       { text: '事假', value: '11' },
@@ -153,6 +192,7 @@ const activityData: FlowDTO = {
 }
 const onConfirm = ({ selectedOptions }) => {
   formData.value.leaveTypeText = selectedOptions[0]?.text;
+  formData.value.leaveType = selectedOptions[0]?.value;
   showPicker.value = false;
 };
 const submitNextActivity = async () => {
@@ -185,9 +225,19 @@ const jsonToFormData = (json: any): FormData | null => {
 const initFormData= async () => {
   const result = await reqest.get(`/business/Leave/mobileAdd?flowInstanceId=${flowInstanceId}`)
   formData.value = result.data
+  leaveTypePiker[0] = result.data.leaveType
 }
 const saveHandle = () => {
-  
+  detailData.value.leaveId = formData.value.id
+  formData.value.leaveTimeCreateList.push(detailData.value)
+  detailData.value = {
+    leaveId: '',
+    startTime: '',
+    endTime: '',
+    bz1: ''
+  }
+  popupShow.value=false
+  console.log(formData)
 }
 /** 初始化 */
 onMounted(() => {