def generateParams(filters: list):
    paramsStr = ''

    # 转换成字符组
    strList = arrays.mapcat(filters, lambda item: item['key'])

    # 获取相似indexsGroup
    indexs = DataUtils.enumSimilarityGroup(strList)

    # 遍历group,查看是不是时间字段,如果是则将indexGroup存下来 [[1,2],[4,5]]
    tempList = []
    for index in range(len(indexs)):
        key = strList[indexs[index][0]].lower()
        if 'time' in key or 'date' in key:
            tempList.append(indexs[index])

    tarList = DataUtils.convertTimeGroup(filters, tempList)

    for item in tarList:
        # 输入类型
        if item['type'] == 'string':
            paramsStr = paramsStr + generateInput(item)
        # 时间类型
        elif item['type'] in ['integer', 'long', 'number'] and DataUtils.isLikeDate(item['key']):
            paramsStr = paramsStr + generateDate(item)
        # select 类型
        elif DataUtils.isSelectType(item):
            paramsStr = paramsStr + generateSelect(item)
        # 未知类型,均按照input进行渲染
        else:
            paramsStr = paramsStr + generateInput(item)

    return paramsStr
def generateManage(path: str, filters, apiItem):
    fileName = path + os.sep + 'Manage.tsx'

    contentTpl = FileTools.readFile(tplPaths['manage'])

    # 寻找filter中时间组索引
    # 转换成字符组
    strList = arrays.mapcat(filters, lambda item: item['key'])

    # 获取相似indexsGroup
    indexs = DataUtils.enumSimilarityGroup(strList)

    # 遍历group,查看是不是时间字段,如果是则将indexGroup存下来 [[1,2],[4,5]]
    tempList = []
    for index in range(len(indexs)):
        key = strList[indexs[index][0]].lower()
        if 'time' in key or 'date' in key:
            tempList.append(indexs[index])

    keyMaps = []
    # 生成相似的索引组与实际formkey关联结构
    # 建立formKey与filterKey的对应关系
    keyMaps = DataUtils.buildMaps(tempList, filters)

    # 循环构建替换代码
    timeTpl = ''
    for formKey in keyMaps:
        tempKey = keyMaps[formKey][0].lower()
        if 'to' in tempKey or 'end' in tempKey:
            timeTpl += 'filterDump.' + keyMaps[formKey][
                1] + '= getValue(filterDump,\'' + formKey + '.startTime\',undefined);'
            timeTpl += 'filterDump.' + keyMaps[formKey][0] + '= getValue(filterDump,\'' + formKey + '.endTime\',undefined);'
        else:
            timeTpl += 'filterDump.' + keyMaps[formKey][
                0] + '= getValue(filterDump,\'' + formKey + '.startTime\',undefined);'
            timeTpl += 'filterDump.' + keyMaps[formKey][1] + '= getValue(filterDump,\'' + formKey + '.endTime\',undefined);'

        timeTpl += 'delete filterDump.' + formKey + ';'

    print(timeTpl)

    # filter.contractStartDate = filter.signDate && filter.signDate.startTime;
    #   filter.contractEndDate = filter.signDate && filter.signDate.endTime;

    # 执行替换

    # 寻找分页参数

    # 执行替换

    # # Manage 筛选条件部分替换
    # REPLACE_MANAGE_FILTER = '##REPLACE_MANAGE_FILTER##'
    # # Manage api导出名称
    # REPLACE_MANAGE_API = '##REPLACE_MANAGE_API##'
    # # Manage api 方法名称
    # REPLACE_MANAGE_API_METHOD = '##REPLACE_MANAGE_API_METHOD##'
    # # 分页参数 - 页 no
    # MANAGE_PAGE_NO = '##MANAGE_PAGE_NO##'
    # # 分页参数 - 页 size
    # MANAGE_PAGE_SIZE = '##MANAGE_PAGE_SIZE##'

    contentTpl = DataUtils.replaceManageTpl(contentTpl, filter, apiItem, timeTpl)

    FileTools.writeFile(fileName, contentTpl)

    contentTpl = PrettierTools.format(fileName)

    FileTools.writeFile(fileName, contentTpl)