From 69a1b3bf45738f048361ee4ccb6bdc64fce35720 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 12 三月 2025 11:31:46 +0800
Subject: [PATCH] 更新

---
 h5/pages/staff/vehicle/apply.vue |  328 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 328 insertions(+), 0 deletions(-)

diff --git a/h5/pages/staff/vehicle/apply.vue b/h5/pages/staff/vehicle/apply.vue
new file mode 100644
index 0000000..d5c0fbf
--- /dev/null
+++ b/h5/pages/staff/vehicle/apply.vue
@@ -0,0 +1,328 @@
+<template>
+  <view class="main_app">
+    <view class="main_wrap">
+      <!--  -->
+      <view class="line">
+        <view class="label">
+          <text>*</text>
+          <text>棰勮鐢ㄨ溅鏃舵</text>
+        </view>
+        <view class="value" @click="goBack">
+          <text class="mr6" :style="{ color: param.startTime ? '#000000' : '#999999' }">
+            <text v-if="param.startTime">
+              {{ param.startTime.slice(5, 16) }}鑷硔{
+                param.endTime.slice(5, 16)
+              }}
+            </text>
+            <text v-else>璇烽�夋嫨</text>
+          </text>
+          <u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
+        </view>
+      </view>
+      <view class="line">
+        <view class="label">
+          <text>*</text>
+          <text>鐢宠杞﹁締</text>
+        </view>
+        <view class="value" @click="goBack">
+          <input type="text" disabled placeholder="璇疯緭鍏ョ敵璇疯溅杈�" v-model="param.carCode"
+            placeholder-style="color: #999999;" />
+        </view>
+      </view>
+      <view class="line">
+        <view class="label">
+          <text>*</text>
+          <text>棰勮鍑哄彂鏃堕棿</text>
+        </view>
+        <view class="value" @click="isShowDatetime = true">
+          <text class="mr6" :style="{ color: param.planUseDate ? '#000000' : '#999999' }">{{ param.planUseDate ?
+            param.planUseDate : "璇烽�夋嫨" }}</text>
+          <u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
+        </view>
+      </view>
+      <view class="empty"></view>
+      <view class="line">
+        <view class="label">
+          <text>*</text>
+          <text>鐩殑鍦扮被鍒�</text>
+        </view>
+        <view class="value">
+          <text>{{ param.type == "1" ? "甯傚" : "甯傚唴" }}</text>
+        </view>
+      </view>
+      <view class="line">
+        <view class="label">
+          <text>*</text>
+          <text>鐩殑鍦�</text>
+        </view>
+        <view class="value">
+          <input type="text" placeholder="璇疯緭鍏�" v-model="param.addr" placeholder-style="color: #999999;" />
+        </view>
+      </view>
+      <view class="line">
+        <view class="label">
+          <text>*</text>
+          <text>涔樿溅浜哄憳</text>
+        </view>
+        <view class="value" @click="selPeople">
+          <text class="mr6" :style="{
+            color:
+              param.memberList && param.memberList.length > 0
+                ? '#000000'
+                : '#999999',
+          }">
+            <text v-if="param.memberNames">
+              <text v-for="(mem, i) in param.memberList" :key="mem.id">
+                <template v-if="i < 2">
+                  <text>{{ mem.realname }}</text>
+                  <text v-if="i < 1 && param.memberList.length > 1">,</text>
+                </template>
+              </text>
+              <text v-if="param.memberList.length > 2">绛墈{ param.memberList.length }}浜�</text>
+            </text>
+            <text v-else>璇烽�夋嫨</text>
+          </text>
+          <u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
+        </view>
+      </view>
+      <view class="upload_line">
+        <view class="label">
+          <text style="color: #e42d2d">*</text>
+          <text>鐢ㄨ溅浜嬬敱</text>
+        </view>
+        <view class="value">
+          <textarea type="text" placeholder="璇疯緭鍏�" :maxlength="-1" v-model="param.content"
+            placeholder-style="color: #999999;" />
+        </view>
+      </view>
+    </view>
+    <view class="tip">
+      <view class="title">娉ㄦ剰浜嬮」锛�</view>
+      <view class="line">1銆佸叕鍙歌溅杈嗗鍑洪渶鍔炵悊鐢ㄨ溅鐢宠琛紝缁忔壒鍑嗗悗鏂瑰彲澶栧嚭锛堝�熷嚭锛夈��</view>
+      <view class="line">2銆佸競澶栫敤杞﹂渶鎬荤粡鍔炲鎵广��</view>
+      <view class="line">3銆佸�熷嚭杞﹁締蹇呴』閬靛畧浜ら�氳鍒欙紝瀹夊叏琛岄┒銆傚浜庤溅杈嗗彂鐢熶氦閫氭剰澶栵紝瀵瑰綋浜嬩汉鍙婄涓夋柟閫犳垚浜鸿韩浼ゅ鍙婃崯澶憋紝鍏徃鍙互鍗忓姪澶勭悊淇濋櫓鍏徃璧斿伩鐩稿叧浜嬪疁锛屼絾涓嶆壙鎷呬换浣曡矗浠诲拰璐圭敤銆�</view>
+      <view class="line">4銆佸叕鍙稿�熺粰鐢宠浜虹敤杞︼紝鐢宠鍊熻溅浜轰负绗竴璐d换浜猴紝涓嶅厑璁歌浆鍊熺粰鍏朵粬浜轰娇鐢紝鑻ヨ鍊熺粰浠栦汉浣跨敤銆傝矗浠讳汉瑕佹壙鎷呭叏閮ㄨ矗浠汇��</view>
+      <view class="sub_btn" @click="handleSub">鎻愪氦</view>
+    </view>
+    <!--  -->
+    <!-- :minDate="new Date(param.startTime).getTime()"
+      :maxDate="new Date(param.endTime).getTime()" -->
+    <u-datetime-picker :show="isShowDatetime" @confirm="confirmDate" :minDate="new Date(param.startTime).getTime()"
+      :maxDate="new Date(param.endTime).getTime()" @cancel="isShowDatetime = false" mode="datetime"></u-datetime-picker>
+  </view>
+</template>
+
+<script>
+import dayjs from 'dayjs'
+import { carUseBookCraete } from '@/api'
+export default {
+  data() {
+    return {
+      param: {},
+      minDate: '',
+      isShowDatetime: false,
+    }
+  },
+  mounted() {
+    this.$eventBus.$on('applePeo', (res) => {
+      this.$set(this.param, 'memberList', res)
+      this.$set(this.param, 'memberIds', res.map(i => i.memberId).join(','))
+      this.$set(this.param, 'memberNames', res.map(i => i.realname).join(','))
+    })
+  },
+	destroyed() {
+		console.log('椤甸潰閿�姣�');
+		// uni.setStorageSync('vehicleAppForm', {})
+	},
+  onLoad(option) {
+		const param = uni.getStorageSync('vehicleAppForm') || {}
+    this.param = { ...param, ...option }
+		console.log(this.param);
+    this.minDate = new Date().getTime()
+    this.param.planUseDate = dayjs(this.param.startTime).format('YYYY-MM-DD HH:mm')
+  },
+  methods: {
+    handleSub() {
+      const { param } = this
+      console.log('---', param)
+      if (!param.planUseDate) return uni.showToast({
+        title: '璇烽�夋嫨棰勮鐢ㄨ溅鏃堕棿',
+        icon: 'none'
+      })
+      if (!param.addr) return uni.showToast({
+        title: '璇疯緭鍏ョ洰鐨勫湴',
+        icon: 'none'
+      })
+      if (!param.memberList || param.memberList.length === 0) return uni.showToast({
+        title: '璇烽�夋嫨涔樿溅浜哄憳',
+        icon: 'none'
+      })
+      if (!param.content) return uni.showToast({
+        title: '璇疯緭鍏ョ敤杞︿簨鐢�',
+        icon: 'none'
+      })
+      carUseBookCraete({
+        ...param,
+      }).then(res => {
+        if (res.code === 200) {
+					uni.setStorageSync('vehicleAppForm', {})
+          setTimeout(() => {
+            uni.showToast({
+              title: '鎻愪氦鎴愬姛',
+              icon: 'success'
+            })
+          })
+          uni.redirectTo({
+            url: '/pages/staff/index'
+          })
+        }
+      })
+    },
+    selPeople() {
+      if (this.param.memberList && this.param.memberList.length > 0) {
+        setTimeout(() => {
+          this.$eventBus.$emit('applePeoDetail', this.param.memberList || [])
+        }, 500)
+      }
+      this.$jump('/pages/staff/vehicle/applePeo')
+    },
+		goBack() {
+			uni.setStorageSync('vehicleAppForm', this.param)
+			this.$goBack()
+		},
+    confirmDate(e) {
+      this.param.planUseDate = dayjs(e.value).format('YYYY-MM-DD HH:mm')
+      this.isShowDatetime = false
+    }
+  }
+}
+</script>
+
+<style lang="scss">
+page {
+  background-color: #f7f7f7;
+}
+
+.main_wrap {
+  .line {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    border-bottom: 1rpx solid #e5e5e5;
+    padding: 30rpx;
+    background-color: #fff;
+    width: 750rpx;
+    margin: 0 -30rpx;
+
+    .label {
+      font-size: 30rpx;
+      font-weight: 400;
+
+      text {
+        &:nth-child(1) {
+          color: #e42d2d;
+          margin-right: 4rpx;
+        }
+      }
+    }
+
+    .value {
+      flex: 1;
+      height: 100%;
+      margin-left: 0rpx;
+      display: flex;
+      align-items: center;
+      justify-content: flex-end;
+
+      input {
+        width: 100%;
+        height: 100%;
+        text-align: right;
+        font-size: 28rpx;
+        font-weight: 400;
+        color: #222222;
+      }
+    }
+  }
+
+  .upload_line {
+    padding: 30rpx;
+    width: 750rpx;
+    margin: 0 -30rpx;
+    background-color: #fff;
+
+    textarea {
+      margin-top: 12rpx;
+      width: 100%;
+      height: 120rpx;
+      font-size: 28rpx;
+      font-weight: 400;
+      color: #222222;
+    }
+
+    .adduser_list_item_ipt1_upload {
+      margin-top: 24rpx;
+      width: 120rpx;
+      height: 120rpx;
+      border: 2rpx solid #e5e5e5;
+      background: #f7f7f7;
+      color: #666666;
+      font-size: 22rpx;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      overflow: hidden;
+
+      image {
+        width: 100%;
+        height: 100%;
+      }
+    }
+  }
+}
+
+.sub_btn {
+  // position: fixed;
+  // bottom: 84rpx;
+  // left: 30rpx;
+  margin-top: 60rpx;
+  width: 690rpx;
+  height: 88rpx;
+  line-height: 88rpx;
+  text-align: center;
+  background: $uni-color-primary;
+  box-shadow: 0rpx -1rpx 0rpx 0rpx #eeeeee;
+  border-radius: 44rpx;
+  font-size: 30rpx;
+  color: #ffffff;
+}
+
+.tip {
+  background: #f7f7f7;
+  padding: 30rpx 30rpx 10rpx;
+  margin: 0 -30rpx;
+
+  .title {
+    line-height: 40rpx;
+    margin-bottom: 22rpx;
+  }
+
+  .line {
+    font-size: 26rpx;
+    color: #666666;
+    line-height: 36rpx;
+  }
+}
+
+.main_app {
+  padding-bottom: 0;
+  // padding-top: 10rpx;
+}
+
+.empty {
+  width: 750rpx;
+  height: 20rpx;
+  background-color: #f7f7f7;
+  margin: 0 -30rpx;
+}
+</style>

--
Gitblit v1.9.3