n20-common-lib 2.3.7 → 2.3.9

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,6 +1,6 @@
1
1
  {
2
2
  "name": "n20-common-lib",
3
- "version": "2.3.7",
3
+ "version": "2.3.9",
4
4
  "private": false,
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -100,7 +100,7 @@
100
100
  </slot>
101
101
  </el-table-column>
102
102
  <slot name="slotCol"></slot>
103
- <el-table-column :label="'上传时间' | $lc" :prop="keys.time" width="170" align="center">
103
+ <el-table-column :label="'上传时间' | $lc" :prop="keys.time" sortable width="170" align="center">
104
104
  <slot slot="header" slot-scope="scope" name="time-header" :column="scope.column">{{ '上传时间' | $lc }}</slot>
105
105
  <slot slot-scope="{ row }" name="time" :row="row">{{ row[keys.time] }}</slot>
106
106
  </el-table-column>
@@ -433,9 +433,23 @@ export default {
433
433
  this.$emit('add-row')
434
434
  },
435
435
  downRows() {
436
+ if (!this.selectionList.length) {
437
+ return this.$message({
438
+ message: '请先勾选要下载的数据!',
439
+ type: 'warning',
440
+ showClose: true
441
+ })
442
+ }
436
443
  this.$emit('down-rows', this.selectionList)
437
444
  },
438
445
  deleteRows() {
446
+ if (!this.selectionList.length) {
447
+ return this.$message({
448
+ message: '请先勾选要删除的数据!',
449
+ type: 'warning',
450
+ showClose: true
451
+ })
452
+ }
439
453
  this.$emit('delete-rows', this.selectionList)
440
454
  },
441
455
 
@@ -37,6 +37,7 @@
37
37
  </span>
38
38
  </sapn>
39
39
  </slot>
40
+ <operatingStatus v-if="operationStatus" />
40
41
  <!-- YSCW-end -->
41
42
  <el-tooltip v-if="!hideHelpDoc" :content="'帮助文档' | $lc">
42
43
  <span class="set-user-btn n20-icon-xinxitishi header-color m-l-m" @click="openHelp"></span>
@@ -170,6 +171,7 @@ import { $lc } from '../../../utils/i18n/index'
170
171
  import Cookies from 'js-cookie'
171
172
  import { themeList } from '../../../utils/theme.config.js'
172
173
 
174
+ import operatingStatus from '../../operatingStatus/index.vue'
173
175
  import dialogWrap from '../../Dialog/index.vue'
174
176
  import changePwd from './changePwd.vue'
175
177
  import noticePop from './noticePop.vue'
@@ -207,6 +209,10 @@ export default {
207
209
  ectad: {
208
210
  type: Boolean,
209
211
  default: false
212
+ },
213
+ operationStatus: {
214
+ type: Boolean,
215
+ default: false
210
216
  }
211
217
  },
212
218
  inject: {
@@ -38,6 +38,7 @@
38
38
  </span>
39
39
  </sapn>
40
40
  </slot>
41
+ <operatingStatus v-if="operationStatus" />
41
42
  <el-button v-if="inBack" class="header-hdyy f-s-s" plain round size="mini" @click="toSystem">{{
42
43
  '回到应用' | $lc
43
44
  }}</el-button>
@@ -232,6 +233,7 @@ import { $lc } from '../../../utils/i18n/index'
232
233
  import Cookies from 'js-cookie'
233
234
  import { themeList } from '../../../utils/theme.config.js'
234
235
 
236
+ import operatingStatus from '../../operatingStatus/index.vue'
235
237
  import dialogWrap from '../../Dialog/index.vue'
236
238
  import changePwd from './changePwd.vue'
237
239
  import noticePop from './noticePop.vue'
@@ -255,7 +257,8 @@ export default {
255
257
  dialogWrap,
256
258
  changePwd,
257
259
  noticePop,
258
- switchUser
260
+ switchUser,
261
+ operatingStatus
259
262
  },
260
263
  props: {
261
264
  beforeLogout: {
@@ -266,6 +269,10 @@ export default {
266
269
  type: Function,
267
270
  default: undefined
268
271
  },
272
+ operationStatus: {
273
+ type: Boolean,
274
+ default: false
275
+ },
269
276
  ectad: {
270
277
  type: Boolean,
271
278
  default: false
@@ -3,6 +3,7 @@
3
3
  <headerWrap
4
4
  class="header-wrap"
5
5
  :ectad="ectad"
6
+ :operation-status="operationStatus"
6
7
  :before-logout="beforeLogout"
7
8
  :after-logout="afterLogout"
8
9
  @custom-event="(par) => $emit('custom-event', par)"
@@ -75,6 +76,10 @@ export default {
75
76
  type: Function,
76
77
  default: undefined
77
78
  },
79
+ operationStatus: {
80
+ type: Boolean,
81
+ default: false
82
+ },
78
83
  afterLogout: {
79
84
  type: Function,
80
85
  default: undefined
@@ -3,6 +3,7 @@
3
3
  <headerWrap
4
4
  class="header-wrap"
5
5
  :ectad="ectad"
6
+ :operation-status="operationStatus"
6
7
  :before-logout="beforeLogout"
7
8
  :after-logout="afterLogout"
8
9
  @custom-event="(par) => $emit('custom-event', par)"
@@ -75,6 +76,10 @@ export default {
75
76
  type: Function,
76
77
  default: undefined
77
78
  },
79
+ operationStatus: {
80
+ type: Boolean,
81
+ default: false
82
+ },
78
83
  afterLogout: {
79
84
  type: Function,
80
85
  default: undefined
@@ -132,7 +132,9 @@
132
132
  </el-dropdown-menu>
133
133
  </el-dropdown>
134
134
 
135
- <el-link class="m-l-auto" :underline="false" @click="forgetPw">{{ '忘记密码' | $lc }}</el-link>
135
+ <el-link v-if="showForgetBtn" class="m-l-auto" :underline="false" @click="forgetPw">{{
136
+ '忘记密码' | $lc
137
+ }}</el-link>
136
138
  </div>
137
139
  <slot name="footer"></slot>
138
140
  </div>
@@ -191,6 +193,10 @@ export default {
191
193
  showImageCode: {
192
194
  type: Boolean,
193
195
  default: false
196
+ },
197
+ showForgetBtn: {
198
+ type: Boolean,
199
+ default: true
194
200
  }
195
201
  },
196
202
  data() {
@@ -242,7 +248,9 @@ export default {
242
248
  immediate: true
243
249
  }
244
250
  },
245
- mounted() {},
251
+ mounted() {
252
+ console.log(this.showForgetBtn)
253
+ },
246
254
  methods: {
247
255
  // 忘记密码
248
256
  forgetPw() {
@@ -7,6 +7,7 @@
7
7
  :login-types="loginTypes"
8
8
  :login-then="loginThen"
9
9
  :async-rela-nos="asyncRelaNos"
10
+ :show-forget-btn="showForgetBtn"
10
11
  style="display: none"
11
12
  />
12
13
  </div>
@@ -26,6 +27,7 @@
26
27
  :login-then="loginThen"
27
28
  :async-rela-nos="asyncRelaNos"
28
29
  :show-image-code="showImageCode"
30
+ :show-forget-btn="showForgetBtn"
29
31
  @changType="getChangetype"
30
32
  >
31
33
  <div slot="header" class="login-form-header m-b text-c">
@@ -91,6 +93,10 @@ export default {
91
93
  showImageCode: {
92
94
  type: Boolean,
93
95
  default: false
96
+ },
97
+ showForgetBtn: {
98
+ type: Boolean,
99
+ default: true
94
100
  }
95
101
  },
96
102
  data() {
@@ -7,6 +7,7 @@
7
7
  :login-types="loginTypes"
8
8
  :login-then="loginThen"
9
9
  :async-rela-nos="asyncRelaNos"
10
+ :show-forget-btn="showForgetBtn"
10
11
  :extra-form="extraForm"
11
12
  style="display: none"
12
13
  />
@@ -88,6 +89,7 @@
88
89
  :async-rela-nos="asyncRelaNos"
89
90
  :extra-form="extraForm"
90
91
  :show-image-code="showImageCode"
92
+ :show-forget-btn="showForgetBtn"
91
93
  @changType="getChangetype"
92
94
  >
93
95
  <div slot="header" class="login-form-header m-b text-c">
@@ -178,6 +180,10 @@ export default {
178
180
  showImageCode: {
179
181
  type: Boolean,
180
182
  default: true
183
+ },
184
+ showForgetBtn: {
185
+ type: Boolean,
186
+ default: true
181
187
  }
182
188
  },
183
189
  data() {
@@ -0,0 +1,62 @@
1
+ <template>
2
+ <el-carousel height="50px" interval="3000" direction="vertical" indicator-position="none" :autoplay="true">
3
+ <el-carousel-item v-for="tip in tips" :key="tip.id">
4
+ <div
5
+ v-title="
6
+ `${tip.createTime}${tip.busNname}${
7
+ tip.busState === '1' ? '营业中' : tip.busState === '2' ? '暂停营业' : '异常'
8
+ }${tip.currency}`
9
+ "
10
+ :class="`tip_color_${tip.busState}`"
11
+ >
12
+ {{ tip.busNname }}{{ tip.busState === '1' ? '营业中' : tip.busState === '2' ? '暂停营业' : '异常' }}
13
+ </div>
14
+ </el-carousel-item>
15
+ </el-carousel>
16
+ </template>
17
+
18
+ <script>
19
+ import axios from '../../utils/axios'
20
+ export default {
21
+ name: 'OperatingStatus',
22
+ data() {
23
+ return {
24
+ tips: [],
25
+ interval: ''
26
+ }
27
+ },
28
+ mounted() {
29
+ this.getOperatingStatus()
30
+ },
31
+ methods: {
32
+ async getOperatingStatus() {
33
+ const { data } = await axios.get(`/bems/portal/portalTopShow/getShowTopAll`)
34
+ this.tips = data
35
+ }
36
+ }
37
+ }
38
+ </script>
39
+
40
+ <style lang="scss" scoped>
41
+ .el-carousel {
42
+ width: 120px;
43
+ }
44
+ .el-carousel__item div {
45
+ font-size: 14px;
46
+ opacity: 0.75;
47
+ line-height: 50px;
48
+ margin: 0;
49
+ }
50
+ .el-carousel__item:nth-child(n) {
51
+ background-color: #fff;
52
+ }
53
+ .tip_color_1 {
54
+ color: var(--color-success);
55
+ }
56
+ .tip_color_2 {
57
+ color: var(--color-warning);
58
+ }
59
+ .tip_color_3 {
60
+ color: var(--color-danger);
61
+ }
62
+ </style>
package/src/index.js CHANGED
@@ -1,114 +1,114 @@
1
1
  import './utils/storagePro.js' // 扩展Storage
2
2
  /** 提供组件给外部使用的入口 */
3
+ import AnchorItem from './components/Anchor/AnchorItem.vue'
4
+ import Anchor from './components/Anchor/index.vue'
5
+ import ApprovalButtons from './components/ApprovalButtons/index.vue'
6
+ import ApproveCard from './components/ApprovalCard/ApproveCard.vue'
7
+ import ApprovalCard from './components/ApprovalCard/index.vue'
8
+ import ApprovalImg from './components/ApprovalRecord/approvalImg.vue'
9
+ import FlowDialog from './components/ApprovalRecord/flowDialog.vue'
10
+ import ApprovalRecord from './components/ApprovalRecord/index.vue'
11
+ import ButtonGroup from './components/Button/button-group.vue'
12
+ import IconGroupButton from './components/Button/icon-group-button.vue'
13
+ import Button from './components/Button/index.vue'
14
+ import CascaderArea from './components/CascaderArea/index.vue'
15
+ import ChildRange from './components/ChildRange/index.vue'
3
16
  import ContentLoading from './components/ContentLoading/index.vue'
4
17
  import ContentNull from './components/ContentNull/index.vue'
5
- import NavMenu from './components/NavMenu/index.vue'
6
- import InputSearch from './components/InputSearch/index.vue'
7
- import InputNumber from './components/InputNumber/index.vue'
8
- import InputNumberRange from './components/InputNumber/numberRange.vue'
9
- import TimePicker from './components/TimePicker/index.vue'
10
18
  import DatePicker from './components/DatePicker/index.vue'
11
19
  import DatePickerPor from './components/DatePicker/por.vue'
20
+ import SelectDatePicker from './components/DateSelect/index.vue'
21
+ import Descriptions from './components/Descriptions/index.vue'
22
+ import Dialog from './components/Dialog/index.vue'
23
+ import DragList from './components/DragList/index.vue'
24
+ import Empty from './components/Empty/index.vue'
25
+ import EventBubble from './components/EventBubble/index.vue'
26
+ import Expandable from './components/Expandable/index.vue'
27
+ import ExpandablePane from './components/Expandable/main.vue'
28
+ import FileExportAsync from './components/FileExportAsync/index.vue'
29
+ import FileImport from './components/FileImport/index.vue'
30
+ import FileUploadTable from './components/FileUploadTable/index.vue'
31
+ import Filters from './components/Filters/index.vue'
32
+ import FlowStep from './components/FlowStep/index.vue'
33
+ import FooterBox from './components/FooterBox/index.vue'
34
+ import InputNumber from './components/InputNumber/index.vue'
35
+ import InputNumberRange from './components/InputNumber/numberRange.vue'
36
+ import InputSearch from './components/InputSearch/index.vue'
37
+ import NavMenu from './components/NavMenu/index.vue'
38
+ import PageHeader from './components/PageHeader/index.vue'
39
+ import Page from './components/PageLayout/page.vue'
40
+ import Pagination from './components/Pagination/index.vue'
41
+ import SecondaryTab from './components/SecondaryTab/index.vue'
12
42
  import SelectLazy from './components/SelectLazy/index.vue'
13
- import SelectTree from './components/SelectTree/index.vue'
14
43
  import SelectTreeLazy from './components/SelectTree/SelectTreeLazy.vue'
15
- import Suspend from './components/Suspend/index.vue'
16
- import Step from './components/Step/index.vue'
17
- import SecondaryTab from './components/SecondaryTab/index.vue'
18
- import TertiaryTab from './components/TertiaryTab/index.vue'
19
- import Pagination from './components/Pagination/index.vue'
20
- import WornPagination from './components/WornPagination/index.vue'
44
+ import SelectTree from './components/SelectTree/index.vue'
45
+ import ShowColumn from './components/ShowColumn/index.vue'
46
+ import Sifting from './components/Sifting/index.vue'
21
47
  import Statis from './components/Statis/index.vue'
22
48
  import StatisItem from './components/Statis/statisItem.vue'
23
49
  import StatisPopover from './components/Statis/statisPopover.vue'
24
- import ApprovalCard from './components/ApprovalCard/index.vue'
25
- import ApproveCard from './components/ApprovalCard/ApproveCard.vue'
26
- import ApprovalImg from './components/ApprovalRecord/approvalImg.vue'
27
- import ApprovalRecord from './components/ApprovalRecord/index.vue'
28
- import ApprovalButtons from './components/ApprovalButtons/index.vue'
29
- import Expandable from './components/Expandable/index.vue'
30
- import ExpandablePane from './components/Expandable/main.vue'
31
- import Empty from './components/Empty/index.vue'
32
- import Upload from './components/Upload/index.vue'
33
- import Dialog from './components/Dialog/index.vue'
34
- import DragList from './components/DragList/index.vue'
35
- import Sifting from './components/Sifting/index.vue'
36
- import FileUploadTable from './components/FileUploadTable/index.vue'
37
- import FooterBox from './components/FooterBox/index.vue'
38
- import Filters from './components/Filters/index.vue'
50
+ import Step from './components/Step/index.vue'
51
+ import Suspend from './components/Suspend/index.vue'
39
52
  import Table from './components/Table/index.vue'
40
53
  import TableOperate from './components/TableOperateColumn/OperateBtns.vue'
41
54
  import TableOperateColumn from './components/TableOperateColumn/index.vue'
42
55
  import TableSetSize from './components/TableSetSize'
43
- import Button from './components/Button/index.vue'
44
- import ButtonGroup from './components/Button/button-group.vue'
45
- import ShowColumn from './components/ShowColumn/index.vue'
46
- import Page from './components/PageLayout/page.vue'
47
56
  import Task from './components/Task/index.vue'
48
- import IconGroupButton from './components/Button/icon-group-button.vue'
49
- import Anchor from './components/Anchor/index.vue'
50
- import AnchorItem from './components/Anchor/AnchorItem.vue'
51
- import FlowStep from './components/FlowStep/index.vue'
52
- import CascaderArea from './components/CascaderArea/index.vue'
53
- import FileExportAsync from './components/FileExportAsync/index.vue'
54
- import FlowDialog from './components/ApprovalRecord/flowDialog.vue'
55
- import ChildRange from './components/ChildRange/index.vue'
56
- import FileImport from './components/FileImport/index.vue'
57
- import PageHeader from './components/PageHeader/index.vue'
58
- import Descriptions from './components/Descriptions/index.vue'
59
- import EventBubble from './components/EventBubble/index.vue'
60
- import SelectDatePicker from './components/DateSelect/index.vue'
57
+ import TertiaryTab from './components/TertiaryTab/index.vue'
58
+ import TimePicker from './components/TimePicker/index.vue'
59
+ import Upload from './components/Upload/index.vue'
60
+ import WornPagination from './components/WornPagination/index.vue'
61
61
  // 新版日期选择框
62
- import SelectDatePickerPro from './components/SelectDatePickerPro/index.vue'
63
- import QuarterDatePicker from './components/DateSelect/quarterDatePicker.vue'
64
62
  import BusiDatePicker from './components/DateSelect/busiDate.vue'
63
+ import QuarterDatePicker from './components/DateSelect/quarterDatePicker.vue'
64
+ import SelectDatePickerPro from './components/SelectDatePickerPro/index.vue'
65
65
  import TableTransfer from './components/TableTransfer/index.vue'
66
- import WorkCard from './components/WorkCard/index.vue'
67
66
  import UploadMsg from './components/Upload/uploadMsg.vue'
67
+ import WorkCard from './components/WorkCard/index.vue'
68
+ import operatingStatus from './components/operatingStatus/index.vue'
68
69
 
69
70
  // ECharts 不要打包进来
70
- import Stamp from './components/Stamp/index.vue'
71
71
  import Diff from './components/Diff/index.vue'
72
+ import Stamp from './components/Stamp/index.vue'
72
73
  /* old */
73
- import TableO from './components/Table/indexO.vue'
74
- import FiltersO from './components/Filters/indexO.vue'
75
74
  import DialogO from './components/Dialog/indexO.vue'
75
+ import FiltersO from './components/Filters/indexO.vue'
76
+ import TableO from './components/Table/indexO.vue'
76
77
  /* 中建科 */
77
- import ApprovalCardZjk from './components/ApprovalCard/index-zjk.vue'
78
78
  import ApproveCardZjk from './components/ApprovalCard/ApproveCard-zjk.vue'
79
+ import ApprovalCardZjk from './components/ApprovalCard/index-zjk.vue'
79
80
  import ApprovalRecordZjk from './components/ApprovalRecord/index-zjk.vue'
80
81
 
81
82
  /** 第三方组件 */
82
83
 
83
84
  /** 注入指令 */
84
- import VTitle from './directives/VTitle/index.js'
85
+ import VClickOutside from './directives/VClickOutside/index.js'
85
86
  import VDrag from './directives/VDrag/index.js'
87
+ import VHas from './directives/VHas/index.js'
86
88
  import VMove from './directives/VMove/index.js'
87
89
  import VRuleKey from './directives/VRuleKey/index.js'
88
- import VClickOutside from './directives/VClickOutside/index.js'
89
- import VHas from './directives/VHas/index.js'
90
+ import VTitle from './directives/VTitle/index.js'
90
91
 
91
92
  /** 注入方法 */
92
93
  import dayjs from 'dayjs'
93
94
  import _numerify from 'numerify'
94
- function numerify(input, formatType, roundingFunction) {
95
- return _numerify(input, formatType, roundingFunction || Math.floor)
96
- }
97
- import axios from './utils/axios.js'
98
- import auth from './utils/auth.js'
99
- import { msgPor, msgboxPor } from './utils/msgboxPor.js'
100
95
  import getJsonc from './assets/getJsonc.js'
96
+ import { has as isHas, hasG as isHasG } from './directives/VHas/index.js'
97
+ import asyncGetRelaNos from './utils/asyncGetRelaNos.js'
98
+ import auth from './utils/auth.js'
99
+ import axios from './utils/axios.js'
101
100
  import downloadBlob from './utils/downloadBlob.js'
102
- import { setTabs } from './utils/handleTab.js'
103
- import { linkPush, linkGo, closeTab } from './utils/urlToGo'
104
101
  import forEachs from './utils/forEachs'
105
- import list2tree from './utils/list2tree'
106
- import { has as isHas } from './directives/VHas/index.js'
107
- import { hasG as isHasG } from './directives/VHas/index.js'
108
- import asyncGetRelaNos from './utils/asyncGetRelaNos.js'
102
+ import { setTabs } from './utils/handleTab.js'
103
+ import imgLoad from './utils/imgLoad.js'
109
104
  import importG from './utils/importGlobal.js' // 联合加载组件保存位置
105
+ import list2tree from './utils/list2tree'
106
+ import { msgPor, msgboxPor } from './utils/msgboxPor.js'
110
107
  import N from './utils/numberPor.js' // 扩展Number
111
- import imgLoad from './utils/imgLoad.js'
108
+ import { closeTab, linkGo, linkPush } from './utils/urlToGo'
109
+ function numerify(input, formatType, roundingFunction) {
110
+ return _numerify(input, formatType, roundingFunction || Math.floor)
111
+ }
112
112
 
113
113
  /** 国际化 */
114
114
  import i18n, { $l } from './utils/i18n'
@@ -190,7 +190,8 @@ const components = [
190
190
  /* 中建科 */
191
191
  ApprovalCardZjk,
192
192
  ApproveCardZjk,
193
- ApprovalRecordZjk
193
+ ApprovalRecordZjk,
194
+ operatingStatus
194
195
  ]
195
196
 
196
197
  const install = function (Vue, opts = { prefix: 'Cl', i18nConfig: {} }) {
@@ -229,100 +230,101 @@ export default {
229
230
  }
230
231
  const linkClose = closeTab
231
232
  export {
232
- version,
233
- // 方法
234
- auth,
235
- axios,
236
233
  $l,
237
- N,
238
- downloadBlob,
239
- forEachs,
240
- list2tree,
241
- imgLoad,
242
- repairEl,
243
- // 页签/路由
244
- setTabs,
245
- closeTab,
246
- linkPush,
247
- linkGo,
248
- linkClose,
249
- // 权限
250
- isHas,
251
- isHasG,
252
- dayjs,
253
- numerify,
254
- asyncGetRelaNos,
255
- getJsonc,
256
- importG,
234
+ Anchor,
235
+ AnchorItem,
236
+ ApprovalButtons,
237
+ ApprovalCard,
238
+ /* 中建科 */
239
+ ApprovalCardZjk,
240
+ ApprovalImg,
241
+ ApprovalRecord,
242
+ ApprovalRecordZjk,
243
+ ApproveCard,
244
+ ApproveCardZjk,
245
+ BusiDatePicker,
246
+ Button,
247
+ ButtonGroup,
248
+ CascaderArea,
249
+ ChildRange,
257
250
  // 组件
258
251
  ContentLoading,
259
252
  ContentNull,
260
- NavMenu,
261
- InputSearch,
262
- InputNumber,
263
- InputNumberRange,
264
- TimePicker,
265
253
  DatePicker,
266
254
  DatePickerPor,
255
+ Descriptions,
256
+ Dialog,
257
+ Diff,
258
+ DragList,
259
+ Empty,
260
+ EventBubble,
261
+ Expandable,
262
+ ExpandablePane,
263
+ FileExportAsync,
264
+ FileImport,
265
+ FileUploadTable,
266
+ Filters,
267
+ FlowDialog,
268
+ FlowStep,
269
+ FooterBox,
270
+ IconGroupButton,
271
+ InputNumber,
272
+ InputNumberRange,
273
+ InputSearch,
274
+ N,
275
+ NavMenu,
276
+ Page,
277
+ PageHeader,
278
+ Pagination,
279
+ QuarterDatePicker,
280
+ SecondaryTab,
281
+ SelectDatePicker,
282
+ SelectDatePickerPro,
267
283
  SelectLazy,
268
284
  SelectTree,
269
285
  SelectTreeLazy,
270
- Suspend,
271
- Step,
272
- SecondaryTab,
273
- TertiaryTab,
274
- Pagination,
275
- WornPagination,
286
+ ShowColumn,
287
+ Sifting,
288
+ Stamp,
276
289
  Statis,
277
290
  StatisItem,
278
291
  StatisPopover,
279
- ApprovalCard,
280
- ApproveCard,
281
- ApprovalRecord,
282
- ApprovalButtons,
283
- Expandable,
284
- ExpandablePane,
285
- Empty,
286
- Upload,
287
- Dialog,
288
- DragList,
289
- Sifting,
290
- FileUploadTable,
291
- FooterBox,
292
- Filters,
292
+ Step,
293
+ Suspend,
293
294
  Table,
294
295
  TableOperate,
295
296
  TableOperateColumn,
296
297
  TableSetSize,
297
- Button,
298
- ButtonGroup,
299
- ShowColumn,
300
- Page,
301
- Task,
302
- IconGroupButton,
303
- Anchor,
304
- AnchorItem,
305
- FlowStep,
306
- CascaderArea,
307
- FileExportAsync,
308
- FlowDialog,
309
- ChildRange,
310
- FileImport,
311
- PageHeader,
312
- Descriptions,
313
- EventBubble,
314
- ApprovalImg,
315
- Stamp,
316
- Diff,
317
- SelectDatePicker,
318
- SelectDatePickerPro,
319
- QuarterDatePicker,
320
- BusiDatePicker,
321
298
  TableTransfer,
322
- WorkCard,
299
+ Task,
300
+ TertiaryTab,
301
+ TimePicker,
302
+ Upload,
323
303
  UploadMsg,
324
- /* 中建科 */
325
- ApprovalCardZjk,
326
- ApproveCardZjk,
327
- ApprovalRecordZjk
304
+ WorkCard,
305
+ WornPagination,
306
+ asyncGetRelaNos,
307
+ // 方法
308
+ auth,
309
+ axios,
310
+ closeTab,
311
+ dayjs,
312
+ downloadBlob,
313
+ forEachs,
314
+ getJsonc,
315
+ imgLoad,
316
+ importG,
317
+ // 权限
318
+ isHas,
319
+ isHasG,
320
+ linkClose,
321
+ linkGo,
322
+ linkPush,
323
+ list2tree,
324
+ numerify,
325
+ operatingStatus,
326
+ repairEl,
327
+ // 页签/路由
328
+ setTabs,
329
+ version
328
330
  }
@@ -1,3 +1,9 @@
1
+ /**
2
+ *
3
+ * @param {Blob} data 下载的文件流
4
+ * @param {String} name 文件名称
5
+ */
6
+
1
7
  const downloadBlob = (data, name) => {
2
8
  let url
3
9
  if (data instanceof Blob) {