201 lines
5.0 KiB
TypeScript
201 lines
5.0 KiB
TypeScript
import { BasicColumn } from '/@/components/Table';
|
|
import { FormSchema } from '/@/components/Table';
|
|
import { render } from '/@/utils/common/renderUtils';
|
|
import { h } from 'vue';
|
|
import { Image } from 'ant-design-vue';
|
|
import { getDefaultImage, getFileAccessHttpUrl } from '/@/utils/common/compUtils';
|
|
import { EyeOutlined } from '@ant-design/icons-vue';
|
|
import { getKnowledge } from '/@/views/consult/conKnowledge/ConKnowledge.api';
|
|
//列表数据
|
|
// @ts-ignore
|
|
export const columns: BasicColumn[] = [
|
|
{
|
|
title: '文章标题',
|
|
align: 'center',
|
|
dataIndex: 'knowTitle',
|
|
},
|
|
{
|
|
title: '知识类型',
|
|
align: 'center',
|
|
dataIndex: 'knowType',
|
|
customRender: ({ text }) => {
|
|
return render.renderDict(text, 'know_type');
|
|
},
|
|
},
|
|
{
|
|
title: '知识分类',
|
|
align: 'center',
|
|
dataIndex: 'knowClassName',
|
|
},
|
|
{
|
|
title: '知识图片',
|
|
align: 'center',
|
|
dataIndex: 'knowPic',
|
|
width: 100,
|
|
customRender: ({ text }) => {
|
|
return h(Image, {
|
|
placeholder: true,
|
|
src: getFileAccessHttpUrl(text),
|
|
height: 50,
|
|
width: 50,
|
|
fallback: getDefaultImage(),
|
|
previewMask: () => {
|
|
return h(EyeOutlined, {
|
|
style: {
|
|
color: 'white',
|
|
},
|
|
});
|
|
},
|
|
});
|
|
},
|
|
},
|
|
// {
|
|
// title: '已学习次数',
|
|
// align: 'center',
|
|
// dataIndex: 'knowLookNumber',
|
|
// },
|
|
{
|
|
title: '是否推荐',
|
|
align: 'center',
|
|
dataIndex: 'tfRecommend',
|
|
customRender: ({ text }) => (text === '0' ? '否' : '是'),
|
|
},
|
|
{
|
|
title: '状态',
|
|
align: 'center',
|
|
dataIndex: 'status',
|
|
customRender: ({ text }) => {
|
|
return render.renderDict(text, 'freeze_status');
|
|
},
|
|
},
|
|
{
|
|
title: '排序',
|
|
align: 'center',
|
|
dataIndex: 'sort',
|
|
width: '70px',
|
|
},
|
|
];
|
|
//查询数据
|
|
export const searchFormSchema: FormSchema[] = [
|
|
{
|
|
label: '标题',
|
|
field: 'knowTitle',
|
|
component: 'Input',
|
|
},
|
|
];
|
|
//表单数据
|
|
export const formSchema: FormSchema[] = [
|
|
{
|
|
label: '知识标题',
|
|
field: 'knowTitle',
|
|
component: 'Input',
|
|
required: true,
|
|
},
|
|
{
|
|
label: '知识类型',
|
|
field: 'knowType',
|
|
component: 'JDictSelectTag',
|
|
componentProps: {
|
|
// dictCode: 'know_type',
|
|
options: [
|
|
{
|
|
label: '图文',
|
|
value: '0',
|
|
},
|
|
],
|
|
},
|
|
defaultValue: '0',
|
|
required: true,
|
|
},
|
|
{
|
|
label: '知识图片',
|
|
field: 'knowPic',
|
|
component: 'JImageUpload',
|
|
componentProps: {
|
|
fileMax: 1,
|
|
},
|
|
rules: [{ required: true, message: '请选择知识图片' }],
|
|
},
|
|
{
|
|
label: '知识分类',
|
|
field: 'knowClass',
|
|
component: 'ApiSelect',
|
|
componentProps: {
|
|
api: getKnowledge,
|
|
resultField: 'list',
|
|
labelField: 'name',
|
|
valueField: 'id',
|
|
immediate: true,
|
|
},
|
|
required: true,
|
|
},
|
|
// {
|
|
// label: '已学习次数',
|
|
// field: 'knowLookNumber',
|
|
// component: 'InputNumber',
|
|
// required: true,
|
|
// },
|
|
{
|
|
label: '是否推荐',
|
|
field: 'tfRecommend',
|
|
component: 'JDictSelectTag',
|
|
componentProps: {
|
|
type: 'radio',
|
|
options: [
|
|
{
|
|
value: '1',
|
|
label: '是',
|
|
},
|
|
{
|
|
value: '0',
|
|
label: '否',
|
|
},
|
|
],
|
|
},
|
|
defaultValue: '1',
|
|
required: true,
|
|
},
|
|
{
|
|
label: '状态',
|
|
field: 'status',
|
|
component: 'JDictSelectTag',
|
|
componentProps: {
|
|
type: 'radio',
|
|
dictCode: 'freeze_status',
|
|
},
|
|
defaultValue: '1',
|
|
required: true,
|
|
},
|
|
{
|
|
label: '知识内容',
|
|
field: 'knowContent',
|
|
component: 'JEditor',
|
|
componentProps: {
|
|
showImageUpload: true,
|
|
},
|
|
rules: [{ required: true, message: '请输入知识内容' }],
|
|
},
|
|
{
|
|
label: '排序',
|
|
field: 'sort',
|
|
component: 'Input',
|
|
rules: [{ required: true, message: '请输入排序' }],
|
|
},
|
|
// TODO 主键隐藏字段,目前写死为ID
|
|
{
|
|
label: '',
|
|
field: 'id',
|
|
component: 'Input',
|
|
show: false,
|
|
},
|
|
];
|
|
|
|
/**
|
|
* 流程表单调用这个方法获取formSchema
|
|
* @param param
|
|
*/
|
|
export function getBpmFormSchema(_formData): FormSchema[] {
|
|
// 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema
|
|
return formSchema;
|
|
}
|