gaoluyang
2 天以前 4762afb6cb043a3e539ed7ec8da5bde997bfaf65
src/views/officeProcessAutomation/ApproveManage/approve-template/formConfigUtils.js
@@ -13,6 +13,7 @@
  { value: "textarea", label: "多行文本" },
  { value: "number", label: "数字" },
  { value: "date", label: "日期" },
  { value: "datetime", label: "日期时间" },
  { value: "datetimerange", label: "日期时间范围" },
  { value: "select", label: "下拉选择" },
];
@@ -59,6 +60,56 @@
      { key: "dateRange", label: "请假时间", type: "datetimerange", required: true },
    ],
  },
  {
    key: "vehicle",
    label: "车辆审批",
    summaryPlaceholder: "请填写车辆使用申请信息",
    fields: [
      { key: "vehicleNo", label: "车牌号", type: "select", required: true, optionSource: "vehicle_list", placeholder: "请选择车辆" },
      { key: "driver", label: "驾驶员", type: "text", required: true },
      { key: "purpose", label: "用车事由", type: "textarea", required: true, rows: 2 },
      { key: "useDateRange", label: "车辆使用时间", type: "datetimerange", required: true },
      { key: "destination", label: "目的地", type: "text", required: true },
      { key: "passengers", label: "乘车人数", type: "number", required: false, min: 1, precision: 0 },
      { key: "startMileage", label: "起始公里数", type: "number", required: true, min: 0, precision: 1 },
      { key: "startMileagePhoto", label: "起始公里数照片", type: "image", required: false },
      { key: "estimatedEndMileage", label: "预计结束公里数", type: "number", required: false, min: 0, precision: 1 },
      { key: "remark", label: "备注", type: "textarea", required: false, rows: 2 },
    ],
  },
  {
    key: "vehicle_return",
    label: "车辆还车审批",
    summaryPlaceholder: "请填写车辆还车信息",
    fields: [
      { key: "vehicleNo", label: "车牌号", type: "select", required: true, optionSource: "vehicle_list", placeholder: "请选择车辆" },
      { key: "driver", label: "驾驶员", type: "text", required: true },
      { key: "originalApprovalNo", label: "原审批单号", type: "text", required: true },
      { key: "returnDate", label: "还车日期", type: "date", required: true },
      { key: "endMileage", label: "结束公里数", type: "number", required: true, min: 0, precision: 1 },
      { key: "endMileagePhoto", label: "结束公里数照片", type: "image", required: false },
      { key: "actualMileage", label: "实际行驶公里数", type: "number", required: false, min: 0, precision: 1 },
      { key: "extendDays", label: "延期天数", type: "number", required: false, min: 0, precision: 0 },
      { key: "extendReason", label: "延期原因", type: "textarea", required: false, rows: 2 },
      { key: "vehicleStatus", label: "车辆状态", type: "select", required: true, options: [{ label: "完好", value: "good" }, { label: "轻微损坏", value: "minor_damage" }, { label: "需要维修", value: "need_repair" }] },
      { key: "remark", label: "备注", type: "textarea", required: false, rows: 2 },
    ],
  },
  {
    key: "vehicle_extend",
    label: "车辆延期审批",
    summaryPlaceholder: "车辆到期后申请延期使用",
    fields: [
      { key: "vehicleNo", label: "车牌号", type: "select", required: true, optionSource: "vehicle_list", placeholder: "请选择车辆" },
      { key: "driver", label: "驾驶员", type: "text", required: true },
      { key: "originalApprovalNo", label: "原审批单号", type: "text", required: true },
      { key: "originalEndDate", label: "原到期日期", type: "date", required: true },
      { key: "extendDays", label: "延期天数", type: "number", required: true, min: 1, precision: 0 },
      { key: "newEndDate", label: "新到期日期", type: "date", required: true },
      { key: "extendReason", label: "延期原因", type: "textarea", required: true, rows: 3 },
      { key: "remark", label: "备注", type: "textarea", required: false, rows: 2 },
    ],
  },
];
function newFieldUid() {
@@ -88,6 +139,7 @@
  if (dv === undefined || dv === null || dv === "") {
    if (type === "number") return undefined;
    if (type === "datetimerange") return [];
    if (type === "datetime") return "";
    return "";
  }
  if (type === "number") {
@@ -106,6 +158,7 @@
  if (dv === undefined || dv === null) return false;
  if (type === "number") return dv !== "" && !Number.isNaN(Number(dv));
  if (type === "datetimerange") return Array.isArray(dv) && dv.length === 2;
  if (type === "datetime") return String(dv).trim() !== "";
  if (type === "select") return dv !== "";
  return String(dv).trim() !== "";
}
@@ -143,6 +196,7 @@
  if (f.defaultValue === undefined || f.defaultValue === null) {
    if (type === "number") return undefined;
    if (type === "datetimerange") return [];
    if (type === "datetime") return "";
    return "";
  }
  if (type === "datetimerange" && Array.isArray(f.defaultValue)) {