{"version":3,"file":"category-tree-bar-service-0814edc6.js","sources":["../../../../src/components/material/category-tree-bar/common-tree/CommonTree.vue","../../../../src/infrastructure/apis-functions/material/workflow.api.ts","../../../../src/infrastructure/configs/material/workflow.ts","../../../../src/components/material/category-tree-bar/category-tree-bar-abstract.ts","../../../../src/components/material/work-flow-process/process-tree/category-tree-bar-service.ts"],"sourcesContent":["\n \n \n \n
\n
\n
\n
\n
0\"\n :icon=\"isExpand ? 'SolidDropdownOpen' : 'SolidDropdownRight'\"\n @click.stop=\"handleLoadingChild(node, isExpand, toggleNodeExpand)\"\n />\n \n \n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n \n\n \n\n\n\n\n\n","import type { I_OntologyItem } from '@/presentation/components/material/workflow-explorer/service.type';\nimport { container } from '@eureka/services';\n// workflow type 枚举\nexport enum E_WorkflowType {\n POlYMER = 'polymer',\n METAL ='metal',\n CERAMIC='ceramic'\n}\n\n/**\n * 获取默认ontology 请求参数\n */\nexport interface I_DefaultOntologyParams {\n ppi_ids: string\n /**\n * 返回列表是否包含子节点数量\n */\n with_child_count: boolean\n}\n\n/**\n * 查询ontology 请求参数\n */\nexport interface I_OntologyParams {\n parent_id: string\n /**\n * 返回列表是否包含子节点数量\n */\n with_current: boolean\n}\n\n/**\n * Workflow服务\n * @class WorkflowApis\n */\nexport class WorkflowApis {\n /**\n * 获取默认展示的节点信息\n * @param params\n * @returns\n */\n static getDefaultOntology(params: I_DefaultOntologyParams): Promise {\n return container.RnDHttp.get({\n url: `${process.env.VUE_APP_EUREKA_SERVICE_URI}/eureka/material/ontology`,\n params,\n cache: true,\n }).then(res => {\n return res.data || []\n })\n }\n\n /**\n * 获取子节点信息\n * @param params\n * @returns\n */\n static getOntologyChildData(params: I_OntologyParams) {\n return container.RnDHttp.get({\n url: `${process.env.VUE_APP_EUREKA_SERVICE_URI}/eureka/material/ontology/tree`,\n params,\n cache: true,\n }).then(res => {\n return res.data || []\n })\n }\n}\n","// 可选择所有数据的最大值\nexport const MAX_SELECTED_ALL = 10\n\n// tabs 枚举\nexport enum E_SearchModuleTabs {\n POlYMER = 'POLYMER_PPI_IDS',\n METAL ='METAL_PPI_IDS',\n CERAMIC='CERAMIC_PPI_IDS'\n}\n// tabs 数组\nexport const TABS = [E_SearchModuleTabs.POlYMER, E_SearchModuleTabs.METAL, E_SearchModuleTabs.CERAMIC]\n\n// 埋点tab\nexport const trackTabMap = {\n [E_SearchModuleTabs.POlYMER]: 'polymer',\n [E_SearchModuleTabs.METAL]: 'metal',\n [E_SearchModuleTabs.CERAMIC]: 'ceramic',\n}\n\n// workflow process type枚举\nexport enum E_ProcessStyleType {\n ATOM = 'atom',\n STRUCTURE = 'structure'\n}\n\n/**\n * ATOM 绿色系\n * STRUCTURE 紫色系\n */\nexport const COLOR_MAP = {\n [E_ProcessStyleType.ATOM]: {\n lighter: '#F4FAF9',\n light: '#E0F5F2',\n deep: '#18B297',\n grey: '#495973',\n white: '#ffffff',\n },\n [E_ProcessStyleType.STRUCTURE]: {\n lighter: '#F9F6FE',\n light: '#F3E5FF',\n deep: '#914AED',\n grey: '#495973',\n white: '#ffffff',\n },\n}\n\n/**\n * 搜索推荐数量\n */\nexport const SEARCH_RECOMMEND_COUNT = 10\n\n/**\n * polymer 数据\n */\nexport const POlYMER_ROOT_DATA = [\n [{\n ppi_id: 13030020,\n },\n {\n ppi_id: 13030018,\n },\n {\n ppi_id: 13030015,\n },\n {\n ppi_id: 13030019,\n }],\n [{\n ppi_id: 13030021,\n }],\n [{\n ppi_id: 13030014,\n },\n {\n ppi_id: 13030013,\n }],\n [{\n ppi_id: 13030017,\n },\n {\n ppi_id: 13030016,\n },\n {\n ppi_id: 13030022,\n }]\n]\n\n// export const POlYMER_ROOT_DATA = [\n// [\n// {\n// ppi_id: 13030013,\n// },\n// {\n// ppi_id: 13030014,\n// display_name_en: 'polymer type',\n// display_name_cn: '聚合物类型',\n// },\n// {\n// ppi_id: 13030015,\n// display_name_en: 'monomers',\n// display_name_cn: '单体',\n// },\n// {\n// ppi_id: 13030016,\n// display_name_en: 'chemical treatment',\n// display_name_cn: '化学处理',\n// }],\n// [{\n// ppi_id: 13030017,\n// display_name_en: 'physical treatment',\n// display_name_cn: '物理处理',\n// }],\n// [{\n// ppi_id: 13030018,\n// display_name_en: 'catalysts',\n// display_name_cn: '催化剂',\n// },\n// {\n// ppi_id: 13030019,\n// display_name_en: 'polymerisation media',\n// display_name_cn: '聚合介质',\n// }],\n// [{\n// ppi_id: 13030020,\n// display_name_en: 'compounding ingredients',\n// display_name_cn: '复合成分',\n// },\n// {\n// ppi_id: 13030021,\n// display_name_en: 'polymerisation process',\n// display_name_cn: '聚合方法',\n// },\n// {\n// ppi_id: 13030022,\n// display_name_en: 'manufacturing workup',\n// display_name_cn: '制备加工',\n// }]\n// ]\n\n/**\n * metal 数据\n */\nexport const METAL_ROOT_DATA = [\n [\n {\n ppi_id: 13030008,\n display_name_en: 'ores',\n display_name_cn: '矿石',\n },\n {\n ppi_id: 13030012,\n display_name_en: 'waste material',\n display_name_cn: '废料',\n }\n ], [\n {\n ppi_id: 13030003,\n display_name_en: 'ore extraction',\n display_name_cn: '矿石提取',\n },\n {\n ppi_id: 13030010,\n display_name_en: 'metal recovery',\n display_name_cn: '金属回收/再生',\n }\n ], [\n {\n ppi_id: 13030001,\n display_name_en: 'metals',\n display_name_cn: '金属',\n }\n ], [\n {\n ppi_id: 13030006,\n display_name_en: 'metal refining',\n display_name_cn: '金属精炼',\n },\n {\n ppi_id: 13030004,\n display_name_en: 'alloying process',\n display_name_cn: '合金化处理',\n },\n {\n ppi_id: 13030009,\n display_name_en: 'metal alloy treatment',\n display_name_cn: '金属合金处理',\n }\n ], [\n {\n ppi_id: 13030002,\n display_name_en: 'alloys',\n display_name_cn: '合金',\n }\n\n ], [\n {\n ppi_id: 13030005,\n display_name_en: 'fabrication process',\n display_name_cn: '制造过程',\n }\n ]\n // [\n\n // {\n // ppi_id: 13030007,\n // display_name_en: 'alloying elements',\n // display_name_cn: '合金元素',\n // },\n\n // {\n // ppi_id: 13030011,\n // display_name_en: 'metal additives',\n // display_name_cn: '金属添加剂',\n // }\n // ]\n]\n\n/**\n * ceramic 数据\n */\nexport const CERAMIC_ROOT_DATA = [\n [\n {\n ppi_id: 13030027,\n display_name_en: 'ceramic raw materials',\n display_name_cn: '陶瓷原材料',\n },\n {\n ppi_id: 13030025,\n display_name_en: 'ceramic additives',\n display_name_cn: '陶瓷添加剂',\n }\n ],\n [\n {\n ppi_id: 13030024,\n display_name_en: 'ceramic pretreatment',\n display_name_cn: '陶瓷预处理',\n },\n {\n ppi_id: 13030029,\n display_name_en: 'ceramic green machining',\n display_name_cn: '陶瓷的成型',\n },\n {\n ppi_id: 13030028,\n display_name_en: 'ceramic heat treatment',\n display_name_cn: '陶瓷热处理',\n }\n ], [\n {\n ppi_id: 13030023,\n display_name_en: 'ceramic types',\n display_name_cn: '陶瓷类型',\n }\n ], [\n {\n ppi_id: 13030026,\n display_name_en: 'ceramic finishing',\n display_name_cn: '陶瓷后处理',\n }\n ]\n]\n\n/**\n * workflow selectedList 前端缓存\n */\nexport const WORKFLOW_SELECTED_LIST = 'WORKFLOW_SELECTED_LIST'\n\n/**\n * workflow activeTab 前端缓存\n */\nexport const WORKFLOW_ACTIVE_TAB = 'WORKFLOW_ACTIVE_TAB'\n","export abstract class CategoryTreeBarAbstract {\n isLoading = true\n isSearchLoading = false\n isShowPopover = false\n searchValue = ''\n lastSearch = ''\n // input 字符限制\n maxLength = 1000\n treeData: T[]\n // 层级为1的treeData\n originTreeData: T[]\n searchResult: k[]\n\n constructor() {\n this.init()\n }\n\n init() {}\n\n // 搜索词变化处理\n abstract handleSearchValueChange(value: string):void\n\n abstract getSearchResult():void\n\n // 搜索推荐\n abstract search(): void\n\n // 点击推荐列表\n abstract handleClickSearchItem(k): void\n\n // 获取列表\n abstract fetchTreeData(): void\n\n // 获取子元素\n abstract getChildData(id: string): void\n}\n","import _ from 'lodash'\nimport { WorkflowApis } from '@/infrastructure/apis-functions/material/workflow.api'\nimport { CommonApis } from '@/infrastructure/apis-functions/material/common.api'\nimport { SEARCH_RECOMMEND_COUNT } from '@/infrastructure/configs/material/workflow'\nimport type { I_SuggestData } from '@/infrastructure/apis-functions/material/common.type';\nimport { E_SuggestType } from '@/infrastructure/apis-functions/material/common.type'\nimport { displaySuggestContent } from '@eureka/utils/material.util'\nimport { CategoryTreeBarAbstract } from '../../category-tree-bar/category-tree-bar-abstract'\nimport type { I_ProcessItem } from '../../workflow-explorer/service.type'\n\nexport interface TreeData extends I_ProcessItem {\n isLoading?: boolean,\n}\n\nexport interface I_SearchResult extends I_SuggestData {\n highlight: string\n}\nexport class CategoryTreeBarService extends CategoryTreeBarAbstract {\n rootId = '';\n\n constructor(id: string) {\n super()\n this.rootId = id\n }\n\n async init() {\n const origin = await this.fetchTreeData(this.rootId)\n this.originTreeData = _.cloneDeep(origin)\n }\n\n // 搜索\n handleSearchValueChange(search: string) {\n this.searchResult = []\n this.isSearchLoading = true\n if (search && search !== this.lastSearch) {\n this.debounceSearch()\n } else {\n if (_.size(this.originTreeData)) {\n /**\n * search 为空的时候 模拟loading重新渲染树\n */\n this.isLoading = true\n this.treeData = this.originTreeData\n setTimeout(() => {\n this.isLoading = false\n }, 0)\n }\n }\n }\n\n async getSearchResult() {\n this.isShowPopover = true\n this.isSearchLoading = true\n this.searchResult = await this.search()\n this.isSearchLoading = false\n }\n\n // 搜索推荐\n async search(): Promise {\n const data = await CommonApis.getSuggestion({\n q: this.searchValue,\n type: E_SuggestType.ONTOLOGY,\n n: SEARCH_RECOMMEND_COUNT,\n fq: this.rootId,\n })\n return _.map(data, (item) => {\n return {\n ...item,\n highlight: displaySuggestContent(item, this.searchValue),\n }\n })\n }\n\n debounceSearch = _.debounce(this.getSearchResult, 500)\n\n // 点击推荐重新获取tree\n handleClickSearchItem(item: I_SuggestData) {\n this.searchValue = item.suggest_name\n this.isShowPopover = false\n this.lastSearch = this.searchValue\n this.fetchTreeData(item.id, true)\n }\n\n async fetchTreeData(parent_id?: string, with_current = false) {\n if (!parent_id) return\n this.isLoading = true\n this.treeData = await this.getOntologyChildData(parent_id, with_current)\n this.isLoading = false\n return this.treeData\n }\n\n // 点击展开获得tree\n getChildData(parentId: string) {\n return this.getOntologyChildData(parentId, false)\n }\n\n // 获取子节点数据\n async getOntologyChildData(parentId:string, with_current = false): Promise {\n const data = await WorkflowApis.getOntologyChildData({ parent_id: parentId, with_current })\n return data\n }\n}\n"],"names":["props","__props","emit","__emit","PtVirtualTreeRef","ref","innerData","defaultKeys","computed","_","map","selectedList","item","nodeKey","watch","treeData","val","size","value","cloneDeep","nextTick","setCheckedKeys","autoExpand","expandNode","key","ppi_id","expandAll","flatTree","flatMapDeep","node","children","n","forEach","tree","immediate","getCheckIcon","isChecked","onToggleCheck","toggleCheck","data","handleLoadingChild","isExpand","toggleNodeExpand","length","isFunction","loadingChild","isLoading","hasChild","WorkflowApis","getDefaultOntology","params","container","RnDHttp","get","url","process","VUE_APP_EUREKA_SERVICE_URI","cache","then","res","getOntologyChildData","MAX_SELECTED_ALL","E_SearchModuleTabs","TABS","trackTabMap","E_ProcessStyleType","COLOR_MAP","lighter","light","deep","grey","white","SEARCH_RECOMMEND_COUNT","POlYMER_ROOT_DATA","METAL_ROOT_DATA","display_name_en","display_name_cn","CERAMIC_ROOT_DATA","WORKFLOW_SELECTED_LIST","WORKFLOW_ACTIVE_TAB","CategoryTreeBarAbstract","constructor","isSearchLoading","isShowPopover","searchValue","lastSearch","maxLength","originTreeData","searchResult","init","CategoryTreeBarService","id","rootId","debounceSearch","debounce","getSearchResult","origin","fetchTreeData","handleSearchValueChange","search","setTimeout","CommonApis","getSuggestion","q","type","E_SuggestType","ONTOLOGY","fq","highlight","displaySuggestContent","handleClickSearchItem","suggest_name","parent_id","with_current","getChildData","parentId"],"mappings":"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"}