Commit 4192eb869170c0c4071e201cb6393ed8b6dba7ed
Merge branch 'develop' of http://www.huahengrobot.com:90/wms/wms4 into develop
# Conflicts: # ant-design-vue-jeecg/src/views/system/inventory/InventoryChildList.vue # ant-design-vue-jeecg/src/views/system/inventory/subTables/InventoryDetailSubTable.vue
Showing
46 changed files
with
1192 additions
and
1093 deletions
ant-design-vue-jeecg/src/components/jeecgbiz/JSelectMultiCycleCount.vue
... | ... | @@ -34,7 +34,7 @@ export default { |
34 | 34 | {title: 'ID', align: 'center', width: '20%',widthRight: '70%', dataIndex: 'id'}, |
35 | 35 | {title: '容器编码', align: 'center', width: '25%', dataIndex: 'containerCode'}, |
36 | 36 | {title: '容器状态', align: 'center', width: '20%', dataIndex: 'containerStatus'}, |
37 | - {title: '库位号', align: 'center', width: '20%', dataIndex: 'locationCode'}, | |
37 | + {title: '库位编码', align: 'center', width: '20%', dataIndex: 'locationCode'}, | |
38 | 38 | {title: '总数量', align: 'center', width: '20%', dataIndex: 'totalQty'}, |
39 | 39 | {title: '库区', align: 'center', width: '20%', widthRight: '70%', dataIndex: 'zoneCode'}, |
40 | 40 | {title: '状态', align: 'center', width: '20%', dataIndex: 'enable'}, |
... | ... |
ant-design-vue-jeecg/src/views/system/UserList.vue
... | ... | @@ -104,6 +104,7 @@ |
104 | 104 | :pagination="ipagination" |
105 | 105 | :loading="loading" |
106 | 106 | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" |
107 | + class="j-table-force-nowrap" | |
107 | 108 | @change="handleTableChange"> |
108 | 109 | |
109 | 110 | <span slot="selectedWarehouses" slot-scope="selectedWarehouses" > |
... | ... |
ant-design-vue-jeecg/src/views/system/config/ContainerTypeList.vue
... | ... | @@ -18,10 +18,10 @@ |
18 | 18 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
19 | 19 | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
20 | 20 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
21 | - <a @click="handleToggleSearch" style="margin-left: 8px"> | |
21 | + <!-- <a @click="handleToggleSearch" style="margin-left: 8px"> | |
22 | 22 | {{ toggleSearchStatus ? '收起' : '展开' }} |
23 | 23 | <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> |
24 | - </a> | |
24 | + </a> --> | |
25 | 25 | </span> |
26 | 26 | </a-col> |
27 | 27 | </a-row> |
... | ... |
ant-design-vue-jeecg/src/views/system/config/LocationHighList.vue
... | ... | @@ -18,10 +18,6 @@ |
18 | 18 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
19 | 19 | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
20 | 20 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
21 | - <a @click="handleToggleSearch" style="margin-left: 8px"> | |
22 | - {{ toggleSearchStatus ? '收起' : '展开' }} | |
23 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
24 | - </a> | |
25 | 21 | </span> |
26 | 22 | </a-col> |
27 | 23 | </a-row> |
... | ... |
ant-design-vue-jeecg/src/views/system/config/LocationList.vue
... | ... | @@ -5,6 +5,20 @@ |
5 | 5 | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
6 | 6 | <a-row :gutter="24"> |
7 | 7 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
8 | + <a-form-item label="库区"> | |
9 | + <a-select | |
10 | + show-search | |
11 | + placeholder="请选择库区" | |
12 | + option-filter-prop="children" | |
13 | + v-model="queryParam.zoneCode" | |
14 | + > | |
15 | + <a-select-option v-for="item in zoneList" :key="item.name" :value="item.code"> | |
16 | + {{ item.name }} | |
17 | + </a-select-option> | |
18 | + </a-select> | |
19 | + </a-form-item> | |
20 | + </a-col> | |
21 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
8 | 22 | <a-form-item label="库位编码"> |
9 | 23 | <a-input placeholder="请输入库位编码" v-model="queryParam.code"></a-input> |
10 | 24 | </a-form-item> |
... | ... | @@ -19,41 +33,32 @@ |
19 | 33 | <j-dict-select-tag placeholder="请选择状态" v-model="queryParam.status" dictCode="location_status"/> |
20 | 34 | </a-form-item> |
21 | 35 | </a-col> |
36 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
37 | + <a-form-item label="库位类型"> | |
38 | + <a-select | |
39 | + show-search | |
40 | + placeholder="请选择库位类型" | |
41 | + option-filter-prop="children" | |
42 | + v-model="queryParam.locationTypeCode" | |
43 | + > | |
44 | + <a-select-option v-for="item in locationTypeList" :key="item.name" :value="item.code"> | |
45 | + {{ item.name }} | |
46 | + </a-select-option> | |
47 | + </a-select> | |
48 | + </a-form-item> | |
49 | + </a-col> | |
50 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
51 | + <a-form-item label="巷道"> | |
52 | + <a-input placeholder="请输入巷道" v-model="queryParam.roadWay"></a-input> | |
53 | + </a-form-item> | |
54 | + </a-col> | |
55 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
56 | + <a-form-item label="是否可用"> | |
57 | + <j-dict-select-tag placeholder="请选择是否可用" v-model="queryParam.enable" dictCode="enable_status"/> | |
58 | + </a-form-item> | |
59 | + </a-col> | |
22 | 60 | <template v-if="toggleSearchStatus"> |
23 | 61 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
24 | - <a-form-item label="库位类型"> | |
25 | - <a-select | |
26 | - show-search | |
27 | - placeholder="请选择库位类型" | |
28 | - option-filter-prop="children" | |
29 | - v-model="queryParam.locationTypeCode" | |
30 | - > | |
31 | - <a-select-option v-for="item in locationTypeList" :key="item.name" :value="item.code"> | |
32 | - {{ item.name }} | |
33 | - </a-select-option> | |
34 | - </a-select> | |
35 | - </a-form-item> | |
36 | - </a-col> | |
37 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
38 | - <a-form-item label="库区"> | |
39 | - <a-select | |
40 | - show-search | |
41 | - placeholder="请选择库区" | |
42 | - option-filter-prop="children" | |
43 | - v-model="queryParam.zoneCode" | |
44 | - > | |
45 | - <a-select-option v-for="item in zoneList" :key="item.name" :value="item.code"> | |
46 | - {{ item.name }} | |
47 | - </a-select-option> | |
48 | - </a-select> | |
49 | - </a-form-item> | |
50 | - </a-col> | |
51 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
52 | - <a-form-item label="巷道"> | |
53 | - <a-input placeholder="请输入巷道" v-model="queryParam.roadWay"></a-input> | |
54 | - </a-form-item> | |
55 | - </a-col> | |
56 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
57 | 62 | <a-form-item label="行"> |
58 | 63 | <a-input placeholder="请输入行" v-model="queryParam.row"></a-input> |
59 | 64 | </a-form-item> |
... | ... | @@ -78,11 +83,6 @@ |
78 | 83 | <j-dict-select-tag placeholder="请选择内外侧" v-model="queryParam.rowFlag" dictCode="row_type"/> |
79 | 84 | </a-form-item> |
80 | 85 | </a-col> |
81 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
82 | - <a-form-item label="是否可用"> | |
83 | - <j-dict-select-tag placeholder="请选择是否可用" v-model="queryParam.enable" dictCode="enable_status"/> | |
84 | - </a-form-item> | |
85 | - </a-col> | |
86 | 86 | </template> |
87 | 87 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
88 | 88 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
... | ... |
ant-design-vue-jeecg/src/views/system/config/LocationTypeList.vue
... | ... | @@ -18,10 +18,6 @@ |
18 | 18 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
19 | 19 | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
20 | 20 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
21 | - <a @click="handleToggleSearch" style="margin-left: 8px"> | |
22 | - {{ toggleSearchStatus ? '收起' : '展开' }} | |
23 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> | |
24 | - </a> | |
25 | 21 | </span> |
26 | 22 | </a-col> |
27 | 23 | </a-row> |
... | ... |
ant-design-vue-jeecg/src/views/system/config/MaterialList.vue
... | ... | @@ -14,21 +14,15 @@ |
14 | 14 | <a-input placeholder="请输入物料名称" v-model="queryParam.name"></a-input> |
15 | 15 | </a-form-item> |
16 | 16 | </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> | |
17 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
18 | + <a-form-item label="可用状态"> | |
19 | + <j-dict-select-tag placeholder="请选择可用状态" v-model="queryParam.enable" dictCode="enable_status"/> | |
20 | + </a-form-item> | |
21 | + </a-col> | |
24 | 22 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
25 | 23 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
26 | 24 | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
27 | 25 | <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 | 26 | </span> |
33 | 27 | </a-col> |
34 | 28 | </a-row> |
... | ... |
ant-design-vue-jeecg/src/views/system/config/MaterialTypeList.vue
... | ... | @@ -18,10 +18,6 @@ |
18 | 18 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
19 | 19 | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
20 | 20 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
21 | - <a @click="handleToggleSearch" style="margin-left: 8px"> | |
22 | - {{ toggleSearchStatus ? '收起' : '展开' }} | |
23 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
24 | - </a> | |
25 | 21 | </span> |
26 | 22 | </a-col> |
27 | 23 | </a-row> |
... | ... |
ant-design-vue-jeecg/src/views/system/config/MaterialUnitList.vue
... | ... | @@ -14,21 +14,15 @@ |
14 | 14 | <a-input placeholder="请输入物料名称" v-model="queryParam.materialName"></a-input> |
15 | 15 | </a-form-item> |
16 | 16 | </a-col> |
17 | - <template v-if="toggleSearchStatus"> | |
18 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
19 | - <a-form-item label="单位"> | |
20 | - <a-input placeholder="请输入单位" v-model="queryParam.unit"></a-input> | |
21 | - </a-form-item> | |
22 | - </a-col> | |
23 | - </template> | |
17 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
18 | + <a-form-item label="单位"> | |
19 | + <a-input placeholder="请输入单位" v-model="queryParam.unit"></a-input> | |
20 | + </a-form-item> | |
21 | + </a-col> | |
24 | 22 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
25 | 23 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
26 | 24 | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
27 | 25 | <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 | 26 | </span> |
33 | 27 | </a-col> |
34 | 28 | </a-row> |
... | ... |
ant-design-vue-jeecg/src/views/system/config/MaterialWarningList.vue
... | ... | @@ -18,10 +18,10 @@ |
18 | 18 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
19 | 19 | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
20 | 20 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
21 | - <a @click="handleToggleSearch" style="margin-left: 8px"> | |
21 | + <!-- <a @click="handleToggleSearch" style="margin-left: 8px"> | |
22 | 22 | {{ toggleSearchStatus ? '收起' : '展开' }} |
23 | 23 | <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> |
24 | - </a> | |
24 | + </a> --> | |
25 | 25 | </span> |
26 | 26 | </a-col> |
27 | 27 | </a-row> |
... | ... |
ant-design-vue-jeecg/src/views/system/inventory/InventoryChildList.vue
1 | 1 | <template> |
2 | - <a-card :bordered="false"> | |
3 | - <!-- 查询区域 --> | |
4 | - <div class="table-page-search-wrapper"> | |
5 | - <a-form layout="inline" @keyup.enter.native="searchQuery"> | |
6 | - <a-row :gutter="24"> | |
7 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
8 | - <a-form-item label="货主"> | |
9 | - <a-input placeholder="请输入货主" v-model="queryParam.companyCode"></a-input> | |
10 | - </a-form-item> | |
11 | - </a-col> | |
12 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
13 | - <a-form-item label="库区"> | |
14 | - <a-input placeholder="请输入库区" v-model="queryParam.zoneCode"></a-input> | |
15 | - </a-form-item> | |
16 | - </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.containerStatus" dictCode="container_status"/> | |
21 | - </a-form-item> | |
22 | - </a-col> | |
23 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
24 | - <a-form-item label="容器编码"> | |
25 | - <a-input placeholder="请输入容器编码" v-model="queryParam.containerCode"></a-input> | |
26 | - </a-form-item> | |
27 | - </a-col> | |
28 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
29 | - <a-form-item label="库位编码"> | |
30 | - <a-input placeholder="请输入库位编码" v-model="queryParam.locationCode"></a-input> | |
31 | - </a-form-item> | |
32 | - </a-col> | |
33 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
34 | - <a-form-item label="物料编码"> | |
35 | - <a-input placeholder="请输入物料编码" v-model="queryParam.materialCode"></a-input> | |
36 | - </a-form-item> | |
37 | - </a-col> | |
38 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
39 | - <a-form-item label="物料名称"> | |
40 | - <a-input placeholder="请输入物料名称" v-model="queryParam.materialName"></a-input> | |
41 | - </a-form-item> | |
42 | - </a-col> | |
43 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
44 | - <a-form-item label="物料规格"> | |
45 | - <a-input placeholder="请输入物料规格" v-model="queryParam.materialSpec"></a-input> | |
46 | - </a-form-item> | |
47 | - </a-col> | |
48 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
49 | - <a-form-item label="物料单位"> | |
50 | - <a-input placeholder="请输入物料单位" v-model="queryParam.materialUnit"></a-input> | |
51 | - </a-form-item> | |
52 | - </a-col> | |
53 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
54 | - <a-form-item label="库存状态"> | |
55 | - <j-dict-select-tag placeholder="请选择库存状态" v-model="queryParam.inventoryStatus" dictCode="inventory_status"/> | |
56 | - </a-form-item> | |
57 | - </a-col> | |
58 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
59 | - <a-form-item label="库龄(天)"> | |
60 | - <a-input placeholder="请输入库龄(天)" v-model="queryParam.inventoryAge"></a-input> | |
61 | - </a-form-item> | |
62 | - </a-col> | |
63 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
64 | - <a-form-item label="序列号"> | |
65 | - <a-input placeholder="请输入序列号" v-model="queryParam.sn"></a-input> | |
66 | - </a-form-item> | |
67 | - </a-col> | |
68 | - <a-col :xl="10" :lg="11" :md="12" :sm="24"> | |
69 | - <a-form-item label="创建日期"> | |
70 | - <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择开始时间" class="query-group-cust" v-model="queryParam.createTime_begin"></j-date> | |
71 | - <span class="query-group-split-cust"></span> | |
72 | - <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择结束时间" class="query-group-cust" v-model="queryParam.createTime_end"></j-date> | |
73 | - </a-form-item> | |
74 | - </a-col> | |
75 | - </template> | |
76 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
77 | - <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> | |
78 | - <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> | |
79 | - <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> | |
80 | - <a @click="handleToggleSearch" style="margin-left: 8px"> | |
81 | - {{ toggleSearchStatus ? '收起' : '展开' }} | |
82 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
83 | - </a> | |
84 | - </span> | |
85 | - </a-col> | |
86 | - </a-row> | |
87 | - </a-form> | |
88 | - </div> | |
89 | - <!-- 查询区域-END --> | |
90 | - | |
2 | + <a-card :bordered="false" :class="'cust-erp-sub-tab'"> | |
91 | 3 | <!-- 操作按钮区域 --> |
92 | - <div class="table-operator"> | |
93 | - <a-button v-has="'inventoryChild:superSearch'" @click="handleAdd" type="primary" icon="plus">新增</a-button> | |
94 | - <a-button v-has="'inventoryChild:export'" type="primary" icon="download" @click="handleExportXls('库存明细')">导出</a-button> | |
95 | - <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> | |
96 | - <a-button v-has="'inventoryChild:import'" type="primary" icon="import">导入</a-button> | |
4 | + <div class="table-operator" v-if="mainId"> | |
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('库存详情')" | |
7 | + >导出 | |
8 | + </a-button | |
9 | + > | |
10 | + <a-button v-has="'inventoryDetail:export'" type="primary" icon="download" @click="handleExportXls('库存详情')">导出</a-button> | |
11 | + <a-upload | |
12 | + v-has="'inventoryDetail:import'" | |
13 | + name="file" | |
14 | + :showUploadList="false" | |
15 | + :multiple="false" | |
16 | + :headers="tokenHeader" | |
17 | + :action="importExcelUrl" | |
18 | + @change="handleImportExcel" | |
19 | + > | |
20 | + <a-button type="primary" icon="import">导入</a-button> | |
97 | 21 | </a-upload> |
98 | 22 | <a-dropdown v-if="selectedRowKeys.length > 0"> |
99 | - <a-menu slot="overlay"> | |
100 | - <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item> | |
23 | + <a-menu slot="overlay" v-has="'inventoryDetail:deleteBatch'"> | |
24 | + <a-menu-item key="1" @click="batchDel"> | |
25 | + <a-icon type="delete"/> | |
26 | + 删除 | |
27 | + </a-menu-item> | |
101 | 28 | </a-menu> |
102 | - <a-button v-has="'inventoryChild:delete'" style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button> | |
29 | + <a-button style="margin-left: 8px"> | |
30 | + 批量操作 | |
31 | + <a-icon type="down"/> | |
32 | + </a-button> | |
103 | 33 | </a-dropdown> |
104 | 34 | </div> |
105 | 35 | |
106 | 36 | <!-- table区域-begin --> |
107 | 37 | <div> |
108 | 38 | <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> 项 | |
39 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 | |
40 | + <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
110 | 41 | <a style="margin-left: 24px" @click="onClearSelected">清空</a> |
111 | 42 | </div> |
112 | 43 | |
113 | 44 | <a-table |
114 | 45 | ref="table" |
115 | 46 | size="middle" |
116 | - :scroll="{x:true}" | |
117 | 47 | bordered |
118 | 48 | rowKey="id" |
49 | + :scroll="{ x: true }" | |
119 | 50 | :columns="columns" |
120 | 51 | :dataSource="dataSource" |
121 | 52 | :pagination="ipagination" |
122 | 53 | :loading="loading" |
123 | - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" | |
124 | - class="j-table-force-nowrap" | |
125 | - @change="handleTableChange"> | |
54 | + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" | |
55 | + @change="handleTableChange" | |
56 | + > | |
57 | + <span slot="inventoryStatus_dictText" slot-scope="inventoryStatus_dictText"> | |
58 | + <a-tag :key="inventoryStatus_dictText" :color="getStatusColor(inventoryStatus_dictText)"> | |
59 | + {{ inventoryStatus_dictText }} | |
60 | + </a-tag> | |
61 | + </span> | |
62 | + | |
63 | + <span slot="companyCode" slot-scope="companyCode"> | |
64 | + <a-tag :key="companyCode" color="blue"> | |
65 | + {{ solutionCompany(companyCode) }} | |
66 | + </a-tag> | |
67 | + </span> | |
126 | 68 | |
127 | 69 | <template slot="htmlSlot" slot-scope="text"> |
128 | 70 | <div v-html="text"></div> |
129 | 71 | </template> |
130 | 72 | <template slot="imgSlot" slot-scope="text"> |
131 | 73 | <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;"/> | |
74 | + <img | |
75 | + v-else | |
76 | + :src="getImgView(text)" | |
77 | + height="25px" | |
78 | + alt="" | |
79 | + style="max-width:80px;font-size: 12px;font-style: italic;" | |
80 | + /> | |
133 | 81 | </template> |
134 | 82 | <template slot="fileSlot" slot-scope="text"> |
135 | 83 | <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)"> | |
84 | + <a-button v-else :ghost="true" type="primary" icon="download" size="small" @click="downloadFile(text)"> | |
143 | 85 | 下载 |
144 | 86 | </a-button> |
145 | 87 | </template> |
88 | + | |
146 | 89 | <span slot="action" slot-scope="text, record"> |
147 | - <a v-has="'inventoryChild:edit'" @click="handleEdit(record)">编辑</a> | |
90 | + <a v-has="'inventoryDetail:edit'" @click="handleEdit(record)">编辑<a-divider type="vertical"/></a> | |
91 | + <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> | |
92 | + <a v-has="'inventoryDetail:delete'">删除</a> | |
93 | + </a-popconfirm> | |
148 | 94 | </span> |
149 | 95 | </a-table> |
150 | 96 | </div> |
151 | 97 | |
152 | - <inventory-child-modal ref="modalForm" @ok="modalFormOk"></inventory-child-modal> | |
98 | + <inventoryDetail-modal ref="modalForm" @ok="modalFormOk" :mainId="mainId"></inventoryDetail-modal> | |
153 | 99 | </a-card> |
154 | 100 | </template> |
155 | 101 | |
156 | 102 | <script> |
103 | +import {JeecgListMixin} from '@/mixins/JeecgListMixin' | |
104 | +import InventoryDetailModal from './modules/InventoryDetailModal' | |
105 | +import {getCompanyList, getZoneList} from '@/api/api' | |
157 | 106 | |
158 | - import '@/assets/less/TableExpand.less' | |
159 | - import { mixinDevice } from '@/utils/mixin' | |
160 | - import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
161 | - import InventoryChildModal from './modules/InventoryChildModal' | |
162 | - import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' | |
163 | - | |
164 | - export default { | |
165 | - name: 'InventoryChildList', | |
166 | - mixins:[JeecgListMixin, mixinDevice], | |
167 | - components: { | |
168 | - InventoryChildModal | |
169 | - }, | |
170 | - data () { | |
171 | - return { | |
172 | - description: '库存明细管理页面', | |
173 | - // 表头 | |
174 | - columns: [ | |
175 | - { | |
176 | - title: '#', | |
177 | - dataIndex: '', | |
178 | - key:'rowIndex', | |
179 | - width:60, | |
180 | - align:"center", | |
181 | - customRender:function (t,r,index) { | |
182 | - return parseInt(index)+1; | |
183 | - } | |
184 | - }, | |
185 | - { | |
186 | - title:'货主', | |
187 | - align:"center", | |
188 | - dataIndex: 'companyCode' | |
189 | - }, | |
190 | - { | |
191 | - title:'库区', | |
192 | - align:"center", | |
193 | - dataIndex: 'zoneCode' | |
194 | - }, | |
195 | - { | |
196 | - title:'容器状态', | |
197 | - align:"center", | |
198 | - dataIndex: 'containerStatus_dictText' | |
199 | - }, | |
200 | - { | |
201 | - title:'容器编码', | |
202 | - align:"center", | |
203 | - dataIndex: 'containerCode' | |
204 | - }, | |
205 | - { | |
206 | - title:'库位编码', | |
207 | - align:"center", | |
208 | - dataIndex: 'locationCode' | |
209 | - }, | |
210 | - { | |
211 | - title:'物料编码', | |
212 | - align:"center", | |
213 | - dataIndex: 'materialCode' | |
214 | - }, | |
215 | - { | |
216 | - title:'物料名称', | |
217 | - align:"center", | |
218 | - dataIndex: 'materialName' | |
219 | - }, | |
220 | - { | |
221 | - title:'物料规格', | |
222 | - align:"center", | |
223 | - dataIndex: 'materialSpec' | |
224 | - }, | |
225 | - { | |
226 | - title:'物料单位', | |
227 | - align:"center", | |
228 | - dataIndex: 'materialUnit' | |
229 | - }, | |
230 | - { | |
231 | - title:'库存状态', | |
232 | - align:"center", | |
233 | - dataIndex: 'inventoryStatus_dictText' | |
234 | - }, | |
235 | - { | |
236 | - title:'库龄(天)', | |
237 | - align:"center", | |
238 | - dataIndex: 'inventoryAge' | |
239 | - }, | |
240 | - { | |
241 | - title:'序列号', | |
242 | - align:"center", | |
243 | - dataIndex: 'sn' | |
244 | - }, | |
245 | - { | |
246 | - title:'创建人', | |
247 | - align:"center", | |
248 | - dataIndex: 'createBy' | |
249 | - }, | |
250 | - { | |
251 | - title:'创建日期', | |
252 | - align:"center", | |
253 | - dataIndex: 'createTime' | |
254 | - }, | |
255 | - { | |
256 | - title:'更新人', | |
257 | - align:"center", | |
258 | - dataIndex: 'updateBy' | |
259 | - }, | |
260 | - { | |
261 | - title:'更新日期', | |
262 | - align:"center", | |
263 | - dataIndex: 'updateTime' | |
264 | - }, | |
265 | - { | |
266 | - title: '操作', | |
267 | - dataIndex: 'action', | |
268 | - align:"center", | |
269 | - fixed:"right", | |
270 | - width:147, | |
271 | - scopedSlots: { customRender: 'action' } | |
107 | +export default { | |
108 | + name: 'InventoryDetailList', | |
109 | + mixins: [JeecgListMixin], | |
110 | + components: {InventoryDetailModal}, | |
111 | + props: { | |
112 | + mainId: { | |
113 | + type: String, | |
114 | + default: '', | |
115 | + required: false | |
116 | + } | |
117 | + }, | |
118 | + watch: { | |
119 | + mainId: { | |
120 | + immediate: true, | |
121 | + handler(val) { | |
122 | + if (!this.mainId) { | |
123 | + this.clearList() | |
124 | + } else { | |
125 | + this.queryParam['inventoryHeaderId'] = val | |
126 | + this.loadData(1) | |
127 | + } | |
128 | + } | |
129 | + } | |
130 | + }, | |
131 | + data() { | |
132 | + return { | |
133 | + description: '库存表管理页面', | |
134 | + disableMixinCreated: true, | |
135 | + companyList: [], | |
136 | + // 表头 | |
137 | + columns: [ | |
138 | + { | |
139 | + title: '库存详情ID', | |
140 | + align: 'center', | |
141 | + dataIndex: 'id' | |
142 | + }, | |
143 | + { | |
144 | + title: '货主', | |
145 | + align: 'center', | |
146 | + dataIndex: 'companyCode', | |
147 | + key: 'companyCode', | |
148 | + scopedSlots: {customRender: 'companyCode'} | |
149 | + }, | |
150 | + // { | |
151 | + // title: '库区', | |
152 | + // align: "center", | |
153 | + // dataIndex: 'zoneCode' | |
154 | + // }, | |
155 | + { | |
156 | + title: '容器编码', | |
157 | + align: 'center', | |
158 | + dataIndex: 'containerCode' | |
159 | + }, | |
160 | + { | |
161 | + title: '库位编码', | |
162 | + align: 'center', | |
163 | + dataIndex: 'locationCode' | |
164 | + }, | |
165 | + { | |
166 | + title: '物料编码', | |
167 | + align: 'center', | |
168 | + dataIndex: 'materialCode' | |
169 | + }, | |
170 | + { | |
171 | + title: '物料名称', | |
172 | + align: 'center', | |
173 | + dataIndex: 'materialName' | |
174 | + }, | |
175 | + { | |
176 | + title: '物料规格', | |
177 | + align: 'center', | |
178 | + dataIndex: 'materialSpec' | |
179 | + }, | |
180 | + { | |
181 | + title: '物料单位', | |
182 | + align: 'center', | |
183 | + dataIndex: 'materialUnit' | |
184 | + }, | |
185 | + { | |
186 | + title: '数量', | |
187 | + align: 'center', | |
188 | + dataIndex: 'qty' | |
189 | + }, | |
190 | + { | |
191 | + title: '任务锁定数量', | |
192 | + align: 'center', | |
193 | + dataIndex: 'taskQty' | |
194 | + }, | |
195 | + { | |
196 | + title: '托盘填充度', | |
197 | + align: 'center', | |
198 | + dataIndex: 'fillDensity', | |
199 | + customRender: text => { | |
200 | + return text == null ? '' : text + '%' | |
272 | 201 | } |
273 | - ], | |
274 | - url: { | |
275 | - list: "/inventory/inventoryChild/list", | |
276 | - delete: "/inventory/inventoryChild/delete", | |
277 | - deleteBatch: "/inventory/inventoryChild/deleteBatch", | |
278 | - exportXlsUrl: "/inventory/inventoryChild/exportXls", | |
279 | - importExcelUrl: "inventory/inventoryChild/importExcel", | |
280 | - | |
281 | 202 | }, |
282 | - dictOptions:{}, | |
283 | - superFieldList:[], | |
203 | + { | |
204 | + title: '库存状态', | |
205 | + align: 'center', | |
206 | + dataIndex: 'inventoryStatus_dictText', | |
207 | + scopedSlots: {customRender: 'inventoryStatus_dictText'} | |
208 | + }, | |
209 | + { | |
210 | + title: '批次', | |
211 | + align: 'center', | |
212 | + dataIndex: 'batch' | |
213 | + }, | |
214 | + { | |
215 | + title: '序列号', | |
216 | + align: "center", | |
217 | + dataIndex: 'sn' | |
218 | + }, | |
219 | + { | |
220 | + title: '入库日期', | |
221 | + align: 'center', | |
222 | + dataIndex: 'receiptDate' | |
223 | + }, | |
224 | + { | |
225 | + title: '库龄(天)', | |
226 | + align: 'center', | |
227 | + dataIndex: 'inventoryAge' | |
228 | + }, | |
229 | + { | |
230 | + title: '创建人', | |
231 | + align: 'center', | |
232 | + dataIndex: 'createBy' | |
233 | + }, | |
234 | + { | |
235 | + title: '创建日期', | |
236 | + align: 'center', | |
237 | + dataIndex: 'createTime' | |
238 | + }, | |
239 | + { | |
240 | + title: '更新人', | |
241 | + align: 'center', | |
242 | + dataIndex: 'updateBy' | |
243 | + }, | |
244 | + { | |
245 | + title: '更新日期', | |
246 | + align: 'center', | |
247 | + dataIndex: 'updateTime' | |
248 | + }, | |
249 | + { | |
250 | + title: '操作', | |
251 | + dataIndex: 'action', | |
252 | + align: 'center', | |
253 | + fixed: 'right', | |
254 | + width: 147, | |
255 | + scopedSlots: {customRender: 'action'} | |
256 | + } | |
257 | + ], | |
258 | + url: { | |
259 | + list: '/inventory/inventoryHeader/listInventoryDetailByMainId', | |
260 | + delete: '/inventory/inventoryHeader/deleteInventoryDetail', | |
261 | + deleteBatch: '/inventory/inventoryHeader/deleteBatchInventoryDetail', | |
262 | + exportXlsUrl: '/inventory/inventoryHeader/exportInventoryDetail', | |
263 | + importUrl: '/inventory/inventoryHeader/importInventoryDetail' | |
264 | + }, | |
265 | + dictOptions: { | |
266 | + containerStatus: [] | |
284 | 267 | } |
268 | + } | |
269 | + }, | |
270 | + created() { | |
271 | + this.loadFrom() | |
272 | + }, | |
273 | + computed: { | |
274 | + importExcelUrl() { | |
275 | + return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}` | |
276 | + } | |
277 | + }, | |
278 | + methods: { | |
279 | + getStatusColor(status) { | |
280 | + const colors = { | |
281 | + '良品': 'green', | |
282 | + '报废品': 'purple', | |
283 | + '待确认 ': 'grey', | |
284 | + '次品': 'red', | |
285 | + default: 'blue' | |
286 | + }; | |
287 | + return colors[status] || colors.default; | |
285 | 288 | }, |
286 | - created() { | |
287 | - this.getSuperFieldList(); | |
289 | + loadFrom() { | |
290 | + // getZoneList().then((res) => { | |
291 | + // if (res.success) { | |
292 | + // this.zoneList = res.result | |
293 | + // } | |
294 | + // }); | |
295 | + getCompanyList().then(res => { | |
296 | + if (res.success) { | |
297 | + this.companyList = res.result | |
298 | + } | |
299 | + }) | |
288 | 300 | }, |
289 | - computed: { | |
290 | - importExcelUrl: function(){ | |
291 | - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; | |
292 | - }, | |
301 | + // solutionZoneCode(value) { | |
302 | + // var actions = [] | |
303 | + // Object.keys(this.zoneList).some((key) => { | |
304 | + // if (this.zoneList[key].code == ('' + value)) { | |
305 | + // actions.push(this.zoneList[key].name) | |
306 | + // return true | |
307 | + // } | |
308 | + // }) | |
309 | + // return actions.join('') | |
310 | + // }, | |
311 | + solutionCompany(value) { | |
312 | + var actions = [] | |
313 | + Object.keys(this.companyList).some(key => { | |
314 | + if (this.companyList[key].code == '' + value) { | |
315 | + actions.push(this.companyList[key].name) | |
316 | + return true | |
317 | + } | |
318 | + }) | |
319 | + return actions.join('') | |
293 | 320 | }, |
294 | - methods: { | |
295 | - initDictConfig(){ | |
296 | - }, | |
297 | - getSuperFieldList(){ | |
298 | - let fieldList=[]; | |
299 | - fieldList.push({type:'string',value:'companyCode',text:'货主',dictCode:''}) | |
300 | - fieldList.push({type:'string',value:'zoneCode',text:'库区',dictCode:''}) | |
301 | - fieldList.push({type:'string',value:'containerStatus',text:'容器状态',dictCode:'container_status'}) | |
302 | - fieldList.push({type:'string',value:'containerCode',text:'容器编码',dictCode:''}) | |
303 | - fieldList.push({type:'string',value:'locationCode',text:'库位编码',dictCode:''}) | |
304 | - fieldList.push({type:'string',value:'materialCode',text:'物料编码',dictCode:''}) | |
305 | - fieldList.push({type:'string',value:'materialName',text:'物料名称',dictCode:''}) | |
306 | - fieldList.push({type:'string',value:'materialSpec',text:'物料规格',dictCode:''}) | |
307 | - fieldList.push({type:'string',value:'materialUnit',text:'物料单位',dictCode:''}) | |
308 | - fieldList.push({type:'string',value:'inventoryStatus',text:'库存状态',dictCode:'inventory_status'}) | |
309 | - fieldList.push({type:'int',value:'inventoryAge',text:'库龄(天)',dictCode:''}) | |
310 | - fieldList.push({type:'string',value:'sn',text:'序列号',dictCode:''}) | |
311 | - fieldList.push({type:'string',value:'createBy',text:'创建人',dictCode:''}) | |
312 | - fieldList.push({type:'datetime',value:'createTime',text:'创建日期'}) | |
313 | - fieldList.push({type:'string',value:'updateBy',text:'更新人',dictCode:''}) | |
314 | - fieldList.push({type:'datetime',value:'updateTime',text:'更新日期'}) | |
315 | - this.superFieldList = fieldList | |
316 | - } | |
321 | + clearList() { | |
322 | + this.dataSource = [] | |
323 | + this.selectedRowKeys = [] | |
324 | + this.ipagination.current = 1 | |
317 | 325 | } |
318 | 326 | } |
327 | +} | |
319 | 328 | </script> |
320 | 329 | <style scoped> |
321 | - @import '~@assets/less/common.less'; | |
330 | +@import '~@assets/less/common.less'; | |
322 | 331 | </style> |
323 | 332 | \ No newline at end of file |
... | ... |
ant-design-vue-jeecg/src/views/system/inventory/InventoryDetailList.vue
... | ... | @@ -3,10 +3,7 @@ |
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('库存详情')" | |
7 | - >导出 | |
8 | - </a-button | |
9 | - > | |
6 | + <a-button v-has="'inventoryDetail:export'" type="primary" icon="download" @click="handleExportXls('库存详情')">导出</a-button> | |
10 | 7 | <a-upload |
11 | 8 | v-has="'inventoryDetail:import'" |
12 | 9 | name="file" |
... | ... | @@ -18,28 +15,10 @@ |
18 | 15 | > |
19 | 16 | <a-button type="primary" icon="import">导入</a-button> |
20 | 17 | </a-upload> |
21 | - <a-dropdown v-if="selectedRowKeys.length > 0"> | |
22 | - <a-menu slot="overlay" v-has="'inventoryDetail:deleteBatch'"> | |
23 | - <a-menu-item key="1" @click="batchDel"> | |
24 | - <a-icon type="delete"/> | |
25 | - 删除 | |
26 | - </a-menu-item> | |
27 | - </a-menu> | |
28 | - <a-button style="margin-left: 8px"> | |
29 | - 批量操作 | |
30 | - <a-icon type="down"/> | |
31 | - </a-button> | |
32 | - </a-dropdown> | |
33 | 18 | </div> |
34 | 19 | |
35 | 20 | <!-- table区域-begin --> |
36 | 21 | <div> |
37 | - <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> | |
38 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 | |
39 | - <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
40 | - <a style="margin-left: 24px" @click="onClearSelected">清空</a> | |
41 | - </div> | |
42 | - | |
43 | 22 | <a-table |
44 | 23 | ref="table" |
45 | 24 | size="middle" |
... | ... | @@ -50,7 +29,6 @@ |
50 | 29 | :dataSource="dataSource" |
51 | 30 | :pagination="ipagination" |
52 | 31 | :loading="loading" |
53 | - :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" | |
54 | 32 | @change="handleTableChange" |
55 | 33 | > |
56 | 34 | <span slot="inventoryStatus_dictText" slot-scope="inventoryStatus_dictText"> |
... | ... |
ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue
... | ... | @@ -17,41 +17,39 @@ |
17 | 17 | </a-select> |
18 | 18 | </a-form-item> |
19 | 19 | </a-col> |
20 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
21 | + <a-form-item label="库位编码"> | |
22 | + <a-input placeholder="请输入库位编码" v-model="queryParam.locationCode"></a-input> | |
23 | + </a-form-item> | |
24 | + </a-col> | |
20 | 25 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
21 | 26 | <a-form-item label="容器编码"> |
22 | 27 | <a-input placeholder="请输入容器编码" v-model="queryParam.containerCode"></a-input> |
23 | 28 | </a-form-item> |
24 | 29 | </a-col> |
25 | - <template v-if="toggleSearchStatus"> | |
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.containerStatus" | |
29 | - dictCode="container_status"/> | |
30 | - </a-form-item> | |
31 | - </a-col> | |
32 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
33 | - <a-form-item label="库位号"> | |
34 | - <a-input placeholder="请输入库位号" v-model="queryParam.locationCode"></a-input> | |
35 | - </a-form-item> | |
36 | - </a-col> | |
37 | - <a-col :xl="12" :lg="14" :md="16" :sm="24"> | |
38 | - <a-form-item label="创建日期"> | |
39 | - <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择开始时间" | |
40 | - class="query-group-cust" v-model="queryParam.createTime_begin"></j-date> | |
41 | - <span class="query-group-split-cust"></span> | |
42 | - <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择结束时间" | |
43 | - class="query-group-cust" v-model="queryParam.createTime_end"></j-date> | |
44 | - </a-form-item> | |
45 | - </a-col> | |
46 | - </template> | |
30 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
31 | + <a-form-item label="容器状态"> | |
32 | + <j-dict-select-tag placeholder="请选择容器状态" v-model="queryParam.containerStatus" | |
33 | + dictCode="container_status"/> | |
34 | + </a-form-item> | |
35 | + </a-col> | |
36 | + <a-col :xl="12" :lg="14" :md="16" :sm="24"> | |
37 | + <a-form-item label="创建日期"> | |
38 | + <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择开始时间" | |
39 | + class="query-group-cust" v-model="queryParam.createTime_begin"></j-date> | |
40 | + <span class="query-group-split-cust"></span> | |
41 | + <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择结束时间" | |
42 | + class="query-group-cust" v-model="queryParam.createTime_end"></j-date> | |
43 | + </a-form-item> | |
44 | + </a-col> | |
47 | 45 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
48 | 46 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
49 | 47 | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
50 | 48 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
51 | - <a @click="handleToggleSearch" style="margin-left: 8px"> | |
49 | + <!-- <a @click="handleToggleSearch" style="margin-left: 8px"> | |
52 | 50 | {{ toggleSearchStatus ? '收起' : '展开' }} |
53 | 51 | <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> |
54 | - </a> | |
52 | + </a> --> | |
55 | 53 | </span> |
56 | 54 | </a-col> |
57 | 55 | </a-row> |
... | ... | @@ -199,7 +197,7 @@ export default { |
199 | 197 | scopedSlots: {customRender: 'containerStatus_dictText'} |
200 | 198 | }, |
201 | 199 | { |
202 | - title: '库位号', | |
200 | + title: '库位编码', | |
203 | 201 | align: "center", |
204 | 202 | dataIndex: 'locationCode' |
205 | 203 | }, |
... | ... | @@ -358,7 +356,7 @@ export default { |
358 | 356 | fieldList.push({type: 'string', value: 'zoneCode', text: '库区', dictCode: ''}) |
359 | 357 | fieldList.push({type: 'string', value: 'containerCode', text: '容器编码', dictCode: ''}) |
360 | 358 | fieldList.push({type: 'string', value: 'containerStatus', text: '容器状态', dictCode: 'container_status'}) |
361 | - fieldList.push({type: 'string', value: 'locationCode', text: '库位号', dictCode: ''}) | |
359 | + fieldList.push({type: 'string', value: 'locationCode', text: '库位编码', dictCode: ''}) | |
362 | 360 | fieldList.push({type: 'BigDecimal', value: 'totalQty', text: '总数量', dictCode: ''}) |
363 | 361 | fieldList.push({type: 'int', value: 'totalLines', text: '总行量', dictCode: ''}) |
364 | 362 | fieldList.push({type: 'string', value: 'createBy', text: '创建人', dictCode: ''}) |
... | ... |
ant-design-vue-jeecg/src/views/system/inventory/InventoryMaterialSummaryList.vue
... | ... | @@ -5,8 +5,31 @@ |
5 | 5 | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
6 | 6 | <a-row :gutter="24"> |
7 | 7 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
8 | + <a-form-item label="库区"> | |
9 | + <a-select | |
10 | + show-search | |
11 | + placeholder="请选择库区" | |
12 | + option-filter-prop="children" | |
13 | + v-model="queryParam.zoneCode" | |
14 | + > | |
15 | + <a-select-option v-for="item in zoneList" :key="item.name" :value="item.code"> | |
16 | + {{ item.name }} | |
17 | + </a-select-option> | |
18 | + </a-select> | |
19 | + </a-form-item> | |
20 | + </a-col> | |
21 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
8 | 22 | <a-form-item label="货主"> |
9 | - <a-input placeholder="请输入货主" v-model="queryParam.companyCode"></a-input> | |
23 | + <a-select | |
24 | + show-search | |
25 | + placeholder="请选择货主" | |
26 | + option-filter-prop="children" | |
27 | + v-model="queryParam.companyCode"> | |
28 | + <a-select-option v-for="item in companyList" :key="item.name" :value="item.code">{{ | |
29 | + item.name | |
30 | + }} | |
31 | + </a-select-option> | |
32 | + </a-select> | |
10 | 33 | </a-form-item> |
11 | 34 | </a-col> |
12 | 35 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
... | ... | @@ -25,6 +48,11 @@ |
25 | 48 | <a-input placeholder="请输入物料规格" v-model="queryParam.materialSpec"></a-input> |
26 | 49 | </a-form-item> |
27 | 50 | </a-col> |
51 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
52 | + <a-form-item label="物料单位"> | |
53 | + <a-input placeholder="请输入物料单位" v-model="queryParam.materialUnit"></a-input> | |
54 | + </a-form-item> | |
55 | + </a-col> | |
28 | 56 | </template> |
29 | 57 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
30 | 58 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
... | ... | @@ -32,7 +60,7 @@ |
32 | 60 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
33 | 61 | <a @click="handleToggleSearch" style="margin-left: 8px"> |
34 | 62 | {{ toggleSearchStatus ? '收起' : '展开' }} |
35 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
63 | + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> | |
36 | 64 | </a> |
37 | 65 | </span> |
38 | 66 | </a-col> |
... | ... | @@ -43,73 +71,49 @@ |
43 | 71 | |
44 | 72 | <!-- 操作按钮区域 --> |
45 | 73 | <div class="table-operator"> |
46 | - <a-button v-has="'inventoryMaterialSummary:add'" @click="handleAdd" type="primary" icon="plus">新增</a-button> | |
47 | - <a-button v-has="'inventoryMaterialSummary:export'" type="primary" icon="download" @click="handleExportXls('物料汇总主表')">导出</a-button> | |
48 | - <a-upload v-has="'inventoryMaterialSummary:import'" name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> | |
49 | - <a-button type="primary" icon="import">导入</a-button> | |
50 | - </a-upload> | |
74 | + <!-- <a-button v-has="'inventoryMaterialSummary:add'" @click="handleAdd" type="primary" icon="plus">新增</a-button> --> | |
75 | + <a-button v-has="'inventoryMaterialSummary:export'" type="primary" icon="download" @click="handleExportXls('库存物料汇总')">导出</a-button> | |
51 | 76 | </div> |
52 | 77 | |
53 | 78 | <!-- table区域-begin --> |
54 | 79 | <div> |
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> 项--> | |
57 | -<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>--> | |
58 | -<!-- </div>--> | |
80 | + <!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">--> | |
81 | + <!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项--> | |
82 | + <!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>--> | |
83 | + <!-- </div>--> | |
59 | 84 | |
60 | 85 | <a-table |
61 | 86 | ref="table" |
62 | 87 | size="middle" |
63 | - :scroll="{x:true}" | |
88 | + :scroll="{ x: true }" | |
64 | 89 | bordered |
65 | - rowKey="id" | |
90 | + :rowKey="(record,index) => {return record.zoneCode + '_' + record.materialCode}" | |
66 | 91 | :columns="columns" |
67 | 92 | :dataSource="dataSource" |
68 | 93 | :pagination="ipagination" |
69 | 94 | :loading="loading" |
70 | 95 | :customRow="clickThenSelect" |
71 | - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio'}" | |
96 | + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: 'radio' }" | |
72 | 97 | class="j-table-force-nowrap" |
73 | - @change="handleTableChange"> | |
74 | - | |
98 | + @change="handleTableChange" | |
99 | + > | |
75 | 100 | <span slot="companyCode" slot-scope="companyCode"> |
76 | - <a-tag :key="companyCode" color=blue> | |
101 | + <a-tag :key="companyCode" color="blue"> | |
77 | 102 | {{ solutionCompany(companyCode) }} |
78 | 103 | </a-tag> |
79 | 104 | </span> |
80 | 105 | |
81 | 106 | <span slot="zoneCode" slot-scope="zoneCode"> |
82 | - <a-tag :key="zoneCode" color=blue> | |
107 | + <a-tag :key="zoneCode" color="blue"> | |
83 | 108 | {{ solutionZoneCode(zoneCode) }} |
84 | 109 | </a-tag> |
85 | 110 | </span> |
86 | - | |
87 | - <template slot="htmlSlot" slot-scope="text"> | |
88 | - <div v-html="text"></div> | |
89 | - </template> | |
90 | - <template slot="imgSlot" slot-scope="text"> | |
91 | - <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> | |
92 | - <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> | |
93 | - </template> | |
94 | - <template slot="fileSlot" slot-scope="text"> | |
95 | - <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> | |
96 | - <a-button | |
97 | - v-else | |
98 | - :ghost="true" | |
99 | - type="primary" | |
100 | - icon="download" | |
101 | - size="small" | |
102 | - @click="downloadFile(text)"> | |
103 | - 下载 | |
104 | - </a-button> | |
105 | - </template> | |
106 | - | |
107 | 111 | </a-table> |
108 | 112 | </div> |
109 | 113 | |
110 | 114 | <a-tabs defaultActiveKey="1"> |
111 | 115 | <a-tab-pane tab="库存详情" key="1"> |
112 | - <InventoryDetailSubTable :mainId="selectedMainId"/> | |
116 | + <InventoryDetailSubTable :mainId="selectedMainId" /> | |
113 | 117 | </a-tab-pane> |
114 | 118 | </a-tabs> |
115 | 119 | |
... | ... | @@ -118,169 +122,171 @@ |
118 | 122 | </template> |
119 | 123 | |
120 | 124 | <script> |
125 | +import '@/assets/less/TableExpand.less' | |
126 | +import { filterObj } from '@/utils/util' | |
127 | +import { mixinDevice } from '@/utils/mixin' | |
128 | +import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
129 | +import { getCompanyList, getZoneList, ajaxGetDictItems } from '@/api/api' | |
130 | +// import InventoryDetailList from './InventoryDetailList' | |
131 | +import InventoryDetailSubTable from './subTables/InventoryDetailSubTable' | |
121 | 132 | |
122 | - import '@/assets/less/TableExpand.less' | |
123 | - import { mixinDevice } from '@/utils/mixin' | |
124 | - import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
125 | - import { getCompanyList, getZoneList } from '@/api/api' | |
126 | - import InventoryDetailList from './InventoryDetailList' | |
127 | - import InventoryDetailSubTable from './subTables/InventoryDetailSubTable' | |
128 | - | |
129 | - export default { | |
130 | - name: 'InventoryMaterialSummaryList', | |
131 | - mixins:[JeecgListMixin, mixinDevice], | |
132 | - components: { | |
133 | - InventoryDetailSubTable, | |
134 | - InventoryDetailList | |
135 | - }, | |
136 | - data () { | |
137 | - return { | |
138 | - zoneList: [], | |
139 | - selectedMainId: '', | |
140 | - description: '物料汇总主表管理页面', | |
141 | - // 表头 | |
142 | - companyList: [], | |
143 | - columns: [ | |
144 | - // { | |
145 | - // title: '库存ID', | |
146 | - // align: "center", | |
147 | - // dataIndex: 'id' | |
148 | - // }, | |
149 | - // { | |
150 | - // title:'仓库', | |
151 | - // align:"center", | |
152 | - // dataIndex: 'warehouseCode' | |
153 | - // }, | |
154 | - { | |
155 | - title: '库区', | |
156 | - align: "center", | |
157 | - dataIndex: 'zoneCode', | |
158 | - key: 'zoneCode', | |
159 | - scopedSlots: {customRender: 'zoneCode'} | |
160 | - }, | |
161 | - { | |
162 | - title:'货主', | |
163 | - align:"center", | |
164 | - dataIndex: 'companyCode', | |
165 | - key: 'companyCode', | |
166 | - scopedSlots: {customRender: 'companyCode'} | |
167 | - }, | |
168 | - { | |
169 | - title:'物料编码', | |
170 | - align:"center", | |
171 | - dataIndex: 'materialCode' | |
172 | - }, | |
173 | - { | |
174 | - title:'物料名称', | |
175 | - align:"center", | |
176 | - dataIndex: 'materialName' | |
177 | - }, | |
178 | - { | |
179 | - title:'物料规格', | |
180 | - align:"center", | |
181 | - dataIndex: 'materialSpec' | |
182 | - }, | |
183 | - { | |
184 | - title:'物料单位', | |
185 | - align:"center", | |
186 | - dataIndex: 'materialUnit' | |
187 | - }, | |
188 | - { | |
189 | - title:'物料总数', | |
190 | - align:"center", | |
191 | - dataIndex: 'qty' | |
192 | - } | |
193 | - ], | |
194 | - url: { | |
195 | - list: "/InventoryMaterialSummary/inventoryMaterialSummary/list", | |
196 | - exportXlsUrl: "/InventoryMaterialSummary/inventoryMaterialSummary/exportXls", | |
197 | - importExcelUrl: "InventoryMaterialSummary/inventoryMaterialSummary/importExcel", | |
198 | - | |
133 | +export default { | |
134 | + name: 'InventoryMaterialSummaryList', | |
135 | + mixins: [JeecgListMixin, mixinDevice], | |
136 | + components: { | |
137 | + InventoryDetailSubTable | |
138 | + }, | |
139 | + data() { | |
140 | + return { | |
141 | + zoneList: [], | |
142 | + companyList: [], | |
143 | + selectedMainId: '', | |
144 | + description: '物料汇总主表管理页面', | |
145 | + // 表头 | |
146 | + columns: [ | |
147 | + { | |
148 | + title: '库区', | |
149 | + align: 'center', | |
150 | + dataIndex: 'zoneCode', | |
151 | + key: 'zoneCode', | |
152 | + scopedSlots: { customRender: 'zoneCode' } | |
153 | + }, | |
154 | + { | |
155 | + title: '货主', | |
156 | + align: 'center', | |
157 | + dataIndex: 'companyCode', | |
158 | + key: 'companyCode', | |
159 | + scopedSlots: { customRender: 'companyCode' } | |
160 | + }, | |
161 | + { | |
162 | + title: '物料编码', | |
163 | + align: 'center', | |
164 | + dataIndex: 'materialCode' | |
165 | + }, | |
166 | + { | |
167 | + title: '物料名称', | |
168 | + align: 'center', | |
169 | + dataIndex: 'materialName' | |
170 | + }, | |
171 | + { | |
172 | + title: '物料规格', | |
173 | + align: 'center', | |
174 | + dataIndex: 'materialSpec' | |
199 | 175 | }, |
200 | - dictOptions:{}, | |
201 | - superFieldList:[], | |
176 | + { | |
177 | + title: '物料单位', | |
178 | + align: 'center', | |
179 | + dataIndex: 'materialUnit' | |
180 | + }, | |
181 | + { | |
182 | + title: '物料总数', | |
183 | + align: 'center', | |
184 | + dataIndex: 'qty' | |
185 | + } | |
186 | + ], | |
187 | + url: { | |
188 | + list: '/InventoryMaterialSummary/inventoryMaterialSummary/list', | |
189 | + exportXlsUrl: '/InventoryMaterialSummary/inventoryMaterialSummary/exportXls', | |
190 | + importExcelUrl: 'InventoryMaterialSummary/inventoryMaterialSummary/importExcel' | |
191 | + }, | |
192 | + dictOptions: {}, | |
193 | + superFieldList: [] | |
194 | + } | |
195 | + }, | |
196 | + created() { | |
197 | + this.getSuperFieldList() | |
198 | + this.loadFrom() | |
199 | + }, | |
200 | + computed: { | |
201 | + importExcelUrl: function() { | |
202 | + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` | |
203 | + } | |
204 | + }, | |
205 | + methods: { | |
206 | + getQueryParams() { | |
207 | + // 重写查询条件 | |
208 | + let sqp = {} | |
209 | + if (this.superQueryParams) { | |
210 | + sqp['superQueryParams'] = encodeURI(this.superQueryParams) | |
211 | + sqp['superQueryMatchType'] = this.superQueryMatchType | |
202 | 212 | } |
213 | + var param = Object.assign(sqp, this.queryParam, {}, this.filters) | |
214 | + param.field = this.getQueryField() | |
215 | + param.pageNo = this.ipagination.current | |
216 | + param.pageSize = this.ipagination.pageSize | |
217 | + return filterObj(param) | |
203 | 218 | }, |
204 | - created() { | |
205 | - this.getSuperFieldList(); | |
206 | - this.loadFrom(); | |
219 | + solutionZoneCode(value) { | |
220 | + var actions = [] | |
221 | + Object.keys(this.zoneList).some(key => { | |
222 | + if (this.zoneList[key].code === '' + value) { | |
223 | + actions.push(this.zoneList[key].name) | |
224 | + return true | |
225 | + } | |
226 | + }) | |
227 | + return actions.join('') | |
207 | 228 | }, |
208 | - computed: { | |
209 | - importExcelUrl: function(){ | |
210 | - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; | |
211 | - }, | |
229 | + solutionCompany(value) { | |
230 | + var actions = [] | |
231 | + Object.keys(this.companyList).some(key => { | |
232 | + if (this.companyList[key].code === '' + value) { | |
233 | + actions.push(this.companyList[key].name) | |
234 | + return true | |
235 | + } | |
236 | + }) | |
237 | + return actions.join('') | |
212 | 238 | }, |
213 | - methods: { | |
214 | - solutionZoneCode(value) { | |
215 | - var actions = [] | |
216 | - Object.keys(this.zoneList).some(key => { | |
217 | - if (this.zoneList[key].code == '' + value) { | |
218 | - actions.push(this.zoneList[key].name) | |
219 | - return true | |
220 | - } | |
221 | - }) | |
222 | - return actions.join('') | |
223 | - }, | |
224 | - loadFrom() { | |
225 | - getZoneList().then((res) => { | |
226 | - if (res.success) { | |
227 | - this.zoneList = res.result | |
228 | - } | |
229 | - }); | |
230 | - getCompanyList().then((res) => { | |
231 | - if (res.success) { | |
232 | - this.companyList = res.result | |
233 | - } | |
234 | - }); | |
235 | - }, | |
236 | - | |
237 | - clickThenSelect(record) { | |
238 | - return { | |
239 | - on: { | |
240 | - click: () => { | |
241 | - this.onSelectChange(record.id.toString().split(","), [record]); | |
242 | - } | |
243 | - } | |
239 | + loadFrom() { | |
240 | + getZoneList().then(res => { | |
241 | + if (res.success) { | |
242 | + this.zoneList = res.result | |
244 | 243 | } |
245 | - }, | |
246 | - onSelectChange(selectedRowKeys, selectionRows) { | |
247 | - this.selectedMainId = selectedRowKeys[0].toString(); | |
248 | - this.selectedRowKeys = selectedRowKeys; | |
249 | - this.selectionRows = selectionRows; | |
250 | - }, | |
251 | - onClearSelected() { | |
252 | - this.selectedMainId = '' | |
253 | - this.selectedRowKeys = []; | |
254 | - this.selectionRows = []; | |
255 | - }, | |
256 | - initDictConfig(){ | |
257 | - }, | |
258 | - solutionCompany(value) { | |
259 | - var actions = [] | |
260 | - Object.keys(this.companyList).some((key) => { | |
261 | - if (this.companyList[key].code == ('' + value)) { | |
262 | - actions.push(this.companyList[key].name) | |
263 | - return true | |
244 | + }) | |
245 | + ajaxGetDictItems('box_type').then(res => { | |
246 | + if (res.success) { | |
247 | + this.boxTypeList = res.result | |
248 | + } | |
249 | + }) | |
250 | + getCompanyList().then(res => { | |
251 | + if (res.success) { | |
252 | + this.companyList = res.result | |
253 | + } | |
254 | + }) | |
255 | + }, | |
256 | + clickThenSelect(record) { | |
257 | + return { | |
258 | + on: { | |
259 | + click: () => { | |
260 | + this.onSelectChange(record.materialCode.toString().split(','), [record]) | |
264 | 261 | } |
265 | - }) | |
266 | - return actions.join('') | |
267 | - }, | |
268 | - | |
269 | - getSuperFieldList(){ | |
270 | - let fieldList=[]; | |
271 | - fieldList.push({type:'string',value:'warehouseCode',text:'仓库',dictCode:''}) | |
272 | - fieldList.push({type:'string',value:'zoneCode',text:'库区',dictCode:''}) | |
273 | - fieldList.push({type:'string',value:'companyCode_dec',text:'货主',dictCode:''}) | |
274 | - fieldList.push({type:'string',value:'materialCode',text:'物料编码',dictCode:''}) | |
275 | - fieldList.push({type:'string',value:'materialName',text:'物料名称',dictCode:''}) | |
276 | - fieldList.push({type:'string',value:'materialSpec',text:'物料规格',dictCode:''}) | |
277 | - fieldList.push({type:'string',value:'materialUnit',text:'物料单位',dictCode:''}) | |
278 | - fieldList.push({type:'BigDecimal',value:'qty',text:'物料总数',dictCode:''}) | |
279 | - this.superFieldList = fieldList | |
262 | + } | |
280 | 263 | } |
264 | + }, | |
265 | + onSelectChange(selectedRowKeys, selectionRows) { | |
266 | + this.selectedMainId = selectionRows[0].zoneCode.toString() + "_" + selectionRows[0].materialCode.toString() | |
267 | + this.selectedRowKeys = selectedRowKeys | |
268 | + this.selectionRows = selectionRows | |
269 | + }, | |
270 | + onClearSelected() { | |
271 | + this.selectedMainId = '' | |
272 | + this.selectedRowKeys = [] | |
273 | + this.selectionRows = [] | |
274 | + }, | |
275 | + initDictConfig() {}, | |
276 | + getSuperFieldList() { | |
277 | + let fieldList = [] | |
278 | + fieldList.push({ type: 'string', value: 'zoneCode', text: '库区', dictCode: '' }) | |
279 | + fieldList.push({ type: 'string', value: 'companyCode', text: '货主', dictCode: '' }) | |
280 | + fieldList.push({ type: 'string', value: 'materialCode', text: '物料编码', dictCode: '' }) | |
281 | + fieldList.push({ type: 'string', value: 'materialName', text: '物料名称', dictCode: '' }) | |
282 | + fieldList.push({ type: 'string', value: 'materialSpec', text: '物料规格', dictCode: '' }) | |
283 | + fieldList.push({ type: 'string', value: 'materialUnit', text: '物料单位', dictCode: '' }) | |
284 | + fieldList.push({ type: 'BigDecimal', value: 'qty', text: '物料总数', dictCode: '' }) | |
285 | + this.superFieldList = fieldList | |
281 | 286 | } |
282 | 287 | } |
288 | +} | |
283 | 289 | </script> |
284 | 290 | <style scoped> |
285 | - @import '~@assets/less/common.less'; | |
291 | +@import '~@assets/less/common.less'; | |
286 | 292 | </style> |
287 | 293 | \ No newline at end of file |
... | ... |
ant-design-vue-jeecg/src/views/system/inventory/InventoryTransactionList.vue
... | ... | @@ -19,33 +19,37 @@ |
19 | 19 | </a-form-item> |
20 | 20 | </a-col> |
21 | 21 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
22 | + <a-form-item label="库位编码"> | |
23 | + <a-input placeholder="请输入库位编码" v-model="queryParam.locationCode"></a-input> | |
24 | + </a-form-item> | |
25 | + </a-col> | |
26 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
22 | 27 | <a-form-item label="容器编码"> |
23 | 28 | <a-input placeholder="请输入容器编码" v-model="queryParam.containerCode"></a-input> |
24 | 29 | </a-form-item> |
25 | 30 | </a-col> |
31 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
32 | + <a-form-item label="交易类型"> | |
33 | + <j-dict-select-tag placeholder="请选择交易类型" v-model="queryParam.type" dictCode="inventory_transaction_type"/> | |
34 | + </a-form-item> | |
35 | + </a-col> | |
36 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
37 | + <a-form-item label="库存状态"> | |
38 | + <j-dict-select-tag placeholder="请选择库存状态" v-model="queryParam.inventoryStatus" dictCode="inventory_status"/> | |
39 | + </a-form-item> | |
40 | + </a-col> | |
41 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
42 | + <a-form-item label="物料编码"> | |
43 | + <a-input placeholder="请输入物料编码" v-model="queryParam.materialCode"></a-input> | |
44 | + </a-form-item> | |
45 | + </a-col> | |
46 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
47 | + <a-form-item label="物料名称"> | |
48 | + <a-input placeholder="请输入物料名称" v-model="queryParam.materialName"></a-input> | |
49 | + </a-form-item> | |
50 | + </a-col> | |
26 | 51 | <template v-if="toggleSearchStatus"> |
27 | 52 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
28 | - <a-form-item label="库位编码"> | |
29 | - <a-input placeholder="请输入库位编码" v-model="queryParam.locationCode"></a-input> | |
30 | - </a-form-item> | |
31 | - </a-col> | |
32 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
33 | - <a-form-item label="交易类型"> | |
34 | - <j-dict-select-tag placeholder="请选择交易类型" v-model="queryParam.type" | |
35 | - dictCode="inventory_transaction_type"/> | |
36 | - </a-form-item> | |
37 | - </a-col> | |
38 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
39 | - <a-form-item label="物料编码"> | |
40 | - <a-input placeholder="请输入物料编码" v-model="queryParam.materialCode"></a-input> | |
41 | - </a-form-item> | |
42 | - </a-col> | |
43 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
44 | - <a-form-item label="物料名称"> | |
45 | - <a-input placeholder="请输入物料名称" v-model="queryParam.materialName"></a-input> | |
46 | - </a-form-item> | |
47 | - </a-col> | |
48 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
49 | 53 | <a-form-item label="物料规格"> |
50 | 54 | <a-input placeholder="请输入物料规格" v-model="queryParam.materialSpec"></a-input> |
51 | 55 | </a-form-item> |
... | ... | @@ -56,12 +60,6 @@ |
56 | 60 | </a-form-item> |
57 | 61 | </a-col> |
58 | 62 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
59 | - <a-form-item label="库存状态"> | |
60 | - <j-dict-select-tag placeholder="请选择库存状态" v-model="queryParam.inventoryStatus" | |
61 | - dictCode="inventory_status"/> | |
62 | - </a-form-item> | |
63 | - </a-col> | |
64 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
65 | 63 | <a-form-item label="批次"> |
66 | 64 | <a-input placeholder="请输入批次" v-model="queryParam.batch"></a-input> |
67 | 65 | </a-form-item> |
... | ... |
ant-design-vue-jeecg/src/views/system/inventory/SimpleInventoryDetailList.vue
... | ... | @@ -6,36 +6,62 @@ |
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.companyCode"></a-input> | |
9 | + <a-select | |
10 | + show-search | |
11 | + placeholder="请选择货主" | |
12 | + option-filter-prop="children" | |
13 | + v-model="queryParam.companyCode"> | |
14 | + <a-select-option v-for="item in companyList" :key="item.name" :value="item.code">{{ | |
15 | + item.name | |
16 | + }} | |
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"> |
13 | 22 | <a-form-item label="库区"> |
14 | - <a-input placeholder="请输入库区" v-model="queryParam.zoneCode"></a-input> | |
23 | + <a-select | |
24 | + show-search | |
25 | + placeholder="请选择库区" | |
26 | + option-filter-prop="children" | |
27 | + v-model="queryParam.zoneCode"> | |
28 | + <a-select-option v-for="item in zoneList" :key="item.name" :value="item.code"> | |
29 | + {{item.name}} | |
30 | + </a-select-option> | |
31 | + </a-select> | |
32 | + </a-form-item> | |
33 | + </a-col> | |
34 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
35 | + <a-form-item label="库位编码"> | |
36 | + <a-input placeholder="请输入库位编码" v-model="queryParam.locationCode"></a-input> | |
37 | + </a-form-item> | |
38 | + </a-col> | |
39 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
40 | + <a-form-item label="容器编码"> | |
41 | + <a-input placeholder="请输入容器编码" v-model="queryParam.containerCode"></a-input> | |
42 | + </a-form-item> | |
43 | + </a-col> | |
44 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
45 | + <a-form-item label="库存状态"> | |
46 | + <j-dict-select-tag | |
47 | + placeholder="请选择库存状态" | |
48 | + v-model="queryParam.inventoryStatus" | |
49 | + dictCode="inventory_status" | |
50 | + /> | |
51 | + </a-form-item> | |
52 | + </a-col> | |
53 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
54 | + <a-form-item label="物料编码"> | |
55 | + <a-input placeholder="请输入物料编码" v-model="queryParam.materialCode"></a-input> | |
56 | + </a-form-item> | |
57 | + </a-col> | |
58 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
59 | + <a-form-item label="物料名称"> | |
60 | + <a-input placeholder="请输入物料名称" v-model="queryParam.materialName"></a-input> | |
15 | 61 | </a-form-item> |
16 | 62 | </a-col> |
17 | 63 | <template v-if="toggleSearchStatus"> |
18 | 64 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
19 | - <a-form-item label="容器编码"> | |
20 | - <a-input placeholder="请输入容器编码" v-model="queryParam.containerCode"></a-input> | |
21 | - </a-form-item> | |
22 | - </a-col> | |
23 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
24 | - <a-form-item label="库位编码"> | |
25 | - <a-input placeholder="请输入库位编码" v-model="queryParam.locationCode"></a-input> | |
26 | - </a-form-item> | |
27 | - </a-col> | |
28 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
29 | - <a-form-item label="物料编码"> | |
30 | - <a-input placeholder="请输入物料编码" v-model="queryParam.materialCode"></a-input> | |
31 | - </a-form-item> | |
32 | - </a-col> | |
33 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
34 | - <a-form-item label="物料名称"> | |
35 | - <a-input placeholder="请输入物料名称" v-model="queryParam.materialName"></a-input> | |
36 | - </a-form-item> | |
37 | - </a-col> | |
38 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
39 | 65 | <a-form-item label="物料规格"> |
40 | 66 | <a-input placeholder="请输入物料规格" v-model="queryParam.materialSpec"></a-input> |
41 | 67 | </a-form-item> |
... | ... | @@ -46,15 +72,6 @@ |
46 | 72 | </a-form-item> |
47 | 73 | </a-col> |
48 | 74 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
49 | - <a-form-item label="库存状态"> | |
50 | - <j-dict-select-tag | |
51 | - placeholder="请选择库存状态" | |
52 | - v-model="queryParam.inventoryStatus" | |
53 | - dictCode="inventory_status" | |
54 | - /> | |
55 | - </a-form-item> | |
56 | - </a-col> | |
57 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
58 | 75 | <a-form-item label="批次"> |
59 | 76 | <a-input placeholder="请输入批次" v-model="queryParam.batch"></a-input> |
60 | 77 | </a-form-item> |
... | ... | @@ -64,17 +81,16 @@ |
64 | 81 | <a-input placeholder="请输入序列号" v-model="queryParam.sn"></a-input> |
65 | 82 | </a-form-item> |
66 | 83 | </a-col> --> |
67 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
68 | - <a-form-item label="入库日期"> | |
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> | |
84 | + <a-col :xl="12" :lg="14" :md="16" :sm="24"> | |
85 | + <a-form-item label="创建日期"> | |
86 | + <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择开始时间" | |
87 | + class="query-group-cust" v-model="queryParam.createTime_begin"></j-date> | |
88 | + <span class="query-group-split-cust"></span> | |
89 | + <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择结束时间" | |
90 | + class="query-group-cust" v-model="queryParam.createTime_end"></j-date> | |
75 | 91 | </a-form-item> |
76 | 92 | </a-col> |
77 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
93 | + <a-col :xl='6' :lg='7' :md='8' :sm='24'> | |
78 | 94 | <a-form-item label='库龄大于(天)'> |
79 | 95 | <a-input placeholder='请输入库龄大于(天)' v-model='queryParam.inventoryAge'></a-input> |
80 | 96 | </a-form-item> |
... | ... |
ant-design-vue-jeecg/src/views/system/inventory/modules/InventoryHeaderModal.vue
... | ... | @@ -33,8 +33,8 @@ |
33 | 33 | </a-form-model-item> |
34 | 34 | </a-col> |
35 | 35 | <a-col :span="24"> |
36 | - <a-form-model-item label="库位号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="locationCode"> | |
37 | - <a-input v-model="model.locationCode" placeholder="请输入库位号"></a-input> | |
36 | + <a-form-model-item label="库位编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="locationCode"> | |
37 | + <a-input v-model="model.locationCode" placeholder="请输入库位编码"></a-input> | |
38 | 38 | </a-form-model-item> |
39 | 39 | </a-col> |
40 | 40 | <a-col :span="24"> |
... | ... |
ant-design-vue-jeecg/src/views/system/inventory/subTables/InventoryDetailSubTable.vue
... | ... | @@ -4,37 +4,11 @@ |
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 | 6 | <a-button type="primary" icon="download" @click="handleExportXls('库存详情')">导出</a-button> |
7 | - <a-upload | |
8 | - name="file" | |
9 | - :showUploadList="false" | |
10 | - :multiple="false" | |
11 | - :headers="tokenHeader" | |
12 | - :action="importExcelUrl" | |
13 | - @change="handleImportExcel"> | |
14 | - <a-button type="primary" icon="import">导入</a-button> | |
15 | - </a-upload> | |
16 | - <a-dropdown v-if="selectedRowKeys.length > 0"> | |
17 | - <a-menu slot="overlay" v-has="'inventoryDetail:deleteBatch'"> | |
18 | - <a-menu-item key="1" @click="batchDel"> | |
19 | - <a-icon type="delete"/> | |
20 | - 删除 | |
21 | - </a-menu-item> | |
22 | - </a-menu> | |
23 | - <a-button style="margin-left: 8px"> 批量操作 | |
24 | - <a-icon type="down"/> | |
25 | - </a-button> | |
26 | - </a-dropdown> | |
27 | 7 | </div> |
28 | 8 | |
29 | 9 | <!-- table区域-begin --> |
30 | 10 | <div> |
31 | - <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> | |
32 | - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a | |
33 | - style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项 | |
34 | - <a style="margin-left: 24px" @click="onClearSelected">清空</a> | |
35 | - </div> | |
36 | - | |
37 | - <a-table | |
11 | + <a-table | |
38 | 12 | ref="table" |
39 | 13 | size="middle" |
40 | 14 | bordered |
... | ... | @@ -54,34 +28,17 @@ |
54 | 28 | </span> |
55 | 29 | |
56 | 30 | <span slot="companyCode" slot-scope="companyCode"> |
57 | - <a-tag :key="companyCode" color=blue> | |
31 | + | |
32 | + <a-tag :key="companyCode" color="blue"> | |
58 | 33 | {{ solutionCompany(companyCode) }} |
59 | 34 | </a-tag> |
60 | 35 | </span> |
61 | 36 | |
62 | - <template slot="htmlSlot" slot-scope="text"> | |
63 | - <div v-html="text"></div> | |
64 | - </template> | |
65 | - <template slot="imgSlot" slot-scope="text"> | |
66 | - <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> | |
67 | - <img v-else :src="getImgView(text)" height="25px" alt="" | |
68 | - style="max-width:80px;font-size: 12px;font-style: italic;"/> | |
69 | - </template> | |
70 | - <template slot="fileSlot" slot-scope="text"> | |
71 | - <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> | |
72 | - <a-button | |
73 | - v-else | |
74 | - :ghost="true" | |
75 | - type="primary" | |
76 | - icon="download" | |
77 | - size="small" | |
78 | - @click="downloadFile(text)"> | |
79 | - 下载 | |
80 | - </a-button> | |
81 | - </template> | |
82 | - | |
83 | - | |
84 | - | |
37 | + <span slot="zoneCode" slot-scope="zoneCode"> | |
38 | + <a-tag :key="zoneCode" color="blue"> | |
39 | + {{ solutionZoneCode(zoneCode) }} | |
40 | + </a-tag> | |
41 | + </span> | |
85 | 42 | </a-table> |
86 | 43 | </div> |
87 | 44 | |
... | ... | @@ -91,14 +48,17 @@ |
91 | 48 | |
92 | 49 | <script> |
93 | 50 | |
94 | -import {JeecgListMixin} from '@/mixins/JeecgListMixin' | |
51 | +import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
95 | 52 | import InventoryDetailModal from '../modules/InventoryDetailModal' |
96 | -import {getCompanyList} from '@/api/api' | |
53 | + | |
54 | +import { getCompanyList, getZoneList } from '@/api/api' | |
97 | 55 | |
98 | 56 | export default { |
99 | - name: "InventoryDetailSubTable", | |
57 | + | |
58 | + name: 'InventoryDetailSubTable', | |
100 | 59 | mixins: [JeecgListMixin], |
101 | - components: {InventoryDetailModal}, | |
60 | + | |
61 | + components: { InventoryDetailModal }, | |
102 | 62 | props: { |
103 | 63 | mainId: { |
104 | 64 | type: String, |
... | ... | @@ -113,90 +73,100 @@ export default { |
113 | 73 | if (!this.mainId) { |
114 | 74 | this.clearList() |
115 | 75 | } else { |
116 | - this.queryParam['id'] = val | |
117 | - this.loadData(1); | |
76 | + | |
77 | + this.queryParam['zoneCode'] = val.split("_")[0]; | |
78 | + this.queryParam['materialCode'] = val.split("_")[1]; | |
79 | + this.loadData(1) | |
118 | 80 | } |
119 | 81 | } |
120 | 82 | } |
121 | 83 | }, |
122 | 84 | data() { |
123 | 85 | return { |
124 | - description: '库存表管理页面', | |
86 | + | |
87 | + description: '库存物料汇总详情页面', | |
125 | 88 | disableMixinCreated: true, |
126 | 89 | companyList: [], |
90 | + zoneList: [], | |
127 | 91 | // 表头 |
128 | 92 | columns: [ |
129 | 93 | { |
130 | 94 | title: '库存详情ID', |
131 | - align: "center", | |
95 | + | |
96 | + align: 'center', | |
132 | 97 | dataIndex: 'id' |
133 | 98 | }, |
134 | 99 | { |
135 | 100 | title: '货主', |
136 | - align: "center", | |
101 | + | |
102 | + align: 'center', | |
137 | 103 | dataIndex: 'companyCode', |
138 | 104 | key: 'companyCode', |
139 | - scopedSlots: {customRender: 'companyCode'} | |
105 | + | |
106 | + scopedSlots: { customRender: 'companyCode' } | |
140 | 107 | }, |
141 | 108 | { |
142 | 109 | title: '库区', |
143 | - align: "center", | |
144 | - dataIndex: 'zoneCode' | |
110 | + | |
111 | + align: 'center', | |
112 | + dataIndex: 'zoneCode', | |
113 | + key: 'zoneCode', | |
114 | + scopedSlots: { customRender: 'zoneCode' } | |
145 | 115 | }, |
146 | 116 | { |
147 | - title: '容器编码', | |
148 | - align: "center", | |
149 | - dataIndex: 'containerCode' | |
117 | + title: '库位编码', | |
118 | + align: 'center', | |
119 | + dataIndex: 'locationCode' | |
150 | 120 | }, |
151 | 121 | { |
152 | - title: '库位编码', | |
122 | + title: '容器编码', | |
153 | 123 | align: "center", |
154 | - dataIndex: 'locationCode' | |
124 | + dataIndex: 'containerCode' | |
155 | 125 | }, |
156 | 126 | { |
157 | 127 | title: '物料编码', |
158 | - align: "center", | |
128 | + align: 'center', | |
159 | 129 | dataIndex: 'materialCode' |
160 | 130 | }, |
161 | 131 | { |
162 | 132 | title: '物料名称', |
163 | - align: "center", | |
133 | + align: 'center', | |
164 | 134 | dataIndex: 'materialName' |
165 | 135 | }, |
166 | 136 | { |
167 | - title: '物料规格', | |
168 | - align: "center", | |
169 | - dataIndex: 'materialSpec' | |
170 | - }, | |
171 | - { | |
172 | 137 | title: '物料单位', |
173 | - align: "center", | |
138 | + align: 'center', | |
174 | 139 | dataIndex: 'materialUnit' |
175 | 140 | }, |
176 | 141 | { |
177 | 142 | title: '数量', |
178 | - align: "center", | |
143 | + align: 'center', | |
179 | 144 | dataIndex: 'qty' |
180 | 145 | }, |
181 | 146 | { |
182 | 147 | title: '任务锁定数量', |
183 | - align: "center", | |
148 | + align: 'center', | |
184 | 149 | dataIndex: 'taskQty' |
185 | 150 | }, |
186 | 151 | { |
187 | 152 | title: '库存状态', |
188 | - align: "center", | |
153 | + align: 'center', | |
189 | 154 | dataIndex: 'inventoryStatus_dictText', |
190 | 155 | scopedSlots: {customRender: 'inventoryStatus_dictText'} |
191 | 156 | }, |
192 | 157 | { |
158 | + title: '容器状态', | |
159 | + align: 'center', | |
160 | + dataIndex: 'containerStatus_dictText' | |
161 | + }, | |
162 | + { | |
193 | 163 | title: '批次', |
194 | 164 | align: "center", |
195 | 165 | dataIndex: 'batch' |
196 | 166 | }, |
197 | 167 | { |
198 | 168 | title: '序列号', |
199 | - align: "center", | |
169 | + align: 'center', | |
200 | 170 | dataIndex: 'sn' |
201 | 171 | }, |
202 | 172 | { |
... | ... | @@ -206,44 +176,35 @@ export default { |
206 | 176 | }, |
207 | 177 | { |
208 | 178 | title: '库龄(天)', |
209 | - align: "center", | |
179 | + align: 'center', | |
210 | 180 | dataIndex: 'inventoryAge' |
211 | 181 | }, |
212 | 182 | { |
213 | 183 | title: '创建人', |
214 | - align: "center", | |
184 | + align: 'center', | |
215 | 185 | dataIndex: 'createBy' |
216 | 186 | }, |
217 | 187 | { |
218 | 188 | title: '创建日期', |
219 | - align: "center", | |
189 | + align: 'center', | |
220 | 190 | dataIndex: 'createTime' |
221 | 191 | }, |
222 | 192 | { |
223 | 193 | title: '更新人', |
224 | - align: "center", | |
194 | + align: 'center', | |
225 | 195 | dataIndex: 'updateBy' |
226 | 196 | }, |
227 | 197 | { |
228 | 198 | title: '更新日期', |
229 | - align: "center", | |
230 | - }, | |
231 | - { | |
232 | - title: '操作', | |
233 | - dataIndex: 'action', | |
234 | - align:"center", | |
235 | - fixed:"right", | |
236 | - width:147, | |
237 | - scopedSlots: { customRender: 'action' } | |
199 | + align: 'center', | |
200 | + dataIndex: 'updateTime' | |
238 | 201 | }, |
239 | 202 | ], |
240 | 203 | url: { |
241 | - list: "/InventoryMaterialSummary/inventoryMaterialSummary/inventoryMaterialSummaryChild", | |
242 | - exportXlsUrl: "/inventory/inventoryHeader/exportInventoryDetail", | |
243 | 204 | importUrl: "/inventory/inventoryHeader/importInventoryDetail", |
244 | 205 | }, |
245 | 206 | dictOptions: { |
246 | - containerStatus: [], | |
207 | + containerStatus: [] | |
247 | 208 | } |
248 | 209 | } |
249 | 210 | }, |
... | ... | @@ -252,7 +213,7 @@ export default { |
252 | 213 | }, |
253 | 214 | computed: { |
254 | 215 | importExcelUrl() { |
255 | - return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`; | |
216 | + return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}` | |
256 | 217 | } |
257 | 218 | }, |
258 | 219 | methods: { |
... | ... | @@ -267,31 +228,47 @@ export default { |
267 | 228 | return colors[status] || colors.default; |
268 | 229 | }, |
269 | 230 | loadFrom() { |
270 | - getCompanyList().then((res) => { | |
231 | + | |
232 | + getCompanyList().then(res => { | |
271 | 233 | if (res.success) { |
272 | 234 | this.companyList = res.result |
273 | 235 | } |
274 | - }); | |
236 | + }) | |
237 | + getZoneList().then(res => { | |
238 | + if (res.success) { | |
239 | + this.zoneList = res.result | |
240 | + } | |
241 | + }) | |
275 | 242 | }, |
276 | 243 | solutionCompany(value) { |
277 | - var actions = [] | |
278 | - Object.keys(this.companyList).some((key) => { | |
279 | - if (this.companyList[key].code == ('' + value)) { | |
244 | + | |
245 | + let actions = [] | |
246 | + Object.keys(this.companyList).some(key => { | |
247 | + if (this.companyList[key].code === '' + value) { | |
280 | 248 | actions.push(this.companyList[key].name) |
281 | 249 | return true |
282 | 250 | } |
283 | 251 | }) |
284 | 252 | return actions.join('') |
285 | 253 | }, |
254 | + solutionZoneCode(value) { | |
255 | + let actions = [] | |
256 | + Object.keys(this.zoneList).some(key => { | |
257 | + if (this.zoneList[key].code === '' + value) { | |
258 | + actions.push(this.zoneList[key].name) | |
259 | + return true | |
260 | + } | |
261 | + }) | |
262 | + return actions.join('') | |
263 | + }, | |
286 | 264 | clearList() { |
287 | 265 | this.dataSource = [] |
288 | 266 | this.selectedRowKeys = [] |
289 | 267 | this.ipagination.current = 1 |
290 | 268 | } |
291 | - | |
292 | 269 | } |
293 | 270 | } |
294 | 271 | </script> |
295 | 272 | <style scoped> |
296 | -@import '~@assets/less/common.less' | |
273 | +@import '~@assets/less/common.less'; | |
297 | 274 | </style> |
... | ... |
ant-design-vue-jeecg/src/views/system/receipt/ReceiptContainerHeaderList.vue
... | ... | @@ -19,22 +19,27 @@ |
19 | 19 | <j-dict-select-tag placeholder="请选择状态" v-model="queryParam.status" dictCode="receipt_container_status"/> |
20 | 20 | </a-form-item> |
21 | 21 | </a-col> |
22 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
23 | + <a-form-item label="起始库位"> | |
24 | + <a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input> | |
25 | + </a-form-item> | |
26 | + </a-col> | |
27 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
28 | + <a-form-item label="目标库位"> | |
29 | + <a-input placeholder="请输入目标库位" v-model="queryParam.toLocationCode"></a-input> | |
30 | + </a-form-item> | |
31 | + </a-col> | |
32 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
33 | + <a-form-item label="目标出入口"> | |
34 | + <a-input placeholder="请输入目标出入口" v-model="queryParam.toPort"></a-input> | |
35 | + </a-form-item> | |
36 | + </a-col> | |
37 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
38 | + <a-form-item label="创建人"> | |
39 | + <a-input placeholder="请输入创建人" v-model="queryParam.createBy"></a-input> | |
40 | + </a-form-item> | |
41 | + </a-col> | |
22 | 42 | <template v-if="toggleSearchStatus"> |
23 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
24 | - <a-form-item label="起始库位"> | |
25 | - <a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input> | |
26 | - </a-form-item> | |
27 | - </a-col> | |
28 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
29 | - <a-form-item label="目标库位"> | |
30 | - <a-input placeholder="请输入目标库位" v-model="queryParam.toLocationCode"></a-input> | |
31 | - </a-form-item> | |
32 | - </a-col> | |
33 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
34 | - <a-form-item label="目标出入口"> | |
35 | - <a-input placeholder="请输入目标出入口" v-model="queryParam.toPort"></a-input> | |
36 | - </a-form-item> | |
37 | - </a-col> | |
38 | 43 | <a-col :xl="12" :lg="14" :md="16" :sm="24"> |
39 | 44 | <a-form-item label="创建日期"> |
40 | 45 | <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择开始时间" |
... | ... |
ant-design-vue-jeecg/src/views/system/receipt/ReceiptHeaderList.vue
... | ... | @@ -24,7 +24,6 @@ |
24 | 24 | </a-select> |
25 | 25 | </a-form-item> |
26 | 26 | </a-col> |
27 | - | |
28 | 27 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
29 | 28 | <a-form-item label="入库单类型"> |
30 | 29 | <a-select |
... | ... | @@ -39,38 +38,36 @@ |
39 | 38 | </a-select> |
40 | 39 | </a-form-item> |
41 | 40 | </a-col> |
42 | - | |
41 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
42 | + <a-form-item label="头状态"> | |
43 | + <j-dict-select-tag placeholder="请选择头状态" v-model="queryParam.firstStatus" dictCode="receipt_status"/> | |
44 | + </a-form-item> | |
45 | + </a-col> | |
46 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
47 | + <a-form-item label="尾状态"> | |
48 | + <j-dict-select-tag placeholder="请选择尾状态" v-model="queryParam.lastStatus" dictCode="receipt_status"/> | |
49 | + </a-form-item> | |
50 | + </a-col> | |
51 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
52 | + <a-form-item label="上游单号"> | |
53 | + <a-input placeholder="请输入上游单号" v-model="queryParam.referCode"></a-input> | |
54 | + </a-form-item> | |
55 | + </a-col> | |
56 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
57 | + <a-form-item label="供应商"> | |
58 | + <a-select | |
59 | + show-search | |
60 | + placeholder="请选择供应商" | |
61 | + option-filter-prop="children" | |
62 | + v-model="queryParam.supplierCode"> | |
63 | + <a-select-option v-for="item in supplierList" :key="item.name" :value="item.code">{{ | |
64 | + item.name | |
65 | + }} | |
66 | + </a-select-option> | |
67 | + </a-select> | |
68 | + </a-form-item> | |
69 | + </a-col> | |
43 | 70 | <template v-if="toggleSearchStatus"> |
44 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
45 | - <a-form-item label="头状态"> | |
46 | - <j-dict-select-tag placeholder="请选择头状态" v-model="queryParam.firstStatus" dictCode="receipt_status"/> | |
47 | - </a-form-item> | |
48 | - </a-col> | |
49 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
50 | - <a-form-item label="尾状态"> | |
51 | - <j-dict-select-tag placeholder="请选择尾状态" v-model="queryParam.lastStatus" dictCode="receipt_status"/> | |
52 | - </a-form-item> | |
53 | - </a-col> | |
54 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
55 | - <a-form-item label="上游单号"> | |
56 | - <a-input placeholder="请输入上游单号" v-model="queryParam.referCode"></a-input> | |
57 | - </a-form-item> | |
58 | - </a-col> | |
59 | - | |
60 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
61 | - <a-form-item label="供应商"> | |
62 | - <a-select | |
63 | - show-search | |
64 | - placeholder="请选择供应商" | |
65 | - option-filter-prop="children" | |
66 | - v-model="queryParam.supplierCode"> | |
67 | - <a-select-option v-for="item in supplierList" :key="item.name" :value="item.code">{{ | |
68 | - item.name | |
69 | - }} | |
70 | - </a-select-option> | |
71 | - </a-select> | |
72 | - </a-form-item> | |
73 | - </a-col> | |
74 | 71 | <a-col :xl="12" :lg="14" :md="16" :sm="24"> |
75 | 72 | <a-form-item label="创建日期"> |
76 | 73 | <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择开始时间" |
... | ... |
ant-design-vue-jeecg/src/views/system/shipment/ShipmentContainerHeaderList.vue
... | ... | @@ -14,33 +14,33 @@ |
14 | 14 | <j-dict-select-tag placeholder="请选择任务类型" v-model="queryParam.taskType" dictCode="shipment_task_type"/> |
15 | 15 | </a-form-item> |
16 | 16 | </a-col> |
17 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
18 | + <a-form-item label="状态"> | |
19 | + <j-dict-select-tag placeholder="请选择状态" v-model="queryParam.status" | |
20 | + dictCode="shipment_container_status"/> | |
21 | + </a-form-item> | |
22 | + </a-col> | |
23 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
24 | + <a-form-item label="起始库位"> | |
25 | + <a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input> | |
26 | + </a-form-item> | |
27 | + </a-col> | |
28 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
29 | + <a-form-item label="目标库位"> | |
30 | + <a-input placeholder="请输入目标库位" v-model="queryParam.toLocationCode"></a-input> | |
31 | + </a-form-item> | |
32 | + </a-col> | |
33 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
34 | + <a-form-item label="目标出入口"> | |
35 | + <a-input placeholder="请输入目标出入口" v-model="queryParam.toPort"></a-input> | |
36 | + </a-form-item> | |
37 | + </a-col> | |
38 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
39 | + <a-form-item label="创建人"> | |
40 | + <a-input placeholder="请输入创建人" v-model="queryParam.createBy"></a-input> | |
41 | + </a-form-item> | |
42 | + </a-col> | |
17 | 43 | <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.status" | |
21 | - dictCode="shipment_container_status"/> | |
22 | - </a-form-item> | |
23 | - </a-col> | |
24 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
25 | - <a-form-item label="起始库位"> | |
26 | - <a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input> | |
27 | - </a-form-item> | |
28 | - </a-col> | |
29 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
30 | - <a-form-item label="目标库位"> | |
31 | - <a-input placeholder="请输入目标库位" v-model="queryParam.toLocationCode"></a-input> | |
32 | - </a-form-item> | |
33 | - </a-col> | |
34 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
35 | - <a-form-item label="目标出入口"> | |
36 | - <a-input placeholder="请输入目标出入口" v-model="queryParam.toPort"></a-input> | |
37 | - </a-form-item> | |
38 | - </a-col> | |
39 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
40 | - <a-form-item label="创建人"> | |
41 | - <a-input placeholder="请输入创建人" v-model="queryParam.createBy"></a-input> | |
42 | - </a-form-item> | |
43 | - </a-col> | |
44 | 44 | <a-col :xl="12" :lg="14" :md="16" :sm="24"> |
45 | 45 | <a-form-item label="创建日期"> |
46 | 46 | <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择开始时间" |
... | ... |
ant-design-vue-jeecg/src/views/system/shipment/ShipmentHeaderList.vue
... | ... | @@ -37,37 +37,37 @@ |
37 | 37 | </a-select> |
38 | 38 | </a-form-item> |
39 | 39 | </a-col> |
40 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
41 | + <a-form-item label="头状态"> | |
42 | + <j-dict-select-tag placeholder="请选择头状态" v-model="queryParam.firstStatus" dictCode="shipment_status"/> | |
43 | + </a-form-item> | |
44 | + </a-col> | |
45 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
46 | + <a-form-item label="尾状态"> | |
47 | + <j-dict-select-tag placeholder="请选择尾状态" v-model="queryParam.lastStatus" dictCode="shipment_status"/> | |
48 | + </a-form-item> | |
49 | + </a-col> | |
50 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
51 | + <a-form-item label="上游单号"> | |
52 | + <a-input placeholder="请输入上游单号" v-model="queryParam.referCode"></a-input> | |
53 | + </a-form-item> | |
54 | + </a-col> | |
55 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
56 | + <a-form-item label="客户"> | |
57 | + <a-select | |
58 | + show-search | |
59 | + placeholder="请选择客户" | |
60 | + option-filter-prop="children" | |
61 | + v-model="queryParam.customerCode"> | |
62 | + <a-select-option v-for="item in customerList" :key="item.name" :value="item.code">{{ | |
63 | + item.name | |
64 | + }} | |
65 | + </a-select-option> | |
66 | + </a-select> | |
67 | + </a-form-item> | |
68 | + </a-col> | |
40 | 69 | <template v-if="toggleSearchStatus"> |
41 | 70 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
42 | - <a-form-item label="头状态"> | |
43 | - <j-dict-select-tag placeholder="请选择头状态" v-model="queryParam.firstStatus" dictCode="shipment_status"/> | |
44 | - </a-form-item> | |
45 | - </a-col> | |
46 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
47 | - <a-form-item label="尾状态"> | |
48 | - <j-dict-select-tag placeholder="请选择尾状态" v-model="queryParam.lastStatus" dictCode="shipment_status"/> | |
49 | - </a-form-item> | |
50 | - </a-col> | |
51 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
52 | - <a-form-item label="上游单号"> | |
53 | - <a-input placeholder="请输入上游单号" v-model="queryParam.referCode"></a-input> | |
54 | - </a-form-item> | |
55 | - </a-col> | |
56 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
57 | - <a-form-item label="客户"> | |
58 | - <a-select | |
59 | - show-search | |
60 | - placeholder="请选择客户" | |
61 | - option-filter-prop="children" | |
62 | - v-model="queryParam.customerCode"> | |
63 | - <a-select-option v-for="item in customerList" :key="item.name" :value="item.code">{{ | |
64 | - item.name | |
65 | - }} | |
66 | - </a-select-option> | |
67 | - </a-select> | |
68 | - </a-form-item> | |
69 | - </a-col> | |
70 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
71 | 71 | <a-form-item label="出库单备注"> |
72 | 72 | <a-input placeholder="请输入出库单备注" v-model="queryParam.remark"></a-input> |
73 | 73 | </a-form-item> |
... | ... |
ant-design-vue-jeecg/src/views/system/task/AgvTaskList.vue
... | ... | @@ -5,6 +5,11 @@ |
5 | 5 | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
6 | 6 | <a-row :gutter="24"> |
7 | 7 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
8 | + <a-form-item label="任务ID"> | |
9 | + <a-input placeholder="请输入任务ID" v-model="queryParam.id"></a-input> | |
10 | + </a-form-item> | |
11 | + </a-col> | |
12 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
8 | 13 | <a-form-item label="任务类型"> |
9 | 14 | <j-dict-select-tag placeholder="请选择任务类型" v-model="queryParam.taskType" dictCode="agv_task_type"/> |
10 | 15 | </a-form-item> |
... | ... | @@ -14,31 +19,25 @@ |
14 | 19 | <a-input placeholder="请输入容器编码" v-model="queryParam.containerCode"></a-input> |
15 | 20 | </a-form-item> |
16 | 21 | </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.status" dictCode="agv_task_status"/> | |
21 | - </a-form-item> | |
22 | - </a-col> | |
23 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
24 | - <a-form-item label="起始点位"> | |
25 | - <a-input placeholder="请输入起始点位" v-model="queryParam.fromPort"></a-input> | |
26 | - </a-form-item> | |
27 | - </a-col> | |
28 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
29 | - <a-form-item label="目标点位"> | |
30 | - <a-input placeholder="请输入目标点位" v-model="queryParam.toPort"></a-input> | |
31 | - </a-form-item> | |
32 | - </a-col> | |
33 | - </template> | |
22 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
23 | + <a-form-item label="状态"> | |
24 | + <j-dict-select-tag placeholder="请选择状态" v-model="queryParam.status" dictCode="agv_task_status"/> | |
25 | + </a-form-item> | |
26 | + </a-col> | |
27 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
28 | + <a-form-item label="起始点位"> | |
29 | + <a-input placeholder="请输入起始点位" v-model="queryParam.fromPort"></a-input> | |
30 | + </a-form-item> | |
31 | + </a-col> | |
32 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
33 | + <a-form-item label="目标点位"> | |
34 | + <a-input placeholder="请输入目标点位" v-model="queryParam.toPort"></a-input> | |
35 | + </a-form-item> | |
36 | + </a-col> | |
34 | 37 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
35 | 38 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
36 | 39 | <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> |
37 | 40 | <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> |
38 | - <a @click="handleToggleSearch" style="margin-left: 8px"> | |
39 | - {{ toggleSearchStatus ? '收起' : '展开' }} | |
40 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
41 | - </a> | |
42 | 41 | </span> |
43 | 42 | </a-col> |
44 | 43 | </a-row> |
... | ... |
ant-design-vue-jeecg/src/views/system/task/CircleTaskHeaderList.vue
... | ... | @@ -5,6 +5,11 @@ |
5 | 5 | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
6 | 6 | <a-row :gutter="24"> |
7 | 7 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
8 | + <a-form-item label="任务ID"> | |
9 | + <a-input placeholder="请输入任务ID" v-model="queryParam.id"></a-input> | |
10 | + </a-form-item> | |
11 | + </a-col> | |
12 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
8 | 13 | <a-form-item label="任务类型"> |
9 | 14 | <j-dict-select-tag placeholder="请选择任务类型" v-model="queryParam.taskType" dictCode="task_type"/> |
10 | 15 | </a-form-item> |
... | ... | @@ -14,31 +19,36 @@ |
14 | 19 | <a-input placeholder="请输入容器编码" v-model="queryParam.containerCode"></a-input> |
15 | 20 | </a-form-item> |
16 | 21 | </a-col> |
17 | - <template v-if="toggleSearchStatus"> | |
18 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
19 | - <a-form-item label="库区"> | |
20 | - <a-select | |
21 | - show-search | |
22 | - placeholder="请选择库区" | |
23 | - option-filter-prop="children" | |
22 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
23 | + <a-form-item label="库区"> | |
24 | + <a-select | |
25 | + show-search | |
26 | + placeholder="请选择库区" | |
27 | + option-filter-prop="children" | |
24 | 28 | |
25 | - v-model="queryParam.zoneCode"> | |
26 | - <a-select-option v-for="item in zoneList" :key="item.name" :value="item.code"> | |
27 | - {{item.name}} | |
28 | - </a-select-option> | |
29 | - </a-select> | |
30 | - </a-form-item> | |
31 | - </a-col> | |
32 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
33 | - <a-form-item label="起始库位"> | |
34 | - <a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input> | |
35 | - </a-form-item> | |
36 | - </a-col> | |
37 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
38 | - <a-form-item label="目标库位"> | |
39 | - <a-input placeholder="请输入目标库位" v-model="queryParam.toLocationCode"></a-input> | |
40 | - </a-form-item> | |
41 | - </a-col> | |
29 | + v-model="queryParam.zoneCode"> | |
30 | + <a-select-option v-for="item in zoneList" :key="item.name" :value="item.code"> | |
31 | + {{item.name}} | |
32 | + </a-select-option> | |
33 | + </a-select> | |
34 | + </a-form-item> | |
35 | + </a-col> | |
36 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
37 | + <a-form-item label="起始库位"> | |
38 | + <a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input> | |
39 | + </a-form-item> | |
40 | + </a-col> | |
41 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
42 | + <a-form-item label="目标库位"> | |
43 | + <a-input placeholder="请输入目标库位" v-model="queryParam.toLocationCode"></a-input> | |
44 | + </a-form-item> | |
45 | + </a-col> | |
46 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
47 | + <a-form-item label="任务状态"> | |
48 | + <j-dict-select-tag placeholder="请选择任务状态" v-model="queryParam.status" dictCode="task_header_status"/> | |
49 | + </a-form-item> | |
50 | + </a-col> | |
51 | + <template v-if="toggleSearchStatus"> | |
42 | 52 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
43 | 53 | <a-form-item label="起始出入口"> |
44 | 54 | <a-input placeholder="请输入起始出入口" v-model="queryParam.fromPortCode"></a-input> |
... | ... | @@ -49,11 +59,7 @@ |
49 | 59 | <a-input placeholder="请输入目标出入口" v-model="queryParam.toPortCode"></a-input> |
50 | 60 | </a-form-item> |
51 | 61 | </a-col> |
52 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
53 | - <a-form-item label="任务状态"> | |
54 | - <j-dict-select-tag placeholder="请选择任务状态" v-model="queryParam.status" dictCode="task_header_status"/> | |
55 | - </a-form-item> | |
56 | - </a-col> | |
62 | + | |
57 | 63 | <a-col :xl="12" :lg="14" :md="16" :sm="24"> |
58 | 64 | <a-form-item label="创建日期"> |
59 | 65 | <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择开始时间" |
... | ... | @@ -456,7 +462,7 @@ export default { |
456 | 462 | fieldList.push({type: 'string', value: 'toLocationCode', text: '目标库位', dictCode: ''}) |
457 | 463 | fieldList.push({type: 'string', value: 'isEmptyOut', text: '是否空出', dictCode: 'is_or_not'}) |
458 | 464 | fieldList.push({type: 'int', value: 'isDoubleIn', text: '是否重入', dictCode: 'is_or_not'}) |
459 | - fieldList.push({type: 'string', value: 'originLocationCode', text: '重入库位号', dictCode: ''}) | |
465 | + fieldList.push({type: 'string', value: 'originLocationCode', text: '重入库位编码', dictCode: ''}) | |
460 | 466 | fieldList.push({type: 'int', value: 'status', text: '任务状态', dictCode: 'task_header_status'}) |
461 | 467 | fieldList.push({type: 'string', value: 'fromPortCode', text: '起始出入口', dictCode: ''}) |
462 | 468 | fieldList.push({type: 'string', value: 'toPortCode', text: '目标出入口', dictCode: ''}) |
... | ... |
ant-design-vue-jeecg/src/views/system/task/ReceiptTaskHeaderList.vue
... | ... | @@ -5,6 +5,11 @@ |
5 | 5 | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
6 | 6 | <a-row :gutter="24"> |
7 | 7 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
8 | + <a-form-item label="任务ID"> | |
9 | + <a-input placeholder="请输入任务ID" v-model="queryParam.id"></a-input> | |
10 | + </a-form-item> | |
11 | + </a-col> | |
12 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
8 | 13 | <a-form-item label="任务类型"> |
9 | 14 | <j-dict-select-tag placeholder="请选择任务类型" v-model="queryParam.taskType" dictCode="task_type"/> |
10 | 15 | </a-form-item> |
... | ... | @@ -14,31 +19,36 @@ |
14 | 19 | <a-input placeholder="请输入容器编码" v-model="queryParam.containerCode"></a-input> |
15 | 20 | </a-form-item> |
16 | 21 | </a-col> |
22 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
23 | + <a-form-item label="库区"> | |
24 | + <a-select | |
25 | + show-search | |
26 | + placeholder="请选择库区" | |
27 | + option-filter-prop="children" | |
28 | + v-model="queryParam.zoneCode"> | |
29 | + <a-select-option v-for="item in zoneList" :key="item.name" :value="item.code"> | |
30 | + {{item.name}} | |
31 | + </a-select-option> | |
32 | + </a-select> | |
33 | + </a-form-item> | |
34 | + </a-col> | |
35 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
36 | + <a-form-item label="起始库位"> | |
37 | + <a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input> | |
38 | + </a-form-item> | |
39 | + </a-col> | |
40 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
41 | + <a-form-item label="目标库位"> | |
42 | + <a-input placeholder="请输入目标库位" v-model="queryParam.toLocationCode"></a-input> | |
43 | + </a-form-item> | |
44 | + </a-col> | |
45 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
46 | + <a-form-item label="任务状态"> | |
47 | + <j-dict-select-tag placeholder="请选择任务状态" v-model="queryParam.status" dictCode="task_header_status"/> | |
48 | + </a-form-item> | |
49 | + </a-col> | |
17 | 50 | <template v-if="toggleSearchStatus"> |
18 | 51 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
19 | - <a-form-item label="库区"> | |
20 | - <a-select | |
21 | - show-search | |
22 | - placeholder="请选择库区" | |
23 | - option-filter-prop="children" | |
24 | - v-model="queryParam.zoneCode"> | |
25 | - <a-select-option v-for="item in zoneList" :key="item.name" :value="item.code"> | |
26 | - {{item.name}} | |
27 | - </a-select-option> | |
28 | - </a-select> | |
29 | - </a-form-item> | |
30 | - </a-col> | |
31 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
32 | - <a-form-item label="起始库位"> | |
33 | - <a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input> | |
34 | - </a-form-item> | |
35 | - </a-col> | |
36 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
37 | - <a-form-item label="目标库位"> | |
38 | - <a-input placeholder="请输入目标库位" v-model="queryParam.toLocationCode"></a-input> | |
39 | - </a-form-item> | |
40 | - </a-col> | |
41 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
42 | 52 | <a-form-item label="起始出入口"> |
43 | 53 | <a-input placeholder="请输入起始出入口" v-model="queryParam.fromPortCode"></a-input> |
44 | 54 | </a-form-item> |
... | ... | @@ -48,11 +58,6 @@ |
48 | 58 | <a-input placeholder="请输入目标出入口" v-model="queryParam.toPortCode"></a-input> |
49 | 59 | </a-form-item> |
50 | 60 | </a-col> |
51 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
52 | - <a-form-item label="任务状态"> | |
53 | - <j-dict-select-tag placeholder="请选择任务状态" v-model="queryParam.status" dictCode="task_header_status"/> | |
54 | - </a-form-item> | |
55 | - </a-col> | |
56 | 61 | <a-col :xl="12" :lg="14" :md="16" :sm="24"> |
57 | 62 | <a-form-item label="创建日期"> |
58 | 63 | <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择开始时间" |
... | ... | @@ -494,7 +499,7 @@ export default { |
494 | 499 | fieldList.push({type: 'string', value: 'toLocationCode', text: '目标库位', dictCode: ''}) |
495 | 500 | fieldList.push({type: 'string', value: 'isEmptyOut', text: '是否空出', dictCode: 'is_or_not'}) |
496 | 501 | fieldList.push({type: 'int', value: 'isDoubleIn', text: '是否重入', dictCode: 'is_or_not'}) |
497 | - fieldList.push({type: 'string', value: 'originLocationCode', text: '重入库位号', dictCode: ''}) | |
502 | + fieldList.push({type: 'string', value: 'originLocationCode', text: '重入库位编码', dictCode: ''}) | |
498 | 503 | fieldList.push({type: 'int', value: 'status', text: '任务状态', dictCode: 'task_header_status'}) |
499 | 504 | fieldList.push({type: 'string', value: 'fromPortCode', text: '起始出入口', dictCode: ''}) |
500 | 505 | fieldList.push({type: 'string', value: 'toPortCode', text: '目标出入口', dictCode: ''}) |
... | ... |
ant-design-vue-jeecg/src/views/system/task/ShipmentTaskHeaderList.vue
... | ... | @@ -5,6 +5,11 @@ |
5 | 5 | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
6 | 6 | <a-row :gutter="24"> |
7 | 7 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
8 | + <a-form-item label="任务ID"> | |
9 | + <a-input placeholder="请输入任务ID" v-model="queryParam.id"></a-input> | |
10 | + </a-form-item> | |
11 | + </a-col> | |
12 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
8 | 13 | <a-form-item label="任务类型"> |
9 | 14 | <j-dict-select-tag placeholder="请选择任务类型" v-model="queryParam.taskType" dictCode="task_type"/> |
10 | 15 | </a-form-item> |
... | ... | @@ -14,36 +19,36 @@ |
14 | 19 | <a-input placeholder="请输入容器编码" v-model="queryParam.containerCode"></a-input> |
15 | 20 | </a-form-item> |
16 | 21 | </a-col> |
22 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
23 | + <a-form-item label="库区"> | |
24 | + <a-select | |
25 | + show-search | |
26 | + placeholder="请选择库区" | |
27 | + option-filter-prop="children" | |
28 | + v-model="queryParam.zoneCode"> | |
29 | + <a-select-option v-for="item in zoneList" :key="item.name" :value="item.code"> | |
30 | + {{item.name}} | |
31 | + </a-select-option> | |
32 | + </a-select> | |
33 | + </a-form-item> | |
34 | + </a-col> | |
35 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
36 | + <a-form-item label="起始库位"> | |
37 | + <a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input> | |
38 | + </a-form-item> | |
39 | + </a-col> | |
40 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
41 | + <a-form-item label="目标库位"> | |
42 | + <a-input placeholder="请输入目标库位" v-model="queryParam.toLocationCode"></a-input> | |
43 | + </a-form-item> | |
44 | + </a-col> | |
45 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
46 | + <a-form-item label="任务状态"> | |
47 | + <j-dict-select-tag placeholder="请选择任务状态" v-model="queryParam.status" dictCode="task_header_status"/> | |
48 | + </a-form-item> | |
49 | + </a-col> | |
17 | 50 | <template v-if="toggleSearchStatus"> |
18 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
19 | - <a-form-item label="库区"> | |
20 | - <a-select | |
21 | - show-search | |
22 | - placeholder="请选择库区" | |
23 | - option-filter-prop="children" | |
24 | - v-model="queryParam.zoneCode"> | |
25 | - <a-select-option v-for="item in zoneList" :key="item.name" :value="item.code"> | |
26 | - {{item.name}} | |
27 | - </a-select-option> | |
28 | - </a-select> | |
29 | - </a-form-item> | |
30 | - </a-col> | |
31 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
32 | - <a-form-item label="起始库位"> | |
33 | - <a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input> | |
34 | - </a-form-item> | |
35 | - </a-col> | |
36 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
37 | - <a-form-item label="目标库位"> | |
38 | - <a-input placeholder="请输入目标库位" v-model="queryParam.toLocationCode"></a-input> | |
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 placeholder="请选择任务状态" v-model="queryParam.status" dictCode="task_header_status"/> | |
44 | - </a-form-item> | |
45 | - </a-col> | |
46 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
51 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
47 | 52 | <a-form-item label="起始出入口"> |
48 | 53 | <a-input placeholder="请输入起始出入口" v-model="queryParam.fromPortCode"></a-input> |
49 | 54 | </a-form-item> |
... | ... | @@ -493,7 +498,7 @@ export default { |
493 | 498 | fieldList.push({type: 'string', value: 'toLocationCode', text: '目标库位', dictCode: ''}) |
494 | 499 | fieldList.push({type: 'string', value: 'isEmptyOut', text: '是否空出', dictCode: 'is_or_not'}) |
495 | 500 | fieldList.push({type: 'int', value: 'isDoubleIn', text: '是否重入', dictCode: 'is_or_not'}) |
496 | - fieldList.push({type: 'string', value: 'originLocationCode', text: '重入库位号', dictCode: ''}) | |
501 | + fieldList.push({type: 'string', value: 'originLocationCode', text: '重入库位编码', dictCode: ''}) | |
497 | 502 | fieldList.push({type: 'int', value: 'status', text: '任务状态', dictCode: 'task_header_status'}) |
498 | 503 | fieldList.push({type: 'string', value: 'fromPort', text: '起始出入口', dictCode: ''}) |
499 | 504 | fieldList.push({type: 'string', value: 'toPort', text: '目标出入口', dictCode: ''}) |
... | ... |
ant-design-vue-jeecg/src/views/system/task/TransferTaskHeaderList.vue
... | ... | @@ -5,6 +5,11 @@ |
5 | 5 | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
6 | 6 | <a-row :gutter="24"> |
7 | 7 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
8 | + <a-form-item label="任务ID"> | |
9 | + <a-input placeholder="请输入任务ID" v-model="queryParam.id"></a-input> | |
10 | + </a-form-item> | |
11 | + </a-col> | |
12 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
8 | 13 | <a-form-item label="任务类型"> |
9 | 14 | <j-dict-select-tag placeholder="请选择任务类型" v-model="queryParam.taskType" dictCode="task_type"/> |
10 | 15 | </a-form-item> |
... | ... | @@ -14,31 +19,36 @@ |
14 | 19 | <a-input placeholder="请输入容器编码" v-model="queryParam.containerCode"></a-input> |
15 | 20 | </a-form-item> |
16 | 21 | </a-col> |
22 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
23 | + <a-form-item label="库区"> | |
24 | + <a-select | |
25 | + show-search | |
26 | + placeholder="请选择库区" | |
27 | + option-filter-prop="children" | |
28 | + v-model="queryParam.zoneCode"> | |
29 | + <a-select-option v-for="item in zoneList" :key="item.name" :value="item.code"> | |
30 | + {{item.name}} | |
31 | + </a-select-option> | |
32 | + </a-select> | |
33 | + </a-form-item> | |
34 | + </a-col> | |
35 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
36 | + <a-form-item label="起始库位"> | |
37 | + <a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input> | |
38 | + </a-form-item> | |
39 | + </a-col> | |
40 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
41 | + <a-form-item label="目标库位"> | |
42 | + <a-input placeholder="请输入目标库位" v-model="queryParam.toLocationCode"></a-input> | |
43 | + </a-form-item> | |
44 | + </a-col> | |
45 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
46 | + <a-form-item label="任务状态"> | |
47 | + <j-dict-select-tag placeholder="请选择任务状态" v-model="queryParam.status" dictCode="task_header_status"/> | |
48 | + </a-form-item> | |
49 | + </a-col> | |
17 | 50 | <template v-if="toggleSearchStatus"> |
18 | 51 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
19 | - <a-form-item label="库区"> | |
20 | - <a-select | |
21 | - show-search | |
22 | - placeholder="请选择库区" | |
23 | - option-filter-prop="children" | |
24 | - v-model="queryParam.zoneCode"> | |
25 | - <a-select-option v-for="item in zoneList" :key="item.name" :value="item.code"> | |
26 | - {{item.name}} | |
27 | - </a-select-option> | |
28 | - </a-select> | |
29 | - </a-form-item> | |
30 | - </a-col> | |
31 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
32 | - <a-form-item label="起始库位"> | |
33 | - <a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input> | |
34 | - </a-form-item> | |
35 | - </a-col> | |
36 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
37 | - <a-form-item label="目标库位"> | |
38 | - <a-input placeholder="请输入目标库位" v-model="queryParam.toLocationCode"></a-input> | |
39 | - </a-form-item> | |
40 | - </a-col> | |
41 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
42 | 52 | <a-form-item label="起始出入口"> |
43 | 53 | <a-input placeholder="请输入起始出入口" v-model="queryParam.fromPortCode"></a-input> |
44 | 54 | </a-form-item> |
... | ... | @@ -48,11 +58,6 @@ |
48 | 58 | <a-input placeholder="请输入目标出入口" v-model="queryParam.toPortCode"></a-input> |
49 | 59 | </a-form-item> |
50 | 60 | </a-col> |
51 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
52 | - <a-form-item label="任务状态"> | |
53 | - <j-dict-select-tag placeholder="请选择任务状态" v-model="queryParam.status" dictCode="task_header_status"/> | |
54 | - </a-form-item> | |
55 | - </a-col> | |
56 | 61 | <a-col :xl="12" :lg="14" :md="16" :sm="24"> |
57 | 62 | <a-form-item label="创建日期"> |
58 | 63 | <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择开始时间" |
... | ... | @@ -501,7 +506,7 @@ export default { |
501 | 506 | fieldList.push({type: 'string', value: 'toLocationCode', text: '目标库位', dictCode: ''}) |
502 | 507 | fieldList.push({type: 'string', value: 'isEmptyOut', text: '是否空出', dictCode: 'is_or_not'}) |
503 | 508 | fieldList.push({type: 'int', value: 'isDoubleIn', text: '是否重入', dictCode: 'is_or_not'}) |
504 | - fieldList.push({type: 'string', value: 'originLocationCode', text: '重入库位号', dictCode: ''}) | |
509 | + fieldList.push({type: 'string', value: 'originLocationCode', text: '重入库位编码', dictCode: ''}) | |
505 | 510 | fieldList.push({type: 'int', value: 'status', text: '任务状态', dictCode: 'task_header_status'}) |
506 | 511 | fieldList.push({type: 'string', value: 'fromPortCode', text: '起始出入口', dictCode: ''}) |
507 | 512 | fieldList.push({type: 'string', value: 'toPortCode', text: '目标出入口', dictCode: ''}) |
... | ... |
ant-design-vue-jeecg/src/views/system/task/modules/TaskHeaderModal.vue
... | ... | @@ -42,8 +42,8 @@ |
42 | 42 | </a-form-model-item> |
43 | 43 | </a-col> |
44 | 44 | <a-col :span="24"> |
45 | - <a-form-model-item label="重入库位号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="originLocationCode"> | |
46 | - <a-input v-model="model.originLocationCode" placeholder="请输入重入库位号"></a-input> | |
45 | + <a-form-model-item label="重入库位编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="originLocationCode"> | |
46 | + <a-input v-model="model.originLocationCode" placeholder="请输入重入库位编码"></a-input> | |
47 | 47 | </a-form-model-item> |
48 | 48 | </a-col> |
49 | 49 | <a-col :span="24"> |
... | ... |
ant-design-vue-jeecg/src/views/system/task/modules/TransferTaskModal.vue
... | ... | @@ -12,13 +12,13 @@ |
12 | 12 | <a-form-model ref="form" :model="model" :rules="validatorRules"> |
13 | 13 | <a-row> |
14 | 14 | <a-col :span="24"> |
15 | - <a-form-model-item label="起始库位号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fromLocationCode"> | |
16 | - <a-input v-model="model.fromLocationCode" placeholder="请输入起始库位号"></a-input> | |
15 | + <a-form-model-item label="起始库位编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fromLocationCode"> | |
16 | + <a-input v-model="model.fromLocationCode" placeholder="请输入起始库位编码"></a-input> | |
17 | 17 | </a-form-model-item> |
18 | 18 | </a-col> |
19 | 19 | <a-col :span="24"> |
20 | - <a-form-model-item label="目标库位号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="toLocationCode"> | |
21 | - <a-input v-model="model.toLocationCode" placeholder="请输入目标库位号"></a-input> | |
20 | + <a-form-model-item label="目标库位编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="toLocationCode"> | |
21 | + <a-input v-model="model.toLocationCode" placeholder="请输入目标库位编码"></a-input> | |
22 | 22 | </a-form-model-item> |
23 | 23 | </a-col> |
24 | 24 | </a-row> |
... | ... | @@ -56,10 +56,10 @@ export default { |
56 | 56 | confirmLoading: false, |
57 | 57 | validatorRules: { |
58 | 58 | fromLocationCode: [ |
59 | - {required: true, message: '请输入起始库位号!'}, | |
59 | + {required: true, message: '请输入起始库位编码!'}, | |
60 | 60 | ], |
61 | 61 | toLocationCode: [ |
62 | - {required: true, message: '请输入目标库位号!'}, | |
62 | + {required: true, message: '请输入目标库位编码!'}, | |
63 | 63 | ], |
64 | 64 | }, |
65 | 65 | url: { |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/system/entity/SysUser.java
... | ... | @@ -8,6 +8,7 @@ import java.util.List; |
8 | 8 | import org.jeecg.common.aspect.annotation.Dict; |
9 | 9 | import org.jeecgframework.poi.excel.annotation.Excel; |
10 | 10 | import org.springframework.format.annotation.DateTimeFormat; |
11 | +import org.springframework.util.StringUtils; | |
11 | 12 | |
12 | 13 | import com.baomidou.mybatisplus.annotation.IdType; |
13 | 14 | import com.baomidou.mybatisplus.annotation.TableField; |
... | ... | @@ -197,7 +198,7 @@ public class SysUser implements Serializable { |
197 | 198 | private List<String> selectedWarehouses; |
198 | 199 | |
199 | 200 | public void setSelectedWarehouse(String selectedWarehouse) { |
200 | - if (selectedWarehouse != null) { | |
201 | + if (!StringUtils.isEmpty(selectedWarehouse)) { | |
201 | 202 | this.selectedWarehouse = selectedWarehouse; |
202 | 203 | this.selectedWarehouses = Arrays.asList(selectedWarehouse.split(",")); |
203 | 204 | } |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mobile/entity/CallBoxBean.java
... | ... | @@ -10,7 +10,7 @@ import lombok.Data; |
10 | 10 | public class CallBoxBean { |
11 | 11 | @ApiModelProperty(value = "托盘号", required = true) |
12 | 12 | private String containerCode; |
13 | - @ApiModelProperty(value = "库位号", required = true) | |
13 | + @ApiModelProperty(value = "库位编码", required = true) | |
14 | 14 | private String locationCode; |
15 | 15 | @ApiModelProperty(value = "任务类型,200补充入, 400分拣出") |
16 | 16 | private int type; |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/mobile/entity/QuickReceiptBean.java
... | ... | @@ -10,7 +10,7 @@ import java.util.List; |
10 | 10 | public class QuickReceiptBean { |
11 | 11 | @ApiModelProperty(value = "托盘号", required = true) |
12 | 12 | private String containerCode; |
13 | - @ApiModelProperty(value = "库位号", required = false) | |
13 | + @ApiModelProperty(value = "库位编码", required = false) | |
14 | 14 | private String locationCode; |
15 | 15 | @ApiModelProperty(value = "单据类型", required = true) |
16 | 16 | private String receiptType; |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java
... | ... | @@ -219,7 +219,7 @@ public class WcsServiceImpl implements WcsService { |
219 | 219 | receiptContainerHeader.setId(receiptContainerDetail.getReceiptContainerId()); |
220 | 220 | receiptContainerHeader.setToLocationCode(locationCode); |
221 | 221 | if (!receiptContainerHeaderService.updateById(receiptContainerHeader)) { |
222 | - throw new JeecgBootException("分配库位时,更新入库组盘的库位号失败"); | |
222 | + throw new JeecgBootException("分配库位时,更新入库组盘的库位编码失败"); | |
223 | 223 | } |
224 | 224 | } |
225 | 225 | } |
... | ... | @@ -273,7 +273,7 @@ public class WcsServiceImpl implements WcsService { |
273 | 273 | LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(receiptContainerDetailList)); |
274 | 274 | LogRecordContext.putVariable("taskHeader", taskHeader); |
275 | 275 | LogRecordContext.putVariable("success", true); |
276 | - log.info("完成分配库位,任务号:" + taskNo + ", 库位号:" + locationCode); | |
276 | + log.info("完成分配库位,任务号:" + taskNo + ", 库位编码:" + locationCode); | |
277 | 277 | return Result.OK(wcsTask); |
278 | 278 | } |
279 | 279 | |
... | ... | @@ -572,7 +572,7 @@ public class WcsServiceImpl implements WcsService { |
572 | 572 | } |
573 | 573 | String toLocationCode = taskHeader.getToLocationCode(); |
574 | 574 | if (StringUtils.isEmpty(toLocationCode)) { |
575 | - return Result.error("重入处理失败, 目的库位号为空"); | |
575 | + return Result.error("重入处理失败, 目的库位编码为空"); | |
576 | 576 | } |
577 | 577 | // 3、找到目标库位 |
578 | 578 | Location toLocation = locationService.getLocationByCode(toLocationCode, warehouseCode); |
... | ... | @@ -603,13 +603,13 @@ public class WcsServiceImpl implements WcsService { |
603 | 603 | Material material = materialService.getMaterialByCode(materialCode); |
604 | 604 | materialAreaCode = material.getMaterialareaCode(); |
605 | 605 | } |
606 | - // 4. WMS重新分配库位号 | |
606 | + // 4. WMS重新分配库位编码 | |
607 | 607 | String locationCode = |
608 | 608 | locationAllocationService.allocation(allocationRule, locationTypeCodeList, high, zoneCode, roadWays, warehouseCode, containerCode, materialAreaCode); |
609 | 609 | if (StringUtils.isEmpty(locationCode)) { |
610 | 610 | return Result.error("重入处理失败, 没有库位可分配"); |
611 | 611 | } |
612 | - // 5. 任务类型为整盘入库、补充入库,更新入库组盘的库位号 | |
612 | + // 5. 任务类型为整盘入库、补充入库,更新入库组盘的库位编码 | |
613 | 613 | int taskType = taskHeader.getTaskType(); |
614 | 614 | if (taskType == QuantityConstant.TASK_TYPE_WHOLERECEIPT || taskType == QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT) { |
615 | 615 | ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(taskHeader.getReceiptContainerHeaderId()); |
... | ... | @@ -649,7 +649,7 @@ public class WcsServiceImpl implements WcsService { |
649 | 649 | throw new JeecgBootException("重入处理失败, 更新任务信息失败"); |
650 | 650 | } |
651 | 651 | |
652 | - // 9. 封装返回的数据格式,包括任务号和重新分配的库位号 | |
652 | + // 9. 封装返回的数据格式,包括任务号和重新分配的库位编码 | |
653 | 653 | TaskReentryEntity taskReentryEntity = new TaskReentryEntity(); |
654 | 654 | taskReentryEntity.setTaskNo(Integer.parseInt(taskNo)); |
655 | 655 | taskReentryEntity.setRedirectionLocationCode(locationCode); |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/container/controller/ContainerController.java
... | ... | @@ -114,7 +114,7 @@ public class ContainerController extends JeecgController<Container, IContainerSe |
114 | 114 | if (StringUtils.isNotEmpty(locationCode)) { |
115 | 115 | Location location = locationService.getLocationByCode(locationCode, container.getWarehouseCode()); |
116 | 116 | if (location == null) { |
117 | - throw new JeecgBootException("编辑的库位号不存在"); | |
117 | + throw new JeecgBootException("编辑的库位编码不存在"); | |
118 | 118 | } |
119 | 119 | } |
120 | 120 | boolean success = containerService.updateById(container); |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/InventoryMaterialSummary/controller/InventoryMaterialSummaryController.java
1 | 1 | package org.jeecg.modules.wms.inventory.InventoryMaterialSummary.controller; |
2 | 2 | |
3 | -import java.util.List; | |
3 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |
4 | +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |
5 | +import com.baomidou.mybatisplus.core.metadata.IPage; | |
6 | +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |
4 | 7 | |
5 | -import javax.annotation.Resource; | |
6 | -import javax.servlet.http.HttpServletRequest; | |
7 | -import javax.servlet.http.HttpServletResponse; | |
8 | +import cn.hutool.core.collection.CollUtil; | |
9 | +import io.swagger.annotations.Api; | |
10 | +import io.swagger.annotations.ApiOperation; | |
11 | +import lombok.extern.slf4j.Slf4j; | |
8 | 12 | |
13 | +import org.apache.commons.beanutils.PropertyUtils; | |
14 | +import org.apache.shiro.SecurityUtils; | |
9 | 15 | import org.apache.shiro.authz.annotation.RequiresPermissions; |
10 | 16 | import org.jeecg.common.api.vo.Result; |
11 | 17 | import org.jeecg.common.system.base.controller.JeecgController; |
12 | 18 | import org.jeecg.common.system.query.QueryGenerator; |
19 | +import org.jeecg.common.system.vo.LoginUser; | |
20 | +import org.jeecg.common.util.oConvertUtils; | |
21 | +import org.jeecg.modules.system.entity.SysUser; | |
22 | +import org.jeecg.modules.system.service.ISysUserService; | |
23 | +import org.jeecg.modules.wms.inventory.InventoryMaterialSummary.entity.InventoryMaterialSummary; | |
13 | 24 | import org.jeecg.modules.wms.inventory.InventoryMaterialSummary.service.IInventoryMaterialSummaryService; |
14 | 25 | import org.jeecg.modules.wms.inventory.inventoryHeader.entity.InventoryDetail; |
15 | 26 | import org.jeecg.modules.wms.inventory.inventoryHeader.service.IInventoryDetailService; |
16 | -import org.jeecg.modules.wms.inventory.inventoryHeader.service.impl.InventoryDetailServiceImpl; | |
17 | 27 | import org.jeecg.utils.HuahengJwtUtil; |
18 | 28 | import org.jeecg.utils.StringUtils; |
29 | +import org.jeecgframework.poi.excel.entity.ExportParams; | |
30 | +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; | |
31 | +import org.springframework.beans.BeanUtils; | |
32 | +import org.springframework.beans.factory.annotation.Value; | |
19 | 33 | import org.springframework.web.bind.annotation.*; |
20 | 34 | import org.springframework.web.servlet.ModelAndView; |
21 | 35 | |
22 | -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |
23 | -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |
24 | -import com.baomidou.mybatisplus.core.metadata.IPage; | |
25 | -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |
36 | +import javax.annotation.Resource; | |
37 | +import javax.servlet.http.HttpServletRequest; | |
38 | +import javax.servlet.http.HttpServletResponse; | |
26 | 39 | |
27 | -import io.swagger.annotations.Api; | |
28 | -import io.swagger.annotations.ApiOperation; | |
29 | -import lombok.extern.slf4j.Slf4j; | |
40 | +import java.math.BigDecimal; | |
41 | +import java.util.Arrays; | |
42 | +import java.util.LinkedList; | |
43 | +import java.util.List; | |
44 | +import java.util.Map; | |
45 | +import java.util.stream.Collectors; | |
30 | 46 | |
31 | 47 | /** |
32 | - * @Description: 物料汇总主表 | |
48 | + * @Description: 库存物料汇总 | |
33 | 49 | * @Author: jeecg-boot |
34 | 50 | * @Date: 2023-02-22 |
35 | 51 | * @Version: V1.0 |
36 | 52 | */ |
37 | -@Api(tags = "物料汇总主表") | |
53 | +@Api(tags = "库存物料汇总") | |
38 | 54 | @RestController |
39 | 55 | @RequestMapping("/InventoryMaterialSummary/inventoryMaterialSummary") |
40 | 56 | @Slf4j |
41 | 57 | public class InventoryMaterialSummaryController extends JeecgController<InventoryDetail, IInventoryMaterialSummaryService> { |
58 | + | |
42 | 59 | @Resource |
43 | 60 | private IInventoryDetailService inventoryDetailService; |
44 | 61 | |
45 | 62 | @Resource |
46 | 63 | private IInventoryMaterialSummaryService inventoryMaterialSummaryService; |
47 | 64 | |
65 | + @Resource | |
66 | + private ISysUserService sysUserService; | |
67 | + | |
68 | + @Value("${jeecg.path.upload}") | |
69 | + private String upLoadPath; | |
70 | + | |
48 | 71 | /** |
49 | - * 分页列表查询 | |
72 | + * 库存物料汇总-分页主表查询 | |
50 | 73 | * @param pageNo |
51 | 74 | * @param pageSize |
52 | 75 | * @param req |
53 | 76 | * @return |
54 | 77 | */ |
55 | - @ApiOperation(value = "物料汇总主表-分页列表查询", notes = "物料汇总主表-分页列表查询") | |
78 | + @ApiOperation(value = "库存物料汇总-分页主表查询", notes = "库存物料汇总-分页主表查询") | |
56 | 79 | @GetMapping(value = "/list") |
57 | 80 | public Result<IPage<InventoryDetail>> queryPageList(InventoryDetail inventoryDetail, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, |
58 | 81 | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { |
59 | 82 | HuahengJwtUtil.setWarehouseCode(req, inventoryDetail); |
60 | 83 | QueryWrapper<InventoryDetail> queryWrapper = QueryGenerator.initQueryWrapper(inventoryDetail, req.getParameterMap()); |
84 | + queryWrapper.select("zone_code, company_code, material_code, material_name,material_spec, material_unit, SUM(qty) as qty"); | |
85 | + queryWrapper.groupBy("zone_code", "company_code", "material_code", "material_name", "material_spec", "material_unit"); | |
61 | 86 | Page<InventoryDetail> page = new Page<InventoryDetail>(pageNo, pageSize); |
62 | 87 | IPage<InventoryDetail> pageList = inventoryDetailService.page(page, queryWrapper); |
63 | - // 筛选库存汇总数据的专用方法 | |
64 | - pageList.setRecords(inventoryMaterialSummaryService.duplicateRemoval(pageList.getRecords())); | |
65 | 88 | return Result.OK(pageList); |
66 | 89 | } |
67 | 90 | |
68 | 91 | /** |
69 | - * 分页列表明细情况 | |
92 | + * 库存物料汇总-分页明细查询 | |
70 | 93 | * @param pageNo |
71 | 94 | * @param pageSize |
72 | 95 | * @param req |
73 | 96 | * @return |
74 | 97 | */ |
75 | - @ApiOperation(value = "物料汇总主表-库存汇总明细子单", notes = "物料汇总主表-库存汇总明细子单") | |
98 | + @ApiOperation(value = "库存物料汇总-分页明细查询", notes = "库存物料汇总-分页明细查询") | |
76 | 99 | @GetMapping(value = "/inventoryMaterialSummaryChild") |
77 | 100 | public Result<IPage<InventoryDetail>> inventoryMaterialSummaryChild(InventoryDetail inventoryDetail, |
78 | 101 | @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, |
79 | 102 | HttpServletRequest req) { |
80 | - inventoryDetail = inventoryDetailService.getById(inventoryDetail.getId()); | |
81 | - LambdaQueryWrapper<InventoryDetail> queryWrapper = new LambdaQueryWrapper<>(); | |
82 | - queryWrapper.eq(InventoryDetail::getMaterialCode, inventoryDetail.getMaterialCode()).eq(InventoryDetail::getMaterialName, inventoryDetail.getMaterialName()) | |
83 | - .eq(StringUtils.isNotEmpty(inventoryDetail.getMaterialSpec()), InventoryDetail::getMaterialSpec, inventoryDetail.getMaterialSpec()) | |
84 | - .eq(StringUtils.isNotEmpty(inventoryDetail.getMaterialUnit()), InventoryDetail::getMaterialUnit, inventoryDetail.getMaterialUnit()); | |
85 | - | |
103 | + QueryWrapper<InventoryDetail> queryWrapper = QueryGenerator.initQueryWrapper(inventoryDetail, req.getParameterMap()); | |
86 | 104 | Page<InventoryDetail> page = new Page<InventoryDetail>(pageNo, pageSize); |
87 | 105 | IPage<InventoryDetail> pageList = inventoryDetailService.page(page, queryWrapper); |
88 | 106 | inventoryDetailService.calculateInventoryAge(pageList.getRecords());// 计算库龄 |
... | ... | @@ -90,14 +108,51 @@ public class InventoryMaterialSummaryController extends JeecgController<Inventor |
90 | 108 | } |
91 | 109 | |
92 | 110 | /** |
93 | - * 导出excel | |
111 | + * 库存物料汇总-主表导出Excel | |
94 | 112 | * @param request |
95 | 113 | * @param inventoryMaterialSummary |
96 | 114 | */ |
97 | 115 | @RequestMapping(value = "/exportXls") |
98 | 116 | @RequiresPermissions("inventoryMaterialSummary:export") |
99 | - public ModelAndView exportXls(HttpServletRequest request, InventoryDetail inventoryMaterialSummary) { | |
100 | - return super.exportXls(request, inventoryMaterialSummary, InventoryDetail.class, "物料汇总主表"); | |
117 | + public ModelAndView exportXls(HttpServletRequest request, InventoryDetail inventoryDetail) { | |
118 | + HuahengJwtUtil.setWarehouseCode(request, inventoryDetail); | |
119 | + QueryWrapper<InventoryDetail> queryWrapper = QueryGenerator.initQueryWrapper(inventoryDetail, request.getParameterMap()); | |
120 | + queryWrapper.select("zone_code, company_code, material_code, material_name, material_spec, material_spec, material_unit, SUM(qty) as qty"); | |
121 | + queryWrapper.groupBy("zone_code", "company_code", "material_code", "material_name", "material_spec", "material_spec", "material_unit"); | |
122 | + LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal(); | |
123 | + List<InventoryDetail> pageList = this.service.list(queryWrapper); | |
124 | + List<InventoryDetail> exportList = null; | |
125 | + String selections = request.getParameter("selections"); | |
126 | + if (oConvertUtils.isNotEmpty(selections)) { | |
127 | + List<String> selectionList = Arrays.asList(selections.split(",")); | |
128 | + exportList = pageList.stream().filter((item) -> { | |
129 | + return selectionList.contains(this.getItemCode(item)); | |
130 | + }).collect(Collectors.toList()); | |
131 | + } else { | |
132 | + exportList = pageList; | |
133 | + } | |
134 | + List<InventoryMaterialSummary> inventoryMaterialSummaryList = CollUtil.newArrayList(); | |
135 | + for (InventoryDetail source : exportList) { | |
136 | + InventoryMaterialSummary target = new InventoryMaterialSummary(); | |
137 | + BeanUtils.copyProperties(source, target); | |
138 | + inventoryMaterialSummaryList.add(target); | |
139 | + } | |
140 | + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); | |
141 | + mv.addObject("fileName", "库存物料汇总"); | |
142 | + mv.addObject("entity", InventoryMaterialSummary.class); | |
143 | + ExportParams exportParams = new ExportParams("库存物料汇总" + "报表", "导出人:" + sysUser.getRealname(), "库存物料汇总"); | |
144 | + exportParams.setImageBasePath(this.upLoadPath); | |
145 | + mv.addObject("params", exportParams); | |
146 | + mv.addObject("data", inventoryMaterialSummaryList); | |
147 | + return mv; | |
148 | + } | |
149 | + | |
150 | + private String getItemCode(InventoryDetail item) { | |
151 | + try { | |
152 | + return PropertyUtils.getProperty(item, "zoneCode").toString() + "_" + PropertyUtils.getProperty(item, "materialCode").toString(); | |
153 | + } catch (Exception var3) { | |
154 | + return null; | |
155 | + } | |
101 | 156 | } |
102 | 157 | |
103 | 158 | /** |
... | ... | @@ -111,5 +166,4 @@ public class InventoryMaterialSummaryController extends JeecgController<Inventor |
111 | 166 | public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { |
112 | 167 | return super.importExcel(request, response, InventoryDetail.class); |
113 | 168 | } |
114 | - | |
115 | 169 | } |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/InventoryMaterialSummary/entity/InventoryMaterialSummary.java
0 → 100644
1 | +package org.jeecg.modules.wms.inventory.InventoryMaterialSummary.entity; | |
2 | + | |
3 | +import java.io.Serializable; | |
4 | +import java.math.BigDecimal; | |
5 | +import java.util.Date; | |
6 | + | |
7 | +import com.fasterxml.jackson.annotation.JsonFormat; | |
8 | +import org.jeecg.common.aspect.annotation.Dict; | |
9 | +import org.jeecgframework.poi.excel.annotation.Excel; | |
10 | + | |
11 | +import com.baomidou.mybatisplus.annotation.IdType; | |
12 | +import com.baomidou.mybatisplus.annotation.TableId; | |
13 | +import com.baomidou.mybatisplus.annotation.TableName; | |
14 | + | |
15 | +import io.swagger.annotations.ApiModel; | |
16 | +import io.swagger.annotations.ApiModelProperty; | |
17 | +import lombok.Data; | |
18 | +import org.springframework.format.annotation.DateTimeFormat; | |
19 | + | |
20 | +/** | |
21 | + * @Description: 库存详情 | |
22 | + * @Author: jeecg-boot | |
23 | + * @Date: 2022-11-16 | |
24 | + * @Version: V1.0 | |
25 | + */ | |
26 | +@Data | |
27 | +@ApiModel(value = "InventoryMaterialSummary对象", description = "库存物料汇总主表") | |
28 | +public class InventoryMaterialSummary implements Serializable { | |
29 | + private static final long serialVersionUID = 1L; | |
30 | + | |
31 | + /** 货主 */ | |
32 | + @Excel(name = "货主", width = 15, dictTable = "company", dicText = "name", dicCode = "code") | |
33 | + @ApiModelProperty(value = "货主") | |
34 | + private String companyCode; | |
35 | + | |
36 | + /** 库区 */ | |
37 | + @Excel(name = "库区", width = 15, dictTable = "zone", dicText = "name", dicCode = "code") | |
38 | + @ApiModelProperty(value = "库区") | |
39 | + private String zoneCode; | |
40 | + | |
41 | + /** 物料编码 */ | |
42 | + @Excel(name = "物料编码", width = 15) | |
43 | + @ApiModelProperty(value = "物料编码") | |
44 | + private String materialCode; | |
45 | + | |
46 | + /** 物料名称 */ | |
47 | + @Excel(name = "物料名称", width = 15) | |
48 | + @ApiModelProperty(value = "物料名称") | |
49 | + private String materialName; | |
50 | + | |
51 | + /** 物料规格 */ | |
52 | + @Excel(name = "物料规格", width = 15) | |
53 | + @ApiModelProperty(value = "物料规格") | |
54 | + private String materialSpec; | |
55 | + | |
56 | + /** 物料单位 */ | |
57 | + @Excel(name = "物料单位", width = 15) | |
58 | + @ApiModelProperty(value = "物料单位") | |
59 | + private String materialUnit; | |
60 | + | |
61 | + /** 数量 */ | |
62 | + @Excel(name = "数量", width = 15) | |
63 | + @ApiModelProperty(value = "数量") | |
64 | + private java.math.BigDecimal qty; | |
65 | +} | |
0 | 66 | \ No newline at end of file |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/controller/InventoryHeaderController.java
... | ... | @@ -235,7 +235,7 @@ public class InventoryHeaderController extends JeecgController<InventoryHeader, |
235 | 235 | this.inventoryDetailService.removeByIds(Arrays.asList(ids.split(","))); |
236 | 236 | return Result.OK("批量删除成功!"); |
237 | 237 | } |
238 | - | |
238 | + | |
239 | 239 | /** |
240 | 240 | * 导出 |
241 | 241 | * @return |
... | ... | @@ -246,11 +246,9 @@ public class InventoryHeaderController extends JeecgController<InventoryHeader, |
246 | 246 | // Step.1 组装查询条件 |
247 | 247 | QueryWrapper<InventoryDetail> queryWrapper = QueryGenerator.initQueryWrapper(inventoryDetail, request.getParameterMap()); |
248 | 248 | LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal(); |
249 | - | |
250 | 249 | // Step.2 获取导出数据 |
251 | 250 | List<InventoryDetail> pageList = inventoryDetailService.list(queryWrapper); |
252 | 251 | List<InventoryDetail> exportList = null; |
253 | - | |
254 | 252 | // 过滤选中数据 |
255 | 253 | String selections = request.getParameter("selections"); |
256 | 254 | if (oConvertUtils.isNotEmpty(selections)) { |
... | ... | @@ -259,7 +257,7 @@ public class InventoryHeaderController extends JeecgController<InventoryHeader, |
259 | 257 | } else { |
260 | 258 | exportList = pageList; |
261 | 259 | } |
262 | - | |
260 | + inventoryDetailService.calculateInventoryAge(exportList);// 计算库龄 | |
263 | 261 | // Step.3 AutoPoi 导出Excel |
264 | 262 | ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); |
265 | 263 | mv.addObject(NormalExcelConstants.FILE_NAME, "库存详情"); // 此处设置的filename无效 ,前端会重更新设置一下 |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryHeader.java
... | ... | @@ -53,9 +53,9 @@ public class InventoryHeader implements Serializable { |
53 | 53 | @Dict(dicCode = "container_status") |
54 | 54 | @ApiModelProperty(value = "容器状态") |
55 | 55 | private String containerStatus; |
56 | - /** 库位号 */ | |
57 | - @Excel(name = "库位号", width = 15) | |
58 | - @ApiModelProperty(value = "库位号") | |
56 | + /** 库位编码 */ | |
57 | + @Excel(name = "库位编码", width = 15) | |
58 | + @ApiModelProperty(value = "库位编码") | |
59 | 59 | private String locationCode; |
60 | 60 | /** 状态 */ |
61 | 61 | @Excel(name = "状态", width = 15, dicCode = "enable_status") |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/controller/ReceiptContainerHeaderController.java
... | ... | @@ -353,11 +353,11 @@ public class ReceiptContainerHeaderController extends JeecgController<ReceiptCon |
353 | 353 | String warehouseCode = HuahengJwtUtil.getWarehouseCodeByToken(req); |
354 | 354 | String fromLocationCode = receiptContainerHeader.getFromLocationCode(); |
355 | 355 | if (StringUtils.isEmpty(fromLocationCode)) { |
356 | - return Result.error("选择分拣口时, 起始库位号为空"); | |
356 | + return Result.error("选择分拣口时, 起始库位编码为空"); | |
357 | 357 | } |
358 | 358 | Location fromLocation = locationService.getLocationByCode(fromLocationCode, warehouseCode); |
359 | 359 | if (fromLocation == null) { |
360 | - return Result.error("选择分拣口时, 根据库位号" + fromLocationCode + " 没有找到库位"); | |
360 | + return Result.error("选择分拣口时, 根据库位编码" + fromLocationCode + " 没有找到库位"); | |
361 | 361 | } |
362 | 362 | String zoneCode = fromLocation.getZoneCode(); |
363 | 363 | if (StringUtils.isEmpty(zoneCode)) { |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/controller/ShipmentCombinationController.java
... | ... | @@ -126,11 +126,11 @@ public class ShipmentCombinationController { |
126 | 126 | String warehouseCode = HuahengJwtUtil.getWarehouseCodeByToken(req); |
127 | 127 | String fromLocationCode = shipmentContainerHeader.getFromLocationCode(); |
128 | 128 | if (StringUtils.isEmpty(fromLocationCode)) { |
129 | - return Result.error("选择分拣口时, 起始库位号为空"); | |
129 | + return Result.error("选择分拣口时, 起始库位编码为空"); | |
130 | 130 | } |
131 | 131 | Location fromLocation = locationService.getLocationByCode(fromLocationCode, warehouseCode); |
132 | 132 | if (fromLocation == null) { |
133 | - return Result.error("选择分拣口时, 根据库位号" + fromLocationCode + " 没有找到库位"); | |
133 | + return Result.error("选择分拣口时, 根据库位编码" + fromLocationCode + " 没有找到库位"); | |
134 | 134 | } |
135 | 135 | String zoneCode = fromLocation.getZoneCode(); |
136 | 136 | if (StringUtils.isEmpty(zoneCode)) { |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
... | ... | @@ -469,12 +469,12 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi |
469 | 469 | String containerCode = shipmentContainerHeader.getContainerCode(); |
470 | 470 | String toPort = shipmentContainerHeader.getToPort(); |
471 | 471 | if (StringUtils.isEmpty(fromLocationCode)) { |
472 | - return Result.error("生成出库任务时, 出库组盘头没有起始库位号"); | |
472 | + return Result.error("生成出库任务时, 出库组盘头没有起始库位编码"); | |
473 | 473 | } |
474 | 474 | // 出库时,外侧库位的任务,如果对应的内侧有任务,那么内侧任务执行完成以后,再执行出库任务。 |
475 | 475 | Location location = locationService.getLocationByCode(fromLocationCode, warehouseCode); |
476 | 476 | if (location == null) { |
477 | - return Result.error("生成出库任务时, 库位号" + fromLocationCode + "没有找到库位"); | |
477 | + return Result.error("生成出库任务时, 库位编码" + fromLocationCode + "没有找到库位"); | |
478 | 478 | } |
479 | 479 | if (location.getRowFlag() == QuantityConstant.ROW_OUT) { |
480 | 480 | Location location1 = locationService.getNear(location); |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/controller/CycleCountDetailController.java
... | ... | @@ -196,11 +196,11 @@ public class CycleCountDetailController extends HuahengBaseController { |
196 | 196 | String warehouseCode = HuahengJwtUtil.getWarehouseCodeByToken(req); |
197 | 197 | String fromLocationCode = cycleCountDetail.getLocationCode(); |
198 | 198 | if (StringUtils.isEmpty(fromLocationCode)) { |
199 | - return Result.error("选择分拣口时, 起始库位号为空"); | |
199 | + return Result.error("选择分拣口时, 起始库位编码为空"); | |
200 | 200 | } |
201 | 201 | Location fromLocation = locationService.getLocationByCode(fromLocationCode, warehouseCode); |
202 | 202 | if (fromLocation == null) { |
203 | - return Result.error("选择分拣口时, 根据库位号" + fromLocationCode + " 没有找到库位"); | |
203 | + return Result.error("选择分拣口时, 根据库位编码" + fromLocationCode + " 没有找到库位"); | |
204 | 204 | } |
205 | 205 | String zoneCode = fromLocation.getZoneCode(); |
206 | 206 | if (StringUtils.isEmpty(zoneCode)) { |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/controller/TaskHeaderController.java
... | ... | @@ -557,11 +557,11 @@ public class TaskHeaderController extends HuahengBaseController { |
557 | 557 | } |
558 | 558 | String fromLocationCode = container.getLocationCode(); |
559 | 559 | if (StringUtils.isEmpty(fromLocationCode)) { |
560 | - return Result.error("选择整出口, 起始库位号为空"); | |
560 | + return Result.error("选择整出口, 起始库位编码为空"); | |
561 | 561 | } |
562 | 562 | Location fromLocation = locationService.getLocationByCode(fromLocationCode, warehouseCode); |
563 | 563 | if (fromLocation == null) { |
564 | - return Result.error("选择整出口, 根据库位号" + fromLocationCode + " 没有找到库位"); | |
564 | + return Result.error("选择整出口, 根据库位编码" + fromLocationCode + " 没有找到库位"); | |
565 | 565 | } |
566 | 566 | String zoneCode = fromLocation.getZoneCode(); |
567 | 567 | if (StringUtils.isEmpty(zoneCode)) { |
... | ... | @@ -598,11 +598,11 @@ public class TaskHeaderController extends HuahengBaseController { |
598 | 598 | } |
599 | 599 | String fromLocationCode = container.getLocationCode(); |
600 | 600 | if (StringUtils.isEmpty(fromLocationCode)) { |
601 | - return Result.error("选择分拣口, 起始库位号为空"); | |
601 | + return Result.error("选择分拣口, 起始库位编码为空"); | |
602 | 602 | } |
603 | 603 | Location fromLocation = locationService.getLocationByCode(fromLocationCode, warehouseCode); |
604 | 604 | if (fromLocation == null) { |
605 | - return Result.error("选择分拣口, 根据库位号" + fromLocationCode + " 没有找到库位"); | |
605 | + return Result.error("选择分拣口, 根据库位编码" + fromLocationCode + " 没有找到库位"); | |
606 | 606 | } |
607 | 607 | String zoneCode = fromLocation.getZoneCode(); |
608 | 608 | if (StringUtils.isEmpty(zoneCode)) { |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/entity/TaskHeader.java
... | ... | @@ -97,9 +97,9 @@ public class TaskHeader implements Serializable { |
97 | 97 | @Dict(dicCode = "is_or_not") |
98 | 98 | @ApiModelProperty(value = "取货错") |
99 | 99 | private Integer isPickupError; |
100 | - /** 重入库位号 */ | |
101 | - @Excel(name = "重入库位号", width = 15) | |
102 | - @ApiModelProperty(value = "重入库位号") | |
100 | + /** 重入库位编码 */ | |
101 | + @Excel(name = "重入库位编码", width = 15) | |
102 | + @ApiModelProperty(value = "重入库位编码") | |
103 | 103 | private String originLocationCode; |
104 | 104 | /** 任务状态 */ |
105 | 105 | @Excel(name = "任务状态", width = 15, dicCode = "task_header_status") |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java
... | ... | @@ -42,7 +42,7 @@ public interface ITaskHeaderService extends IService<TaskHeader> { |
42 | 42 | TaskHeader getTaskHeaderByAgvTaskId(int agvTaskId); |
43 | 43 | |
44 | 44 | /** |
45 | - * 通过起始库位号,获取任务信息 | |
45 | + * 通过起始库位编码,获取任务信息 | |
46 | 46 | * @param fromLocationCode |
47 | 47 | * @param warehouseCode |
48 | 48 | * @return |
... | ... | @@ -50,7 +50,7 @@ public interface ITaskHeaderService extends IService<TaskHeader> { |
50 | 50 | TaskHeader getUnCompleteTaskByFromLocationCode(String fromLocationCode, String warehouseCode); |
51 | 51 | |
52 | 52 | /** |
53 | - * 通过目标库位号,获取任务信息 | |
53 | + * 通过目标库位编码,获取任务信息 | |
54 | 54 | * @param toLocationCode |
55 | 55 | * @param warehouseCode |
56 | 56 | * @return |
... | ... | @@ -58,7 +58,7 @@ public interface ITaskHeaderService extends IService<TaskHeader> { |
58 | 58 | TaskHeader getUnCompleteTaskByToLocationCode(String toLocationCode, String warehouseCode); |
59 | 59 | |
60 | 60 | /** |
61 | - * 通过库位号,获取任务信息 | |
61 | + * 通过库位编码,获取任务信息 | |
62 | 62 | * @param locationCode |
63 | 63 | * @param warehouseCode |
64 | 64 | * @return |
... | ... |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
... | ... | @@ -356,7 +356,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
356 | 356 | @Override |
357 | 357 | @Transactional(rollbackFor = Exception.class) |
358 | 358 | public Result createOverStationTask(String containerCode, String fromPortCode, String toPortCode, String warehouseCode) { |
359 | - log.info("开始创建跨站任务,容器号" + containerCode + ",起始站台号" + fromPortCode + ",目标站台号" + toPortCode); | |
359 | + log.info("开始创建跨站任务,容器编码" + containerCode + ",起始站台号" + fromPortCode + ",目标站台号" + toPortCode); | |
360 | 360 | if (StringUtils.isEmpty(containerCode)) { |
361 | 361 | return Result.error("创建跨站任务时,容器编码为空"); |
362 | 362 | } |
... | ... | @@ -394,7 +394,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
394 | 394 | if (!success) { |
395 | 395 | return Result.error("创建跨站任务时, 创建任务失败"); |
396 | 396 | } |
397 | - log.info("完成创建跨站任务,容器号" + containerCode + ",起始站台号" + fromPortCode + ",目标站台号" + toPortCode); | |
397 | + log.info("完成创建跨站任务,容器编码" + containerCode + ",起始站台号" + fromPortCode + ",目标站台号" + toPortCode); | |
398 | 398 | return Result.ok("创建跨站任务成功"); |
399 | 399 | } |
400 | 400 | |
... | ... | @@ -567,7 +567,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
567 | 567 | String containerCode = taskHeader.getContainerCode(); |
568 | 568 | String fromLocationCode = taskHeader.getFromLocationCode(); |
569 | 569 | String warehouseCode = taskHeader.getWarehouseCode(); |
570 | - // 4、容器编码、库位号、仓库编码 不能为空 | |
570 | + // 4、容器编码、库位编码、仓库编码 不能为空 | |
571 | 571 | if (StringUtils.isEmpty(containerCode)) { |
572 | 572 | return Result.error("处理空出失败,容器编码为空"); |
573 | 573 | } |
... | ... | @@ -585,7 +585,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
585 | 585 | if (fronLocation == null) { |
586 | 586 | return Result.error("处理空出失败,没有找到库位"); |
587 | 587 | } |
588 | - // 5、删除容器上的库位号,并设置状态为空闲,填充度状态为空盘 | |
588 | + // 5、删除容器上的库位编码,并设置状态为空闲,填充度状态为空盘 | |
589 | 589 | boolean success = containerService.updateLocationCodeAndStatus(containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_CONTAINER_EMPTY, |
590 | 590 | QuantityConstant.STATUS_CONTAINER_FILL_EMPTY, warehouseCode); |
591 | 591 | if (!success) { |
... | ... | @@ -645,7 +645,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
645 | 645 | String containerCode = taskHeader.getContainerCode(); |
646 | 646 | String originLocationCode = taskHeader.getOriginLocationCode(); |
647 | 647 | String warehouseCode = taskHeader.getWarehouseCode(); |
648 | - // 4、容器编码、库位号、仓库编码 不能为空 | |
648 | + // 4、容器编码、库位编码、仓库编码 不能为空 | |
649 | 649 | if (StringUtils.isEmpty(containerCode)) { |
650 | 650 | return Result.error("处理重入失败,容器编码为空"); |
651 | 651 | } |
... | ... | @@ -891,7 +891,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
891 | 891 | |
892 | 892 | /** |
893 | 893 | * 创建空托盘入库 |
894 | - * 1. 判断托盘号、库位号是否满足要求 | |
894 | + * 1. 判断托盘号、库位编码是否满足要求 | |
895 | 895 | * 2. 创建任务,锁定容器、库位 |
896 | 896 | * @param containerCode |
897 | 897 | * @param toLocationCode |
... | ... | @@ -1661,7 +1661,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1661 | 1661 | Result result = null; |
1662 | 1662 | boolean success = false; |
1663 | 1663 | if (StringUtils.isEmpty(containerCode)) { |
1664 | - return Result.error("任务类型" + taskType + "完成任务时, 容器号为空"); | |
1664 | + return Result.error("任务类型" + taskType + "完成任务时, 容器编码为空"); | |
1665 | 1665 | } |
1666 | 1666 | Container container = containerService.getContainerByCode(containerCode, warehouseCode); |
1667 | 1667 | if (container == null) { |
... | ... | @@ -1671,21 +1671,21 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1671 | 1671 | case QuantityConstant.TASK_TYPE_WHOLERECEIPT: |
1672 | 1672 | case QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT: |
1673 | 1673 | if (StringUtils.isEmpty(toLocationCode)) { |
1674 | - return Result.error("任务类型" + taskType + "完成任务时, 目标库位号为空"); | |
1674 | + return Result.error("任务类型" + taskType + "完成任务时, 目标库位编码为空"); | |
1675 | 1675 | } |
1676 | 1676 | success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_CONTAINER_EMPTY, containerFillStatus, |
1677 | 1677 | warehouseCode); |
1678 | 1678 | break; |
1679 | 1679 | case QuantityConstant.TASK_TYPE_EMPTYRECEIPT: |
1680 | 1680 | if (StringUtils.isEmpty(toLocationCode)) { |
1681 | - return Result.error("任务类型" + taskType + "完成任务时, 目标库位号为空"); | |
1681 | + return Result.error("任务类型" + taskType + "完成任务时, 目标库位编码为空"); | |
1682 | 1682 | } |
1683 | 1683 | success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_CONTAINER_EMPTY, |
1684 | 1684 | QuantityConstant.STATUS_CONTAINER_FILL_EMPTY, warehouseCode); |
1685 | 1685 | break; |
1686 | 1686 | case QuantityConstant.TASK_TYPE_MANY_EMPTYRECEIPT: |
1687 | 1687 | if (StringUtils.isEmpty(toLocationCode)) { |
1688 | - return Result.error("任务类型" + taskType + "完成任务时, 目标库位号为空"); | |
1688 | + return Result.error("任务类型" + taskType + "完成任务时, 目标库位编码为空"); | |
1689 | 1689 | } |
1690 | 1690 | success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_CONTAINER_EMPTY, |
1691 | 1691 | QuantityConstant.STATUS_CONTAINER_FILL_MANY, warehouseCode); |
... | ... | @@ -1694,7 +1694,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1694 | 1694 | case QuantityConstant.TASK_TYPE_EMPTYSHIPMENT: |
1695 | 1695 | case QuantityConstant.TASK_TYPE_MANY_EMPTYSHIPMENT: |
1696 | 1696 | if (StringUtils.isEmpty(fromLocationCode)) { |
1697 | - return Result.error("任务类型" + taskType + "完成任务时, 起始库位号为空"); | |
1697 | + return Result.error("任务类型" + taskType + "完成任务时, 起始库位编码为空"); | |
1698 | 1698 | } |
1699 | 1699 | success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, QuantityConstant.STATUS_CONTAINER_EMPTY, |
1700 | 1700 | QuantityConstant.STATUS_CONTAINER_FILL_EMPTY, warehouseCode); |
... | ... | @@ -1704,10 +1704,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1704 | 1704 | case QuantityConstant.TASK_TYPE_TRANSFER: |
1705 | 1705 | case QuantityConstant.TASK_TYPE_CHECK_OUT: |
1706 | 1706 | if (StringUtils.isEmpty(fromLocationCode)) { |
1707 | - return Result.error("任务类型" + taskType + "完成任务时, 起始库位号为空"); | |
1707 | + return Result.error("任务类型" + taskType + "完成任务时, 起始库位编码为空"); | |
1708 | 1708 | } |
1709 | 1709 | if (StringUtils.isEmpty(toLocationCode)) { |
1710 | - return Result.error("任务类型" + taskType + "完成任务时, 目标库位号为空"); | |
1710 | + return Result.error("任务类型" + taskType + "完成任务时, 目标库位编码为空"); | |
1711 | 1711 | } |
1712 | 1712 | InventoryHeader inventoryHeader = inventoryHeaderService.getInventoryHeaderByContainerCode(containerCode, warehouseCode); |
1713 | 1713 | if (inventoryHeader != null) { |
... | ... | @@ -1777,7 +1777,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1777 | 1777 | return Result.error("完成空托盘入库任务时, 仓库编码为空"); |
1778 | 1778 | } |
1779 | 1779 | if (StringUtils.isEmpty(toLocationCode)) { |
1780 | - return Result.error("完成空托盘入库任务时, 目标库位号为空"); | |
1780 | + return Result.error("完成空托盘入库任务时, 目标库位编码为空"); | |
1781 | 1781 | } |
1782 | 1782 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_EMPTYRECEIPT, |
1783 | 1783 | containerCode, QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode); |
... | ... | @@ -1812,10 +1812,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
1812 | 1812 | String toLocationCode = taskHeader.getToLocationCode(); |
1813 | 1813 | boolean success = false; |
1814 | 1814 | if (StringUtils.isEmpty(fromLocationCode)) { |
1815 | - return Result.error("完成盘点任务时,起始库位号为空"); | |
1815 | + return Result.error("完成盘点任务时,起始库位编码为空"); | |
1816 | 1816 | } |
1817 | 1817 | if (StringUtils.isEmpty(toLocationCode)) { |
1818 | - return Result.error("完成盘点任务时,目标库位号为空"); | |
1818 | + return Result.error("完成盘点任务时,目标库位编码为空"); | |
1819 | 1819 | } |
1820 | 1820 | if (StringUtils.isEmpty(containerCode)) { |
1821 | 1821 | return Result.error("完成盘点任务时,托盘号为空"); |
... | ... | @@ -2085,7 +2085,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
2085 | 2085 | return Result.error("完成空托盘出库任务时, 仓库编码为空"); |
2086 | 2086 | } |
2087 | 2087 | if (StringUtils.isEmpty(fromLocationCode)) { |
2088 | - return Result.error("完成空托盘出库任务时, 起始库位号为空"); | |
2088 | + return Result.error("完成空托盘出库任务时, 起始库位编码为空"); | |
2089 | 2089 | } |
2090 | 2090 | if (StringUtils.isEmpty(toPortCode)) { |
2091 | 2091 | return Result.error("完成空托盘出库任务时, 目标出入口号为空"); |
... | ... | @@ -2136,10 +2136,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
2136 | 2136 | return Result.error("完成移库任务时, 仓库编码为空"); |
2137 | 2137 | } |
2138 | 2138 | if (StringUtils.isEmpty(fromLocationCode)) { |
2139 | - return Result.error("完成移库任务时, 起始库位号为空"); | |
2139 | + return Result.error("完成移库任务时, 起始库位编码为空"); | |
2140 | 2140 | } |
2141 | 2141 | if (StringUtils.isEmpty(toLocationCode)) { |
2142 | - return Result.error("完成移库任务时, 目标库位号为空"); | |
2142 | + return Result.error("完成移库任务时, 目标库位编码为空"); | |
2143 | 2143 | } |
2144 | 2144 | |
2145 | 2145 | List<InventoryTransaction> inventoryTransactionList = new ArrayList<>(); |
... | ... | @@ -2226,13 +2226,13 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
2226 | 2226 | return Result.error("完成出库查看任务时, 仓库编码为空"); |
2227 | 2227 | } |
2228 | 2228 | if (StringUtils.isEmpty(fromLocationCode)) { |
2229 | - return Result.error("完成出库查看任务时, 起始库位号为空"); | |
2229 | + return Result.error("完成出库查看任务时, 起始库位编码为空"); | |
2230 | 2230 | } |
2231 | 2231 | if (StringUtils.isEmpty(toPortCode)) { |
2232 | 2232 | return Result.error("完成出库查看任务时, 目标出入口号为空"); |
2233 | 2233 | } |
2234 | 2234 | if (StringUtils.isEmpty(toLocationCode)) { |
2235 | - return Result.error("完成出库查看任务时, 目标库位号为空"); | |
2235 | + return Result.error("完成出库查看任务时, 目标库位编码为空"); | |
2236 | 2236 | } |
2237 | 2237 | |
2238 | 2238 | boolean success = false; |
... | ... | @@ -2354,7 +2354,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
2354 | 2354 | return Result.error("完成空托盘组入库任务时, 仓库编码为空"); |
2355 | 2355 | } |
2356 | 2356 | if (StringUtils.isEmpty(toLocationCode)) { |
2357 | - return Result.error("完成空托盘组入库任务时, 目标库位号为空"); | |
2357 | + return Result.error("完成空托盘组入库任务时, 目标库位编码为空"); | |
2358 | 2358 | } |
2359 | 2359 | Container container = containerService.getContainerByCode(containerCode, warehouseCode); |
2360 | 2360 | if (container == null) { |
... | ... |