import { Node } from "@vue-flow/core";

// 功能块类别
export interface FunctionTypeModel {
  id: string;
  moduleName: string;
  moduleType: string;
  functions: AutoTestNodeData[]; //指的是功能模块 不是函数
}
export enum ExcelTypeName {
  shuxing = "shuxing", //如果是属性，每一个都有 properties都有仪器名称，就不用在properties里再加一个仪器名称了, 在编辑节点时候，右侧给通过方法加上
  fangfare = "fangfare",
  tongyong = "tongyong",
}
// 功能块模型
interface InformationModel {
  nodeName?: string; // 节点名称  lingzong说要有
  // 保留类型的信息以便展示
  functionType: ExcelTypeName;
  functionTypeId: string;

  functionName: string;
  properties?: InforPropertyModel[]; //编辑node节点的时候根据这个数组展示右侧的信息
}
// 功能块模型有哪些属性对应的类 属性名称	初始值	数值类型	下限	上限	输入/输出
export interface InforPropertyModel {
  proName: string;
  defaultValue?: string;
  proType?: "text" | "enum" | "number"; //text enum  number
  minValue?: string;
  maxValue?: string;
  inputOrOutput?: "input" | "output";
  bindValue?: string; //这个是el-form 会绑定的值

  bindLabel?: string; //这个是el-mention 会绑定的值
  bindObjJson?: string; // 这个是el-metntion 会绑定的整个对象的值
}

interface HJNodeData2 {
  label: string;
  isSelected?: boolean;
  isDragging?: boolean;
  information: InformationModel;
}

// 这个类型里面的label 展示的是对应的FunctionTypeModel的名称， 以便在Node.vue中的header中展示
export interface AutoTestNodeData extends Partial<Node> {
  data: HJNodeData2;
}

// export const propertyData = ref<FunctionTypeModel[]>([
//   {
//     id: "1",
//     name: "信号源",
//     functions: [
//       {
//         type: "universal",
//         data: {
//           label: "信号源",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "1",
//             functionName: "查询仪器标识符",
//             properties: [
//               {
//                 proName: "标识符",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "信号源",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "1",
//             functionName: "设置仪器复位",
//           },
//         },
//       },
//
//       {
//         type: "universal",
//         data: {
//           label: "信号源",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "1",
//             functionName: "指令完成查询",
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "信号源",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "1",
//             functionName: "设置频率",
//             properties: [
//               {
//                 proName: "频率(Hz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "信号源",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "1",
//             functionName: "设置频率",
//             properties: [
//               {
//                 proName: "频率(Hz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "信号源",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "1",
//             functionName: "设置功率",
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "信号源",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "1",
//             functionName: "设置输出开",
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "信号源",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "1",
//             functionName: "设置输出关",
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "信号源",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "1",
//             functionName: "设置脉冲调制",
//             properties: [
//               {
//                 proName: "脉宽（us)",
//               },
//               {
//                 proName: "周期（us)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "信号源",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "1",
//             functionName: "设置调制开",
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "信号源",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "1",
//             functionName: "设置调制关",
//           },
//         },
//       },
//     ],
//   },
//
//   {
//     id: "2",
//     name: "频谱仪",
//     functions: [
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "查询仪器标识符",
//             properties: [
//               {
//                 proName: "标识符",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "设置仪器复位",
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "指令完成查询",
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "关闭仪器自检",
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "设置中心频率",
//             properties: [
//               {
//                 proName: "频率(Hz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "读中心频率",
//             properties: [
//               {
//                 proName: "频率(Hz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "设置起始频率",
//             properties: [
//               {
//                 proName: "频率(Hz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "读起始频率",
//             properties: [
//               {
//                 proName: "频率(Hz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "设置截止频率",
//             properties: [
//               {
//                 proName: "频率(Hz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "读截止频率",
//             properties: [
//               {
//                 proName: "频率(Hz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "设置扫描带宽SPAN",
//             properties: [
//               {
//                 proName: "SPAN(Hz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "读扫描带宽SPAN",
//             properties: [
//               {
//                 proName: "SPAN(Hz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "  设置全SPAN",
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "设置参考电平REF",
//             properties: [
//               {
//                 proName: "REF(dB)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "读参考电平REF",
//             properties: [
//               {
//                 proName: "REF(dB)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "设置参考电平REF自动",
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "设置分辨率带宽RBW",
//             properties: [
//               {
//                 proName: "RBW(MHz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "读分辨率带宽RBW",
//             properties: [
//               {
//                 proName: "RBW(MHz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "设置视频带宽VBW",
//             properties: [
//               {
//                 proName: "RBW(MHz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "读视频带宽VBW",
//             properties: [
//               {
//                 proName: "RBW(MHz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "设置分辨率带宽RBW自动",
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "设置视频带宽VBW自动",
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "打开MARK",
//             properties: [
//               {
//                 proName: "MARK索引",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "关闭MARK",
//             properties: [
//               {
//                 proName: "MARK索引",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "关闭所有MARK",
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "设置MARK频率",
//             properties: [
//               {
//                 proName: "频率(MHz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "读MARK功率",
//             properties: [
//               {
//                 proName: "功率(dBm)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "读MARK频率",
//             properties: [
//               {
//                 proName: "频率(MHz)",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "设置扫描点数",
//             properties: [
//               {
//                 proName: "点数",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "读扫描点数",
//             properties: [
//               {
//                 proName: "点数",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "设置最大保持",
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "取消最大保持",
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "标记峰值",
//             properties: [
//               {
//                 proName: "MARK索引",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "标记次峰值",
//             properties: [
//               {
//                 proName: "MARK索引",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "标记左峰值",
//             properties: [
//               {
//                 proName: "MARK索引",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "标记右峰值",
//             properties: [
//               {
//                 proName: "MARK索引",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "标记中心频率",
//             properties: [
//               {
//                 proName: "MARK索引",
//               },
//             ],
//           },
//         },
//       },
//       {
//         type: "universal",
//         data: {
//           label: "频谱仪",
//           information: {
//             functionType: ExcelTypeName.shuxing,
//             functionTypeId: "2",
//             functionName: "读曲线Y值",
//             properties: [
//               {
//                 proName: "MARK索引",
//               },
//               {
//                 proName: "Y值",
//               },
//             ],
//           },
//         },
//       },
//     ],
//   },
// ]);
