cloud-web-corejs 1.0.54-dev.685 → 1.0.54-dev.687

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloud-web-corejs",
3
3
  "private": false,
4
- "version": "1.0.54-dev.685",
4
+ "version": "1.0.54-dev.687",
5
5
  "scripts": {
6
6
  "dev": "vue-cli-service serve",
7
7
  "lint": "eslint --ext .js,.vue src",
package/src/api/user.js CHANGED
@@ -32,6 +32,19 @@ export function saveAccessMenuLog(option) {
32
32
  });
33
33
  }
34
34
 
35
+ export function saveUserLog(option) {
36
+ let data = {
37
+ logType: "operationLog",
38
+ ...option.data,
39
+ };
40
+ return request({
41
+ url: USER_PREFIX + "/user_log/save",
42
+ method: "post",
43
+ ...option,
44
+ data,
45
+ });
46
+ }
47
+
35
48
  export function getLoginTp(duration, option) {
36
49
  return request({
37
50
  url: USER_PREFIX + "/thirdparty_auth/getTp",
@@ -106,9 +119,9 @@ export function getLoginConfig(option) {
106
119
  });
107
120
  }
108
121
 
109
- export function getLogicParamValue(option) {
122
+ export function getIdmLoginUrl(option) {
110
123
  return request({
111
- url: USER_PREFIX + "/logic_param/getParamValue",
124
+ url: USER_PREFIX + "/auth/idmLoginUrl",
112
125
  method: "post",
113
126
  ...option,
114
127
  });
@@ -0,0 +1,296 @@
1
+ <template>
2
+ <div>
3
+ <el-dialog
4
+ ref="privateProfileDialog"
5
+ :title="title"
6
+ :visible.sync="showDialog"
7
+ v-if="showDialog"
8
+ :append-to-body="true"
9
+ :close-on-click-modal="false"
10
+ width="1102px"
11
+ custom-class="dialog-style drag-space"
12
+ :destroy-on-close="true"
13
+ @close="handleClose"
14
+ v-el-drag-dialog
15
+ top="0px"
16
+ >
17
+ <div id="containt1">
18
+ <div v-show="title!='' && title !== null && title !== undefined" style="overflow: hidden;" class="flex">
19
+ <div class="tree-box tree-annex fl">
20
+ <div class="tit"><b>{{ title }}</b></div>
21
+ <div class="tree-form">
22
+ <el-input placeholder="请输入文件夹名称" v-model="filterText" class="txt">
23
+ <el-button slot="append" icon="el-icon-search"></el-button>
24
+ </el-input>
25
+ </div>
26
+ <el-tree
27
+ v-if="treeFlag"
28
+ :props="defaultProps"
29
+ :load="loadNode"
30
+ node-key="id"
31
+ ref="tree"
32
+ lazy
33
+ :filter-node-method="filterNode"
34
+ :expand-on-click-node="false"
35
+ @node-click="handleNodeClick"
36
+ class="tree-list"
37
+ icon-class="el-icon-arrow-down"
38
+ >
39
+ <span class="el-tree-node__label" slot-scope="{ node, data }" v-if="!node.data.moreBtn">
40
+ <i class="ico-wenjian"></i>
41
+ <span>{{ node.label }}</span>
42
+ </span>
43
+ <span v-else class="el-tree-node__label">
44
+ <el-button type="primary" plain class="button-sty">{{ node.label }}</el-button>
45
+ </span>
46
+ </el-tree>
47
+ </div>
48
+ <label id="labBtn">
49
+ <div class="icon">
50
+ <i class="el-icon-more"></i>
51
+ <i class="el-icon-more"></i>
52
+ </div>
53
+ </label>
54
+ <div class="main-right file-library fr" style="overflow: hidden;">
55
+ <div class="annex-filter" v-if="isBillEnabled">
56
+ <el-button slot="append" icon="el-icon-search" @click="openBillDialog" size="mini" class="an-btn-search"
57
+ type="success"></el-button>
58
+ <div class="abox">
59
+ <div class="item" v-for="(checkBillData,index) in checkBillDatas" :key="index"><span>{{
60
+ getBillLabel(checkBillData)
61
+ }}</span><i
62
+ class="el-icon-close" @click="deleteBillData(index)"></i></div>
63
+ </div>
64
+ <el-button slot="append" icon="el-icon-delete" size="mini" class="an-btn-del" @click="clearBill">全部删除
65
+ </el-button>
66
+ </div>
67
+ <div class="annex-screen"
68
+ v-if="fileObjAuth.downloadAuth">
69
+ <el-button type="primary" class="button-sty" icon="el-icon-download" @click.native="mulDownload2"
70
+ v-if="fileObjAuth.downloadAuth">下载
71
+ </el-button>
72
+ </div>
73
+ <div class="line"
74
+ v-if="fileObjAuth.downloadAuth"></div>
75
+ <div class="annex-crumbs">
76
+ <span class="tit"><i class="iconfont icon-wenjianjia"></i>文件区</span>
77
+ <span class="tit" style="padding-right: 0;">指定路径:</span>
78
+ <el-breadcrumb separator-class="el-icon-arrow-right">
79
+ <el-breadcrumb-item v-for="treeNode in treeNodeArr" :key="treeNode.id" @click.native="doNav(treeNode)">
80
+ {{
81
+ treeNode.label
82
+ }}
83
+ </el-breadcrumb-item>
84
+ </el-breadcrumb>
85
+ </div>
86
+ <div class="grid-height viewBox">
87
+ <div class="annex-searchBox">
88
+ <div class="fl">
89
+ <div class="oper">
90
+ <el-checkbox v-model="checkAll" @change="changeCheckAll" :disabled="checkAllDisabled"
91
+ :indeterminate="checkAllIndeterminate">已选中 {{
92
+ checkList.length
93
+ }} 项
94
+ </el-checkbox>
95
+ </div>
96
+ <div class="search-box">
97
+ <template v-if="currentFileCategory && currentFileCategory.id">
98
+ <el-input placeholder="请输入文件名" v-model="formData.fileName" clearable>
99
+ <el-button slot="append" icon="el-icon-search" @click="searchEvent"></el-button>
100
+ </el-input>
101
+ <el-button icon="iconfont icon-shaixuan" class="button-sty" @click="showAdvancedSearch = true">筛选
102
+ </el-button>
103
+ </template>
104
+ </div>
105
+
106
+ </div>
107
+ <div class="fr">
108
+ <el-button type="primary" icon="iconfont icon-icmenu2" @click="changeShowType()"
109
+ class="button-sty icon-btn"
110
+ v-show="showType==1">列表
111
+ </el-button>
112
+ <el-button type="primary" style="margin-left:0;" icon="el-icon-menu" @click="changeShowType()"
113
+ class="button-sty icon-btn"
114
+ v-show="showType==2">图示
115
+ </el-button>
116
+ </div>
117
+ </div>
118
+ <div class="mask" v-show="is_show_mask">
119
+ </div>
120
+ <div class="containter1" ref="containter1" v-show="showType==1" style="overflow: auto;">
121
+ <div class="annex-piclist">
122
+ <div class="clearfix">
123
+ <el-checkbox-group v-model="checkList" @change="checkChange" class="f-group">
124
+ <template v-for="(attachment,index) in page.records">
125
+ <li class="item" :class="checkList.includes(attachment.id) ? 'on':''" :key="index">
126
+ <el-checkbox :label="attachment.id" :disabled="attachment.dirs"><span></span></el-checkbox>
127
+ <div class="oper">
128
+ <a
129
+ href="javascript:void(0);"
130
+ class="a-link ico"
131
+ v-if="!attachment.dirs && fileObjAuth.downloadAuth"
132
+ @click="$commonFileUtil.downloadFile(attachment.domain + attachment.url, attachment.fileName)"
133
+ >
134
+ <el-tooltip effect="dark" content="下载" placement="top"
135
+ popper-class="tooltip-skin">
136
+ <i class="el-icon-download"/>
137
+ </el-tooltip>
138
+ </a>
139
+ </div>
140
+ <div class="img" @click="openPreview(attachment)" v-if="!attachment.dirs">
141
+ <div class="show-video" v-if="hasPreview(attachment)"><i class="icon-chakan"></i></div>
142
+ <div class="show-video" v-if="false"><i class="el-icon-video-play"></i></div>
143
+ <p><img :src="getShowUrl(attachment)"/></p>
144
+ </div>
145
+ <div class="img" @click="changeCategory(attachment)" v-if="attachment.dirs">
146
+ <svg-icon icon-class="ico-wenjianjia"/>
147
+ </div>
148
+ <el-tooltip :enterable="false" effect="dark" :content="attachment.fileName" placement="top">
149
+ <div class="txt-box">
150
+ <div class="tb-left"></div>
151
+ <div class="tb-mid">
152
+ <div class="txt">
153
+ <span class="name">{{ getFileName(attachment) }}</span><span
154
+ v-if="attachment.extension">.{{ attachment.extension }}</span>
155
+ </div>
156
+ </div>
157
+ <div class="format">... .{{ attachment.extension }}</div>
158
+ </div>
159
+
160
+ </el-tooltip>
161
+ </li>
162
+ </template>
163
+ </el-checkbox-group>
164
+ </div>
165
+ <div class="vxe-grid">
166
+ <div class="vxe-grid&#45;&#45;pager-wrapper">
167
+ <vxe-pager
168
+ class="pages-box"
169
+ :current-page.sync="page.current"
170
+ :page-size.sync="page.size"
171
+ :total="page.total"
172
+ :layouts="['PrevPage', 'Number', 'NextPage']"
173
+ @page-change="changePageNew"
174
+ >
175
+ <template #right>
176
+ <span>
177
+ <span>当前记录</span>
178
+ <span class="f-red"> {{ page.records.length }} </span>
179
+ <span>/</span>
180
+ <span class="f-red"> {{ page.total }}</span>
181
+ </span>
182
+ </template>
183
+ </vxe-pager>
184
+ </div>
185
+ </div>
186
+ </div>
187
+ </div>
188
+ <div class="annex-grid-height">
189
+ <vxe-grid v-show="showType==2" ref="table-m1" v-bind="vxeOption" :data="page.records"
190
+ @resizable-change="$vxeTableUtil.onColumnWitchChange" @custom="$vxeTableUtil.customHandle"
191
+ @checkbox-change="tableCheckChange"
192
+ @checkbox-all="tableCheckAll">
193
+ <template #pager>
194
+ <vxe-pager
195
+ class="pages-box"
196
+ :current-page.sync="page.current"
197
+ :page-size.sync="page.size"
198
+ :total="page.total"
199
+ :layouts="['PrevPage', 'Number', 'NextPage']"
200
+ @page-change="changePageNew"
201
+ >
202
+ <template #right>
203
+ <span>
204
+ <span>当前记录</span>
205
+ <span class="f-red"> {{ page.records.length }} </span>
206
+ <span>/</span>
207
+ <span class="f-red"> {{ page.total }}</span>
208
+ </span>
209
+ </template>
210
+ </vxe-pager>
211
+ </template>
212
+ </vxe-grid>
213
+ </div>
214
+ </div>
215
+ </div>
216
+ </div>
217
+ </div>
218
+ <span slot="footer" class="dialog-footer">
219
+ <el-button type="primary" plain class="button-sty" @click="handleClose">
220
+ <i class="el-icon-close el-icon"></i>
221
+ {{ $t2('取 消', 'system.button.cancel2') }}
222
+ </el-button>
223
+ <el-button type="primary" @click="dialogPrimary" class="button-sty">
224
+ <i class="el-icon-check el-icon"></i>
225
+ {{ $t2('确 定', 'system.button.confirm2') }}
226
+ </el-button>
227
+ </span>
228
+ </el-dialog>
229
+ <el-image-viewer v-if="showViewer" :on-close="() => {showViewer = false;}" :initial-index.sync="chooseIndex"
230
+ :url-list="imageDTOs"/>
231
+ <advancedSearchDialog v-if="showAdvancedSearch" :visiable.sync="showAdvancedSearch"
232
+ :formData.sync="advancedFormData" @confirm="searchEvent">
233
+ <template #form>
234
+ <vxe-form :model="advancedFormData" title-width="102px" :inline="true" class="adSearchForm">
235
+ <vxe-form-item title="属性名称:">
236
+ <template v-slot>
237
+ <el-input v-model="advancedFormData.attributeName" clearable/>
238
+ </template>
239
+ </vxe-form-item>
240
+ <vxe-form-item title="属性值:">
241
+ <template v-slot>
242
+ <el-input v-model="advancedFormData.attributeValue" clearable/>
243
+ </template>
244
+ </vxe-form-item>
245
+ <!-- <vxe-form-item title="状态:">
246
+ <template v-slot>
247
+ <el-select v-model="advancedFormData.status" clearable>
248
+ <el-option :value="0" label="未归档"></el-option>
249
+ <el-option :value="1" label="已归档"></el-option>
250
+ </el-select>
251
+ </template>
252
+ </vxe-form-item>-->
253
+ <vxe-form-item title="说明:" class-name="block">
254
+ <template v-slot>
255
+ <el-input v-model="advancedFormData.note" clearable/>
256
+ </template>
257
+ </vxe-form-item>
258
+ <vxe-form-item title="创建时间:">
259
+ <template v-slot>
260
+ <el-date-picker
261
+ v-model="advancedFormData.startTime"
262
+ type="date"
263
+ placeholder=""
264
+ size="small"
265
+ clearable
266
+ value-format="yyyy-MM-dd"
267
+ :picker-options="$baseStartPickerOptions(advancedFormData.endTime)"
268
+ ></el-date-picker>
269
+ <span>-</span>
270
+ <el-date-picker
271
+ v-model="advancedFormData.endTime"
272
+ type="date"
273
+ placeholder=""
274
+ size="small"
275
+ clearable
276
+ value-format="yyyy-MM-dd"
277
+ :picker-options="$baseEndPickerOptions(advancedFormData.startTime)"
278
+ ></el-date-picker>
279
+ </template>
280
+ </vxe-form-item>
281
+ </vxe-form>
282
+ </template>
283
+ </advancedSearchDialog>
284
+ </div>
285
+ </template>
286
+
287
+ <script>
288
+ import mixins from './mixins/fileLibraryDialog'
289
+
290
+ export default {
291
+ mixins: [mixins]
292
+ };
293
+ </script>
294
+ <style lang="scss" scoped>
295
+
296
+ </style>
@@ -2,13 +2,15 @@ const moudule = {};
2
2
  import vue from "vue";
3
3
  import objView from './index.vue';
4
4
  import {openObsUploadDialog} from "@base/components/obsUpload/index.js"
5
+ import fileLibraryDialog from './fileLibraryDialog.vue'
5
6
 
6
7
  let configUtil = {
7
8
  vue,
8
9
  objView
9
10
  }
10
11
 
11
- const objInstance = configUtil.vue.extend(configUtil.objView);
12
+ const objInstance = vue.extend(configUtil.objView);
13
+ const fileLibraryDialogInstance = vue.extend(fileLibraryDialog);
12
14
  const initInstance = (containter) => {
13
15
  // 实例化vue实例
14
16
  let currentInstance = new objInstance({i18n: window.$vueRoot._i18n});
@@ -16,6 +18,16 @@ const initInstance = (containter) => {
16
18
  containter.appendChild(dom);
17
19
  return currentInstance;
18
20
  };
21
+ const initFileLibraryDialogInstance = (containter, options = {}) => {
22
+ // 实例化vue实例
23
+ let currentInstance = new fileLibraryDialogInstance({
24
+ i18n: window.$vueRoot._i18n,
25
+ propsData: options
26
+ });
27
+ let dom = currentInstance.$mount().$el;
28
+ containter.appendChild(dom);
29
+ return currentInstance;
30
+ };
19
31
 
20
32
  function toDo(options) {
21
33
  let model = window.$vueRoot.$store.getters.fileServerInfo?.model;
@@ -33,6 +45,12 @@ function toDo(options) {
33
45
 
34
46
  };
35
47
 
48
+ function openFileLibrary(options = {}) {
49
+ let containter = document.body;
50
+ let currentInstance = initFileLibraryDialogInstance(containter, options);
51
+ return currentInstance.handleShow(options);
52
+ };
53
+
36
54
  function toDo2(options) {
37
55
  let containter = document.body;
38
56
  let currentInstance = initInstance(containter);
@@ -46,8 +64,10 @@ moudule.install = function (Vue) {
46
64
  // 在Vue的原型上添加实例方法,以全局调用
47
65
  Vue.prototype.$baseUpload = {
48
66
  open: toDo,
49
- upload: toDo2
67
+ upload: toDo2,
68
+
50
69
  }
70
+ Vue.prototype.$openFileLibraryDialog = openFileLibrary;
51
71
  };
52
72
 
53
73
  export default moudule;
@@ -128,7 +128,7 @@
128
128
  </div>
129
129
  </div>
130
130
  <span slot="footer" class="dialog-footer">
131
- <div class="fl" style="margin-left:291px;">
131
+ <div class="fl" :class="{showPasteArea:!hidePasteArea}">
132
132
  <el-button type="warning" class="button-sty" slot="trigger" v-if="showLocalUploadBtn"
133
133
  @click="$refs.uploadBtn.click()">
134
134
  <i class="el-icon-plus"></i>
@@ -139,6 +139,11 @@
139
139
  <i class="iconfont icon-wendangshangchuan"></i>
140
140
  {{ $t2('从个人文档工作区选择', 'components.VabUpload.privateDocumentPick') }}
141
141
  </el-button>
142
+ <el-button type="success" class="button-sty" @click="openFileLibraryDialog"
143
+ v-if="showFileLibraryButton && !!fileLibraryName">
144
+ <i class="iconfont icon-wendangshangchuan"></i>
145
+ {{ fileLibraryName }}
146
+ </el-button>
142
147
  </div>
143
148
 
144
149
  <el-button type="primary" plain class="button-sty" @click="handleClose">
@@ -228,4 +233,7 @@ export default {
228
233
  margin-top: 0 !important;
229
234
  }
230
235
  }
236
+ .showPasteArea {
237
+ margin-left:291px
238
+ }
231
239
  </style>