Appearance
订单送货通知
对方 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 = "";
},
}