Appearance
招标项目
项目立项名称 projectName
json
{
"groupCode": "baseForm",
"fieldType": "remoteSelect",
"fieldLabel": "项目立项名称",
"fieldName": "projectName",
"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();
if (!data || !data.length) {
return;
}
pageData.projectName = data[0].projectName || "";
pageData.projectId = data[0].id || "";
pageData.tenderProjectName = data[0].projectName || "";
pageData.tenderProjectType = data[0].projectType || "";
pageData.industryCategory = data[0].industry || "";
pageData.projectBudget = data[0].budgetAmount || "";
pageData.currency = data[0].currency || "";
//招标方式
pageData.purchaseOrgType = data[0].purchaseOrgType || "";
//项目经理
//pageData.agencyElsName = data[0].agencyLibraryAccount||''
//招标单位名称
pageData.purchaseEnterpriseName = data[0].purchaseEnterpriseName || "";
pageData.elsRealname = data[0].purchaseEnterpriseName || "";
pageData.purchasePrincipal = data[0].projectContacts || "";
pageData.contactNumber = data[0].contactsNumber || "";
pageData.projectProvince = data[0].projectAddress || "";
pageData.projectContactAddr = data[0].projectAddressDetail || "";
pageData.investmentsRatio = data[0].amountMoneyProportion || "";
pageData.projectSummarize = data[0].projectDetail || "";
pageData.remark = data[0].otherInstructions || "";
pageData.purchaseOrg = data[0].purchaseOrg || "";
pageData.purchaseGroup = data[0].purchaseGroup || "";
//采购执行人名称
pageData.purchaseExecutorName = data[0].purchasePrincipal || "";
if (data[0].purchasePrincipalAccount != null) {
//采购执行人账号
pageData.purchaseExecutorAccount =
data[0].purchasePrincipalAccount.split("_")[0] || "";
//采购执行人子账号
pageData.purchaseExecutorSubAccount =
data[0].purchasePrincipalAccount.split("_")[1] || "";
}
if (data[0].agencyLibraryName != null) {
//代理机构名称
pageData.agencyElsName = data[0].agencyLibraryName || "";
//代理机构账号
pageData.agencyElsAccount = data[0].agencyLibraryAccount || "";
}
//粘贴于招标方式 记得同步
if (pageData.purchaseOrgType == "0") {
pageData.agencyElsName = "";
pageData.agencyElsAccount = "";
}
const opt = pageData.purchaseOrgType;
let flag = opt == "0";
let disabledFlag = false;
//是否可编辑
setItemDisabled("baseForm", "agencyElsName", flag);
setItemDisabled("baseForm", "purchaseExecutorName", disabledFlag);
let validateFlag = opt == "0";
let delayCountValidateFlag = false;
// 必填
setItemRequired("baseForm", "agencyElsName", !validateFlag);
setItemRequired("baseForm", "purchaseExecutorName", delayCountValidateFlag);
}js
{
modalColumns: [
{ field: "projectName", title: "项目名称", with: 150 },
{ field: "projectNumber", title: "项目编号", with: 150 },
],
modalUrl: "tender/tenderProjectApprovalHead/list",
params: { sourceStatus: 2 },
handleAfter: function ({ pageData, userInfo }) {
pageData.projectName = "";
pageData.projectId = "";
pageData.tenderProjectName = "";
pageData.tenderProjectType = "";
pageData.industryCategory = "";
pageData.currency = "";
pageData.purchaseOrgType = "";
pageData.purchaseEnterpriseName = "";
pageData.purchasePrincipal = "";
pageData.contactNumber = "";
pageData.projectProvince = "";
pageData.projectContactAddr = "";
pageData.investmentsRatio = "";
pageData.projectSummarize = "";
pageData.remark = "";
pageData.purchaseOrg = "";
pageData.purchaseGroup = "";
pageData.purchaseExecutorName = "";
pageData.purchaseExecutorAccount = "";
pageData.purchaseExecutorSubAccount = "";
pageData.agencyElsName = "";
pageData.agencyElsAccount = "";
pageData.projectBudget = "0";
pageData.projectItemList = [];
},
}采购组织形式 purchaseOrgType
json
{
"groupCode": "baseForm",
"fieldType": "select",
"fieldLabel": "采购组织形式",
"fieldName": "purchaseOrgType",
"dictCode": "tenderOrgType",
"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,
},
) {
const flag = value == "0";
setItemDisabled("baseForm", "agencyElsName", flag);
if (flag) pageData.agencyElsName = "";
}代理机构名称 agencyElsName
json
{
"groupCode": "baseForm",
"fieldType": "remoteSelect",
"fieldLabel": "代理机构名称",
"fieldName": "agencyElsName",
"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.agencyElsName = data[0].supplierEnterpriseName;
pageData.agencyElsAccount = data[0].supplierAccount;
}js
{
modalColumns: [
{ field: "supplierEnterpriseName", title: "代理机构名称", with: 150 },
{ field: "supplierAccount", title: "代理机构ELS号", with: 150 },
],
modalUrl: "/tender/library/purchaseTenderAgencyLibraryHead/list",
modalParams: { status: "2" },
}采购执行人名称 purchaseExecutorName
json
{
"groupCode": "baseForm",
"fieldType": "remoteSelect",
"fieldLabel": "采购执行人名称",
"fieldName": "purchaseExecutorName",
"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.purchaseExecutorName = data[0].realname;
pageData.purchaseExecutorSubAccount = data[0].subAccount;
pageData.purchaseExecutorAccount = data[0].elsAccount;
}js
{
modalColumns: [
{ field: "subAccount", title: "子账号", with: 150 },
{ field: "realname", title: "姓名", with: 150 },
],
modalUrl: "account/elsSubAccount/page",
modalParams: function (Vue, form, obj) {
if (form.purchaseOrgType == "0") {
return;
}
return { els_account: form.agencyElsAccount };
},
params: ({ pageData }) => {
if (pageData.purchaseOrgType == "0") {
return {};
}
return {
els_account: pageData.agencyElsAccount,
};
},
beforeCheckedCallBack: function (parentRef, pageData, groupData, form) {
return new Promise((resolve, rejec) => {
if (form.purchaseOrgType == "1") {
return form.agencyElsName
? resolve("success")
: rejec("先选择代理机构");
}
return resolve("success");
});
},
}开标是否需要加密 openBidEncrypt
json
{
"groupCode": "baseForm",
"fieldType": "switch",
"fieldLabel": "开标是否需要加密",
"fieldName": "openBidEncrypt",
"dictCode": "yn",
"defaultValue": "1",
"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,
},
) {
console.log("useCa", value);
setItemDisabled("baseForm", "useCa", value != "1");
if (value == "0") {
pageData.useCa = "0";
}
}招标流程模型名称 tenderProcessModelName 🎉
json
{
"groupCode": "subpackageInfoVOList",
"fieldType": "selectModal",
"title": "招标流程模型名称",
"field": "tenderProcessModelName",
"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) {
row.tenderProcessModelName = data[0].tenderProcessName || "";
row.tenderProcessModelId = data[0].id || "";
row.tenderType_dictText = data[0].tenderType_dictText || "";
row.tenderType = data[0].tenderType || "";
row.checkType_dictText = data[0].checkType_dictText || "";
row.checkType = data[0].checkType || "";
row.processType_dictText = data[0].processType_dictText || "";
row.processType = data[0].processType || "";
row.signUp_dictText = data[0].signUp_dictText || "";
row.signUp = data[0].signUp || "";
row.bidOpenType_dictText = data[0].bidOpenType_dictText || "";
row.bidOpenType = data[0].bidOpenType || "";
row.evaluationType_dictText = data[0].evaluationType_dictText || "";
row.evaluationType = data[0].evaluationType || "";
row.bidding = data[0].bidding || "";
row.bidding_dictText = data[0].bidding_dictText || "";
row.purchaseType = data[0].purchaseType || "";
row.purchaseType_dictText = data[0].purchaseType_dictText || "";
}
}js
{
modalColumns: [
{ field: "tenderProcessNumber", title: "流程编码", with: 150 },
{ field: "tenderProcessName", title: "流程名称", with: 150 },
],
modalUrl: "tender/tenderProcessModelHead/list",
selectModal: "single",
modalParams: {
status: "1",
column: "createTime",
order: "desc",
},
handleAfter: ({ row }) => {
row.tenderProcessModelName = "";
row.tenderProcessModelId = "";
row.tenderType_dictText = "";
row.tenderType = "";
row.checkType_dictText = "";
row.checkType = "";
row.processType_dictText = "";
row.processType = "";
row.signUp_dictText = "";
row.signUp = "";
row.bidOpenType_dictText = "";
row.bidOpenType = "";
row.evaluationType_dictText = "";
row.evaluationType = "";
row.bidding = "";
row.bidding_dictText = "";
row.purchaseType = "";
row.purchaseType_dictText = "";
},
}税码 taxCode 🎉
json
{
"groupCode": "projectItemList",
"fieldType": "remoteSelect",
"title": "税码",
"field": "taxCode",
"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;
}
row.taxCode = data[0].taxCode;
row.taxRate = data[0].taxRate;
}js
{
modalColumns: [
{
field: "taxCode",
title: "税码",
fieldLabelI18nKey: "i18n_field_taxCode",
with: 150,
},
{
field: "taxRate",
title: "税率(%)",
fieldLabelI18nKey: "i18n_field_fIW_1d82c0c",
with: 150,
},
{
field: "taxName",
title: "税码名称",
fieldLabelI18nKey: "i18n_field_taxName",
with: 150,
},
{
field: "remark",
title: "备注",
fieldLabelI18nKey: "i18n_field_remark",
with: 150,
},
],
modalUrl: "/base/tax/queryTaxForTemplate",
modalParams: {},
afterRowClearCallBack: function (Vue, row) {
row.taxCode = "";
row.taxRate = "";
},
}