Commit 522ea14579df9bfb36a222913b58fc968ead308c

Authored by 肖超群
2 parents 1df31863 cd35d7ec

Merge branch 'develop' of http://www.huahengrobot.com:90/wms/wms4 into develop

Showing 147 changed files with 3301 additions and 1649 deletions

Too many changes to show.

To preserve performance only 65 of 147 files are displayed.

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