Sfoglia il codice sorgente

Merge branch 'cheney' into dev

WanGxC 6 mesi fa
parent
commit
74a81ed269
2 ha cambiato i file con 673 aggiunte e 585 eliminazioni
  1. 403 334
      src/views/system/log/loginLog/crud.tsx
  2. 270 251
      src/views/system/log/operationLog/crud.tsx

+ 403 - 334
src/views/system/log/loginLog/crud.tsx

@@ -1,337 +1,406 @@
 import * as api from './api';
-import { UserPageQuery, AddReq, DelReq, EditReq, CreateCrudOptionsProps, CreateCrudOptionsRet, dict } from '@fast-crud/fast-crud';
-import {commonCrudConfig} from "/@/utils/commonCrud";
+import {
+  UserPageQuery,
+  AddReq,
+  DelReq,
+  EditReq,
+  CreateCrudOptionsProps,
+  CreateCrudOptionsRet,
+  dict
+} from '@fast-crud/fast-crud';
+import { commonCrudConfig } from '/@/utils/commonCrud';
 
-export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProps): CreateCrudOptionsRet {
-	const pageRequest = async (query: UserPageQuery) => {
-		return await api.GetList(query);
-	};
-	const editRequest = async ({ form, row }: EditReq) => {
-		form.id = row.id;
-		return await api.UpdateObj(form);
-	};
-	const delRequest = async ({ row }: DelReq) => {
-		return await api.DelObj(row.id);
-	};
-	const addRequest = async ({ form }: AddReq) => {
-		return await api.AddObj(form);
-	};
-	return {
-		crudOptions: {
-			request: {
-				pageRequest,
-				addRequest,
-				editRequest,
-				delRequest,
-			},
-			actionbar: {
-				buttons: {
-					add: {
-						show: false,
-					},
-				},
-			},
-			rowHandle: {
-				fixed:'right',
-				width: 100,
-				buttons: {
-					view: {
-						type: 'text',
-					},
-					edit: {
-						show: false,
-					},
-					remove: {
-						show: false,
-					},
-				},
-			},
-			columns: {
-				_index: {
-					title: '序号',
-					form: { show: false },
-					column: {
-						//type: 'index',
-						align: 'center',
-						width: '70px',
-						columnSetDisabled: true, //禁止在列设置中选择
-						formatter: (context) => {
-							//计算序号,你可以自定义计算规则,此处为翻页累加
-							let index = context.index ?? 1;
-							let pagination = crudExpose!.crudBinding.value.pagination;
-							return ((pagination!.currentPage ?? 1) - 1) * pagination!.pageSize + index + 1;
-						},
-					},
-				},
-				search: {
-					title: '关键词',
-					column: {
-						show: false,
-					},
-					search: {
-						show: true,
-						component: {
-							props: {
-								clearable: true,
-							},
-							placeholder: '请输入关键词',
-						},
-					},
-					form: {
-						show: false,
-						component: {
-							props: {
-								clearable: true,
-							},
-						},
-					},
-				},
-				username: {
-					title: '登录用户名',
-					search: {
-						disabled: false,
-					},
-					type: 'input',
-					column:{
-						minWidth: 120,
-					},
-					form: {
-						disabled: true,
-						component: {
-							placeholder: '请输入登录用户名',
-						},
-					},
-				},
-				ip: {
-					title: '登录ip',
-					search: {
-						disabled: false,
-					},
-					type: 'input',
-					column:{
-						minWidth: 120,
-					},
-					form: {
-						disabled: true,
-						component: {
-							placeholder: '请输入登录ip',
-						},
-					},
-				},
-				isp: {
-					title: '运营商',
-					search: {
-						disabled: true,
-					},
-					disabled: true,
-					type: 'input',
-					column:{
-						minWidth: 120,
-					},
-					form: {
-						component: {
-							placeholder: '请输入运营商',
-						},
-					},
-				},
-				continent: {
-					title: '大州',
-					type: 'input',
-					column:{
-						minWidth: 90,
-					},
-					form: {
-						disabled: true,
-						component: {
-							placeholder: '请输入大州',
-						},
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				country: {
-					title: '国家',
-					type: 'input',
-					column:{
-						minWidth: 90,
-					},
-					form: {
-						component: {
-							placeholder: '请输入国家',
-						},
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				province: {
-					title: '省份',
-					type: 'input',
-					column:{
-						minWidth: 80,
-					},
-					form: {
-						component: {
-							placeholder: '请输入省份',
-						},
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				city: {
-					title: '城市',
-					type: 'input',
-					column:{
-						minWidth: 80,
-					},
-					form: {
-						component: {
-							placeholder: '请输入城市',
-						},
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				district: {
-					title: '县区',
-					key: '',
-					type: 'input',
-					column:{
-						minWidth: 80,
-					},
-					form: {
-						component: {
-							placeholder: '请输入县区',
-						},
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				area_code: {
-					title: '区域代码',
-					type: 'input',
-					column:{
-						minWidth: 90,
-					},
-					form: {
-						component: {
-							placeholder: '请输入区域代码',
-						},
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				country_english: {
-					title: '英文全称',
-					type: 'input',
-					column:{
-						minWidth: 120,
-					},
-					form: {
-						component: {
-							placeholder: '请输入英文全称',
-						},
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				country_code: {
-					title: '简称',
-					type: 'input',
-					column:{
-						minWidth: 100,
-					},
-					form: {
-						component: {
-							placeholder: '请输入简称',
-						},
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				longitude: {
-					title: '经度',
-					type: 'input',
-					disabled: true,
-					column:{
-						minWidth: 100,
-					},
-					form: {
-						component: {
-							placeholder: '请输入经度',
-						},
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				latitude: {
-					title: '纬度',
-					type: 'input',
-					disabled: true,
-					column:{
-						minWidth: 100,
-					},
-					form: {
-						component: {
-							placeholder: '请输入纬度',
-						},
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				login_type: {
-					title: '登录类型',
-					type: 'dict-select',
-					search: {
-						disabled: false,
-					},
-					dict: dict({
-						data: [
-							{ label: '普通登录', value: 1 },
-							{ label: '微信扫码登录', value: 2 },
-						],
-					}),
-					column:{
-						minWidth: 120,
-					},
-					form: {
-						component: {
-							placeholder: '请选择登录类型',
-						},
-					},
-				},
-				os: {
-					title: '操作系统',
-					type: 'input',
-					column:{
-						minWidth: 120,
-					},
-					form: {
-						component: {
-							placeholder: '请输入操作系统',
-						},
-					},
-				},
-				browser: {
-					title: '浏览器名',
-					type: 'input',
-					column:{
-						minWidth: 120,
-					},
-					form: {
-						component: {
-							placeholder: '请输入浏览器名',
-						},
-					},
-				},
-				agent: {
-					title: 'agent信息',
-					disabled: true,
-					type: 'input',
-					column:{
-						minWidth: 120,
-					},
-					form: {
-						component: {
-							placeholder: '请输入agent信息',
-						},
-					},
-				},
-				...commonCrudConfig({
-					create_datetime: {
-						search: true
-					}
-				})
-			},
-		},
-	};
+
+export const createCrudOptions = function({ crudExpose }: CreateCrudOptionsProps): CreateCrudOptionsRet {
+  const pageRequest = async (query: UserPageQuery) => {
+    return await api.GetList(query);
+  };
+  const editRequest = async ({ form, row }: EditReq) => {
+    form.id = row.id;
+    return await api.UpdateObj(form);
+  };
+  const delRequest = async ({ row }: DelReq) => {
+    return await api.DelObj(row.id);
+  };
+  const addRequest = async ({ form }: AddReq) => {
+    return await api.AddObj(form);
+  };
+  return {
+    crudOptions: {
+      request: {
+        pageRequest,
+        addRequest,
+        editRequest,
+        delRequest
+      },
+      actionbar: {
+        buttons: {
+          add: {
+            show: false
+          }
+        }
+      },
+      table: {
+        border: false
+      },
+      rowHandle: {
+        fixed: 'right',
+        width: 100,
+        buttons: {
+          view: {
+            type: 'text'
+          },
+          edit: {
+            show: false
+          },
+          remove: {
+            show: false
+          }
+        }
+      },
+      columns: {
+        _index: {
+          title: '序号',
+          form: { show: false },
+          column: {
+            //type: 'index',
+            align: 'center',
+            width: '70px',
+            columnSetDisabled: true, //禁止在列设置中选择
+            formatter: (context) => {
+              //计算序号,你可以自定义计算规则,此处为翻页累加
+              let index = context.index ?? 1;
+              let pagination = crudExpose!.crudBinding.value.pagination;
+              return ((pagination!.currentPage ?? 1) - 1) * pagination!.pageSize + index + 1;
+            }
+          }
+        },
+        search: {
+          title: '关键词',
+          column: {
+            show: false
+          },
+          search: {
+            show: true,
+            component: {
+              props: {
+                clearable: true
+              },
+              placeholder: '请输入关键词'
+            }
+          },
+          form: {
+            show: false,
+            component: {
+              props: {
+                clearable: true
+              }
+            }
+          }
+        },
+        username: {
+          title: '登录用户名',
+          search: {
+            disabled: false
+          },
+          type: 'input',
+          column: {
+            minWidth: 120
+          },
+          form: {
+            disabled: true,
+            component: {
+              placeholder: '请输入登录用户名'
+            }
+          }
+        },
+        ip: {
+          title: '登录ip',
+          search: {
+            disabled: false
+          },
+          type: 'input',
+          column: {
+            minWidth: 120
+          },
+          form: {
+            disabled: true,
+            component: {
+              placeholder: '请输入登录ip'
+            }
+          }
+        },
+        create_datetime: {
+          title: '登录时间',
+          type: 'datetime',
+          search: {
+            show: true,
+            col: { span: 8 },
+            component: {
+              type: 'datetimerange',
+              props: {
+                'start-placeholder': '开始时间',
+                'end-placeholder': '结束时间',
+                'value-format': 'YYYY-MM-DD HH:mm:ss',
+                'picker-options': {
+                  shortcuts: [ {
+                    text: '最近一周',
+                    onClick(picker) {
+                      const end = new Date();
+                      const start = new Date();
+                      start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+                      picker.$emit('pick', [ start, end ]);
+                    }
+                  }, {
+                    text: '最近一个月',
+                    onClick(picker) {
+                      const end = new Date();
+                      const start = new Date();
+                      start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+                      picker.$emit('pick', [ start, end ]);
+                    }
+                  }, {
+                    text: '最近三个月',
+                    onClick(picker) {
+                      const end = new Date();
+                      const start = new Date();
+                      start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+                      picker.$emit('pick', [ start, end ]);
+                    }
+                  } ]
+                }
+              }
+            },
+            valueResolve(context: any) {
+              const { key, value } = context;
+              //value解析,就是把组件的值转化为后台所需要的值
+              //在form表单点击保存按钮后,提交到后台之前执行转化
+              if (value) {
+                context.form.create_datetime_after = value[0];
+                context.form.create_datetime_before = value[1];
+              }
+              //  ↑↑↑↑↑ 注意这里是form,不是row
+            }
+          },
+          column: {
+            minWidth: 200
+          },
+          form: {
+            show: false
+          },
+          viewForm: {
+            show: true
+          }
+        },
+        isp: {
+          title: '运营商',
+          search: {
+            disabled: true
+          },
+          disabled: true,
+          type: 'input',
+          column: {
+            minWidth: 120
+          },
+          form: {
+            component: {
+              placeholder: '请输入运营商'
+            }
+          }
+        },
+        continent: {
+          title: '大州',
+          type: 'input',
+          column: {
+            minWidth: 90
+          },
+          form: {
+            disabled: true,
+            component: {
+              placeholder: '请输入大州'
+            }
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        country: {
+          title: '国家',
+          type: 'input',
+          column: {
+            minWidth: 90
+          },
+          form: {
+            component: {
+              placeholder: '请输入国家'
+            }
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        province: {
+          title: '省份',
+          type: 'input',
+          column: {
+            minWidth: 80
+          },
+          form: {
+            component: {
+              placeholder: '请输入省份'
+            }
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        city: {
+          title: '城市',
+          type: 'input',
+          column: {
+            minWidth: 80
+          },
+          form: {
+            component: {
+              placeholder: '请输入城市'
+            }
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        district: {
+          title: '县区',
+          key: '',
+          type: 'input',
+          column: {
+            minWidth: 80
+          },
+          form: {
+            component: {
+              placeholder: '请输入县区'
+            }
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        area_code: {
+          title: '区域代码',
+          type: 'input',
+          column: {
+            minWidth: 90
+          },
+          form: {
+            component: {
+              placeholder: '请输入区域代码'
+            }
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        country_english: {
+          title: '英文全称',
+          type: 'input',
+          column: {
+            minWidth: 120
+          },
+          form: {
+            component: {
+              placeholder: '请输入英文全称'
+            }
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        country_code: {
+          title: '简称',
+          type: 'input',
+          column: {
+            minWidth: 100
+          },
+          form: {
+            component: {
+              placeholder: '请输入简称'
+            }
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        longitude: {
+          title: '经度',
+          type: 'input',
+          disabled: true,
+          column: {
+            minWidth: 100
+          },
+          form: {
+            component: {
+              placeholder: '请输入经度'
+            }
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        latitude: {
+          title: '纬度',
+          type: 'input',
+          disabled: true,
+          column: {
+            minWidth: 100
+          },
+          form: {
+            component: {
+              placeholder: '请输入纬度'
+            }
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        login_type: {
+          title: '登录类型',
+          type: 'dict-select',
+          search: {
+            disabled: false
+          },
+          dict: dict({
+            data: [
+              { label: '普通登录', value: 1 },
+              { label: '微信扫码登录', value: 2 }
+            ]
+          }),
+          column: {
+            minWidth: 120
+          },
+          form: {
+            component: {
+              placeholder: '请选择登录类型'
+            }
+          }
+        },
+        os: {
+          title: '操作系统',
+          type: 'input',
+          column: {
+            minWidth: 120
+          },
+          form: {
+            component: {
+              placeholder: '请输入操作系统'
+            }
+          }
+        },
+        browser: {
+          title: '浏览器名',
+          type: 'input',
+          column: {
+            minWidth: 120
+          },
+          form: {
+            component: {
+              placeholder: '请输入浏览器名'
+            }
+          }
+        },
+        agent: {
+          title: 'agent信息',
+          disabled: true,
+          type: 'input',
+          column: {
+            minWidth: 120
+          },
+          form: {
+            component: {
+              placeholder: '请输入agent信息'
+            }
+          }
+        }
+      }
+    }
+  };
 };

+ 270 - 251
src/views/system/log/operationLog/crud.tsx

@@ -1,254 +1,273 @@
 import * as api from './api';
-import { UserPageQuery, AddReq, DelReq, EditReq, CrudExpose, CrudOptions, CreateCrudOptionsProps, CreateCrudOptionsRet } from '@fast-crud/fast-crud';
+import {
+  UserPageQuery,
+  AddReq,
+  DelReq,
+  EditReq,
+  CrudExpose,
+  CrudOptions,
+  CreateCrudOptionsProps,
+  CreateCrudOptionsRet
+} from '@fast-crud/fast-crud';
 
-export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProps): CreateCrudOptionsRet {
-	const pageRequest = async (query: UserPageQuery) => {
-		return await api.GetList(query);
-	};
-	const editRequest = async ({ form, row }: EditReq) => {
-		form.id = row.id;
-		return await api.UpdateObj(form);
-	};
-	const delRequest = async ({ row }: DelReq) => {
-		return await api.DelObj(row.id);
-	};
-	const addRequest = async ({ form }: AddReq) => {
-		return await api.AddObj(form);
-	};
-	return {
-		crudOptions: {
-			request: {
-				pageRequest,
-				addRequest,
-				editRequest,
-				delRequest,
-			},
-			actionbar: {
-				buttons: {
-					add: {
-						show: false,
-					},
-				},
-			},
-			rowHandle: {
-				fixed:'right',
-				width: 100,
-				buttons: {
-					view: {
-						type: 'text',
-					},
-					edit: {
-						show: false,
-					},
-					remove: {
-						show: false,
-					},
-				},
-			},
-			columns: {
-				_index: {
-					title: '序号',
-					form: { show: false },
-					column: {
-						//type: 'index',
-						align: 'center',
-						width: '70px',
-						columnSetDisabled: true, //禁止在列设置中选择
-						formatter: (context) => {
-							//计算序号,你可以自定义计算规则,此处为翻页累加
-							let index = context.index ?? 1;
-							let pagination = crudExpose!.crudBinding.value.pagination;
-							return ((pagination!.currentPage ?? 1) - 1) * pagination!.pageSize + index + 1;
-						},
-					},
-				},
-				search: {
-					title: '关键词',
-					column: {
-						show: false,
-					},
-					search: {
-						show: true,
-						component: {
-							props: {
-								clearable: true,
-							},
-							placeholder: '请输入关键词',
-						},
-					},
-					form: {
-						show: false,
-						component: {
-							props: {
-								clearable: true,
-							},
-						},
-					},
-				},
-				request_modular: {
-					title: '请求模块',
-					search: {
-						disabled: false,
-					},
-					type: 'input',
-					column:{
-						minWidth: 100,
-					},
-					form: {
-						disabled: true,
-						component: {
-							placeholder: '请输入请求模块',
-						},
-					},
-				},
-				request_path: {
-					title: '请求地址',
-					search: {
-						disabled: false,
-					},
-					type: 'input',
-					column:{
-						minWidth: 200,
-					},
-					form: {
-						disabled: true,
-						component: {
-							placeholder: '请输入请求地址',
-						},
-					},
-				},
-				request_body: {
-					column: {
-						showOverflowTooltip: true,
-						width: 200, //列宽
-						minWidth: 100, //最小列宽
-					},
-					title: '请求参数',
-					search: {
-						disabled: true,
-					},
-					disabled: true,
-					type: 'textarea',
-					form: {
-						component: {
-							props: {
-								type: 'textarea',
-							},
-							autosize: {
-								minRows: 2,
-								maxRows: 8,
-							},
-							placeholder: '请输入关键词',
-						},
-					},
-				},
-				request_method: {
-					title: '请求方法',
-					type: 'input',
-					search: {
-						disabled: false,
-					},
-					column:{
-						minWidth: 100,
-					},
-					form: {
-						disabled: true,
-						component: {
-							placeholder: '请输入请求方法',
-						},
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				request_msg: {
-					title: '操作说明',
-					disabled: true,
-					form: {
-						component: {
-							span: 12,
-						},
-					},
-				},
-				request_ip: {
-					title: 'IP地址',
-					search: {
-						disabled: false,
-					},
-					type: 'input',
-					column:{
-						minWidth: 100,
-					},
-					form: {
-						disabled: true,
-						component: {
-							placeholder: '请输入IP地址',
-						},
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				request_browser: {
-					title: '请求浏览器',
-					type: 'input',
-					column:{
-						minWidth: 120,
-					},
-					form: {
-						disabled: true,
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				response_code: {
-					title: '响应码',
-					search: {
-						disabled: true,
-					},
-					type: 'input',
-					column:{
-						minWidth: 100,
-					},
-					form: {
-						disabled: true,
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				request_os: {
-					title: '操作系统',
-					disabled: true,
-					search: {
-						disabled: true,
-					},
-					type: 'input',
-					column:{
-						minWidth: 120,
-					},
-					form: {
-						disabled: true,
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				json_result: {
-					title: '返回信息',
-					search: {
-						disabled: true,
-					},
-					type: 'input',
-					column:{
-						minWidth: 150,
-					},
-					form: {
-						disabled: true,
-					},
-					component: { props: { color: 'auto' } }, // 自动染色
-				},
-				creator_name: {
-					title: '操作人',
-					column:{
-						minWidth: 100,
-					},
-					form: {
-						disabled: true,
-					},
-				},
-			},
-		},
-	};
+
+export const createCrudOptions = function({ crudExpose }: CreateCrudOptionsProps): CreateCrudOptionsRet {
+  const pageRequest = async (query: UserPageQuery) => {
+    return await api.GetList(query);
+  };
+  const editRequest = async ({ form, row }: EditReq) => {
+    form.id = row.id;
+    return await api.UpdateObj(form);
+  };
+  const delRequest = async ({ row }: DelReq) => {
+    return await api.DelObj(row.id);
+  };
+  const addRequest = async ({ form }: AddReq) => {
+    return await api.AddObj(form);
+  };
+  return {
+    crudOptions: {
+      request: {
+        pageRequest,
+        addRequest,
+        editRequest,
+        delRequest
+      },
+      table: {
+        border: false
+      },
+      actionbar: {
+        buttons: {
+          add: {
+            show: false
+          }
+        }
+      },
+      rowHandle: {
+        fixed: 'right',
+        width: 100,
+        buttons: {
+          view: {
+            type: 'text'
+          },
+          edit: {
+            show: false
+          },
+          remove: {
+            show: false
+          }
+        }
+      },
+      columns: {
+        _index: {
+          title: '序号',
+          form: { show: false },
+          column: {
+            //type: 'index',
+            align: 'center',
+            width: '70px',
+            columnSetDisabled: true, //禁止在列设置中选择
+            formatter: (context) => {
+              //计算序号,你可以自定义计算规则,此处为翻页累加
+              let index = context.index ?? 1;
+              let pagination = crudExpose!.crudBinding.value.pagination;
+              return ((pagination!.currentPage ?? 1) - 1) * pagination!.pageSize + index + 1;
+            }
+          }
+        },
+        search: {
+          title: '关键词',
+          column: {
+            show: false
+          },
+          search: {
+            show: true,
+            component: {
+              props: {
+                clearable: true
+              },
+              placeholder: '请输入关键词'
+            }
+          },
+          form: {
+            show: false,
+            component: {
+              props: {
+                clearable: true
+              }
+            }
+          }
+        },
+        request_modular: {
+          title: '请求模块',
+          search: {
+            disabled: false
+          },
+          type: 'input',
+          column: {
+            minWidth: 100
+          },
+          form: {
+            disabled: true,
+            component: {
+              placeholder: '请输入请求模块'
+            }
+          }
+        },
+        request_path: {
+          title: '请求地址',
+          search: {
+            disabled: false
+          },
+          type: 'input',
+          column: {
+            minWidth: 200
+          },
+          form: {
+            disabled: true,
+            component: {
+              placeholder: '请输入请求地址'
+            }
+          }
+        },
+        create_datetime: {
+          title: '操作时间',
+          column: {
+            minWidth: 200
+          }
+        },
+        request_body: {
+          column: {
+            showOverflowTooltip: true,
+            width: 200, //列宽
+            minWidth: 100 //最小列宽
+          },
+          title: '请求参数',
+          search: {
+            disabled: true
+          },
+          disabled: true,
+          type: 'textarea',
+          form: {
+            component: {
+              props: {
+                type: 'textarea'
+              },
+              autosize: {
+                minRows: 2,
+                maxRows: 8
+              },
+              placeholder: '请输入关键词'
+            }
+          }
+        },
+        request_method: {
+          title: '请求方法',
+          type: 'input',
+          search: {
+            disabled: false
+          },
+          column: {
+            minWidth: 100
+          },
+          form: {
+            disabled: true,
+            component: {
+              placeholder: '请输入请求方法'
+            }
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        request_msg: {
+          title: '操作说明',
+          disabled: true,
+          form: {
+            component: {
+              span: 12
+            }
+          }
+        },
+        request_ip: {
+          title: 'IP地址',
+          search: {
+            disabled: false
+          },
+          type: 'input',
+          column: {
+            minWidth: 130
+          },
+          form: {
+            disabled: true,
+            component: {
+              placeholder: '请输入IP地址'
+            }
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        request_browser: {
+          title: '请求浏览器',
+          type: 'input',
+          column: {
+            minWidth: 120
+          },
+          form: {
+            disabled: true
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        response_code: {
+          title: '响应码',
+          search: {
+            disabled: true
+          },
+          type: 'input',
+          column: {
+            minWidth: 100
+          },
+          form: {
+            disabled: true
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        request_os: {
+          title: '操作系统',
+          disabled: true,
+          search: {
+            disabled: true
+          },
+          type: 'input',
+          column: {
+            minWidth: 120
+          },
+          form: {
+            disabled: true
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        json_result: {
+          title: '返回信息',
+          search: {
+            disabled: true
+          },
+          type: 'input',
+          column: {
+            minWidth: 150
+          },
+          form: {
+            disabled: true
+          },
+          component: { props: { color: 'auto' } } // 自动染色
+        },
+        creator_name: {
+          title: '操作人',
+          column: {
+            minWidth: 100
+          },
+          form: {
+            disabled: true
+          }
+        }
+      }
+    }
+  };
 };