haiwei-ui 1.0.3 → 1.0.5

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 (109) hide show
  1. package/README.md +10 -0
  2. package/package.json +1 -1
  3. package/packages/components/box/index.vue +116 -125
  4. package/packages/components/box-col/index.vue +30 -33
  5. package/packages/components/box-row/index.vue +17 -17
  6. package/packages/components/box-small/index.vue +38 -38
  7. package/packages/components/button/index.vue +29 -42
  8. package/packages/components/button-copy/index.vue +46 -62
  9. package/packages/components/button-delete/index.vue +64 -77
  10. package/packages/components/button-delete-batch/index.vue +82 -95
  11. package/packages/components/button-has/index.vue +29 -42
  12. package/packages/components/checkbox-group/index.vue +85 -85
  13. package/packages/components/color-picker/index.vue +41 -50
  14. package/packages/components/container/index.vue +8 -8
  15. package/packages/components/date-range-picker/index.vue +92 -103
  16. package/packages/components/details/index.vue +72 -79
  17. package/packages/components/dialog/index.vue +281 -294
  18. package/packages/components/drag-sort/index.vue +36 -36
  19. package/packages/components/drag-sort-dialog/index.vue +58 -58
  20. package/packages/components/drawer/index.vue +157 -166
  21. package/packages/components/enums/sex/index.vue +1 -1
  22. package/packages/components/flex/index.vue +33 -33
  23. package/packages/components/form/index.vue +123 -138
  24. package/packages/components/form-dialog/index.vue +184 -217
  25. package/packages/components/form-page/index.vue +134 -151
  26. package/packages/components/icon/index.vue +6 -6
  27. package/packages/components/icon-picker/index.vue +30 -30
  28. package/packages/components/icon-picker/panel.vue +58 -58
  29. package/packages/components/label/index.vue +22 -30
  30. package/packages/components/list/components/export/index.vue +101 -99
  31. package/packages/components/list/components/footer/index.vue +42 -51
  32. package/packages/components/list/components/header/index.vue +34 -34
  33. package/packages/components/list/components/querybar/index.vue +143 -143
  34. package/packages/components/list/components/select-column/index.vue +30 -30
  35. package/packages/components/list/components/table/index.vue +169 -188
  36. package/packages/components/list/index.vue +337 -391
  37. package/packages/components/list-agile/index.vue +145 -145
  38. package/packages/components/list-dialog/index.vue +70 -84
  39. package/packages/components/listbox/index.vue +48 -48
  40. package/packages/components/login-default/index.vue +107 -107
  41. package/packages/components/login-neon/index.vue +104 -104
  42. package/packages/components/map/index.vue +229 -229
  43. package/packages/components/map-coord-picking/index.vue +220 -219
  44. package/packages/components/map-search/index.vue +75 -72
  45. package/packages/components/scrollbar/index.vue +11 -11
  46. package/packages/components/select-whether/index.vue +30 -30
  47. package/packages/components/split/index.vue +141 -141
  48. package/packages/components/split/trigger.vue +15 -15
  49. package/packages/components/tabnav/index.vue +125 -89
  50. package/packages/components/tabs/index.vue +31 -31
  51. package/packages/components/toolbar/components/fullscreen/index.vue +10 -10
  52. package/packages/components/toolbar/components/logout/index.vue +13 -13
  53. package/packages/components/toolbar/components/skin-toggle/form.vue +59 -59
  54. package/packages/components/toolbar/components/skin-toggle/index.vue +12 -12
  55. package/packages/components/toolbar/components/userInfo/index.vue +18 -18
  56. package/packages/components/toolbar/index.vue +12 -12
  57. package/packages/components/tree-select/mixins.vue +261 -270
  58. package/packages/components/txt/index.vue +17 -17
  59. package/packages/components/update-password/index.vue +45 -57
  60. package/packages/layout.vue +18 -18
  61. package/packages/mixins/components/checkbox.vue +71 -82
  62. package/packages/mixins/components/radio.vue +69 -69
  63. package/packages/page/403/index.vue +32 -28
  64. package/packages/page/404/index.vue +32 -28
  65. package/packages/page/default/index.vue +17 -13
  66. package/packages/page/iframe/index.vue +6 -6
  67. package/packages/page/login/index.vue +9 -9
  68. package/packages/page/userInfo/index.vue +5 -5
  69. package/packages/router/index.js +1 -9
  70. package/packages/skins/pretty/components/header/components/breadcrumb/index.vue +29 -29
  71. package/packages/skins/pretty/components/header/components/theme/index.vue +22 -21
  72. package/packages/skins/pretty/components/header/index.vue +12 -12
  73. package/packages/skins/pretty/components/main/index.vue +27 -27
  74. package/packages/skins/pretty/components/menus/index.vue +28 -28
  75. package/packages/skins/pretty/components/menus/item.vue +23 -23
  76. package/packages/skins/pretty/components/sidebar/index.vue +7 -7
  77. package/packages/skins/pretty/index.vue +6 -6
  78. package/packages/skins/pretty/styles/themes/blue-light/_index.scss +2 -2
  79. package/packages/skins/pretty/styles/themes/default/_index.scss +1 -1
  80. package/packages/skins/pretty/styles/themes/green/_index.scss +2 -2
  81. package/packages/skins/pretty/styles/themes/green-light/_index.scss +2 -2
  82. package/packages/styles/_mixins.scss +24 -25
  83. package/packages/styles/animation/_index.scss +22 -23
  84. package/packages/styles/animation/breadcrumb.scss +6 -6
  85. package/packages/styles/animation/fade.scss +11 -11
  86. package/packages/styles/animation/move.scss +98 -98
  87. package/packages/styles/components/box-small/_index.scss +58 -58
  88. package/packages/styles/components/button/_index.scss +7 -7
  89. package/packages/styles/components/container/_index.scss +26 -26
  90. package/packages/styles/components/date-range-picker/_index.scss +4 -4
  91. package/packages/styles/components/details/_index.scss +66 -67
  92. package/packages/styles/components/details-dialog/_index.scss +13 -13
  93. package/packages/styles/components/drag-sort/_index.scss +20 -20
  94. package/packages/styles/components/drag-sort-dialog/_index.scss +7 -7
  95. package/packages/styles/components/flex/_index.scss +56 -56
  96. package/packages/styles/components/form-dialog/_index.scss +11 -11
  97. package/packages/styles/components/icon/_index.scss +6 -6
  98. package/packages/styles/components/label/_index.scss +245 -245
  99. package/packages/styles/components/listbox/_index.scss +47 -47
  100. package/packages/styles/components/split/_index.scss +102 -102
  101. package/packages/styles/components/toolbar/_index.scss +98 -98
  102. package/packages/styles/components/txt/_index.scss +13 -13
  103. package/packages/styles/components/upload-dialog/_index.scss +44 -44
  104. package/packages/styles/components/upload-multiple/_index.scss +19 -19
  105. package/packages/styles/components/upload-single/_index.scss +16 -16
  106. package/packages/utils/resize-event.js +3 -3
  107. package/packages/vuter/attributes.json +30 -40
  108. package/packages/vuter/tags.json +11 -27
  109. package/public/lib/font/iconfont.js +47 -1
@@ -2,10 +2,10 @@
2
2
  <component v-bind:is="`nm-${options.showMode || 'drawer'}`" header footer draggable :padding="10" :title="title" :icon="icon" :width="width" :height="height" :visible.sync="visible_">
3
3
  <el-form ref="form" :model="model" :rules="rules" :size="fontSize" label-width="120px">
4
4
  <el-form-item label="显示标题:" prop="showTitle">
5
- <el-switch v-model="model.showTitle"> </el-switch>
5
+ <el-switch v-model="model.showTitle"></el-switch>
6
6
  </el-form-item>
7
7
  <el-form-item v-if="model.showTitle" label="标题内容:" prop="title">
8
- <el-input v-model="model.title" clearable> </el-input>
8
+ <el-input v-model="model.title" clearable></el-input>
9
9
  </el-form-item>
10
10
  <el-form-item label="文件名称:" prop="fileName">
11
11
  <el-input v-model="model.fileName">
@@ -25,7 +25,7 @@
25
25
  </el-form-item>
26
26
  <el-form-item label="设置列:">
27
27
  <el-table ref="table" :data="columns" border stripe size="mini" max-height="400" @selection-change="onSelectionChange">
28
- <el-table-column type="selection" width="55"> </el-table-column>
28
+ <el-table-column type="selection" width="55"></el-table-column>
29
29
  <el-table-column prop="name" label="字段"></el-table-column>
30
30
  <el-table-column prop="label" label="列名">
31
31
  <template v-slot="{ row }">
@@ -33,9 +33,10 @@
33
33
  </template>
34
34
  </el-table-column>
35
35
  <el-table-column prop="width">
36
- <template slot="header"
37
- >宽度 <el-tooltip effect="dark" content="0表示自适应" placement="top"> <i class="el-icon-info nm-size-15 nm-text-warning"> </i></el-tooltip
38
- ></template>
36
+ <template slot="header">
37
+ 宽度
38
+ <el-tooltip effect="dark" content="0表示自适应" placement="top"><i class="el-icon-info nm-size-15 nm-text-warning"></i></el-tooltip>
39
+ </template>
39
40
  <template v-slot="{ row }">
40
41
  <el-input type="number" v-model.number="row.width" />
41
42
  </template>
@@ -43,16 +44,17 @@
43
44
  <el-table-column prop="align" label="对齐方式">
44
45
  <template v-slot="{ row }">
45
46
  <el-select v-model="row.align" placeholder="请选择">
46
- <el-option label="居左" value="left"> </el-option>
47
- <el-option label="居中" value="center"> </el-option>
48
- <el-option label="居右" value="right"> </el-option>
47
+ <el-option label="居左" value="left"></el-option>
48
+ <el-option label="居中" value="center"></el-option>
49
+ <el-option label="居右" value="right"></el-option>
49
50
  </el-select>
50
51
  </template>
51
52
  </el-table-column>
52
53
  <el-table-column prop="format">
53
- <template slot="header"
54
- >格式化 <el-tooltip effect="dark" content="如日期:yyyy-MM-dd" placement="top"> <i class="el-icon-info nm-size-15 nm-text-warning"> </i></el-tooltip
55
- ></template>
54
+ <template slot="header">
55
+ 格式化
56
+ <el-tooltip effect="dark" content="如日期:yyyy-MM-dd" placement="top"><i class="el-icon-info nm-size-15 nm-text-warning"></i></el-tooltip>
57
+ </template>
56
58
  <template v-slot="{ row }">
57
59
  <el-input v-model="row.format" />
58
60
  </template>
@@ -61,31 +63,31 @@
61
63
  </el-form-item>
62
64
  <el-collapse>
63
65
  <el-collapse-item>
64
- <template slot="title"
65
- ><span class="nm-p-l-10">
66
+ <template slot="title">
67
+ <span class="nm-p-l-10">
66
68
  <i class="el-icon-s-tools nm-size-16" style="position: relative;top: 2px;"></i>
67
- 高级选项</span
68
- >
69
+ 高级选项
70
+ </span>
69
71
  </template>
70
72
  <el-row>
71
73
  <el-col :span="8">
72
74
  <el-form-item label="显示列名:" prop="showColName">
73
- <el-switch v-model="model.showColName"> </el-switch>
75
+ <el-switch v-model="model.showColName"></el-switch>
74
76
  </el-form-item>
75
77
  </el-col>
76
78
  <el-col :span="8">
77
79
  <el-form-item label="显示导出日期:" prop="showExportDate">
78
- <el-switch v-model="model.showExportDate"> </el-switch>
80
+ <el-switch v-model="model.showExportDate"></el-switch>
79
81
  </el-form-item>
80
82
  </el-col>
81
83
  <el-col :span="8">
82
84
  <el-form-item label="显示导出人:" prop="showExportPeople">
83
- <el-switch v-model="model.showExportPeople"> </el-switch>
85
+ <el-switch v-model="model.showExportPeople"></el-switch>
84
86
  </el-form-item>
85
87
  </el-col>
86
88
  </el-row>
87
89
  <el-form-item label="显示版权:" prop="showCopyright">
88
- <el-switch v-model="model.showCopyright"> </el-switch>
90
+ <el-switch v-model="model.showCopyright"></el-switch>
89
91
  </el-form-item>
90
92
  <el-form-item v-if="model.showCopyright" label="版权信息:" prop="copyright">
91
93
  <el-input :value="copyright" disabled />
@@ -102,89 +104,89 @@
102
104
  </component>
103
105
  </template>
104
106
  <script>
105
- import dialog from '../../../../mixins/components/dialog'
106
- import { mapState } from 'vuex'
107
- export default {
108
- mixins: [dialog],
109
- data() {
110
- return {
111
- title: '导出数据',
112
- icon: 'export',
113
- width: '800px',
114
- height: '500px',
115
- model: {
116
- columns: [],
117
- showTitle: true,
118
- title: '',
119
- fileName: '',
120
- format: 0,
121
- mode: 0,
122
- showCopyright: false,
123
- showColName: true,
124
- showExportDate: false,
125
- showExportPeople: false
126
- },
127
- rules: {
128
- title: [{ required: true, message: '请输入标题', trigger: 'change' }],
129
- fileName: [{ required: true, message: '请输入文件名称', trigger: 'change' }]
130
- },
131
- columns: []
132
- }
133
- },
134
- props: {
135
- cols: Array,
136
- /**导出显示模式 */
137
- options: Object
138
- },
139
- computed: {
140
- ...mapState('app/config', { copyright: s => s.system.copyright }),
141
- ext() {
142
- return '.xlsx'
143
- }
144
- },
145
- methods: {
146
- /**初始化 */
147
- init() {
148
- const { title, format, mode, showTitle, showCopyright, showColName, showExportDate, showExportPeople } = this.options
107
+ import dialog from '../../../../mixins/components/dialog'
108
+ import { mapState } from 'vuex'
109
+ export default {
110
+ mixins: [dialog],
111
+ data() {
112
+ return {
113
+ title: '导出数据',
114
+ icon: 'export',
115
+ width: '800px',
116
+ height: '500px',
117
+ model: {
118
+ columns: [],
119
+ showTitle: true,
120
+ title: '',
121
+ fileName: '',
122
+ format: 0,
123
+ mode: 0,
124
+ showCopyright: false,
125
+ showColName: true,
126
+ showExportDate: false,
127
+ showExportPeople: false
128
+ },
129
+ rules: {
130
+ title: [{ required: true, message: '请输入标题', trigger: 'change' }],
131
+ fileName: [{ required: true, message: '请输入文件名称', trigger: 'change' }]
132
+ },
133
+ columns: []
134
+ }
135
+ },
136
+ props: {
137
+ cols: Array,
138
+ /**导出显示模式 */
139
+ options: Object
140
+ },
141
+ computed: {
142
+ ...mapState('app/config', { copyright: s => s.system.copyright }),
143
+ ext() {
144
+ return '.xlsx'
145
+ }
146
+ },
147
+ methods: {
148
+ /**初始化 */
149
+ init() {
150
+ const { title, format, mode, showTitle, showCopyright, showColName, showExportDate, showExportPeople } = this.options
149
151
 
150
- this.model.title = title
151
- this.model.fileName = `${title}_${this.$dayjs().format('YYYYMMDDHHmmss')}`
152
- this.model.format = format
153
- this.model.mode = mode
154
- this.model.showTitle = showTitle
155
- this.model.showCopyright = showCopyright
156
- this.model.showColName = showColName
157
- this.model.showExportDate = showExportDate
158
- this.model.showExportPeople = showExportPeople
159
- this.columns = this.cols.map(m => {
160
- let col = this.$parent.listCol2ExportCol(m)
161
- //把已显示的加到选中列表
162
- if (m.show) {
163
- this.model.columns.push(col)
164
- }
165
- return col
166
- })
152
+ this.model.title = title
153
+ this.model.fileName = `${title}_${this.$dayjs().format('YYYYMMDDHHmmss')}`
154
+ this.model.format = format
155
+ this.model.mode = mode
156
+ this.model.showTitle = showTitle
157
+ this.model.showCopyright = showCopyright
158
+ this.model.showColName = showColName
159
+ this.model.showExportDate = showExportDate
160
+ this.model.showExportPeople = showExportPeople
161
+ this.columns = this.cols.map(m => {
162
+ let col = this.$parent.listCol2ExportCol(m)
163
+ //把已显示的加到选中列表
164
+ if (m.show) {
165
+ this.model.columns.push(col)
166
+ }
167
+ return col
168
+ })
167
169
 
168
- this.$nextTick(() => {
169
- //设置已选择的列
170
- this.model.columns.map(m => {
171
- this.$refs.table.toggleRowSelection(m)
170
+ this.$nextTick(() => {
171
+ //设置已选择的列
172
+ this.model.columns.map(m => {
173
+ this.$refs.table.toggleRowSelection(m)
174
+ })
172
175
  })
173
- })
174
- },
175
- onSelectionChange(val) {
176
- this.model.columns = val
176
+ },
177
+ onSelectionChange(val) {
178
+ this.model.columns = val
179
+ },
180
+ onExport() {
181
+ this.$refs.form.validate(async valid => {
182
+ if (valid) {
183
+ this.$parent.export_(this.model)
184
+ }
185
+ })
186
+ }
177
187
  },
178
- onExport() {
179
- this.$refs.form.validate(async valid => {
180
- if (valid) {
181
- this.$parent.export_(this.model)
182
- }
183
- })
188
+ created() {
189
+ this.init()
184
190
  }
185
- },
186
- created() {
187
- this.init()
188
191
  }
189
- }
190
192
  </script>
@@ -4,64 +4,55 @@
4
4
  <slot />
5
5
  </div>
6
6
  <div class="nm-list-footer-right">
7
- <el-pagination
8
- background
9
- :current-page="value.index"
10
- :page-size="value.size"
11
- :total="total"
12
- :page-sizes="pageSizes"
13
- layout="total, sizes, prev, pager, next, jumper"
14
- @size-change="onSizeChange"
15
- @current-change="onIndexChange"
16
- />
7
+ <el-pagination background :current-page="value.index" :page-size="value.size" :total="total" :page-sizes="pageSizes" layout="total, sizes, prev, pager, next, jumper" @size-change="onSizeChange" @current-change="onIndexChange" />
17
8
  <select-column v-if="!noSelectColumn" :columns="columns" @change="onSelectColumnChange" />
18
9
  </div>
19
10
  </footer>
20
11
  </template>
21
12
  <script>
22
- import SelectColumn from '../select-column'
23
- export default {
24
- components: { SelectColumn },
25
- props: {
26
- /** 分页信息 */
27
- value: {
28
- type: Object,
29
- required: true
30
- },
31
- /** 总数 */
32
- total: Number,
33
- /** 列集合 */
34
- columns: Array,
35
- /** 不显示选择列按钮 */
36
- noSelectColumn: Boolean,
37
- /** 左右反转 */
38
- reverse: Boolean,
39
- /** 页数选择项 */
40
- pageSizes: {
41
- type: Array,
42
- default() {
43
- return [10, 15, 50, 100]
13
+ import SelectColumn from '../select-column'
14
+ export default {
15
+ components: { SelectColumn },
16
+ props: {
17
+ /** 分页信息 */
18
+ value: {
19
+ type: Object,
20
+ required: true
21
+ },
22
+ /** 总数 */
23
+ total: Number,
24
+ /** 列集合 */
25
+ columns: Array,
26
+ /** 不显示选择列按钮 */
27
+ noSelectColumn: Boolean,
28
+ /** 左右反转 */
29
+ reverse: Boolean,
30
+ /** 页数选择项 */
31
+ pageSizes: {
32
+ type: Array,
33
+ default() {
34
+ return [10, 15, 50, 100]
35
+ }
44
36
  }
45
- }
46
- },
47
- methods: {
48
- onSizeChange(size) {
49
- console.log(size)
50
- const page = Object.assign({}, this.value, { size, index: 1 })
51
- this.$emit('input', page)
52
- this.$parent.query()
53
- this.$parent.$emit('size-change', size)
54
37
  },
55
- onIndexChange(index) {
56
- const page = Object.assign({}, this.value, { index })
57
- this.$emit('input', page)
58
- this.$parent.query()
59
- this.$parent.$emit('index-change', index)
60
- },
61
- onSelectColumnChange() {
62
- // 重绘父组件的布局
63
- this.$parent.doLayout()
38
+ methods: {
39
+ onSizeChange(size) {
40
+ console.log(size)
41
+ const page = Object.assign({}, this.value, { size, index: 1 })
42
+ this.$emit('input', page)
43
+ this.$parent.query()
44
+ this.$parent.$emit('size-change', size)
45
+ },
46
+ onIndexChange(index) {
47
+ const page = Object.assign({}, this.value, { index })
48
+ this.$emit('input', page)
49
+ this.$parent.query()
50
+ this.$parent.$emit('index-change', index)
51
+ },
52
+ onSelectColumnChange() {
53
+ // 重绘父组件的布局
54
+ this.$parent.doLayout()
55
+ }
64
56
  }
65
57
  }
66
- }
67
58
  </script>
@@ -17,41 +17,41 @@
17
17
  </header>
18
18
  </template>
19
19
  <script>
20
- export default {
21
- props: {
22
- value: Object,
23
- /** 标题 */
24
- title: String,
25
- /** 图标 */
26
- icon: String,
27
- /** 是否全屏 */
28
- fullscreen: Boolean,
29
- /** 不显示全屏按钮 */
30
- noFullscreen: Boolean,
31
- /** 不显示刷新按钮 */
32
- noRefresh: Boolean,
33
- /**显示导出按钮 */
34
- exportEnabled: Boolean,
35
- /**导出按钮权限编码 */
36
- exportBtnCode: String
37
- },
38
- methods: {
39
- query() {
40
- this.$parent.page.index = 1
41
- this.$parent.query()
20
+ export default {
21
+ props: {
22
+ value: Object,
23
+ /** 标题 */
24
+ title: String,
25
+ /** 图标 */
26
+ icon: String,
27
+ /** 是否全屏 */
28
+ fullscreen: Boolean,
29
+ /** 不显示全屏按钮 */
30
+ noFullscreen: Boolean,
31
+ /** 不显示刷新按钮 */
32
+ noRefresh: Boolean,
33
+ /**显示导出按钮 */
34
+ exportEnabled: Boolean,
35
+ /**导出按钮权限编码 */
36
+ exportBtnCode: String
42
37
  },
43
- reset() {
44
- this.$parent.reset()
45
- },
46
- refresh() {
47
- this.$parent.refresh()
48
- },
49
- onFullscreenClick() {
50
- this.$parent.triggerFullscreen()
51
- },
52
- onExportClick() {
53
- this.$parent.triggerExport()
38
+ methods: {
39
+ query() {
40
+ this.$parent.page.index = 1
41
+ this.$parent.query()
42
+ },
43
+ reset() {
44
+ this.$parent.reset()
45
+ },
46
+ refresh() {
47
+ this.$parent.refresh()
48
+ },
49
+ onFullscreenClick() {
50
+ this.$parent.triggerFullscreen()
51
+ },
52
+ onExportClick() {
53
+ this.$parent.triggerExport()
54
+ }
54
55
  }
55
56
  }
56
- }
57
57
  </script>