/* eslint-disable */ import React, { useCallback, useMemo, useRef, useState, useContext } from "react"; import { StarFilled } from "@ant-design/icons"; import * as commonServices from '@/services/services'; import { Modal, message } from 'antd-v4'; import { AutoComplete, Input } from "antd-v4"; import * as commonUtils from "@/utils/utils"; /* 通用方法 */ import config from '@/utils/config'; import * as commonFunc from "@/components/Common/commonFunc"; const MenuSearchPopovor = props => { const { menuPanel, onSetMenuSearchPopoverVisible, onAddPane, app, dispatch, updateMenuPanel } = useMemo( () => { return props; }, [] ); const popovorRef = useRef(null); const handleTabClick = useCallback(e => { const paneKey = new Date().getTime().toString(); const formId = e.sId; const route = e.sName; const title = e.sMenuName; const sModelsType = e.sModelType; const { sProcName } = e; for (const each of app.panes) { /* 解决导航栏打开页签,Modal不消失问题 */ each.notCurrentPane = true; } const pane = { title, route, formId, key: paneKey, sModelsType, sProcName, notCurrentPane: false }; onAddPane(pane); }); function getAddParameter(value, url) { /* 增加常用操作 */ dispatch({ type: 'app/getAddParameter', payload: { value, url } }); } function getDelParameter(value, url) { /* 删除常用操作 */ dispatch({ type: 'app/getDelParameter', payload: { value, url } }); } const handleStarClick = useCallback(async (e, data) => { e.stopPropagation(); const { sId, sName, sMenuName, iCommonlyUsed } = data; const value = { sFormId: sId, sFormUrl: sName, sFormName: sMenuName }; const { token } = props.app; if (iCommonlyUsed === '0') { const addUrl = `${config.server_host}parameter/addParameter?sModelsId=${sId}`; getAddParameter(value, addUrl) } else { const delUrl = `${config.server_host}parameter/deleteParameter?sModelsId=${sId}`; getDelParameter(value, delUrl) } onSetMenuSearchPopoverVisible(false) // todo更新数据,重新渲染 setTimeout(() => { const url = `${config.server_host}business/getBuMenu?sModelsId=100`; dispatch({ type: 'menuPanel/getMenuPanel', payload: { url } }); }, 300); }); const handleGetSearchInputOption = useCallback(() => { const renderTitle = (title, title1) => ( {title1} {title} ); const renderItem = (title, data, bStar) => ({ value: title, data: data, label: (