新增待办信息
This commit is contained in:
@@ -43,10 +43,8 @@ import java.io.Serial;
|
|||||||
@Column(name = "folder_id", attrName = "folderId", label = "文件夹标识"),
|
@Column(name = "folder_id", attrName = "folderId", label = "文件夹标识"),
|
||||||
@Column(name = "user_name", attrName = "userName", label = "用户姓名", isUpdate = false, isQuery = false),
|
@Column(name = "user_name", attrName = "userName", label = "用户姓名", isUpdate = false, isQuery = false),
|
||||||
@Column(name = "login_code", attrName = "loginCode", label = "用户名称", isUpdate = 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 = "download_count", attrName = "downloadCount", label = "下载次数"),
|
||||||
@Column(name = "view_count", attrName = "viewCount", label = "查看次数", isUpdate = false, isQuery = false, isUpdateForce = true),
|
@Column(name = "view_count", attrName = "viewCount", label = "查看次数"),
|
||||||
@Column(name = "expire_time", attrName = "expireTime", label = "过期时间", isQuery = false, isUpdateForce = true),
|
|
||||||
@Column(name = "is_delete", attrName = "isDelete", label = "是否删除", isUpdateForce = true),
|
|
||||||
@Column(name = "update_time", attrName = "updateTime", label = "更新时间", isQuery = false, isUpdateForce = true),
|
@Column(name = "update_time", attrName = "updateTime", label = "更新时间", isQuery = false, isUpdateForce = true),
|
||||||
@Column(name = "svg_icon", attrName = "svgIcon", label = "文件夹标识"),
|
@Column(name = "svg_icon", attrName = "svgIcon", label = "文件夹标识"),
|
||||||
}, joinTable = {
|
}, joinTable = {
|
||||||
@@ -75,8 +73,6 @@ public class BizMyfiles extends DataEntity<BizMyfiles> implements Serializable {
|
|||||||
private String loginCode; // 用户名称
|
private String loginCode; // 用户名称
|
||||||
private Integer downloadCount; // 下载次数
|
private Integer downloadCount; // 下载次数
|
||||||
private Integer viewCount; // 查看次数
|
private Integer viewCount; // 查看次数
|
||||||
private Date expireTime; // 过期时间
|
|
||||||
private Integer isDelete; // 是否删除
|
|
||||||
private Date updateTime; // 更新时间
|
private Date updateTime; // 更新时间
|
||||||
private String svgIcon; //文件图标
|
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 = "loginCode", align = Align.CENTER, sort = 110),
|
||||||
@ExcelField(title = "下载次数", attrName = "downloadCount", align = Align.CENTER, sort = 120),
|
@ExcelField(title = "下载次数", attrName = "downloadCount", align = Align.CENTER, sort = 120),
|
||||||
@ExcelField(title = "查看次数", attrName = "viewCount", align = Align.CENTER, sort = 130),
|
@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"),
|
@ExcelField(title = "更新时间", attrName = "updateTime", align = Align.CENTER, sort = 160, dataFormat = "yyyy-MM-dd hh:mm"),
|
||||||
})
|
})
|
||||||
public BizMyfiles() {
|
public BizMyfiles() {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
import { useMessage } from '@jeesite/core/hooks/web/useMessage';
|
import { useMessage } from '@jeesite/core/hooks/web/useMessage';
|
||||||
import { BasicModal, useModalInner } from '@jeesite/core/components/Modal';
|
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';
|
import { useUserStore } from '@jeesite/core/store/modules/user';
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const userinfo = computed(() => userStore.getUserInfo);
|
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="card-divider"></div>
|
||||||
<div class="file-card-actions">
|
<div class="file-card-actions">
|
||||||
<span class="folder-name-label" :title="file.folderName">
|
<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>
|
</span>
|
||||||
<div class="action-buttons">
|
<div class="action-buttons">
|
||||||
<a-button type="link" size="small" @click="downloadFiles(file)" >
|
<a-button type="link" size="small" @click="downloadFiles(file)" >
|
||||||
@@ -396,8 +398,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<UploadModal @register="uploadregister" @modalClose="getFileList({ params: ParamsFolders})"/>
|
<UploadModal @register="registerUpload" @modalClose="getFileList({ params: ParamsFolders})"/>
|
||||||
<FolderModal @register="folderregister" @modalClose="handleFolderModalClose" />
|
<FolderModal @register="registerFolder" @modalClose="handleFolderModalClose" />
|
||||||
|
<InputModal @register="registerModal" @modalClose="getFileList({ params: ParamsFolders})" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
@@ -410,6 +413,7 @@ import { useGlobSetting } from '@jeesite/core/hooks/setting';
|
|||||||
import { downloadByUrl } from '@jeesite/core/utils/file/download';
|
import { downloadByUrl } from '@jeesite/core/utils/file/download';
|
||||||
import UploadModal from './upload.vue';
|
import UploadModal from './upload.vue';
|
||||||
import FolderModal from './folder.vue';
|
import FolderModal from './folder.vue';
|
||||||
|
import InputModal from './form.vue';
|
||||||
|
|
||||||
import { bizFoldersSave, bizFoldersAllData, bizFolderItemAll, bizFoldersDelete } from '@jeesite/biz/api/biz/folders';
|
import { bizFoldersSave, bizFoldersAllData, bizFolderItemAll, bizFoldersDelete } from '@jeesite/biz/api/biz/folders';
|
||||||
import { BizMyfiles, bizMyfilesEdit, bizMyfilesListAll, bizMyfilesDelete } from '@jeesite/biz/api/biz/myfiles';
|
import { BizMyfiles, bizMyfilesEdit, bizMyfilesListAll, bizMyfilesDelete } from '@jeesite/biz/api/biz/myfiles';
|
||||||
@@ -419,8 +423,10 @@ const userStore = useUserStore();
|
|||||||
const userinfo = computed(() => userStore.getUserInfo);
|
const userinfo = computed(() => userStore.getUserInfo);
|
||||||
import { BasicTree } from '@jeesite/core/components/Tree';
|
import { BasicTree } from '@jeesite/core/components/Tree';
|
||||||
|
|
||||||
const [uploadregister, { openModal: openUploadModal }] = useModal();
|
const [registerModal, { openModal: openInputModal }] = useModal();
|
||||||
const [folderregister, { openModal: openfolderModal }] = useModal();
|
const [registerUpload, { openModal: openUploadModal }] = useModal();
|
||||||
|
const [registerFolder, { openModal: openfolderModal }] = useModal();
|
||||||
|
|
||||||
|
|
||||||
interface FolderNode {
|
interface FolderNode {
|
||||||
id: string;
|
id: string;
|
||||||
|
|||||||
@@ -8,12 +8,12 @@
|
|||||||
<TabPane key="2" tab="我的待办">
|
<TabPane key="2" tab="我的待办">
|
||||||
<ItemsInfo />
|
<ItemsInfo />
|
||||||
</TabPane>
|
</TabPane>
|
||||||
<TabPane key="3" tab="字典管理">
|
<TabPane key="3" tab="文件管理">
|
||||||
<TableInfo />
|
|
||||||
</TabPane>
|
|
||||||
<TabPane key="4" tab="文件管理">
|
|
||||||
<MyfileInfo />
|
<MyfileInfo />
|
||||||
</TabPane>
|
</TabPane>
|
||||||
|
<TabPane key="4" tab="字典管理">
|
||||||
|
<TableInfo />
|
||||||
|
</TabPane>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user