Commit b742bbeb2921dfbed73894a9ef4a135af60178d5

Authored by 李婷
1 parent fff2b3b5

feat: 选择字段

@@ -21,3 +21,198 @@ export default () => { @@ -21,3 +21,198 @@ export default () => {
21 return <QxFieldItem name={'标题'} widget={'qxInput'} />; 21 return <QxFieldItem name={'标题'} widget={'qxInput'} />;
22 }; 22 };
23 ``` 23 ```
  24 +### 选择器
  25 +```tsx
  26 +import React from 'react';
  27 +import { QxFieldSelect } from './index';
  28 +
  29 +const schema ={
  30 + "title": "查询字段",
  31 + "type": "string",
  32 + "placeholder": "请选择字段",
  33 + "widget": "fieldsSelect",
  34 + "props": {
  35 + "data": [
  36 + {
  37 + "name": "记录ID",
  38 + "code": "id",
  39 + "extract": {
  40 + "fieldType": "REL",
  41 + "fieldKey": "id",
  42 + "widget": "relSelector",
  43 + "relId": "WgZMQfitq8TikF03r0C",
  44 + "allowSelect": true,
  45 + "$base": true
  46 + }
  47 + },
  48 + {
  49 + "name": "标题",
  50 + "code": "title",
  51 + "extract": {
  52 + "fieldType": "STRING",
  53 + "fieldKey": "title",
  54 + "widget": "qxInput",
  55 + "required": true,
  56 + "readOnly": false,
  57 + "hidden": false
  58 + }
  59 + },
  60 + {
  61 + "name": "文本",
  62 + "code": "input_tcjjnb",
  63 + "extract": {
  64 + "fieldType": "STRING",
  65 + "fieldKey": "input_tcjjnb",
  66 + "widget": "qxInput",
  67 + "required": false,
  68 + "readOnly": true,
  69 + "hidden": false
  70 + }
  71 + },
  72 + {
  73 + "name": "手机",
  74 + "code": "mobile_sulvyl",
  75 + "extract": {
  76 + "fieldType": "STRING",
  77 + "fieldKey": "mobile_sulvyl",
  78 + "widget": "qxMobile",
  79 + "required": false,
  80 + "readOnly": false,
  81 + "hidden": false
  82 + }
  83 + },
  84 + {
  85 + "name": "邮箱",
  86 + "code": "email_kdgfdi",
  87 + "extract": {
  88 + "fieldType": "STRING",
  89 + "fieldKey": "email_kdgfdi",
  90 + "widget": "qxEmail",
  91 + "required": false,
  92 + "readOnly": false,
  93 + "hidden": false
  94 + }
  95 + },
  96 + {
  97 + "name": "流水号",
  98 + "code": "no_bdxdbw",
  99 + "extract": {
  100 + "fieldType": "STRING",
  101 + "fieldKey": "no_bdxdbw",
  102 + "widget": "qxBizNo",
  103 + "required": false,
  104 + "readOnly": true,
  105 + "hidden": false
  106 + }
  107 + },
  108 + {
  109 + "name": "数据标题",
  110 + "code": "data_title",
  111 + "extract": {
  112 + "fieldType": "STRING",
  113 + "fieldKey": "data_title",
  114 + "widget": "qxInput",
  115 + "required": false,
  116 + "readOnly": false,
  117 + "hidden": false,
  118 + "$base": true,
  119 + "$default": true
  120 + }
  121 + },
  122 + {
  123 + "name": "拥有人",
  124 + "code": "owner_id",
  125 + "extract": {
  126 + "fieldType": "USER",
  127 + "fieldKey": "owner_id",
  128 + "widget": "userSelector",
  129 + "required": false,
  130 + "readOnly": false,
  131 + "hidden": false,
  132 + "relId": "user",
  133 + "$base": true,
  134 + "$default": true
  135 + }
  136 + },
  137 + {
  138 + "name": "创建人",
  139 + "code": "created_by",
  140 + "extract": {
  141 + "fieldType": "USER",
  142 + "fieldKey": "created_by",
  143 + "widget": "userSelector",
  144 + "required": false,
  145 + "readOnly": false,
  146 + "hidden": false,
  147 + "relId": "user",
  148 + "$base": true,
  149 + "$default": true
  150 + }
  151 + },
  152 + {
  153 + "name": "更新人",
  154 + "code": "updated_by",
  155 + "extract": {
  156 + "fieldType": "USER",
  157 + "fieldKey": "updated_by",
  158 + "widget": "userSelector",
  159 + "required": false,
  160 + "readOnly": false,
  161 + "hidden": false,
  162 + "relId": "user",
  163 + "$base": true,
  164 + "$default": true
  165 + }
  166 + },
  167 + {
  168 + "name": "创建时间",
  169 + "code": "created_at",
  170 + "extract": {
  171 + "fieldType": "YEAR_SEC",
  172 + "fieldKey": "created_at",
  173 + "widget": "qxDatetime",
  174 + "required": false,
  175 + "readOnly": false,
  176 + "hidden": false,
  177 + "$base": true,
  178 + "$default": true
  179 + }
  180 + },
  181 + {
  182 + "name": "更新时间",
  183 + "code": "updated_at",
  184 + "extract": {
  185 + "fieldType": "YEAR_SEC",
  186 + "fieldKey": "updated_at",
  187 + "widget": "qxDatetime",
  188 + "required": false,
  189 + "readOnly": false,
  190 + "hidden": false,
  191 + "$base": true,
  192 + "$default": true
  193 + }
  194 + }
  195 + ],
  196 + "exclude": [
  197 + "input_tcjjnb",
  198 + "mobile_sulvyl",
  199 + "email_kdgfdi",
  200 + "no_bdxdbw"
  201 + ],
  202 + "params": {
  203 + "appCode": "8yo7v",
  204 + "funCode": "2eg66",
  205 + "useKey": true
  206 + }
  207 + },
  208 + "disabled": true,
  209 + "className": "fr-my-field",
  210 + "$id": "key"
  211 +}
  212 +
  213 +export default () => {
  214 + return <QxFieldSelect schema={schema} onChange={(val)=> {
  215 + console.log(val,'kkkkkklllll')
  216 + }}/>;
  217 +};
  218 +```
@@ -11,10 +11,11 @@ import './style.less'; @@ -11,10 +11,11 @@ import './style.less';
11 const QxFieldSelect: React.FC = (props: any) => { 11 const QxFieldSelect: React.FC = (props: any) => {
12 const [fields, setFields] = useState<WidgetField[] | OptionField[]>([]); 12 const [fields, setFields] = useState<WidgetField[] | OptionField[]>([]);
13 const schemaProps = props.schema.props; 13 const schemaProps = props.schema.props;
14 - const {  
15 - // @ts-ignore  
16 - query: { appCode, funCode },  
17 - } = useLocation(); 14 + // @ts-ignore
  15 + const {query} = useLocation();
  16 +
  17 + const appCode = query?.appCode|| props?.appCode || '8yo7v';
  18 + const funCode = query?.funCode|| props?.funCode ||'2eg66';
18 const includeFields = (list: WidgetField[] | OptionField[]) => { 19 const includeFields = (list: WidgetField[] | OptionField[]) => {
19 // console.log(list,schemaProps.viewable); 20 // console.log(list,schemaProps.viewable);
20 // @ts-ignore 21 // @ts-ignore