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