介绍
平台开发新服务全部使用 Choerodon UI
进行开发,Choerodon UI 中用需要用到Choerodon UI自带的DataSet数据源。
使用详情查看:Choerodon UI
使用Choerodon UI开发时,一个页面服务使用一个js文件存放该页面服务的所有DataSet,文件命名格式统一为页面服务名+DS
,注意:文件名首字母大写
- DS文件:
DataTypeDS.js
一个服务模块使用stores文件夹存放该服务模块的所有界面的DS文件,stores和models文件夹同级。
- 目录结构采用:
src/stores/DS文件
新增DS文件
在开发的模块 src/stores 目录下新建 DataTypeDS.js
。
DataTypeDS.js
dataset在组件内部实例化,stores文件夹中的DS文件是dataset的配置文件,暴露一个plain object或者返回值为plain object的函数,参数接收部分通过调用时传进去的值,比如intlPrefix
import intl from 'utils/intl';
import { HZERO_DPM } from 'utils/config';
import { getCurrentOrganizationId } from 'utils/utils';
const organizationId = getCurrentOrganizationId();
const tableDs = {
dataKey: 'content',
selection: false,
queryFields: [
{
name: 'dataTypeCode',
type: 'string',
label: intl.get('hdpm.dataType.model.dataType.code').d('数据类型编码'),
},
{
name: 'dataTypeName',
type: 'string',
label: intl.get('hdpm.dataType.model.dataType.name').d('数据类型名称'),
},
],
fields: [
{
name: 'dataTypeCode',
label: intl.get('hdpm.dataType.model.dataType.code').d('数据类型编码'),
},
{
name: 'dataTypeName',
label: intl.get('hdpm.dataType.model.dataType.name').d('数据类型名称'),
},
{
name: 'enabledFlag',
label: intl.get('hdpm.dataType.model.dataType.enabled').d('状态'),
},
{
name: 'action',
label: intl.get('hzero.common.button.action').d('操作'),
},
],
transport: {
read: ({ dataSet, params }) => {
const { modelTypeCode } = dataSet;
return {
url: `${HZERO_DPM}/v1/${organizationId}/data-types`,
method: 'get',
params: {
...params,
modelTypeCode,
},
};
},
destroy: ({ data }) => {
const [
{
__id,
_status,
createdBy,
creationDate,
lastUpdatedBy,
lastUpdateDate,
...other
},
] = data;
return {
url: `${HZERO_DPM}/v1/${organizationId}/data-types`,
method: 'delete',
data: other,
};
},
},
};
export { tableDs };