UNPKG

@ywfe/materials-design

Version:
388 lines (384 loc) 13 kB
import { IPublicTypeComponentMetadata, IPublicTypeSnippet } from '@alilc/lowcode-types'; const TableGoodsInfoMeta: IPublicTypeComponentMetadata = { componentName: 'TableGoodsInfo', title: '商品信息', docUrl: '', screenshot: '', devMode: 'proCode', group: '基础组件', category: '表格子元素', npm: { package: '@ywfe/materials-design', version: '0.1.0', exportName: 'TableInfo', main: 'src/index.tsx', destructuring: true, subName: '', }, configure: { props: [ { title: '商品信息', name: 'value', setter: { componentName: 'ObjectSetter', props: { config: { title: '基本信息', display: 'block', type: 'group', items: [ { name: 'tooltip.value', title: { label: '商品Id', tip: '选择商品ID字段' }, isRequired: false, supportVariable: false, setter: { componentName: 'MixedSetter', props: { setters: ['VariableSetter'], }, }, }, { name: 'imgUrl', title: { label: '商品图片', tip: '选择商品图片字段' }, supportVariable: false, setter: { componentName: 'MixedSetter', props: { setters: ['VariableSetter'], }, }, }, { name: 'emptyText', title: { label: '商品缺省文案', tip: '输入商品缺省文案' }, setter: 'StringSetter', defaultValue: '-', }, { name: 'isEmpty', title: { label: '空数据', tip: '是否空数据' }, supportVariable: false, setter: { componentName: 'MixedSetter', props: { setters: ['VariableSetter'], }, }, }, { name: 'price', title: { label: '商品价格', tip: '商品价格' }, supportVariable: false, setter: { componentName: 'MixedSetter', props: { setters: ['VariableSetter'], }, }, }, // { // name: 'price', // title: { label: '商品价格', tip: '商品价格' }, // setter: 'ArraySetter', // defaultValue: null, // extraProps: { // setValue: (target, value) => { // console.log('------', value); // if (!value || !value?.length) { // target.parent.setPropsValue('price', null); // } // }, // }, // }, { name: 'title', title: '商品名称', setter: { componentName: 'ObjectSetter', props: { config: { items: [ { name: 'value', title: { label: '名称', tip: '名称' }, supportVariable: false, setter: { componentName: 'MixedSetter', props: { setters: ['VariableSetter'], }, }, }, { name: 'tooltip', title: { label: '悬浮提示', tip: '是否开启商品名称悬浮提示' }, setter: 'BoolSetter', defaultValue: true, }, { name: 'onClick', title: { label: '查看详情', tip: 'onClick | 是否点击查看详情' }, setter: 'FunctionSetter', }, { name: 'tag', title: { label: '标签', tip: '商品标签' }, setter: { componentName: 'SlotSetter', hideParams: true, title: '商品标签', initialValue: { type: 'JSSlot', params: ['text', 'record'], value: [ // { // componentProps: 'YwTag', // props: { // text: '新品', // color: '#07C160', // }, // }, ], }, }, }, ], }, }, }, }, ], }, }, }, }, // { // name: '_priceInfo', // title: '商品价格', // setter: { // componentName: 'ObjectSetter', // props: { // config: { // items: [ // { // name: '_price', // title: { label: '精确价格', tip: '商品精确价格' }, // setter: 'StringSetter', // }, // { // name: '_min_price', // title: { label: '最低价格', tip: '商品最低价格' }, // setter: 'StringSetter', // }, // { // name: '_max_price', // title: { label: '最高价格', tip: '商品最高价格' }, // setter: 'StringSetter', // }, // ], // }, // }, // }, // extraProps: { // setValue: (target, value) => { // if (value) { // const { _price, _min_price, _max_price } = value; // target.parent.setPropValue('value.price', { // type: 'JSExpression', // value: `[this.record.${_min_price || _price}, this.record.${_max_price} || ""]`, // }); // } // }, // }, // }, { name: 'value.tags', title: '商品标签', // YwTag 补充后再加 setter: { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'ObjectSetter', props: { config: { items: [ { title: { label: '标签文字', tip: 'value | 标签文字', }, name: 'value', description: '标签文字', isRequired: true, setter: { componentName: 'MixedSetter', props: { setters: ['VariableSetter'], }, }, }, { title: { label: '是否显示', tip: 'visible | 是否显示', }, name: 'visible', defaultValue: true, supportVariable: false, setter: { componentName: 'MixedSetter', props: { setters: ['VariableSetter'], }, }, }, { title: { label: '颜色', }, name: 'color', supportVariable: false, setter: { componentName: 'MixedSetter', props: { setters: ['VariableSetter'], }, }, }, ], }, }, initialValue: { value: '正价', }, }, }, defaultValue: [], }, }, { name: 'value.items', title: '商品描述', // YwTag 补充后再加 setter: { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'ObjectSetter', props: { config: { items: [ { title: '名称', name: 'label', setter: 'StringSetter', }, { title: { label: '字段', tip: '选择需要显示的字段' }, name: 'value', setter: 'StringSetter', }, { title: '行数', name: 'row', setter: 'NumberSetter', defaultValue: 1, }, { title: '悬浮提示', name: 'tooltip', setter: 'BoolSetter', }, { title: '可复制', name: 'isCopy', setter: 'BoolSetter', }, ], }, }, initialValue: () => { return { label: '名称', value: '字段', row: 1, tooltip: false, isCopy: false, visible: true, // 为了修复添加一项时 visible找不到报错的问题 }; }, }, }, }, }, ], supports: { style: true, }, component: {}, }, }; const snippets: IPublicTypeSnippet[] = [ { title: '商品详情', screenshot: 'https://yw-fed-static.oss-cn-hangzhou.aliyuncs.com/lowcode/goodsDetail', schema: { componentName: 'TableGoodsInfo', props: { type: 'goods', // 默认商品详情 emptyText: '-', value: { isEmpty: false, emptyText: '未匹配商品信息', imgUrl: 'https://daichongtest.oss-cn-hangzhou.aliyuncs.com/goods/config/2022/07/0e363d69-5988-4325-96d2-4eda40daa90b.jpg', // price: ['23.00', '11111.00'], // price:'23.00', title: { value: '商品名称商品名称商品名称商品名称商品名称商品名称商品名称', tooltip: true, // tag: <YwTag text="新品" color="#07C160" />, // 商品标题标签 onClick: () => {}, }, // 默认 tooltip: { label: '商品ID', isCopy: true, }, // tags: [ // { color: '#0B8746', value: '合格一等品' }, // { color: '#EF813E', bizName: 'amount', value: ['佣金', '18.00%'] }, // { value: '零售', visible: true, tooltip: { value: '这是个没人用的功能' } }, // { value: '正价' }, // { value: '快手CPS' }, // { value: '已质检', visible: true, tooltip: { value: '这是个没人用的功能' } }, // { value: '组合品' }, // ], items: [ { label: '规格', value: '34234324324234', row: 1, isCopy: true, onClick: () => {}, visible: () => true, }, { label: '', tooltip: true, value: '黑色S 仅100件', visible: () => true, }, ], }, }, }, }, ]; export default { ...TableGoodsInfoMeta, snippets, };