zhangwencui
2026-04-02 8efd0d1ed41c3b55a8ae13d383bd02e40eea8155
src/views/equipmentManagement/ledger/Form.vue
@@ -1,58 +1,74 @@
<template>
  <el-form :model="form" label-width="100px" :rules="formRules" ref="formRef">
  <el-form :model="form"
           label-width="100px"
           :rules="formRules"
           ref="formRef">
    <el-row :gutter="20">
      <el-col :span="12">
        <el-form-item label="设备名称" prop="deviceName">
          <el-input v-model="form.deviceName" placeholder="请输入设备名称" />
        <el-form-item label="设备名称"
                      prop="deviceName">
          <el-input v-model="form.deviceName"
                    placeholder="请输入设备名称" />
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="规格型号" prop="deviceModel">
          <el-input v-model="form.deviceModel" placeholder="请输入规格型号" />
        <el-form-item label="规格型号"
                      prop="deviceModel">
          <el-input v-model="form.deviceModel"
                    placeholder="请输入规格型号" />
        </el-form-item>
      </el-col>
      <el-col :span="12">
      <!-- <el-col :span="12">
        <el-form-item label="设备品牌" prop="deviceBrand">
          <el-input v-model="form.deviceBrand" placeholder="请输入设备品牌" />
        </el-form-item>
      </el-col>
      </el-col> -->
      <el-col :span="12">
        <el-form-item label="供应商" prop="supplierName">
          <el-input v-model="form.supplierName" placeholder="请输入供应商" />
        <el-form-item label="供应商"
                      prop="supplierName">
          <el-input v-model="form.supplierName"
                    placeholder="请输入供应商" />
        </el-form-item>
      </el-col>
      <el-col :span="12">
      <!-- <el-col :span="12">
        <el-form-item label="存放位置" prop="storageLocation">
          <el-input v-model="form.storageLocation" placeholder="请输入存放位置" />
        </el-form-item>
      </el-col>
      </el-col> -->
      <el-col :span="12">
        <el-form-item label="单位" prop="unit">
          <el-input v-model="form.unit" placeholder="请输入单位" />
        <el-form-item label="单位"
                      prop="unit">
          <el-input v-model="form.unit"
                    placeholder="请输入单位" />
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="数量" prop="number">
          <el-input-number :min="1" style="width: 100%"
        <el-form-item label="数量"
                      prop="number">
          <el-input-number :min="1"
                           style="width: 100%"
            v-model="form.number"
                                  disabled
            placeholder="请输入数量"
          />
                           placeholder="请输入数量" />
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="资产原值" prop="taxIncludingPriceUnit">
          <el-input-number :min="0" style="width: 100%"
        <el-form-item label="资产原值"
                      prop="taxIncludingPriceUnit">
          <el-input-number :min="0"
                           style="width: 100%"
                                        :precision="2"
            v-model="form.taxIncludingPriceUnit"
            placeholder="请输入资产原值"
            maxlength="10"
          />
                           maxlength="10" />
        </el-form-item>
      </el-col>
         <el-col :span="12">
            <el-form-item label="启用折旧" prop="enableDepreciation">
               <el-switch v-model="form.enableDepreciation" :active-value="true" :inactive-value="false" />
        <el-form-item label="启用折旧"
                      prop="enableDepreciation">
          <el-switch v-model="form.enableDepreciation"
                     :active-value="true"
                     :inactive-value="false" />
            </el-form-item>
         </el-col>
      <!-- <el-col :span="12">
@@ -61,29 +77,27 @@
        </el-form-item>
      </el-col> -->
      <el-col :span="12">
        <el-form-item label="录入日期" prop="createTime">
          <el-date-picker
            style="width: 100%"
        <el-form-item label="录入日期"
                      prop="createTime">
          <el-date-picker style="width: 100%"
            v-model="form.createTime"
            format="YYYY-MM-DD"
            value-format="YYYY-MM-DD HH:mm:ss"
            type="date"
            placeholder="请选择录入日期"
            clearable
          />
                          clearable />
        </el-form-item>
      </el-col>
         <el-col :span="12">
            <el-form-item label="预计运行时间" prop="planRuntimeTime">
               <el-date-picker
                  style="width: 100%"
        <el-form-item label="预计运行时间"
                      prop="planRuntimeTime">
          <el-date-picker style="width: 100%"
                  v-model="form.planRuntimeTime"
                  format="YYYY-MM-DD"
                  value-format="YYYY-MM-DD"
                  type="date"
                  placeholder="请选择录入日期"
                  clearable
               />
                          clearable />
            </el-form-item>
         </el-col>
    </el-row>
@@ -101,7 +115,7 @@
  name: "设备台账表单",
});
const formRef = ref(null);
const operationType = ref('');
  const operationType = ref("");
const formRules = {
   deviceName: [{ required: true, trigger: "blur", message: "请输入" }],
   deviceModel: [{ trigger: "blur", message: "请输入" }],
@@ -112,25 +126,25 @@
         required: true,
         trigger: "blur",
         validator: (rule, value, callback) => {
            if (value === undefined || value === null || value === '') {
          if (value === undefined || value === null || value === "") {
               callback(new Error("请输入资产原值"));
            } else if (typeof value === 'number' && value >= 0) {
          } else if (typeof value === "number" && value >= 0) {
               callback();
            } else {
               callback(new Error("请输入有效的资产原值"));
            }
         }
      }
        },
      },
   ],
   planRuntimeTime: [{ trigger: "change", message: "请选择" }],
}
  };
const { form, resetForm } = useFormData({
  deviceName: undefined, // 设备名称
  deviceModel: undefined, // 规格型号
  deviceBrand: undefined, // 设备品牌
    // deviceBrand: undefined, // 设备品牌
  supplierName: undefined, // 供应商
  storageLocation: undefined, // 存放位置
    // storageLocation: undefined, // 存放位置
  enableDepreciation: false, // 是否启用折旧
  unit: undefined, // 单位
  number: 1, // 数量
@@ -140,17 +154,17 @@
   planRuntimeTime: dayjs().format("YYYY-MM-DD"), // 录入日期
});
const loadForm = async (id) => {
  const loadForm = async id => {
   if (id) {
      operationType.value = 'edit'
      operationType.value = "edit";
   }
  const { code, data } = await getLedgerById(id);
  if (code == 200) {
    form.deviceName = data.deviceName;
    form.deviceModel = data.deviceModel;
    form.deviceBrand = data.deviceBrand;
      // form.deviceBrand = data.deviceBrand;
    form.supplierName = data.supplierName;
    form.storageLocation = data.storageLocation;
      // form.storageLocation = data.storageLocation;
    form.enableDepreciation = data.enableDepreciation;
    form.unit = data.unit;
    form.number = 1;
@@ -158,8 +172,6 @@
    form.createTime = data.createTime;
  }
};
// 清除表单校验状态
const clearValidate = () => {