add 枚举
This commit is contained in:
@@ -0,0 +1,154 @@
|
|||||||
|
export default class EsEnum {
|
||||||
|
constructor (val) {
|
||||||
|
if (!val) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
Object.keys(val).forEach(key => {
|
||||||
|
const item = val[key]
|
||||||
|
this.addAll(key, item)
|
||||||
|
})
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加枚举
|
||||||
|
* @param key
|
||||||
|
* @param item
|
||||||
|
*/
|
||||||
|
addAll (key, item) {
|
||||||
|
this[key] = item
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取所有枚举值列表
|
||||||
|
* @params decend --是否是降序输出
|
||||||
|
* @returns {Array}
|
||||||
|
*/
|
||||||
|
getItemList (decend) {
|
||||||
|
const optionList = []
|
||||||
|
for (const i in this) {
|
||||||
|
const item = this[i]
|
||||||
|
const option = {}
|
||||||
|
Object.assign(option, item)
|
||||||
|
option.key = i
|
||||||
|
optionList.push(option)
|
||||||
|
}
|
||||||
|
optionList.sort((a, b) => {
|
||||||
|
const value1 = a['index']
|
||||||
|
const value2 = b['index']
|
||||||
|
return decend && (value2 - value1) || (value1 - value2)
|
||||||
|
})
|
||||||
|
return optionList
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取需要排除的枚举值后的所有枚举值列表
|
||||||
|
* @param val 需要排除的枚举值或枚举值数组
|
||||||
|
*/
|
||||||
|
getItemListExcept (val) {
|
||||||
|
let valueArr = []
|
||||||
|
if (val) {
|
||||||
|
if (Array.isArray(val)) {
|
||||||
|
valueArr = val
|
||||||
|
} else {
|
||||||
|
valueArr.push(val)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const optionList = []
|
||||||
|
for (const i in this) {
|
||||||
|
const item = this[i]
|
||||||
|
if (!valueArr.includes(item.name)) {
|
||||||
|
const option = {}
|
||||||
|
Object.assign(option, item)
|
||||||
|
option.key = i
|
||||||
|
optionList.push(option)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return optionList
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据name获取index
|
||||||
|
* @param name
|
||||||
|
*/
|
||||||
|
indexOfName (name) {
|
||||||
|
if (name) {
|
||||||
|
for (const i in this) {
|
||||||
|
const e = this[i]
|
||||||
|
if (e.name.toString() === name.toString()) {
|
||||||
|
return (e.index)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据index获取name
|
||||||
|
* @param index
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
nameOfIndex (index) {
|
||||||
|
if (index === null) {
|
||||||
|
return '--'
|
||||||
|
}
|
||||||
|
for (const i in this) {
|
||||||
|
const e = this[i]
|
||||||
|
if (e.value !== undefined && e.value !== null && e.value.toString() === index.toString()) {
|
||||||
|
return e.text
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return '--'
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过value获取其他属性
|
||||||
|
* @param key
|
||||||
|
* @param value
|
||||||
|
* @returns {*|null}
|
||||||
|
*/
|
||||||
|
propertyOfValue (key, value) {
|
||||||
|
if (!value && value !== 0) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
for (const i in this) {
|
||||||
|
const e = this[i]
|
||||||
|
if (e[key] !== undefined && e[key] !== null && e.value.toString() === value.toString()) {
|
||||||
|
return e[key]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据value模糊获取key
|
||||||
|
*/
|
||||||
|
keyOfValueByLike (value) {
|
||||||
|
if (!value && value !== 0) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
for (const i in this) {
|
||||||
|
const e = this[i]
|
||||||
|
if (e.value !== undefined && e.value !== null && value.toString().indexOf(e.value.toString()) !== -1) {
|
||||||
|
return i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据value获取key
|
||||||
|
*/
|
||||||
|
keyOfValue (value) {
|
||||||
|
if (!value && value !== 0) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
for (const i in this) {
|
||||||
|
const e = this[i]
|
||||||
|
if (e.value !== undefined && e.value !== null && value.toString() === e.value.toString()) {
|
||||||
|
return i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
import EsEnums from './EsEnum'
|
||||||
|
|
||||||
|
export const YesOrNoEnum = new EsEnums({
|
||||||
|
NO: { name: '否', value: '0' },
|
||||||
|
YES: { name: '是', value: '1' }
|
||||||
|
})
|
||||||
|
|
||||||
|
// 既可以使用EsEnums 也可以单独写明
|
||||||
|
export const FieldType = {
|
||||||
|
DATE_SINGLE: { text: '单日期选择', value: '1' },
|
||||||
|
USER_SINGLE: { text: '单选用户弹框', value: '2' },
|
||||||
|
ORGAN_SINGLE: { text: '单选组织机构弹框', value: '3' },
|
||||||
|
DATE_MORE: { text: '多日期选择', value: '4' },
|
||||||
|
TEXTAREA: { text: '多行文本', value: '5' },
|
||||||
|
STANDARD_MORE: { text: '多选标准弹框', value: '6' },
|
||||||
|
ORGAN_MORE: { text: '多选组织机构弹框', value: '7' },
|
||||||
|
FILE_UP: { text: '上传文件', value: '8' },
|
||||||
|
TEXT_BOX: { text: '文本框', value: '9' },
|
||||||
|
OPTION_SINGLE: { text: '下拉单选', value: '10' },
|
||||||
|
OPTION_MORE: { text: '下拉多选', value: '11' },
|
||||||
|
TREE: { text: '树形结构(多选)', value: '12' },
|
||||||
|
// TEXT_LINK: { text: '输入框(链接)', value: '13' },
|
||||||
|
YEAR_PICKER: { text: '年份选择', value: '14' },
|
||||||
|
TREE_SINGLE: { text: '树形结构(单选)', value: '15' },
|
||||||
|
TREE_MODAL_SELECT: { text: '树形弹框', value: '16' }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 标准来源
|
||||||
|
export const StandardSource = {
|
||||||
|
DOMESTIC: { text: '国内', value: '1' },
|
||||||
|
OVERSEAS: { text: '海外', value: '2' },
|
||||||
|
ENTERPRISE: { text: '企标', value: '3' }
|
||||||
|
}
|
||||||
|
|
||||||
|
// 流程key,获取人员信息前需要获取流程定义id,传这里的名字到WorkCenterMixin的getFlowDefinition方法中
|
||||||
|
export const ProcessKey = {
|
||||||
|
// 企标立项/变更计划
|
||||||
|
ES_INIT_CHANGE: { text: 'es-init-change', value: 'es-init-change' },
|
||||||
|
// 年度制修订-各部门主动上报
|
||||||
|
ES_ANNUAL_REPORT: { text: 'es-annual-report', value: 'es-annual-report' },
|
||||||
|
// 年度制修订-标准化部门主动发起
|
||||||
|
ES_ANNUAL_INIT: { text: 'es-annual-init', value: 'es-annual-init' },
|
||||||
|
// 企标制修订流程
|
||||||
|
ES_EDIT: { text: '', value: '' },
|
||||||
|
// 企标更改流程
|
||||||
|
ES_CHANGE: { text: 'es-change', value: 'es-change' },
|
||||||
|
// 企标复审流程
|
||||||
|
ES_RECHECK: { text: 'es-recheck', value: 'es-recheck' },
|
||||||
|
// 企标废止流程
|
||||||
|
ES_ABOLISH: { text: 'es-abolish', value: 'es-abolish' },
|
||||||
|
// 企标封存流程
|
||||||
|
ES_ARCHIVE: { text: 'es-archive', value: 'es-archive' },
|
||||||
|
// 已封存企标启用流程
|
||||||
|
ES_ENABLE: { text: 'es-enable', value: 'es-enable' },
|
||||||
|
// 标准法规入库/变更流程
|
||||||
|
FB_ENTRY_CHANGE: { text: 'fb-entry-change', value: 'fb-entry-change' },
|
||||||
|
// 征求意见流程
|
||||||
|
CONSULTATION: { text: 'fb-standard-consultation', value: 'fb-standard-consultation' },
|
||||||
|
// 项目合规评估流程
|
||||||
|
PROJECT_COMPLIANCE_EVALUATION: { text: '', value: '' },
|
||||||
|
// 未符合项跟踪流程
|
||||||
|
NO_MATCH_TRACKING: { text: '', value: '' },
|
||||||
|
// 法规合规评估流程
|
||||||
|
REGULATORY_COMPLIANCE_ASSESSMENT: { text: 'fb-standard-compliance-assessment', value: 'fb-standard-compliance-assessment' },
|
||||||
|
// 法规采购流程
|
||||||
|
LEGAL_PROCUREMENT: { text: 'fb-standard-purchase', value: 'fb-standard-purchase' },
|
||||||
|
// 企标稽查计划
|
||||||
|
ES_INSPECTION_PLAN: { text: 'inspect_plan', value: 'inspect_plan' },
|
||||||
|
// 企标稽查流程
|
||||||
|
ES_INSPECTION_PROCESS: { text: 'inspect_process', value: 'inspect_process' },
|
||||||
|
// 稽查延期申请流程
|
||||||
|
INSPECTION_EXTENSION_REQUEST_PROCESS: { text: 'inspect_delay_apply_process', value: 'inspect_delay_apply_process' },
|
||||||
|
// 企标稽查整改
|
||||||
|
ES_INSPECTION_RECTIFICATION: { text: 'inspect_plan', value: 'inspect_process' }
|
||||||
|
}
|
||||||
|
|
||||||
|
// 标准法规入库/变更流程
|
||||||
|
export const FGEntryChangeProcessNode = new EsEnums({
|
||||||
|
initiate: { text: '法规工程师发起', value: 'Activity_16zkjpn', btn: ['save', 'submit'], disabled: false },
|
||||||
|
approve: {
|
||||||
|
text: '法规工程师主管级领导审批',
|
||||||
|
value: 'Activity_084um6e',
|
||||||
|
btn: ['return', 'save', 'agree', 'reject'],
|
||||||
|
disabled: true
|
||||||
|
}
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user