Commit 522ea14579df9bfb36a222913b58fc968ead308c
Merge branch 'develop' of http://www.huahengrobot.com:90/wms/wms4 into develop
Showing
147 changed files
with
3301 additions
and
1649 deletions
Too many changes to show.
To preserve performance only 65 of 147 files are displayed.
ant-design-vue-jeecg/.env.production
1 | 1 | NODE_ENV=production |
2 | 2 | VUE_APP_ENV=production |
3 | 3 | outputDir=dist |
4 | -VUE_APP_API_BASE_URL=http://172.16.29.77:8081/wms | |
4 | +VUE_APP_API_BASE_URL=http://127.0.0.1:8080/wms | |
5 | 5 | VUE_APP_CAS_BASE_URL=http://localhost:8443/cas |
6 | 6 | VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview |
7 | 7 | \ No newline at end of file |
... | ... |
ant-design-vue-jeecg/pom.xml
ant-design-vue-jeecg/src/components/jeecg/modal/JPopupOnlReport.vue
... | ... | @@ -8,22 +8,28 @@ |
8 | 8 | wrapClassName="j-popup-modal" |
9 | 9 | @ok="handleSubmit" |
10 | 10 | @cancel="handleCancel" |
11 | - cancelText="关闭"> | |
12 | - | |
11 | + cancelText="关闭" | |
12 | + > | |
13 | 13 | <div class="table-page-search-wrapper"> |
14 | 14 | <a-form layout="inline" @keyup.enter.native="searchByquery"> |
15 | 15 | <a-row :gutter="24" v-if="showSearchFlag"> |
16 | - <template v-for="(item,index) in queryInfo"> | |
17 | - <template v-if=" item.hidden==='1' "> | |
18 | - <a-col :md="8" :sm="24" :key=" 'query'+index " v-show="toggleSearchStatus"> | |
19 | - <online-query-form-item :queryParam="queryParam" :item="item" | |
20 | - :dictOptions="dictOptions"></online-query-form-item> | |
16 | + <template v-for="(item, index) in queryInfo"> | |
17 | + <template v-if="item.hidden === '1'"> | |
18 | + <a-col :md="8" :sm="24" :key="'query' + index" v-show="toggleSearchStatus"> | |
19 | + <online-query-form-item | |
20 | + :queryParam="queryParam" | |
21 | + :item="item" | |
22 | + :dictOptions="dictOptions" | |
23 | + ></online-query-form-item> | |
21 | 24 | </a-col> |
22 | 25 | </template> |
23 | 26 | <template v-else> |
24 | - <a-col :md="8" :sm="24" :key=" 'query'+index "> | |
25 | - <online-query-form-item :queryParam="queryParam" :item="item" | |
26 | - :dictOptions="dictOptions"></online-query-form-item> | |
27 | + <a-col :md="8" :sm="24" :key="'query' + index"> | |
28 | + <online-query-form-item | |
29 | + :queryParam="queryParam" | |
30 | + :item="item" | |
31 | + :dictOptions="dictOptions" | |
32 | + ></online-query-form-item> | |
27 | 33 | </a-col> |
28 | 34 | </template> |
29 | 35 | </template> |
... | ... | @@ -34,18 +40,17 @@ |
34 | 40 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
35 | 41 | <a @click="handleToggleSearch" style="margin-left: 8px"> |
36 | 42 | {{ toggleSearchStatus ? '收起' : '展开' }} |
37 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
43 | + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> | |
38 | 44 | </a> |
39 | 45 | </span> |
40 | 46 | </a-col> |
41 | - | |
42 | 47 | </a-row> |
43 | 48 | </a-form> |
44 | 49 | </div> |
45 | 50 | |
46 | 51 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
47 | 52 | <i class="anticon anticon-info-circle ant-alert-icon"></i> |
48 | - 已选择 <a style="font-weight: 600">{{ table.selectedRowKeys.length }}</a>项 | |
53 | + 已选择 <a style="font-weight: 600">{{ table.selectedRowKeys.length }}</a> 项 | |
49 | 54 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
50 | 55 | |
51 | 56 | <a v-if="!showSearchFlag" style="margin-left: 24px" @click="onlyReload">刷新</a> |
... | ... | @@ -60,25 +65,29 @@ |
60 | 65 | :dataSource="table.dataSource" |
61 | 66 | :pagination="table.pagination" |
62 | 67 | :loading="table.loading" |
63 | - :rowSelection="{type:rowSelectionType,fixed:true,selectedRowKeys: table.selectedRowKeys, onChange: handleChangeInTableSelect}" | |
68 | + :rowSelection="{ | |
69 | + type: rowSelectionType, | |
70 | + fixed: true, | |
71 | + selectedRowKeys: table.selectedRowKeys, | |
72 | + onChange: handleChangeInTableSelect | |
73 | + }" | |
64 | 74 | @change="handleChangeInTable" |
65 | 75 | style="min-height: 300px" |
66 | 76 | :scroll="tableScroll" |
67 | - :customRow="clickThenCheck"> | |
77 | + :customRow="clickThenCheck" | |
78 | + > | |
68 | 79 | </a-table> |
69 | - | |
70 | - | |
71 | 80 | </j-modal> |
72 | 81 | </template> |
73 | 82 | |
74 | 83 | <script> |
75 | -import {getAction} from '@/api/manage' | |
76 | -import {filterObj} from '@/utils/util' | |
77 | -import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' | |
78 | -import {httpGroupRequest} from '@/api/GroupRequest.js' | |
84 | +import { getAction } from '@/api/manage' | |
85 | +import { filterObj } from '@/utils/util' | |
86 | +import { filterMultiDictText } from '@/components/dict/JDictSelectUtil' | |
87 | +import { httpGroupRequest } from '@/api/GroupRequest.js' | |
79 | 88 | import md5 from 'md5' |
80 | 89 | |
81 | -const MODAL_WIDTH = 1200; | |
90 | +const MODAL_WIDTH = 1200 | |
82 | 91 | export default { |
83 | 92 | name: 'JPopupOnlReport', |
84 | 93 | props: ['multi', 'code', 'sorter', 'groupId', 'param'], |
... | ... | @@ -86,7 +95,7 @@ export default { |
86 | 95 | data() { |
87 | 96 | return { |
88 | 97 | visible: false, |
89 | - title: "", | |
98 | + title: '', | |
90 | 99 | confirmLoading: false, |
91 | 100 | queryInfo: [], |
92 | 101 | toggleSearchStatus: false, |
... | ... | @@ -119,12 +128,12 @@ export default { |
119 | 128 | total: 0 |
120 | 129 | } |
121 | 130 | }, |
122 | - cgRpConfigId: "", | |
131 | + cgRpConfigId: '', | |
123 | 132 | modalWidth: MODAL_WIDTH, |
124 | - tableScroll: {x: true}, | |
133 | + tableScroll: { x: true }, | |
125 | 134 | dynamicParam: {}, |
126 | 135 | // 排序字段,默认无排序 |
127 | - iSorter: null, | |
136 | + iSorter: null | |
128 | 137 | } |
129 | 138 | }, |
130 | 139 | mounted() { |
... | ... | @@ -140,10 +149,10 @@ export default { |
140 | 149 | // update--begin--autor:liusq-----date:20210706------for:JPopup组件在modal中使用报错#2729------ |
141 | 150 | if (this.visible) { |
142 | 151 | this.dynamicParamHandler() |
143 | - this.loadData(); | |
152 | + this.loadData() | |
144 | 153 | } |
145 | 154 | // update--begin--autor:liusq-----date:20210706------for:JPopup组件在modal中使用报错#2729------ |
146 | - }, | |
155 | + } | |
147 | 156 | }, |
148 | 157 | sorter: { |
149 | 158 | immediate: true, |
... | ... | @@ -151,7 +160,7 @@ export default { |
151 | 160 | if (this.sorter) { |
152 | 161 | let arr = this.sorter.split('=') |
153 | 162 | if (arr.length === 2 && ['asc', 'desc'].includes(arr[1].toLowerCase())) { |
154 | - this.iSorter = {column: arr[0], order: arr[1].toLowerCase()} | |
163 | + this.iSorter = { column: arr[0], order: arr[1].toLowerCase() } | |
155 | 164 | // 排序字段受控 |
156 | 165 | this.table.columns.forEach(col => { |
157 | 166 | if (col.dataIndex === this.iSorter.column) { |
... | ... | @@ -164,8 +173,8 @@ export default { |
164 | 173 | console.warn('【JPopup】sorter参数不合法') |
165 | 174 | } |
166 | 175 | } |
167 | - }, | |
168 | - }, | |
176 | + } | |
177 | + } | |
169 | 178 | }, |
170 | 179 | computed: { |
171 | 180 | showSearchFlag() { |
... | ... | @@ -174,7 +183,7 @@ export default { |
174 | 183 | // 行选择框类型,根据是否多选来控制显示为单选框还是多选框 |
175 | 184 | rowSelectionType() { |
176 | 185 | return this.multi ? 'checkbox' : 'radio' |
177 | - }, | |
186 | + } | |
178 | 187 | }, |
179 | 188 | methods: { |
180 | 189 | loadColumnsInfo() { |
... | ... | @@ -186,15 +195,15 @@ export default { |
186 | 195 | } |
187 | 196 | httpGroupRequest(() => getAction(url), groupIdKey).then(res => { |
188 | 197 | if (res.success) { |
189 | - this.initDictOptionData(res.result.dictOptions); | |
198 | + this.initDictOptionData(res.result.dictOptions) | |
190 | 199 | this.cgRpConfigId = res.result.cgRpConfigId |
191 | 200 | this.title = res.result.cgRpConfigName |
192 | 201 | let currColumns = res.result.columns |
193 | 202 | for (let a = 0; a < currColumns.length; a++) { |
194 | 203 | if (currColumns[a].customRender) { |
195 | - let dictCode = currColumns[a].customRender; | |
196 | - currColumns[a].customRender = (text) => { | |
197 | - return filterMultiDictText(this.dictOptions[dictCode], text + ""); | |
204 | + let dictCode = currColumns[a].customRender | |
205 | + currColumns[a].customRender = text => { | |
206 | + return filterMultiDictText(this.dictOptions[dictCode], text + '') | |
198 | 207 | } |
199 | 208 | } |
200 | 209 | // 排序字段受控 |
... | ... | @@ -207,8 +216,14 @@ export default { |
207 | 216 | } else { |
208 | 217 | this.$error({ |
209 | 218 | title: '出错了', |
210 | - content: (<p>Popup初始化失败,请检查你的配置或稍后重试!<br/>错误信息如下:{res.message}</p>), | |
211 | - onOk: () => this.close(), | |
219 | + content: ( | |
220 | + <p> | |
221 | + Popup初始化失败,请检查你的配置或稍后重试! | |
222 | + <br /> | |
223 | + 错误信息如下:{res.message} | |
224 | + </p> | |
225 | + ), | |
226 | + onOk: () => this.close() | |
212 | 227 | }) |
213 | 228 | } |
214 | 229 | }) |
... | ... | @@ -220,7 +235,7 @@ export default { |
220 | 235 | if (this.groupId) { |
221 | 236 | groupIdKey = this.groupId + url |
222 | 237 | } |
223 | - httpGroupRequest(() => getAction(url), groupIdKey).then((res) => { | |
238 | + httpGroupRequest(() => getAction(url), groupIdKey).then(res => { | |
224 | 239 | // console.log("获取查询条件", res); |
225 | 240 | if (res.success) { |
226 | 241 | this.dynamicParamHandler(res.result) |
... | ... | @@ -242,7 +257,7 @@ export default { |
242 | 257 | queryTemp[item.field] = '' |
243 | 258 | } |
244 | 259 | } |
245 | - this.queryParam = {...queryTemp} | |
260 | + this.queryParam = { ...queryTemp } | |
246 | 261 | } |
247 | 262 | let dynamicTemp = {} |
248 | 263 | if (this.param) { |
... | ... | @@ -258,13 +273,13 @@ export default { |
258 | 273 | dynamicTemp[key] = this.param[key] |
259 | 274 | }) |
260 | 275 | } |
261 | - this.dynamicParam = {...dynamicTemp} | |
276 | + this.dynamicParam = { ...dynamicTemp } | |
262 | 277 | }, |
263 | 278 | loadData(arg) { |
264 | 279 | if (arg == 1) { |
265 | 280 | this.table.pagination.current = 1 |
266 | 281 | } |
267 | - let params = this.getQueryParams();//查询条件 | |
282 | + let params = this.getQueryParams() //查询条件 | |
268 | 283 | this.table.loading = true |
269 | 284 | let url = `${this.url.getData}${this.cgRpConfigId}` |
270 | 285 | //缓存key |
... | ... | @@ -293,10 +308,10 @@ export default { |
293 | 308 | paramTarget['self_' + key] = this.dynamicParam[key] |
294 | 309 | }) |
295 | 310 | } |
296 | - let param = Object.assign(paramTarget, this.queryParam, this.iSorter); | |
297 | - param.pageNo = this.table.pagination.current; | |
298 | - param.pageSize = this.table.pagination.pageSize; | |
299 | - return filterObj(param); | |
311 | + let param = Object.assign(paramTarget, this.queryParam, this.iSorter) | |
312 | + param.pageNo = this.table.pagination.current | |
313 | + param.pageSize = this.table.pagination.pageSize | |
314 | + return filterObj(param) | |
300 | 315 | }, |
301 | 316 | handleChangeInTableSelect(selectedRowKeys, selectionRows) { |
302 | 317 | //update-begin-author:taoyan date:2020902 for:【issue】开源online的几个问题 LOWCOD-844 |
... | ... | @@ -307,7 +322,7 @@ export default { |
307 | 322 | } else { |
308 | 323 | //当两者长度不一的时候 需要判断 |
309 | 324 | let keys = this.table.selectedRowKeys |
310 | - let rows = this.table.selectionRows; | |
325 | + let rows = this.table.selectionRows | |
311 | 326 | //这个循环 添加新的记录 |
312 | 327 | for (let i = 0; i < selectionRows.length; i++) { |
313 | 328 | let combineKey = this.combineRowKey(selectionRows[i]) |
... | ... | @@ -350,20 +365,20 @@ export default { |
350 | 365 | handleSubmit() { |
351 | 366 | if (!this.multi) { |
352 | 367 | if (this.table.selectionRows && this.table.selectionRows.length > 1) { |
353 | - this.$message.warning("请选择一条记录") | |
368 | + this.$message.warning('请选择一条记录') | |
354 | 369 | return false |
355 | 370 | } |
356 | 371 | } |
357 | 372 | if (!this.table.selectionRows || this.table.selectionRows.length == 0) { |
358 | - this.$message.warning("请选择一条记录") | |
373 | + this.$message.warning('请选择一条记录') | |
359 | 374 | return false |
360 | 375 | } |
361 | - this.$emit('ok', this.table.selectionRows); | |
376 | + this.$emit('ok', this.table.selectionRows) | |
362 | 377 | this.close() |
363 | 378 | }, |
364 | 379 | close() { |
365 | - this.$emit('close'); | |
366 | - this.visible = false; | |
380 | + this.$emit('close') | |
381 | + this.visible = false | |
367 | 382 | this.onClearSelected() |
368 | 383 | }, |
369 | 384 | show() { |
... | ... | @@ -371,19 +386,19 @@ export default { |
371 | 386 | this.loadColumnsInfo() |
372 | 387 | }, |
373 | 388 | handleToggleSearch() { |
374 | - this.toggleSearchStatus = !this.toggleSearchStatus; | |
389 | + this.toggleSearchStatus = !this.toggleSearchStatus | |
375 | 390 | }, |
376 | 391 | searchByquery() { |
377 | - this.loadData(1); | |
392 | + this.loadData(1) | |
378 | 393 | }, |
379 | 394 | onlyReload() { |
380 | - this.loadData(); | |
395 | + this.loadData() | |
381 | 396 | }, |
382 | 397 | searchReset() { |
383 | 398 | Object.keys(this.queryParam).forEach(key => { |
384 | - this.queryParam[key] = "" | |
399 | + this.queryParam[key] = '' | |
385 | 400 | }) |
386 | - this.loadData(1); | |
401 | + this.loadData(1) | |
387 | 402 | }, |
388 | 403 | onClearSelected() { |
389 | 404 | this.table.selectedRowKeys = [] |
... | ... | @@ -415,7 +430,8 @@ export default { |
415 | 430 | click: () => { |
416 | 431 | let rowKey = this.combineRowKey(record) |
417 | 432 | if (!this.table.selectedRowKeys || this.table.selectedRowKeys.length == 0) { |
418 | - let arr1 = [], arr2 = [] | |
433 | + let arr1 = [], | |
434 | + arr2 = [] | |
419 | 435 | arr1.push(record) |
420 | 436 | arr2.push(rowKey) |
421 | 437 | this.table.selectedRowKeys = arr2 |
... | ... | @@ -426,8 +442,8 @@ export default { |
426 | 442 | this.table.selectionRows.push(record) |
427 | 443 | } else { |
428 | 444 | let rowKey_index = this.table.selectedRowKeys.indexOf(rowKey) |
429 | - this.table.selectedRowKeys.splice(rowKey_index, 1); | |
430 | - this.table.selectionRows.splice(rowKey_index, 1); | |
445 | + this.table.selectedRowKeys.splice(rowKey_index, 1) | |
446 | + this.table.selectionRows.splice(rowKey_index, 1) | |
431 | 447 | } |
432 | 448 | } |
433 | 449 | // 判断是否允许多选,如果不允许多选,就只存储最后一个选中的行 |
... | ... | @@ -445,15 +461,13 @@ export default { |
445 | 461 | Object.keys(dictOptions).map(k => { |
446 | 462 | obj[k] = dictOptions[k].filter(item => { |
447 | 463 | return item != null |
448 | - }); | |
449 | - }); | |
464 | + }) | |
465 | + }) | |
450 | 466 | this.dictOptions = obj |
451 | 467 | } |
452 | - | |
453 | 468 | } |
454 | 469 | } |
455 | 470 | </script> |
456 | 471 | |
457 | 472 | <style scoped> |
458 | - | |
459 | 473 | </style> |
460 | 474 | \ No newline at end of file |
... | ... |
ant-design-vue-jeecg/src/components/tools/DepartSelect.vue
... | ... | @@ -136,14 +136,14 @@ export default { |
136 | 136 | }) |
137 | 137 | }, |
138 | 138 | show() { |
139 | - //如果组件传值username此处就不用loadDepartList了 | |
140 | - this.loadDepartList().then(() => { | |
141 | - this.visible = true | |
142 | - if (!this.departList || this.departList.length <= 0) { | |
143 | - this.$message.warning("您尚未设置部门信息!") | |
144 | - this.departClear() | |
145 | - } | |
146 | - }) | |
139 | + // 如果组件传值username此处就不用loadDepartList了 | |
140 | + // this.loadDepartList().then(() => { | |
141 | + // this.visible = true | |
142 | + // if (!this.departList || this.departList.length <= 0) { | |
143 | + // this.$message.warning("您尚未设置部门信息!") | |
144 | + // this.departClear() | |
145 | + // } | |
146 | + // }) | |
147 | 147 | }, |
148 | 148 | departClear() { |
149 | 149 | this.departList = [] |
... | ... |
ant-design-vue-jeecg/src/components/tools/UserMenu.vue
... | ... | @@ -40,12 +40,12 @@ |
40 | 40 | <span v-if="isDesktop()">欢迎您,{{ nickname() }}</span> |
41 | 41 | </span> |
42 | 42 | <a-menu slot="overlay" class="user-dropdown-menu-wrapper"> |
43 | - <a-menu-item key="0"> | |
43 | + <!-- <a-menu-item key="0"> | |
44 | 44 | <router-link :to="{ name: 'account-center' }"> |
45 | 45 | <a-icon type="user"/> |
46 | 46 | <span>个人中心</span> |
47 | 47 | </router-link> |
48 | - </a-menu-item> | |
48 | + </a-menu-item> --> | |
49 | 49 | <a-menu-item key="1"> |
50 | 50 | <router-link :to="{ name: 'account-settings-base' }"> |
51 | 51 | <a-icon type="setting"/> |
... | ... | @@ -60,10 +60,10 @@ |
60 | 60 | <a-icon type="setting"/> |
61 | 61 | <span>密码修改</span> |
62 | 62 | </a-menu-item> |
63 | - <a-menu-item key="5" @click="updateCurrentDepart"> | |
63 | + <!-- <a-menu-item key="5" @click="updateCurrentDepart"> | |
64 | 64 | <a-icon type="cluster"/> |
65 | 65 | <span>切换部门</span> |
66 | - </a-menu-item> | |
66 | + </a-menu-item> --> | |
67 | 67 | <a-menu-item key="6" @click="clearCache"> |
68 | 68 | <a-icon type="sync"/> |
69 | 69 | <span>清理缓存</span> |
... | ... |
ant-design-vue-jeecg/src/views/account/settings/BaseSetting.vue
... | ... | @@ -51,7 +51,7 @@ |
51 | 51 | </a-form> |
52 | 52 | |
53 | 53 | </a-col> |
54 | - <a-col :md="24" :lg="8" :style="{ minHeight: '180px' }"> | |
54 | + <!-- <a-col :md="24" :lg="8" :style="{ minHeight: '180px' }"> | |
55 | 55 | <div class="ant-upload-preview" @click="$refs.modal.edit(1)"> |
56 | 56 | <a-icon type="cloud-upload-o" class="upload-icon"/> |
57 | 57 | <div class="mask"> |
... | ... | @@ -59,7 +59,7 @@ |
59 | 59 | </div> |
60 | 60 | <img :src="option.img"/> |
61 | 61 | </div> |
62 | - </a-col> | |
62 | + </a-col> --> | |
63 | 63 | |
64 | 64 | </a-row> |
65 | 65 | |
... | ... |
ant-design-vue-jeecg/src/views/jeecg/JeecgOrderMainList.vue
... | ... | @@ -57,7 +57,7 @@ |
57 | 57 | <div> |
58 | 58 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
59 | 59 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
60 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
60 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
61 | 61 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
62 | 62 | </div> |
63 | 63 | |
... | ... |
ant-design-vue-jeecg/src/views/jeecg/TableExpandeSub.vue
... | ... | @@ -52,7 +52,7 @@ |
52 | 52 | <div> |
53 | 53 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
54 | 54 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
55 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
55 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
56 | 56 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
57 | 57 | </div> |
58 | 58 | |
... | ... |
ant-design-vue-jeecg/src/views/jeecg/tablist/JeecgOrderCustomerList.vue
... | ... | @@ -22,7 +22,7 @@ |
22 | 22 | <div> |
23 | 23 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
24 | 24 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
25 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
25 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
26 | 26 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
27 | 27 | </div> |
28 | 28 | |
... | ... |
ant-design-vue-jeecg/src/views/jeecg/tablist/JeecgOrderDMainList.vue
... | ... | @@ -53,7 +53,7 @@ |
53 | 53 | <div> |
54 | 54 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
55 | 55 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
56 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
56 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
57 | 57 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
58 | 58 | </div> |
59 | 59 | |
... | ... |
ant-design-vue-jeecg/src/views/jeecg/tablist/JeecgOrderTicketList.vue
... | ... | @@ -22,7 +22,7 @@ |
22 | 22 | <div> |
23 | 23 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
24 | 24 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
25 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
25 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
26 | 26 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
27 | 27 | </div> |
28 | 28 | |
... | ... |
ant-design-vue-jeecg/src/views/system/DataLogList.vue
... | ... | @@ -34,8 +34,8 @@ |
34 | 34 | <div> |
35 | 35 | <!--已选择的清空 --> |
36 | 36 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
37 | - <i class="anticon anticon-info-circle ant-alert-icon"></i>已选择 <a | |
38 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
37 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a | |
38 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
39 | 39 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
40 | 40 | </div> |
41 | 41 | <a-table |
... | ... | @@ -51,7 +51,7 @@ |
51 | 51 | @change="handleTableChange" |
52 | 52 | > |
53 | 53 | <!-- 字符串超长截取省略号显示--> |
54 | - <span slot="dataContent" slot-scope="text, record"> | |
54 | + <span slot="dataContent" slot-scope="text"> | |
55 | 55 | <j-ellipsis :value="text" :length="80"/> |
56 | 56 | </span> |
57 | 57 | </a-table> |
... | ... |
ant-design-vue-jeecg/src/views/system/DepartList2.vue
... | ... | @@ -25,7 +25,7 @@ |
25 | 25 | <div> |
26 | 26 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
27 | 27 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
28 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
28 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
29 | 29 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
30 | 30 | </div> |
31 | 31 | <a-table |
... | ... |
ant-design-vue-jeecg/src/views/system/NewPermissionList.vue
... | ... | @@ -17,9 +17,9 @@ |
17 | 17 | <div> |
18 | 18 | |
19 | 19 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
20 | - <i class="anticon anticon-info-circle ant-alert-icon"></i>已选择 <a style="font-weight: 600">{{ | |
20 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ | |
21 | 21 | selectedRowKeys.length |
22 | - }}</a>项 | |
22 | + }}</a> 项 | |
23 | 23 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
24 | 24 | </div> |
25 | 25 | |
... | ... |
ant-design-vue-jeecg/src/views/system/PermissionList.vue
... | ... | @@ -18,9 +18,9 @@ |
18 | 18 | <div> |
19 | 19 | |
20 | 20 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
21 | - <i class="anticon anticon-info-circle ant-alert-icon"></i>已选择 <a style="font-weight: 600">{{ | |
21 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ | |
22 | 22 | selectedRowKeys.length |
23 | - }}</a>项 | |
23 | + }}</a> 项 | |
24 | 24 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
25 | 25 | </div> |
26 | 26 | |
... | ... |
ant-design-vue-jeecg/src/views/system/RoleList.vue
... | ... | @@ -56,8 +56,8 @@ |
56 | 56 | <!-- table区域-begin --> |
57 | 57 | <div> |
58 | 58 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
59 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a | |
60 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
59 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a | |
60 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
61 | 61 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
62 | 62 | </div> |
63 | 63 | |
... | ... |
ant-design-vue-jeecg/src/views/system/RoleUserList.vue
... | ... | @@ -31,23 +31,22 @@ |
31 | 31 | </a-form> |
32 | 32 | </div> |
33 | 33 | <!-- 操作按钮区域 --> |
34 | - <div class="table-operator" style="margin: 5px 0 10px 2px"> | |
34 | + <div class="table-operator"> | |
35 | 35 | <a-button @click="handleAdd" v-has="'role:add'" type="primary" icon="plus">新建角色</a-button> |
36 | 36 | <!--<a-button @click="handleEdit(model1)" type="primary" icon="plus">角色编辑</a-button>--> |
37 | - <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" | |
38 | - :action="importExcelUrl" @change="handleImportExcel"> | |
37 | + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> | |
39 | 38 | <a-button v-has="'role:import'" type="primary" icon="import">导入</a-button> |
40 | 39 | </a-upload> |
41 | 40 | <a-button v-has="'role:export'" type="primary" icon="download" @click="handleExportXls('角色管理')">导出</a-button> |
42 | 41 | </div> |
43 | 42 | |
44 | - <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> | |
45 | - <i class="anticon anticon-info-circle ant-alert-icon"> | |
46 | - </i> 已选择 <a><b>{{ selectedRowKeys1.length }}</b></a>项 | |
47 | - <a style="margin-left: 24px" @click="onClearSelected1">清空</a> | |
48 | - </div> | |
43 | + <div> | |
44 | + <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> | |
45 | + <i class="anticon anticon-info-circle ant-alert-icon"> | |
46 | + </i> 已选择 <a><b>{{ selectedRowKeys1.length }}</b></a> 项 | |
47 | + <a style="margin-left: 24px" @click="onClearSelected1">清空</a> | |
48 | + </div> | |
49 | 49 | |
50 | - <div style="margin-top: 15px"> | |
51 | 50 | <a-table |
52 | 51 | style="height:500px" |
53 | 52 | ref="table" |
... | ... | @@ -60,30 +59,26 @@ |
60 | 59 | :loading="loading" |
61 | 60 | :rowSelection="{selectedRowKeys: selectedRowKeys1, onChange: onSelectChange1, type:'radio'}" |
62 | 61 | @change="handleTableChange"> |
63 | - <span slot="action" slot-scope="text, record"> | |
64 | - <a @click="handleOpen(record)">用户</a> | |
65 | - <a-divider type="vertical"/> | |
66 | - | |
67 | - | |
68 | - <a-dropdown> | |
69 | - <a class="ant-dropdown-link"> | |
70 | - 更多 <a-icon type="down"/> | |
71 | - </a> | |
72 | - <a-menu slot="overlay"> | |
73 | - <a-menu-item> | |
74 | - <a v-has="'role:authorize'" @click="handlePerssion(record.id)">授权</a> | |
75 | - </a-menu-item> | |
76 | - <a-menu-item> | |
77 | - <a v-has="'role:edit'" @click="handleEdit(record)">编辑</a> | |
78 | - </a-menu-item> | |
79 | - <a-menu-item> | |
80 | - <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete1(record.id)"> | |
81 | - <a v-has="'role:delete'">删除</a> | |
82 | - </a-popconfirm> | |
83 | - </a-menu-item> | |
84 | - </a-menu> | |
85 | - </a-dropdown> | |
86 | - </span> | |
62 | + <span slot="action" slot-scope="text, record"> | |
63 | + <a @click="handleOpen(record)">用户</a> | |
64 | + <a-divider type="vertical"/> | |
65 | + <a-dropdown> | |
66 | + <a class="ant-dropdown-link">更多<a-icon type="down"/></a> | |
67 | + <a-menu slot="overlay"> | |
68 | + <a-menu-item> | |
69 | + <a v-has="'role:authorize'" @click="handlePerssion(record.id)">授权</a> | |
70 | + </a-menu-item> | |
71 | + <a-menu-item> | |
72 | + <a v-has="'role:edit'" @click="handleEdit(record)">编辑</a> | |
73 | + </a-menu-item> | |
74 | + <a-menu-item> | |
75 | + <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete1(record.id)"> | |
76 | + <a v-has="'role:delete'">删除</a> | |
77 | + </a-popconfirm> | |
78 | + </a-menu-item> | |
79 | + </a-menu> | |
80 | + </a-dropdown> | |
81 | + </span> | |
87 | 82 | </a-table> |
88 | 83 | </div> |
89 | 84 | <!-- 右侧的角色权限配置 --> |
... | ... |
ant-design-vue-jeecg/src/views/system/SysAnnouncementList.vue
... | ... | @@ -52,7 +52,7 @@ |
52 | 52 | <div> |
53 | 53 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
54 | 54 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
55 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
55 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
56 | 56 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
57 | 57 | </div> |
58 | 58 | |
... | ... |
ant-design-vue-jeecg/src/views/system/SysCategoryList.vue
... | ... | @@ -26,7 +26,7 @@ |
26 | 26 | <div> |
27 | 27 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
28 | 28 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
29 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
29 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
30 | 30 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
31 | 31 | </div> |
32 | 32 | |
... | ... |
ant-design-vue-jeecg/src/views/system/SysPositionList.vue
... | ... | @@ -64,7 +64,7 @@ |
64 | 64 | <div> |
65 | 65 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
66 | 66 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
67 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
67 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
68 | 68 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
69 | 69 | </div> |
70 | 70 | |
... | ... |
ant-design-vue-jeecg/src/views/system/SysUserOnlineList.vue
... | ... | @@ -24,7 +24,7 @@ |
24 | 24 | <div> |
25 | 25 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
26 | 26 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
27 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
27 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
28 | 28 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
29 | 29 | </div> |
30 | 30 | |
... | ... |
ant-design-vue-jeecg/src/views/system/TenantList.vue
... | ... | @@ -29,7 +29,7 @@ |
29 | 29 | <div> |
30 | 30 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
31 | 31 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
32 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
32 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
33 | 33 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
34 | 34 | </div> |
35 | 35 | |
... | ... |
ant-design-vue-jeecg/src/views/system/UserList.vue
... | ... | @@ -61,7 +61,7 @@ |
61 | 61 | </div> |
62 | 62 | |
63 | 63 | <!-- 操作按钮区域 --> |
64 | - <div class="table-operator" style="border-top: 5px"> | |
64 | + <div class="table-operator"> | |
65 | 65 | <a-button v-has="'user:add'" @click="handleAdd" type="primary" icon="plus">添加用户</a-button> |
66 | 66 | <a-button v-has="'user:export'" type="primary" icon="download" @click="handleExportXls('用户信息')">导出</a-button> |
67 | 67 | <a-upload v-has="'user:import'" name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" |
... | ... | @@ -97,8 +97,8 @@ |
97 | 97 | <!-- table区域-begin --> |
98 | 98 | <div> |
99 | 99 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
100 | - <i class="anticon anticon-info-circle ant-alert-icon"></i>已选择 <a | |
101 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
100 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 | |
101 | + <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
102 | 102 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
103 | 103 | </div> |
104 | 104 | |
... | ... |
ant-design-vue-jeecg/src/views/system/compare/CompareWcsLocationTask.vue
... | ... | @@ -23,6 +23,25 @@ |
23 | 23 | /> |
24 | 24 | </a-form-item> |
25 | 25 | </a-col> |
26 | + <a-col :xl="12" :lg="14" :md="16" :sm="24"> | |
27 | + <a-form-item label="任务创建时间"> | |
28 | + <j-date | |
29 | + :show-time="true" | |
30 | + date-format="YYYY-MM-DD HH:mm:ss" | |
31 | + placeholder="请选择开始时间" | |
32 | + class="query-group-cust" | |
33 | + v-model="queryParam.taskCreateTimeBegin" | |
34 | + ></j-date> | |
35 | + <span class="query-group-split-cust"></span> | |
36 | + <j-date | |
37 | + :show-time="true" | |
38 | + date-format="YYYY-MM-DD HH:mm:ss" | |
39 | + placeholder="请选择结束时间" | |
40 | + class="query-group-cust" | |
41 | + v-model="queryParam.taskCreateTimeEnd" | |
42 | + ></j-date> | |
43 | + </a-form-item> | |
44 | + </a-col> | |
26 | 45 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
27 | 46 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
28 | 47 | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
... | ... | @@ -90,20 +109,40 @@ export default { |
90 | 109 | required: false |
91 | 110 | } |
92 | 111 | }, |
112 | + | |
93 | 113 | watch: { |
94 | 114 | mainId: { |
95 | 115 | immediate: true, |
96 | 116 | handler(val) { |
97 | - if (!this.mainId) { | |
98 | - this.clearList() | |
99 | - } else { | |
100 | - this.queryParam['locationCode'] = val | |
101 | - this.loadData(1) | |
102 | - } | |
117 | + var nowDate = new Date() | |
118 | + this.queryParam['taskCreateTimeBegin'] = new Date(nowDate.getTime() - 90 * 24 * 60 * 60 * 1000).format('yyyy-MM-dd hh:mm:ss') | |
119 | + this.queryParam['taskCreateTimeEnd'] = nowDate.format('yyyy-MM-dd hh:mm:ss') | |
120 | + this.queryParam['locationCode'] = val | |
121 | + this.loadData(1) | |
103 | 122 | } |
104 | 123 | } |
105 | 124 | }, |
106 | 125 | data() { |
126 | + Date.prototype.format = function(fmt) { | |
127 | + var o = { | |
128 | + 'M+': this.getMonth() + 1, //月份 | |
129 | + 'd+': this.getDate(), //日 | |
130 | + 'h+': this.getHours(), //小时 | |
131 | + 'm+': this.getMinutes(), //分 | |
132 | + 's+': this.getSeconds(), //秒 | |
133 | + 'q+': Math.floor((this.getMonth() + 3) / 3), //季度 | |
134 | + S: this.getMilliseconds() //毫秒 | |
135 | + } | |
136 | + if (/(y+)/.test(fmt)) { | |
137 | + fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length)) | |
138 | + } | |
139 | + for (var k in o) { | |
140 | + if (new RegExp('(' + k + ')').test(fmt)) { | |
141 | + fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)) | |
142 | + } | |
143 | + } | |
144 | + return fmt | |
145 | + } | |
107 | 146 | return { |
108 | 147 | description: '库位任务信息比较页面', |
109 | 148 | disableMixinCreated: true, |
... | ... | @@ -227,7 +266,6 @@ export default { |
227 | 266 | } |
228 | 267 | }) |
229 | 268 | } |
230 | - | |
231 | 269 | // 获取 wcs_task_status |
232 | 270 | if (getDictItemsFromCache('wcs_task_status')) { |
233 | 271 | this.wcsTaskStatusList = getDictItemsFromCache('wcs_task_status') |
... | ... |
ant-design-vue-jeecg/src/views/system/config/AddressList.vue
... | ... | @@ -49,7 +49,7 @@ |
49 | 49 | <div> |
50 | 50 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
51 | 51 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
52 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
52 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
53 | 53 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
54 | 54 | </div> |
55 | 55 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/AgvPortList.vue
... | ... | @@ -47,7 +47,7 @@ |
47 | 47 | <!-- table区域-begin --> |
48 | 48 | <div> |
49 | 49 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
50 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
50 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
51 | 51 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
52 | 52 | </div> |
53 | 53 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/BomDetailList.vue
... | ... | @@ -31,7 +31,7 @@ |
31 | 31 | <div> |
32 | 32 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
33 | 33 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
34 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
34 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
35 | 35 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
36 | 36 | </div> |
37 | 37 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/BomHeaderList.vue
... | ... | @@ -43,7 +43,7 @@ |
43 | 43 | <div> |
44 | 44 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
45 | 45 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
46 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
46 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
47 | 47 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
48 | 48 | </div> |
49 | 49 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/CarrierList.vue
... | ... | @@ -34,7 +34,7 @@ |
34 | 34 | <div> |
35 | 35 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
36 | 36 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
37 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
37 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
38 | 38 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
39 | 39 | </div> |
40 | 40 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/CompanyList.vue
... | ... | @@ -20,7 +20,7 @@ |
20 | 20 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
21 | 21 | <a @click="handleToggleSearch" style="margin-left: 8px"> |
22 | 22 | {{ toggleSearchStatus ? '收起' : '展开' }} |
23 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
23 | + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> | |
24 | 24 | </a> |
25 | 25 | </span> |
26 | 26 | </a-col> |
... | ... | @@ -33,19 +33,27 @@ |
33 | 33 | <div class="table-operator"> |
34 | 34 | <a-button @click="handleAdd" v-has="'company:add'" type="primary" icon="plus">新增</a-button> |
35 | 35 | <a-button v-has="'company:export'" type="primary" icon="download" @click="handleExportXls('货主')">导出</a-button> |
36 | - <a-upload v-has="'company:import'" name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" | |
37 | - @change="handleImportExcel"> | |
36 | + <a-upload | |
37 | + v-has="'company:import'" | |
38 | + name="file" | |
39 | + :showUploadList="false" | |
40 | + :multiple="false" | |
41 | + :headers="tokenHeader" | |
42 | + :action="importExcelUrl" | |
43 | + @change="handleImportExcel" | |
44 | + > | |
38 | 45 | <a-button type="primary" icon="import">导入</a-button> |
39 | 46 | </a-upload> |
40 | 47 | <a-dropdown v-if="selectedRowKeys.length > 0"> |
41 | 48 | <a-menu slot="overlay" v-has="'company:deleteBatch'"> |
42 | 49 | <a-menu-item key="1" @click="batchDel"> |
43 | - <a-icon type="deleteBatch"/> | |
50 | + <a-icon type="deleteBatch" /> | |
44 | 51 | 删除 |
45 | 52 | </a-menu-item> |
46 | 53 | </a-menu> |
47 | - <a-button style="margin-left: 8px"> 批量操作 | |
48 | - <a-icon type="down"/> | |
54 | + <a-button style="margin-left: 8px"> | |
55 | + 批量操作 | |
56 | + <a-icon type="down" /> | |
49 | 57 | </a-button> |
50 | 58 | </a-dropdown> |
51 | 59 | </div> |
... | ... | @@ -53,49 +61,47 @@ |
53 | 61 | <!-- table区域-begin --> |
54 | 62 | <div> |
55 | 63 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
56 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a | |
57 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
64 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 | |
65 | + <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
58 | 66 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
59 | 67 | </div> |
60 | 68 | |
61 | 69 | <a-table |
62 | 70 | ref="table" |
63 | 71 | size="middle" |
64 | - :scroll="{x:true}" | |
72 | + :scroll="{ x: true }" | |
65 | 73 | bordered |
66 | 74 | rowKey="id" |
67 | 75 | :columns="columns" |
68 | 76 | :dataSource="dataSource" |
69 | 77 | :pagination="ipagination" |
70 | 78 | :loading="loading" |
71 | - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" | |
79 | + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" | |
72 | 80 | class="j-table-force-nowrap" |
73 | - @change="handleTableChange"> | |
74 | - | |
81 | + @change="handleTableChange" | |
82 | + > | |
75 | 83 | <template slot="htmlSlot" slot-scope="text"> |
76 | 84 | <div v-html="text"></div> |
77 | 85 | </template> |
78 | 86 | <template slot="imgSlot" slot-scope="text"> |
79 | 87 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> |
80 | - <img v-else :src="getImgView(text)" height="25px" alt="" | |
81 | - style="max-width:80px;font-size: 12px;font-style: italic;"/> | |
88 | + <img | |
89 | + v-else | |
90 | + :src="getImgView(text)" | |
91 | + height="25px" | |
92 | + alt="" | |
93 | + style="max-width:80px;font-size: 12px;font-style: italic;" | |
94 | + /> | |
82 | 95 | </template> |
83 | 96 | <template slot="fileSlot" slot-scope="text"> |
84 | 97 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> |
85 | - <a-button | |
86 | - v-else | |
87 | - :ghost="true" | |
88 | - type="primary" | |
89 | - icon="download" | |
90 | - size="small" | |
91 | - @click="downloadFile(text)"> | |
98 | + <a-button v-else :ghost="true" type="primary" icon="download" size="small" @click="downloadFile(text)"> | |
92 | 99 | 下载 |
93 | 100 | </a-button> |
94 | 101 | </template> |
95 | 102 | |
96 | 103 | <span slot="action" slot-scope="text, record"> |
97 | - <a v-has="'company:edit'" @click="handleEdit(record)">编辑</a> | |
98 | - <a-divider type="vertical"/> | |
104 | + <a v-has="'company:edit'" @click="handleEdit(record)">编辑<a-divider type="vertical" /></a> | |
99 | 105 | <a-dropdown> |
100 | 106 | <a class="ant-dropdown-link">更多 <a-icon type="down"/></a> |
101 | 107 | <a-menu slot="overlay"> |
... | ... | @@ -110,7 +116,6 @@ |
110 | 116 | </a-menu> |
111 | 117 | </a-dropdown> |
112 | 118 | </span> |
113 | - | |
114 | 119 | </a-table> |
115 | 120 | </div> |
116 | 121 | |
... | ... | @@ -119,10 +124,9 @@ |
119 | 124 | </template> |
120 | 125 | |
121 | 126 | <script> |
122 | - | |
123 | 127 | import '@/assets/less/TableExpand.less' |
124 | -import {mixinDevice} from '@/utils/mixin' | |
125 | -import {JeecgListMixin} from '@/mixins/JeecgListMixin' | |
128 | +import { mixinDevice } from '@/utils/mixin' | |
129 | +import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
126 | 130 | import CompanyModal from './modules/CompanyModal' |
127 | 131 | |
128 | 132 | export default { |
... | ... | @@ -141,105 +145,103 @@ export default { |
141 | 145 | dataIndex: '', |
142 | 146 | key: 'rowIndex', |
143 | 147 | width: 60, |
144 | - align: "center", | |
145 | - customRender: function (t, r, index) { | |
146 | - return parseInt(index) + 1; | |
148 | + align: 'center', | |
149 | + customRender: function(t, r, index) { | |
150 | + return parseInt(index) + 1 | |
147 | 151 | } |
148 | 152 | }, |
149 | 153 | { |
150 | 154 | title: '货主编码', |
151 | - align: "center", | |
155 | + align: 'center', | |
152 | 156 | dataIndex: 'code' |
153 | 157 | }, |
154 | 158 | { |
155 | 159 | title: '货主名称', |
156 | - align: "center", | |
160 | + align: 'center', | |
157 | 161 | dataIndex: 'name' |
158 | 162 | }, |
159 | 163 | { |
160 | 164 | title: '地址', |
161 | - align: "center", | |
165 | + align: 'center', | |
162 | 166 | dataIndex: 'address' |
163 | 167 | }, |
164 | 168 | { |
165 | 169 | title: '区县', |
166 | - align: "center", | |
170 | + align: 'center', | |
167 | 171 | dataIndex: 'district' |
168 | 172 | }, |
169 | 173 | { |
170 | 174 | title: '城市', |
171 | - align: "center", | |
175 | + align: 'center', | |
172 | 176 | dataIndex: 'city' |
173 | 177 | }, |
174 | 178 | { |
175 | 179 | title: '省份', |
176 | - align: "center", | |
180 | + align: 'center', | |
177 | 181 | dataIndex: 'province' |
178 | 182 | }, |
179 | 183 | { |
180 | 184 | title: '国家', |
181 | - align: "center", | |
185 | + align: 'center', | |
182 | 186 | dataIndex: 'country' |
183 | 187 | }, |
184 | 188 | { |
185 | 189 | title: '邮编', |
186 | - align: "center", | |
190 | + align: 'center', | |
187 | 191 | dataIndex: 'postalcode' |
188 | 192 | }, |
189 | 193 | { |
190 | 194 | title: '联系人', |
191 | - align: "center", | |
195 | + align: 'center', | |
192 | 196 | dataIndex: 'attentionto' |
193 | 197 | }, |
194 | 198 | { |
195 | 199 | title: '联系电话', |
196 | - align: "center", | |
200 | + align: 'center', | |
197 | 201 | dataIndex: 'phonenum' |
198 | 202 | }, |
199 | 203 | { |
200 | 204 | title: '操作', |
201 | 205 | dataIndex: 'action', |
202 | - align: "center", | |
203 | - fixed: "right", | |
206 | + align: 'center', | |
207 | + fixed: 'right', | |
204 | 208 | width: 147, |
205 | - scopedSlots: {customRender: 'action'} | |
209 | + scopedSlots: { customRender: 'action' } | |
206 | 210 | } |
207 | 211 | ], |
208 | 212 | url: { |
209 | - list: "/config/company/list", | |
210 | - delete: "/config/company/delete", | |
211 | - deleteBatch: "/config/company/deleteBatch", | |
212 | - exportXlsUrl: "/config/company/exportXls", | |
213 | - importExcelUrl: "config/company/importExcel", | |
214 | - | |
213 | + list: '/config/company/list', | |
214 | + delete: '/config/company/delete', | |
215 | + deleteBatch: '/config/company/deleteBatch', | |
216 | + exportXlsUrl: '/config/company/exportXls', | |
217 | + importExcelUrl: 'config/company/importExcel' | |
215 | 218 | }, |
216 | 219 | dictOptions: {}, |
217 | - superFieldList: [], | |
220 | + superFieldList: [] | |
218 | 221 | } |
219 | 222 | }, |
220 | 223 | created() { |
221 | - this.getSuperFieldList(); | |
224 | + this.getSuperFieldList() | |
222 | 225 | }, |
223 | 226 | computed: { |
224 | - importExcelUrl: function () { | |
225 | - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; | |
226 | - }, | |
227 | + importExcelUrl: function() { | |
228 | + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` | |
229 | + } | |
227 | 230 | }, |
228 | 231 | methods: { |
229 | - initDictConfig() { | |
230 | - }, | |
232 | + initDictConfig() {}, | |
231 | 233 | getSuperFieldList() { |
232 | - let fieldList = []; | |
233 | - fieldList.push({type: 'string', value: 'code', text: '货主编码', dictCode: ''}) | |
234 | - fieldList.push({type: 'string', value: 'name', text: '货主名称', dictCode: ''}) | |
235 | - fieldList.push({type: 'string', value: 'address', text: '地址', dictCode: ''}) | |
236 | - fieldList.push({type: 'string', value: 'district', text: '区县', dictCode: ''}) | |
237 | - fieldList.push({type: 'string', value: 'city', text: '城市', dictCode: ''}) | |
238 | - fieldList.push({type: 'string', value: 'province', text: '省份', dictCode: ''}) | |
239 | - fieldList.push({type: 'string', value: 'country', text: '国家', dictCode: ''}) | |
240 | - fieldList.push({type: 'string', value: 'postalcode', text: '邮编', dictCode: ''}) | |
241 | - fieldList.push({type: 'string', value: 'attentionto', text: '联系人', dictCode: ''}) | |
242 | - fieldList.push({type: 'string', value: 'phonenum', text: '联系电话', dictCode: ''}) | |
234 | + let fieldList = [] | |
235 | + fieldList.push({ type: 'string', value: 'code', text: '货主编码', dictCode: '' }) | |
236 | + fieldList.push({ type: 'string', value: 'name', text: '货主名称', dictCode: '' }) | |
237 | + fieldList.push({ type: 'string', value: 'address', text: '地址', dictCode: '' }) | |
238 | + fieldList.push({ type: 'string', value: 'district', text: '区县', dictCode: '' }) | |
239 | + fieldList.push({ type: 'string', value: 'city', text: '城市', dictCode: '' }) | |
240 | + fieldList.push({ type: 'string', value: 'province', text: '省份', dictCode: '' }) | |
241 | + fieldList.push({ type: 'string', value: 'country', text: '国家', dictCode: '' }) | |
242 | + fieldList.push({ type: 'string', value: 'postalcode', text: '邮编', dictCode: '' }) | |
243 | + fieldList.push({ type: 'string', value: 'attentionto', text: '联系人', dictCode: '' }) | |
244 | + fieldList.push({ type: 'string', value: 'phonenum', text: '联系电话', dictCode: '' }) | |
243 | 245 | this.superFieldList = fieldList |
244 | 246 | } |
245 | 247 | } |
... | ... |
ant-design-vue-jeecg/src/views/system/config/ContainerCapacityList.vue
... | ... | @@ -6,7 +6,16 @@ |
6 | 6 | <a-row :gutter="24"> |
7 | 7 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
8 | 8 | <a-form-item label="容器类型"> |
9 | - <a-input placeholder="请输入容器类型" v-model="queryParam.containerTypeCode"></a-input> | |
9 | + <a-select | |
10 | + show-search | |
11 | + placeholder="请选择容器类型" | |
12 | + option-filter-prop="children" | |
13 | + v-model="queryParam.containerTypeCode" | |
14 | + > | |
15 | + <a-select-option v-for="item in containerTypeList" :key="item.name" :value="item.code"> | |
16 | + {{ item.name }} | |
17 | + </a-select-option> | |
18 | + </a-select> | |
10 | 19 | </a-form-item> |
11 | 20 | </a-col> |
12 | 21 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
... | ... | @@ -14,21 +23,15 @@ |
14 | 23 | <a-input placeholder="请输入物料编码" v-model="queryParam.materialCode"></a-input> |
15 | 24 | </a-form-item> |
16 | 25 | </a-col> |
17 | - <template v-if="toggleSearchStatus"> | |
18 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
19 | - <a-form-item label="是否可用"> | |
20 | - <j-dict-select-tag placeholder="请选择是否可用" v-model="queryParam.enable" dictCode="enable_status"/> | |
21 | - </a-form-item> | |
22 | - </a-col> | |
23 | - </template> | |
26 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
27 | + <a-form-item label="是否可用"> | |
28 | + <j-dict-select-tag placeholder="请选择是否可用" v-model="queryParam.enable" dictCode="enable_status" /> | |
29 | + </a-form-item> | |
30 | + </a-col> | |
24 | 31 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
25 | 32 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
26 | 33 | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
27 | 34 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
28 | - <a @click="handleToggleSearch" style="margin-left: 8px"> | |
29 | - {{ toggleSearchStatus ? '收起' : '展开' }} | |
30 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
31 | - </a> | |
32 | 35 | </span> |
33 | 36 | </a-col> |
34 | 37 | </a-row> |
... | ... | @@ -39,20 +42,35 @@ |
39 | 42 | <!-- 操作按钮区域 --> |
40 | 43 | <div class="table-operator"> |
41 | 44 | <a-button @click="handleAdd" v-has="'containerCapacity:add'" type="primary" icon="plus">新增</a-button> |
42 | - <a-button v-has="'containerCapacity:export'" type="primary" icon="download" @click="handleExportXls('容器容量管理')">导出</a-button> | |
43 | - <a-upload v-has="'containerCapacity:import'" name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" | |
44 | - @change="handleImportExcel"> | |
45 | + <a-button | |
46 | + v-has="'containerCapacity:export'" | |
47 | + type="primary" | |
48 | + icon="download" | |
49 | + @click="handleExportXls('容器容量管理')" | |
50 | + > | |
51 | + 导出 | |
52 | + </a-button> | |
53 | + <a-upload | |
54 | + v-has="'containerCapacity:import'" | |
55 | + name="file" | |
56 | + :showUploadList="false" | |
57 | + :multiple="false" | |
58 | + :headers="tokenHeader" | |
59 | + :action="importExcelUrl" | |
60 | + @change="handleImportExcel" | |
61 | + > | |
45 | 62 | <a-button type="primary" icon="import">导入</a-button> |
46 | 63 | </a-upload> |
47 | 64 | <a-dropdown v-if="selectedRowKeys.length > 0"> |
48 | 65 | <a-menu slot="overlay" v-has="'containerCapacity:deleteBatch'"> |
49 | 66 | <a-menu-item key="1" @click="batchDel"> |
50 | - <a-icon type="delete"/> | |
67 | + <a-icon type="delete" /> | |
51 | 68 | 删除 |
52 | 69 | </a-menu-item> |
53 | 70 | </a-menu> |
54 | - <a-button style="margin-left: 8px"> 批量操作 | |
55 | - <a-icon type="down"/> | |
71 | + <a-button style="margin-left: 8px"> | |
72 | + 批量操作 | |
73 | + <a-icon type="down" /> | |
56 | 74 | </a-button> |
57 | 75 | </a-dropdown> |
58 | 76 | </div> |
... | ... | @@ -60,50 +78,52 @@ |
60 | 78 | <!-- table区域-begin --> |
61 | 79 | <div> |
62 | 80 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
63 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a | |
64 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
81 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 | |
82 | + <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
65 | 83 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
66 | 84 | </div> |
67 | 85 | |
68 | 86 | <a-table |
69 | 87 | ref="table" |
70 | 88 | size="middle" |
71 | - :scroll="{x:true}" | |
89 | + :scroll="{ x: true }" | |
72 | 90 | bordered |
73 | 91 | rowKey="id" |
74 | 92 | :columns="columns" |
75 | 93 | :dataSource="dataSource" |
76 | 94 | :pagination="ipagination" |
77 | 95 | :loading="loading" |
78 | - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" | |
96 | + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" | |
79 | 97 | class="j-table-force-nowrap" |
80 | - @change="handleTableChange"> | |
98 | + @change="handleTableChange" | |
99 | + > | |
100 | + <span slot="containerTypeCode" slot-scope="containerTypeCode"> | |
101 | + <a-tag :key="containerTypeCode" color="pink"> | |
102 | + {{ solutionContainerType(containerTypeCode) }} | |
103 | + </a-tag> | |
104 | + </span> | |
81 | 105 | |
82 | 106 | <template slot="htmlSlot" slot-scope="text"> |
83 | 107 | <div v-html="text"></div> |
84 | 108 | </template> |
85 | 109 | <template slot="imgSlot" slot-scope="text"> |
86 | 110 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> |
87 | - <img v-else :src="getImgView(text)" height="25px" alt="" | |
88 | - style="max-width:80px;font-size: 12px;font-style: italic;"/> | |
111 | + <img | |
112 | + v-else | |
113 | + :src="getImgView(text)" | |
114 | + height="25px" | |
115 | + alt="" | |
116 | + style="max-width:80px;font-size: 12px;font-style: italic;" | |
117 | + /> | |
89 | 118 | </template> |
90 | 119 | <template slot="fileSlot" slot-scope="text"> |
91 | 120 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> |
92 | - <a-button | |
93 | - v-else | |
94 | - :ghost="true" | |
95 | - type="primary" | |
96 | - icon="download" | |
97 | - size="small" | |
98 | - @click="downloadFile(text)"> | |
121 | + <a-button v-else :ghost="true" type="primary" icon="download" size="small" @click="downloadFile(text)"> | |
99 | 122 | 下载 |
100 | 123 | </a-button> |
101 | 124 | </template> |
102 | - | |
103 | 125 | <span slot="action" slot-scope="text, record"> |
104 | - <a v-has="'containerCapacity:edit'" @click="handleEdit(record)">编辑</a> | |
105 | - | |
106 | - <a-divider type="vertical"/> | |
126 | + <a v-has="'containerCapacity:edit'" @click="handleEdit(record)">编辑<a-divider type="vertical"/></a> | |
107 | 127 | <a-dropdown> |
108 | 128 | <a class="ant-dropdown-link">更多 <a-icon type="down"/></a> |
109 | 129 | <a-menu slot="overlay"> |
... | ... | @@ -118,7 +138,6 @@ |
118 | 138 | </a-menu> |
119 | 139 | </a-dropdown> |
120 | 140 | </span> |
121 | - | |
122 | 141 | </a-table> |
123 | 142 | </div> |
124 | 143 | |
... | ... | @@ -127,13 +146,12 @@ |
127 | 146 | </template> |
128 | 147 | |
129 | 148 | <script> |
130 | - | |
131 | 149 | import '@/assets/less/TableExpand.less' |
132 | -import {mixinDevice} from '@/utils/mixin' | |
133 | -import {JeecgListMixin} from '@/mixins/JeecgListMixin' | |
150 | +import { mixinDevice } from '@/utils/mixin' | |
151 | +import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
134 | 152 | import ContainerCapacityModal from './modules/ContainerCapacityModal' |
135 | -import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' | |
136 | -import {getZoneList} from '@/api/api' | |
153 | +import { filterMultiDictText } from '@/components/dict/JDictSelectUtil' | |
154 | +import { getZoneList, getContainerTypeList } from '@/api/api' | |
137 | 155 | |
138 | 156 | export default { |
139 | 157 | name: 'ContainerCapacityList', |
... | ... | @@ -144,6 +162,7 @@ export default { |
144 | 162 | data() { |
145 | 163 | return { |
146 | 164 | description: '容器容量管理管理页面', |
165 | + containerTypeList: [], | |
147 | 166 | // 表头 |
148 | 167 | columns: [ |
149 | 168 | { |
... | ... | @@ -151,112 +170,125 @@ export default { |
151 | 170 | dataIndex: '', |
152 | 171 | key: 'rowIndex', |
153 | 172 | width: 60, |
154 | - align: "center", | |
155 | - customRender: function (t, r, index) { | |
156 | - return parseInt(index) + 1; | |
173 | + align: 'center', | |
174 | + customRender: function(t, r, index) { | |
175 | + return parseInt(index) + 1 | |
157 | 176 | } |
158 | 177 | }, |
159 | 178 | { |
160 | 179 | title: '容器类型', |
161 | - align: "center", | |
162 | - dataIndex: 'containerTypeCode' | |
163 | - }, | |
164 | - { | |
165 | - title: '货主', | |
166 | - align: "center", | |
167 | - dataIndex: 'companyCode' | |
180 | + align: 'center', | |
181 | + dataIndex: 'containerTypeCode', | |
182 | + key: 'containerTypeCode', | |
183 | + scopedSlots: { customRender: 'containerTypeCode' } | |
168 | 184 | }, |
169 | 185 | { |
170 | 186 | title: '物料编码', |
171 | - align: "center", | |
187 | + align: 'center', | |
172 | 188 | dataIndex: 'materialCode' |
173 | 189 | }, |
174 | 190 | { |
175 | 191 | title: '物料名称', |
176 | - align: "center", | |
192 | + align: 'center', | |
177 | 193 | dataIndex: 'materialName' |
178 | 194 | }, |
179 | 195 | { |
180 | 196 | title: '物料单位', |
181 | - align: "center", | |
197 | + align: 'center', | |
182 | 198 | dataIndex: 'materialUnit' |
183 | 199 | }, |
184 | 200 | { |
185 | 201 | title: '存放数量', |
186 | - align: "center", | |
202 | + align: 'center', | |
187 | 203 | dataIndex: 'qty' |
188 | 204 | }, |
189 | 205 | { |
190 | 206 | title: '是否可用', |
191 | - align: "center", | |
207 | + align: 'center', | |
192 | 208 | dataIndex: 'enable_dictText' |
193 | 209 | }, |
194 | 210 | { |
195 | 211 | title: '创建人', |
196 | - align: "center", | |
212 | + align: 'center', | |
197 | 213 | dataIndex: 'createBy' |
198 | 214 | }, |
199 | 215 | { |
200 | 216 | title: '创建日期', |
201 | - align: "center", | |
217 | + align: 'center', | |
202 | 218 | dataIndex: 'createTime' |
203 | 219 | }, |
204 | 220 | { |
205 | 221 | title: '更新人', |
206 | - align: "center", | |
222 | + align: 'center', | |
207 | 223 | dataIndex: 'updateBy' |
208 | 224 | }, |
209 | 225 | { |
210 | 226 | title: '更新日期', |
211 | - align: "center", | |
227 | + align: 'center', | |
212 | 228 | dataIndex: 'updateTime' |
213 | 229 | }, |
214 | 230 | { |
215 | 231 | title: '操作', |
216 | 232 | dataIndex: 'action', |
217 | - align: "center", | |
218 | - fixed: "right", | |
233 | + align: 'center', | |
234 | + fixed: 'right', | |
219 | 235 | width: 147, |
220 | - scopedSlots: {customRender: 'action'} | |
236 | + scopedSlots: { customRender: 'action' } | |
221 | 237 | } |
222 | 238 | ], |
223 | 239 | url: { |
224 | - list: "/config/containerCapacity/list", | |
225 | - delete: "/config/containerCapacity/delete", | |
226 | - deleteBatch: "/config/containerCapacity/deleteBatch", | |
227 | - exportXlsUrl: "/config/containerCapacity/exportXls", | |
228 | - importExcelUrl: "config/containerCapacity/importExcel", | |
229 | - | |
240 | + list: '/config/containerCapacity/list', | |
241 | + delete: '/config/containerCapacity/delete', | |
242 | + deleteBatch: '/config/containerCapacity/deleteBatch', | |
243 | + exportXlsUrl: '/config/containerCapacity/exportXls', | |
244 | + importExcelUrl: 'config/containerCapacity/importExcel' | |
230 | 245 | }, |
231 | 246 | dictOptions: {}, |
232 | - superFieldList: [], | |
247 | + superFieldList: [] | |
233 | 248 | } |
234 | 249 | }, |
235 | 250 | created() { |
236 | - this.getSuperFieldList(); | |
251 | + this.getSuperFieldList() | |
252 | + this.loadFrom() | |
237 | 253 | }, |
238 | 254 | computed: { |
239 | - importExcelUrl: function () { | |
240 | - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; | |
241 | - }, | |
255 | + importExcelUrl: function() { | |
256 | + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` | |
257 | + } | |
242 | 258 | }, |
243 | 259 | methods: { |
244 | - initDictConfig() { | |
260 | + initDictConfig() {}, | |
261 | + solutionContainerType(value) { | |
262 | + var actions = [] | |
263 | + Object.keys(this.containerTypeList).some(key => { | |
264 | + if (this.containerTypeList[key].code == '' + value) { | |
265 | + actions.push(this.containerTypeList[key].name) | |
266 | + return true | |
267 | + } | |
268 | + }) | |
269 | + return actions.join('') | |
270 | + }, | |
271 | + loadFrom() { | |
272 | + getContainerTypeList().then(res => { | |
273 | + if (res.success) { | |
274 | + this.containerTypeList = res.result | |
275 | + } | |
276 | + }) | |
245 | 277 | }, |
246 | 278 | getSuperFieldList() { |
247 | - let fieldList = []; | |
248 | - fieldList.push({type: 'string', value: 'containerTypeCode', text: '容器类型', dictCode: ''}) | |
249 | - fieldList.push({type: 'string', value: 'warehouseCode', text: '仓库编码', dictCode: ''}) | |
250 | - fieldList.push({type: 'string', value: 'companyCode', text: '货主', dictCode: ''}) | |
251 | - fieldList.push({type: 'string', value: 'materialCode', text: '物料编码', dictCode: ''}) | |
252 | - fieldList.push({type: 'string', value: 'materialName', text: '物料名称', dictCode: ''}) | |
253 | - fieldList.push({type: 'string', value: 'materialUnit', text: '物料单位', dictCode: ''}) | |
254 | - fieldList.push({type: 'BigDecimal', value: 'qty', text: '存放数量', dictCode: ''}) | |
255 | - fieldList.push({type: 'int', value: 'enable', text: '是否可用', dictCode: 'enable_status'}) | |
256 | - fieldList.push({type: 'string', value: 'createBy', text: '创建人', dictCode: ''}) | |
257 | - fieldList.push({type: 'datetime', value: 'createTime', text: '创建日期'}) | |
258 | - fieldList.push({type: 'string', value: 'updateBy', text: '更新人', dictCode: ''}) | |
259 | - fieldList.push({type: 'datetime', value: 'updateTime', text: '更新日期'}) | |
279 | + let fieldList = [] | |
280 | + fieldList.push({ type: 'string', value: 'containerTypeCode', text: '容器类型', dictCode: '' }) | |
281 | + fieldList.push({ type: 'string', value: 'warehouseCode', text: '仓库编码', dictCode: '' }) | |
282 | + fieldList.push({ type: 'string', value: 'companyCode', text: '货主', dictCode: '' }) | |
283 | + fieldList.push({ type: 'string', value: 'materialCode', text: '物料编码', dictCode: '' }) | |
284 | + fieldList.push({ type: 'string', value: 'materialName', text: '物料名称', dictCode: '' }) | |
285 | + fieldList.push({ type: 'string', value: 'materialUnit', text: '物料单位', dictCode: '' }) | |
286 | + fieldList.push({ type: 'BigDecimal', value: 'qty', text: '存放数量', dictCode: '' }) | |
287 | + fieldList.push({ type: 'int', value: 'enable', text: '是否可用', dictCode: 'enable_status' }) | |
288 | + fieldList.push({ type: 'string', value: 'createBy', text: '创建人', dictCode: '' }) | |
289 | + fieldList.push({ type: 'datetime', value: 'createTime', text: '创建日期' }) | |
290 | + fieldList.push({ type: 'string', value: 'updateBy', text: '更新人', dictCode: '' }) | |
291 | + fieldList.push({ type: 'datetime', value: 'updateTime', text: '更新日期' }) | |
260 | 292 | this.superFieldList = fieldList |
261 | 293 | } |
262 | 294 | } |
... | ... |
ant-design-vue-jeecg/src/views/system/config/ContainerList.vue
... | ... | @@ -21,18 +21,30 @@ |
21 | 21 | show-search |
22 | 22 | placeholder="请选择容器类型" |
23 | 23 | option-filter-prop="children" |
24 | - | |
25 | - v-model="queryParam.containerTypeCode"> | |
26 | - <a-select-option v-for="item in containerTypeList" :key="item.name" :value="item.code">{{ | |
27 | - item.name | |
28 | - }} | |
24 | + v-model="queryParam.containerTypeCode" | |
25 | + > | |
26 | + <a-select-option v-for="item in containerTypeList" :key="item.name" :value="item.code" | |
27 | + >{{ item.name }} | |
29 | 28 | </a-select-option> |
30 | 29 | </a-select> |
31 | 30 | </a-form-item> |
32 | 31 | </a-col> |
33 | 32 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
34 | 33 | <a-form-item label="容器状态"> |
35 | - <j-dict-select-tag placeholder="请选择容器状态" v-model="queryParam.status" dictCode="container_status"/> | |
34 | + <j-dict-select-tag | |
35 | + placeholder="请选择容器状态" | |
36 | + v-model="queryParam.status" | |
37 | + dictCode="container_status" | |
38 | + /> | |
39 | + </a-form-item> | |
40 | + </a-col> | |
41 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
42 | + <a-form-item label="容器填充状态"> | |
43 | + <j-dict-select-tag | |
44 | + placeholder="请选择容器填充状态" | |
45 | + v-model="queryParam.fillStatus" | |
46 | + dictCode="fill_status" | |
47 | + /> | |
36 | 48 | </a-form-item> |
37 | 49 | </a-col> |
38 | 50 | </template> |
... | ... | @@ -42,7 +54,7 @@ |
42 | 54 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
43 | 55 | <a @click="handleToggleSearch" style="margin-left: 8px"> |
44 | 56 | {{ toggleSearchStatus ? '收起' : '展开' }} |
45 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
57 | + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> | |
46 | 58 | </a> |
47 | 59 | </span> |
48 | 60 | </a-col> |
... | ... | @@ -54,21 +66,30 @@ |
54 | 66 | <!-- 操作按钮区域 --> |
55 | 67 | <div class="table-operator"> |
56 | 68 | <a-button @click="handleAdd" v-has="'container:add'" type="primary" icon="plus">新增</a-button> |
57 | - <a-button v-has="'container:export'" type="primary" icon="download" @click="handleExportXls('容器管理')">导出</a-button> | |
58 | - <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" | |
59 | - @change="handleImportExcel"> | |
69 | + <a-button v-has="'container:export'" type="primary" icon="download" @click="handleExportXls('容器管理')"> | |
70 | + 导出 | |
71 | + </a-button> | |
72 | + <a-upload | |
73 | + name="file" | |
74 | + :showUploadList="false" | |
75 | + :multiple="false" | |
76 | + :headers="tokenHeader" | |
77 | + :action="importExcelUrl" | |
78 | + @change="handleImportExcel" | |
79 | + > | |
60 | 80 | <a-button v-has="'container:import'" type="primary" icon="import">导入</a-button> |
61 | 81 | </a-upload> |
62 | 82 | <a-button v-has="'container:print'" @click="batchPrint()" type="primary">打印</a-button> |
63 | 83 | <a-dropdown v-if="selectedRowKeys.length > 0"> |
64 | 84 | <a-menu slot="overlay" v-has="'container:deleteBatch'"> |
65 | 85 | <a-menu-item key="1" @click="batchDel"> |
66 | - <a-icon type="delete"/> | |
86 | + <a-icon type="delete" /> | |
67 | 87 | 删除 |
68 | 88 | </a-menu-item> |
69 | 89 | </a-menu> |
70 | - <a-button style="margin-left: 8px"> 批量操作 | |
71 | - <a-icon type="down"/> | |
90 | + <a-button style="margin-left: 8px"> | |
91 | + 批量操作 | |
92 | + <a-icon type="down" /> | |
72 | 93 | </a-button> |
73 | 94 | </a-dropdown> |
74 | 95 | </div> |
... | ... | @@ -76,33 +97,33 @@ |
76 | 97 | <!-- table区域-begin --> |
77 | 98 | <div> |
78 | 99 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
79 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a | |
80 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
100 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 | |
101 | + <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
81 | 102 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
82 | 103 | </div> |
83 | 104 | |
84 | 105 | <a-table |
85 | 106 | ref="table" |
86 | 107 | size="middle" |
87 | - :scroll="{x:true}" | |
108 | + :scroll="{ x: true }" | |
88 | 109 | bordered |
89 | 110 | rowKey="id" |
90 | 111 | :columns="columns" |
91 | 112 | :dataSource="dataSource" |
92 | 113 | :pagination="ipagination" |
93 | 114 | :loading="loading" |
94 | - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" | |
115 | + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" | |
95 | 116 | class="j-table-force-nowrap" |
96 | - @change="handleTableChange"> | |
97 | - | |
117 | + @change="handleTableChange" | |
118 | + > | |
98 | 119 | <span slot="zoneCode" slot-scope="zoneCode"> |
99 | - <a-tag :key="zoneCode" color=blue> | |
120 | + <a-tag :key="zoneCode" color="blue"> | |
100 | 121 | {{ solutionZoneCode(zoneCode) }} |
101 | 122 | </a-tag> |
102 | 123 | </span> |
103 | 124 | |
104 | 125 | <span slot="containerTypeCode" slot-scope="containerTypeCode"> |
105 | - <a-tag :key="containerTypeCode" color=pink> | |
126 | + <a-tag :key="containerTypeCode" color="pink"> | |
106 | 127 | {{ solutionContainerType(containerTypeCode) }} |
107 | 128 | </a-tag> |
108 | 129 | </span> |
... | ... | @@ -112,26 +133,23 @@ |
112 | 133 | </template> |
113 | 134 | <template slot="imgSlot" slot-scope="text"> |
114 | 135 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> |
115 | - <img v-else :src="getImgView(text)" height="25px" alt="" | |
116 | - style="max-width:80px;font-size: 12px;font-style: italic;"/> | |
136 | + <img | |
137 | + v-else | |
138 | + :src="getImgView(text)" | |
139 | + height="25px" | |
140 | + alt="" | |
141 | + style="max-width:80px;font-size: 12px;font-style: italic;" | |
142 | + /> | |
117 | 143 | </template> |
118 | 144 | <template slot="fileSlot" slot-scope="text"> |
119 | 145 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> |
120 | - <a-button | |
121 | - v-else | |
122 | - :ghost="true" | |
123 | - type="primary" | |
124 | - icon="download" | |
125 | - size="small" | |
126 | - @click="downloadFile(text)"> | |
146 | + <a-button v-else :ghost="true" type="primary" icon="download" size="small" @click="downloadFile(text)"> | |
127 | 147 | 下载 |
128 | 148 | </a-button> |
129 | 149 | </template> |
130 | 150 | |
131 | 151 | <span slot="action" slot-scope="text, record"> |
132 | - <a v-has="'container:add'" @click="editForm(record)">编辑</a> | |
133 | - | |
134 | - <a-divider type="vertical"/> | |
152 | + <a v-has="'container:add'" @click="editForm(record)">编辑<a-divider type="vertical"/></a> | |
135 | 153 | <a-dropdown> |
136 | 154 | <a class="ant-dropdown-link">更多 <a-icon type="down"/></a> |
137 | 155 | <a-menu slot="overlay"> |
... | ... | @@ -146,7 +164,6 @@ |
146 | 164 | </a-menu> |
147 | 165 | </a-dropdown> |
148 | 166 | </span> |
149 | - | |
150 | 167 | </a-table> |
151 | 168 | </div> |
152 | 169 | |
... | ... | @@ -157,16 +174,15 @@ |
157 | 174 | </template> |
158 | 175 | |
159 | 176 | <script> |
160 | - | |
161 | 177 | import '@/assets/less/TableExpand.less' |
162 | -import {mixinDevice} from '@/utils/mixin' | |
163 | -import {JeecgListMixin} from '@/mixins/JeecgListMixin' | |
178 | +import { mixinDevice } from '@/utils/mixin' | |
179 | +import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
164 | 180 | import ContainerModal from './modules/ContainerModal' |
165 | -import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' | |
166 | -import {getZoneList} from '@/api/api' | |
167 | -import {getContainerTypeList} from '@/api/api' | |
168 | -import ContainerEditModal from "./modules/ContainerEditModal"; | |
169 | -import ContainerPrintModal from "./modules/ContainerPrintModal"; | |
181 | +import { filterMultiDictText } from '@/components/dict/JDictSelectUtil' | |
182 | +import { getZoneList } from '@/api/api' | |
183 | +import { getContainerTypeList } from '@/api/api' | |
184 | +import ContainerEditModal from './modules/ContainerEditModal' | |
185 | +import ContainerPrintModal from './modules/ContainerPrintModal' | |
170 | 186 | |
171 | 187 | export default { |
172 | 188 | name: 'ContainerList', |
... | ... | @@ -188,125 +204,132 @@ export default { |
188 | 204 | dataIndex: '', |
189 | 205 | key: 'rowIndex', |
190 | 206 | width: 60, |
191 | - align: "center", | |
192 | - customRender: function (t, r, index) { | |
193 | - return parseInt(index) + 1; | |
207 | + align: 'center', | |
208 | + customRender: function(t, r, index) { | |
209 | + return parseInt(index) + 1 | |
194 | 210 | } |
195 | 211 | }, |
196 | 212 | { |
197 | 213 | title: '容器编码', |
198 | - align: "center", | |
214 | + align: 'center', | |
199 | 215 | dataIndex: 'code' |
200 | 216 | }, |
201 | 217 | { |
202 | 218 | title: '库位编码', |
203 | - align: "center", | |
219 | + align: 'center', | |
204 | 220 | dataIndex: 'locationCode' |
205 | 221 | }, |
206 | 222 | { |
207 | 223 | title: '容器类型', |
208 | - align: "center", | |
224 | + align: 'center', | |
209 | 225 | dataIndex: 'containerTypeCode', |
210 | 226 | key: 'containerTypeCode', |
211 | - scopedSlots: {customRender: 'containerTypeCode'} | |
227 | + scopedSlots: { customRender: 'containerTypeCode' } | |
212 | 228 | }, |
213 | 229 | { |
214 | 230 | title: '容器状态', |
215 | - align: "center", | |
231 | + align: 'center', | |
216 | 232 | dataIndex: 'status_dictText' |
217 | 233 | }, |
218 | 234 | { |
235 | + title: '容器填充状态', | |
236 | + align: 'center', | |
237 | + dataIndex: 'fillStatus_dictText' | |
238 | + }, | |
239 | + { | |
219 | 240 | title: '创建人', |
220 | - align: "center", | |
241 | + align: 'center', | |
221 | 242 | dataIndex: 'createBy' |
222 | 243 | }, |
223 | 244 | { |
224 | 245 | title: '创建日期', |
225 | - align: "center", | |
246 | + align: 'center', | |
226 | 247 | dataIndex: 'createTime' |
227 | 248 | }, |
228 | 249 | { |
229 | 250 | title: '更新人', |
230 | - align: "center", | |
251 | + align: 'center', | |
231 | 252 | dataIndex: 'updateBy' |
232 | 253 | }, |
233 | 254 | { |
234 | 255 | title: '更新日期', |
235 | - align: "center", | |
256 | + align: 'center', | |
236 | 257 | dataIndex: 'updateTime' |
237 | 258 | }, |
238 | 259 | { |
239 | 260 | title: '操作', |
240 | 261 | dataIndex: 'action', |
241 | - align: "center", | |
242 | - fixed: "right", | |
262 | + align: 'center', | |
263 | + fixed: 'right', | |
243 | 264 | width: 147, |
244 | - scopedSlots: {customRender: 'action'} | |
265 | + scopedSlots: { customRender: 'action' } | |
245 | 266 | } |
246 | 267 | ], |
247 | 268 | url: { |
248 | - list: "/config/container/list", | |
249 | - delete: "/config/container/delete", | |
250 | - deleteBatch: "/config/container/deleteBatch", | |
251 | - exportXlsUrl: "/config/container/exportXls", | |
252 | - importExcelUrl: "config/container/importExcel", | |
253 | - | |
269 | + list: '/config/container/list', | |
270 | + delete: '/config/container/delete', | |
271 | + deleteBatch: '/config/container/deleteBatch', | |
272 | + exportXlsUrl: '/config/container/exportXls', | |
273 | + importExcelUrl: 'config/container/importExcel' | |
254 | 274 | }, |
255 | 275 | dictOptions: {}, |
256 | - superFieldList: [], | |
276 | + superFieldList: [] | |
257 | 277 | } |
258 | 278 | }, |
259 | 279 | created() { |
260 | - this.getSuperFieldList(); | |
261 | - this.loadFrom(); | |
280 | + this.getSuperFieldList() | |
281 | + this.loadFrom() | |
262 | 282 | }, |
263 | 283 | computed: { |
264 | - importExcelUrl: function () { | |
265 | - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; | |
266 | - }, | |
284 | + importExcelUrl: function() { | |
285 | + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` | |
286 | + } | |
267 | 287 | }, |
268 | 288 | methods: { |
269 | - initDictConfig() { | |
270 | - }, | |
289 | + initDictConfig() {}, | |
271 | 290 | getSuperFieldList() { |
272 | - let fieldList = []; | |
273 | - fieldList.push({type: 'string', value: 'code', text: '容器编码', dictCode: ''}) | |
274 | - fieldList.push({type: 'string', value: 'companyCode', text: '货主', dictCode: ''}) | |
275 | - fieldList.push({type: 'string', value: 'locationCode', text: '库位编码', dictCode: ''}) | |
291 | + let fieldList = [] | |
292 | + fieldList.push({ type: 'string', value: 'code', text: '容器编码', dictCode: '' }) | |
293 | + fieldList.push({ type: 'string', value: 'companyCode', text: '货主', dictCode: '' }) | |
294 | + fieldList.push({ type: 'string', value: 'locationCode', text: '库位编码', dictCode: '' }) | |
276 | 295 | // fieldList.push({type:'string',value:'zoneCode',text:'库区编码',dictCode:''}) |
277 | - fieldList.push({type: 'string', value: 'containerTypeCode', text: '容器类型', dictCode: ''}) | |
278 | - fieldList.push({type: 'string', value: 'status', text: '容器状态', dictCode: 'container_status'}) | |
279 | - fieldList.push({type: 'string', value: 'createBy', text: '创建人', dictCode: ''}) | |
280 | - fieldList.push({type: 'datetime', value: 'createTime', text: '创建日期'}) | |
281 | - fieldList.push({type: 'string', value: 'updateBy', text: '更新人', dictCode: ''}) | |
282 | - fieldList.push({type: 'datetime', value: 'updateTime', text: '更新日期'}) | |
296 | + fieldList.push({ type: 'string', value: 'containerTypeCode', text: '容器类型', dictCode: '' }) | |
297 | + fieldList.push({ type: 'string', value: 'status', text: '容器状态', dictCode: 'container_status' }) | |
298 | + fieldList.push({ type: 'string', value: 'fillStatus', text: '容器填充状态', dictCode: 'fill_status' }) | |
299 | + fieldList.push({ type: 'string', value: 'createBy', text: '创建人', dictCode: '' }) | |
300 | + fieldList.push({ type: 'datetime', value: 'createTime', text: '创建日期' }) | |
301 | + fieldList.push({ type: 'string', value: 'updateBy', text: '更新人', dictCode: '' }) | |
302 | + fieldList.push({ type: 'datetime', value: 'updateTime', text: '更新日期' }) | |
283 | 303 | this.superFieldList = fieldList |
284 | 304 | }, |
285 | 305 | editForm(record) { |
286 | - this.$refs.modalEditForm.edit(record); | |
287 | - this.$refs.modalEditForm.title = "编辑容器"; | |
288 | - this.$refs.modalEditForm.disableSubmit = false; | |
306 | + this.$refs.modalEditForm.edit(record) | |
307 | + this.$refs.modalEditForm.title = '编辑容器' | |
308 | + this.$refs.modalEditForm.disableSubmit = false | |
289 | 309 | }, |
290 | 310 | batchPrint() { |
291 | 311 | if (this.selectedRowKeys.length <= 0) { |
292 | - this.$message.warning('请选择一条记录!'); | |
293 | - return; | |
312 | + this.$message.warning('请选择一条记录!') | |
313 | + return | |
294 | 314 | } else { |
295 | - var ids = ""; | |
315 | + var ids = '' | |
296 | 316 | for (var a = 0; a < this.selectedRowKeys.length; a++) { |
297 | - ids += this.selectedRowKeys[a] + ","; | |
317 | + ids += this.selectedRowKeys[a] + ',' | |
298 | 318 | } |
299 | - window.open(window._CONFIG['domianURL'] + "/jmreport/view/768644669245833216/?id=" + ids, "newWindow", "toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100"); | |
300 | - | |
319 | + window.open( | |
320 | + window._CONFIG['domianURL'] + '/jmreport/view/768644669245833216/?id=' + ids, | |
321 | + 'newWindow', | |
322 | + 'toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100' | |
323 | + ) | |
301 | 324 | } |
302 | 325 | }, |
303 | 326 | loadFrom() { |
304 | - getZoneList().then((res) => { | |
327 | + getZoneList().then(res => { | |
305 | 328 | if (res.success) { |
306 | 329 | this.zoneList = res.result |
307 | 330 | } |
308 | 331 | }) |
309 | - getContainerTypeList().then((res) => { | |
332 | + getContainerTypeList().then(res => { | |
310 | 333 | if (res.success) { |
311 | 334 | this.containerTypeList = res.result |
312 | 335 | } |
... | ... | @@ -314,8 +337,8 @@ export default { |
314 | 337 | }, |
315 | 338 | solutionZoneCode(value) { |
316 | 339 | var actions = [] |
317 | - Object.keys(this.zoneList).some((key) => { | |
318 | - if (this.zoneList[key].code == ('' + value)) { | |
340 | + Object.keys(this.zoneList).some(key => { | |
341 | + if (this.zoneList[key].code == '' + value) { | |
319 | 342 | actions.push(this.zoneList[key].name) |
320 | 343 | return true |
321 | 344 | } |
... | ... | @@ -324,14 +347,14 @@ export default { |
324 | 347 | }, |
325 | 348 | solutionContainerType(value) { |
326 | 349 | var actions = [] |
327 | - Object.keys(this.containerTypeList).some((key) => { | |
328 | - if (this.containerTypeList[key].code == ('' + value)) { | |
350 | + Object.keys(this.containerTypeList).some(key => { | |
351 | + if (this.containerTypeList[key].code == '' + value) { | |
329 | 352 | actions.push(this.containerTypeList[key].name) |
330 | 353 | return true |
331 | 354 | } |
332 | 355 | }) |
333 | 356 | return actions.join('') |
334 | - }, | |
357 | + } | |
335 | 358 | } |
336 | 359 | } |
337 | 360 | </script> |
... | ... |
ant-design-vue-jeecg/src/views/system/config/ContainerTypeList.vue
... | ... | @@ -20,7 +20,7 @@ |
20 | 20 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
21 | 21 | <a @click="handleToggleSearch" style="margin-left: 8px"> |
22 | 22 | {{ toggleSearchStatus ? '收起' : '展开' }} |
23 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
23 | + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> | |
24 | 24 | </a> |
25 | 25 | </span> |
26 | 26 | </a-col> |
... | ... | @@ -32,20 +32,30 @@ |
32 | 32 | <!-- 操作按钮区域 --> |
33 | 33 | <div class="table-operator"> |
34 | 34 | <a-button @click="handleAdd" v-has="'containerType:add'" type="primary" icon="plus">新增</a-button> |
35 | - <a-button v-has="'containerType:export'" type="primary" icon="download" @click="handleExportXls('容器类型')">导出</a-button> | |
36 | - <a-upload v-has="'containerType:import'" name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" | |
37 | - @change="handleImportExcel"> | |
35 | + <a-button v-has="'containerType:export'" type="primary" icon="download" @click="handleExportXls('容器类型')"> | |
36 | + 导出 | |
37 | + </a-button> | |
38 | + <a-upload | |
39 | + v-has="'containerType:import'" | |
40 | + name="file" | |
41 | + :showUploadList="false" | |
42 | + :multiple="false" | |
43 | + :headers="tokenHeader" | |
44 | + :action="importExcelUrl" | |
45 | + @change="handleImportExcel" | |
46 | + > | |
38 | 47 | <a-button type="primary" icon="import">导入</a-button> |
39 | 48 | </a-upload> |
40 | 49 | <a-dropdown v-if="selectedRowKeys.length > 0"> |
41 | 50 | <a-menu slot="overlay" v-has="'containerType:deleteBatch'"> |
42 | 51 | <a-menu-item key="1" @click="batchDel"> |
43 | - <a-icon type="delete"/> | |
52 | + <a-icon type="delete" /> | |
44 | 53 | 删除 |
45 | 54 | </a-menu-item> |
46 | 55 | </a-menu> |
47 | - <a-button style="margin-left: 8px"> 批量操作 | |
48 | - <a-icon type="down"/> | |
56 | + <a-button style="margin-left: 8px"> | |
57 | + 批量操作 | |
58 | + <a-icon type="down" /> | |
49 | 59 | </a-button> |
50 | 60 | </a-dropdown> |
51 | 61 | </div> |
... | ... | @@ -53,50 +63,59 @@ |
53 | 63 | <!-- table区域-begin --> |
54 | 64 | <div> |
55 | 65 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
56 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a | |
57 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
66 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 | |
67 | + <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
58 | 68 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
59 | 69 | </div> |
60 | 70 | |
61 | 71 | <a-table |
62 | 72 | ref="table" |
63 | 73 | size="middle" |
64 | - :scroll="{x:true}" | |
74 | + :scroll="{ x: true }" | |
65 | 75 | bordered |
66 | 76 | rowKey="id" |
67 | 77 | :columns="columns" |
68 | 78 | :dataSource="dataSource" |
69 | 79 | :pagination="ipagination" |
70 | 80 | :loading="loading" |
71 | - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" | |
81 | + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" | |
72 | 82 | class="j-table-force-nowrap" |
73 | - @change="handleTableChange"> | |
83 | + @change="handleTableChange" | |
84 | + > | |
85 | + <span slot="companyCode" slot-scope="companyCode"> | |
86 | + <a-tag :key="companyCode" color=blue> | |
87 | + {{ solutionCompany(companyCode) }} | |
88 | + </a-tag> | |
89 | + </span> | |
90 | + | |
91 | + <span slot="locationTypes" slot-scope="locationTypes" > | |
92 | + <a-tag v-for="locationType in locationTypes" :key="locationType" color=pink> | |
93 | + {{ solutionLocationType(locationType) }} | |
94 | + </a-tag> | |
95 | + </span> | |
74 | 96 | |
75 | 97 | <template slot="htmlSlot" slot-scope="text"> |
76 | 98 | <div v-html="text"></div> |
77 | 99 | </template> |
78 | 100 | <template slot="imgSlot" slot-scope="text"> |
79 | 101 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> |
80 | - <img v-else :src="getImgView(text)" height="25px" alt="" | |
81 | - style="max-width:80px;font-size: 12px;font-style: italic;"/> | |
102 | + <img | |
103 | + v-else | |
104 | + :src="getImgView(text)" | |
105 | + height="25px" | |
106 | + alt="" | |
107 | + style="max-width:80px;font-size: 12px;font-style: italic;" | |
108 | + /> | |
82 | 109 | </template> |
83 | 110 | <template slot="fileSlot" slot-scope="text"> |
84 | 111 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> |
85 | - <a-button | |
86 | - v-else | |
87 | - :ghost="true" | |
88 | - type="primary" | |
89 | - icon="download" | |
90 | - size="small" | |
91 | - @click="downloadFile(text)"> | |
112 | + <a-button v-else :ghost="true" type="primary" icon="download" size="small" @click="downloadFile(text)"> | |
92 | 113 | 下载 |
93 | 114 | </a-button> |
94 | 115 | </template> |
95 | 116 | |
96 | 117 | <span slot="action" slot-scope="text, record"> |
97 | - <a v-has="'containerType:edit'" @click="handleEdit(record)">编辑</a> | |
98 | - | |
99 | - <a-divider type="vertical"/> | |
118 | + <a v-has="'containerType:edit'" @click="handleEdit(record)">编辑<a-divider type="vertical"/></a> | |
100 | 119 | <a-dropdown> |
101 | 120 | <a class="ant-dropdown-link">更多 <a-icon type="down"/></a> |
102 | 121 | <a-menu slot="overlay"> |
... | ... | @@ -111,7 +130,6 @@ |
111 | 130 | </a-menu> |
112 | 131 | </a-dropdown> |
113 | 132 | </span> |
114 | - | |
115 | 133 | </a-table> |
116 | 134 | </div> |
117 | 135 | |
... | ... | @@ -120,11 +138,11 @@ |
120 | 138 | </template> |
121 | 139 | |
122 | 140 | <script> |
123 | - | |
124 | 141 | import '@/assets/less/TableExpand.less' |
125 | -import {mixinDevice} from '@/utils/mixin' | |
126 | -import {JeecgListMixin} from '@/mixins/JeecgListMixin' | |
142 | +import { mixinDevice } from '@/utils/mixin' | |
143 | +import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
127 | 144 | import ContainerTypeModal from './modules/ContainerTypeModal' |
145 | +import {getCompanyList, getLocationTypeList } from '@/api/api' | |
128 | 146 | |
129 | 147 | export default { |
130 | 148 | name: 'ContainerTypeList', |
... | ... | @@ -134,6 +152,8 @@ export default { |
134 | 152 | }, |
135 | 153 | data() { |
136 | 154 | return { |
155 | + companyList: [], | |
156 | + locationTypeList: [], | |
137 | 157 | description: '容器类型管理页面', |
138 | 158 | // 表头 |
139 | 159 | columns: [ |
... | ... | @@ -142,123 +162,158 @@ export default { |
142 | 162 | dataIndex: '', |
143 | 163 | key: 'rowIndex', |
144 | 164 | width: 60, |
145 | - align: "center", | |
146 | - customRender: function (t, r, index) { | |
147 | - return parseInt(index) + 1; | |
165 | + align: 'center', | |
166 | + customRender: function(t, r, index) { | |
167 | + return parseInt(index) + 1 | |
148 | 168 | } |
149 | 169 | }, |
150 | 170 | { |
151 | 171 | title: '编码', |
152 | - align: "center", | |
172 | + align: 'center', | |
153 | 173 | dataIndex: 'code' |
154 | 174 | }, |
155 | 175 | { |
156 | 176 | title: '名称', |
157 | - align: "center", | |
177 | + align: 'center', | |
158 | 178 | dataIndex: 'name' |
159 | 179 | }, |
160 | - { | |
161 | - title: '货主编码', | |
162 | - align: "center", | |
163 | - dataIndex: 'companyCode' | |
164 | - }, | |
180 | + // { | |
181 | + // title: '货主', | |
182 | + // align: 'center', | |
183 | + // dataIndex: 'companyCode', | |
184 | + // key: 'companyCode', | |
185 | + // scopedSlots: {customRender: 'companyCode'} | |
186 | + // }, | |
165 | 187 | { |
166 | 188 | title: '绑定的库位类型', |
167 | - align: "center", | |
168 | - dataIndex: 'locationType' | |
189 | + align: 'center', | |
190 | + dataIndex: 'locationTypes', | |
191 | + key: 'locationTypes', | |
192 | + scopedSlots: {customRender: 'locationTypes'} | |
169 | 193 | }, |
170 | 194 | { |
171 | 195 | title: '长', |
172 | - align: "center", | |
196 | + align: 'center', | |
173 | 197 | dataIndex: 'length' |
174 | 198 | }, |
175 | 199 | { |
176 | 200 | title: '宽', |
177 | - align: "center", | |
201 | + align: 'center', | |
178 | 202 | dataIndex: 'width' |
179 | 203 | }, |
180 | 204 | { |
181 | 205 | title: '高', |
182 | - align: "center", | |
206 | + align: 'center', | |
183 | 207 | dataIndex: 'height' |
184 | 208 | }, |
185 | 209 | { |
186 | 210 | title: '空容器重量', |
187 | - align: "center", | |
211 | + align: 'center', | |
188 | 212 | dataIndex: 'emptyweight' |
189 | 213 | }, |
190 | 214 | { |
191 | 215 | title: '容器最大承重', |
192 | - align: "center", | |
216 | + align: 'center', | |
193 | 217 | dataIndex: 'maxweight' |
194 | 218 | }, |
195 | 219 | { |
196 | 220 | title: '创建人', |
197 | - align: "center", | |
221 | + align: 'center', | |
198 | 222 | dataIndex: 'createBy' |
199 | 223 | }, |
200 | 224 | { |
201 | 225 | title: '创建日期', |
202 | - align: "center", | |
226 | + align: 'center', | |
203 | 227 | dataIndex: 'createTime' |
204 | 228 | }, |
205 | 229 | { |
206 | 230 | title: '更新人', |
207 | - align: "center", | |
231 | + align: 'center', | |
208 | 232 | dataIndex: 'updateBy' |
209 | 233 | }, |
210 | 234 | { |
211 | 235 | title: '更新日期', |
212 | - align: "center", | |
236 | + align: 'center', | |
213 | 237 | dataIndex: 'updateTime' |
214 | 238 | }, |
215 | 239 | { |
216 | 240 | title: '操作', |
217 | 241 | dataIndex: 'action', |
218 | - align: "center", | |
219 | - fixed: "right", | |
242 | + align: 'center', | |
243 | + fixed: 'right', | |
220 | 244 | width: 147, |
221 | - scopedSlots: {customRender: 'action'} | |
245 | + scopedSlots: { customRender: 'action' } | |
222 | 246 | } |
223 | 247 | ], |
224 | 248 | url: { |
225 | - list: "/config/containerType/list", | |
226 | - delete: "/config/containerType/delete", | |
227 | - deleteBatch: "/config/containerType/deleteBatch", | |
228 | - exportXlsUrl: "/config/containerType/exportXls", | |
229 | - importExcelUrl: "config/containerType/importExcel", | |
230 | - | |
249 | + list: '/config/containerType/list', | |
250 | + delete: '/config/containerType/delete', | |
251 | + deleteBatch: '/config/containerType/deleteBatch', | |
252 | + exportXlsUrl: '/config/containerType/exportXls', | |
253 | + importExcelUrl: 'config/containerType/importExcel' | |
231 | 254 | }, |
232 | 255 | dictOptions: {}, |
233 | - superFieldList: [], | |
256 | + superFieldList: [] | |
234 | 257 | } |
235 | 258 | }, |
236 | 259 | created() { |
237 | - this.getSuperFieldList(); | |
260 | + this.getSuperFieldList() | |
261 | + this.loadFrom() | |
238 | 262 | }, |
239 | 263 | computed: { |
240 | - importExcelUrl: function () { | |
241 | - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; | |
242 | - }, | |
264 | + importExcelUrl: function() { | |
265 | + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` | |
266 | + } | |
243 | 267 | }, |
244 | 268 | methods: { |
245 | - initDictConfig() { | |
269 | + initDictConfig() {}, | |
270 | + loadFrom() { | |
271 | + getCompanyList().then((res) => { | |
272 | + if (res.success) { | |
273 | + this.companyList = res.result | |
274 | + } | |
275 | + }); | |
276 | + getLocationTypeList().then(res => { | |
277 | + if (res.success) { | |
278 | + this.locationTypeList = res.result | |
279 | + } | |
280 | + }); | |
281 | + }, | |
282 | + solutionCompany(value) { | |
283 | + var actions = [] | |
284 | + Object.keys(this.companyList).some((key) => { | |
285 | + if (this.companyList[key].code == ('' + value)) { | |
286 | + actions.push(this.companyList[key].name) | |
287 | + return true | |
288 | + } | |
289 | + }) | |
290 | + return actions.join('') | |
291 | + }, | |
292 | + solutionLocationType(value) { | |
293 | + var actions = [] | |
294 | + Object.keys(this.locationTypeList).some(key => { | |
295 | + if (this.locationTypeList[key].code == '' + value) { | |
296 | + actions.push(this.locationTypeList[key].name) | |
297 | + return true | |
298 | + } | |
299 | + }) | |
300 | + return actions.join('') | |
246 | 301 | }, |
247 | 302 | getSuperFieldList() { |
248 | - let fieldList = []; | |
249 | - fieldList.push({type: 'string', value: 'code', text: '编码', dictCode: ''}) | |
250 | - fieldList.push({type: 'string', value: 'name', text: '名称', dictCode: ''}) | |
251 | - fieldList.push({type: 'string', value: 'companyCode', text: '货主编码', dictCode: ''}) | |
252 | - fieldList.push({type: 'string', value: 'locationType', text: '绑定的库位类型', dictCode: ''}) | |
253 | - fieldList.push({type: 'int', value: 'length', text: '长', dictCode: ''}) | |
254 | - fieldList.push({type: 'int', value: 'width', text: '宽', dictCode: ''}) | |
255 | - fieldList.push({type: 'int', value: 'height', text: '高', dictCode: ''}) | |
256 | - fieldList.push({type: 'int', value: 'emptyweight', text: '空容器重量', dictCode: ''}) | |
257 | - fieldList.push({type: 'int', value: 'maxweight', text: '容器最大承重', dictCode: ''}) | |
258 | - fieldList.push({type: 'string', value: 'createBy', text: '创建人', dictCode: ''}) | |
259 | - fieldList.push({type: 'datetime', value: 'createTime', text: '创建日期'}) | |
260 | - fieldList.push({type: 'string', value: 'updateBy', text: '更新人', dictCode: ''}) | |
261 | - fieldList.push({type: 'datetime', value: 'updateTime', text: '更新日期'}) | |
303 | + let fieldList = [] | |
304 | + fieldList.push({ type: 'string', value: 'code', text: '编码', dictCode: '' }) | |
305 | + fieldList.push({ type: 'string', value: 'name', text: '名称', dictCode: '' }) | |
306 | + fieldList.push({ type: 'string', value: 'companyCode', text: '货主编码', dictCode: '' }) | |
307 | + fieldList.push({ type: 'string', value: 'locationType', text: '绑定的库位类型', dictCode: '' }) | |
308 | + fieldList.push({ type: 'int', value: 'length', text: '长', dictCode: '' }) | |
309 | + fieldList.push({ type: 'int', value: 'width', text: '宽', dictCode: '' }) | |
310 | + fieldList.push({ type: 'int', value: 'height', text: '高', dictCode: '' }) | |
311 | + fieldList.push({ type: 'int', value: 'emptyweight', text: '空容器重量', dictCode: '' }) | |
312 | + fieldList.push({ type: 'int', value: 'maxweight', text: '容器最大承重', dictCode: '' }) | |
313 | + fieldList.push({ type: 'string', value: 'createBy', text: '创建人', dictCode: '' }) | |
314 | + fieldList.push({ type: 'datetime', value: 'createTime', text: '创建日期' }) | |
315 | + fieldList.push({ type: 'string', value: 'updateBy', text: '更新人', dictCode: '' }) | |
316 | + fieldList.push({ type: 'datetime', value: 'updateTime', text: '更新日期' }) | |
262 | 317 | this.superFieldList = fieldList |
263 | 318 | } |
264 | 319 | } |
... | ... |
ant-design-vue-jeecg/src/views/system/config/CustomerList.vue
... | ... | @@ -34,7 +34,7 @@ |
34 | 34 | <div> |
35 | 35 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
36 | 36 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
37 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
37 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
38 | 38 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
39 | 39 | </div> |
40 | 40 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/CycleCountPreferenceList.vue
... | ... | @@ -34,7 +34,7 @@ |
34 | 34 | <div> |
35 | 35 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
36 | 36 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
37 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
37 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
38 | 38 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
39 | 39 | </div> |
40 | 40 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/LocationHighList.vue
... | ... | @@ -54,7 +54,7 @@ |
54 | 54 | <div> |
55 | 55 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
56 | 56 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
57 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
57 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
58 | 58 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
59 | 59 | </div> |
60 | 60 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/LocationList.vue
... | ... | @@ -16,7 +16,7 @@ |
16 | 16 | </a-col> |
17 | 17 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
18 | 18 | <a-form-item label="状态"> |
19 | - <j-dict-select-tag placeholder="请选择状态" v-model="queryParam.status" dictCode="location_status"/> | |
19 | + <j-dict-select-tag placeholder="请选择状态" v-model="queryParam.status" dictCode="location_status" /> | |
20 | 20 | </a-form-item> |
21 | 21 | </a-col> |
22 | 22 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
... | ... | @@ -25,10 +25,10 @@ |
25 | 25 | show-search |
26 | 26 | placeholder="请选择库位类型" |
27 | 27 | option-filter-prop="children" |
28 | - | |
29 | - v-model="queryParam.locationTypeCode"> | |
28 | + v-model="queryParam.locationTypeCode" | |
29 | + > | |
30 | 30 | <a-select-option v-for="item in locationTypeList" :key="item.name" :value="item.code"> |
31 | - {{item.name}} | |
31 | + {{ item.name }} | |
32 | 32 | </a-select-option> |
33 | 33 | </a-select> |
34 | 34 | </a-form-item> |
... | ... | @@ -40,10 +40,10 @@ |
40 | 40 | show-search |
41 | 41 | placeholder="请选择库区编码" |
42 | 42 | option-filter-prop="children" |
43 | - | |
44 | - v-model="queryParam.zoneCode"> | |
43 | + v-model="queryParam.zoneCode" | |
44 | + > | |
45 | 45 | <a-select-option v-for="item in zoneList" :key="item.name" :value="item.code"> |
46 | - {{item.name}} | |
46 | + {{ item.name }} | |
47 | 47 | </a-select-option> |
48 | 48 | </a-select> |
49 | 49 | </a-form-item> |
... | ... | @@ -70,17 +70,17 @@ |
70 | 70 | </a-col> |
71 | 71 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
72 | 72 | <a-form-item label="高低位"> |
73 | - <j-dict-select-tag placeholder="请输入高低位" v-model="queryParam.high" dictCode="high_status"/> | |
73 | + <j-dict-select-tag placeholder="请输入高低位" v-model="queryParam.high" dictCode="high_status" /> | |
74 | 74 | </a-form-item> |
75 | 75 | </a-col> |
76 | 76 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
77 | 77 | <a-form-item label="内外侧"> |
78 | - <j-dict-select-tag placeholder="请选择内外侧" v-model="queryParam.rowFlag" dictCode="row_type"/> | |
78 | + <j-dict-select-tag placeholder="请选择内外侧" v-model="queryParam.rowFlag" dictCode="row_type" /> | |
79 | 79 | </a-form-item> |
80 | 80 | </a-col> |
81 | 81 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
82 | 82 | <a-form-item label="是否可用"> |
83 | - <j-dict-select-tag placeholder="请选择是否可用" v-model="queryParam.enable" dictCode="enable_status"/> | |
83 | + <j-dict-select-tag placeholder="请选择是否可用" v-model="queryParam.enable" dictCode="enable_status" /> | |
84 | 84 | </a-form-item> |
85 | 85 | </a-col> |
86 | 86 | </template> |
... | ... | @@ -90,7 +90,7 @@ |
90 | 90 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
91 | 91 | <a @click="handleToggleSearch" style="margin-left: 8px"> |
92 | 92 | {{ toggleSearchStatus ? '收起' : '展开' }} |
93 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
93 | + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> | |
94 | 94 | </a> |
95 | 95 | </span> |
96 | 96 | </a-col> |
... | ... | @@ -103,21 +103,31 @@ |
103 | 103 | <div class="table-operator"> |
104 | 104 | <a-button @click="batchAdd()" v-has="'location:batchAdd'" type="primary" icon="plus">批量新增</a-button> |
105 | 105 | <a-button v-has="'location:add'" @click="handleAdd" type="primary" icon="plus">新增</a-button> |
106 | - <a-button v-has="'location:export'" type="primary" icon="download" @click="handleExportXls('库位管理')">导出</a-button> | |
107 | - <a-upload v-has="'location:import'" name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" | |
108 | - @change="handleImportExcel"> | |
106 | + <a-button v-has="'location:export'" type="primary" icon="download" @click="handleExportXls('库位管理')"> | |
107 | + 导出 | |
108 | + </a-button> | |
109 | + <a-upload | |
110 | + v-has="'location:import'" | |
111 | + name="file" | |
112 | + :showUploadList="false" | |
113 | + :multiple="false" | |
114 | + :headers="tokenHeader" | |
115 | + :action="importExcelUrl" | |
116 | + @change="handleImportExcel" | |
117 | + > | |
109 | 118 | <a-button type="primary" icon="import">导入</a-button> |
110 | 119 | </a-upload> |
111 | 120 | <a-button v-has="'material:print'" @click="batchPrint()" type="primary">打印</a-button> |
112 | 121 | <a-dropdown v-if="selectedRowKeys.length > 0"> |
113 | 122 | <a-menu slot="overlay" v-has="'location:deleteBatch'"> |
114 | 123 | <a-menu-item key="1" @click="batchDel"> |
115 | - <a-icon type="delete"/> | |
124 | + <a-icon type="delete" /> | |
116 | 125 | 删除 |
117 | 126 | </a-menu-item> |
118 | 127 | </a-menu> |
119 | - <a-button style="margin-left: 8px"> 批量操作 | |
120 | - <a-icon type="down"/> | |
128 | + <a-button style="margin-left: 8px"> | |
129 | + 批量操作 | |
130 | + <a-icon type="down" /> | |
121 | 131 | </a-button> |
122 | 132 | </a-dropdown> |
123 | 133 | </div> |
... | ... | @@ -125,33 +135,33 @@ |
125 | 135 | <!-- table区域-begin --> |
126 | 136 | <div> |
127 | 137 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
128 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a | |
129 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
138 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 | |
139 | + <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
130 | 140 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
131 | 141 | </div> |
132 | 142 | |
133 | 143 | <a-table |
134 | 144 | ref="table" |
135 | 145 | size="middle" |
136 | - :scroll="{x:true}" | |
146 | + :scroll="{ x: true }" | |
137 | 147 | bordered |
138 | 148 | rowKey="id" |
139 | 149 | :columns="columns" |
140 | 150 | :dataSource="dataSource" |
141 | 151 | :pagination="ipagination" |
142 | 152 | :loading="loading" |
143 | - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" | |
153 | + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" | |
144 | 154 | class="j-table-force-nowrap" |
145 | - @change="handleTableChange"> | |
146 | - | |
147 | - <span slot="locationTypeCode" slot-scope="locationTypeCode"> | |
148 | - <a-tag :key="locationTypeCode" color=pink> | |
155 | + @change="handleTableChange" | |
156 | + > | |
157 | + <span slot="locationTypeCode" slot-scope="locationTypeCode"> | |
158 | + <a-tag :key="locationTypeCode" color="pink"> | |
149 | 159 | {{ solutionLocationType(locationTypeCode) }} |
150 | 160 | </a-tag> |
151 | 161 | </span> |
152 | 162 | |
153 | 163 | <span slot="zoneCode" slot-scope="zoneCode"> |
154 | - <a-tag :key="zoneCode" color=blue> | |
164 | + <a-tag :key="zoneCode" color="blue"> | |
155 | 165 | {{ solutionZoneCode(zoneCode) }} |
156 | 166 | </a-tag> |
157 | 167 | </span> |
... | ... | @@ -161,26 +171,23 @@ |
161 | 171 | </template> |
162 | 172 | <template slot="imgSlot" slot-scope="text"> |
163 | 173 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> |
164 | - <img v-else :src="getImgView(text)" height="25px" alt="" | |
165 | - style="max-width:80px;font-size: 12px;font-style: italic;"/> | |
174 | + <img | |
175 | + v-else | |
176 | + :src="getImgView(text)" | |
177 | + height="25px" | |
178 | + alt="" | |
179 | + style="max-width:80px;font-size: 12px;font-style: italic;" | |
180 | + /> | |
166 | 181 | </template> |
167 | 182 | <template slot="fileSlot" slot-scope="text"> |
168 | 183 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> |
169 | - <a-button | |
170 | - v-else | |
171 | - :ghost="true" | |
172 | - type="primary" | |
173 | - icon="download" | |
174 | - size="small" | |
175 | - @click="downloadFile(text)"> | |
184 | + <a-button v-else :ghost="true" type="primary" icon="download" size="small" @click="downloadFile(text)"> | |
176 | 185 | 下载 |
177 | 186 | </a-button> |
178 | 187 | </template> |
179 | 188 | |
180 | 189 | <span slot="action" slot-scope="text, record"> |
181 | - <a v-has="'location:edit'" @click="handleEdit(record)">编辑</a> | |
182 | - | |
183 | - <a-divider type="vertical"/> | |
190 | + <a v-has="'location:edit'" @click="handleEdit(record)">编辑<a-divider type="vertical"/></a> | |
184 | 191 | <a-dropdown> |
185 | 192 | <a class="ant-dropdown-link">更多 <a-icon type="down"/></a> |
186 | 193 | <a-menu slot="overlay"> |
... | ... | @@ -195,7 +202,6 @@ |
195 | 202 | </a-menu> |
196 | 203 | </a-dropdown> |
197 | 204 | </span> |
198 | - | |
199 | 205 | </a-table> |
200 | 206 | </div> |
201 | 207 | |
... | ... | @@ -206,15 +212,14 @@ |
206 | 212 | </template> |
207 | 213 | |
208 | 214 | <script> |
209 | - | |
210 | 215 | import '@/assets/less/TableExpand.less' |
211 | -import {mixinDevice} from '@/utils/mixin' | |
212 | -import {JeecgListMixin} from '@/mixins/JeecgListMixin' | |
216 | +import { mixinDevice } from '@/utils/mixin' | |
217 | +import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
213 | 218 | import LocationModal from './modules/LocationModal' |
214 | -import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' | |
215 | -import {getLocationTypeList} from '@/api/api' | |
216 | -import {getZoneList} from '@/api/api' | |
217 | -import LocationBatchAddModal from "./modules/LocationBatchAddModal"; | |
219 | +import { filterMultiDictText } from '@/components/dict/JDictSelectUtil' | |
220 | +import { getLocationTypeList } from '@/api/api' | |
221 | +import { getZoneList } from '@/api/api' | |
222 | +import LocationBatchAddModal from './modules/LocationBatchAddModal' | |
218 | 223 | import LocationPrintModal from './modules/LocationPrintModal' |
219 | 224 | |
220 | 225 | export default { |
... | ... | @@ -234,114 +239,113 @@ export default { |
234 | 239 | columns: [ |
235 | 240 | { |
236 | 241 | title: 'ID', |
237 | - align: "center", | |
242 | + align: 'center', | |
238 | 243 | dataIndex: 'id' |
239 | 244 | }, |
240 | 245 | { |
241 | 246 | title: '库位编码', |
242 | - align: "center", | |
247 | + align: 'center', | |
243 | 248 | dataIndex: 'code' |
244 | 249 | }, |
245 | 250 | { |
246 | 251 | title: '容器编码', |
247 | - align: "center", | |
252 | + align: 'center', | |
248 | 253 | dataIndex: 'containerCode' |
249 | 254 | }, |
250 | 255 | { |
251 | 256 | title: '状态', |
252 | - align: "center", | |
257 | + align: 'center', | |
253 | 258 | dataIndex: 'status_dictText' |
254 | 259 | }, |
255 | 260 | { |
256 | 261 | title: '库区', |
257 | - align: "center", | |
262 | + align: 'center', | |
258 | 263 | dataIndex: 'zoneCode', |
259 | 264 | key: 'zoneCode', |
260 | - scopedSlots: {customRender: 'zoneCode'} | |
265 | + scopedSlots: { customRender: 'zoneCode' } | |
261 | 266 | }, |
262 | 267 | { |
263 | 268 | title: '库位类型', |
264 | - align: "center", | |
269 | + align: 'center', | |
265 | 270 | dataIndex: 'locationTypeCode', |
266 | 271 | key: 'locationTypeCode', |
267 | - scopedSlots: {customRender: 'locationTypeCode'} | |
272 | + scopedSlots: { customRender: 'locationTypeCode' } | |
268 | 273 | }, |
269 | 274 | { |
270 | 275 | title: '巷道', |
271 | - align: "center", | |
276 | + align: 'center', | |
272 | 277 | dataIndex: 'roadWay' |
273 | 278 | }, |
274 | 279 | { |
275 | 280 | title: '行', |
276 | - align: "center", | |
281 | + align: 'center', | |
277 | 282 | dataIndex: 'row' |
278 | 283 | }, |
279 | 284 | { |
280 | 285 | title: '列', |
281 | - align: "center", | |
286 | + align: 'center', | |
282 | 287 | dataIndex: 'icolumn' |
283 | 288 | }, |
284 | 289 | { |
285 | 290 | title: '层', |
286 | - align: "center", | |
291 | + align: 'center', | |
287 | 292 | dataIndex: 'layer' |
288 | 293 | }, |
289 | 294 | { |
290 | 295 | title: '高低位', |
291 | - align: "center", | |
296 | + align: 'center', | |
292 | 297 | dataIndex: 'high_dictText' |
293 | 298 | }, |
294 | 299 | { |
295 | 300 | title: '内外侧', |
296 | - align: "center", | |
301 | + align: 'center', | |
297 | 302 | dataIndex: 'rowFlag_dictText' |
298 | 303 | }, |
299 | 304 | { |
300 | 305 | title: '物料分区存放', |
301 | - align: "center", | |
306 | + align: 'center', | |
302 | 307 | dataIndex: 'materialAreaCode' |
303 | 308 | }, |
304 | 309 | { |
305 | 310 | title: '是否可用', |
306 | - align: "center", | |
311 | + align: 'center', | |
307 | 312 | dataIndex: 'enable_dictText' |
308 | 313 | }, |
309 | 314 | { |
310 | 315 | title: '创建人', |
311 | - align: "center", | |
316 | + align: 'center', | |
312 | 317 | dataIndex: 'createBy' |
313 | 318 | }, |
314 | 319 | { |
315 | 320 | title: '创建日期', |
316 | - align: "center", | |
321 | + align: 'center', | |
317 | 322 | dataIndex: 'createTime' |
318 | 323 | }, |
319 | 324 | { |
320 | 325 | title: '更新人', |
321 | - align: "center", | |
326 | + align: 'center', | |
322 | 327 | dataIndex: 'updateBy' |
323 | 328 | }, |
324 | 329 | { |
325 | 330 | title: '更新日期', |
326 | - align: "center", | |
331 | + align: 'center', | |
327 | 332 | dataIndex: 'updateTime' |
328 | 333 | }, |
329 | 334 | { |
330 | 335 | title: '操作', |
331 | 336 | dataIndex: 'action', |
332 | - align: "center", | |
333 | - fixed: "right", | |
337 | + align: 'center', | |
338 | + fixed: 'right', | |
334 | 339 | width: 147, |
335 | - scopedSlots: {customRender: 'action'} | |
340 | + scopedSlots: { customRender: 'action' } | |
336 | 341 | } |
337 | 342 | ], |
338 | 343 | url: { |
339 | - list: "/config/location/list", | |
340 | - delete: "/config/location/delete", | |
341 | - deleteBatch: "/config/location/deleteBatch", | |
342 | - exportXlsUrl: "/config/location/exportXls", | |
343 | - importExcelUrl: "config/location/importExcel", | |
344 | - | |
344 | + list: '/config/location/list', | |
345 | + delete: '/config/location/delete', | |
346 | + deleteBatch: '/config/location/deleteBatch', | |
347 | + exportXlsUrl: '/config/location/exportXls', | |
348 | + importExcelUrl: 'config/location/importExcel' | |
345 | 349 | }, |
346 | 350 | /* 分页参数 */ |
347 | 351 | ipagination: { |
... | ... | @@ -349,83 +353,86 @@ export default { |
349 | 353 | pageSize: 10, |
350 | 354 | pageSizeOptions: ['10', '20', '50'], |
351 | 355 | showTotal: (total, range) => { |
352 | - return range[0] + "-" + range[1] + " 共" + total + "条" | |
356 | + return range[0] + '-' + range[1] + ' 共' + total + '条' | |
353 | 357 | }, |
354 | 358 | showQuickJumper: true, |
355 | 359 | showSizeChanger: true, |
356 | 360 | total: 0 |
357 | 361 | }, |
358 | 362 | dictOptions: {}, |
359 | - superFieldList: [], | |
363 | + superFieldList: [] | |
360 | 364 | } |
361 | 365 | }, |
362 | 366 | created() { |
363 | - this.getSuperFieldList(); | |
364 | - this.loadFrom(); | |
367 | + this.getSuperFieldList() | |
368 | + this.loadFrom() | |
365 | 369 | }, |
366 | 370 | computed: { |
367 | - importExcelUrl: function () { | |
368 | - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; | |
369 | - }, | |
371 | + importExcelUrl: function() { | |
372 | + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` | |
373 | + } | |
370 | 374 | }, |
371 | 375 | methods: { |
372 | - initDictConfig() { | |
373 | - }, | |
376 | + initDictConfig() {}, | |
374 | 377 | getSuperFieldList() { |
375 | - let fieldList = []; | |
376 | - fieldList.push({type: 'string', value: 'code', text: '库位编码', dictCode: ''}) | |
377 | - fieldList.push({type: 'string', value: 'zoneCode', text: '库区编码', dictCode: ''}) | |
378 | - fieldList.push({type: 'string', value: 'locationTypeCode', text: '库位类型', dictCode: ''}) | |
379 | - fieldList.push({type: 'string', value: 'containerCode', text: '容器编码', dictCode: ''}) | |
380 | - fieldList.push({type: 'string', value: 'status', text: '状态', dictCode: 'location_status'}) | |
381 | - fieldList.push({type: 'int', value: 'roadWay', text: '巷道', dictCode: ''}) | |
382 | - fieldList.push({type: 'int', value: 'row', text: '行', dictCode: ''}) | |
383 | - fieldList.push({type: 'int', value: 'icolumn', text: '列', dictCode: ''}) | |
384 | - fieldList.push({type: 'int', value: 'layer', text: '层', dictCode: ''}) | |
385 | - fieldList.push({type: 'int', value: 'grid', text: '格', dictCode: ''}) | |
386 | - fieldList.push({type: 'int', value: 'high', text: '高低位', dictCode: ''}) | |
387 | - fieldList.push({type: 'int', value: 'rowFlag', text: '内外侧', dictCode: 'row_type'}) | |
388 | - fieldList.push({type: 'string', value: 'materialAreaCode', text: '物料分区存放', dictCode: ''}) | |
389 | - fieldList.push({type: 'int', value: 'enable', text: '是否可用', dictCode: 'enable_status'}) | |
390 | - fieldList.push({type: 'string', value: 'createBy', text: '创建人', dictCode: ''}) | |
391 | - fieldList.push({type: 'datetime', value: 'createTime', text: '创建日期'}) | |
392 | - fieldList.push({type: 'string', value: 'updateBy', text: '更新人', dictCode: ''}) | |
393 | - fieldList.push({type: 'datetime', value: 'updateTime', text: '更新日期'}) | |
378 | + let fieldList = [] | |
379 | + fieldList.push({ type: 'string', value: 'code', text: '库位编码', dictCode: '' }) | |
380 | + fieldList.push({ type: 'string', value: 'zoneCode', text: '库区编码', dictCode: '' }) | |
381 | + fieldList.push({ type: 'string', value: 'locationTypeCode', text: '库位类型', dictCode: '' }) | |
382 | + fieldList.push({ type: 'string', value: 'containerCode', text: '容器编码', dictCode: '' }) | |
383 | + fieldList.push({ type: 'string', value: 'status', text: '状态', dictCode: 'location_status' }) | |
384 | + fieldList.push({ type: 'int', value: 'roadWay', text: '巷道', dictCode: '' }) | |
385 | + fieldList.push({ type: 'int', value: 'row', text: '行', dictCode: '' }) | |
386 | + fieldList.push({ type: 'int', value: 'icolumn', text: '列', dictCode: '' }) | |
387 | + fieldList.push({ type: 'int', value: 'layer', text: '层', dictCode: '' }) | |
388 | + fieldList.push({ type: 'int', value: 'grid', text: '格', dictCode: '' }) | |
389 | + fieldList.push({ type: 'int', value: 'high', text: '高低位', dictCode: '' }) | |
390 | + fieldList.push({ type: 'int', value: 'rowFlag', text: '内外侧', dictCode: 'row_type' }) | |
391 | + fieldList.push({ type: 'string', value: 'materialAreaCode', text: '物料分区存放', dictCode: '' }) | |
392 | + fieldList.push({ type: 'int', value: 'enable', text: '是否可用', dictCode: 'enable_status' }) | |
393 | + fieldList.push({ type: 'string', value: 'createBy', text: '创建人', dictCode: '' }) | |
394 | + fieldList.push({ type: 'datetime', value: 'createTime', text: '创建日期' }) | |
395 | + fieldList.push({ type: 'string', value: 'updateBy', text: '更新人', dictCode: '' }) | |
396 | + fieldList.push({ type: 'datetime', value: 'updateTime', text: '更新日期' }) | |
394 | 397 | this.superFieldList = fieldList |
395 | 398 | }, |
396 | 399 | loadFrom() { |
397 | - getZoneList().then((res) => { | |
400 | + getZoneList().then(res => { | |
398 | 401 | if (res.success) { |
399 | 402 | this.zoneList = res.result |
400 | 403 | } |
401 | - }); | |
402 | - getLocationTypeList().then((res) => { | |
404 | + }) | |
405 | + getLocationTypeList().then(res => { | |
403 | 406 | if (res.success) { |
404 | 407 | this.locationTypeList = res.result |
405 | 408 | } |
406 | 409 | }) |
407 | 410 | }, |
408 | 411 | batchAdd() { |
409 | - this.$refs.batchAddModalForm.add(); | |
410 | - this.$refs.batchAddModalForm.title = "批量新增"; | |
411 | - this.$refs.batchAddModalForm.disableSubmit = false; | |
412 | + this.$refs.batchAddModalForm.add() | |
413 | + this.$refs.batchAddModalForm.title = '批量新增' | |
414 | + this.$refs.batchAddModalForm.disableSubmit = false | |
412 | 415 | }, |
413 | 416 | batchPrint() { |
414 | 417 | if (this.selectedRowKeys.length <= 0) { |
415 | - this.$message.warning('请选择一条记录!'); | |
416 | - return; | |
418 | + this.$message.warning('请选择一条记录!') | |
419 | + return | |
417 | 420 | } else { |
418 | - var ids = ""; | |
421 | + var ids = '' | |
419 | 422 | for (var a = 0; a < this.selectedRowKeys.length; a++) { |
420 | - ids += this.selectedRowKeys[a] + ","; | |
423 | + ids += this.selectedRowKeys[a] + ',' | |
421 | 424 | } |
422 | - window.open(window._CONFIG['domianURL'] + "/jmreport/view/768700106074832896/?id=" + ids, "newWindow", "toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100"); | |
425 | + window.open( | |
426 | + window._CONFIG['domianURL'] + '/jmreport/view/768700106074832896/?id=' + ids, | |
427 | + 'newWindow', | |
428 | + 'toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100' | |
429 | + ) | |
423 | 430 | } |
424 | 431 | }, |
425 | 432 | solutionZoneCode(value) { |
426 | 433 | var actions = [] |
427 | - Object.keys(this.zoneList).some((key) => { | |
428 | - if (this.zoneList[key].code == ('' + value)) { | |
434 | + Object.keys(this.zoneList).some(key => { | |
435 | + if (this.zoneList[key].code == '' + value) { | |
429 | 436 | actions.push(this.zoneList[key].name) |
430 | 437 | return true |
431 | 438 | } |
... | ... | @@ -434,14 +441,14 @@ export default { |
434 | 441 | }, |
435 | 442 | solutionLocationType(value) { |
436 | 443 | var actions = [] |
437 | - Object.keys(this.locationTypeList).some((key) => { | |
438 | - if (this.locationTypeList[key].code == ('' + value)) { | |
444 | + Object.keys(this.locationTypeList).some(key => { | |
445 | + if (this.locationTypeList[key].code == '' + value) { | |
439 | 446 | actions.push(this.locationTypeList[key].name) |
440 | 447 | return true |
441 | 448 | } |
442 | 449 | }) |
443 | 450 | return actions.join('') |
444 | - }, | |
451 | + } | |
445 | 452 | } |
446 | 453 | } |
447 | 454 | </script> |
... | ... |
ant-design-vue-jeecg/src/views/system/config/LocationTypeList.vue
... | ... | @@ -20,7 +20,7 @@ |
20 | 20 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
21 | 21 | <a @click="handleToggleSearch" style="margin-left: 8px"> |
22 | 22 | {{ toggleSearchStatus ? '收起' : '展开' }} |
23 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
23 | + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> | |
24 | 24 | </a> |
25 | 25 | </span> |
26 | 26 | </a-col> |
... | ... | @@ -32,20 +32,30 @@ |
32 | 32 | <!-- 操作按钮区域 --> |
33 | 33 | <div class="table-operator"> |
34 | 34 | <a-button v-has="'locationType:add'" @click="handleAdd" type="primary" icon="plus">新增</a-button> |
35 | - <a-button v-has="'locationType:export'" type="primary" icon="download" @click="handleExportXls('库位类型')">导出</a-button> | |
36 | - <a-upload v-has="'locationType:import'" name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" | |
37 | - @change="handleImportExcel"> | |
35 | + <a-button v-has="'locationType:export'" type="primary" icon="download" @click="handleExportXls('库位类型')"> | |
36 | + 导出 | |
37 | + </a-button> | |
38 | + <a-upload | |
39 | + v-has="'locationType:import'" | |
40 | + name="file" | |
41 | + :showUploadList="false" | |
42 | + :multiple="false" | |
43 | + :headers="tokenHeader" | |
44 | + :action="importExcelUrl" | |
45 | + @change="handleImportExcel" | |
46 | + > | |
38 | 47 | <a-button type="primary" icon="import">导入</a-button> |
39 | 48 | </a-upload> |
40 | 49 | <a-dropdown v-if="selectedRowKeys.length > 0"> |
41 | 50 | <a-menu slot="overlay" v-has="'locationType:deleteBatch'"> |
42 | 51 | <a-menu-item key="1" @click="batchDel"> |
43 | - <a-icon type="delete"/> | |
52 | + <a-icon type="delete" /> | |
44 | 53 | 删除 |
45 | 54 | </a-menu-item> |
46 | 55 | </a-menu> |
47 | - <a-button style="margin-left: 8px"> 批量操作 | |
48 | - <a-icon type="down"/> | |
56 | + <a-button style="margin-left: 8px"> | |
57 | + 批量操作 | |
58 | + <a-icon type="down" /> | |
49 | 59 | </a-button> |
50 | 60 | </a-dropdown> |
51 | 61 | </div> |
... | ... | @@ -53,50 +63,47 @@ |
53 | 63 | <!-- table区域-begin --> |
54 | 64 | <div> |
55 | 65 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
56 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a | |
57 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
66 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 | |
67 | + <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
58 | 68 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
59 | 69 | </div> |
60 | 70 | |
61 | 71 | <a-table |
62 | 72 | ref="table" |
63 | 73 | size="middle" |
64 | - :scroll="{x:true}" | |
74 | + :scroll="{ x: true }" | |
65 | 75 | bordered |
66 | 76 | rowKey="id" |
67 | 77 | :columns="columns" |
68 | 78 | :dataSource="dataSource" |
69 | 79 | :pagination="ipagination" |
70 | 80 | :loading="loading" |
71 | - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" | |
81 | + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" | |
72 | 82 | class="j-table-force-nowrap" |
73 | - @change="handleTableChange"> | |
74 | - | |
83 | + @change="handleTableChange" | |
84 | + > | |
75 | 85 | <template slot="htmlSlot" slot-scope="text"> |
76 | 86 | <div v-html="text"></div> |
77 | 87 | </template> |
78 | 88 | <template slot="imgSlot" slot-scope="text"> |
79 | 89 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> |
80 | - <img v-else :src="getImgView(text)" height="25px" alt="" | |
81 | - style="max-width:80px;font-size: 12px;font-style: italic;"/> | |
90 | + <img | |
91 | + v-else | |
92 | + :src="getImgView(text)" | |
93 | + height="25px" | |
94 | + alt="" | |
95 | + style="max-width:80px;font-size: 12px;font-style: italic;" | |
96 | + /> | |
82 | 97 | </template> |
83 | 98 | <template slot="fileSlot" slot-scope="text"> |
84 | 99 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> |
85 | - <a-button | |
86 | - v-else | |
87 | - :ghost="true" | |
88 | - type="primary" | |
89 | - icon="download" | |
90 | - size="small" | |
91 | - @click="downloadFile(text)"> | |
100 | + <a-button v-else :ghost="true" type="primary" icon="download" size="small" @click="downloadFile(text)"> | |
92 | 101 | 下载 |
93 | 102 | </a-button> |
94 | 103 | </template> |
95 | 104 | |
96 | 105 | <span slot="action" slot-scope="text, record"> |
97 | - <a v-has="'locationType:edit'" @click="handleEdit(record)">编辑</a> | |
98 | - | |
99 | - <a-divider type="vertical"/> | |
106 | + <a v-has="'locationType:edit'" @click="handleEdit(record)">编辑<a-divider type="vertical"/></a> | |
100 | 107 | <a-dropdown> |
101 | 108 | <a class="ant-dropdown-link">更多 <a-icon type="down"/></a> |
102 | 109 | <a-menu slot="overlay"> |
... | ... | @@ -111,7 +118,6 @@ |
111 | 118 | </a-menu> |
112 | 119 | </a-dropdown> |
113 | 120 | </span> |
114 | - | |
115 | 121 | </a-table> |
116 | 122 | </div> |
117 | 123 | |
... | ... | @@ -120,10 +126,9 @@ |
120 | 126 | </template> |
121 | 127 | |
122 | 128 | <script> |
123 | - | |
124 | 129 | import '@/assets/less/TableExpand.less' |
125 | -import {mixinDevice} from '@/utils/mixin' | |
126 | -import {JeecgListMixin} from '@/mixins/JeecgListMixin' | |
130 | +import { mixinDevice } from '@/utils/mixin' | |
131 | +import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
127 | 132 | import LocationTypeModal from './modules/LocationTypeModal' |
128 | 133 | |
129 | 134 | export default { |
... | ... | @@ -142,114 +147,111 @@ export default { |
142 | 147 | dataIndex: '', |
143 | 148 | key: 'rowIndex', |
144 | 149 | width: 60, |
145 | - align: "center", | |
146 | - customRender: function (t, r, index) { | |
147 | - return parseInt(index) + 1; | |
150 | + align: 'center', | |
151 | + customRender: function(t, r, index) { | |
152 | + return parseInt(index) + 1 | |
148 | 153 | } |
149 | 154 | }, |
150 | 155 | { |
151 | 156 | title: '编码', |
152 | - align: "center", | |
157 | + align: 'center', | |
153 | 158 | dataIndex: 'code' |
154 | 159 | }, |
155 | 160 | { |
156 | 161 | title: '名称', |
157 | - align: "center", | |
162 | + align: 'center', | |
158 | 163 | dataIndex: 'name' |
159 | 164 | }, |
160 | 165 | { |
161 | 166 | title: '库区', |
162 | - align: "center", | |
167 | + align: 'center', | |
163 | 168 | dataIndex: 'zoneCode' |
164 | 169 | }, |
165 | 170 | { |
166 | 171 | title: '长度', |
167 | - align: "center", | |
172 | + align: 'center', | |
168 | 173 | dataIndex: 'length' |
169 | 174 | }, |
170 | 175 | { |
171 | 176 | title: '宽度', |
172 | - align: "center", | |
177 | + align: 'center', | |
173 | 178 | dataIndex: 'weight' |
174 | 179 | }, |
175 | 180 | { |
176 | 181 | title: '高度', |
177 | - align: "center", | |
182 | + align: 'center', | |
178 | 183 | dataIndex: 'height' |
179 | 184 | }, |
180 | 185 | { |
181 | 186 | title: '最大承重', |
182 | - align: "center", | |
187 | + align: 'center', | |
183 | 188 | dataIndex: 'maxWeight' |
184 | 189 | }, |
185 | 190 | { |
186 | 191 | title: '创建人', |
187 | - align: "center", | |
192 | + align: 'center', | |
188 | 193 | dataIndex: 'createBy' |
189 | 194 | }, |
190 | 195 | { |
191 | 196 | title: '创建日期', |
192 | - align: "center", | |
197 | + align: 'center', | |
193 | 198 | dataIndex: 'createTime' |
194 | 199 | }, |
195 | 200 | { |
196 | 201 | title: '更新人', |
197 | - align: "center", | |
202 | + align: 'center', | |
198 | 203 | dataIndex: 'updateBy' |
199 | 204 | }, |
200 | 205 | { |
201 | 206 | title: '更新日期', |
202 | - align: "center", | |
207 | + align: 'center', | |
203 | 208 | dataIndex: 'updateTime' |
204 | 209 | }, |
205 | 210 | { |
206 | 211 | title: '操作', |
207 | 212 | dataIndex: 'action', |
208 | - align: "center", | |
209 | - fixed: "right", | |
213 | + align: 'center', | |
214 | + fixed: 'right', | |
210 | 215 | width: 147, |
211 | - scopedSlots: {customRender: 'action'} | |
216 | + scopedSlots: { customRender: 'action' } | |
212 | 217 | } |
213 | 218 | ], |
214 | 219 | url: { |
215 | - list: "/config/locationType/list", | |
216 | - delete: "/config/locationType/delete", | |
217 | - deleteBatch: "/config/locationType/deleteBatch", | |
218 | - exportXlsUrl: "/config/locationType/exportXls", | |
219 | - importExcelUrl: "config/locationType/importExcel", | |
220 | - | |
220 | + list: '/config/locationType/list', | |
221 | + delete: '/config/locationType/delete', | |
222 | + deleteBatch: '/config/locationType/deleteBatch', | |
223 | + exportXlsUrl: '/config/locationType/exportXls', | |
224 | + importExcelUrl: 'config/locationType/importExcel' | |
221 | 225 | }, |
222 | 226 | dictOptions: {}, |
223 | - superFieldList: [], | |
227 | + superFieldList: [] | |
224 | 228 | } |
225 | 229 | }, |
226 | 230 | created() { |
227 | - this.getSuperFieldList(); | |
228 | - this.loadFrom(); | |
231 | + this.getSuperFieldList() | |
229 | 232 | }, |
230 | 233 | computed: { |
231 | - importExcelUrl: function () { | |
232 | - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; | |
233 | - }, | |
234 | + importExcelUrl: function() { | |
235 | + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` | |
236 | + } | |
234 | 237 | }, |
235 | 238 | methods: { |
236 | - initDictConfig() { | |
237 | - }, | |
239 | + initDictConfig() {}, | |
238 | 240 | getSuperFieldList() { |
239 | - let fieldList = []; | |
240 | - fieldList.push({type: 'string', value: 'code', text: '编码', dictCode: ''}) | |
241 | - fieldList.push({type: 'string', value: 'name', text: '名称', dictCode: ''}) | |
242 | - fieldList.push({type: 'int', value: 'length', text: '长度', dictCode: ''}) | |
243 | - fieldList.push({type: 'int', value: 'weight', text: '宽度', dictCode: ''}) | |
244 | - fieldList.push({type: 'int', value: 'height', text: '高度', dictCode: ''}) | |
245 | - fieldList.push({type: 'int', value: 'maxWeight', text: '最大承重', dictCode: ''}) | |
246 | - fieldList.push({type: 'string', value: 'createBy', text: '创建人', dictCode: ''}) | |
247 | - fieldList.push({type: 'datetime', value: 'createTime', text: '创建日期'}) | |
248 | - fieldList.push({type: 'string', value: 'updateBy', text: '更新人', dictCode: ''}) | |
249 | - fieldList.push({type: 'datetime', value: 'updateTime', text: '更新日期'}) | |
241 | + let fieldList = [] | |
242 | + fieldList.push({ type: 'string', value: 'code', text: '编码', dictCode: '' }) | |
243 | + fieldList.push({ type: 'string', value: 'name', text: '名称', dictCode: '' }) | |
244 | + fieldList.push({ type: 'int', value: 'length', text: '长度', dictCode: '' }) | |
245 | + fieldList.push({ type: 'int', value: 'weight', text: '宽度', dictCode: '' }) | |
246 | + fieldList.push({ type: 'int', value: 'height', text: '高度', dictCode: '' }) | |
247 | + fieldList.push({ type: 'int', value: 'maxWeight', text: '最大承重', dictCode: '' }) | |
248 | + fieldList.push({ type: 'string', value: 'createBy', text: '创建人', dictCode: '' }) | |
249 | + fieldList.push({ type: 'datetime', value: 'createTime', text: '创建日期' }) | |
250 | + fieldList.push({ type: 'string', value: 'updateBy', text: '更新人', dictCode: '' }) | |
251 | + fieldList.push({ type: 'datetime', value: 'updateTime', text: '更新日期' }) | |
250 | 252 | this.superFieldList = fieldList |
251 | - }, | |
252 | - }, | |
253 | + } | |
254 | + } | |
253 | 255 | } |
254 | 256 | </script> |
255 | 257 | <style scoped> |
... | ... |
ant-design-vue-jeecg/src/views/system/config/MaterialAreaList.vue
... | ... | @@ -34,7 +34,7 @@ |
34 | 34 | <div> |
35 | 35 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
36 | 36 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
37 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
37 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
38 | 38 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
39 | 39 | </div> |
40 | 40 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/MaterialList.vue
... | ... | @@ -62,7 +62,7 @@ |
62 | 62 | <div> |
63 | 63 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
64 | 64 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
65 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
65 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
66 | 66 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
67 | 67 | </div> |
68 | 68 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/MaterialMultipleList.vue
... | ... | @@ -34,7 +34,7 @@ |
34 | 34 | <div> |
35 | 35 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
36 | 36 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
37 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
37 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
38 | 38 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
39 | 39 | </div> |
40 | 40 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/MaterialTypeList.vue
... | ... | @@ -54,7 +54,7 @@ |
54 | 54 | <div> |
55 | 55 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
56 | 56 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
57 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
57 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
58 | 58 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
59 | 59 | </div> |
60 | 60 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/MaterialUnitList.vue
... | ... | @@ -61,7 +61,7 @@ |
61 | 61 | <div> |
62 | 62 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
63 | 63 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
64 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
64 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
65 | 65 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
66 | 66 | </div> |
67 | 67 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/MaterialWarningList.vue
... | ... | @@ -54,7 +54,7 @@ |
54 | 54 | <div> |
55 | 55 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
56 | 56 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
57 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
57 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
58 | 58 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
59 | 59 | </div> |
60 | 60 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/ParameterConfigurationList.vue
... | ... | @@ -61,7 +61,7 @@ |
61 | 61 | <div> |
62 | 62 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
63 | 63 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
64 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
64 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
65 | 65 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
66 | 66 | </div> |
67 | 67 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/PortList.vue
... | ... | @@ -61,7 +61,7 @@ |
61 | 61 | <div> |
62 | 62 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
63 | 63 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
64 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
64 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
65 | 65 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
66 | 66 | </div> |
67 | 67 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/ReceiptTypeList.vue
... | ... | @@ -53,7 +53,7 @@ |
53 | 53 | <div> |
54 | 54 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
55 | 55 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
56 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
56 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
57 | 57 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
58 | 58 | </div> |
59 | 59 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/ShipmentTypeList.vue
... | ... | @@ -53,7 +53,7 @@ |
53 | 53 | <div> |
54 | 54 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
55 | 55 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
56 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
56 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
57 | 57 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
58 | 58 | </div> |
59 | 59 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/StrategyList.vue
... | ... | @@ -29,7 +29,7 @@ |
29 | 29 | <!-- table区域-begin --> |
30 | 30 | <div> |
31 | 31 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
32 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
32 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
33 | 33 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
34 | 34 | </div> |
35 | 35 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/SupplierList.vue
... | ... | @@ -61,7 +61,7 @@ |
61 | 61 | <div> |
62 | 62 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
63 | 63 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
64 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
64 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
65 | 65 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
66 | 66 | </div> |
67 | 67 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/SysUserWarehouseList.vue
... | ... | @@ -49,7 +49,7 @@ |
49 | 49 | <div> |
50 | 50 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
51 | 51 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
52 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
52 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
53 | 53 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
54 | 54 | </div> |
55 | 55 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/WarehouseList.vue
... | ... | @@ -56,7 +56,7 @@ |
56 | 56 | <div> |
57 | 57 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
58 | 58 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
59 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
59 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
60 | 60 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
61 | 61 | </div> |
62 | 62 | |
... | ... |
ant-design-vue-jeecg/src/views/system/config/ZoneList.vue
... | ... | @@ -20,7 +20,7 @@ |
20 | 20 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
21 | 21 | <a @click="handleToggleSearch" style="margin-left: 8px"> |
22 | 22 | {{ toggleSearchStatus ? '收起' : '展开' }} |
23 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
23 | + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> | |
24 | 24 | </a> |
25 | 25 | </span> |
26 | 26 | </a-col> |
... | ... | @@ -32,20 +32,30 @@ |
32 | 32 | <!-- 操作按钮区域 --> |
33 | 33 | <div class="table-operator"> |
34 | 34 | <a-button v-has="'zone:add'" @click="handleAdd" type="primary" icon="plus">新增</a-button> |
35 | - <a-button v-has="'zone:export'" type="primary" icon="download" @click="handleExportXls('库区管理')">导出</a-button> | |
36 | - <a-upload v-has="'zone:import'" name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" | |
37 | - @change="handleImportExcel"> | |
35 | + <a-button v-has="'zone:export'" type="primary" icon="download" @click="handleExportXls('库区管理')" | |
36 | + >导出</a-button | |
37 | + > | |
38 | + <a-upload | |
39 | + v-has="'zone:import'" | |
40 | + name="file" | |
41 | + :showUploadList="false" | |
42 | + :multiple="false" | |
43 | + :headers="tokenHeader" | |
44 | + :action="importExcelUrl" | |
45 | + @change="handleImportExcel" | |
46 | + > | |
38 | 47 | <a-button type="primary" icon="import">导入</a-button> |
39 | 48 | </a-upload> |
40 | 49 | <a-dropdown v-if="selectedRowKeys.length > 0"> |
41 | 50 | <a-menu slot="overlay" v-has="'zone:deleteBatch'"> |
42 | 51 | <a-menu-item key="1" @click="batchDel"> |
43 | - <a-icon type="delete"/> | |
52 | + <a-icon type="delete" /> | |
44 | 53 | 删除 |
45 | 54 | </a-menu-item> |
46 | 55 | </a-menu> |
47 | - <a-button style="margin-left: 8px"> 批量操作 | |
48 | - <a-icon type="down"/> | |
56 | + <a-button style="margin-left: 8px"> | |
57 | + 批量操作 | |
58 | + <a-icon type="down" /> | |
49 | 59 | </a-button> |
50 | 60 | </a-dropdown> |
51 | 61 | </div> |
... | ... | @@ -53,27 +63,27 @@ |
53 | 63 | <!-- table区域-begin --> |
54 | 64 | <div> |
55 | 65 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
56 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a | |
57 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
66 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 | |
67 | + <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
58 | 68 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
59 | 69 | </div> |
60 | 70 | |
61 | 71 | <a-table |
62 | 72 | ref="table" |
63 | 73 | size="middle" |
64 | - :scroll="{x:true}" | |
74 | + :scroll="{ x: true }" | |
65 | 75 | bordered |
66 | 76 | rowKey="id" |
67 | 77 | :columns="columns" |
68 | 78 | :dataSource="dataSource" |
69 | 79 | :pagination="ipagination" |
70 | 80 | :loading="loading" |
71 | - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" | |
81 | + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" | |
72 | 82 | class="j-table-force-nowrap" |
73 | - @change="handleTableChange"> | |
74 | - | |
75 | - <span slot="locationTypeCode" slot-scope="locationTypeCode"> | |
76 | - <a-tag :key="locationTypeCode" color=pink> | |
83 | + @change="handleTableChange" | |
84 | + > | |
85 | + <span slot="locationTypeCodes" slot-scope="locationTypeCodes" > | |
86 | + <a-tag v-for="locationTypeCode in locationTypeCodes" :key="locationTypeCode" color=pink> | |
77 | 87 | {{ solutionLocationType(locationTypeCode) }} |
78 | 88 | </a-tag> |
79 | 89 | </span> |
... | ... | @@ -83,26 +93,23 @@ |
83 | 93 | </template> |
84 | 94 | <template slot="imgSlot" slot-scope="text"> |
85 | 95 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> |
86 | - <img v-else :src="getImgView(text)" height="25px" alt="" | |
87 | - style="max-width:80px;font-size: 12px;font-style: italic;"/> | |
96 | + <img | |
97 | + v-else | |
98 | + :src="getImgView(text)" | |
99 | + height="25px" | |
100 | + alt="" | |
101 | + style="max-width:80px;font-size: 12px;font-style: italic;" | |
102 | + /> | |
88 | 103 | </template> |
89 | 104 | <template slot="fileSlot" slot-scope="text"> |
90 | 105 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> |
91 | - <a-button | |
92 | - v-else | |
93 | - :ghost="true" | |
94 | - type="primary" | |
95 | - icon="download" | |
96 | - size="small" | |
97 | - @click="downloadFile(text)"> | |
106 | + <a-button v-else :ghost="true" type="primary" icon="download" size="small" @click="downloadFile(text)"> | |
98 | 107 | 下载 |
99 | 108 | </a-button> |
100 | 109 | </template> |
101 | 110 | |
102 | 111 | <span slot="action" slot-scope="text, record"> |
103 | - <a v-has="'zone:edit'" @click="handleEdit(record)">编辑</a> | |
104 | - | |
105 | - <a-divider type="vertical"/> | |
112 | + <a v-has="'zone:edit'" @click="handleEdit(record)">编辑<a-divider type="vertical"/></a> | |
106 | 113 | <a-dropdown> |
107 | 114 | <a class="ant-dropdown-link">更多 <a-icon type="down"/></a> |
108 | 115 | <a-menu slot="overlay"> |
... | ... | @@ -117,7 +124,6 @@ |
117 | 124 | </a-menu> |
118 | 125 | </a-dropdown> |
119 | 126 | </span> |
120 | - | |
121 | 127 | </a-table> |
122 | 128 | </div> |
123 | 129 | |
... | ... | @@ -126,12 +132,11 @@ |
126 | 132 | </template> |
127 | 133 | |
128 | 134 | <script> |
129 | - | |
130 | 135 | import '@/assets/less/TableExpand.less' |
131 | -import {mixinDevice} from '@/utils/mixin' | |
132 | -import {JeecgListMixin} from '@/mixins/JeecgListMixin' | |
136 | +import { mixinDevice } from '@/utils/mixin' | |
137 | +import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
133 | 138 | import ZoneModal from './modules/ZoneModal' |
134 | -import {getLocationTypeList} from '@/api/api' | |
139 | +import { getLocationTypeList } from '@/api/api' | |
135 | 140 | |
136 | 141 | export default { |
137 | 142 | name: 'ZoneList', |
... | ... | @@ -150,93 +155,93 @@ export default { |
150 | 155 | dataIndex: '', |
151 | 156 | key: 'rowIndex', |
152 | 157 | width: 60, |
153 | - align: "center", | |
154 | - customRender: function (t, r, index) { | |
155 | - return parseInt(index) + 1; | |
158 | + align: 'center', | |
159 | + customRender: function(t, r, index) { | |
160 | + return parseInt(index) + 1 | |
156 | 161 | } |
157 | 162 | }, |
158 | 163 | { |
159 | 164 | title: '编码', |
160 | - align: "center", | |
165 | + align: 'center', | |
161 | 166 | dataIndex: 'code' |
162 | 167 | }, |
163 | 168 | { |
164 | 169 | title: '名称', |
165 | - align: "center", | |
170 | + align: 'center', | |
166 | 171 | dataIndex: 'name' |
167 | 172 | }, |
168 | 173 | { |
169 | 174 | title: '包含库位类型', |
170 | - align: "center", | |
171 | - dataIndex: 'locationTypeCode', | |
175 | + align: 'center', | |
176 | + dataIndex: 'locationTypeCodes', | |
177 | + key: 'locationTypeCodes', | |
178 | + scopedSlots: {customRender: 'locationTypeCodes'} | |
172 | 179 | }, |
173 | 180 | { |
174 | 181 | title: '创建人', |
175 | - align: "center", | |
182 | + align: 'center', | |
176 | 183 | dataIndex: 'createBy' |
177 | 184 | }, |
178 | 185 | { |
179 | 186 | title: '创建日期', |
180 | - align: "center", | |
187 | + align: 'center', | |
181 | 188 | dataIndex: 'createTime' |
182 | 189 | }, |
183 | 190 | { |
184 | 191 | title: '更新人', |
185 | - align: "center", | |
192 | + align: 'center', | |
186 | 193 | dataIndex: 'updateBy' |
187 | 194 | }, |
188 | 195 | { |
189 | 196 | title: '更新日期', |
190 | - align: "center", | |
197 | + align: 'center', | |
191 | 198 | dataIndex: 'updateTime' |
192 | 199 | }, |
193 | 200 | { |
194 | 201 | title: '操作', |
195 | 202 | dataIndex: 'action', |
196 | - align: "center", | |
197 | - fixed: "right", | |
203 | + align: 'center', | |
204 | + fixed: 'right', | |
198 | 205 | width: 147, |
199 | - scopedSlots: {customRender: 'action'} | |
206 | + scopedSlots: { customRender: 'action' } | |
200 | 207 | } |
201 | 208 | ], |
202 | 209 | url: { |
203 | - list: "/config/zone/list", | |
204 | - delete: "/config/zone/delete", | |
205 | - deleteBatch: "/config/zone/deleteBatch", | |
206 | - exportXlsUrl: "/config/zone/exportXls", | |
207 | - importExcelUrl: "config/zone/importExcel", | |
208 | - | |
210 | + list: '/config/zone/list', | |
211 | + delete: '/config/zone/delete', | |
212 | + deleteBatch: '/config/zone/deleteBatch', | |
213 | + exportXlsUrl: '/config/zone/exportXls', | |
214 | + importExcelUrl: 'config/zone/importExcel' | |
209 | 215 | }, |
210 | 216 | dictOptions: {}, |
211 | - superFieldList: [], | |
217 | + superFieldList: [] | |
212 | 218 | } |
213 | 219 | }, |
214 | 220 | created() { |
215 | - this.getSuperFieldList(); | |
216 | - this.loadFrom(); | |
221 | + this.getSuperFieldList() | |
222 | + this.loadFrom() | |
217 | 223 | }, |
218 | 224 | computed: { |
219 | - importExcelUrl: function () { | |
220 | - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; | |
221 | - }, | |
225 | + importExcelUrl: function() { | |
226 | + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` | |
227 | + } | |
222 | 228 | }, |
223 | 229 | methods: { |
224 | - initDictConfig() { | |
225 | - }, | |
230 | + initDictConfig() {}, | |
226 | 231 | getSuperFieldList() { |
227 | - let fieldList = []; | |
228 | - fieldList.push({type: 'string', value: 'code', text: '编码', dictCode: ''}) | |
229 | - fieldList.push({type: 'string', value: 'name', text: '名称', dictCode: ''}) | |
230 | - fieldList.push({type: 'string', value: 'companyCode', text: '货主编码', dictCode: ''}) | |
231 | - fieldList.push({type: 'string', value: 'locationTypeCode', text: '库位类型', dictCode: ''}) | |
232 | - fieldList.push({type: 'string', value: 'createBy', text: '创建人', dictCode: ''}) | |
233 | - fieldList.push({type: 'datetime', value: 'createTime', text: '创建日期'}) | |
234 | - fieldList.push({type: 'string', value: 'updateBy', text: '更新人', dictCode: ''}) | |
235 | - fieldList.push({type: 'datetime', value: 'updateTime', text: '更新日期'}) | |
232 | + let fieldList = [] | |
233 | + fieldList.push({ type: 'string', value: 'code', text: '编码', dictCode: '' }) | |
234 | + fieldList.push({ type: 'string', value: 'name', text: '名称', dictCode: '' }) | |
235 | + fieldList.push({ type: 'string', value: 'companyCode', text: '货主编码', dictCode: '' }) | |
236 | + fieldList.push({ type: 'string', value: 'locationTypeCode', text: '库位类型', dictCode: '' }) | |
237 | + fieldList.push({ type: 'string', value: 'createBy', text: '创建人', dictCode: '' }) | |
238 | + fieldList.push({ type: 'datetime', value: 'createTime', text: '创建日期' }) | |
239 | + fieldList.push({ type: 'string', value: 'updateBy', text: '更新人', dictCode: '' }) | |
240 | + fieldList.push({ type: 'datetime', value: 'updateTime', text: '更新日期' }) | |
236 | 241 | this.superFieldList = fieldList |
237 | 242 | }, |
238 | 243 | loadFrom() { |
239 | - getLocationTypeList().then((res) => { | |
244 | + getLocationTypeList().then(res => { | |
240 | 245 | if (res.success) { |
241 | 246 | this.locationTypeList = res.result |
242 | 247 | } |
... | ... | @@ -244,8 +249,8 @@ export default { |
244 | 249 | }, |
245 | 250 | solutionLocationType(value) { |
246 | 251 | var actions = [] |
247 | - Object.keys(this.locationTypeList).some((key) => { | |
248 | - if (this.locationTypeList[key].code == ('' + value)) { | |
252 | + Object.keys(this.locationTypeList).some(key => { | |
253 | + if (this.locationTypeList[key].code == '' + value) { | |
249 | 254 | actions.push(this.locationTypeList[key].name) |
250 | 255 | return true |
251 | 256 | } |
... | ... |
ant-design-vue-jeecg/src/views/system/config/modules/ContainerCapacityForm.vue
... | ... | @@ -5,12 +5,15 @@ |
5 | 5 | <a-row> |
6 | 6 | <a-col :span="24"> |
7 | 7 | <a-form-model-item label="容器类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="containerTypeCode"> |
8 | - <a-input v-model="model.containerTypeCode" placeholder="请输入容器类型"></a-input> | |
9 | - </a-form-model-item> | |
10 | - </a-col> | |
11 | - <a-col :span="24"> | |
12 | - <a-form-model-item label="货主" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="companyCode"> | |
13 | - <a-input v-model="model.companyCode" placeholder="请输入货主"></a-input> | |
8 | + <a-select | |
9 | + show-search | |
10 | + placeholder="请选择容器类型" | |
11 | + option-filter-prop="children" | |
12 | + v-model="model.containerTypeCode"> | |
13 | + <a-select-option v-for="item in containerTypeList" :key="item.name" :value="item.code"> | |
14 | + {{ item.name }} | |
15 | + </a-select-option> | |
16 | + </a-select> | |
14 | 17 | </a-form-model-item> |
15 | 18 | </a-col> |
16 | 19 | <a-col :span="24"> |
... | ... | @@ -19,18 +22,8 @@ |
19 | 22 | </a-form-model-item> |
20 | 23 | </a-col> |
21 | 24 | <a-col :span="24"> |
22 | - <a-form-model-item label="物料名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialName"> | |
23 | - <a-input v-model="model.materialName" placeholder="请输入物料名称"></a-input> | |
24 | - </a-form-model-item> | |
25 | - </a-col> | |
26 | - <a-col :span="24"> | |
27 | - <a-form-model-item label="物料单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialUnit"> | |
28 | - <a-input v-model="model.materialUnit" placeholder="请输入物料单位"></a-input> | |
29 | - </a-form-model-item> | |
30 | - </a-col> | |
31 | - <a-col :span="24"> | |
32 | - <a-form-model-item label="存放数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="qty"> | |
33 | - <a-input-number v-model="model.qty" placeholder="请输入存放数量" style="width: 100%"/> | |
25 | + <a-form-model-item label="容量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="qty"> | |
26 | + <a-input-number v-model="model.qty" placeholder="请输入容量" style="width: 100%"/> | |
34 | 27 | </a-form-model-item> |
35 | 28 | </a-col> |
36 | 29 | <a-col :span="24"> |
... | ... | @@ -48,6 +41,7 @@ |
48 | 41 | |
49 | 42 | import {httpAction, getAction} from '@/api/manage' |
50 | 43 | import {validateDuplicateValue} from '@/utils/util' |
44 | +import {getContainerTypeList} from '@/api/api' | |
51 | 45 | |
52 | 46 | export default { |
53 | 47 | name: 'ContainerCapacityForm', |
... | ... | @@ -63,6 +57,7 @@ export default { |
63 | 57 | data() { |
64 | 58 | return { |
65 | 59 | model: {}, |
60 | + containerTypeList: [], | |
66 | 61 | labelCol: { |
67 | 62 | xs: {span: 24}, |
68 | 63 | sm: {span: 5}, |
... | ... | @@ -80,10 +75,10 @@ export default { |
80 | 75 | {required: true, message: '请输入物料编码!'}, |
81 | 76 | ], |
82 | 77 | qty: [ |
83 | - {required: true, message: '请输入存放数量!'}, | |
78 | + {required: true, message: '请输入容量!'}, | |
84 | 79 | ], |
85 | 80 | enable: [ |
86 | - {required: true, message: '请输入是否可用!'}, | |
81 | + {required: true, message: '请选择是否可用!'}, | |
87 | 82 | ], |
88 | 83 | }, |
89 | 84 | url: { |
... | ... | @@ -101,8 +96,16 @@ export default { |
101 | 96 | created() { |
102 | 97 | //备份model原始值 |
103 | 98 | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
99 | + this.loadFrom(); | |
104 | 100 | }, |
105 | 101 | methods: { |
102 | + loadFrom() { | |
103 | + getContainerTypeList().then((res) => { | |
104 | + if (res.success) { | |
105 | + this.containerTypeList = res.result | |
106 | + } | |
107 | + }); | |
108 | + }, | |
106 | 109 | add() { |
107 | 110 | this.edit(this.modelDefault); |
108 | 111 | }, |
... | ... |
ant-design-vue-jeecg/src/views/system/config/modules/ContainerForm.vue
... | ... | @@ -9,11 +9,9 @@ |
9 | 9 | show-search |
10 | 10 | placeholder="请选择容器类型" |
11 | 11 | option-filter-prop="children" |
12 | - | |
13 | 12 | v-model="model.containerTypeCode"> |
14 | - <a-select-option v-for="item in containerTypeList" :key="item.name" :value="item.code">{{ | |
15 | - item.name | |
16 | - }} | |
13 | + <a-select-option v-for="item in containerTypeList" :key="item.name" :value="item.code"> | |
14 | + {{ item.name }} | |
17 | 15 | </a-select-option> |
18 | 16 | </a-select> |
19 | 17 | </a-form-model-item> |
... | ... |
ant-design-vue-jeecg/src/views/system/config/modules/ContainerTypeForm.vue
... | ... | @@ -13,14 +13,26 @@ |
13 | 13 | <a-input v-model="model.name" placeholder="请输入名称"></a-input> |
14 | 14 | </a-form-model-item> |
15 | 15 | </a-col> |
16 | - <a-col :span="24"> | |
17 | - <a-form-model-item label="货主编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="companyCode"> | |
18 | - <a-input v-model="model.companyCode" placeholder="请输入货主编码"></a-input> | |
16 | + <!-- <a-col :span="24"> | |
17 | + <a-form-model-item label="货主" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="companyCode"> | |
18 | + <a-select | |
19 | + show-search | |
20 | + placeholder="请选择货主编码" | |
21 | + option-filter-prop="children" | |
22 | + v-model="model.companyCode"> | |
23 | + <a-select-option v-for="item in companyList" :key="item.name" :value="item.code"> | |
24 | + {{ item.name }} | |
25 | + </a-select-option> | |
26 | + </a-select> | |
19 | 27 | </a-form-model-item> |
20 | - </a-col> | |
28 | + </a-col> --> | |
21 | 29 | <a-col :span="24"> |
22 | 30 | <a-form-model-item label="绑定的库位类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="locationType"> |
23 | - <a-input v-model="model.locationType" placeholder="请输入绑定的库位类型"></a-input> | |
31 | + <j-select-multiple | |
32 | + v-model="model.locationType" | |
33 | + :options="locationTypeOptions" | |
34 | + placeholder="请选择库位类型"> | |
35 | + </j-select-multiple> | |
24 | 36 | </a-form-model-item> |
25 | 37 | </a-col> |
26 | 38 | <a-col :span="24"> |
... | ... | @@ -57,7 +69,7 @@ |
57 | 69 | <script> |
58 | 70 | |
59 | 71 | import {httpAction, getAction} from '@/api/manage' |
60 | -import {validateDuplicateValue} from '@/utils/util' | |
72 | +import {getLocationTypeList, getCompanyList} from '@/api/api' | |
61 | 73 | |
62 | 74 | export default { |
63 | 75 | name: 'ContainerTypeForm', |
... | ... | @@ -73,6 +85,8 @@ export default { |
73 | 85 | data() { |
74 | 86 | return { |
75 | 87 | model: {}, |
88 | + companyList: [], | |
89 | + locationTypeOptions: [], | |
76 | 90 | labelCol: { |
77 | 91 | xs: {span: 24}, |
78 | 92 | sm: {span: 5}, |
... | ... | @@ -90,7 +104,7 @@ export default { |
90 | 104 | {required: true, message: '请输入名称!'}, |
91 | 105 | ], |
92 | 106 | locationType: [ |
93 | - {required: true, message: '请输入库位类型!'}, | |
107 | + {required: true, message: '请选择库位类型!'}, | |
94 | 108 | ], |
95 | 109 | }, |
96 | 110 | url: { |
... | ... | @@ -110,10 +124,26 @@ export default { |
110 | 124 | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
111 | 125 | }, |
112 | 126 | methods: { |
127 | + loadFrom() { | |
128 | + getCompanyList().then((res) => { | |
129 | + if (res.success) { | |
130 | + this.companyList = res.result | |
131 | + } | |
132 | + }); | |
133 | + getLocationTypeList().then((res) => { | |
134 | + if (res.success) { | |
135 | + this.locationTypeOptions = res.result.map((item, index, arr) => { | |
136 | + return {label: item.name, value: item.code} | |
137 | + }) | |
138 | + } | |
139 | + }); | |
140 | + }, | |
113 | 141 | add() { |
142 | + this.loadFrom(); | |
114 | 143 | this.edit(this.modelDefault); |
115 | 144 | }, |
116 | 145 | edit(record) { |
146 | + this.loadFrom(); | |
117 | 147 | this.model = Object.assign({}, record); |
118 | 148 | this.visible = true; |
119 | 149 | }, |
... | ... |
ant-design-vue-jeecg/src/views/system/config/modules/ZoneForm.vue
... | ... | @@ -15,7 +15,7 @@ |
15 | 15 | </a-col> |
16 | 16 | <a-col :span="24"> |
17 | 17 | <a-form-model-item label="包含库位类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="locationTypeCode"> |
18 | - <a-input v-model="model.locationTypeCode" placeholder="请输入库位类型编码"></a-input> | |
18 | + <a-input v-model="model.locationTypeCode" placeholder="请输入包含库位类型编码,用英文逗号分割"></a-input> | |
19 | 19 | </a-form-model-item> |
20 | 20 | </a-col> |
21 | 21 | </a-row> |
... | ... |
ant-design-vue-jeecg/src/views/system/inventory/InventoryChildList.vue
... | ... | @@ -106,7 +106,7 @@ |
106 | 106 | <!-- table区域-begin --> |
107 | 107 | <div> |
108 | 108 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
109 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
109 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
110 | 110 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
111 | 111 | </div> |
112 | 112 | |
... | ... | @@ -143,12 +143,9 @@ |
143 | 143 | 下载 |
144 | 144 | </a-button> |
145 | 145 | </template> |
146 | - | |
147 | 146 | <span slot="action" slot-scope="text, record"> |
148 | 147 | <a v-has="'inventoryChild:edit'" @click="handleEdit(record)">编辑</a> |
149 | - | |
150 | 148 | </span> |
151 | - | |
152 | 149 | </a-table> |
153 | 150 | </div> |
154 | 151 | |
... | ... |
ant-design-vue-jeecg/src/views/system/inventory/InventoryDetailList.vue
... | ... | @@ -3,7 +3,9 @@ |
3 | 3 | <!-- 操作按钮区域 --> |
4 | 4 | <div class="table-operator" v-if="mainId"> |
5 | 5 | <a-button v-has="'inventoryDetail:add'" @click="handleAdd" type="primary" icon="plus">新增</a-button> |
6 | - <a-button v-has="'inventoryDetail:export'" type="primary" icon="download" @click="handleExportXls('库存详情')">导出</a-button> | |
6 | + <a-button v-has="'inventoryDetail:export'" type="primary" icon="download" @click="handleExportXls('库存详情')" | |
7 | + >导出</a-button | |
8 | + > | |
7 | 9 | <a-upload |
8 | 10 | v-has="'inventoryDetail:import'" |
9 | 11 | name="file" |
... | ... | @@ -11,18 +13,20 @@ |
11 | 13 | :multiple="false" |
12 | 14 | :headers="tokenHeader" |
13 | 15 | :action="importExcelUrl" |
14 | - @change="handleImportExcel"> | |
16 | + @change="handleImportExcel" | |
17 | + > | |
15 | 18 | <a-button type="primary" icon="import">导入</a-button> |
16 | 19 | </a-upload> |
17 | 20 | <a-dropdown v-if="selectedRowKeys.length > 0"> |
18 | 21 | <a-menu slot="overlay" v-has="'inventoryDetail:deleteBatch'"> |
19 | 22 | <a-menu-item key="1" @click="batchDel"> |
20 | - <a-icon type="delete"/> | |
23 | + <a-icon type="delete" /> | |
21 | 24 | 删除 |
22 | 25 | </a-menu-item> |
23 | 26 | </a-menu> |
24 | - <a-button style="margin-left: 8px"> 批量操作 | |
25 | - <a-icon type="down"/> | |
27 | + <a-button style="margin-left: 8px"> | |
28 | + 批量操作 | |
29 | + <a-icon type="down" /> | |
26 | 30 | </a-button> |
27 | 31 | </a-dropdown> |
28 | 32 | </div> |
... | ... | @@ -30,8 +34,8 @@ |
30 | 34 | <!-- table区域-begin --> |
31 | 35 | <div> |
32 | 36 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
33 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a | |
34 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
37 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 | |
38 | + <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
35 | 39 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
36 | 40 | </div> |
37 | 41 | |
... | ... | @@ -40,16 +44,16 @@ |
40 | 44 | size="middle" |
41 | 45 | bordered |
42 | 46 | rowKey="id" |
43 | - :scroll="{x:true}" | |
47 | + :scroll="{ x: true }" | |
44 | 48 | :columns="columns" |
45 | 49 | :dataSource="dataSource" |
46 | 50 | :pagination="ipagination" |
47 | 51 | :loading="loading" |
48 | - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" | |
49 | - @change="handleTableChange"> | |
50 | - | |
52 | + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" | |
53 | + @change="handleTableChange" | |
54 | + > | |
51 | 55 | <span slot="companyCode" slot-scope="companyCode"> |
52 | - <a-tag :key="companyCode" color=blue> | |
56 | + <a-tag :key="companyCode" color="blue"> | |
53 | 57 | {{ solutionCompany(companyCode) }} |
54 | 58 | </a-tag> |
55 | 59 | </span> |
... | ... | @@ -59,31 +63,27 @@ |
59 | 63 | </template> |
60 | 64 | <template slot="imgSlot" slot-scope="text"> |
61 | 65 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> |
62 | - <img v-else :src="getImgView(text)" height="25px" alt="" | |
63 | - style="max-width:80px;font-size: 12px;font-style: italic;"/> | |
66 | + <img | |
67 | + v-else | |
68 | + :src="getImgView(text)" | |
69 | + height="25px" | |
70 | + alt="" | |
71 | + style="max-width:80px;font-size: 12px;font-style: italic;" | |
72 | + /> | |
64 | 73 | </template> |
65 | 74 | <template slot="fileSlot" slot-scope="text"> |
66 | 75 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> |
67 | - <a-button | |
68 | - v-else | |
69 | - :ghost="true" | |
70 | - type="primary" | |
71 | - icon="download" | |
72 | - size="small" | |
73 | - @click="downloadFile(text)"> | |
76 | + <a-button v-else :ghost="true" type="primary" icon="download" size="small" @click="downloadFile(text)"> | |
74 | 77 | 下载 |
75 | 78 | </a-button> |
76 | 79 | </template> |
77 | 80 | |
78 | 81 | <span slot="action" slot-scope="text, record"> |
79 | - <a v-has="'inventoryDetail:edit'" @click="handleEdit(record)">编辑</a> | |
80 | - <a-divider type="vertical"/> | |
81 | - | |
82 | + <a v-has="'inventoryDetail:edit'" @click="handleEdit(record)">编辑<a-divider type="vertical"/></a> | |
82 | 83 | <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> |
83 | 84 | <a v-has="'inventoryDetail:delete'">删除</a> |
84 | 85 | </a-popconfirm> |
85 | 86 | </span> |
86 | - | |
87 | 87 | </a-table> |
88 | 88 | </div> |
89 | 89 | |
... | ... | @@ -92,15 +92,14 @@ |
92 | 92 | </template> |
93 | 93 | |
94 | 94 | <script> |
95 | - | |
96 | -import {JeecgListMixin} from '@/mixins/JeecgListMixin' | |
95 | +import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
97 | 96 | import InventoryDetailModal from './modules/InventoryDetailModal' |
98 | -import {getCompanyList} from '@/api/api' | |
97 | +import { getCompanyList } from '@/api/api' | |
99 | 98 | |
100 | 99 | export default { |
101 | - name: "InventoryDetailList", | |
100 | + name: 'InventoryDetailList', | |
102 | 101 | mixins: [JeecgListMixin], |
103 | - components: {InventoryDetailModal}, | |
102 | + components: { InventoryDetailModal }, | |
104 | 103 | props: { |
105 | 104 | mainId: { |
106 | 105 | type: String, |
... | ... | @@ -116,7 +115,7 @@ export default { |
116 | 115 | this.clearList() |
117 | 116 | } else { |
118 | 117 | this.queryParam['inventoryHeaderId'] = val |
119 | - this.loadData(1); | |
118 | + this.loadData(1) | |
120 | 119 | } |
121 | 120 | } |
122 | 121 | } |
... | ... | @@ -130,15 +129,15 @@ export default { |
130 | 129 | columns: [ |
131 | 130 | { |
132 | 131 | title: '库存详情ID', |
133 | - align: "center", | |
132 | + align: 'center', | |
134 | 133 | dataIndex: 'id' |
135 | 134 | }, |
136 | 135 | { |
137 | 136 | title: '货主', |
138 | - align: "center", | |
137 | + align: 'center', | |
139 | 138 | dataIndex: 'companyCode', |
140 | 139 | key: 'companyCode', |
141 | - scopedSlots: {customRender: 'companyCode'} | |
140 | + scopedSlots: { customRender: 'companyCode' } | |
142 | 141 | }, |
143 | 142 | // { |
144 | 143 | // title: '库区', |
... | ... | @@ -147,130 +146,138 @@ export default { |
147 | 146 | // }, |
148 | 147 | { |
149 | 148 | title: '容器编码', |
150 | - align: "center", | |
149 | + align: 'center', | |
151 | 150 | dataIndex: 'containerCode' |
152 | 151 | }, |
153 | 152 | { |
154 | 153 | title: '库位编码', |
155 | - align: "center", | |
154 | + align: 'center', | |
156 | 155 | dataIndex: 'locationCode' |
157 | 156 | }, |
158 | 157 | { |
159 | 158 | title: '物料编码', |
160 | - align: "center", | |
159 | + align: 'center', | |
161 | 160 | dataIndex: 'materialCode' |
162 | 161 | }, |
163 | 162 | { |
164 | 163 | title: '物料名称', |
165 | - align: "center", | |
164 | + align: 'center', | |
166 | 165 | dataIndex: 'materialName' |
167 | 166 | }, |
168 | 167 | { |
169 | 168 | title: '物料规格', |
170 | - align: "center", | |
169 | + align: 'center', | |
171 | 170 | dataIndex: 'materialSpec' |
172 | 171 | }, |
173 | 172 | { |
174 | 173 | title: '物料单位', |
175 | - align: "center", | |
174 | + align: 'center', | |
176 | 175 | dataIndex: 'materialUnit' |
177 | 176 | }, |
178 | 177 | { |
179 | 178 | title: '数量', |
180 | - align: "center", | |
179 | + align: 'center', | |
181 | 180 | dataIndex: 'qty' |
182 | 181 | }, |
183 | 182 | { |
184 | 183 | title: '任务锁定数量', |
185 | - align: "center", | |
184 | + align: 'center', | |
186 | 185 | dataIndex: 'taskQty' |
187 | 186 | }, |
188 | 187 | { |
188 | + title: '托盘填充度', | |
189 | + align: 'center', | |
190 | + dataIndex: 'fillDensity', | |
191 | + customRender: text => { | |
192 | + return text == null ? '' : text + '%' | |
193 | + } | |
194 | + }, | |
195 | + { | |
189 | 196 | title: '库存状态', |
190 | - align: "center", | |
191 | - dataIndex: 'inventoryStatus_dictText', | |
197 | + align: 'center', | |
198 | + dataIndex: 'inventoryStatus_dictText' | |
192 | 199 | }, |
193 | 200 | { |
194 | 201 | title: '批次', |
195 | - align: "center", | |
202 | + align: 'center', | |
196 | 203 | dataIndex: 'batch' |
197 | 204 | }, |
198 | - { | |
199 | - title: '唯一号', | |
200 | - align: "center", | |
201 | - dataIndex: 'uniqueCode' | |
202 | - }, | |
205 | + // { | |
206 | + // title: '唯一号', | |
207 | + // align: "center", | |
208 | + // dataIndex: 'uniqueCode' | |
209 | + // }, | |
203 | 210 | { |
204 | 211 | title: '入库日期', |
205 | - align: "center", | |
212 | + align: 'center', | |
206 | 213 | dataIndex: 'receiptDate' |
207 | 214 | }, |
208 | 215 | { |
209 | 216 | title: '库龄(天)', |
210 | - align: "center", | |
217 | + align: 'center', | |
211 | 218 | dataIndex: 'inventoryAge' |
212 | 219 | }, |
213 | 220 | { |
214 | 221 | title: '创建人', |
215 | - align: "center", | |
222 | + align: 'center', | |
216 | 223 | dataIndex: 'createBy' |
217 | 224 | }, |
218 | 225 | { |
219 | 226 | title: '创建日期', |
220 | - align: "center", | |
227 | + align: 'center', | |
221 | 228 | dataIndex: 'createTime' |
222 | 229 | }, |
223 | 230 | { |
224 | 231 | title: '更新人', |
225 | - align: "center", | |
232 | + align: 'center', | |
226 | 233 | dataIndex: 'updateBy' |
227 | 234 | }, |
228 | 235 | { |
229 | 236 | title: '更新日期', |
230 | - align: "center", | |
237 | + align: 'center', | |
231 | 238 | dataIndex: 'updateTime' |
232 | 239 | }, |
233 | 240 | { |
234 | 241 | title: '操作', |
235 | 242 | dataIndex: 'action', |
236 | - align: "center", | |
237 | - fixed: "right", | |
243 | + align: 'center', | |
244 | + fixed: 'right', | |
238 | 245 | width: 147, |
239 | - scopedSlots: {customRender: 'action'}, | |
246 | + scopedSlots: { customRender: 'action' } | |
240 | 247 | } |
241 | 248 | ], |
242 | 249 | url: { |
243 | - list: "/inventory/inventoryHeader/listInventoryDetailByMainId", | |
244 | - delete: "/inventory/inventoryHeader/deleteInventoryDetail", | |
245 | - deleteBatch: "/inventory/inventoryHeader/deleteBatchInventoryDetail", | |
246 | - exportXlsUrl: "/inventory/inventoryHeader/exportInventoryDetail", | |
247 | - importUrl: "/inventory/inventoryHeader/importInventoryDetail", | |
250 | + list: '/inventory/inventoryHeader/listInventoryDetailByMainId', | |
251 | + delete: '/inventory/inventoryHeader/deleteInventoryDetail', | |
252 | + deleteBatch: '/inventory/inventoryHeader/deleteBatchInventoryDetail', | |
253 | + exportXlsUrl: '/inventory/inventoryHeader/exportInventoryDetail', | |
254 | + importUrl: '/inventory/inventoryHeader/importInventoryDetail' | |
248 | 255 | }, |
249 | 256 | dictOptions: { |
250 | - containerStatus: [], | |
257 | + containerStatus: [] | |
251 | 258 | } |
252 | 259 | } |
253 | 260 | }, |
254 | 261 | created() { |
255 | - this.loadFrom(); | |
262 | + this.loadFrom() | |
256 | 263 | }, |
257 | 264 | computed: { |
258 | 265 | importExcelUrl() { |
259 | - return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`; | |
266 | + return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}` | |
260 | 267 | } |
261 | 268 | }, |
262 | 269 | methods: { |
263 | 270 | loadFrom() { |
264 | - getCompanyList().then((res) => { | |
271 | + getCompanyList().then(res => { | |
265 | 272 | if (res.success) { |
266 | 273 | this.companyList = res.result |
267 | 274 | } |
268 | - }); | |
275 | + }) | |
269 | 276 | }, |
270 | 277 | solutionCompany(value) { |
271 | 278 | var actions = [] |
272 | - Object.keys(this.companyList).some((key) => { | |
273 | - if (this.companyList[key].code == ('' + value)) { | |
279 | + Object.keys(this.companyList).some(key => { | |
280 | + if (this.companyList[key].code == '' + value) { | |
274 | 281 | actions.push(this.companyList[key].name) |
275 | 282 | return true |
276 | 283 | } |
... | ... | @@ -282,10 +289,9 @@ export default { |
282 | 289 | this.selectedRowKeys = [] |
283 | 290 | this.ipagination.current = 1 |
284 | 291 | } |
285 | - | |
286 | 292 | } |
287 | 293 | } |
288 | 294 | </script> |
289 | 295 | <style scoped> |
290 | -@import '~@assets/less/common.less' | |
296 | +@import '~@assets/less/common.less'; | |
291 | 297 | </style> |
... | ... |
ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue
... | ... | @@ -73,7 +73,7 @@ |
73 | 73 | <div> |
74 | 74 | <!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">--> |
75 | 75 | <!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a--> |
76 | -<!-- style="font-weight: 600">{{ selectedRowKeys.length }}</a>项--> | |
76 | +<!-- style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项--> | |
77 | 77 | <!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>--> |
78 | 78 | <!-- </div>--> |
79 | 79 | |
... | ... |
ant-design-vue-jeecg/src/views/system/inventory/InventoryMaterialSummaryList.vue
... | ... | @@ -53,7 +53,7 @@ |
53 | 53 | <!-- table区域-begin --> |
54 | 54 | <div> |
55 | 55 | <!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">--> |
56 | -<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项--> | |
56 | +<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项--> | |
57 | 57 | <!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>--> |
58 | 58 | <!-- </div>--> |
59 | 59 | |
... | ... | @@ -113,7 +113,7 @@ |
113 | 113 | </a-tab-pane> |
114 | 114 | </a-tabs> |
115 | 115 | |
116 | - <inventory-material-summary-modal ref="modalForm" @ok="modalFormOk"></inventory-material-summary-modal> | |
116 | + <!-- <inventory-material-summary-modal ref="modalForm" @ok="modalFormOk"></inventory-material-summary-modal> --> | |
117 | 117 | </a-card> |
118 | 118 | </template> |
119 | 119 | |
... | ... | @@ -213,8 +213,8 @@ |
213 | 213 | methods: { |
214 | 214 | solutionZoneCode(value) { |
215 | 215 | var actions = [] |
216 | - Object.keys(this.zoneList).some((key) => { | |
217 | - if (this.zoneList[key].code == ('' + value)) { | |
216 | + Object.keys(this.zoneList).some(key => { | |
217 | + if (this.zoneList[key].code == '' + value) { | |
218 | 218 | actions.push(this.zoneList[key].name) |
219 | 219 | return true |
220 | 220 | } |
... | ... | @@ -255,9 +255,7 @@ |
255 | 255 | }, |
256 | 256 | initDictConfig(){ |
257 | 257 | }, |
258 | - | |
259 | 258 | solutionCompany(value) { |
260 | - debugger | |
261 | 259 | var actions = [] |
262 | 260 | Object.keys(this.companyList).some((key) => { |
263 | 261 | if (this.companyList[key].code == ('' + value)) { |
... | ... |
ant-design-vue-jeecg/src/views/system/inventory/InventoryTransactionList.vue
... | ... | @@ -10,7 +10,6 @@ |
10 | 10 | show-search |
11 | 11 | placeholder="请选择货主" |
12 | 12 | option-filter-prop="children" |
13 | - | |
14 | 13 | v-model="queryParam.companyCode"> |
15 | 14 | <a-select-option v-for="item in companyList" :key="item.name" :value="item.code">{{ |
16 | 15 | item.name |
... | ... | @@ -121,7 +120,7 @@ |
121 | 120 | <div> |
122 | 121 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
123 | 122 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
124 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
123 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
125 | 124 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
126 | 125 | </div> |
127 | 126 | |
... | ... | @@ -361,7 +360,7 @@ export default { |
361 | 360 | fieldList.push({type: 'string', value: 'materialName', text: '物料名称', dictCode: ''}) |
362 | 361 | fieldList.push({type: 'string', value: 'materialSpec', text: '物料规格', dictCode: ''}) |
363 | 362 | fieldList.push({type: 'string', value: 'materialUnit', text: '物料单位', dictCode: ''}) |
364 | - fieldList.push({type: 'string', value: 'inventoryStatus', text: '库存状态', dictCode: ''}) | |
363 | + fieldList.push({type: 'string', value: 'inventoryStatus', text: '库存状态', dictCode: 'inventory_status'}) | |
365 | 364 | fieldList.push({type: 'BigDecimal', value: 'qty', text: '数量', dictCode: ''}) |
366 | 365 | fieldList.push({type: 'string', value: 'batch', text: '批次', dictCode: ''}) |
367 | 366 | fieldList.push({type: 'string', value: 'createBy', text: '创建人', dictCode: ''}) |
... | ... |
ant-design-vue-jeecg/src/views/system/inventory/SimpleInventoryDetailList.vue
... | ... | @@ -47,7 +47,11 @@ |
47 | 47 | </a-col> |
48 | 48 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
49 | 49 | <a-form-item label="库存状态"> |
50 | - <j-dict-select-tag placeholder="请选择库存状态" v-model="queryParam.inventoryStatus" dictCode="inventory_status"/> | |
50 | + <j-dict-select-tag | |
51 | + placeholder="请选择库存状态" | |
52 | + v-model="queryParam.inventoryStatus" | |
53 | + dictCode="inventory_status" | |
54 | + /> | |
51 | 55 | </a-form-item> |
52 | 56 | </a-col> |
53 | 57 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
... | ... | @@ -55,14 +59,19 @@ |
55 | 59 | <a-input placeholder="请输入批次" v-model="queryParam.batch"></a-input> |
56 | 60 | </a-form-item> |
57 | 61 | </a-col> |
58 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
62 | + <!-- <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
59 | 63 | <a-form-item label="唯一号"> |
60 | 64 | <a-input placeholder="请输入唯一号" v-model="queryParam.uniqueCode"></a-input> |
61 | 65 | </a-form-item> |
62 | - </a-col> | |
66 | + </a-col> --> | |
63 | 67 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
64 | 68 | <a-form-item label="入库日期"> |
65 | - <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择入库日期" v-model="queryParam.receiptDate"></j-date> | |
69 | + <j-date | |
70 | + :show-time="true" | |
71 | + date-format="YYYY-MM-DD HH:mm:ss" | |
72 | + placeholder="请选择入库日期" | |
73 | + v-model="queryParam.receiptDate" | |
74 | + ></j-date> | |
66 | 75 | </a-form-item> |
67 | 76 | </a-col> |
68 | 77 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
... | ... | @@ -77,7 +86,7 @@ |
77 | 86 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
78 | 87 | <a @click="handleToggleSearch" style="margin-left: 8px"> |
79 | 88 | {{ toggleSearchStatus ? '收起' : '展开' }} |
80 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
89 | + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> | |
81 | 90 | </a> |
82 | 91 | </span> |
83 | 92 | </a-col> |
... | ... | @@ -89,70 +98,81 @@ |
89 | 98 | <!-- 操作按钮区域 --> |
90 | 99 | <div class="table-operator"> |
91 | 100 | <a-button v-has="'inventoryDetail:add'" @click="handleAdd" type="primary" icon="plus">新增</a-button> |
92 | - <a-button v-has="'inventoryDetail:export'" type="primary" icon="download" @click="handleExportXls('库存详情')">导出</a-button> | |
93 | - <a-upload v-has="'inventoryDetail:import'" name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> | |
101 | + <a-button v-has="'inventoryDetail:export'" type="primary" icon="download" @click="handleExportXls('库存详情')" | |
102 | + >导出</a-button | |
103 | + > | |
104 | + <a-upload | |
105 | + v-has="'inventoryDetail:import'" | |
106 | + name="file" | |
107 | + :showUploadList="false" | |
108 | + :multiple="false" | |
109 | + :headers="tokenHeader" | |
110 | + :action="importExcelUrl" | |
111 | + @change="handleImportExcel" | |
112 | + > | |
94 | 113 | <a-button type="primary" icon="import">导入</a-button> |
95 | 114 | </a-upload> |
96 | 115 | <!-- 高级查询区域 --> |
97 | - <j-super-query :fieldList="superFieldList" v-has="'inventoryDetail:superSearch'" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query> | |
98 | -<!-- <a-dropdown v-if="selectedRowKeys.length > 0">--> | |
99 | -<!-- <a-menu slot="overlay">--> | |
100 | -<!-- <a-menu-item v-has="'inventoryDetail:delete'" key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>--> | |
101 | -<!-- </a-menu>--> | |
102 | -<!-- <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>--> | |
103 | -<!-- </a-dropdown>--> | |
116 | + <j-super-query | |
117 | + :fieldList="superFieldList" | |
118 | + v-has="'inventoryDetail:superSearch'" | |
119 | + ref="superQueryModal" | |
120 | + @handleSuperQuery="handleSuperQuery" | |
121 | + ></j-super-query> | |
122 | + <!-- <a-dropdown v-if="selectedRowKeys.length > 0">--> | |
123 | + <!-- <a-menu slot="overlay">--> | |
124 | + <!-- <a-menu-item v-has="'inventoryDetail:delete'" key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>--> | |
125 | + <!-- </a-menu>--> | |
126 | + <!-- <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>--> | |
127 | + <!-- </a-dropdown>--> | |
104 | 128 | </div> |
105 | 129 | |
106 | 130 | <!-- table区域-begin --> |
107 | 131 | <div> |
108 | -<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">--> | |
109 | -<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项--> | |
110 | -<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>--> | |
111 | -<!-- </div>--> | |
132 | + <!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">--> | |
133 | + <!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项--> | |
134 | + <!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>--> | |
135 | + <!-- </div>--> | |
112 | 136 | |
113 | 137 | <a-table |
114 | 138 | ref="table" |
115 | 139 | size="middle" |
116 | - :scroll="{x:true}" | |
140 | + :scroll="{ x: true }" | |
117 | 141 | bordered |
118 | 142 | rowKey="id" |
119 | 143 | :columns="columns" |
120 | 144 | :dataSource="dataSource" |
121 | 145 | :pagination="ipagination" |
122 | 146 | :loading="loading" |
123 | - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" | |
147 | + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" | |
124 | 148 | class="j-table-force-nowrap" |
125 | - @change="handleTableChange"> | |
126 | - | |
149 | + @change="handleTableChange" | |
150 | + > | |
127 | 151 | <template slot="htmlSlot" slot-scope="text"> |
128 | 152 | <div v-html="text"></div> |
129 | 153 | </template> |
130 | 154 | <template slot="imgSlot" slot-scope="text"> |
131 | 155 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> |
132 | - <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> | |
156 | + <img | |
157 | + v-else | |
158 | + :src="getImgView(text)" | |
159 | + height="25px" | |
160 | + alt="" | |
161 | + style="max-width:80px;font-size: 12px;font-style: italic;" | |
162 | + /> | |
133 | 163 | </template> |
134 | 164 | <template slot="fileSlot" slot-scope="text"> |
135 | 165 | <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> |
136 | - <a-button | |
137 | - v-else | |
138 | - :ghost="true" | |
139 | - type="primary" | |
140 | - icon="download" | |
141 | - size="small" | |
142 | - @click="downloadFile(text)"> | |
166 | + <a-button v-else :ghost="true" type="primary" icon="download" size="small" @click="downloadFile(text)"> | |
143 | 167 | 下载 |
144 | 168 | </a-button> |
145 | 169 | </template> |
146 | - | |
147 | 170 | <span slot="action" slot-scope="text, record"> |
148 | - <a v-has="'inventoryDetail:edit'"@click="handleEdit(record)">编辑</a> | |
149 | - | |
150 | - <a-divider type="vertical" /> | |
171 | + <a v-has="'inventoryDetail:edit'" @click="handleEdit(record)">编辑<a-divider type="vertical"/></a> | |
151 | 172 | <a-popconfirm v-has="'inventoryDetail:delete'" title="确定删除吗?" @confirm="() => handleDelete(record.id)"> |
152 | 173 | <a>删除</a> |
153 | 174 | </a-popconfirm> |
154 | 175 | </span> |
155 | - | |
156 | 176 | </a-table> |
157 | 177 | </div> |
158 | 178 | |
... | ... | @@ -161,187 +181,192 @@ |
161 | 181 | </template> |
162 | 182 | |
163 | 183 | <script> |
184 | +import '@/assets/less/TableExpand.less' | |
185 | +import { mixinDevice } from '@/utils/mixin' | |
186 | +import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
187 | +import SimpleInventoryDetailModal from './modules/SimpleInventoryDetailModal' | |
188 | +import { filterMultiDictText } from '@/components/dict/JDictSelectUtil' | |
164 | 189 | |
165 | - import '@/assets/less/TableExpand.less' | |
166 | - import { mixinDevice } from '@/utils/mixin' | |
167 | - import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
168 | - import SimpleInventoryDetailModal from './modules/SimpleInventoryDetailModal' | |
169 | - import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' | |
170 | - | |
171 | - export default { | |
172 | - name: 'InventoryDetailList', | |
173 | - mixins:[JeecgListMixin, mixinDevice], | |
174 | - components: { | |
175 | - SimpleInventoryDetailModal | |
176 | - }, | |
177 | - data () { | |
178 | - return { | |
179 | - description: '库存详情管理页面', | |
180 | - // 表头 | |
181 | - columns: [ | |
182 | - { | |
183 | - title: '#', | |
184 | - dataIndex: '', | |
185 | - key:'rowIndex', | |
186 | - width:60, | |
187 | - align:"center", | |
188 | - customRender:function (t,r,index) { | |
189 | - return parseInt(index)+1; | |
190 | - } | |
191 | - }, | |
192 | - { | |
193 | - title:'货主', | |
194 | - align:"center", | |
195 | - dataIndex: 'companyCode' | |
196 | - }, | |
197 | - { | |
198 | - title:'库区', | |
199 | - align:"center", | |
200 | - dataIndex: 'zoneCode' | |
201 | - }, | |
202 | - { | |
203 | - title:'容器编码', | |
204 | - align:"center", | |
205 | - dataIndex: 'containerCode' | |
206 | - }, | |
207 | - { | |
208 | - title:'库位编码', | |
209 | - align:"center", | |
210 | - dataIndex: 'locationCode' | |
211 | - }, | |
212 | - { | |
213 | - title:'物料编码', | |
214 | - align:"center", | |
215 | - dataIndex: 'materialCode' | |
216 | - }, | |
217 | - { | |
218 | - title:'物料名称', | |
219 | - align:"center", | |
220 | - dataIndex: 'materialName' | |
221 | - }, | |
222 | - { | |
223 | - title:'物料规格', | |
224 | - align:"center", | |
225 | - dataIndex: 'materialSpec' | |
226 | - }, | |
227 | - { | |
228 | - title:'物料单位', | |
229 | - align:"center", | |
230 | - dataIndex: 'materialUnit' | |
231 | - }, | |
232 | - { | |
233 | - title:'数量', | |
234 | - align:"center", | |
235 | - dataIndex: 'qty' | |
236 | - }, | |
237 | - { | |
238 | - title:'任务锁定数量', | |
239 | - align:"center", | |
240 | - dataIndex: 'taskQty' | |
241 | - }, | |
242 | - { | |
243 | - title:'库存状态', | |
244 | - align:"center", | |
245 | - dataIndex: 'inventoryStatus_dictText' | |
246 | - }, | |
247 | - { | |
248 | - title:'批次', | |
249 | - align:"center", | |
250 | - dataIndex: 'batch' | |
251 | - }, | |
252 | - { | |
253 | - title:'唯一号', | |
254 | - align:"center", | |
255 | - dataIndex: 'uniqueCode' | |
256 | - }, | |
257 | - { | |
258 | - title:'入库日期', | |
259 | - align:"center", | |
260 | - dataIndex: 'receiptDate' | |
261 | - }, | |
262 | - { | |
263 | - title:'库龄(天)', | |
264 | - align:"center", | |
265 | - dataIndex: 'inventoryAge' | |
266 | - }, | |
267 | - { | |
268 | - title:'创建人', | |
269 | - align:"center", | |
270 | - dataIndex: 'createBy' | |
271 | - }, | |
272 | - { | |
273 | - title:'创建日期', | |
274 | - align:"center", | |
275 | - dataIndex: 'createTime' | |
276 | - }, | |
277 | - { | |
278 | - title:'更新人', | |
279 | - align:"center", | |
280 | - dataIndex: 'updateBy' | |
281 | - }, | |
282 | - { | |
283 | - title:'更新日期', | |
284 | - align:"center", | |
285 | - dataIndex: 'updateTime' | |
286 | - }, | |
287 | - { | |
288 | - title: '操作', | |
289 | - dataIndex: 'action', | |
290 | - align:"center", | |
291 | - fixed:"right", | |
292 | - width:147, | |
293 | - scopedSlots: { customRender: 'action' } | |
190 | +export default { | |
191 | + name: 'InventoryDetailList', | |
192 | + mixins: [JeecgListMixin, mixinDevice], | |
193 | + components: { | |
194 | + SimpleInventoryDetailModal | |
195 | + }, | |
196 | + data() { | |
197 | + return { | |
198 | + description: '库存详情管理页面', | |
199 | + // 表头 | |
200 | + columns: [ | |
201 | + { | |
202 | + title: '#', | |
203 | + dataIndex: '', | |
204 | + key: 'rowIndex', | |
205 | + width: 60, | |
206 | + align: 'center', | |
207 | + customRender: function(t, r, index) { | |
208 | + return parseInt(index) + 1 | |
294 | 209 | } |
295 | - ], | |
296 | - url: { | |
297 | - list: "/inventory/inventoryDetail/list", | |
298 | - delete: "/inventory/inventoryDetail/delete", | |
299 | - deleteBatch: "/inventory/inventoryDetail/deleteBatch", | |
300 | - exportXlsUrl: "/inventory/inventoryDetail/exportXls", | |
301 | - importExcelUrl: "inventory/inventoryDetail/importExcel", | |
302 | - | |
303 | 210 | }, |
304 | - dictOptions:{}, | |
305 | - superFieldList:[], | |
306 | - } | |
307 | - }, | |
308 | - created() { | |
309 | - this.getSuperFieldList(); | |
310 | - }, | |
311 | - computed: { | |
312 | - importExcelUrl: function(){ | |
313 | - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; | |
314 | - }, | |
315 | - }, | |
316 | - methods: { | |
317 | - initDictConfig(){ | |
211 | + { | |
212 | + title: '货主', | |
213 | + align: 'center', | |
214 | + dataIndex: 'companyCode' | |
215 | + }, | |
216 | + { | |
217 | + title: '库区', | |
218 | + align: 'center', | |
219 | + dataIndex: 'zoneCode' | |
220 | + }, | |
221 | + { | |
222 | + title: '容器编码', | |
223 | + align: 'center', | |
224 | + dataIndex: 'containerCode' | |
225 | + }, | |
226 | + { | |
227 | + title: '库位编码', | |
228 | + align: 'center', | |
229 | + dataIndex: 'locationCode' | |
230 | + }, | |
231 | + { | |
232 | + title: '物料编码', | |
233 | + align: 'center', | |
234 | + dataIndex: 'materialCode' | |
235 | + }, | |
236 | + { | |
237 | + title: '物料名称', | |
238 | + align: 'center', | |
239 | + dataIndex: 'materialName' | |
240 | + }, | |
241 | + { | |
242 | + title: '物料规格', | |
243 | + align: 'center', | |
244 | + dataIndex: 'materialSpec' | |
245 | + }, | |
246 | + { | |
247 | + title: '物料单位', | |
248 | + align: 'center', | |
249 | + dataIndex: 'materialUnit' | |
250 | + }, | |
251 | + { | |
252 | + title: '数量', | |
253 | + align: 'center', | |
254 | + dataIndex: 'qty' | |
255 | + }, | |
256 | + { | |
257 | + title: '任务锁定数量', | |
258 | + align: 'center', | |
259 | + dataIndex: 'taskQty' | |
260 | + }, | |
261 | + { | |
262 | + title: '托盘填充度', | |
263 | + align: 'center', | |
264 | + dataIndex: 'fillDensity', | |
265 | + customRender: text => { | |
266 | + return text == null ? '' : text + '%' | |
267 | + } | |
268 | + }, | |
269 | + { | |
270 | + title: '库存状态', | |
271 | + align: 'center', | |
272 | + dataIndex: 'inventoryStatus_dictText' | |
273 | + }, | |
274 | + { | |
275 | + title: '批次', | |
276 | + align: 'center', | |
277 | + dataIndex: 'batch' | |
278 | + }, | |
279 | + // { | |
280 | + // title:'唯一号', | |
281 | + // align:"center", | |
282 | + // dataIndex: 'uniqueCode' | |
283 | + // }, | |
284 | + { | |
285 | + title: '入库日期', | |
286 | + align: 'center', | |
287 | + dataIndex: 'receiptDate' | |
288 | + }, | |
289 | + { | |
290 | + title: '库龄(天)', | |
291 | + align: 'center', | |
292 | + dataIndex: 'inventoryAge' | |
293 | + }, | |
294 | + { | |
295 | + title: '创建人', | |
296 | + align: 'center', | |
297 | + dataIndex: 'createBy' | |
298 | + }, | |
299 | + { | |
300 | + title: '创建日期', | |
301 | + align: 'center', | |
302 | + dataIndex: 'createTime' | |
303 | + }, | |
304 | + { | |
305 | + title: '更新人', | |
306 | + align: 'center', | |
307 | + dataIndex: 'updateBy' | |
308 | + }, | |
309 | + { | |
310 | + title: '更新日期', | |
311 | + align: 'center', | |
312 | + dataIndex: 'updateTime' | |
313 | + }, | |
314 | + { | |
315 | + title: '操作', | |
316 | + dataIndex: 'action', | |
317 | + align: 'center', | |
318 | + fixed: 'right', | |
319 | + width: 147, | |
320 | + scopedSlots: { customRender: 'action' } | |
321 | + } | |
322 | + ], | |
323 | + url: { | |
324 | + list: '/inventory/inventoryDetail/list', | |
325 | + delete: '/inventory/inventoryDetail/delete', | |
326 | + deleteBatch: '/inventory/inventoryDetail/deleteBatch', | |
327 | + exportXlsUrl: '/inventory/inventoryDetail/exportXls', | |
328 | + importExcelUrl: 'inventory/inventoryDetail/importExcel' | |
318 | 329 | }, |
319 | - getSuperFieldList(){ | |
320 | - let fieldList=[]; | |
321 | - fieldList.push({type:'string',value:'companyCode',text:'货主',dictCode:''}) | |
322 | - fieldList.push({type:'string',value:'zoneCode',text:'库区',dictCode:''}) | |
323 | - fieldList.push({type:'string',value:'containerCode',text:'容器编码',dictCode:''}) | |
324 | - fieldList.push({type:'string',value:'locationCode',text:'库位编码',dictCode:''}) | |
325 | - fieldList.push({type:'string',value:'materialCode',text:'物料编码',dictCode:''}) | |
326 | - fieldList.push({type:'string',value:'materialName',text:'物料名称',dictCode:''}) | |
327 | - fieldList.push({type:'string',value:'materialSpec',text:'物料规格',dictCode:''}) | |
328 | - fieldList.push({type:'string',value:'materialUnit',text:'物料单位',dictCode:''}) | |
329 | - fieldList.push({type:'BigDecimal',value:'qty',text:'数量',dictCode:''}) | |
330 | - fieldList.push({type:'BigDecimal',value:'taskQty',text:'任务锁定数量',dictCode:''}) | |
331 | - fieldList.push({type:'string',value:'inventoryStatus',text:'库存状态',dictCode:'inventory_status'}) | |
332 | - fieldList.push({type:'string',value:'batch',text:'批次',dictCode:''}) | |
333 | - fieldList.push({type:'string',value:'uniqueCode',text:'唯一号',dictCode:''}) | |
334 | - fieldList.push({type:'datetime',value:'receiptDate',text:'入库日期'}) | |
335 | - fieldList.push({type:'int',value:'inventoryAge',text:'库龄(天)',dictCode:''}) | |
336 | - fieldList.push({type:'string',value:'createBy',text:'创建人',dictCode:''}) | |
337 | - fieldList.push({type:'datetime',value:'createTime',text:'创建日期'}) | |
338 | - fieldList.push({type:'string',value:'updateBy',text:'更新人',dictCode:''}) | |
339 | - fieldList.push({type:'datetime',value:'updateTime',text:'更新日期'}) | |
340 | - this.superFieldList = fieldList | |
341 | - } | |
330 | + dictOptions: {}, | |
331 | + superFieldList: [] | |
332 | + } | |
333 | + }, | |
334 | + created() { | |
335 | + this.getSuperFieldList() | |
336 | + }, | |
337 | + computed: { | |
338 | + importExcelUrl: function() { | |
339 | + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` | |
340 | + } | |
341 | + }, | |
342 | + methods: { | |
343 | + initDictConfig() {}, | |
344 | + getSuperFieldList() { | |
345 | + let fieldList = [] | |
346 | + fieldList.push({ type: 'string', value: 'companyCode', text: '货主', dictCode: '' }) | |
347 | + fieldList.push({ type: 'string', value: 'zoneCode', text: '库区', dictCode: '' }) | |
348 | + fieldList.push({ type: 'string', value: 'containerCode', text: '容器编码', dictCode: '' }) | |
349 | + fieldList.push({ type: 'string', value: 'locationCode', text: '库位编码', dictCode: '' }) | |
350 | + fieldList.push({ type: 'string', value: 'materialCode', text: '物料编码', dictCode: '' }) | |
351 | + fieldList.push({ type: 'string', value: 'materialName', text: '物料名称', dictCode: '' }) | |
352 | + fieldList.push({ type: 'string', value: 'materialSpec', text: '物料规格', dictCode: '' }) | |
353 | + fieldList.push({ type: 'string', value: 'materialUnit', text: '物料单位', dictCode: '' }) | |
354 | + fieldList.push({ type: 'BigDecimal', value: 'qty', text: '数量', dictCode: '' }) | |
355 | + fieldList.push({ type: 'BigDecimal', value: 'taskQty', text: '任务锁定数量', dictCode: '' }) | |
356 | + fieldList.push({ type: 'string', value: 'inventoryStatus', text: '库存状态', dictCode: 'inventory_status' }) | |
357 | + fieldList.push({ type: 'string', value: 'batch', text: '批次', dictCode: '' }) | |
358 | + // fieldList.push({type:'string',value:'uniqueCode',text:'唯一号',dictCode:''}) | |
359 | + fieldList.push({ type: 'datetime', value: 'receiptDate', text: '入库日期' }) | |
360 | + fieldList.push({ type: 'int', value: 'inventoryAge', text: '库龄(天)', dictCode: '' }) | |
361 | + fieldList.push({ type: 'string', value: 'createBy', text: '创建人', dictCode: '' }) | |
362 | + fieldList.push({ type: 'datetime', value: 'createTime', text: '创建日期' }) | |
363 | + fieldList.push({ type: 'string', value: 'updateBy', text: '更新人', dictCode: '' }) | |
364 | + fieldList.push({ type: 'datetime', value: 'updateTime', text: '更新日期' }) | |
365 | + this.superFieldList = fieldList | |
342 | 366 | } |
343 | 367 | } |
368 | +} | |
344 | 369 | </script> |
345 | 370 | <style scoped> |
346 | - @import '~@assets/less/common.less'; | |
371 | +@import '~@assets/less/common.less'; | |
347 | 372 | </style> |
348 | 373 | \ No newline at end of file |
... | ... |
ant-design-vue-jeecg/src/views/system/inventory/subTables/InventoryDetailSubTable.vue
... | ... | @@ -30,7 +30,7 @@ |
30 | 30 | <div> |
31 | 31 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
32 | 32 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a |
33 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
33 | + style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
34 | 34 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
35 | 35 | </div> |
36 | 36 | |
... | ... |
ant-design-vue-jeecg/src/views/system/modules/DeptRoleInfo.vue
... | ... | @@ -38,7 +38,7 @@ |
38 | 38 | <div> |
39 | 39 | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
40 | 40 | <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600"> |
41 | - {{ selectedRowKeys.length }}</a>项 | |
41 | + {{ selectedRowKeys.length }}</a> 项 | |
42 | 42 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
43 | 43 | </div> |
44 | 44 | <a-table |
... | ... |