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,
},
) {
if (!data || !data.length) {
return;
}
pageData.toElsAccount = data[0].toElsAccount || "";
pageData.supplierName = data[0].supplierName || "";
setItemDisabled("baseForm", "intervieweePrincipal", false);
}js
{
modalColumns: [
{
field: "toElsAccount",
title: "供应商账号",
fieldLabelI18nKey: "i18n_title_supplierAccount",
with: 150,
},
{
field: "supplierName",
title: "供应商名称",
fieldLabelI18nKey: "i18n__RdXRL_8e11f650",
with: 150,
},
],
modalUrl: "/supplier/supplierMaster/list",
params: {
frozenFunctionValue: "0",
},
handleAfter: function ({ pageData }) {
pageData.toElsAccount = "";
pageData.supplierName = "";
},
afterClearCallBack: function (form, pageData, col) {
form.toElsAccount = "";
form.supplierName = "";
},
}来访负责人 visitPrincipal
json
{
"groupCode": "baseForm",
"fieldType": "remoteSelect",
"fieldLabel": "来访负责人",
"fieldName": "visitPrincipal",
"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.visitPrincipal = data[0].subAccount;
pageData.visitPrincipalName = data[0].realname;
pageData.visitPhone = data[0].phone;
}js
{
modalColumns: [
{
field: "subAccount",
title: "子账号",
fieldLabelI18nKey: "i18n_field_subAccount",
with: 150,
},
{
field: "realname",
title: "姓名",
fieldLabelI18nKey: "i18n_field_realname",
with: 150,
},
{
field: "phone",
title: "手机号",
fieldLabelI18nKey: "i18n_field_phone",
with: 150,
},
],
modalUrl: "/account/elsSubAccount/page",
modalParams: {},
handleAfter: function ({ pageData }) {
pageData.visitPrincipal = "";
pageData.visitPrincipalName = "";
pageData.visitPhone = "";
},
afterClearCallBack: function (form, pageData, col) {
form.visitPrincipal = "";
form.visitPrincipalName = "";
form.visitPhone = "";
},
}被访负责人 intervieweePrincipal
json
{
"groupCode": "baseForm",
"fieldType": "remoteSelect",
"fieldLabel": "被访负责人",
"fieldName": "intervieweePrincipal",
"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.intervieweePrincipal = data[0].subAccount;
pageData.intervieweePrincipalName = data[0].realname;
pageData.intervieweePhone = data[0].phone;
}js
{
modalColumns: [
{
field: "subAccount",
title: "子账号",
fieldLabelI18nKey: "i18n_field_subAccount",
with: 150,
},
{
field: "realname",
title: "姓名",
fieldLabelI18nKey: "i18n_field_realname",
with: 150,
},
{
field: "phone",
title: "手机号",
fieldLabelI18nKey: "i18n_field_phone",
with: 150,
},
],
modalUrl: "/account/elsSubAccount/subAccountlist",
params: ({ pageData }) => {
return { elsAccount: pageData.toElsAccount || "" };
},
handleAfter: function ({ pageData }) {
pageData.intervieweePrincipal = "";
pageData.intervieweePrincipalName = "";
pageData.intervieweePhone = "";
},
afterClearCallBack: function (form, pageData, col) {
form.intervieweePrincipal = "";
form.intervieweePrincipalName = "";
form.intervieweePhone = "";
},
}预约拜访日期 visitDate
json
{
"groupCode": "baseForm",
"fieldType": "selectModal",
"fieldLabel": "预约拜访日期",
"fieldName": "visitDate",
"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 time = data[0].times || "";
pageData.visitDate = data[0].dayOff;
pageData.startHour = "";
layoutConfig.groups.forEach((group) => {
if (group.groupCode == "baseForm") {
group.formFields.forEach((field) => {
if (field.fieldName == "startHour") {
// 没有时间就不走下面流程
if (!time) {
//field.options = Vue.$parent.realOptions;
} else {
const times = time ? time.split(",") : [];
const options = field.options.filter((opt) =>
times.includes(opt.value),
);
field.options = options;
}
}
});
}
});
}js
{
modalColumns: [
{
field: "dayOff",
title: "日期",
fieldLabelI18nKey: "i18n_field_BA_cbdda",
with: 150,
},
{
field: "times",
title: "开放预约时间点",
fieldLabelI18nKey: "i18n_field_vCUZKIC_d39c985b",
with: 150,
},
],
modalUrl: "/calendar/purchaseFactoryCalendar/list",
params: function ({ pageData }) {
return {
elsAccount: pageData.toElsAccount,
createBy: pageData.intervieweePrincipal,
};
},
handleBefore: function ({ pageData, userInfo }) {
return new Promise((resolve, rejec) => {
let toElsAccount = pageData.toElsAccount || "";
let intervieweePrincipal = pageData.intervieweePrincipal || "";
let isNull = false;
if (toElsAccount !== "" && intervieweePrincipal !== "") {
isNull = true;
}
return isNull
? resolve("success")
: rejec("被访方els账号和被访负责人不能为空");
});
},
selectModal: "single",
}开始时间 startHour
json
{
"groupCode": "baseForm",
"fieldType": "select",
"fieldLabel": "开始时间",
"fieldName": "startHour",
"dictCode": "calanderTime",
"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,
},
) {
// 本地页面处理复杂绑定函数需求
topEmit && topEmit();
}时长 timeLong
json
{
"groupCode": "baseForm",
"fieldType": "select",
"fieldLabel": "时长",
"fieldName": "timeLong",
"dictCode": "timeLongRange",
"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,
},
) {
// 本地页面处理复杂绑定函数需求
topEmit && topEmit();
}