UNPKG

iv-npm

Version:

公共通用包

1,038 lines (692 loc) 85.3 kB
# iv-npm [TOC] ## 介绍 使用pnpm+workspace+turborepo实现的monorepo管理方式的公共npm包 项目使用pnpm作为包管理工具。请自行全局下载。 ## 注意事项 - 对于打包、发布、修订版本号这些操作,直接使用`npm run push`完成即可 - **对于每次代码改动提交,请务必及时更新文档,保证文档信息一致性** - 代码的改动请保证向下兼容,不要影响现有功能。 ## 安装依赖 > pnpm install ## 打包发布 在登陆过npm情况下,发布需要修改**根下version**,并关闭所有的private属性。 > pnpm run push ## 使用 > npm i iv-npm ```ts // main.ts import ivUi from "iv-npm/packages/ui"; app.use(ivUi) ``` ```vue // UI组件使用方法 <template> <IVMrpModal v-model:show="Visible"></IVMrpModal> </template> <script setup lang="ts"> // 内部有自动注册,可以不用显示引入 import { IVMrpModal } from "iv-npm/packages/ui"; </script> ``` ```vue // 工具函数使用方法 <script setup lang="ts"> import { findTree } from "iv-npm/packages/shared/utils"; </script> ``` ## 公用函数文档 ### 数组 数组方法全部使用`number-precision`插件进行计算,从而避免出现js小数计算精度问题。同时也将会导出` strip, plus, minus, times, divide, round`这些由插件提供方法,具体细节请常查看[**number-precision**文档](https://github.com/nefe/number-precision)。 **formatPercentage** 计算两个数字的百分百比 ```typescript // complete 分子 // need 分母 export const formatPercentage: (complete: number, need: number) => number ``` **arraySum** 计算数组之和 ```typescript // arr 计算数组 const arraySum: (arr: number[]) => number ``` **arraySumByKey** 计算数组对象中某个字段之和 ```typescript // arr 计算数组对象 // key 数组对象某key值 const arraySumByKey: (arr: any[], key: string) => number ``` **isArraySumCompared** 判断两个数组对象中某个字段之和是否相同 ```typescript // arr1 数组对象1 // arr2 数组对象2 // key1 数组对象1中某个key值 // key2 数组对象2中某个key值,如果未传递则使用key1 const isArraySumCompared: (arr1: any[], arr2: any[], key1: string, key2?: string) => boolean ``` ### 树结构 **arrToTree** 数组转树结构(两级树结构),返回树结构中子级字段为children 逻辑简介 > - 遍历数据 > - 如果当前元素不存在父级标记,则表示当前元素为父级元素 > - 找到数据中所有父级标记与当前元素的子级标记相同的的数据 > - 如果找到的数据不为空,则为当前元素添加子级元素列表children ```typescript // list 需要转换的数组 // parentMark 父级标记,子级中指向当前元素父级的字段 // childrenMark 子级标记,父级中指向当前元素子级的字段 const arrToTree: (list: any[], parentMark: string, childrenMark: string) => any ``` **tranListToTreeData** 数组转树结构(多级树结构),返回树结构中子级字段为children 逻辑简介 > - 遍历数据 > - 在数据中过滤出parentId为null的元素,表示第一层数据。 > - 用第一层数据去递归加载自己的子项(1) > - 找到数据中所有id于当前元素的parentId相等的数据 > - 将其添加到当前元素的子项children > - 再次遍历当前元素子项去递归(1)当前元素子项的子项 ```typescript // list 需要转换的数组 interface TreeList { parentId: string | null; // 父级标记,子级中指向当前元素父级的字段 id: string; // 子级标记,父级中指向当前元素子级的字段 children?: TreeList[]; // 返回子级数据 } const tranListToTreeData<T extends TreeList>: (list: T[]) => T[] ``` **findTree** 通过递归方式查询树结构中某一个元素 ```typescript // id 需要查询元素的value值 // list 需要查询的数据 // idName 需要查询元素的key值 const findTree<T extends { id: string; children?: T[] | undefined; }>: (id: string, list: T[], idName?: any) => any ``` ### 金额格式化 **numFormat** 增加金额千分位标记和保留某位小数 ```typescript // num 需要格式化金额 // suffix 保留小数,默认保留2位 const numFormat: (num: number, suffix?: number) => string ``` **getAmountByUnit** 将金额转换为大写,最大九位数。不足用¥填充,用于金额模板打印 ```typescript // amount 金额 const getAmountByUnit: (amount: number) => string ``` ~~**amountToFixed(废弃,numFormat替代)**~~ 将金额保留两位小数。如果包含元字,处理结果也会返回元 ```typescript // _v 金额 const amountToFixed: (_v?: number | string) => string | 0 ``` ~~**amountToThousandthFixed(废弃,numFormat替代)**~~ 将金额加千分符并保留两位小数。如果包含元字,处理结果也会返回元 ```typescript // num 金额 // fixed 保留小数位 const amountToThousandthFixed: (num?: number | string, fixed?: number) => string | 0 ``` ### ~~日期(废弃)~~ 日期处理函数建议使用DayJs替代。 ```typescript type formatType = { date: string; time: string; week: string; }; ``` **dateFormat** 格式化日期 - 未传递参数则使用当前时间 - 传递时间未传递格式化模板则返回FormatType对象 - 传递时间且传递格式化模板则返回格式化时间字符串 ```typescript // data 时间 // format 格式化模板(YYYY-MM-DD hh:mm:ss) const dateFormat: () => formatType; const dateFormat: (data: Date |string, format: string) => string; const dateFormat: (data?: Date|string, format?: string) => string | formatType ``` **yearMonthFormat** 格式化日期,如果传递日期则返回YYYY年MM月,否则返回空串 ```typescript const yearMonthFormat: (data?: Date) => string | formatType ``` **yearMonthDayFormat** 格式化日期,如果传递日期则返回YYYY年MM月DD日,否则返回空串 ```typescript const yearMonthDayFormat: (data?: Date) => string | formatType ``` ### 枚举 **ProjectStausEnum** ```typescript // 项目状态枚举 enum ProjectStausEnum { "待开工" = 0, "在建" = 1, "完工未结算" = 2, "完工已结算" = 4, "已销项" = 8, } ``` **SignStatusEnum** ```typescript // 签证状态枚举 enum SignStatusEnum { "待签约" = 1, "已签约" = 2, "已完结" = 4, "诉讼中" = 8, } ``` **LineIDEnum** ```typescript // 条线ID枚举 enum LineIDEnum { "tx01" = 1, // 合约 "tx02" = 1 << 1, // 材料 "tx03" = 1 << 2, // 资产 "tx04" = 1 << 3, // 市场 "tx05" = 1 << 4, // 技术, } ``` ### API请求处理函数 **buildURL** 构建get请求url,将参数添加到地址中。(**内部ui组件使用**) ```typescript // url // params get形式参数对象 const buildURL: (url: string, params: any) => string ``` **hostConfiger** 构建请求Host地址。区分本地、nacho以及stecip环境。(**内部ui组件使用**) ```typescript type HostKey = | "BASE_URL" | "MRP_URL" | "MRP2_URL" | "ASSET_URL" | "ASSETS_URL" | "GATEWAY_URL" | "SFM_URL" | "CCFLOW_URL" | "SHARECOOL_URL" | "PDM_URL" const hostConfiger: (key: HostKey) => string ``` **apiConfiger** 对传入配置修改baseUrl属性,通常传入配置为Axios拦截器config,同时区分本地、nacho以及stecip环境 可以理解为函数会在不同环境返回相应的baseUrl,以实现环境变量控制接口。 同时需要注意在使用时需要给congfig传递requestBase来区分多个域名。具体值自行查看。 - 本地开发config.baseUrl返回值为vite.config.server.proxy的代理key值,以实现本地代理。 - nacho环境config.baseUrl返回值为根据requestBase对应的www.XX.nacho.cn的域名。 - stecip环境config.baseUrl返回值为根据requestBase对应的www.XX.stecip.com的域名 ```typescript const apiConfiger: (config:any) => any ``` ### 工具函数 **isPlainObject** 检查对象是否为普通对象(使用“{}”或“new Object”创建) ```typescript const isPlainObject: (obj: object) => boolean ``` **isObject** 判断元素是否是一个对象 ```typescript const isObject: (val: unknown) => val is Record<any, any> ``` **isDate** 判断元素是否是一个日期对象 ```typescript const isDate: (val: any) => boolean ``` **isURLSearchParams** 是否是一个URLSearchParams ```typescript const isURLSearchParams: (val: any) => boolean ``` **filterOptionHeadle** Antv下拉框搜索处理函数 ```typescript // key 搜索过滤的key值,需要在下拉框子项元素绑定key的数据 const filterOptionHeadle:(key: string) => (input: string, option: any) => any ``` ## ui组件文档 ### 树形下拉框选择 #### IVAccessoryTypeSelector **说明** 耗材配件类型,树形下拉框,有AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | ------------------------------------------------------------ | ------- | ----------------------------------------------------------- | | value(v-model) | 指定当前选中的条目 | any | | | params | 接口请求参数(get方式) | object | {} | | data | 接口请求参数(post方式) | object | {} | | replaceFields | 替换 treeNode 中 label,value,key,children 字段为 treeData 中对应的字段 | object | {children:'children', label:'name', key:'id', value: 'id' } | | inputStyle | 树选择框的style样式 | object | {} | | formItemStyle | AFormItem的style样式 | object | {} | | labelCol | AFormItem的labelCol | object | {span:4} | | wrapperCol | AFormItem的wrapperCol | object | {span:11} | | isRequired | 是否必选 | boolean | true | | multiple | 是否多选 | boolean | false | | isTitle | 是否显示标题 | boolean | true | | placeholder | 树选择框预览文字 | string | 请选择 | | title | AFormItem的标题 | string | 耗材配件类型 | | name | AFormItem的name,用于AForm检测是否必填 | string | accessory | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | ---------------------- | ---------------------- | | change | 选中树节点时调用此函数 | function(value:string) | #### IVAssetsTypeSelector **说明** 耗材资产类型,树形下拉框,有AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | ------------------------------------------------------------ | ------- | ----------------------------------------------------------- | | value(v-model) | 指定当前选中的条目 | any | | | params | 接口请求参数(get方式) | object | {} | | data | 接口请求参数(post方式) | object | {} | | replaceFields | 替换 treeNode 中 label,value,key,children 字段为 treeData 中对应的字段 | object | {children:'children', label:'name', key:'id', value: 'id' } | | inputStyle | 树选择框的style样式 | object | {} | | formItemStyle | AFormItem的style样式 | object | {} | | labelCol | AFormItem的labelCol | object | {span:4} | | wrapperCol | AFormItem的wrapperCol | object | {span:11} | | isRequired | 是否必选 | boolean | true | | multiple | 是否多选 | boolean | false | | isTitle | 是否显示标题 | boolean | true | | placeholder | 树选择框预览文字 | string | 请选择 | | title | AFormItem的标题 | string | 资产类型 | | name | AFormItem的name,用于AForm检测是否必填 | string | accessory | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | ---------------------- | ---------------------- | | change | 选中树节点时调用此函数 | function(value:string) | #### IVMaterialTypeDropdown **说明** 材料类型类型,树形下拉框,有AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | ------------------------------------------------------------ | ------- | ------------------------------------------------------------ | | value(v-model) | 指定当前选中的条目 | any | | | params | 接口请求参数(get方式) | object | {} | | data | 接口请求参数(post方式) | object | {} | | replaceFields | 替换 treeNode 中 label,value,key,children 字段为 treeData 中对应的字段 | object | {children:'childs', label:'name', key:'id', value: 'id',selectable: "selectable", } | | inputStyle | 树选择框的style样式 | object | {} | | formItemStyle | AFormItem的style样式 | object | {} | | labelCol | AFormItem的labelCol | object | {span:4} | | wrapperCol | AFormItem的wrapperCol | object | {span:11} | | isRequired | 是否必选 | boolean | true | | multiple | 是否多选 | boolean | false | | isTitle | 是否显示标题 | boolean | true | | placeholder | 树选择框预览文字 | string | 请选择 | | title | AFormItem的标题 | string | 材料类型 | | name | AFormItem的name,用于AForm检测是否必填 | string | materialCategoryId | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | ---------------------- | ---------------------- | | change | 选中树节点时调用此函数 | function(value:string) | #### IVMaterialTypeSelector **说明** 材料类型,树形下拉框,有AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | ------------------------------------------------------------ | ------- | --------------------------------------------------------- | | value(v-model) | 指定当前选中的条目 | any | | | params | 接口请求参数(get方式) | object | {} | | data | 接口请求参数(post方式) | object | {} | | replaceFields | 替换 treeNode 中 label,value,key,children 字段为 treeData 中对应的字段 | object | {children:'childs', label:'name', key:'id', value: 'id' } | | inputStyle | 树选择框的style样式 | object | {} | | formItemStyle | AFormItem的style样式 | object | {} | | labelCol | AFormItem的labelCol | object | {span:4} | | wrapperCol | AFormItem的wrapperCol | object | {span:11} | | isRequired | 是否必选 | boolean | true | | multiple | 是否多选 | boolean | false | | isTitle | 是否显示标题 | boolean | true | | placeholder | 树选择框预览文字 | string | 请选择 | | title | AFormItem的标题 | string | 材料类型 | | name | AFormItem的name,用于AForm检测是否必填 | string | materialCategoryId | | sharecool | 更改接口(细节自行查看) | boolean | false | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | ---------------------- | ----------------------------- | | change | 选中树节点时调用此函数 | function(value, label, extra) | #### IVOrgDropdown **说明** 所属组织,树形下拉框,有AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | ------------------------------------------------------------ | ------- | ------------------------------------------------------------ | | value(v-model) | 指定当前选中的条目 | any | | | params | 接口请求参数(get方式) | object | {} | | data | 接口请求参数(post方式) | object | {} | | replaceFields | 替换 treeNode 中 label,value,key,children 字段为 treeData 中对应的字段 | object | {children:'children', label:'displayName', key:'id', value: 'id' } | | inputStyle | 树选择框的style样式 | object | { width: "300px",} | | formItemStyle | AFormItem的style样式 | object | {} | | labelCol | AFormItem的labelCol | object | {span:4} | | wrapperCol | AFormItem的wrapperCol | object | {span:11} | | isRequired | 是否必选 | boolean | true | | multiple | 是否多选 | boolean | false | | isTitle | 是否显示标题 | boolean | true | | placeholder | 树选择框预览文字 | string | 请选择 | | title | AFormItem的标题 | string | 所属组织 | | isByUser | 是否使用ByUser结尾的接口 | boolean | true | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | ---------------------- | ----------------------------- | | change | 选中树节点时调用此函数 | function(value, label, extra) | ### 下拉框选择 #### IVInnerContractSelector **说明** 所属分包合同类型,下拉框,有AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | --------------------------------------- | ---------------------------------------------- | --------------------------- | | value(v-model) | 指定当前选中的条目 | any | | | params | 接口请求参数(get方式) | object | {} | | data | 接口请求参数(post方式) | object | {} | | fieldNames | 自定义节点 label、value、options 的字段 | {label: string,value: string,options?: object} | {label:'name',value: 'id' } | | inputStyle | 树选择框的style样式 | object | {width: "100%",} | | formItemStyle | AFormItem的style样式 | object | {} | | labelCol | AFormItem的labelCol | object | {} | | wrapperCol | AFormItem的wrapperCol | object | {span:8} | | isRequired | 是否必选 | boolean | true | | multiple | 是否多选 | boolean | true | | isTitle | 是否显示标题 | boolean | true | | placeholder | 树选择框预览文字 | string | 请选择合同 | | title | AFormItem的标题 | string | 所属分包合同 | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | -------------------- | ---------------------- | | change | 选中节点时调用此函数 | function(value:string) | #### IVMaterialTypeDropdownFilter **说明** 材料类型过滤版本,下拉框,有AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | --------------------------------------- | ----------------------------------------------- | --------------------------- | | value(v-model) | 指定当前选中的条目 | any | | | params | 接口请求参数(get方式) | { contractId: string; [propName: string]: any } | {} | | data | 接口请求参数(post方式) | object | {} | | fieldNames | 自定义节点 label、value、options 的字段 | {label: string,value: string,options?: object} | {label:'name',value: 'id' } | | inputStyle | 树选择框的style样式 | object | {width: "100%",} | | formItemStyle | AFormItem的style样式 | object | {} | | labelCol | AFormItem的labelCol | object | {span:4} | | wrapperCol | AFormItem的wrapperCol | object | {span:11} | | isRequired | 是否必选 | boolean | true | | multiple | 是否多选 | boolean | false | | isTitle | 是否显示标题 | boolean | true | | placeholder | 树选择框预览文字 | string | 请选择 | | title | AFormItem的标题 | string | 材料类型 | | name | AFormItem的name,用于AForm检测是否必填 | string | materialCategoryId | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | -------------------- | ---------------------- | | change | 选中节点时调用此函数 | function(value:string) | #### IVLineDropdown **说明** 所属分包合同类型,下拉框,有AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | --------------------------------------- | ---------------------------------------------- | ---------------------------------- | | value(v-model) | 指定当前选中的条目 | any | | | params | 接口请求参数(get方式) | object | {} | | data | 接口请求参数(post方式) | object | {} | | fieldNames | 自定义节点 label、value、options 的字段 | {label: string,value: string,options?: object} | {label:'displayName',value: 'id' } | | inputStyle | 树选择框的style样式 | object | {width: "100%",} | | formItemStyle | AFormItem的style样式 | object | {} | | labelCol | AFormItem的labelCol | object | {} | | wrapperCol | AFormItem的wrapperCol | object | {span:8} | | isRequired | 是否必选 | boolean | true | | multiple | 是否多选 | boolean | true | | isTitle | 是否显示标题 | boolean | true | | placeholder | 树选择框预览文字 | string | 请选择 | | title | AFormItem的标题 | string | 所属条线 | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | -------------------- | ---------------------- | | change | 选中节点时调用此函数 | function(value:string) | #### IVMainContractSelector **说明** 所属分包合同类型,下拉框,有AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | --------------------------------------- | ---------------------------------------------- | --------------------------- | | value(v-model) | 指定当前选中的条目 | any | | | params | 接口请求参数(get方式) | object | {} | | data | 接口请求参数(post方式) | object | {} | | fieldNames | 自定义节点 label、value、options 的字段 | {label: string,value: string,options?: object} | {label:'name',value: 'id' } | | inputStyle | 树选择框的style样式 | object | {width: "100%",} | | formItemStyle | AFormItem的style样式 | object | {} | | labelCol | AFormItem的labelCol | object | {} | | wrapperCol | AFormItem的wrapperCol | object | {span:8} | | isRequired | 是否必选 | boolean | true | | multiple | 是否多选 | boolean | false | | isTitle | 是否显示标题 | boolean | true | | placeholder | 树选择框预览文字 | string | 请选择工程项目合同 | | title | AFormItem的标题 | string | 所属工程项目合同 | | name | AFormItem的name,用于AForm检测是否必填 | string | parentContractId | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | -------------------- | ---------------------- | | change | 选中节点时调用此函数 | function(value:string) | #### IVManagDropdown **说明** 所属分包合同类型,下拉框,有AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | --------------------------------------- | ---------------------------------------------- | --------------------------- | | value(v-model) | 指定当前选中的条目 | any | | | params | 接口请求参数(get方式) | object | {} | | data | 接口请求参数(post方式) | object | {} | | fieldNames | 自定义节点 label、value、options 的字段 | {label: string,value: string,options?: object} | {label:'name',value: 'id' } | | inputStyle | 树选择框的style样式 | object | {} | | formItemStyle | AFormItem的style样式 | object | {} | | labelCol | AFormItem的labelCol | object | {} | | wrapperCol | AFormItem的wrapperCol | object | {} | | isRequired | 是否必选 | boolean | true | | multiple | 是否多选 | boolean | false | | isTitle | 是否显示标题 | boolean | true | | placeholder | 树选择框预览文字 | string | 请选择 | | title | AFormItem的标题 | string | 管理主体 | | name | AFormItem的name,用于AForm检测是否必填 | string | } | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | -------------------- | ---------------------- | | change | 选中节点时调用此函数 | function(value:string) | #### IVOuterContractSelector **说明** 所属分包合同,下拉框,有AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | --------------------------------------- | ---------------------------------------------- | --------------------------- | | value(v-model) | 指定当前选中的条目 | any | | | params | 接口请求参数(get方式) | object | {} | | data | 接口请求参数(post方式) | object | {} | | fieldNames | 自定义节点 label、value、options 的字段 | {label: string,value: string,options?: object} | {label:'name',value: 'id' } | | inputStyle | 树选择框的style样式 | object | {width: "100%",} | | formItemStyle | AFormItem的style样式 | object | {} | | labelCol | AFormItem的labelCol | object | {} | | wrapperCol | AFormItem的wrapperCol | object | {span: 8,} | | isRequired | 是否必选 | boolean | true | | multiple | 是否多选 | boolean | true | | isTitle | 是否显示标题 | boolean | true | | placeholder | 树选择框预览文字 | string | 请选择合同 | | title | AFormItem的标题 | string | 所属分包合同 | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | -------------------- | ---------------------- | | change | 选中节点时调用此函数 | function(value:string) | #### IVPostDropdown **说明** 岗位,下拉框,有AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | --------------------------------------- | ---------------------------------------------- | --------------------------- | | value(v-model) | 指定当前选中的条目 | any | | | params | 接口请求参数(get方式) | object | {} | | data | 接口请求参数(post方式) | object | {} | | fieldNames | 自定义节点 label、value、options 的字段 | {label: string,value: string,options?: object} | {label:'name',value: 'id' } | | inputStyle | 树选择框的style样式 | object | {width: "300px",} | | formItemStyle | AFormItem的style样式 | object | {} | | labelCol | AFormItem的labelCol | object | {} | | wrapperCol | AFormItem的wrapperCol | object | {span: 8,} | | isRequired | 是否必选 | boolean | true | | multiple | 是否多选 | boolean | false | | isTitle | 是否显示标题 | boolean | true | | placeholder | 树选择框预览文字 | string | 请选择 | | title | AFormItem的标题 | string | 岗位 | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | -------------------- | ---------------------- | | change | 选中节点时调用此函数 | function(value:string) | #### IVProdBaseDropdown **说明** 所属基地,下拉框,有AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | -------------------------------------------- | ---------------------------------------------- | --------------------------- | | value(v-model) | 指定当前选中的条目 | any | | | params | 接口请求参数(get方式) | object | {} | | data | 接口请求参数(post方式) | object | {} | | fieldNames | 自定义节点 label、value、options 的字段 | {label: string,value: string,options?: object} | {label:'name',value: 'id' } | | inputStyle | 树选择框的style样式 | object | {width: "100%",} | | formItemStyle | AFormItem的style样式 | object | {} | | labelCol | AFormItem的labelCol | object | {} | | wrapperCol | AFormItem的wrapperCol | object | {span: 8,} | | isRequired | 是否必选 | boolean | true | | multiple | 是否多选 | boolean | true | | isTitle | 是否显示标题 | boolean | true | | placeholder | 树选择框预览文字 | string | 请选择 | | title | AFormItem的标题 | string | 所属基地 | | name | AFormItem的name,用于AForm检测是否必填 | string | productionBaseId | | isSetOfBookId | 是否根据本地账套过滤基地(调用接口过滤) | boolean | false | | setOfBookId | 根据指定账套过滤基地,没有传递取账号当前账套 | string | | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | -------------------- | --------------------------------- | | change | 选中节点时调用此函数 | function(value:string,option:any) | #### IVSetofbookDropdown **说明** 所属账套,下拉框,有AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | --------------------- | ------------------------------------------------------------ | ---------------------------------------------- | ----------------------------------------------------------- | | value(v-model) | 指定当前选中的条目 | any | | | params | 接口请求参数(get方式) | object | {} | | data | 接口请求参数(post方式) | object | {} | | fieldNames | 自定义节点 label、value、options 的字段 | {label: string,value: string,options?: object} | {label:'name',value: 'id' } | | replaceFields | 替换 treeNode 中 label,value,key,children 字段为 treeData 中对应的字段 | object | {children:'children', label:'name', key:'id', value: 'id' } | | inputStyle | 树选择框的style样式 | object | {width: "300px",} | | formItemStyle | AFormItem的style样式 | object | {} | | labelCol | AFormItem的labelCol | object | {} | | wrapperCol | AFormItem的wrapperCol | object | {span: 8,} | | isRequired | 是否必选 | boolean | true | | isDefault | 是否去默认第一条数据为默认值 | boolean | false | | multiple | 是否多选 | boolean | true | | isTitle | 是否显示标题 | boolean | true | | allowClear | 是否显示清除按钮 | boolean | true | | isFilterUserSetOfBook | 是否根据用户权限筛选账套(生产模式) | boolean | false | | placeholder | 树选择框预览文字 | string | 请选择 | | title | AFormItem的标题 | string | 所属账套 | | name | AFormItem的name,用于AForm检测是否必填 | string | setOfBookIds | | isSetOfBookId | 是否根据本地账套过滤账套(生产模式) | boolean | false | | setOfBookId | 根据指定账套过滤基地,没有传递取账号当前账套,(经济模式下,默认根据当前账户账套筛选,可传入值。生产模式下,默认获取全部,传入isSetOfBookId则表示根据当前账户账套筛选,可传入值) | string | | | type | 区分生产和经济请求接口 | "economic" \|"production" | "production" | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | -------------------- | --------------------------------- | | change | 选中节点时调用此函数 | function(value:string,option:any) | #### IVRateDropdown **说明** 税率选择,下拉框,无AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | --------------------------------------- | ---------------------------------------------- | ----------------------------- | | value(v-model) | 指定当前选中的条目 | any | | | fieldNames | 自定义节点 label、value、options 的字段 | {label: string,value: string,options?: object} | {label:'name',value: 'name' } | | inputStyle | 树选择框的style样式 | object | {width: "100%",} | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | -------------------- | --------------------------------- | | change | 选中节点时调用此函数 | function(value:string,option:any) | #### IVUnitDropdown **说明** 单位选择,下拉框,无AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | --------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------- | | value(v-model) | 指定当前选中的条目 | any | | | fieldNames | 自定义节点 label、value、options 的字段 | {label: string,value: string,options?: object} | { label: "name", value: "id", options: "measurementUnits" } | | inputStyle | 树选择框的style样式 | object | {} | | params | 接口请求参数(get方式) | object | {} | | data | 接口请求参数(post方式) | object | {} | | bordered | 是否显示边框 | boolean | false | | placeholder | 选择框预览文字 | string | | | lineEnum | 条线筛选 | number | | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | -------------------- | ---------------------------------- | | change | 选中节点时调用此函数 | function(value:string,name:string) | #### IVPaytypeSelector **说明** 付款形式,多选框,有AFormItem包裹。 **API** | 参数 | 说明 | 类型 | 默认值 | | -------------- | ------------------------ | ------- | ---------- | | value(v-model) | 指定当前选中的条目 | any | | | params | 接口请求参数(get方式) | object | {} | | data | 接口请求参数(post方式) | object | {} | | formItemStyle | AFormItem的style样式 | object | {} | | labelCol | AFormItem的labelCol | object | {span: 2,} | | wrapperCol | AFormItem的wrapperCol | object | {span:16} | | isTitle | 是否显示标题 | boolean | true | | title | AFormItem的标题 | string | 付款形式 | **Event** | 事件名称 | 说明 | 回调参数 | | ---------------- | -------------------- | ---------------------- | | change(未使用) | 选中节点时调用此函数 | function(value:string) | #### IVClientSelector **说明** 甲方选择,弹窗显示。 **API** | 参数 | 说明 | 类型 | 默认值 | | ------------- | -------- | ------- | ------ | | show(v-model) | 弹窗显示 | boolean | | | title | 弹窗标题 | string | 甲方 | **Event** | 事件名称 | 说明 | 回调参数 | | -------- | ----------------------------------------------------------- | ---------------------- | | getItem | 选中的数据时回调,选中数据会经过stringify序列化,请自行转换 | function(value:string) | ### 弹窗选择 #### IVContractSelector **说明** 合同选择,弹窗显示。 **API** | 参数 | 说明 | 类型 | 默认值 | | ---------------------- | ----------------------------------------------- | -------- | ------ | | show(v-model) | 弹窗显示 | boolean | | | isSearchShow | 是否显示搜索 | boolean | true | | isProjectShow | 是否显示项目列 | boolean | false | | isSetOfBook | 是否显示账套搜索 | boolean | true | | isSignStatus | 是否显示合同状态搜索 | boolean | true | | haskingDeeNo | 是否显示金蝶列以及金蝶搜索 | boolean | false | | query | 接口请求参数(get方式) | object | {} | | params | 接口请求参数(get方式)存在预留字段(自信查看) | object | {} | | params.showAmount | 是否显示金额列 | boolean | false | | data | 接口请求参数(post方式) | object | {} | | setOfBookIds | 请求接口字段,会在请求数据携带 | boolean | false | | contractType | 请求接口字段,会在请求数据携带 | number | | | businessTypeItems | 请求接口字段,会在请求数据携带 | number[] | | | notInBusinessTypeItems | 请求接口字段,会在请求数据携带 | number[] | | | mainContractId