新增待办信息
This commit is contained in:
@@ -43,10 +43,8 @@ import java.io.Serial;
|
||||
@Column(name = "folder_id", attrName = "folderId", label = "文件夹标识"),
|
||||
@Column(name = "user_name", attrName = "userName", label = "用户姓名", isUpdate = false, isQuery = false),
|
||||
@Column(name = "login_code", attrName = "loginCode", label = "用户名称", isUpdate = false),
|
||||
@Column(name = "download_count", attrName = "downloadCount", label = "下载次数", isUpdate = false, isQuery = false, isUpdateForce = true),
|
||||
@Column(name = "view_count", attrName = "viewCount", label = "查看次数", isUpdate = false, isQuery = false, isUpdateForce = true),
|
||||
@Column(name = "expire_time", attrName = "expireTime", label = "过期时间", isQuery = false, isUpdateForce = true),
|
||||
@Column(name = "is_delete", attrName = "isDelete", label = "是否删除", isUpdateForce = true),
|
||||
@Column(name = "download_count", attrName = "downloadCount", label = "下载次数"),
|
||||
@Column(name = "view_count", attrName = "viewCount", label = "查看次数"),
|
||||
@Column(name = "update_time", attrName = "updateTime", label = "更新时间", isQuery = false, isUpdateForce = true),
|
||||
@Column(name = "svg_icon", attrName = "svgIcon", label = "文件夹标识"),
|
||||
}, joinTable = {
|
||||
@@ -75,8 +73,6 @@ public class BizMyfiles extends DataEntity<BizMyfiles> implements Serializable {
|
||||
private String loginCode; // 用户名称
|
||||
private Integer downloadCount; // 下载次数
|
||||
private Integer viewCount; // 查看次数
|
||||
private Date expireTime; // 过期时间
|
||||
private Integer isDelete; // 是否删除
|
||||
private Date updateTime; // 更新时间
|
||||
private String svgIcon; //文件图标
|
||||
|
||||
@@ -96,8 +92,6 @@ public class BizMyfiles extends DataEntity<BizMyfiles> implements Serializable {
|
||||
@ExcelField(title = "用户名称", attrName = "loginCode", align = Align.CENTER, sort = 110),
|
||||
@ExcelField(title = "下载次数", attrName = "downloadCount", align = Align.CENTER, sort = 120),
|
||||
@ExcelField(title = "查看次数", attrName = "viewCount", align = Align.CENTER, sort = 130),
|
||||
@ExcelField(title = "过期时间", attrName = "expireTime", align = Align.CENTER, sort = 140, dataFormat = "yyyy-MM-dd hh:mm"),
|
||||
@ExcelField(title = "是否删除", attrName = "isDelete", dictType = "sys_yes_no", align = Align.CENTER, sort = 150),
|
||||
@ExcelField(title = "更新时间", attrName = "updateTime", align = Align.CENTER, sort = 160, dataFormat = "yyyy-MM-dd hh:mm"),
|
||||
})
|
||||
public BizMyfiles() {
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
import { useMessage } from '@jeesite/core/hooks/web/useMessage';
|
||||
import { BasicModal, useModalInner } from '@jeesite/core/components/Modal';
|
||||
|
||||
import { FolderItem, BizFolders, bizFoldersListAll, bizFoldersSave, bizFolderTreeData } from '@jeesite/biz/api/biz/folders';
|
||||
import { BizFolders, bizFoldersListAll, bizFoldersSave, bizFolderTreeData } from '@jeesite/biz/api/biz/folders';
|
||||
import { useUserStore } from '@jeesite/core/store/modules/user';
|
||||
const userStore = useUserStore();
|
||||
const userinfo = computed(() => userStore.getUserInfo);
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
<template>
|
||||
<BasicModal
|
||||
v-bind="$attrs"
|
||||
@register="register"
|
||||
title="移动文件"
|
||||
width="60%"
|
||||
@cancel="handleCancel"
|
||||
@ok="handleSubmit"
|
||||
>
|
||||
<BasicForm @register="registerForm" />
|
||||
</BasicModal>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent, ref, computed, onMounted, onUnmounted } from 'vue';
|
||||
import { useI18n } from '@jeesite/core/hooks/web/useI18n';
|
||||
import { BasicForm, FormSchema, useForm } from '@jeesite/core/components/Form';
|
||||
import { useMessage } from '@jeesite/core/hooks/web/useMessage';
|
||||
import { BasicModal, useModalInner } from '@jeesite/core/components/Modal';
|
||||
import { BizFolders, bizFolderTreeData } from '@jeesite/biz/api/biz/folders';
|
||||
import { BizMyfiles, bizMyfilesEdit } from '@jeesite/biz/api/biz/myfiles';
|
||||
import { useUserStore } from '@jeesite/core/store/modules/user';
|
||||
const userStore = useUserStore();
|
||||
const userinfo = computed(() => userStore.getUserInfo);
|
||||
|
||||
export default defineComponent({
|
||||
components: { BasicModal, BasicForm },
|
||||
emits: ['modalClose'],
|
||||
setup(props, { emit }) {
|
||||
const paramId = ref();
|
||||
const { showMessage } = useMessage();
|
||||
const { t } = useI18n('biz.myfiles');
|
||||
const record = ref<BizFolders>({} as BizFolders);
|
||||
const inputFormSchemas: FormSchema<BizFolders>[] = [
|
||||
{
|
||||
label: t('目录名称'),
|
||||
field: 'folderId',
|
||||
fieldLabel: 'folderName',
|
||||
component: 'TreeSelect',
|
||||
componentProps: {
|
||||
api: bizFolderTreeData,
|
||||
params: { loginCode: userinfo.value.loginCode },
|
||||
allowClear: true,
|
||||
},
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
label: t('文件名称'),
|
||||
field: 'fileName',
|
||||
component: 'Input',
|
||||
componentProps: {
|
||||
maxlength: 52,
|
||||
},
|
||||
required: true,
|
||||
},
|
||||
];
|
||||
|
||||
// 表单注册核心逻辑
|
||||
const [registerForm, { resetFields, setFieldsValue, validate }] = useForm<BizFolders>({
|
||||
labelWidth: 120,
|
||||
schemas: inputFormSchemas,
|
||||
baseColProps: { md: 24, lg: 12 },
|
||||
});
|
||||
|
||||
const { createMessage } = useMessage();
|
||||
|
||||
const [register, { setModalProps, closeModal }] = useModalInner(async (data: any) => {
|
||||
setModalProps({ loading: true });
|
||||
await resetFields();
|
||||
paramId.value = data.id;
|
||||
record.value = (data || {}) as BizFolders;
|
||||
record.value.__t = new Date().getTime();
|
||||
await setFieldsValue(record.value);
|
||||
setModalProps({ loading: false });
|
||||
});
|
||||
|
||||
async function handleSubmit() {
|
||||
try {
|
||||
setModalProps({ confirmLoading: true });
|
||||
const data = await validate();
|
||||
const params: any = {
|
||||
id : paramId.value,
|
||||
};
|
||||
const res = await bizMyfilesEdit(params, data);
|
||||
showMessage(res.message);
|
||||
handleCancel();
|
||||
} catch (error: any) {
|
||||
console.error('移动文件失败:', error);
|
||||
} finally {
|
||||
setModalProps({ confirmLoading: false });
|
||||
}
|
||||
}
|
||||
|
||||
// 取消按钮逻辑
|
||||
const handleCancel = () => {
|
||||
resetFields();
|
||||
emit('modalClose');
|
||||
closeModal();
|
||||
};
|
||||
|
||||
return {
|
||||
register,
|
||||
closeModal,
|
||||
handleCancel,
|
||||
registerForm,
|
||||
inputFormSchemas,
|
||||
handleSubmit,
|
||||
};
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
@@ -379,7 +379,9 @@
|
||||
<div class="card-divider"></div>
|
||||
<div class="file-card-actions">
|
||||
<span class="folder-name-label" :title="file.folderName">
|
||||
{{ file.folderName }}
|
||||
<a-button type="link" size="small" @click="openInputModal(true,file)" >
|
||||
{{ file.folderName }}
|
||||
</a-button>
|
||||
</span>
|
||||
<div class="action-buttons">
|
||||
<a-button type="link" size="small" @click="downloadFiles(file)" >
|
||||
@@ -396,8 +398,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<UploadModal @register="uploadregister" @modalClose="getFileList({ params: ParamsFolders})"/>
|
||||
<FolderModal @register="folderregister" @modalClose="handleFolderModalClose" />
|
||||
<UploadModal @register="registerUpload" @modalClose="getFileList({ params: ParamsFolders})"/>
|
||||
<FolderModal @register="registerFolder" @modalClose="handleFolderModalClose" />
|
||||
<InputModal @register="registerModal" @modalClose="getFileList({ params: ParamsFolders})" />
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
@@ -410,6 +413,7 @@ import { useGlobSetting } from '@jeesite/core/hooks/setting';
|
||||
import { downloadByUrl } from '@jeesite/core/utils/file/download';
|
||||
import UploadModal from './upload.vue';
|
||||
import FolderModal from './folder.vue';
|
||||
import InputModal from './form.vue';
|
||||
|
||||
import { bizFoldersSave, bizFoldersAllData, bizFolderItemAll, bizFoldersDelete } from '@jeesite/biz/api/biz/folders';
|
||||
import { BizMyfiles, bizMyfilesEdit, bizMyfilesListAll, bizMyfilesDelete } from '@jeesite/biz/api/biz/myfiles';
|
||||
@@ -419,8 +423,10 @@ const userStore = useUserStore();
|
||||
const userinfo = computed(() => userStore.getUserInfo);
|
||||
import { BasicTree } from '@jeesite/core/components/Tree';
|
||||
|
||||
const [uploadregister, { openModal: openUploadModal }] = useModal();
|
||||
const [folderregister, { openModal: openfolderModal }] = useModal();
|
||||
const [registerModal, { openModal: openInputModal }] = useModal();
|
||||
const [registerUpload, { openModal: openUploadModal }] = useModal();
|
||||
const [registerFolder, { openModal: openfolderModal }] = useModal();
|
||||
|
||||
|
||||
interface FolderNode {
|
||||
id: string;
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
<TabPane key="2" tab="我的待办">
|
||||
<ItemsInfo />
|
||||
</TabPane>
|
||||
<TabPane key="3" tab="字典管理">
|
||||
<TableInfo />
|
||||
</TabPane>
|
||||
<TabPane key="4" tab="文件管理">
|
||||
<TabPane key="3" tab="文件管理">
|
||||
<MyfileInfo />
|
||||
</TabPane>
|
||||
<TabPane key="4" tab="字典管理">
|
||||
<TableInfo />
|
||||
</TabPane>
|
||||
</Tabs>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user