|
@@ -8,32 +8,39 @@
|
|
|
<Avatar :size="80" :src="record.avatar" />
|
|
|
</template>
|
|
|
|
|
|
- <template #gender="{ record }">
|
|
|
- {{ renderGenderLabel(record.gender) }}
|
|
|
+ <template #content="{ record }">
|
|
|
+ <div v-if="record.type === 0" v-html="record.content"></div>
|
|
|
+ <!-- <img v-if="record.type === 1" :src="record.content" /> -->
|
|
|
+ <TableImg
|
|
|
+ v-if="record.type === 1"
|
|
|
+ :size="200"
|
|
|
+ :simpleShow="true"
|
|
|
+ :imgList="[record.content]"
|
|
|
+ />
|
|
|
</template>
|
|
|
|
|
|
- <template #birthday="{ record }">
|
|
|
- <Time v-if="record.birthday" :value="record.birthday" mode="datetime" />
|
|
|
+ <template #periodTime="{ record }">
|
|
|
+ <Time :value="record.startTime" mode="datetime" /> 到
|
|
|
+ <Time :value="record.endTime" mode="datetime" />
|
|
|
</template>
|
|
|
|
|
|
- <template #lastLoginTime="{ record }">
|
|
|
- <Time :value="record.lastLoginTime" mode="datetime" />
|
|
|
+ <template #createTime="{ record }">
|
|
|
+ <Time :value="record.createTime" mode="datetime" />
|
|
|
</template>
|
|
|
|
|
|
<template #action="{ record }">
|
|
|
<TableAction
|
|
|
:actions="[
|
|
|
{
|
|
|
- label: '详情',
|
|
|
- onClick: () => {
|
|
|
- go(`/order/list/detail/${record.orderNo}`);
|
|
|
- },
|
|
|
+ label: '查看',
|
|
|
+ onClick: () => {},
|
|
|
},
|
|
|
{
|
|
|
- label: '打印',
|
|
|
color: 'error',
|
|
|
- onClick: () => {
|
|
|
- createMessage.info(`暂未接入`);
|
|
|
+ label: '删除',
|
|
|
+ popConfirm: {
|
|
|
+ title: '是否确认删除',
|
|
|
+ confirm: handleDelete.bind(null, record),
|
|
|
},
|
|
|
},
|
|
|
]"
|
|
@@ -45,11 +52,18 @@
|
|
|
</template>
|
|
|
<script lang="ts">
|
|
|
import { defineComponent } from 'vue';
|
|
|
- import { BasicTable, useTable, BasicColumn, FormProps, TableAction } from '/@/components/Table';
|
|
|
+ import {
|
|
|
+ BasicTable,
|
|
|
+ useTable,
|
|
|
+ BasicColumn,
|
|
|
+ FormProps,
|
|
|
+ TableAction,
|
|
|
+ TableImg,
|
|
|
+ } from '/@/components/Table';
|
|
|
import { useMessage } from '/@/hooks/web/useMessage';
|
|
|
import { uploadApi } from '/@/api/sys/upload';
|
|
|
import { useModal } from '/@/components/Modal';
|
|
|
- import { ListApi } from '/@/api/notification/list';
|
|
|
+ import { listApi, deleteNoticeApi } from '/@/api/notification/list';
|
|
|
import { useI18n } from '/@/hooks/web/useI18n';
|
|
|
import { useGo } from '/@/hooks/web/usePage';
|
|
|
import { Avatar } from 'ant-design-vue';
|
|
@@ -57,7 +71,7 @@
|
|
|
import AddModal from './addModal.vue';
|
|
|
|
|
|
export default defineComponent({
|
|
|
- components: { BasicTable, TableAction, Avatar, Time, AddModal },
|
|
|
+ components: { BasicTable, TableAction, Avatar, Time, AddModal, TableImg },
|
|
|
setup() {
|
|
|
const { createMessage } = useMessage();
|
|
|
const go = useGo();
|
|
@@ -79,30 +93,38 @@
|
|
|
{
|
|
|
title: '内容',
|
|
|
dataIndex: 'content',
|
|
|
+ slots: { customRender: 'content' },
|
|
|
// sorter: true,
|
|
|
width: 160,
|
|
|
},
|
|
|
{
|
|
|
title: '持续时间',
|
|
|
- dataIndex: 'lastLoginTime',
|
|
|
- slots: { customRender: 'lastLoginTime' },
|
|
|
+ dataIndex: 'periodTime',
|
|
|
+ slots: { customRender: 'periodTime' },
|
|
|
// sorter: true,
|
|
|
width: 120,
|
|
|
},
|
|
|
{
|
|
|
title: '发布时间',
|
|
|
- dataIndex: 'lastLoginTime',
|
|
|
- slots: { customRender: 'lastLoginTime' },
|
|
|
+ dataIndex: 'createTime',
|
|
|
+ slots: { customRender: 'createTime' },
|
|
|
// sorter: true,
|
|
|
width: 120,
|
|
|
},
|
|
|
+ {
|
|
|
+ title: '操作',
|
|
|
+ dataIndex: '',
|
|
|
+ slots: { customRender: 'action' },
|
|
|
+ fixed: 'right',
|
|
|
+ width: 80,
|
|
|
+ },
|
|
|
];
|
|
|
|
|
|
const searchForm: Partial<FormProps> = {
|
|
|
labelWidth: 100,
|
|
|
schemas: [
|
|
|
{
|
|
|
- field: 'username',
|
|
|
+ field: 'title',
|
|
|
label: '名称',
|
|
|
component: 'Input',
|
|
|
componentProps: {
|
|
@@ -118,7 +140,7 @@
|
|
|
|
|
|
const [registerTable, { reload }] = useTable({
|
|
|
title: '消息列表',
|
|
|
- api: ListApi,
|
|
|
+ api: listApi,
|
|
|
columns: columns,
|
|
|
useSearchForm: true,
|
|
|
formConfig: searchForm,
|
|
@@ -136,33 +158,30 @@
|
|
|
},
|
|
|
});
|
|
|
|
|
|
- function renderGenderLabel(gender: number): string {
|
|
|
- switch (gender) {
|
|
|
- case 0:
|
|
|
- return '女';
|
|
|
- case 1:
|
|
|
- return '男';
|
|
|
- default:
|
|
|
- return '未知';
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
function handleCreate(): void {
|
|
|
// openAddModal();
|
|
|
openAddModal(true, {});
|
|
|
}
|
|
|
+ async function handleDelete(record: Recordable) {
|
|
|
+ const data = await deleteNoticeApi({
|
|
|
+ id: record.id,
|
|
|
+ });
|
|
|
+ createMessage.success(t('common.optSuccess'));
|
|
|
+ reload();
|
|
|
+ console.log('data', data);
|
|
|
+ }
|
|
|
|
|
|
return {
|
|
|
registerTable,
|
|
|
createMessage,
|
|
|
t,
|
|
|
go,
|
|
|
- renderGenderLabel,
|
|
|
uploadApi: uploadApi as any,
|
|
|
handleCreate,
|
|
|
reload,
|
|
|
registerAddModal,
|
|
|
openAddModal,
|
|
|
+ handleDelete,
|
|
|
};
|
|
|
},
|
|
|
});
|