gaoluyang
6 天以前 7a0ffb0048adeda9ebfbca1d0b525eb224c173e3
src/pages/cooperativeOffice/clientVisit/detail.vue
@@ -1,122 +1,107 @@
<template>
  <view class="client-visit">
    <!-- 使用通用页面头部组件 -->
    <PageHeader title="客户拜访登记" @back="goBack" />
  <view class="client-visit-detail">
    <PageHeader title="客户拜访详情" @back="goBack" />
    
    <!-- 签到表单 -->
    <van-form @submit="handleSignIn" ref="formRef" label-width="110px" input-align="right" error-message-align="right">
    <u-form @submit="handleSignIn" ref="formRef" label-width="110" input-align="right" error-message-align="right">
      <!-- 客户信息 -->
      <van-cell-group title="客户信息" inset>
        <van-field
          v-model="form.customerName"
          label="客户名称"
          placeholder="请输入客户名称"
          required
          name="customerName"
          clearable
        />
        <van-field
          v-model="form.contact"
          label="联系人"
          placeholder="请输入联系人"
          name="contact"
          clearable
        />
        <van-field
          v-model="form.contactPhone"
          label="联系电话"
          placeholder="请输入联系电话"
          name="contactPhone"
          clearable
        />
      </van-cell-group>
      <u-cell-group title="客户信息">
        <u-form-item label="客户名称" prop="customerName" required border-bottom>
          <u-input
            v-model="form.customerName"
            placeholder="请输入客户名称"
            readonly
          />
        </u-form-item>
        <u-form-item label="联系人" prop="contactPerson" border-bottom>
          <u-input
            v-model="form.contactPerson"
            placeholder="请输入联系人"
            readonly
          />
        </u-form-item>
        <u-form-item label="联系电话" prop="contactPhone" border-bottom>
          <u-input
            v-model="form.contactPhone"
            placeholder="请输入联系电话"
            readonly
          />
        </u-form-item>
      </u-cell-group>
      <!-- 拜访信息 -->
      <van-cell-group title="拜访信息" inset>
        <van-field
          v-model="form.visitingPeople"
          label="拜访人"
          placeholder="拜访人"
          name="visitingPeople"
          readonly
          clearable
        />
        <van-field
          v-model="form.purposeVisit"
          label="拜访目的"
          placeholder="请输入拜访目的"
          name="purposeVisit"
          required
          clearable
        />
        <van-field
          v-model="form.purposeDate"
          label="拜访时间"
          placeholder="请选择拜访时间"
          name="purposeDate"
          required
          readonly
          @click="showTimePicker"
          clearable
        />
        <van-field
          v-model="form.visitAddress"
          label="当前位置"
          placeholder="点击获取当前位置"
          name="visitAddress"
          :readonly="true"
  :disabled="true"
          type="textarea"
          @click="getCurrentLocation"
          clearable
        >
          <template #right-icon>
            <van-icon name="location-o" @click.stop="getCurrentLocation" class="location-icon" />
          </template>
        </van-field>
      </van-cell-group>
      <u-cell-group title="拜访信息">
        <u-form-item label="拜访目的" prop="visitPurpose" required border-bottom>
          <u-input
            v-model="form.visitPurpose"
            placeholder="请输入拜访目的"
          />
        </u-form-item>
        <u-form-item label="拜访时间" prop="visitTime" required border-bottom>
          <u-input
            v-model="form.visitTime"
            placeholder="请选择拜访时间"
            readonly
            @click="showTimePicker"
          />
        </u-form-item>
        <u-form-item label="拜访地点" prop="visitLocation" required border-bottom>
          <u-input
            v-model="form.visitLocation"
            placeholder="请输入拜访地点"
          >
            <template #suffix>
              <u-icon name="map" @click.stop="getCurrentLocation" class="location-icon" />
            </template>
          </u-input>
        </u-form-item>
      </u-cell-group>
      <!-- 备注信息 -->
      <van-cell-group title="备注信息" inset>
        <van-field
          v-model="form.remark"
          label="备注"
          name="remark"
          type="textarea"
          placeholder="请输入备注信息"
          rows="3"
          autosize
          clearable
        />
      </van-cell-group>
      <u-cell-group title="备注信息">
        <u-form-item label="备注" prop="remark" border-bottom>
          <u-textarea
            v-model="form.remark"
            placeholder="请输入备注信息"
            :maxlength="200"
            count
            :autoHeight="true"
          />
        </u-form-item>
      </u-cell-group>
      <!-- 提交按钮 -->
      <view class="footer-btns">
        <van-button class="cancel-btn" @click="goBack">取消</van-button>
        <van-button class="sign-btn" native-type="submit" form-type="submit" :loading="loading">签到</van-button>
        <u-button class="cancel-btn" @click="goBack">取消</u-button>
        <u-button class="sign-btn" type="primary" @click="handleSignIn" :loading="loading">签到</u-button>
      </view>
    </van-form>
    </u-form>
    <!-- 时间选择器 -->
    <van-popup v-model:show="showTime" position="bottom">
      <van-date-picker
    <u-popup v-model="showTime" mode="bottom">
      <u-datetime-picker
        v-model="currentTime"
        type="datetime"
        title="选择时间"
        @confirm="onTimeConfirm"
        @cancel="showTime = false"
        title="选择拜访时间"
      />
    </van-popup>
    </u-popup>
  </view>
</template>
<script setup>
// 替换 toast 方法
const showToast = (message) => {
  uni.showToast({
    title: message,
    icon: 'none'
  })
}
import { ref, onMounted } from 'vue'
import { onShow } from '@dcloudio/uni-app'
import PageHeader from '@/components/PageHeader.vue'
import { clientVisitSignIn } from '@/api/cooperativeOffice/clientVisit'
import useUserStore from "@/store/modules/user"
import { showToast } from 'vant'
import dayjs from "dayjs"
const userStore = useUserStore()