interface Iconfig{
    /** 请求列表的接口*/
    fetchFn:Function,

    /**用户可搜索的内容，select为下拉列表,select为数组时为自定义option,w为string时表示获取字典里的值 */
    serchList:Array<{label:String,value:String,select?:Array<{name:string,value:string|Number}>|String }>,

    /**需要的字典数据，以，隔开的string */
    dictData?:String,

    /**table配置 */
    tableList:Array<Object>,
}

import { apiSupervisionProjectLists } from '@/api/supervision_project'
import { apiSupervisionParticipatingUnitsLists, } from '@/api/supervision_participating_units'
import { apiSupervisionCheckItemLists } from '@/api/supervision_check_item'
import { apiManageProjectLists} from '@/api/manage_project'
import { apiSupervisionDangerousEngineeringMonitoringLists, } from '@/api/supervision_dangerous_engineering_monitoring'
import { apiSupervisionMaterialEntryLists } from '@/api/supervision_material_entry'
import { apiSupervisionParticipatingUnitsQualificationsLists } from '@/api/supervision_participating_units_qualifications'
import { apiCostApprovedProjectLists } from '@/api/cost_approved_project'
import { apiCostProjectLists } from '@/api/cost_project'
import { apiTaskTypeLists } from '@/api/task_type'
import {apiSupervisionMaterialEquipmentInfoLists}from "@/api/supervision_material_equipment_info"
import { apiConsultProjectLists} from '@/api/consult_project'
import { apiZjzxInvoiceLists } from '@/api/zjzx_invoice'



export const supervision_project:Iconfig = {
    fetchFn: apiSupervisionProjectLists,
    serchList: [
        {
            label: '项目名称',
            value: "project_name"
        },
        {
            label: '项目编号',
            value: "project_code"
        },
    ],
    tableList: [
        { project_name: "项目名称" },
        { project_code: "项目编号" },
        { industry_text: "性质" },
        { build_unit: "建设单位" },
        { build_area_text: "建设区域" },
        { address: "项目地址" },
        { project_level_text: "项目等级" },
        { total_investment: "总投资" },
        { initiation_date: "立项日期" },
        { contract: "关联合同" },
        { contract_amount: "合同金额" },
        { project_overview: "项目概况" },
        { contract_content: "合同服务内容" },
        { project_requirements: "项目要求" },
        { remark: "备注" },
        { supervision_department: "监管部门" },
        { implementation_department: "实施部门" },
        { project_department: "项目部" },
        { engineering_status_text: "工程状态" },
        { project_manager: "项目负责人员" },
        { part_a_unit: "甲方单位" },
    ]
}

export const supervision_participating_units:Iconfig = {
    fetchFn: apiSupervisionParticipatingUnitsLists,
    serchList: [
        {
            label: '单位名称',
            value: "unit_name"
        },
        {
            label: '资质等级',
            value: "qualification_grade"
        },
    ],
    tableList: [
        { unit_name: "单位名称" },
        { unit_type_text: "单位类别" },
        { qualification_grade: "资质等级" },
        { telephone: "联系电话" },
        { duty: "责任范围" },
    ]
}

export const supervision_check_item:Iconfig = {
    fetchFn: apiSupervisionCheckItemLists,
    dictData:'check_item_node_type',
    serchList: [
        {
            label: '节点名称',
            value: "node_name"
        },
        {
            label: '节点类型',
            value: "node_type",
            select:'check_item_node_type'
        },
    ],
    tableList: [
        { project_name: "项目名称" },
        { node_name: "节点名称" },
        { node_type_text: "节点类型" },
        { node_code: "节点编号" },
    ]
}

export const manage_project:Iconfig = {
    fetchFn: apiManageProjectLists,
    dictData:'cost_consultation_industry_nature,industry,engineering_status',
    serchList: [
        {
            label: '项目名称',
            value: "project_name"
        },
        {
            label: '项目编号',
            value: "project_code",
        },
        {
            label:"性质",
            value:'nature',
            select:'cost_consultation_industry_nature'
        },
        {
            label:"行业",
            value:'industry',
            select:"industry"
        },
        {
            label:"工程状态",
            value:'engineering_status',
            select:"engineering_status"
        }
        
    ],
    tableList: [
        { project_name: "项目名称" },
        { project_code: "项目编号" },
        { nature_text: "性质" },
        { industry_text: "行业" },
        { build_area_text: "建设区域" },
        { project_level_text: "项目级别" },
        { total_investment: "总投资" },
        { engineering_status_text: "工程状态" },
        { implementation_department: "实施部门" },
        { supervision_department: "监管部门" },
        { project_manager: "项目经理" },
    ]
}

export const supervision_dangerous_engineering_monitoring:Iconfig = {
    fetchFn: apiSupervisionDangerousEngineeringMonitoringLists,
    dictData:'partial_project',
    serchList: [
        {
            label: '危大工程类型',
            value: "type"
        },
        {
            label:"分部分项工程",
            value:'partial_project',
            select:"partial_project"
        },
        {
            label:"施工部位",
            value:'position',
        }
        
    ],
    tableList: [
        { project_name: "项目名称" },
        { type_text: "危大工程类型" },
        { partial_project_text: "分部分项工程" },
        { planned_construction_time: "计划施工时间" },
        { position: "施工部位" },
    ]
}

export const supervision_material_entry:Iconfig = {
    fetchFn: apiSupervisionMaterialEntryLists,
    serchList: [
        {
            label: '进场主题',
            value: "theme"
        },
        {
            label:"编号",
            value:'code',
        },
    ],
    tableList: [
        { project_name: "项目名称" },
        { company_name: "采购单位" },
        { theme: "进场主题" },
        { code: "编号" },
        { enter_time: "进场时间" },
        { enter_result_text: "进场结果" },
        { parallel_test_text: "是否平行检验" },
    ]
}

export const supervision_material_equipment_info:Iconfig = {
    fetchFn: apiSupervisionMaterialEquipmentInfoLists,
    serchList: [
        {
            label: '材料/设备名称',
            value: "name"
        },
        {
            label:"材料/设备品牌",
            value:'brand',
        },
         {
            label:"合同约定品牌",
            value:'contract_brand',
            select:[
                {
                name:"否",
                value:0
            },
              {
                name:"是",
                value:1
            },
        
        ]
        },
        {
            label:"类型",
            value:'type',
            select:[
                {
                name:"材料",
                value:0
            },
              {
                name:"设备",
                value:1
            },
        
        ]
        },
    ],
    tableList: [
        { project_name: "项目名称" },
        { name: "材料/设备名称" },
        { brand: "材料/设备品牌" },
        { model: "型号" },
        { unit: "计数单位" },
        { number: "计划数量" },
        { contract_brand_text: "合同约定品牌" },
        { type_text: "类型" },
        { remark: "备注" },
    ]
}

export const supervision_participating_units_qualifications:Iconfig = {
    fetchFn: apiSupervisionParticipatingUnitsQualificationsLists,
    serchList: [
        {
            label: '资质名称',
            value: "qualification_name"
        },
        {
            label:"资质编号",
            value:'qualification_number',
        },
    ],
    tableList: [
        { project_name: "项目名称" },
        { company_name: "所属单位" },
        { qualification_name: "资质名称" },
        { qualification_number: "资质编号" },
        { get_date: "发证日期" },
        { effective_date: "有效日期" },
        { qualification_status_text: "资质状态" },
        { remark: "备注" },
    ]
}

export const cost_approved_projects:Iconfig = {
    fetchFn: apiCostApprovedProjectLists,
    serchList: [
        {
            label: '合同名称',
            value: "contract_name"
        },
        {
            label:"合同编号",
            value:'contract_num',
        },
    ],
    tableList: [
        { contract_num: "合同编号" },
        { contract_name: "合同名称" },
        { part_a: "甲方签约单位" },
        { part_b: "乙方签约单位" },
        { start_date: "合同计划开始日期" },
        { end_date: "合同计划结束日期" },
        { project_money: "工程总投资" },
        { business_nature_text: "业务性质" },
        { dept: "签订部门" },
        { fund_sources_text: "资金来源" },
        { project_director: "项目总监" },
        { regulators: "监管部门" },
    ]
}

export const cost_project:Iconfig = {
    fetchFn: apiCostProjectLists,
    serchList: [
        {
            label: '项目编号',
            value: "project_num"
        },
        {
            label:"项目名称",
            value:'project_name',
        },
    ],
    tableList: [
        { project_name: "项目名称" },
        { address: "具体地址" },
        { starting: "计划开始日期" },
        { endtime: "计划结束日期" },
        { jhgq: "计划工期（天）" },
        { person_text: "项目相关人员" },
        { invest: "项目总投资（万元）" },
        { budget: "预算造价（万元）" },
        { cost: "送审造价（万元）" },
        { approval: "审定造价（万元）" },
        { aunit: "委托单位" },
        { acontactnum: "联系电话" },
        { date: "登记日期" },
        { generalize: "项目规模及概括" },
        { note: "注意事项" },
        { remark: "备注" },
    ]
}

export const task_type:Iconfig = {
    fetchFn: apiTaskTypeLists,
    dictData:"superior_category",
    serchList: [
        {
            label: '任务名称',
            value: "unit_name"
        },
        {
            label:"上级类别",
            value:'superior_sort',
            select:'superior_category'
        },
    ],
    tableList: [
        { dataid: "标识" },
        { num: "任务编号" },
        { name: "任务名称" },
        { level: "任务级次" },
        { remarks: "备注" },
    ]
}

export const consult_project:Iconfig = {
    fetchFn: apiConsultProjectLists,
    dictData:"",
    serchList: [
        {
            label: '项目名称',
            value: "project_name"
        },
        {
            label:"项目编号",
            value:'project_code',
        },
    ],
    tableList: [
        { project_name: "项目名称" },
        { project_code: "项目编号" },
        { company: "委托单位" },
        { total_investment: "总投资" },
        { contract: "关联合同" },
        { engineering_status_text: "工程状态" },
        { consult_type_text: "咨询类型" },
        { supervision_department: "监管部门" },
        { implementation_department: "实施部门" },
        { project_manager: "项目负责人员" },
    ]
}

export const zjzx_invoice:Iconfig = {
    fetchFn: apiZjzxInvoiceLists,
      dictData:"zjzx_invoice_type",
    serchList: [
        {
            label: '开票编号',
            value: "invoice_code"
        },
         {
            label: '发票类型',
            value: "invoice_type",
            select:'zjzx_invoice_type'
        },
        {
            label:"开票单位名称",
            value:'apply_company',
        },
    ],
    tableList: [
        { project_name: "项目名称" },
        { invoice_code: "开票编号" },
        { invoice_type_text: "发票类型" },
        { apply_amount: "开票申请金额" },
       
    ]
}




