zhuguifei
2025-04-28 442928123f63ee497d766f9a7a14f0a6ee067e25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
export default {
    state: {
        // 表格中显示的列
        //selectedColumnList: localStorage.getItem('lbdoc_selected_column_list'),
        // 文件展示模式 0 列表模式 | 1 网格模式 | 2 时间线模式
        fileModel: localStorage.getItem('lbdoc_file_model'),
        // 网格模式 & 时间线模式下 图标大小 单位px
        gridSize: localStorage.getItem('lbdoc_grid_size')
            ? Number(localStorage.getItem('lbdoc_grid_size'))
            : 80,
        // 批量模式下:被选中的文件列表
        selectedFiles: [],
        // 是否批量操作:true - 批量,false - 单文件
        isBatchOperation: false,
        filePath: '',  // 当前打开的文件夹路径
        fileType: '',   //0: 正常文件   6:回收站文件   8:分享文件
        downloadPrem: [], // 拥有下载权限的文件id集合
        managePrem: [], // 拥有管理权限的文件id集合
        pathId: '', // 当前打开的文件夹id
        create: undefined, // 当前文件夹是否有新建文件夹权限
        upload: undefined, // 当前文件夹是否有上传权限
        flow: null, // 日下载总限额
        surplusFlow: null, // 已用限额
        compareModal: false, // 对比模态框是否显示
        compareList: [], // 文件对比结果列表
        compareLoading: false, // 文件对比加载状态
    },
    mutations: {
        changeFileModel(state, data) {
            localStorage.setItem('lbdoc_file_model', data)
            state.fileModel = data
        },
        /**
         * 网格模式 & 时间线模式 改变文件图标大小
         * @description 文件图标大小保存在 Vuex 和 cookie 中
         * @param {object} state Vuex 的 state 对象
         * @param {string} data 文件图标大小
         */
        changeGridSize(state, data) {
            localStorage.setItem('lbdoc_grid_size', data)
            state.gridSize = data
        },
        /**
         * 设置批量操作模式下被选中的文件列表
         * @param {object} state Vuex 的 state 对象
         * @param {array} data 批量操作模式下,被选中的文件列表
         */
        changeSelectedFiles(state, data) {
            state.selectedFiles = data
        },
        /**
         * 设置是否批量操作
         * @param {object} state Vuex 的 state 对象
         * @param {boolean} data 是否批量操作
         */
        changeIsBatchOperation(state, data) {
            state.isBatchOperation = data
        },
 
        /**
         * 查询目录内文件铺后更新当前所在路径
         * @param {object} state 
         * @param {string} data 查询的文件路径
         */
        changeFilePath(state, data) {
            state.filePath = data
        },
 
        /**
         * 当前主体窗口展示文件类型
         * @param {object} state 
         * @param {string} data 
         */
        changeFileType(state, data) {
            state.fileType = data
        },
 
        /**
         * 下载权限集合更新操作
         * @param {Object} state 
         * @param {Array} data 
         */
        changeDownloadPrem(state, data) {
            state.downloadPrem = data
        },
 
 
        /**
         * 管理权限集合更新操作
         * @param {Object} state 
         * @param {Array} data 
         */
        changeManagePrem(state, data) {
            state.managePrem = data
        },
 
 
        /**
         * 当前文件夹id
         * @param {*} state 
         * @param {*} data 
         */
        changePathId(state, data) {
            state.pathId = data
        },
 
 
        /**
         * 更新当前文件夹的创建权限
         * @param {Object} state 
         * @param {boolean} data 
         */
        changeCreateFlag(state, data) {
            state.create = data
        },
 
        /**
     * 更新当前文件夹的上传权限
     * @param {Object} state 
     * @param {boolean} data 
     */
        changeUploadFlag(state, data) {
            state.upload = data
        },
 
 
        /**
         * 更新日下载总限额
         * @param {object} state 
         * @param {Number} data 
         */
        changeFlow(state, data) {
            state.flow = data
        },
 
 
        /**
         * 更新已用下载限额
         * @param {*} state 
         * @param {*} data 
         */
        changeSurplusFlow(state, data) {
            state.surplusFlow = data
        },
 
 
        /**
     * 文件对比模态窗口
     * @param {*} state 
     * @param {*} data 
     */
        changeCompareModal(state, data) {
            state.compareModal = data
        },
 
        /**
 * 添加到文件对比结果列表
 * @param {*} state 
 * @param {*} data 
 */
        addCompareList(state, data) {
            state.compareList.push(data)
        },
        /**
 * 清空文件对比结果列表
 * @param {*} state 
 * @param {*} data 
 */
        clearCompareList(state, data) {
            state.compareList = []
        },
        /**
* 更改文件对比加载状态
* @param {*} state 
* @param {*} data 
*/
        changeCompareLoading(state, data) {
            state.compareLoading = []
        }
    }
}