Appearance
现场考察
单据状态 documentsStatus
json
{
"groupCode": "baseForm",
"fieldType": "select",
"fieldLabel": "单据状态",
"fieldName": "documentsStatus",
"dictCode": "site_inspection_status",
"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,
},
) {
// 单据状态 documentsStatus;
// 数据字典 site_inspection_status (0: 新建, 1: 待自评, 2: 待评分, 3: 部分评分, 4: 评分完成, 5: 考察完成, 6: 结案, 7: 作废);
// 考察步骤 inspectionStep
// 数据字典 site_inspection_step (0: 自评后现场考察, 1: 只需供应商自评, 2: 直接现场考察, 3: 直接评分);
let inspectionStep = pageData.inspectionStep || "";
let documentsStatus = pageData.documentsStatus || "";
let flag = true;
if (documentsStatus === "2" || documentsStatus === "3") {
flag = false;
}
if (!documentsStatus || documentsStatus === "0") {
if (inspectionStep === "3") {
flag = false;
}
}
/**
* @description: 业务规则
* 考察步骤为“直接评分” + “新建、待评分、部分评分” 时, 考察结论 + 限期整改完成时间 可编辑
* 考察步骤为其他 + “待评分、部分评分” 时, 考察结论 + 限期整改完成时间 可编辑
* @return {*}
*/
setItemDisabled("baseForm", "inspectionConclusion", value === "0");
setItemDisabled("baseForm", "abarbeitungLimitTime", value === "0");
// const disabledAll = documentsStatus && documentsStatus !== "0";
// setItemDisabled("baseForm", "***", disabledAll);
}供应商 ELS 账号 toElsAccount
json
{
"groupCode": "baseForm",
"fieldType": "remoteSelect",
"fieldLabel": "供应商ELS账号",
"fieldName": "toElsAccount",
"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;
}
let {
toElsAccount = "",
supplierCode = "",
supplierName = "",
} = data[0] || {};
pageData.toElsAccount = toElsAccount;
pageData.supplierErpCode = supplierCode;
pageData.supplierName = 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,
},
{
field: "supplierStatus_dictText",
fieldLabelI18nKey: "i18n_title_supplierState",
title: "供应商状态",
width: 200,
},
],
modalUrl: "/supplier/supplierMaster/list",
modalParams: {},
isClearCallBindFunction: true,
selectModel: "single",
handleAfter: function ({ pageData }) {
pageData.saleElsAccount = "";
pageData.supplierErpCode = "";
pageData.supplierName = "";
},
afterClearCallBack: function (form, pageData, col) {
form.saleElsAccount = "";
form.supplierErpCode = "";
form.supplierName = "";
},
}考察步骤 inspectionStep
json
{
"groupCode": "baseForm",
"fieldType": "select",
"fieldLabel": "考察步骤",
"fieldName": "inspectionStep",
"dictCode": "site_inspection_step",
"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,
},
) {
// 单据状态 documentsStatus;
// 数据字典 site_inspection_status (0: 新建, 1: 待自评, 2: 待评分, 3: 部分评分, 4: 评分完成, 5: 考察完成, 6: 结案, 7: 作废);
// 考察步骤 inspectionStep
// 数据字典 site_inspection_step (0: 自评后现场考察, 1: 只需供应商自评, 2: 直接现场考察, 3: 直接评分);
let inspectionStep = pageData.inspectionStep || "";
let documentsStatus = pageData.documentsStatus || "";
let flag = true;
if (documentsStatus === "2" || documentsStatus === "3") {
flag = false;
}
if (!documentsStatus || documentsStatus === "0") {
if (inspectionStep === "3") {
flag = false;
}
}
/**
* @description: 业务规则
* 考察步骤为“直接评分” + “新建、待评分、部分评分” 时, 考察结论 + 限期整改完成时间 可编辑
* 考察步骤为其他 + “待评分、部分评分” 时, 考察结论 + 限期整改完成时间 可编辑
* @return {*}
*/
setItemDisabled("baseForm", "inspectionConclusion", value === "0");
setItemDisabled("baseForm", "abarbeitungLimitTime", value === "0");
// 本地页面处理复杂绑定函数需求
topEmit && topEmit();
}物料分类 materialType
json
{
"groupCode": "baseForm",
"fieldType": "remoteSelect",
"fieldLabel": "物料分类",
"fieldName": "materialType",
"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 { cateCode = "" } = data[0] || {};
pageData.materialType = cateCode;
}js
{
modalColumns: [
{
field: "cateCode",
title: "物料分类编码",
fieldLabelI18nKey: "i18n_field_cateCode",
with: 150,
},
{
field: "cateName",
title: "物料分类名称",
fieldLabelI18nKey: "i18n_field_cateName",
with: 150,
},
{
field: "cateLevelCode",
title: "物料分类级别编码",
fieldLabelI18nKey: "i18n_field_cateLevelCode",
with: 150,
},
{
field: "upCateCode_dictText",
title: "上级物料分类",
fieldLabelI18nKey: "i18n_field_upCateCode",
with: 150,
},
],
modalUrl: "/material/purchaseMaterialCode/list",
modalParams: {},
selectModel: "single",
}考察标准名称 inspectionStandardName
json
{
"groupCode": "baseForm",
"fieldType": "remoteSelect",
"fieldLabel": "考察标准名称",
"fieldName": "inspectionStandardName",
"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;
}
let {
inspectionStandardName = "",
versionNumber = "",
totalScore = "",
standardFullMarks = "",
qualifiedPoints = "",
} = data[0] || {};
pageData.inspectionStandardName = inspectionStandardName;
pageData.inspectionStandardVersion = versionNumber;
pageData.totalScore = totalScore;
pageData.standardFullMarks = standardFullMarks;
pageData.qualifiedPoints = qualifiedPoints;
if (pageData.scoreGroupList.length) {
pageData.scoreGroupList.forEach((n) => {
n.inspectionClassify = [];
});
}
// 本地页面处理复杂绑定函数需求
topEmit && topEmit();
}js
{
modalColumns: [
{
field: "inspectionStandardName",
title: "名称",
width: 150,
},
{
field: "versionNumber",
title: "版本",
width: 150,
},
{
field: "totalScore",
title: "合计总分",
width: 150,
},
{
field: "standardFullMarks",
title: "标准满分",
width: 150,
},
{
field: "qualifiedPoints",
title: "合格分线",
width: 150,
},
],
modalUrl: "/other/elsInspectionStandardHead/list",
isClearCallBindFunction: true,
selectModel: "single",
modalParams(self, form) {
return {
status: "1",
classify: form.inspectionStandardClassify,
};
},
mobileModalParams(Vue, { _pageData, _cacheAllData }) {
return {
status: "1",
classify: _cacheAllData.inspectionStandardClassify,
};
},
params: ({ pageData, userInfo }) => {
return {
status: "1",
classify: pageData.inspectionStandardClassify || "",
};
},
handleBefore: ({ pageData, userInfo }) => {
if (!pageData.inspectionStandardClassify) {
return Promise.reject("请先选择考察标准分类");
} else {
return Promise.resolve();
}
},
handleAfter: ({ pageData }) => {
pageData.inspectionStandardName = "";
pageData.inspectionStandardVersion = "";
pageData.totalScore = "";
pageData.standardFullMarks = "";
pageData.qualifiedPoints = "";
},
beforeCheckedCallBack(parentRef, pageData, groupData, form) {
return new Promise((resolve, rejec) => {
let inspectionStandardClassify = form.inspectionStandardClassify;
return inspectionStandardClassify
? resolve("success")
: rejec("请先选择考察标准分类!");
});
},
mobileHandleBefore(Vue, { _pageData, _form, _row, _cacheAllData, _value }) {
return new Promise((resolve, reject) => {
!!_cacheAllData.inspectionStandardClassify
? resolve("success")
: reject("请先选择考察标准分类");
});
},
}供应商自评考察结果 selfAssessmentResult 🎉
json
{
"groupCode": "inspectionItemList",
"fieldType": "input",
"title": "供应商自评考察结果",
"field": "selfAssessmentResult",
"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,
},
) {
// ...
}
function callback(
ctx,
{
value,
data,
row,
idx,
pageData,
layoutConfig,
customFormatItem,
setItemRequired,
setItemDisabled,
setItemRequiredOrDisabled,
},
) {
// ...
}采购方评分考察结果 inspectResult 🎉
json
{
"groupCode": "inspectionItemList",
"fieldType": "input",
"title": "采购方评分考察结果",
"field": "inspectResult",
"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,
},
) {
// ...
}
function callback(
ctx,
{
value,
data,
row,
idx,
pageData,
layoutConfig,
customFormatItem,
setItemRequired,
setItemDisabled,
setItemRequiredOrDisabled,
},
) {
// ...
}