gaoluyang
6 天以前 7a0ffb0048adeda9ebfbca1d0b525eb224c173e3
src/pages/equipmentManagement/ledger/detail.vue
@@ -1,132 +1,128 @@
<template>
   <view class="equipment-detail">
   <view class="ledger-detail">
      <!-- 使用通用页面头部组件 -->
      <PageHeader title="设备台账详情" @back="goBack" />
      <PageHeader :title="operationType === 'edit' ? '编辑设备台账' : '新增设备台账'" @back="goBack" />
      
      <!-- 表单内容 -->
      <u-form @submit="sendForm" ref="formRef" label-width="110" input-align="right" error-message-align="right">
      <van-form @submit="sendForm" ref="formRef" label-width="110px" input-align="right" error-message-align="right" scroll-to-error scroll-to-error-position="center">
         <!-- 基本信息 -->
         <u-cell-group title="基本信息">
            <u-form-item label="设备名称" prop="deviceName" required border-bottom>
               <u-input
                  v-model="form.deviceName"
                  placeholder="请输入设备名称"
                  clearable
               />
            </u-form-item>
            <u-form-item label="规格型号" prop="deviceModel" required border-bottom>
               <u-input
                  v-model="form.deviceModel"
                  placeholder="请输入规格型号"
                  clearable
               />
            </u-form-item>
            <u-form-item label="设备编号" prop="deviceNumber" required border-bottom>
               <u-input
                  v-model="form.deviceNumber"
                  placeholder="请输入设备编号"
                  clearable
               />
            </u-form-item>
            <u-form-item label="购买日期" prop="purchaseDate" required border-bottom>
               <u-input
                  v-model="form.purchaseDate"
                  placeholder="请选择购买日期"
                  readonly
                  @click="showDatePicker"
                  clearable
               />
            </u-form-item>
            <u-form-item label="购买价格" prop="purchasePrice" required border-bottom>
               <u-input
                  v-model="form.purchasePrice"
                  type="number"
                  placeholder="请输入购买价格"
                  clearable
               />
            </u-form-item>
            <u-form-item label="供应商" prop="supplier" required border-bottom>
               <u-input
                  v-model="form.supplier"
                  placeholder="请输入供应商"
                  clearable
               />
            </u-form-item>
            <u-form-item label="使用部门" prop="department" required border-bottom>
               <u-input
                  v-model="form.department"
                  placeholder="请输入使用部门"
                  clearable
               />
            </u-form-item>
            <u-form-item label="税率" prop="taxRate" required border-bottom>
               <u-input
                  v-model="form.taxRate"
                  placeholder="请选择税率"
                  readonly
                  @click="showTaxRatePicker"
                  clearable
               />
            </u-form-item>
            <u-form-item label="使用状态" prop="status" required border-bottom>
               <u-input
                  v-model="form.status"
                  placeholder="请输入使用状态"
                  clearable
               />
            </u-form-item>
            <u-form-item label="备注" border-bottom>
               <u-textarea
                  v-model="form.remark"
                  placeholder="请输入备注"
                  :maxlength="200"
                  count
                  :autoHeight="true"
               />
            </u-form-item>
         </u-cell-group>
         <van-cell-group title="基本信息" inset>
            <van-field
               v-model="form.deviceName"
               label="设备名称"
               placeholder="请输入设备名称"
               :rules="formRules.deviceName"
               required
               clearable
            />
            <van-field
               v-model="form.deviceModel"
               label="规格型号"
               placeholder="请输入规格型号"
               :readonly="form.deviceModel != null && operationType === 'edit'"
               :rules="formRules.deviceModel"
               required
               clearable
            />
            <van-field
               v-model="form.supplierName"
               label="供应商"
               required
               placeholder="请输入供应商"
               :rules="formRules.supplierName"
               clearable
            />
            <van-field
               v-model="form.unit"
               label="单位"
               required
               placeholder="请输入单位"
               :rules="formRules.unit"
               clearable
            />
            <van-field
               v-model="form.taxRate"
               required
               label="税率(%)"
               placeholder="请选择"
               readonly
               :rules="formRules.taxRate"
               @click="showTaxRatePicker"
               clearable
            />
            <van-field
               v-model="form.number"
               label="数量"
               required
               type="number"
               placeholder="请输入数量"
               :rules="formRules.number"
               @blur="mathNum"
               clearable
            />
            <van-field
               v-model="form.taxIncludingPriceUnit"
               label="含税单价"
               required
               type="number"
               placeholder="请输入含税单价"
               :rules="formRules.taxIncludingPriceUnit"
               @blur="mathNum"
               clearable
            />
            <van-field
               v-model="form.taxIncludingPriceTotal"
               label="含税总价"
               placeholder="自动生成"
               readonly
            />
            <van-field
               v-model="form.unTaxIncludingPriceTotal"
               label="不含税总价"
               placeholder="自动生成"
               readonly
            />
            <van-field
               v-model="form.createTime"
               label="录入日期"
               placeholder="请选择"
               readonly
               @click="showDatePicker"
               required
               clearable
            />
         </van-cell-group>
         
         <!-- 提交按钮 -->
         <view class="footer-btns">
            <u-button class="cancel-btn" @click="goBack">取消</u-button>
            <u-button class="save-btn" type="primary" @click="sendForm" :loading="loading">保存</u-button>
            <van-button class="cancel-btn" @click="goBack">取消</van-button>
            <van-button class="save-btn" native-type="submit" form-type="submit" :loading="loading">保存</van-button>
         </view>
      </u-form>
      </van-form>
      <!-- 税率选择器 -->
      <u-popup v-model="showTaxRate" mode="bottom">
         <u-picker
            v-model="taxRatePickerValue"
      <van-popup v-model:show="showTaxRate" position="bottom">
         <van-picker
            :model-value="taxRatePickerValue"
            :columns="taxRateOptions"
            @confirm="onTaxRateConfirm"
            @cancel="showTaxRate = false"
         />
      </u-popup>
      </van-popup>
      <!-- 日期选择器 -->
      <u-popup v-model="showDate" mode="bottom">
         <u-datetime-picker
      <van-popup v-model:show="showDate" position="bottom">
         <van-date-picker
            v-model="currentDate"
            title="选择日期"
            @confirm="onDateConfirm"
            @cancel="showDate = false"
         />
      </u-popup>
      </van-popup>
   </view>
</template>
<script setup>
// 替换 Vant 的 toast
// import { showToast } from 'vant';
// 替换 toast 方法
const showToast = (message) => {
  uni.showToast({
    title: message,
    icon: 'none'
  })
}
import { ref, computed, onMounted } from 'vue';
import { onShow } from '@dcloudio/uni-app';
import PageHeader from '@/components/PageHeader.vue';