Controller:NextFilesController
<next-tab-block-files /> 是嵌入在 <n-tab-block /> 中的文件组件。
<next-tab-block-files :name="name" :options="options" :refer="refer" />
name: <n-tab-block /> 的名称。options: 文件组件的选项参数。refer: 外部传入的paramsname 是 <n-tab-block /> 的名称。会显示在列表卡片顶部。
options 是文件组件的选项参数,必填。以下是 options 的默认参数值:
export default {
getBaseConfig () {
return {
// 文件列表数据id的键名
idKey: 'FileKey',
// n-tab-block tag-builder属性
// http://dev1:810/components/tab-block
tagBuilder: null
}
},
// getDataList 请求参数 内部合并到nvt.params
getDefaultParams: null,
// 用于获取上传参数
getUploadParams: () => ({}),
// 用于获取列表数据
getDataList (nvt) {
// 默认调用公共获取文件列表接口
return request.getValue('/api/BaseSystem/Uploadfly/GetFileKeyList', nvt.params, {json: true})
},
// 用于获取顶部操作菜单
getHeaderMenus: (nvt) => {
const { upload } = nvt.menus
return [upload]
},
// 用于获取文件数据操作菜单
getDataMenus (nvt) {
const { preview, download } = nvt.menus
return [preview, download]
}
}
refer 是组件参照内容,可用于获取外部数据。
在任意事件中均可使用 nvt.props.refer 获取当前函数的返回值。
在 NextFilesController 控制器中,会将默认options与外部传入的 options 进行合并。
该执行函数用于获取基础配置信息。默认值:
// 用于获取基础配置信息
function getBaseConfig () {
return {
// 文件列表数据id的键名
idKey: 'FileKey',
// n-tab-block tag-builder属性 http://dev1:810/components/tab-block
// 此参数有值使用此参数,否则tag展示文件条数
tagBuilder: null
}
}
该执行函数用于传入getDataList函数请求参数
在任意事件中均可使用 nvt.params 获取当前函数的返回值。
getDefaultParams () {
return null
}
用于获取上传参数
import { ExcelFileExt } from '@/base/constant'
getUploadParams () {
return {
// fileMultiple: false, 文件是否多选
// fileSize: 50, // 文件大小限制, 单位 M
fileExt: ExcelFileExt,
fileType: [400, 401, 402],
original: {
ObjectID: nvt.props.refer?.id,
ObjectType: 'SRMTrackInfo'
}
}
}
该执行函数用于获取文件列表数据(异步函数)。
默认调用 /api/BaseSystem/Uploadfly/GetFileKeyList 公共获取文件列表接口。
返回值为一个Promise对象。
getDataList (nvt) {
// 默认调用公共获取文件列表接口
return request.getValue('/api/BaseSystem/Uploadfly/GetFileKeyList', nvt.params, {json: true})
},
该执行函数用于获取上传文件配置按钮
注意:
nvt.menus中默认传出公共upload按钮/api/BaseSystem/Uploadfly/BindFileToBusiness// 用于获取顶部操作菜单
getHeaderMenus: (nvt) => {
const {upload} = nvt.menus
return [upload]
}
该执行函数用于获取文件操作菜单配置
注意:
nvt.menus中默认传出公共preview, download, remove按钮/api/BaseSystem/Uploadfly/DeleteFileToBusinessgetDataMenus (nvt) {
const {preview, download, remove} = nvt.menus
return [
preview,
download,
remove
]
}
刷新文件列表,内部调用getDataList函数
// hook:getDataList
nvt.refresh.current()
任意选项回调中,均可使用 nvt.props 获取 props。
NextFilesController 使用 init 单例函数进行初始化。
因为是单例函数,所以可以直接调用函数检测等待初始化完毕。
await controller.init()
// 初始化完毕后执行
init 内部的执行内容/顺序如下:
import CollectionLiteController from '@/layout/functional/CollectionLiteController'
class NextFilesController extends CollectionLiteController {
constructor ({ creator, options, refer }) {
super({ creator, options, refer })
}
}