Skip to content
On this page

JIT 送货通知

业务模板

对方 ELS 账号 toElsAccount

json
{
  "groupCode": "baseForm",
  "fieldType": "remoteSelect",
  "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,
  },
) {
  topEmit && topEmit();
  if (!data || !data.length) {
    return;
  }
  pageData.toElsAccount = data[0].toElsAccount;
  pageData.supplierCode = data[0].supplierCode;
  pageData.supplierName = data[0].supplierName;
}
js
{
  modalColumns: [
    {
      field: "toElsAccount",
      fieldLabelI18nKey: "i18n_title_supplierAccount",
      title: "供应商账号",
      with: 150,
    },
    {
      field: "supplierName",
      fieldLabelI18nKey: "i18n_field_RdXRL_8e11f650",
      title: "供应商名称",
      with: 150,
    },
    {
      field: "supplierCode",
      fieldLabelI18nKey: "i18n_field_RdXey_8e18ba5e",
      title: "供应商编码",
      with: 150,
    },
  ],
  modalUrl: "/supplier/supplierMaster/list",
  modalParams: {},
  afterClearCallBack: function (form, pageData, col) {
    form.toElsAccount = "";
    form.supplierCode = "";
    form.supplierName = "";
  },
}

收货地址 receiveAddress

json
{
  "groupCode": "baseForm",
  "fieldType": "remoteSelect",
  "fieldLabel": "收货地址",
  "fieldName": "receiveAddress",
  "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;
  }
  pageData.receiveAddress = data[0].address || "";
  pageData.receiveContact = data[0].consignee || "";
  pageData.receivePhone = data[0].purchasePhone || "";
}
js
{
  modalColumns: [
    {
      field: "address",
      title: "收货地址",
      fieldLabelI18nKey: "i18n_title_address",
      width: 350,
    },
    {
      field: "consignee",
      title: "收货人",
      fieldLabelI18nKey: "i18n_field_consignee",
      width: 200,
    },
    {
      field: "purchasePhone",
      title: "收货人电话",
      fieldLabelI18nKey: "i18n_field_receivedPhone",
      width: 200,
    },
  ],
  modalUrl: "/delivery/deliveryOrderAddress/list",
  params({ pageData }) {
    return {
      organizationNo: pageData.factory,
      organizationType: "factory",
    };
  },

  mobileModalParams(Vue, { _pageData, _cacheAllData }) {
    return {
      organizationNo: _cacheAllData.factory,
      organizationType: "factory",
    };
  },
  afterClearCallBack: function (form, pageData, col) {
    form.receiveAddress = "";
    form.receiveContact = "";
    form.receivePhone = "";
  },
  handleAfter({ pageData }) {
    pageData.receiveAddress = "";
    pageData.receiveContact = "";
    pageData.receivePhone = "";
  },
}

收货地址 receiveAddress 🎉

json
{
  "groupCode": "purchaseDeliveryNoticeList",
  "fieldType": "remoteSelect",
  "title": "收货地址",
  "field": "receiveAddress",
  "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) {
    // 填充操作时 _isFill 判断标识值为 true
    // 且 data 参数为当前所选行缓存数据
    // 如果赋值操作中字段属性不同, 需要加条件判断区分取值
    if (_isFill) {
      const {
        receiveAddress = "",
        receiveContact = "",
        receivePhone = "",
      } = data[0] || {};

      row.receiveAddress = receiveAddress;
      row.receiveContact = receiveContact;
      row.receivePhone = receivePhone;
    } else {
      const {
        address = "",
        consignee = "",
        purchasePhone = "",
      } = data[0] || {};

      row.receiveAddress = address;
      row.receiveContact = consignee;
      row.receivePhone = purchasePhone;
    }
  }
}
js
{
  modalColumns: [
    {
      field: "address",
      title: "收货地址",
      fieldLabelI18nKey: "i18n_title_address",
      width: 350,
    },
    {
      field: "consignee",
      title: "收货人",
      fieldLabelI18nKey: "i18n_field_consignee",
      width: 200,
    },
    {
      field: "purchasePhone",
      title: "收货人电话",
      fieldLabelI18nKey: "i18n_field_receivedPhone",
      width: 200,
    },
  ],
  modalUrl: "/delivery/deliveryOrderAddress/list",
  modalParams(Vue, form, row) {
    return {
      organizationNo: form.factory,
      organizationType: "factory",
    };
  },
  mobileModalParams(Vue, { _pageData, _cacheAllData }) {
    return {
      organizationNo: _cacheAllData.factory,
      organizationType: "factory",
    };
  },
  afterRowClearCallBack: function (Vue, row) {
    row.receiveAddress = "";
    row.receiveContact = "";
    row.receivePhone = "";
  },
}