周宾
2025-12-08 1e26592ce9418c5c9d02d1bba9cbe42170d9895f
src/views/equipmentManagement/ledger/Form.vue
@@ -8,7 +8,7 @@
      </el-col>
      <el-col :span="12">
        <el-form-item label="规格型号" prop="deviceModel">
          <el-input v-model="form.deviceModel" :disabled="(form.deviceModel != null && operationType === 'edit')" placeholder="请输入规格型号" />
          <el-input v-model="form.deviceModel" placeholder="请输入规格型号" />
        </el-form-item>
      </el-col>
      <el-col :span="12">
@@ -32,70 +32,29 @@
        </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>
      </el-col>
      <el-col :span="12">
        <el-form-item label="数量" prop="number">
          <el-input-number :step="0.01" :min="0" style="width: 100%"
          <el-input-number :min="1" style="width: 100%"
            v-model="form.number"
                                  disabled
            placeholder="请输入数量"
            @change="mathNum"
          />
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="含税单价" prop="taxIncludingPriceUnit">
          <el-input-number :step="0.01" :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="请输入含税单价"
            placeholder="请输入资产原值"
            maxlength="10"
            @change="mathNum"
          />
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="含税总价" prop="taxIncludingPriceTotal">
          <el-input
            v-model="form.taxIncludingPriceTotal"
            placeholder="自动生成"
            type="number"
            disabled
          />
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="税率(%)" prop="taxRate">
          <!-- <el-input
            v-model="form.taxRate"
            placeholder="请输入税率"
            type="number"
          >
            <template #append> % </template>
          </el-input> -->
          <el-select
            v-model="form.taxRate"
            placeholder="请选择"
            clearable
            @change="mathNum"
          >
            <el-option label="1" :value="1" />
            <el-option label="6" :value="6" />
            <el-option label="13" :value="13" />
          </el-select>
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="不含税总价" prop="unTaxIncludingPriceTotal">
          <el-input
            v-model="form.unTaxIncludingPriceTotal"
            placeholder="自动生成"
            type="number"
            disabled
          />
        </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>
         </el-col>
      <!-- <el-col :span="12">
        <el-form-item label="录入人" prop="createUser">
          <el-input v-model="form.createUser" placeholder="请输入录入人" />
@@ -114,6 +73,19 @@
          />
        </el-form-item>
      </el-col>
         <el-col :span="12">
            <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
               />
            </el-form-item>
         </el-col>
    </el-row>
  </el-form>
</template>
@@ -123,11 +95,6 @@
// import useUserStore from "@/store/modules/user";
import { getLedgerById } from "@/api/equipmentManagement/ledger";
import dayjs from "dayjs";
import {
  calculateTaxIncludeTotalPrice,
  calculateTaxExclusiveTotalPrice,
} from "@/utils/summarizeTable";
import { ElMessage } from "element-plus";
import {ref} from "vue";
defineOptions({
@@ -137,12 +104,11 @@
const operationType = ref('');
const formRules = {
   deviceName: [{ required: true, trigger: "blur", message: "请输入" }],
   deviceModel: [{ required: true, trigger: "blur", message: "请输入" }],
   supplierName: [{ required: true, trigger: "blur", message: "请输入" }],
   unit: [{ required: true, trigger: "blur", message: "请输入" }],
   number: [{ required: true, trigger: "blur", message: "请输入" }],
   taxIncludingPriceUnit: [{ required: true, trigger: "blur", message: "请输入" }],
   taxRate: [{ required: true, trigger: "change", message: "请输入" }],
   deviceModel: [{ trigger: "blur", message: "请输入" }],
   supplierName: [{ trigger: "blur", message: "请输入" }],
   unit: [{ trigger: "blur", message: "请输入" }],
   taxIncludingPriceUnit: [{ trigger: "blur", message: "请输入" }],
   planRuntimeTime: [{ trigger: "change", message: "请选择" }],
}
const { form, resetForm } = useFormData({
@@ -153,13 +119,11 @@
  storageLocation: undefined, // 存放位置
  enableDepreciation: false, // 是否启用折旧
  unit: undefined, // 单位
  number: undefined, // 数量
  taxIncludingPriceUnit: undefined, // 含税单价
  taxIncludingPriceTotal: undefined, // 含税总价
  taxRate: undefined, // 税率
  unTaxIncludingPriceTotal: undefined, // 不含税总价
  number: 1, // 数量
   taxIncludingPriceUnit: undefined, // 资产原值
  // createUser: useUserStore().nickName, // 录入人
  createTime: dayjs().format("YYYY-MM-DD HH:mm:ss"), // 录入日期
   planRuntimeTime: dayjs().format("YYYY-MM-DD"), // 录入日期
});
const loadForm = async (id) => {
@@ -175,35 +139,13 @@
    form.storageLocation = data.storageLocation;
    form.enableDepreciation = data.enableDepreciation;
    form.unit = data.unit;
    form.number = data.number;
    form.number = 1;
    form.taxIncludingPriceUnit = data.taxIncludingPriceUnit;
    form.taxIncludingPriceTotal = data.taxIncludingPriceTotal;
    form.taxRate = data.taxRate;
    form.unTaxIncludingPriceTotal = data.unTaxIncludingPriceTotal;
    form.createTime = data.createTime;
  }
};
const mathNum = () => {
  if (!form.taxIncludingPriceUnit) {
    ElMessage.error("请输入单价");
    return;
  }
  if (!form.number) {
    ElMessage.error("请输入数量");
    return;
  }
  form.taxIncludingPriceTotal = calculateTaxIncludeTotalPrice(
    form.taxIncludingPriceUnit,
    form.number
  );
  if (form.taxRate) {
    form.unTaxIncludingPriceTotal = calculateTaxExclusiveTotalPrice(
      form.taxIncludingPriceTotal,
      form.taxRate
    );
  }
};
// 清除表单校验状态
const clearValidate = () => {