import {wareAddDialog, wareDetailDialog, wareEditeDialog} from "../../components/ware/dialog-ware.js"; import { apiGet, crudCommonOptions, mappingField, operationField, permissionStateMapping, timeField } from "../../components/constants.js"; import {authenticationAddDialog} from "../../components/permission/dialog-permission.js"; export function tabMarket() { return { title: '数据市场', icon: 'fa fa-store', reload: true, body: [ { type: 'tabs', tabs: [ { title: '公开数据', body: { type: 'crud', api: { ...apiGet('${base}/ware/list_public'), adaptor: (payload, response, api, context) => { payload.data = payload.data.map(i => { return { ...i, targetId: i.resourceId, } }) return payload } }, ...crudCommonOptions(), headerToolbar: [ 'reload', ], mode: 'cards', card: { header: { title: '${name}', subTitle: '${createdTime}', description: '${description}', avatar: '${icon}', avatarClassName: 'pull-left thumb-md avatar b-3x m-r' }, actions: [ { type: 'action', label: '查看', ...wareDetailDialog(), }, { type: 'action', label: '申请授权', ...authenticationAddDialog(), } ] }, } }, { title: '我的数据', body: { type: 'crud', api: apiGet('${base}/ware/list'), ...crudCommonOptions(), headerToolbar: [ 'reload', { type: 'action', label: '', icon: 'fa fa-plus', ...wareAddDialog() }, ], columns: [ { name: 'name', label: '名称', width: 200, }, { name: 'description', label: '描述', }, mappingField('state', '状态', permissionStateMapping), timeField('createdTime', '创建时间'), operationField('操作', undefined, [ { type: 'action', label: '查看', level: 'link', ...wareDetailDialog(), }, { visibleOn: "${state === 'CHECKING'}", type: 'action', label: '撤销', level: 'link', confirmTitle: '确认撤销', confirmText: '确认撤销名称为「${name}」的确权申请吗?', actionType: 'ajax', api: apiGet('${base}/ware/retract/${id}'), }, { visibleOn: "${state === 'DRAFT' || state === 'REJECT'}", type: 'action', label: '提交', level: 'link', confirmTitle: '确认提交', confirmText: '确认提交名称为「${name}」的确权申请吗?', actionType: 'ajax', api: apiGet('${base}/ware/submit/${id}'), }, { visibleOn: "${!public}", type: 'dropdown-button', level: 'link', icon: 'fa fa-ellipsis-h', hideCaret: true, trigger: 'hover', buttons: [ { disabledOn: "${state !== 'DRAFT'}", type: 'action', label: '编辑', level: 'link', ...wareEditeDialog(), }, { disabledOn: "${state === 'CHECKING'}", type: 'action', label: "删除", confirmTitle: '确认删除', confirmText: '确认删除名称为「${name}」的确权申请吗?删除后对应的数据资源处于未确权状态。', actionType: 'ajax', api: apiGet('${base}/ware/remove/${id}'), }, ] }, ]), ] } }, ] } ] } }