cloud-web-corejs 1.0.54-dev.10 → 1.0.54-dev.101

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.
Files changed (127) hide show
  1. package/package.json +9 -3
  2. package/src/components/VabUpload/index.vue +2 -1
  3. package/src/components/VabUpload/mixins.js +1 -1
  4. package/src/components/VabUpload/view.vue +2 -1
  5. package/src/components/excelExport/exportFieldDialog.vue +16 -6
  6. package/src/components/excelExport/index.js +2 -1
  7. package/src/components/excelExport/index.vue +8 -6
  8. package/src/components/excelExport/mixins.js +1 -2
  9. package/src/components/excelImport/index.vue +2 -1
  10. package/src/components/excelImport/mixins.js +1 -1
  11. package/src/components/fileLibrary/fileObjAuthDialog.vue +1 -1
  12. package/src/components/fileLibrary/fileObjAuthEditDialog.vue +1 -1
  13. package/src/components/fileLibrary/fileObjNotifyEdit.vue +90 -68
  14. package/src/components/fileLibrary/filterDialog.vue +379 -0
  15. package/src/components/fileLibrary/index.vue +26 -15
  16. package/src/components/fileLibrary/mixins/fileObjAuthDialogMixin.js +8 -3
  17. package/src/components/fileLibrary/mixins/fileObjAuthEditDialogMixin.js +4 -1
  18. package/src/components/fileLibrary/mixins/fileObjAuthEditMixin.js +1 -1
  19. package/src/components/fileLibrary/mixins/indexMixins.js +59 -17
  20. package/src/components/fileLibrary/mixins/propertiesDialogMixins.js +2 -1
  21. package/src/components/fileLibrary/propertiesDialog.vue +4 -0
  22. package/src/components/jsonImport/mixins.js +1 -1
  23. package/src/components/onlineTalk/index.vue +327 -5
  24. package/src/components/onlineTalk/mixins.js +1 -1
  25. package/src/components/table/index.js +2 -1
  26. package/src/components/tempStorage/tempStorageDialog.vue +2 -2
  27. package/src/components/wf/wf.js +1737 -1
  28. package/src/components/wf/wfUtil.js +278 -1
  29. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +1 -0
  30. package/src/components/xform/form-designer/form-widget/dialog/formDrawer.vue +1 -0
  31. package/src/components/xform/form-designer/form-widget/dialog/formFieldDialog.vue +2 -2
  32. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +35 -5
  33. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +3 -1
  34. package/src/components/xform/form-designer/form-widget/dialog/preformDialog.vue +2 -2
  35. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +8 -5
  36. package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +2 -2
  37. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +6 -2
  38. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +1 -0
  39. package/src/components/xform/form-designer/form-widget/field-widget/echart-bar-widget.vue +1 -1
  40. package/src/components/xform/form-designer/form-widget/field-widget/echart-category-widget.vue +1 -1
  41. package/src/components/xform/form-designer/form-widget/field-widget/echart-pie-widget.vue +1 -1
  42. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +989 -1
  43. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-bar-mixin.js +49 -8
  44. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-category-mixin.js +61 -88
  45. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-pie-mixin.js +13 -0
  46. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +26 -2
  47. package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +6 -1
  48. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +79 -0
  49. package/src/components/xform/form-designer/indexMixin.js +864 -1
  50. package/src/components/xform/form-designer/setting-panel/form-setting.vue +49 -36
  51. package/src/components/xform/form-designer/setting-panel/indexMixin.js +322 -1
  52. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +6 -0
  53. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/onCheckboxChange-editor.vue +1 -1
  54. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +13 -0
  55. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin.js +2 -2
  56. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onAfterConfirmFile-editor.vue +32 -0
  57. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +2 -2
  58. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +20 -1
  59. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultTime-editor.vue +27 -0
  60. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-bar-editor.vue +185 -69
  61. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-category-editor.vue +188 -86
  62. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-pie-editor.vue +84 -39
  63. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +3 -0
  64. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +26 -7
  65. package/src/components/xform/form-designer/setting-panel/property-editor/placeholder-editor.vue +1 -1
  66. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +66 -0
  67. package/src/components/xform/form-designer/setting-panel/property-editor/showRuleFlag-editor.vue +1 -1
  68. package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +269 -27
  69. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +2 -0
  70. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +57 -7
  71. package/src/components/xform/form-render/container-item/data-table-item.vue +5 -4
  72. package/src/components/xform/form-render/container-item/data-table-mixin.js +1881 -1
  73. package/src/components/xform/form-render/indexMixin.js +1680 -1
  74. package/src/components/xform/utils/emitter.js +4 -4
  75. package/src/layout/components/Sidebar/default.vue +18 -6
  76. package/src/mixins/selectDialog/index.js +1 -1
  77. package/src/router/modules/customer.js +15 -0
  78. package/src/store/config/index.js +1 -1
  79. package/src/store/modules/permission.js +1 -1
  80. package/src/store/modules/user.js +302 -1
  81. package/src/utils/pddLog.js +103 -0
  82. package/src/utils/request.js +28 -28
  83. package/src/utils/vab.js +1 -1
  84. package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +105 -0
  85. package/src/views/bd/setting/form_template/edit.vue +2 -2
  86. package/src/views/bd/setting/form_template/editWfObjConfigDialog.vue +2 -2
  87. package/src/views/bd/setting/form_template/list.vue +4 -2
  88. package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +4 -0
  89. package/src/views/bd/setting/form_template/mixins/edit.js +1 -1
  90. package/src/views/bd/setting/form_template/mixins/list.js +1 -1
  91. package/src/views/bd/setting/form_template/mixins/wf_list.js +434 -0
  92. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +254 -0
  93. package/src/views/bd/setting/form_template/wf_list.vue +127 -0
  94. package/src/views/bd/setting/menu_kind/mixins/authDialog.js +1 -254
  95. package/src/views/bd/setting/table_model/edit.vue +1 -1
  96. package/src/views/bd/setting/table_model/list.vue +4 -2
  97. package/src/views/bd/setting/table_model/mixins/list.js +14 -14
  98. package/src/views/user/area/dialog.vue +21 -8
  99. package/src/views/user/bill_setting/edit.vue +1 -1
  100. package/src/views/user/bill_setting/list.vue +1 -1
  101. package/src/views/user/common_attribute/itemEdit.vue +2 -2
  102. package/src/views/user/common_attribute/list.vue +1 -1
  103. package/src/views/user/common_script/edit.vue +1 -1
  104. package/src/views/user/common_script/list.vue +1 -1
  105. package/src/views/user/company_info/dialog.vue +19 -9
  106. package/src/views/user/company_info/edit.vue +1 -1
  107. package/src/views/user/extend_datasource/dialog.vue +1 -0
  108. package/src/views/user/extend_datasource/edit.vue +3 -0
  109. package/src/views/user/extend_datasource/list.vue +2 -1
  110. package/src/views/user/file_type/edit.vue +30 -1
  111. package/src/views/user/file_type/list.vue +28 -0
  112. package/src/views/user/groups/edit.vue +2 -0
  113. package/src/views/user/groups/list.vue +1 -0
  114. package/src/views/user/home/dev.vue +29 -0
  115. package/src/views/user/home/index.vue +16 -6
  116. package/src/views/user/login/default.vue +4 -2
  117. package/src/views/user/outLink/form_view.vue +39 -12
  118. package/src/views/user/outLink/index.vue +17 -0
  119. package/src/views/user/outLink/view.vue +39 -13
  120. package/src/views/user/push_setting/list.vue +2 -2
  121. package/src/views/user/user/edit.vue +9 -9
  122. package/src/views/user/user/form_edit.vue +117 -49
  123. package/src/views/user/user/form_info.vue +210 -0
  124. package/src/views/user/user/form_list.vue +1 -0
  125. package/src/views/user/user/list.vue +3 -3
  126. package/src/views/user/wf/wf_obj_config/list.vue +19 -3
  127. package/src/views/user/wf/wf_obj_config/wfBizDataSettingDialog.vue +292 -0
@@ -137,7 +137,7 @@
137
137
  </vxe-grid>
138
138
  </div>
139
139
  </el-tab-pane>
140
- <el-tab-pane :label="$t1('文件操作,发系统通知')" name="second">
140
+ <el-tab-pane :label="$t1('文件操作,发系统通知')" name="second" v-if="fileStoreArea.toNotify">
141
141
  <div class="grid-height" style="height: 500px">
142
142
  <fileObjNotifyEdit v-if="showFileObjNotifyEdit" visible-key="showFileObjNotifyEdit"
143
143
  :current_prefix="current_prefix" :_dataId="fileObjId" :parent-target="_self"
@@ -150,7 +150,7 @@
150
150
  <el-switch v-model="fileObjAuth.shareAuth" :active-value="1" :inactive-value="0"
151
151
  :disabled="fileObjAuth._isParent"/>
152
152
  </el-form-item>
153
- <el-form-item prop="downWatermarkAuth" :label="$t1('下载打水印')"
153
+ <el-form-item v-if="fileStoreArea.toDownWatermark" prop="downWatermarkAuth" :label="$t1('下载打水印')"
154
154
  :rules="[{ required: false, trigger: 'blur' }]">
155
155
  <el-switch v-model="fileObjAuth.downWatermarkAuth" :active-value="1" :inactive-value="0"
156
156
  :disabled="fileObjAuth._isParent"/>
@@ -1,10 +1,11 @@
1
1
  <template>
2
- <div class="detail-wrap">
2
+ <div class="detail-wrap" style="margin: -6px -8px;">
3
3
  <el-form ref="editForm" :model="fileObjNotify">
4
4
  <div class="d-header clearfix">
5
5
  <div class="fl">
6
6
  <i class="el-icon-info"/>
7
- {{ isEdit ? $t1('查看文件对象通知设置') : $t1('新增文件对象通知设置') }}
7
+ <!--{{ isEdit ? $t1('查看文件对象通知设置') : $t1('新增文件对象通知设置') }}-->
8
+ {{ $t1('文件操作 - 发系统通知设置') }}
8
9
  </div>
9
10
  <div class="fr">
10
11
  <el-button type="primary" plain class="button-sty" @click="$baseReload()" icon="el-icon-refresh-right">
@@ -14,71 +15,47 @@
14
15
  </el-button>
15
16
  </div>
16
17
  </div>
17
- <div class="d-cont">
18
- <div class="d-item">
19
- <div class="title first"><b>{{ $t1('基本信息') }}</b></div>
20
- <table class="table-detail">
21
- <tbody>
22
- <tr class="noTr">
23
- <th class="no"></th>
24
- <td></td>
25
- <th class="no"></th>
26
- <td></td>
27
- <th class="no"></th>
28
- <td></td>
29
- <th class="no"></th>
30
- <td></td>
31
- </tr>
32
- <tr>
33
- <th style="width: 215px;">
34
- <em class="f-red">*</em>
35
- {{ $t1('文件夹内文件操作是否通知') }}
36
- </th>
37
- <td colspan="7">
38
- <el-form-item prop="toNotify" :rules="[{ required: true, trigger: 'blur' }]">
39
- <el-radio-group v-model="fileObjNotify.toNotify">
40
- <el-radio :label="0">{{ $t1('不通知') }}</el-radio>
41
- <el-radio :label="1">{{ $t1('针对当前文件夹中的文件操作') }}</el-radio>
42
- <el-radio :label="2">{{ $t1('针对当前文件夹与下级所有文件夹的文件操作') }}</el-radio>
43
- </el-radio-group>
44
- </el-form-item>
45
- </td>
46
- </tr>
47
- <tr>
48
- <th>
49
- {{ $t1('新增文件-通知模板编码') }}
50
- </th>
51
- <td colspan="3">
52
- <el-form-item prop="addNtCode" :rules="[{ required: false, trigger: 'blur' }]">
53
- <el-input type="text" autocomplete="off" v-model="fileObjNotify.addNtCode" clearable/>
54
- </el-form-item>
55
- </td>
56
- </tr>
57
- <tr>
58
- <th>
59
- {{ $t1('删除文件-通知模板编码') }}
60
- </th>
61
- <td colspan="3">
62
- <el-form-item prop="deleteNtCode" :rules="[{ required: false, trigger: 'blur' }]">
63
- <el-input type="text" autocomplete="off" v-model="fileObjNotify.deleteNtCode" clearable/>
64
- </el-form-item>
65
- </td>
66
- </tr>
67
- <tr>
68
- <th>
69
- {{ $t1('替换文件-通知模板编码') }}
70
- </th>
71
- <td colspan="3">
72
- <el-form-item prop="replaceNtCode" :rules="[{ required: false, trigger: 'blur' }]">
73
- <el-input type="text" autocomplete="off" v-model="fileObjNotify.replaceNtCode" clearable/>
74
- </el-form-item>
75
- </td>
76
- </tr>
77
-
78
- </tbody>
79
- </table>
18
+ <div class="d-cont" style="height: 470px;">
19
+ <div class="d-item d-i-left">
20
+ <div class="d-i-tit">
21
+ {{ $t1('文件操作,是否发系统通知') }}
22
+ </div>
23
+ <el-form-item prop="toNotify" :rules="[{ required: true, trigger: 'blur' }]">
24
+ <el-radio-group v-model="fileObjNotify.toNotify">
25
+ <div>
26
+ <el-radio :label="0">{{ $t1('不发系统通知') }}</el-radio>
27
+ </div>
28
+ <div>
29
+ <el-radio :label="1">{{ $t1('针对当前文件夹中的文件操作') }}</el-radio>
30
+ </div>
31
+ <div>
32
+ <el-radio :label="2">{{ $t1('当前文件夹与下级所有文件夹的文件进行了操作,发系统通知') }}</el-radio>
33
+ </div>
34
+ </el-radio-group>
35
+ </el-form-item>
36
+ </div>
37
+ <div class="d-item d-i-right">
38
+ <div class="d-i-tit">
39
+ {{ $t1('不同的文件操作类型,设置对应的系统通知模板') }}
40
+ </div>
41
+ <el-form-item prop="addNtCode" :rules="[{ required: false, trigger: 'blur' }]"
42
+ :label="$t1('新增文件-通知模板编码')">
43
+ <el-input type="text" autocomplete="off" v-model="fileObjNotify.addNtCode" clearable/>
44
+ </el-form-item>
45
+ <el-form-item prop="deleteNtCode" :rules="[{ required: false, trigger: 'blur' }]"
46
+ :label="$t1('删除文件-通知模板编码')">
47
+ <el-input type="text" autocomplete="off" v-model="fileObjNotify.deleteNtCode" clearable/>
48
+ </el-form-item>
49
+ <el-form-item prop="replaceNtCode" :rules="[{ required: false, trigger: 'blur' }]"
50
+ :label=" $t1('替换文件-通知模板编码')">
51
+ <el-input type="text" autocomplete="off" v-model="fileObjNotify.replaceNtCode" clearable/>
52
+ </el-form-item>
80
53
  </div>
81
54
  </div>
55
+ <div class="tips">{{
56
+ $t1('注:删除文件发通知,包括从当前文件夹移动、删除文件。 新增文件发通知,包括上传、复制、移动、从回收站还原文件到当前文件夹下。')
57
+ }}
58
+ </div>
82
59
  </el-form>
83
60
  </div>
84
61
  </template>
@@ -134,8 +111,6 @@ export default {
134
111
  if (valid) {
135
112
  this.$baseConfirm(this.$t1('您确定要保存吗?')).then(() => {
136
113
  var url = this.current_prefix + `/file_obj_notify/save`;
137
- debugger
138
- let a = 1;
139
114
  this.$http({
140
115
  url: url,
141
116
  method: `post`,
@@ -159,7 +134,7 @@ export default {
159
134
  }
160
135
  };
161
136
  </script>
162
- <style scoped>
137
+ <style scoped lang="scss">
163
138
  .noTr th {
164
139
  height: 0px
165
140
  }
@@ -167,4 +142,51 @@ export default {
167
142
  .noTr td {
168
143
  height: 0px
169
144
  }
145
+
146
+ .d-cont {
147
+ display: flex;
148
+ margin: -11px -12px;
149
+
150
+ .d-i-left, .d-i-right {
151
+ border: none !important;
152
+ padding: 24px 18px 24px 14px !important
153
+ }
154
+
155
+ .d-i-left {
156
+ width: 420px;
157
+ }
158
+
159
+ .d-i-tit {
160
+ background: #f7f7f7;
161
+ line-height: 36px;
162
+ padding: 0 10px;
163
+ margin-bottom: 16px;
164
+ font-size: 13px
165
+ }
166
+
167
+ .d-i-right {
168
+ border-left: solid 1px #e9e9e9 !important;
169
+ flex: 1;
170
+ padding-left: 32px !important;
171
+
172
+ ::v-deep .el-form-item {
173
+ margin-bottom: 16px;
174
+
175
+ .el-form-item__content {
176
+ .el-input {
177
+ width: 360px !important;
178
+ }
179
+ }
180
+ }
181
+ }
182
+ }
183
+
184
+ .tips {
185
+ margin-top: -40px;
186
+ background: #FFF;
187
+ position: relative;
188
+ line-height: 40px;
189
+ border-top: solid 1px #e9e9e9;
190
+ padding-left: 12px;
191
+ }
170
192
  </style>
@@ -0,0 +1,379 @@
1
+ <template>
2
+ <el-dialog
3
+ title="高级筛选"
4
+ :append-to-body="true"
5
+ :modal-append-to-body="true"
6
+ :close-on-click-modal="falseValue"
7
+ :visible.sync="showDialog"
8
+ :modal="falseValue"
9
+ custom-class="dialog-style proList-dialog"
10
+ width="1200px"
11
+ @close="dialogClose"
12
+ v-el-drag-dialog
13
+ v-el-dialog-center
14
+ >
15
+ <div class="cont">
16
+ <div id="containt" style="height:550px">
17
+ <div class="search-criteria fl" style="width:220px;height:100%;">
18
+ <div class="tit"><i class="iconfont icon-shaixuan"></i><b>搜索条件</b></div>
19
+
20
+ <el-form label-position="top">
21
+ <div style="height:468px;padding-top: 10px;overflow:auto">
22
+ <el-form-item label="文件名">
23
+ <el-input v-model="formData.fileName" size="small" clearable/>
24
+ </el-form-item>
25
+ <!-- <el-form-item label="所属对象描述">
26
+ <base-input-batch v-model="formData.note"/>
27
+ </el-form-item>-->
28
+ <el-form-item label="创建时间">
29
+ <el-date-picker
30
+ v-model="formData.startTime"
31
+ type="date"
32
+ placeholder=""
33
+ size="small"
34
+ clearable
35
+ value-format="yyyy-MM-dd"
36
+ :picker-options="$baseStartPickerOptions(formData.endTime)"
37
+ ></el-date-picker>
38
+ <span>-</span>
39
+ <el-date-picker
40
+ v-model="formData.endTime"
41
+ type="date"
42
+ placeholder=""
43
+ size="small"
44
+ clearable
45
+ value-format="yyyy-MM-dd"
46
+ :picker-options="$baseEndPickerOptions(formData.startTime)"
47
+ ></el-date-picker>
48
+ </el-form-item>
49
+ <el-form-item label="文件类型">
50
+ <el-select v-model="fileTypeSn" @change="getAttributeList">
51
+ <el-option v-for="(item,index) in fileTypes" :key="index" :label="item.fileTypeName"
52
+ :value="item.fileTypeSn"></el-option>
53
+ </el-select>
54
+ </el-form-item>
55
+ <el-form-item v-for="(item,index) in fileAttributes" :key="index" :label="item.attributeName">
56
+ <el-input v-model="item.formValue" clearable></el-input>
57
+ </el-form-item>
58
+ </div>
59
+ <el-form-item class="btns">
60
+ <el-button icon="el-icon-brush" class="button-sty" @click="resetEvent" type="primary" plain>重置
61
+ </el-button>
62
+ <el-button type="warning" icon="el-icon-search" class="button-sty" @click="searchEvent">搜索
63
+ </el-button>
64
+ </el-form-item>
65
+ </el-form>
66
+ </div>
67
+ <label id="labBtn" class="labBtn1" style="cursor:unset;height: 100%;">
68
+ <!-- <div class="icon">
69
+ <i class="el-icon-more"></i>
70
+ <i class="el-icon-more"></i>
71
+ </div>-->
72
+ </label>
73
+ <div class="main-right fr" style="width:calc(100% - 220px);padding-left: 6px;">
74
+ <div style="height:100%">
75
+ <vxe-grid
76
+ ref="table-m1"
77
+ v-bind="vxeOption"
78
+ @resizable-change="$vxeTableUtil.onColumnWitchChange"
79
+ @custom="$vxeTableUtil.customHandle"
80
+ >
81
+ <template #form>
82
+ <div class="clearfix screen-btns">
83
+ <div class="fl screen-breadcrumb">
84
+ <el-breadcrumb separator-class="el-icon-arrow-right ">
85
+ <el-breadcrumb-item><i class="iconfont icon-dingwei-mianxing"></i><span class="f-blue"
86
+ @click="checkTreeNode()">搜索范围</span>
87
+ </el-breadcrumb-item>
88
+ <el-breadcrumb-item v-for="(treeNode,index) in treeNodeArr" :key="index">
89
+ <span class="f-blue" @click="checkTreeNode(treeNode)">{{ treeNode.label }}</span>
90
+ </el-breadcrumb-item>
91
+ </el-breadcrumb>
92
+ </div>
93
+ <div class="fr">
94
+ <!-- <vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent" type="text"
95
+ status="primary"
96
+ plain>重置
97
+ </vxe-button>
98
+ <vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent">搜索
99
+ </vxe-button>-->
100
+ </div>
101
+ </div>
102
+ </template>
103
+ <template #fileName="{row}">
104
+ <div>
105
+ <el-tooltip :enterable="false" effect="dark" :content="$t2('预览', 'components.fileLibrary.preview')"
106
+ placement="top">
107
+ <a class="a-link img" @click="$baseFilePreview(row)">
108
+ <el-image :src="getShowUrl(row,'thumbnail')"></el-image>
109
+ </a>
110
+ </el-tooltip>
111
+ <a class="a-link underLine" @click="$baseFilePreview(row)">{{ row.fileName }}</a>
112
+ </div>
113
+ </template>
114
+ </vxe-grid>
115
+ </div>
116
+ </div>
117
+ </div>
118
+ </div>
119
+ </el-dialog>
120
+ </template>
121
+
122
+ <script>
123
+ import {selectDialogMixins} from '@base/mixins/selectDialog/index.js';
124
+
125
+ import {treeScollx, treeScolly} from '@base/utils/global.js';
126
+ import {encode} from "js-base64";
127
+
128
+ export default {
129
+ name: 'productDialog',
130
+ props: ['visiable', 'multi', 'rows', 'treeNodeArr', 'currentFileCategory'],
131
+ mixins: [selectDialogMixins],
132
+ inject: ['current_prefix', 'storeAreaCode', 'getObjectForeignId', 'getIsPrivate'],
133
+ created() {
134
+ this.initSetting({treeScolly: false});
135
+ /*setTimeout(() => {
136
+ treeScollx({target: this, type: 'default', dragBtn: '.labBtn1'});
137
+ treeScolly({target: this, type: 'selectDialog', dragBtn: '.labBtn2'});
138
+ }, 200);*/
139
+
140
+ },
141
+ mounted() {
142
+ this.getFileTypeList();
143
+ this.initTableM1();
144
+ },
145
+
146
+ computed: {},
147
+ data() {
148
+ return {
149
+ showDialog: true,
150
+ falseValue: false,
151
+ selectMulti: true,
152
+ formData: {},
153
+ vxeOption: {},
154
+
155
+ fileTypes: [],
156
+ fileAttributes: [],
157
+ fileTypeSn: null,
158
+ fileAttachAttributeCDTos: []
159
+ };
160
+ },
161
+ methods: {
162
+ initTableM1() {
163
+ // debugger
164
+ let that = this;
165
+
166
+ let tableOption = {
167
+ vue: that,
168
+ tableRef: 'table-m1',
169
+ tableName: 'fileLigraryFilterDialog-m1',
170
+ path: this.current_prefix + "/file_obj/listAuthAttachPage",
171
+ param: () => {
172
+ /* let parents = this.currentFileCategory &&
173
+ this.currentFileCategory.id &&
174
+ this.currentFileCategory.id > 0
175
+ ? [this.currentFileCategory.id]
176
+ : [];*/
177
+ let fileAttachAttributeCDTOs = [];
178
+ this.fileAttributes.map(item => {
179
+ if (item.formValue !== "" && item.formValue !== null) {
180
+ fileAttachAttributeCDTOs.push({attributeSn: item.attributeSn, attributeValue: item.formValue});
181
+ }
182
+ })
183
+
184
+ let objectForeignId = this.getObjectForeignId();
185
+ let isPrivate = this.getIsPrivate();
186
+ return {
187
+ // parents,
188
+ objectForeignId: objectForeignId,
189
+ // privateDir: isPrivate ? 1 : 0,
190
+ fileAttachAttributeCDTOs,
191
+ storeAreaCode: this.storeAreaCode,
192
+ ...this.formData,
193
+ };
194
+ },
195
+ columns: [
196
+ {type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
197
+ {
198
+ title: this.$t2('文件名称', 'components.fileLibrary.fileName'),
199
+ field: "fileName",
200
+ width: 250,
201
+ fixed: "left",
202
+ slots: {
203
+ default: 'fileName'
204
+ },
205
+ },
206
+ {
207
+ title: this.$t2('文件大小', 'components.fileLibrary.fileSize'),
208
+ field: "fileSize",
209
+ width: 150,
210
+ slots: {
211
+ default: ({row, $rowIndex}) => {
212
+ if (!row.dirs) {
213
+ return this.formatFileSize(row.fileSize);
214
+ }
215
+ },
216
+ },
217
+ },
218
+ {
219
+ title: this.$t2('版本号', 'components.fileLibrary.fileRev'),
220
+ field: "rev",
221
+ width: 150,
222
+ slots: {
223
+ default: ({row, $rowIndex}) => {
224
+ if (!row.dirs) {
225
+ return row.rev;
226
+ }
227
+ }
228
+ }
229
+ },
230
+ {title: this.$t2('分辨率', 'components.fileLibrary.widthHeight'), field: "widthHeight", width: 150},
231
+ {title: this.$t2('所属对象描述', 'components.fileLibrary.note'), field: "note", width: 250},
232
+ {
233
+ title: '状态',
234
+ field: 'status',
235
+ width: 150,
236
+ slots: {
237
+ default: ({row, $rowIndex}) => {
238
+ if (!row.dirs) {
239
+ return row.status == 1 ? '已归档' : '未归档';
240
+ }
241
+ }
242
+ }
243
+ },
244
+ {
245
+ title: this.$t2('文件编码', 'components.fileLibrary.fileSn'),
246
+ field: "fileSn",
247
+ width: 150
248
+ },
249
+ // ...customColumns,
250
+ {title: this.$t2('创建人', 'components.fileLibrary.createBy'), field: "createBy", width: 150},
251
+ {
252
+ field: "createDate",
253
+ title: this.$t2('创建时间', 'components.fileLibrary.createDate'),
254
+ width: 150,
255
+ },
256
+ {
257
+ width: 47,
258
+ fixed: 'right',
259
+ title: '',
260
+ sortable: false,
261
+ slots: {
262
+ default: ({row, rowIndex}) => {
263
+ return [
264
+ <div>
265
+ <a
266
+ href="javascript:void(0);"
267
+ class="a-link"
268
+ onclick={() => {
269
+ this.openFileDirs(row);
270
+ }}
271
+ >
272
+ <el-tooltip enterable={false} effect="dark" content={this.$t1('在文件夹中显示')} placement="top"
273
+ popper-class="tooltip-skin">
274
+ <i class="el-icon-view"/>
275
+ </el-tooltip>
276
+ </a>
277
+ </div>
278
+ ];
279
+ }
280
+ }
281
+ }
282
+ ]
283
+ };
284
+ this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
285
+ that.vxeOption = opts;
286
+ });
287
+ },
288
+ openFileDirs(row) {
289
+ this.dialogClose();
290
+ this.$emit("openFileDirs", row)
291
+ },
292
+ getShowUrl(attachment, field) {
293
+ if (!field) field = "medium";
294
+ return this.$commonFileUtil.getShowUrl(
295
+ attachment.domain +
296
+ (attachment[field] ? attachment[field] : attachment.url)
297
+ );
298
+ },
299
+ formatFileSize(fileSize) {
300
+ fileSize = fileSize || 0;
301
+ if (fileSize < 1024) {
302
+ return fileSize + "B";
303
+ } else if (fileSize < 1024 * 1024) {
304
+ var temp = fileSize / 1024;
305
+ temp = temp.toFixed(2);
306
+ return temp + "KB";
307
+ } else if (fileSize < 1024 * 1024 * 1024) {
308
+ var temp = fileSize / (1024 * 1024);
309
+ temp = temp.toFixed(2);
310
+ return temp + "MB";
311
+ } else {
312
+ var temp = fileSize / (1024 * 1024 * 1024);
313
+ temp = temp.toFixed(2);
314
+ return temp + "GB";
315
+ }
316
+ },
317
+ searchEvent() {
318
+ this.$refs['table-m1'].commitProxy('reload');
319
+ },
320
+ resetEvent() {
321
+ this.formData = {};
322
+ this.clearFileAttributeFormValue();
323
+ this.$refs['table-m1'].commitProxy('reload');
324
+ },
325
+ clearFileAttributeFormValue() {
326
+ this.fileTypeSn = null;
327
+ this.fileAttributes = [];
328
+ },
329
+ getFileTypeList() {
330
+ this.$http({
331
+ url: this.current_prefix + `/file_type/listPage`,
332
+ method: `post`,
333
+ data: {
334
+ enabled: true
335
+ },
336
+ // isLoading: true,
337
+ // modalStrictly: true,
338
+ success: (res) => {
339
+ this.fileTypes = res.objx?.records || [];
340
+ },
341
+ });
342
+ },
343
+ getAttributeList() {
344
+ this.$http({
345
+ url: this.current_prefix + `/file_type/listAttribute`,
346
+ method: `post`,
347
+ data: {
348
+ stringOne: this.fileTypeSn
349
+ },
350
+ // isLoading: true,
351
+ // modalStrictly: true,
352
+ success: (res) => {
353
+ let rows = res.objx || [];
354
+ rows.forEach(row => {
355
+ row.formValue = null;
356
+ })
357
+ this.fileAttributes = rows;
358
+ },
359
+ });
360
+ },
361
+
362
+
363
+ }
364
+ };
365
+ </script>
366
+ <style scoped lang="scss">
367
+ .dialog-style.proList-dialog .el-dialog__body #containt {
368
+ height: 100%;
369
+
370
+ .main-right {
371
+ height: 100%
372
+ }
373
+ }
374
+
375
+ #labBtn.transverse {
376
+ margin-bottom: 0;
377
+ margin-left: -8px;
378
+ }
379
+ </style>