Skip to content
On this page

考察计划

业务模板

创建方式 createMethod

json
{
  "groupCode": "baseForm",
  "fieldType": "select",
  "fieldLabel": "创建方式",
  "fieldName": "createMethod",
  "dictCode": "inspectionPlanCreateMethod",
  "required": "1"
}
js
/**
 * @param {Object} ctx 组件实例
 * @param {String} value 当前所选值
 * @param {Array} data selectModal, remoteSelect 已选行数据 (如有)
 * @param {boolean} _isFill 填充、粘贴操作判断标识
 * @param {Object} row 表行数据 (如有)
 * @param {number} idx 表行索引值 (如有)
 * @param {Object} pageData 页面所有数据
 * @param {Object} layoutConfig 模板配置
 * @param {Object} userInfo 当前登录人信息
 * @param {(groupCode: string, fieldName: string, fn: (item: FormFieldsItem | ColumnItem) => void) => void}
 * customFormatItem 遍历模板分组配置,自定义格式化查询到的字段
 * @param {(groupCode: string, fieldName: string, flag: boolean) => void}
 * setItemRequired 自定义设置字段必填
 * @param {(groupCode: string, fieldName: string, flag: boolean) => void}
 * setItemDisabled 自定义设置字段置灰
 * @param {(groupCode: string, fieldName: string, flag: boolean) => void}
 * setItemRequiredOrDisabled 自定义设置字段必填/置灰
 * @param {() => void} topEmit 用于处理复杂绑定函数需求
 * @param {Constructor} Decimal构造函数, 适用于js小数位数精度计算
 * https://github.com/MikeMcl/decimal.js
 */
function callback(
  ctx,
  {
    value,
    data,
    _isFill,
    row,
    idx,
    pageData,
    layoutConfig,
    userInfo,
    customFormatItem,
    setItemRequired,
    setItemDisabled,
    setItemRequiredOrDisabled,
    topEmit,
    Decimal,
  },
) {
  // 创建方式 ebiddincreateMethodgMethod;
  // 数据字典 inspectionPlanCreateMethod (0: 手动创建, 1: 自动创建);
  /**
   * @description: 业务规则
   * 创建方式 为 手动创建时, 自动执行日期 不可编辑
   * @return {*}
   */
  setItemDisabled("baseForm", "autoExecuteDate", value === "0");
}

对方 ELS 账号 toElsAccount 🎉

json
{
  "groupCode": "inspectionPlanItemList",
  "fieldType": "remoteSelect",
  "title": "对方ELS账号",
  "field": "toElsAccount",
  "required": "1"
}
js
/**
 * @param {Object} ctx 组件实例
 * @param {String} value 当前所选值
 * @param {Array} data selectModal, remoteSelect 已选行数据 (如有)
 * @param {boolean} _isFill 填充、粘贴操作判断标识
 * @param {Object} row 表行数据 (如有)
 * @param {number} idx 表行索引值 (如有)
 * @param {Object} pageData 页面所有数据
 * @param {Object} layoutConfig 模板配置
 * @param {Object} userInfo 当前登录人信息
 * @param {(groupCode: string, fieldName: string, fn: (item: FormFieldsItem | ColumnItem) => void) => void}
 * customFormatItem 遍历模板分组配置,自定义格式化查询到的字段
 * @param {(groupCode: string, fieldName: string, flag: boolean) => void}
 * setItemRequired 自定义设置字段必填
 * @param {(groupCode: string, fieldName: string, flag: boolean) => void}
 * setItemDisabled 自定义设置字段置灰
 * @param {(groupCode: string, fieldName: string, flag: boolean) => void}
 * setItemRequiredOrDisabled 自定义设置字段必填/置灰
 * @param {() => void} topEmit 用于处理复杂绑定函数需求
 * @param {Constructor} Decimal构造函数, 适用于js小数位数精度计算
 * https://github.com/MikeMcl/decimal.js
 */
function callback(
  ctx,
  {
    value,
    data,
    _isFill,
    row,
    idx,
    pageData,
    layoutConfig,
    userInfo,
    customFormatItem,
    setItemRequired,
    setItemDisabled,
    setItemRequiredOrDisabled,
    topEmit,
    Decimal,
  },
) {
  if (data && data.length) {
    const {
      toElsAccount = "",
      supplierName = "",
      supplierCode = "",
      performanceLevel = "",
      supplierStatus = "",
      supplierClassify = "",
    } = data[0] || {};
    row.toElsAccount = toElsAccount;
    row.supplierCode = supplierCode;
    row.supplierName = supplierName;
    row.performanceLevel = performanceLevel;
    row.supplierStatus = supplierStatus;
    row.supplierClassify = supplierClassify;
  }
}
js
{
  modalColumns: [
    {
      field: "toElsAccount",
      title: "供应商ELS账号",
      fieldLabelI18nKey: "i18n_title_supplierELSAccount",
      with: 150,
    },
    {
      field: "supplierName",
      title: "供应商名称",
      fieldLabelI18nKey: "i18n_field_supplierName",
      with: 150,
    },
    {
      field: "supplierCode",
      title: "供应商ERP编码",
      fieldLabelI18nKey: "i18n_field_supplierCode",
      with: 150,
    },
    {
      field: "performanceLevel",
      title: "供应商绩效等级",
      fieldLabelI18nKey: "i18n_field_performanceRate",
      with: 150,
    },
    {
      field: "supplierClassify_dictText",
      title: "供应商分类",
      fieldLabelI18nKey: "i18n_field_supplierClassify",
      with: 150,
    },
    {
      field: "supplierStatus_dictText",
      fieldLabelI18nKey: "i18n_title_supplierState",
      title: "供应商状态",
      width: 200,
    },
  ],
  modalUrl: "/supplier/supplierMaster/list",
  selectModel: "single",
  modalParams: function (Vue, form, obj) {
    return {
      frozenFunctionValue: "3",
      purchaseOrg: form.purchaseOrg,
    };
  },
  mobileModalParams(Vue, { _pageData, _cacheAllData }) {
    return {
      frozenFunctionValue: "3",
    };
  },
  params({ pageData, userInfo }) {
    return {
      frozenFunctionValue: "3",
      purchaseOrg: pageData.purchaseOrg,
    };
  },
}

考察标准 inspectionStandardName 🎉

json
{
  "groupCode": "inspectionPlanItemList",
  "fieldType": "remoteSelect",
  "title": "考察标准",
  "field": "inspectionStandardName",
  "required": "0"
}
js
/**
 * @param {Object} ctx 组件实例
 * @param {String} value 当前所选值
 * @param {Array} data selectModal, remoteSelect 已选行数据 (如有)
 * @param {boolean} _isFill 填充、粘贴操作判断标识
 * @param {Object} row 表行数据 (如有)
 * @param {number} idx 表行索引值 (如有)
 * @param {Object} pageData 页面所有数据
 * @param {Object} layoutConfig 模板配置
 * @param {Object} userInfo 当前登录人信息
 * @param {(groupCode: string, fieldName: string, fn: (item: FormFieldsItem | ColumnItem) => void) => void}
 * customFormatItem 遍历模板分组配置,自定义格式化查询到的字段
 * @param {(groupCode: string, fieldName: string, flag: boolean) => void}
 * setItemRequired 自定义设置字段必填
 * @param {(groupCode: string, fieldName: string, flag: boolean) => void}
 * setItemDisabled 自定义设置字段置灰
 * @param {(groupCode: string, fieldName: string, flag: boolean) => void}
 * setItemRequiredOrDisabled 自定义设置字段必填/置灰
 * @param {() => void} topEmit 用于处理复杂绑定函数需求
 * @param {Constructor} Decimal构造函数, 适用于js小数位数精度计算
 * https://github.com/MikeMcl/decimal.js
 */
function callback(
  ctx,
  {
    value,
    data,
    _isFill,
    row,
    idx,
    pageData,
    layoutConfig,
    userInfo,
    customFormatItem,
    setItemRequired,
    setItemDisabled,
    setItemRequiredOrDisabled,
    topEmit,
    Decimal,
  },
) {
  if (!data || !data.length) {
    return;
  }
  const { inspectionStandardName = "", id = "", classify = "" } = data[0] || {};

  row.inspectionStandardName = inspectionStandardName;
  row.inspectionStandardId = id;
  row.inspectionStandardClassify = classify;
}
js
{
  modalColumns: [
    {
      field: "inspectionStandardNumber",
      title: "考察标准编号",
      fieldLabelI18nKey: "i18n_field_BmBrAy_b09bd4bc",
      width: 150,
    },
    {
      field: "classify_dictText",
      title: "考察标准分类",
      fieldLabelI18nKey: "i18n_field_BmBrzA_b0968850",
      width: 150,
    },
    {
      field: "inspectionStandardName",
      title: "考察标准名称",
      fieldLabelI18nKey: "i18n_field_BmBrRL_b096c49e",
      width: 150,
    },
    {
      field: "versionNumber",
      title: "版本",
      fieldLabelI18nKey: "i18n_field_rv_e3de4",
      width: 150,
    },
    {
      field: "totalScore",
      title: "合计总分",
      fieldLabelI18nKey: "i18n_field_ntkz_284aef84",
      width: 150,
    },
    {
      field: "standardFullMarks",
      title: "标准满分",
      fieldLabelI18nKey: "i18n_field_BrCz_308a7e24",
      width: 150,
    },
    {
      field: "qualifiedPoints",
      title: "合格分线",
      fieldLabelI18nKey: "i18n_field_nmzW_27c485ad",
      width: 150,
    },
  ],
  modalUrl: "/other/elsInspectionStandardHead/list?status=1",
  isClearCallBindFunction: true,
  selectModel: "single",
  afterRowClearCallBack: function (Vue, row) {
    row.inspectionStandardName = "";
    row.inspectionStandardId = "";
    row.inspectionStandardClassify = "";
    row.inspectionTemplateElsAccount = "";
  },
  handleAfter({ pageData, row }) {
    row.inspectionStandardName = "";
    row.inspectionStandardId = "";
    row.inspectionStandardClassify = "";
  },
}

现场考察业务模板 inspectionTemplateName 🎉

json
{
  "groupCode": "inspectionPlanItemList",
  "fieldType": "selectModal",
  "title": "现场考察业务模板",
  "field": "inspectionTemplateName",
  "required": "0"
}
js
/**
 * @param {Object} ctx 组件实例
 * @param {String} value 当前所选值
 * @param {Array} data selectModal, remoteSelect 已选行数据 (如有)
 * @param {boolean} _isFill 填充、粘贴操作判断标识
 * @param {Object} row 表行数据 (如有)
 * @param {number} idx 表行索引值 (如有)
 * @param {Object} pageData 页面所有数据
 * @param {Object} layoutConfig 模板配置
 * @param {Object} userInfo 当前登录人信息
 * @param {(groupCode: string, fieldName: string, fn: (item: FormFieldsItem | ColumnItem) => void) => void}
 * customFormatItem 遍历模板分组配置,自定义格式化查询到的字段
 * @param {(groupCode: string, fieldName: string, flag: boolean) => void}
 * setItemRequired 自定义设置字段必填
 * @param {(groupCode: string, fieldName: string, flag: boolean) => void}
 * setItemDisabled 自定义设置字段置灰
 * @param {(groupCode: string, fieldName: string, flag: boolean) => void}
 * setItemRequiredOrDisabled 自定义设置字段必填/置灰
 * @param {() => void} topEmit 用于处理复杂绑定函数需求
 * @param {Constructor} Decimal构造函数, 适用于js小数位数精度计算
 * https://github.com/MikeMcl/decimal.js
 */
function callback(
  ctx,
  {
    value,
    data,
    _isFill,
    row,
    idx,
    pageData,
    layoutConfig,
    userInfo,
    customFormatItem,
    setItemRequired,
    setItemDisabled,
    setItemRequiredOrDisabled,
    topEmit,
    Decimal,
  },
) {
  if (!data || !data.length) {
    return;
  }
  const {
    templateName = "",
    id = "",
    templateNumber = "",
    templateVersion = "",
    elsAccount = "",
  } = data[0] || {};

  row.inspectionTemplateName = templateName;
  row.inspectionTemplateId = id;
  row.inspectionTemplateNumber = templateNumber;
  row.inspectionTemplateVersion = templateVersion;
  row.inspectionTemplateElsAccount = elsAccount;
}
js
{
  modalColumns: [
    {
      field: "templateName",
      title: "业务模板名称",
      with: 150,
    },
    {
      field: "templateNumber",
      title: "业务模板编号",
      with: 150,
    },
  ],
  modalUrl: "/template/templateHead/getListByType",
  selectModal: "single",
  modalParams(Vue, form) {
    let elsAccount = Vue.$ls.get("Login_elsAccount");
    return { elsAccount: elsAccount };
  },
  mobileModalParams(Vue, { _pageData, _cacheAllData, userInfo }) {
    return { elsAccount: userInfo.elsAccount || "" };
  },
  params({ pageData, userInfo }) {
    return { businessType: "siteInspection" };
  },
  afterRowClearCallBack(Vue, row) {
    row.inspectionTemplateName = "";
    row.inspectionTemplateId = "";
    row.inspectionTemplateNumber = "";
    row.inspectionTemplateVersion = "";
    row.inspectionTemplateElsAccount = "";
  },
  handleAfter({ row }) {
    row.inspectionTemplateName = "";
    row.inspectionTemplateId = "";
    row.inspectionTemplateNumber = "";
    row.inspectionTemplateVersion = "";
    row.inspectionTemplateElsAccount = "";
  },
}