Skip to content
On this page

供应商准入

业务模板

对方 ELS 账号 toElsAccount

json
{
  "groupCode": "baseForm",
  "fieldType": "selectModal",
  "fieldLabel": "对方ELS账号",
  "fieldName": "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) {
    return;
  }
  pageData.toElsAccount = data[0].elsAccount || "";
  pageData.supplierName = data[0].name || "";
  pageData.supplierCode = data[0].fbk1 || "";
  pageData.industry = data[0].industry || "";
}
js
{
  modalColumns: [
    {
      field: "elsAccount",
      title: "供应商ELS账号",
      fieldLabelI18nKey: "i18n_title_supplierELSAccount",
      with: 150,
    },
    {
      field: "name",
      title: "供应商名称",
      fieldLabelI18nKey: "i18n_field_name",
      with: 150,
    },
    {
      field: "fbk1",
      title: "供应商ERP编码",
      fieldLabelI18nKey: "i18n_field_supplierCode",
      with: 150,
    },
    {
      field: "industry",
      title: "行业",
      fieldLabelI18nKey: "i18n_field_industry",
      with: 150,
    },
  ],
  modalUrl: "/enterprise/elsEnterpriseInfo/queryAccessSupplier",
  params({ pageData }) {
    return {
      cateCodeValue: pageData.cateCode,
      purchaseOrgValue: pageData.purchaseOrg,
      supplierStatus: pageData.fbk1,
    };
  },
  mobileModalParams(Vue, { _pageData, _cacheAllData }) {
    return {
      cateCodeValue: _cacheAllData.cateCode,
      purchaseOrgValue: _cacheAllData.purchaseOrg,
      supplierStatus: _cacheAllData.fbk1,
    };
  },
  handleBefore: ({ pageData, userInfo }) => {
    if (!pageData.policyDesc) {
      return Promise.reject("先选择准入策略");
    } else {
      return Promise.resolve();
    }
  },
  beforeCheckedCallBack(parentRef, pageData, groupData, form) {
    return new Promise((resolve, reject) => {
      !form.relationId
        ? reject(
            parentRef.$srmI18n(
              `${parentRef.$getLangAccount()}#i18n_alert_WiFWrNiNW_9de0139b`,
              "先选择准入策略",
            ),
          )
        : resolve("success");
    });
  },
  selectModal: "single",
  mobileHandleBefore(Vue, { _pageData, _form, _row, _cacheAllData, _value }) {
    return new Promise((resolve, reject) => {
      debugger;

      !_cacheAllData.relationId ? reject("先选择准入策略") : resolve("success");
    });
  },
  afterClearCallBack: function (form, pageData, col) {
    form.toElsAccount = "";
    form.supplierName = "";
    form.supplierCode = "";
    form.industry = "";
  },
}

准入策略 policyDesc

json
{
  "groupCode": "baseForm",
  "fieldType": "remoteSelect",
  "fieldLabel": "准入策略",
  "fieldName": "policyDesc",
  "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) {
    return;
  }
  pageData.policyDesc = data[0].policyDesc || "";
  pageData.relationId = data[0].id || "";
  pageData.cateCode = data[0].cateCode || "";
  pageData.cateName = data[0].cateName || "";
  pageData.purchaseOrg = data[0].purchaseOrg || "";
  pageData.purchaseOrgName = data[0].purchaseOrgName || "";
  pageData.regulationType = data[0].regulationType || "";
  pageData.regulationType_dictText = data[0].regulationType_dictText || "";
  pageData.fbk1 = data[0].fbk1 || "";
  pageData.lowestMark = data[0].lowestMark || "";
}
js
{
  modalColumns: [
    {
      field: "policyDesc",
      title: "准入策略描述",
      fieldLabelI18nKey: "i18n_field_policyDesc",
      with: 150,
    },
    {
      field: "cateCode",
      title: "物料分类编码",
      fieldLabelI18nKey: "i18n_field_cateCode",
      with: 150,
    },
    {
      field: "cateName",
      title: "物料分类名称",
      fieldLabelI18nKey: "i18n_field_cateName",
      with: 150,
    },
    {
      field: "regulationType_dictText",
      title: "准入方式",
      fieldLabelI18nKey: "i18n_field_regulationType",
      with: 150,
    },
    {
      field: "purchaseOrg",
      title: "采购组织编码",
      fieldLabelI18nKey: "i18n_field_purchaseOrg",
      with: 150,
    },
    {
      field: "purchaseOrgName",
      title: "采购组织名称",
      fieldLabelI18nKey: "i18n_field_purchaseOrgDesc",
      with: 150,
    },
  ],
  modalUrl: "/supplier/supplierAccessPolicy/list",
  modalParams: {},
  selectModel: "single",
  mobileModalParams: {},
  handleAfter({ pageData, row }) {
    pageData.policyDesc = "";
    pageData.relationId = "";
    pageData.cateCode = "";
    pageData.cateName = "";
    pageData.purchaseOrg = "";
    pageData.purchaseOrgName = "";
    pageData.regulationType = "";
    pageData.regulationType_dictText = "";
    pageData.fbk1 = "";
    pageData.lowestMark = "";
  },
  mobileHandleAfter(Vue, { _pageData, _form, _row, _cacheAllData, _value }) {
    _form.policyDesc = "";
    _form.relationId = "";
    _form.cateCode = "";
    _form.cateName = "";
    _form.purchaseOrg = "";
    _form.purchaseOrgName = "";
    _form.regulationType = "";
    _form.regulationType_dictText = "";
    _form.fbk1 = "";
    _form.lowestMark = "";
  },
}

采购负责人 principal

json
{
  "groupCode": "baseForm",
  "fieldType": "remoteSelect",
  "fieldLabel": "采购负责人",
  "fieldName": "principal",
  "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) {
    return;
  }
  pageData.principal = data[0].subAccount + "_" + data[0].realname;
}
js
{
  modalColumns: [
    {
      field: "subAccount",
      title: "子账号",
      fieldLabelI18nKey: "i18n_field_subAccount",
      with: 150,
    },
    {
      field: "realname",
      title: "姓名",
      fieldLabelI18nKey: "i18n_field_realname",
      with: 150,
    },
  ],
  modalUrl: "/account/elsSubAccount/page",
  modalParams: {
    status: "1",
  },
  selectModel: "single",
}