gaoluyang
6 天以前 7a0ffb0048adeda9ebfbca1d0b525eb224c173e3
src/pages/equipmentManagement/repair/add.vue
@@ -4,83 +4,88 @@
      <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="deviceLedgerId" required>
               <u-input
                  v-model="deviceNameText"
                  placeholder="请选择设备名称"
                  readonly
                  @click="showDevicePicker"
                  clearable
               >
                  <template #suffix>
                     <u-icon name="scan" @click.stop="startScan" class="scan-icon" />
                  </template>
               </u-input>
            </u-form-item>
            <u-form-item label="规格型号">
               <u-input
                  v-model="form.deviceModel"
                  placeholder="请输入规格型号"
                  readonly
                  clearable
               />
            </u-form-item>
            <u-form-item label="报修日期" prop="repairTime" required>
               <u-input
                  v-model="form.repairTime"
                  placeholder="请选择报修日期"
                  readonly
                  @click="showDatePicker"
                  clearable
               />
            </u-form-item>
            <u-form-item label="报修人" prop="repairName" required>
               <u-input
                  v-model="form.repairName"
                  placeholder="请输入报修人"
                  clearable
               />
            </u-form-item>
            <u-form-item label="故障现象" prop="remark" required>
               <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="deviceNameText"
               label="设备名称"
               placeholder="请选择设备名称"
               :rules="formRules.deviceLedgerId"
               required
               readonly
               @click="showDevicePicker"
               clearable
            >
               <template #right-icon>
                  <van-icon name="scan" @click.stop="startScan" class="scan-icon" />
               </template>
            </van-field>
            <van-field
               v-model="form.deviceModel"
               label="规格型号"
               placeholder="请输入规格型号"
               readonly
               clearable
            />
            <van-field
               v-model="form.repairTime"
               label="报修日期"
               placeholder="请选择报修日期"
               :rules="formRules.repairTime"
               required
               readonly
               @click="showDatePicker"
               clearable
            />
            <van-field
               v-model="form.repairName"
               label="报修人"
               placeholder="请输入报修人"
               :rules="formRules.repairName"
               required
               clearable
            />
            <van-field
               v-model="form.remark"
               label="故障现象"
               type="textarea"
               rows="3"
               placeholder="请输入故障现象"
               :rules="formRules.remark"
               required
               clearable
               maxlength="200"
               show-word-limit
            />
         </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="showDevice" mode="bottom">
         <u-picker
            v-model="devicePickerValue"
      <van-popup v-model:show="showDevice" position="bottom">
         <van-picker
            :model-value="devicePickerValue"
            :columns="deviceColumns"
            @confirm="onDeviceConfirm"
            @cancel="showDevice = 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>
@@ -91,16 +96,7 @@
import { getDeviceLedger } from '@/api/equipmentManagement/ledger';
import { addRepair, editRepair, getRepairById } from '@/api/equipmentManagement/repair';
import dayjs from "dayjs";
// 替换 Vant 的 toast
// import { showToast } from 'vant';
// 替换 toast 方法
const showToast = (message) => {
  uni.showToast({
    title: message,
    icon: 'none'
  })
}
import { showToast } from 'vant';
defineOptions({
   name: "设备报修表单",