index.md 2.74 KB

选人组件

/**
 * debug: true
 */
import { QxUserSelector } from '@qx/common';
import React from 'react';
import request from 'umi-request';

request.interceptors.request.use((url, options) => {
  if (url.startsWith('/api/')) {
    return { url, options };
  }
  const headers = { Authorization: 'dev_session:ZGuqjkCF3GMzorijXw7' };
  // headers['SERVER-IP'] = '192.168.181.112';

  const fullUrl = url.startsWith('http')
    ? url
    : `http://10.9.1.180/qx-api${url}`;
  return {
    url: fullUrl,
    options: {
      ...options,
      ...{
        headers: { ...headers, ...(options.customHeaders || {}) },
        isInternal: true,
        timeout: 30000,
      },
    },
  };
});

request.interceptors.response.use(async (response, options) => {
  if (response.status !== 200) {
    return Promise.reject(response);
  }

  if (!response.headers.get('content-type')?.includes('application/json')) {
    return response.blob();
  }

  const body = await response.clone().json();

  // 按正常逻辑处理"文件上传"系列接口
  const fsUploadApis = ['/file/checkFile', '/file/uploadByExist', '/fss/file/'];
  const isFsUploadApis = fsUploadApis.filter(
    (api: string) => options.url.indexOf(api) !== -1,
  );
  if (isFsUploadApis.length > 0) {
    return Promise.resolve(body || null);
  }

  if (body.success) {
    return Promise.resolve(body.data || null);
  }

  console.error('网络请求出错:', body.msg);

  return Promise.reject(body);
});

export default () => {
  return (
    <div>
      <QxUserSelector
        request={request}
        params={{
          org: [{ relType: 'APPOINT_ORG', relIds: [''] }],
          pos: null,
          range: [
            'ORG:MubDrwZm8IMxuLDU9FM',
            'ORG:a0WZVI96GAdoI5g9IwX',
            'ORG:QPLEku2yJU8hmbpLTtg',
          ],
        }}
      />
      <br />
      <QxUserSelector request={request} />
      <br />
      <QxUserSelector
        readOnly
        value={['1212']}
        defaultData={[{ id: '1212', name: '邢晴晴' }]}
        request={request}
      />
    </div>
  );
};

API

参数 说明 类型 默认值
onChange 选的人变化时的回调 function(value) -
defaultValue 默认值 string[] -
disabled 禁用 bool -
multiple 是否多选 bool -
max 最多选几个,ps:没有控制 number -
readOnly 只读 bool -
value string[] \ string