Commit f87ffce298b95bfc65e6d805f0790c7e429a97d0
1 parent
497c5c82
1 优化界面
2.新增仓库、货主、库区
Showing
38 changed files
with
1842 additions
and
210 deletions
jeecg-boot-master/ant-design-vue-jeecg/.env.development
jeecg-boot-master/ant-design-vue-jeecg/.env.production
jeecg-boot-master/ant-design-vue-jeecg/src/components/page/GlobalFooter.vue
1 | 1 | <template> |
2 | - <div class="footer"> | |
3 | - <div class="links"> | |
4 | - <a href="http://www.jeecg.com" target="_blank">JEECG 首页</a> | |
5 | - <a href="https://github.com/zhangdaiscott/jeecg-boot" target="_blank"> | |
6 | - <a-icon type="github"/> | |
7 | - </a> | |
8 | - <a href="https://ant.design/">Ant Design</a> | |
9 | - <a href="https://vuecomponent.github.io/ant-design-vue/docs/vue/introduce-cn/">Vue Antd</a> | |
10 | - </div> | |
11 | - <div class="copyright"> | |
12 | - Copyright | |
13 | - <a-icon type="copyright"/> | |
14 | - 2019 <span>JEECG开源社区 出品</span> | |
15 | - </div> | |
16 | - </div> | |
2 | +<!-- <div class="footer">--> | |
3 | +<!-- <div class="links">--> | |
4 | +<!-- <a href="http://www.jeecg.com" target="_blank">JEECG 首页</a>--> | |
5 | +<!-- <a href="https://github.com/zhangdaiscott/jeecg-boot" target="_blank">--> | |
6 | +<!-- <a-icon type="github"/>--> | |
7 | +<!-- </a>--> | |
8 | +<!-- <a href="https://ant.design/">Ant Design</a>--> | |
9 | +<!-- <a href="https://vuecomponent.github.io/ant-design-vue/docs/vue/introduce-cn/">Vue Antd</a>--> | |
10 | +<!-- </div>--> | |
11 | +<!-- <div class="copyright">--> | |
12 | +<!-- Copyright--> | |
13 | +<!-- <a-icon type="copyright"/>--> | |
14 | +<!-- 2019 <span>JEECG开源社区 出品</span>--> | |
15 | +<!-- </div>--> | |
16 | +<!-- </div>--> | |
17 | 17 | </template> |
18 | 18 | |
19 | 19 | <script> |
... | ... |
jeecg-boot-master/ant-design-vue-jeecg/src/components/page/GlobalLayout.vue
... | ... | @@ -134,11 +134,11 @@ |
134 | 134 | //--update-begin----author:scott---date:20190320------for:根据后台菜单配置,判断是否路由菜单字段,动态选择是否生成路由(为了支持参数URL菜单)------ |
135 | 135 | //this.menus = this.mainRouters.find((item) => item.path === '/').children; |
136 | 136 | this.menus = this.permissionMenuList |
137 | - | |
137 | + | |
138 | 138 | //--update-begin----author:liusq---date:20210223------for:关于测边菜单遮挡内容问题详细说明 #2255 |
139 | 139 | this.collapsed=!this.sidebarOpened; |
140 | 140 | //--update-begin----author:liusq---date:20210223------for:关于测边菜单遮挡内容问题详细说明 #2255 |
141 | - | |
141 | + | |
142 | 142 | // 根据后台配置菜单,重新排序加载路由信息 |
143 | 143 | //console.log('----加载菜单逻辑----') |
144 | 144 | //console.log(this.mainRouters) |
... | ... |
jeecg-boot-master/ant-design-vue-jeecg/src/utils/request.js
... | ... | @@ -17,7 +17,7 @@ let apiBaseUrl = window._CONFIG['domianURL'] || "/jeecg-boot"; |
17 | 17 | const service = axios.create({ |
18 | 18 | //baseURL: '/jeecg-boot', |
19 | 19 | baseURL: apiBaseUrl, // api base_url |
20 | - timeout: 9000 // 请求超时时间 | |
20 | + timeout: 10 * 1000 // 请求超时时间 | |
21 | 21 | }) |
22 | 22 | |
23 | 23 | const err = (error) => { |
... | ... |
jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/CompanyList.vue
0 → 100644
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.code"></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.name"></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 | + <a-input placeholder="请输入仓库编码" v-model="queryParam.warehousecode"></a-input> | |
21 | + </a-form-item> | |
22 | + </a-col> | |
23 | + </template> | |
24 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
25 | + <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> | |
26 | + <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> | |
27 | + <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> | |
28 | + <a @click="handleToggleSearch" style="margin-left: 8px"> | |
29 | + {{ toggleSearchStatus ? '收起' : '展开' }} | |
30 | + <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
31 | + </a> | |
32 | + </span> | |
33 | + </a-col> | |
34 | + </a-row> | |
35 | + </a-form> | |
36 | + </div> | |
37 | + <!-- 查询区域-END --> | |
38 | + | |
39 | + <!-- 操作按钮区域 --> | |
40 | + <div class="table-operator"> | |
41 | + <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> | |
42 | + <a-button type="primary" icon="download" @click="handleExportXls('货主')">导出</a-button> | |
43 | + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> | |
44 | + <a-button type="primary" icon="import">导入</a-button> | |
45 | + </a-upload> | |
46 | + <!-- 高级查询区域 --> | |
47 | + <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query> | |
48 | + <a-dropdown v-if="selectedRowKeys.length > 0"> | |
49 | + <a-menu slot="overlay"> | |
50 | + <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item> | |
51 | + </a-menu> | |
52 | + <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button> | |
53 | + </a-dropdown> | |
54 | + </div> | |
55 | + | |
56 | + <!-- table区域-begin --> | |
57 | + <div> | |
58 | + <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> | |
59 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
60 | + <a style="margin-left: 24px" @click="onClearSelected">清空</a> | |
61 | + </div> | |
62 | + | |
63 | + <a-table | |
64 | + ref="table" | |
65 | + size="middle" | |
66 | + :scroll="{x:true}" | |
67 | + bordered | |
68 | + rowKey="id" | |
69 | + :columns="columns" | |
70 | + :dataSource="dataSource" | |
71 | + :pagination="ipagination" | |
72 | + :loading="loading" | |
73 | + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" | |
74 | + class="j-table-force-nowrap" | |
75 | + @change="handleTableChange"> | |
76 | + | |
77 | + <template slot="htmlSlot" slot-scope="text"> | |
78 | + <div v-html="text"></div> | |
79 | + </template> | |
80 | + <template slot="imgSlot" slot-scope="text"> | |
81 | + <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> | |
82 | + <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> | |
83 | + </template> | |
84 | + <template slot="fileSlot" slot-scope="text"> | |
85 | + <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> | |
86 | + <a-button | |
87 | + v-else | |
88 | + :ghost="true" | |
89 | + type="primary" | |
90 | + icon="download" | |
91 | + size="small" | |
92 | + @click="downloadFile(text)"> | |
93 | + 下载 | |
94 | + </a-button> | |
95 | + </template> | |
96 | + | |
97 | + <span slot="action" slot-scope="text, record"> | |
98 | + <a @click="handleEdit(record)">编辑</a> | |
99 | + | |
100 | + <a-divider type="vertical" /> | |
101 | + <a-dropdown> | |
102 | + <a class="ant-dropdown-link">更多 <a-icon type="down" /></a> | |
103 | + <a-menu slot="overlay"> | |
104 | + <a-menu-item> | |
105 | + <a @click="handleDetail(record)">详情</a> | |
106 | + </a-menu-item> | |
107 | + <a-menu-item> | |
108 | + <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> | |
109 | + <a>删除</a> | |
110 | + </a-popconfirm> | |
111 | + </a-menu-item> | |
112 | + </a-menu> | |
113 | + </a-dropdown> | |
114 | + </span> | |
115 | + | |
116 | + </a-table> | |
117 | + </div> | |
118 | + | |
119 | + <company-modal ref="modalForm" @ok="modalFormOk"></company-modal> | |
120 | + </a-card> | |
121 | +</template> | |
122 | + | |
123 | +<script> | |
124 | + | |
125 | + import '@/assets/less/TableExpand.less' | |
126 | + import { mixinDevice } from '@/utils/mixin' | |
127 | + import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
128 | + import CompanyModal from './modules/CompanyModal' | |
129 | + | |
130 | + export default { | |
131 | + name: 'CompanyList', | |
132 | + mixins:[JeecgListMixin, mixinDevice], | |
133 | + components: { | |
134 | + CompanyModal | |
135 | + }, | |
136 | + data () { | |
137 | + return { | |
138 | + description: '货主管理页面', | |
139 | + // 表头 | |
140 | + columns: [ | |
141 | + { | |
142 | + title: '#', | |
143 | + dataIndex: '', | |
144 | + key:'rowIndex', | |
145 | + width:60, | |
146 | + align:"center", | |
147 | + customRender:function (t,r,index) { | |
148 | + return parseInt(index)+1; | |
149 | + } | |
150 | + }, | |
151 | + { | |
152 | + title:'货主编码', | |
153 | + align:"center", | |
154 | + dataIndex: 'code' | |
155 | + }, | |
156 | + { | |
157 | + title:'货主名称', | |
158 | + align:"center", | |
159 | + dataIndex: 'name' | |
160 | + }, | |
161 | + { | |
162 | + title:'仓库编码', | |
163 | + align:"center", | |
164 | + dataIndex: 'warehousecode' | |
165 | + }, | |
166 | + { | |
167 | + title:'地址', | |
168 | + align:"center", | |
169 | + dataIndex: 'address' | |
170 | + }, | |
171 | + { | |
172 | + title:'区县', | |
173 | + align:"center", | |
174 | + dataIndex: 'district' | |
175 | + }, | |
176 | + { | |
177 | + title:'城市', | |
178 | + align:"center", | |
179 | + dataIndex: 'city' | |
180 | + }, | |
181 | + { | |
182 | + title:'省份', | |
183 | + align:"center", | |
184 | + dataIndex: 'province' | |
185 | + }, | |
186 | + { | |
187 | + title:'国家', | |
188 | + align:"center", | |
189 | + dataIndex: 'country' | |
190 | + }, | |
191 | + { | |
192 | + title:'邮编', | |
193 | + align:"center", | |
194 | + dataIndex: 'postalcode' | |
195 | + }, | |
196 | + { | |
197 | + title:'联系人', | |
198 | + align:"center", | |
199 | + dataIndex: 'attentionto' | |
200 | + }, | |
201 | + { | |
202 | + title:'联系电话', | |
203 | + align:"center", | |
204 | + dataIndex: 'phonenum' | |
205 | + }, | |
206 | + { | |
207 | + title: '操作', | |
208 | + dataIndex: 'action', | |
209 | + align:"center", | |
210 | + fixed:"right", | |
211 | + width:147, | |
212 | + scopedSlots: { customRender: 'action' } | |
213 | + } | |
214 | + ], | |
215 | + url: { | |
216 | + list: "/config/company/list", | |
217 | + delete: "/config/company/delete", | |
218 | + deleteBatch: "/config/company/deleteBatch", | |
219 | + exportXlsUrl: "/config/company/exportXls", | |
220 | + importExcelUrl: "config/company/importExcel", | |
221 | + | |
222 | + }, | |
223 | + dictOptions:{}, | |
224 | + superFieldList:[], | |
225 | + } | |
226 | + }, | |
227 | + created() { | |
228 | + this.getSuperFieldList(); | |
229 | + }, | |
230 | + computed: { | |
231 | + importExcelUrl: function(){ | |
232 | + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; | |
233 | + }, | |
234 | + }, | |
235 | + methods: { | |
236 | + initDictConfig(){ | |
237 | + }, | |
238 | + getSuperFieldList(){ | |
239 | + let fieldList=[]; | |
240 | + fieldList.push({type:'string',value:'code',text:'货主编码',dictCode:''}) | |
241 | + fieldList.push({type:'string',value:'name',text:'货主名称',dictCode:''}) | |
242 | + fieldList.push({type:'string',value:'warehousecode',text:'仓库编码',dictCode:''}) | |
243 | + fieldList.push({type:'string',value:'address',text:'地址',dictCode:''}) | |
244 | + fieldList.push({type:'string',value:'district',text:'区县',dictCode:''}) | |
245 | + fieldList.push({type:'string',value:'city',text:'城市',dictCode:''}) | |
246 | + fieldList.push({type:'string',value:'province',text:'省份',dictCode:''}) | |
247 | + fieldList.push({type:'string',value:'country',text:'国家',dictCode:''}) | |
248 | + fieldList.push({type:'string',value:'postalcode',text:'邮编',dictCode:''}) | |
249 | + fieldList.push({type:'string',value:'attentionto',text:'联系人',dictCode:''}) | |
250 | + fieldList.push({type:'string',value:'phonenum',text:'联系电话',dictCode:''}) | |
251 | + this.superFieldList = fieldList | |
252 | + } | |
253 | + } | |
254 | + } | |
255 | +</script> | |
256 | +<style scoped> | |
257 | + @import '~@assets/less/common.less'; | |
258 | +</style> | |
0 | 259 | \ No newline at end of file |
... | ... |
jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/WarehouseList.vue
... | ... | @@ -4,6 +4,33 @@ |
4 | 4 | <div class="table-page-search-wrapper"> |
5 | 5 | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
6 | 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.code"></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.name"></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.enable" dictCode="enable_status"/> | |
21 | + </a-form-item> | |
22 | + </a-col> | |
23 | + </template> | |
24 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
25 | + <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> | |
26 | + <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> | |
27 | + <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> | |
28 | + <a @click="handleToggleSearch" style="margin-left: 8px"> | |
29 | + {{ toggleSearchStatus ? '收起' : '展开' }} | |
30 | + <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
31 | + </a> | |
32 | + </span> | |
33 | + </a-col> | |
7 | 34 | </a-row> |
8 | 35 | </a-form> |
9 | 36 | </div> |
... | ... | @@ -99,6 +126,7 @@ |
99 | 126 | import { mixinDevice } from '@/utils/mixin' |
100 | 127 | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
101 | 128 | import WarehouseModal from './modules/WarehouseModal' |
129 | + import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' | |
102 | 130 | |
103 | 131 | export default { |
104 | 132 | name: 'WarehouseList', |
... | ... | @@ -122,34 +150,24 @@ |
122 | 150 | } |
123 | 151 | }, |
124 | 152 | { |
125 | - title:'创建人', | |
126 | - align:"center", | |
127 | - dataIndex: 'createBy' | |
128 | - }, | |
129 | - { | |
130 | - title:'创建日期', | |
131 | - align:"center", | |
132 | - dataIndex: 'createTime' | |
133 | - }, | |
134 | - { | |
135 | - title:'更新人', | |
153 | + title:'仓库编码', | |
136 | 154 | align:"center", |
137 | - dataIndex: 'updateBy' | |
155 | + dataIndex: 'code' | |
138 | 156 | }, |
139 | 157 | { |
140 | - title:'更新日期', | |
158 | + title:'名称', | |
141 | 159 | align:"center", |
142 | - dataIndex: 'updateTime' | |
160 | + dataIndex: 'name' | |
143 | 161 | }, |
144 | 162 | { |
145 | - title:'仓库编码', | |
163 | + title:'地址', | |
146 | 164 | align:"center", |
147 | - dataIndex: 'code' | |
165 | + dataIndex: 'address' | |
148 | 166 | }, |
149 | 167 | { |
150 | - title:'地址', | |
168 | + title:'区/县', | |
151 | 169 | align:"center", |
152 | - dataIndex: 'address' | |
170 | + dataIndex: 'district' | |
153 | 171 | }, |
154 | 172 | { |
155 | 173 | title:'城市', |
... | ... | @@ -162,21 +180,11 @@ |
162 | 180 | dataIndex: 'state' |
163 | 181 | }, |
164 | 182 | { |
165 | - title:'区/县', | |
166 | - align:"center", | |
167 | - dataIndex: 'district' | |
168 | - }, | |
169 | - { | |
170 | 183 | title:'国家', |
171 | 184 | align:"center", |
172 | 185 | dataIndex: 'country' |
173 | 186 | }, |
174 | 187 | { |
175 | - title:'邮编', | |
176 | - align:"center", | |
177 | - dataIndex: 'postalcode' | |
178 | - }, | |
179 | - { | |
180 | 188 | title:'联系人', |
181 | 189 | align:"center", |
182 | 190 | dataIndex: 'attentionto' |
... | ... | @@ -187,39 +195,29 @@ |
187 | 195 | dataIndex: 'phonenum' |
188 | 196 | }, |
189 | 197 | { |
190 | - title:'传真号', | |
191 | - align:"center", | |
192 | - dataIndex: 'faxnum' | |
193 | - }, | |
194 | - { | |
195 | - title:'名称', | |
196 | - align:"center", | |
197 | - dataIndex: 'name' | |
198 | - }, | |
199 | - { | |
200 | 198 | title:'可用状态', |
201 | 199 | align:"center", |
202 | - dataIndex: 'enable' | |
200 | + dataIndex: 'enable_dictText' | |
203 | 201 | }, |
204 | 202 | { |
205 | - title:'删除标记', | |
203 | + title:'创建人', | |
206 | 204 | align:"center", |
207 | - dataIndex: 'deleted' | |
205 | + dataIndex: 'createBy' | |
208 | 206 | }, |
209 | 207 | { |
210 | - title:'自定义字段1', | |
208 | + title:'创建日期', | |
211 | 209 | align:"center", |
212 | - dataIndex: 'userdef1' | |
210 | + dataIndex: 'createTime' | |
213 | 211 | }, |
214 | 212 | { |
215 | - title:'自定义字段2', | |
213 | + title:'更新人', | |
216 | 214 | align:"center", |
217 | - dataIndex: 'userdef2' | |
215 | + dataIndex: 'updateBy' | |
218 | 216 | }, |
219 | 217 | { |
220 | - title:'自定义字段3', | |
218 | + title:'更新时间', | |
221 | 219 | align:"center", |
222 | - dataIndex: 'userdef3' | |
220 | + dataIndex: 'updateTime' | |
223 | 221 | }, |
224 | 222 | { |
225 | 223 | title: '操作', |
... | ... | @@ -255,26 +253,20 @@ |
255 | 253 | }, |
256 | 254 | getSuperFieldList(){ |
257 | 255 | let fieldList=[]; |
258 | - fieldList.push({type:'string',value:'createBy',text:'创建人',dictCode:''}) | |
259 | - fieldList.push({type:'datetime',value:'createTime',text:'创建日期'}) | |
260 | - fieldList.push({type:'string',value:'updateBy',text:'更新人',dictCode:''}) | |
261 | - fieldList.push({type:'datetime',value:'updateTime',text:'更新日期'}) | |
262 | 256 | fieldList.push({type:'string',value:'code',text:'仓库编码',dictCode:''}) |
257 | + fieldList.push({type:'string',value:'name',text:'名称',dictCode:''}) | |
263 | 258 | fieldList.push({type:'string',value:'address',text:'地址',dictCode:''}) |
259 | + fieldList.push({type:'string',value:'district',text:'区/县',dictCode:''}) | |
264 | 260 | fieldList.push({type:'string',value:'city',text:'城市',dictCode:''}) |
265 | 261 | fieldList.push({type:'string',value:'state',text:'省份',dictCode:''}) |
266 | - fieldList.push({type:'string',value:'district',text:'区/县',dictCode:''}) | |
267 | 262 | fieldList.push({type:'string',value:'country',text:'国家',dictCode:''}) |
268 | - fieldList.push({type:'string',value:'postalcode',text:'邮编',dictCode:''}) | |
269 | 263 | fieldList.push({type:'string',value:'attentionto',text:'联系人',dictCode:''}) |
270 | 264 | fieldList.push({type:'string',value:'phonenum',text:'联系电话',dictCode:''}) |
271 | - fieldList.push({type:'string',value:'faxnum',text:'传真号',dictCode:''}) | |
272 | - fieldList.push({type:'string',value:'name',text:'名称',dictCode:''}) | |
273 | - fieldList.push({type:'int',value:'enable',text:'可用状态',dictCode:''}) | |
274 | - fieldList.push({type:'int',value:'deleted',text:'删除标记',dictCode:''}) | |
275 | - fieldList.push({type:'string',value:'userdef1',text:'自定义字段1',dictCode:''}) | |
276 | - fieldList.push({type:'string',value:'userdef2',text:'自定义字段2',dictCode:''}) | |
277 | - fieldList.push({type:'string',value:'userdef3',text:'自定义字段3',dictCode:''}) | |
265 | + fieldList.push({type:'int',value:'enable',text:'可用状态',dictCode:'enable_status'}) | |
266 | + fieldList.push({type:'string',value:'createBy',text:'创建人',dictCode:''}) | |
267 | + fieldList.push({type:'datetime',value:'createTime',text:'创建日期'}) | |
268 | + fieldList.push({type:'string',value:'updateBy',text:'更新人',dictCode:''}) | |
269 | + fieldList.push({type:'datetime',value:'updateTime',text:'更新时间'}) | |
278 | 270 | this.superFieldList = fieldList |
279 | 271 | } |
280 | 272 | } |
... | ... |
jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/ZoneList.vue
0 → 100644
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.code"></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.name"></a-input> | |
15 | + </a-form-item> | |
16 | + </a-col> | |
17 | + <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
18 | + <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> | |
19 | + <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> | |
20 | + <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> | |
21 | + <a @click="handleToggleSearch" style="margin-left: 8px"> | |
22 | + {{ toggleSearchStatus ? '收起' : '展开' }} | |
23 | + <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
24 | + </a> | |
25 | + </span> | |
26 | + </a-col> | |
27 | + </a-row> | |
28 | + </a-form> | |
29 | + </div> | |
30 | + <!-- 查询区域-END --> | |
31 | + | |
32 | + <!-- 操作按钮区域 --> | |
33 | + <div class="table-operator"> | |
34 | + <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> | |
35 | + <a-button type="primary" icon="download" @click="handleExportXls('库区管理')">导出</a-button> | |
36 | + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> | |
37 | + <a-button type="primary" icon="import">导入</a-button> | |
38 | + </a-upload> | |
39 | + <!-- 高级查询区域 --> | |
40 | + <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query> | |
41 | + <a-dropdown v-if="selectedRowKeys.length > 0"> | |
42 | + <a-menu slot="overlay"> | |
43 | + <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item> | |
44 | + </a-menu> | |
45 | + <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button> | |
46 | + </a-dropdown> | |
47 | + </div> | |
48 | + | |
49 | + <!-- table区域-begin --> | |
50 | + <div> | |
51 | + <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> | |
52 | + <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 | |
53 | + <a style="margin-left: 24px" @click="onClearSelected">清空</a> | |
54 | + </div> | |
55 | + | |
56 | + <a-table | |
57 | + ref="table" | |
58 | + size="middle" | |
59 | + :scroll="{x:true}" | |
60 | + bordered | |
61 | + rowKey="id" | |
62 | + :columns="columns" | |
63 | + :dataSource="dataSource" | |
64 | + :pagination="ipagination" | |
65 | + :loading="loading" | |
66 | + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" | |
67 | + class="j-table-force-nowrap" | |
68 | + @change="handleTableChange"> | |
69 | + | |
70 | + <template slot="htmlSlot" slot-scope="text"> | |
71 | + <div v-html="text"></div> | |
72 | + </template> | |
73 | + <template slot="imgSlot" slot-scope="text"> | |
74 | + <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> | |
75 | + <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> | |
76 | + </template> | |
77 | + <template slot="fileSlot" slot-scope="text"> | |
78 | + <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> | |
79 | + <a-button | |
80 | + v-else | |
81 | + :ghost="true" | |
82 | + type="primary" | |
83 | + icon="download" | |
84 | + size="small" | |
85 | + @click="downloadFile(text)"> | |
86 | + 下载 | |
87 | + </a-button> | |
88 | + </template> | |
89 | + | |
90 | + <span slot="action" slot-scope="text, record"> | |
91 | + <a @click="handleEdit(record)">编辑</a> | |
92 | + | |
93 | + <a-divider type="vertical" /> | |
94 | + <a-dropdown> | |
95 | + <a class="ant-dropdown-link">更多 <a-icon type="down" /></a> | |
96 | + <a-menu slot="overlay"> | |
97 | + <a-menu-item> | |
98 | + <a @click="handleDetail(record)">详情</a> | |
99 | + </a-menu-item> | |
100 | + <a-menu-item> | |
101 | + <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> | |
102 | + <a>删除</a> | |
103 | + </a-popconfirm> | |
104 | + </a-menu-item> | |
105 | + </a-menu> | |
106 | + </a-dropdown> | |
107 | + </span> | |
108 | + | |
109 | + </a-table> | |
110 | + </div> | |
111 | + | |
112 | + <zone-modal ref="modalForm" @ok="modalFormOk"></zone-modal> | |
113 | + </a-card> | |
114 | +</template> | |
115 | + | |
116 | +<script> | |
117 | + | |
118 | + import '@/assets/less/TableExpand.less' | |
119 | + import { mixinDevice } from '@/utils/mixin' | |
120 | + import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
121 | + import ZoneModal from './modules/ZoneModal' | |
122 | + | |
123 | + export default { | |
124 | + name: 'ZoneList', | |
125 | + mixins:[JeecgListMixin, mixinDevice], | |
126 | + components: { | |
127 | + ZoneModal | |
128 | + }, | |
129 | + data () { | |
130 | + return { | |
131 | + description: '库区管理管理页面', | |
132 | + // 表头 | |
133 | + columns: [ | |
134 | + { | |
135 | + title: '#', | |
136 | + dataIndex: '', | |
137 | + key:'rowIndex', | |
138 | + width:60, | |
139 | + align:"center", | |
140 | + customRender:function (t,r,index) { | |
141 | + return parseInt(index)+1; | |
142 | + } | |
143 | + }, | |
144 | + { | |
145 | + title:'编码', | |
146 | + align:"center", | |
147 | + dataIndex: 'code' | |
148 | + }, | |
149 | + { | |
150 | + title:'名称', | |
151 | + align:"center", | |
152 | + dataIndex: 'name' | |
153 | + }, | |
154 | + { | |
155 | + title:'仓库编码', | |
156 | + align:"center", | |
157 | + dataIndex: 'warehousecode' | |
158 | + }, | |
159 | + { | |
160 | + title:'货主编码', | |
161 | + align:"center", | |
162 | + dataIndex: 'companycode' | |
163 | + }, | |
164 | + { | |
165 | + title:'创建人', | |
166 | + align:"center", | |
167 | + dataIndex: 'createBy' | |
168 | + }, | |
169 | + { | |
170 | + title:'创建日期', | |
171 | + align:"center", | |
172 | + dataIndex: 'createTime' | |
173 | + }, | |
174 | + { | |
175 | + title:'更新人', | |
176 | + align:"center", | |
177 | + dataIndex: 'updateBy' | |
178 | + }, | |
179 | + { | |
180 | + title:'更新日期', | |
181 | + align:"center", | |
182 | + dataIndex: 'updateTime' | |
183 | + }, | |
184 | + { | |
185 | + title: '操作', | |
186 | + dataIndex: 'action', | |
187 | + align:"center", | |
188 | + fixed:"right", | |
189 | + width:147, | |
190 | + scopedSlots: { customRender: 'action' } | |
191 | + } | |
192 | + ], | |
193 | + url: { | |
194 | + list: "/config/zone/list", | |
195 | + delete: "/config/zone/delete", | |
196 | + deleteBatch: "/config/zone/deleteBatch", | |
197 | + exportXlsUrl: "/config/zone/exportXls", | |
198 | + importExcelUrl: "config/zone/importExcel", | |
199 | + | |
200 | + }, | |
201 | + dictOptions:{}, | |
202 | + superFieldList:[], | |
203 | + } | |
204 | + }, | |
205 | + created() { | |
206 | + this.getSuperFieldList(); | |
207 | + }, | |
208 | + computed: { | |
209 | + importExcelUrl: function(){ | |
210 | + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; | |
211 | + }, | |
212 | + }, | |
213 | + methods: { | |
214 | + initDictConfig(){ | |
215 | + }, | |
216 | + getSuperFieldList(){ | |
217 | + let fieldList=[]; | |
218 | + fieldList.push({type:'string',value:'code',text:'编码',dictCode:''}) | |
219 | + fieldList.push({type:'string',value:'name',text:'名称',dictCode:''}) | |
220 | + fieldList.push({type:'string',value:'warehousecode',text:'仓库编码',dictCode:''}) | |
221 | + fieldList.push({type:'string',value:'companycode',text:'货主编码',dictCode:''}) | |
222 | + fieldList.push({type:'string',value:'createBy',text:'创建人',dictCode:''}) | |
223 | + fieldList.push({type:'datetime',value:'createTime',text:'创建日期'}) | |
224 | + fieldList.push({type:'string',value:'updateBy',text:'更新人',dictCode:''}) | |
225 | + fieldList.push({type:'datetime',value:'updateTime',text:'更新日期'}) | |
226 | + this.superFieldList = fieldList | |
227 | + } | |
228 | + } | |
229 | + } | |
230 | +</script> | |
231 | +<style scoped> | |
232 | + @import '~@assets/less/common.less'; | |
233 | +</style> | |
0 | 234 | \ No newline at end of file |
... | ... |
jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/modules/CompanyForm.vue
0 → 100644
1 | +<template> | |
2 | + <a-spin :spinning="confirmLoading"> | |
3 | + <j-form-container :disabled="formDisabled"> | |
4 | + <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> | |
5 | + <a-row> | |
6 | + <a-col :span="24"> | |
7 | + <a-form-model-item label="货主编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="code"> | |
8 | + <a-input v-model="model.code" placeholder="请输入货主编码" ></a-input> | |
9 | + </a-form-model-item> | |
10 | + </a-col> | |
11 | + <a-col :span="24"> | |
12 | + <a-form-model-item label="货主名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name"> | |
13 | + <a-input v-model="model.name" placeholder="请输入货主名称" ></a-input> | |
14 | + </a-form-model-item> | |
15 | + </a-col> | |
16 | + <a-col :span="24"> | |
17 | + <a-form-model-item label="仓库编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="warehousecode"> | |
18 | + <a-input v-model="model.warehousecode" placeholder="请输入仓库编码" ></a-input> | |
19 | + </a-form-model-item> | |
20 | + </a-col> | |
21 | + <a-col :span="24"> | |
22 | + <a-form-model-item label="地址" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="address"> | |
23 | + <a-input v-model="model.address" placeholder="请输入地址" ></a-input> | |
24 | + </a-form-model-item> | |
25 | + </a-col> | |
26 | + <a-col :span="24"> | |
27 | + <a-form-model-item label="区县" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="district"> | |
28 | + <a-input v-model="model.district" placeholder="请输入区县" ></a-input> | |
29 | + </a-form-model-item> | |
30 | + </a-col> | |
31 | + <a-col :span="24"> | |
32 | + <a-form-model-item label="城市" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="city"> | |
33 | + <a-input v-model="model.city" placeholder="请输入城市" ></a-input> | |
34 | + </a-form-model-item> | |
35 | + </a-col> | |
36 | + <a-col :span="24"> | |
37 | + <a-form-model-item label="省份" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="province"> | |
38 | + <a-input v-model="model.province" placeholder="请输入省份" ></a-input> | |
39 | + </a-form-model-item> | |
40 | + </a-col> | |
41 | + <a-col :span="24"> | |
42 | + <a-form-model-item label="国家" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="country"> | |
43 | + <a-input v-model="model.country" placeholder="请输入国家" ></a-input> | |
44 | + </a-form-model-item> | |
45 | + </a-col> | |
46 | + <a-col :span="24"> | |
47 | + <a-form-model-item label="邮编" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="postalcode"> | |
48 | + <a-input v-model="model.postalcode" placeholder="请输入邮编" ></a-input> | |
49 | + </a-form-model-item> | |
50 | + </a-col> | |
51 | + <a-col :span="24"> | |
52 | + <a-form-model-item label="联系人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="attentionto"> | |
53 | + <a-input v-model="model.attentionto" placeholder="请输入联系人" ></a-input> | |
54 | + </a-form-model-item> | |
55 | + </a-col> | |
56 | + <a-col :span="24"> | |
57 | + <a-form-model-item label="联系电话" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="phonenum"> | |
58 | + <a-input v-model="model.phonenum" placeholder="请输入联系电话" ></a-input> | |
59 | + </a-form-model-item> | |
60 | + </a-col> | |
61 | + </a-row> | |
62 | + </a-form-model> | |
63 | + </j-form-container> | |
64 | + </a-spin> | |
65 | +</template> | |
66 | + | |
67 | +<script> | |
68 | + | |
69 | + import { httpAction, getAction } from '@/api/manage' | |
70 | + import { validateDuplicateValue } from '@/utils/util' | |
71 | + | |
72 | + export default { | |
73 | + name: 'CompanyForm', | |
74 | + components: { | |
75 | + }, | |
76 | + props: { | |
77 | + //表单禁用 | |
78 | + disabled: { | |
79 | + type: Boolean, | |
80 | + default: false, | |
81 | + required: false | |
82 | + } | |
83 | + }, | |
84 | + data () { | |
85 | + return { | |
86 | + model:{ | |
87 | + }, | |
88 | + labelCol: { | |
89 | + xs: { span: 24 }, | |
90 | + sm: { span: 5 }, | |
91 | + }, | |
92 | + wrapperCol: { | |
93 | + xs: { span: 24 }, | |
94 | + sm: { span: 16 }, | |
95 | + }, | |
96 | + confirmLoading: false, | |
97 | + validatorRules: { | |
98 | + code: [ | |
99 | + { required: true, message: '请输入货主编码!'}, | |
100 | + ], | |
101 | + name: [ | |
102 | + { required: true, message: '请输入货主名称!'}, | |
103 | + ], | |
104 | + warehousecode: [ | |
105 | + { required: true, message: '请输入仓库编码!'}, | |
106 | + ], | |
107 | + }, | |
108 | + url: { | |
109 | + add: "/config/company/add", | |
110 | + edit: "/config/company/edit", | |
111 | + queryById: "/config/company/queryById" | |
112 | + } | |
113 | + } | |
114 | + }, | |
115 | + computed: { | |
116 | + formDisabled(){ | |
117 | + return this.disabled | |
118 | + }, | |
119 | + }, | |
120 | + created () { | |
121 | + //备份model原始值 | |
122 | + this.modelDefault = JSON.parse(JSON.stringify(this.model)); | |
123 | + }, | |
124 | + methods: { | |
125 | + add () { | |
126 | + this.edit(this.modelDefault); | |
127 | + }, | |
128 | + edit (record) { | |
129 | + this.model = Object.assign({}, record); | |
130 | + this.visible = true; | |
131 | + }, | |
132 | + submitForm () { | |
133 | + const that = this; | |
134 | + // 触发表单验证 | |
135 | + this.$refs.form.validate(valid => { | |
136 | + if (valid) { | |
137 | + that.confirmLoading = true; | |
138 | + let httpurl = ''; | |
139 | + let method = ''; | |
140 | + if(!this.model.id){ | |
141 | + httpurl+=this.url.add; | |
142 | + method = 'post'; | |
143 | + }else{ | |
144 | + httpurl+=this.url.edit; | |
145 | + method = 'put'; | |
146 | + } | |
147 | + httpAction(httpurl,this.model,method).then((res)=>{ | |
148 | + if(res.success){ | |
149 | + that.$message.success(res.message); | |
150 | + that.$emit('ok'); | |
151 | + }else{ | |
152 | + that.$message.warning(res.message); | |
153 | + } | |
154 | + }).finally(() => { | |
155 | + that.confirmLoading = false; | |
156 | + }) | |
157 | + } | |
158 | + | |
159 | + }) | |
160 | + }, | |
161 | + } | |
162 | + } | |
163 | +</script> | |
0 | 164 | \ No newline at end of file |
... | ... |
jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/modules/CompanyModal.Style#Drawer.vue
0 → 100644
1 | +<template> | |
2 | + <a-drawer | |
3 | + :title="title" | |
4 | + :width="width" | |
5 | + placement="right" | |
6 | + :closable="false" | |
7 | + @close="close" | |
8 | + destroyOnClose | |
9 | + :visible="visible"> | |
10 | + <company-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></company-form> | |
11 | + <div class="drawer-footer"> | |
12 | + <a-button @click="handleCancel" style="margin-bottom: 0;">关闭</a-button> | |
13 | + <a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;">提交</a-button> | |
14 | + </div> | |
15 | + </a-drawer> | |
16 | +</template> | |
17 | + | |
18 | +<script> | |
19 | + | |
20 | + import CompanyForm from './CompanyForm' | |
21 | + | |
22 | + export default { | |
23 | + name: 'CompanyModal', | |
24 | + components: { | |
25 | + CompanyForm | |
26 | + }, | |
27 | + data () { | |
28 | + return { | |
29 | + title:"操作", | |
30 | + width:800, | |
31 | + visible: false, | |
32 | + disableSubmit: false | |
33 | + } | |
34 | + }, | |
35 | + methods: { | |
36 | + add () { | |
37 | + this.visible=true | |
38 | + this.$nextTick(()=>{ | |
39 | + this.$refs.realForm.add(); | |
40 | + }) | |
41 | + }, | |
42 | + edit (record) { | |
43 | + this.visible=true | |
44 | + this.$nextTick(()=>{ | |
45 | + this.$refs.realForm.edit(record); | |
46 | + }); | |
47 | + }, | |
48 | + close () { | |
49 | + this.$emit('close'); | |
50 | + this.visible = false; | |
51 | + }, | |
52 | + submitCallback(){ | |
53 | + this.$emit('ok'); | |
54 | + this.visible = false; | |
55 | + }, | |
56 | + handleOk () { | |
57 | + this.$refs.realForm.submitForm(); | |
58 | + }, | |
59 | + handleCancel () { | |
60 | + this.close() | |
61 | + } | |
62 | + } | |
63 | + } | |
64 | +</script> | |
65 | + | |
66 | +<style lang="less" scoped> | |
67 | +/** Button按钮间距 */ | |
68 | + .ant-btn { | |
69 | + margin-left: 30px; | |
70 | + margin-bottom: 30px; | |
71 | + float: right; | |
72 | + } | |
73 | + .drawer-footer{ | |
74 | + position: absolute; | |
75 | + bottom: -8px; | |
76 | + width: 100%; | |
77 | + border-top: 1px solid #e8e8e8; | |
78 | + padding: 10px 16px; | |
79 | + text-align: right; | |
80 | + left: 0; | |
81 | + background: #fff; | |
82 | + border-radius: 0 0 2px 2px; | |
83 | + } | |
84 | +</style> | |
0 | 85 | \ No newline at end of file |
... | ... |
jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/modules/CompanyModal.vue
0 → 100644
1 | +<template> | |
2 | + <j-modal | |
3 | + :title="title" | |
4 | + :width="width" | |
5 | + :visible="visible" | |
6 | + switchFullscreen | |
7 | + @ok="handleOk" | |
8 | + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" | |
9 | + @cancel="handleCancel" | |
10 | + cancelText="关闭"> | |
11 | + <company-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></company-form> | |
12 | + </j-modal> | |
13 | +</template> | |
14 | + | |
15 | +<script> | |
16 | + | |
17 | + import CompanyForm from './CompanyForm' | |
18 | + export default { | |
19 | + name: 'CompanyModal', | |
20 | + components: { | |
21 | + CompanyForm | |
22 | + }, | |
23 | + data () { | |
24 | + return { | |
25 | + title:'', | |
26 | + width:800, | |
27 | + visible: false, | |
28 | + disableSubmit: false | |
29 | + } | |
30 | + }, | |
31 | + methods: { | |
32 | + add () { | |
33 | + this.visible=true | |
34 | + this.$nextTick(()=>{ | |
35 | + this.$refs.realForm.add(); | |
36 | + }) | |
37 | + }, | |
38 | + edit (record) { | |
39 | + this.visible=true | |
40 | + this.$nextTick(()=>{ | |
41 | + this.$refs.realForm.edit(record); | |
42 | + }) | |
43 | + }, | |
44 | + close () { | |
45 | + this.$emit('close'); | |
46 | + this.visible = false; | |
47 | + }, | |
48 | + handleOk () { | |
49 | + this.$refs.realForm.submitForm(); | |
50 | + }, | |
51 | + submitCallback(){ | |
52 | + this.$emit('ok'); | |
53 | + this.visible = false; | |
54 | + }, | |
55 | + handleCancel () { | |
56 | + this.close() | |
57 | + } | |
58 | + } | |
59 | + } | |
60 | +</script> | |
0 | 61 | \ No newline at end of file |
... | ... |
jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/modules/WarehouseForm.vue
... | ... | @@ -4,33 +4,23 @@ |
4 | 4 | <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> |
5 | 5 | <a-row> |
6 | 6 | <a-col :span="24"> |
7 | - <a-form-model-item label="创建人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="createBy"> | |
8 | - <a-input v-model="model.createBy" placeholder="请输入创建人" ></a-input> | |
9 | - </a-form-model-item> | |
10 | - </a-col> | |
11 | - <a-col :span="24"> | |
12 | - <a-form-model-item label="创建日期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="createTime"> | |
13 | - <j-date placeholder="请选择创建日期" v-model="model.createTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" /> | |
14 | - </a-form-model-item> | |
15 | - </a-col> | |
16 | - <a-col :span="24"> | |
17 | - <a-form-model-item label="更新人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="updateBy"> | |
18 | - <a-input v-model="model.updateBy" placeholder="请输入更新人" ></a-input> | |
7 | + <a-form-model-item label="仓库编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="code"> | |
8 | + <a-input v-model="model.code" placeholder="请输入仓库编码" ></a-input> | |
19 | 9 | </a-form-model-item> |
20 | 10 | </a-col> |
21 | 11 | <a-col :span="24"> |
22 | - <a-form-model-item label="更新日期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="updateTime"> | |
23 | - <j-date placeholder="请选择更新日期" v-model="model.updateTime" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" /> | |
12 | + <a-form-model-item label="名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name"> | |
13 | + <a-input v-model="model.name" placeholder="请输入名称" ></a-input> | |
24 | 14 | </a-form-model-item> |
25 | 15 | </a-col> |
26 | 16 | <a-col :span="24"> |
27 | - <a-form-model-item label="仓库编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="code"> | |
28 | - <a-input v-model="model.code" placeholder="请输入仓库编码" ></a-input> | |
17 | + <a-form-model-item label="地址" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="address"> | |
18 | + <a-input v-model="model.address" placeholder="请输入地址" ></a-input> | |
29 | 19 | </a-form-model-item> |
30 | 20 | </a-col> |
31 | 21 | <a-col :span="24"> |
32 | - <a-form-model-item label="地址" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="address"> | |
33 | - <a-input v-model="model.address" placeholder="请输入地址" ></a-input> | |
22 | + <a-form-model-item label="区/县" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="district"> | |
23 | + <a-input v-model="model.district" placeholder="请输入区/县" ></a-input> | |
34 | 24 | </a-form-model-item> |
35 | 25 | </a-col> |
36 | 26 | <a-col :span="24"> |
... | ... | @@ -44,21 +34,11 @@ |
44 | 34 | </a-form-model-item> |
45 | 35 | </a-col> |
46 | 36 | <a-col :span="24"> |
47 | - <a-form-model-item label="区/县" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="district"> | |
48 | - <a-input v-model="model.district" placeholder="请输入区/县" ></a-input> | |
49 | - </a-form-model-item> | |
50 | - </a-col> | |
51 | - <a-col :span="24"> | |
52 | 37 | <a-form-model-item label="国家" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="country"> |
53 | 38 | <a-input v-model="model.country" placeholder="请输入国家" ></a-input> |
54 | 39 | </a-form-model-item> |
55 | 40 | </a-col> |
56 | 41 | <a-col :span="24"> |
57 | - <a-form-model-item label="邮编" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="postalcode"> | |
58 | - <a-input v-model="model.postalcode" placeholder="请输入邮编" ></a-input> | |
59 | - </a-form-model-item> | |
60 | - </a-col> | |
61 | - <a-col :span="24"> | |
62 | 42 | <a-form-model-item label="联系人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="attentionto"> |
63 | 43 | <a-input v-model="model.attentionto" placeholder="请输入联系人" ></a-input> |
64 | 44 | </a-form-model-item> |
... | ... | @@ -69,38 +49,8 @@ |
69 | 49 | </a-form-model-item> |
70 | 50 | </a-col> |
71 | 51 | <a-col :span="24"> |
72 | - <a-form-model-item label="传真号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="faxnum"> | |
73 | - <a-input v-model="model.faxnum" placeholder="请输入传真号" ></a-input> | |
74 | - </a-form-model-item> | |
75 | - </a-col> | |
76 | - <a-col :span="24"> | |
77 | - <a-form-model-item label="名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name"> | |
78 | - <a-input v-model="model.name" placeholder="请输入名称" ></a-input> | |
79 | - </a-form-model-item> | |
80 | - </a-col> | |
81 | - <a-col :span="24"> | |
82 | 52 | <a-form-model-item label="可用状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="enable"> |
83 | - <a-input-number v-model="model.enable" placeholder="请输入可用状态" style="width: 100%" /> | |
84 | - </a-form-model-item> | |
85 | - </a-col> | |
86 | - <a-col :span="24"> | |
87 | - <a-form-model-item label="删除标记" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="deleted"> | |
88 | - <a-input-number v-model="model.deleted" placeholder="请输入删除标记" style="width: 100%" /> | |
89 | - </a-form-model-item> | |
90 | - </a-col> | |
91 | - <a-col :span="24"> | |
92 | - <a-form-model-item label="自定义字段1" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="userdef1"> | |
93 | - <a-input v-model="model.userdef1" placeholder="请输入自定义字段1" ></a-input> | |
94 | - </a-form-model-item> | |
95 | - </a-col> | |
96 | - <a-col :span="24"> | |
97 | - <a-form-model-item label="自定义字段2" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="userdef2"> | |
98 | - <a-input v-model="model.userdef2" placeholder="请输入自定义字段2" ></a-input> | |
99 | - </a-form-model-item> | |
100 | - </a-col> | |
101 | - <a-col :span="24"> | |
102 | - <a-form-model-item label="自定义字段3" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="userdef3"> | |
103 | - <a-input v-model="model.userdef3" placeholder="请输入自定义字段3" ></a-input> | |
53 | + <j-dict-select-tag type="list" v-model="model.enable" dictCode="enable_status" placeholder="请选择可用状态" /> | |
104 | 54 | </a-form-model-item> |
105 | 55 | </a-col> |
106 | 56 | </a-row> |
... | ... | @@ -143,6 +93,12 @@ |
143 | 93 | code: [ |
144 | 94 | { required: true, message: '请输入仓库编码!'}, |
145 | 95 | ], |
96 | + name: [ | |
97 | + { required: true, message: '请输入名称!'}, | |
98 | + ], | |
99 | + enable: [ | |
100 | + { required: true, message: '请输入可用状态!'}, | |
101 | + ], | |
146 | 102 | }, |
147 | 103 | url: { |
148 | 104 | add: "/config/warehouse/add", |
... | ... |
jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/modules/ZoneForm.vue
0 → 100644
1 | +<template> | |
2 | + <a-spin :spinning="confirmLoading"> | |
3 | + <j-form-container :disabled="formDisabled"> | |
4 | + <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> | |
5 | + <a-row> | |
6 | + <a-col :span="24"> | |
7 | + <a-form-model-item label="编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="code"> | |
8 | + <a-input v-model="model.code" placeholder="请输入编码" ></a-input> | |
9 | + </a-form-model-item> | |
10 | + </a-col> | |
11 | + <a-col :span="24"> | |
12 | + <a-form-model-item label="名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name"> | |
13 | + <a-input v-model="model.name" placeholder="请输入名称" ></a-input> | |
14 | + </a-form-model-item> | |
15 | + </a-col> | |
16 | + <a-col :span="24"> | |
17 | + <a-form-model-item label="仓库编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="warehousecode"> | |
18 | + <a-input v-model="model.warehousecode" placeholder="请输入仓库编码" ></a-input> | |
19 | + </a-form-model-item> | |
20 | + </a-col> | |
21 | + <a-col :span="24"> | |
22 | + <a-form-model-item label="货主编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="companycode"> | |
23 | + <a-input v-model="model.companycode" placeholder="请输入货主编码" ></a-input> | |
24 | + </a-form-model-item> | |
25 | + </a-col> | |
26 | + </a-row> | |
27 | + </a-form-model> | |
28 | + </j-form-container> | |
29 | + </a-spin> | |
30 | +</template> | |
31 | + | |
32 | +<script> | |
33 | + | |
34 | + import { httpAction, getAction } from '@/api/manage' | |
35 | + import { validateDuplicateValue } from '@/utils/util' | |
36 | + | |
37 | + export default { | |
38 | + name: 'ZoneForm', | |
39 | + components: { | |
40 | + }, | |
41 | + props: { | |
42 | + //表单禁用 | |
43 | + disabled: { | |
44 | + type: Boolean, | |
45 | + default: false, | |
46 | + required: false | |
47 | + } | |
48 | + }, | |
49 | + data () { | |
50 | + return { | |
51 | + model:{ | |
52 | + }, | |
53 | + labelCol: { | |
54 | + xs: { span: 24 }, | |
55 | + sm: { span: 5 }, | |
56 | + }, | |
57 | + wrapperCol: { | |
58 | + xs: { span: 24 }, | |
59 | + sm: { span: 16 }, | |
60 | + }, | |
61 | + confirmLoading: false, | |
62 | + validatorRules: { | |
63 | + code: [ | |
64 | + { required: true, message: '请输入编码!'}, | |
65 | + ], | |
66 | + name: [ | |
67 | + { required: true, message: '请输入名称!'}, | |
68 | + ], | |
69 | + }, | |
70 | + url: { | |
71 | + add: "/config/zone/add", | |
72 | + edit: "/config/zone/edit", | |
73 | + queryById: "/config/zone/queryById" | |
74 | + } | |
75 | + } | |
76 | + }, | |
77 | + computed: { | |
78 | + formDisabled(){ | |
79 | + return this.disabled | |
80 | + }, | |
81 | + }, | |
82 | + created () { | |
83 | + //备份model原始值 | |
84 | + this.modelDefault = JSON.parse(JSON.stringify(this.model)); | |
85 | + }, | |
86 | + methods: { | |
87 | + add () { | |
88 | + this.edit(this.modelDefault); | |
89 | + }, | |
90 | + edit (record) { | |
91 | + this.model = Object.assign({}, record); | |
92 | + this.visible = true; | |
93 | + }, | |
94 | + submitForm () { | |
95 | + const that = this; | |
96 | + // 触发表单验证 | |
97 | + this.$refs.form.validate(valid => { | |
98 | + if (valid) { | |
99 | + that.confirmLoading = true; | |
100 | + let httpurl = ''; | |
101 | + let method = ''; | |
102 | + if(!this.model.id){ | |
103 | + httpurl+=this.url.add; | |
104 | + method = 'post'; | |
105 | + }else{ | |
106 | + httpurl+=this.url.edit; | |
107 | + method = 'put'; | |
108 | + } | |
109 | + httpAction(httpurl,this.model,method).then((res)=>{ | |
110 | + if(res.success){ | |
111 | + that.$message.success(res.message); | |
112 | + that.$emit('ok'); | |
113 | + }else{ | |
114 | + that.$message.warning(res.message); | |
115 | + } | |
116 | + }).finally(() => { | |
117 | + that.confirmLoading = false; | |
118 | + }) | |
119 | + } | |
120 | + | |
121 | + }) | |
122 | + }, | |
123 | + } | |
124 | + } | |
125 | +</script> | |
0 | 126 | \ No newline at end of file |
... | ... |
jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/modules/ZoneModal.Style#Drawer.vue
0 → 100644
1 | +<template> | |
2 | + <a-drawer | |
3 | + :title="title" | |
4 | + :width="width" | |
5 | + placement="right" | |
6 | + :closable="false" | |
7 | + @close="close" | |
8 | + destroyOnClose | |
9 | + :visible="visible"> | |
10 | + <zone-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></zone-form> | |
11 | + <div class="drawer-footer"> | |
12 | + <a-button @click="handleCancel" style="margin-bottom: 0;">关闭</a-button> | |
13 | + <a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;">提交</a-button> | |
14 | + </div> | |
15 | + </a-drawer> | |
16 | +</template> | |
17 | + | |
18 | +<script> | |
19 | + | |
20 | + import ZoneForm from './ZoneForm' | |
21 | + | |
22 | + export default { | |
23 | + name: 'ZoneModal', | |
24 | + components: { | |
25 | + ZoneForm | |
26 | + }, | |
27 | + data () { | |
28 | + return { | |
29 | + title:"操作", | |
30 | + width:800, | |
31 | + visible: false, | |
32 | + disableSubmit: false | |
33 | + } | |
34 | + }, | |
35 | + methods: { | |
36 | + add () { | |
37 | + this.visible=true | |
38 | + this.$nextTick(()=>{ | |
39 | + this.$refs.realForm.add(); | |
40 | + }) | |
41 | + }, | |
42 | + edit (record) { | |
43 | + this.visible=true | |
44 | + this.$nextTick(()=>{ | |
45 | + this.$refs.realForm.edit(record); | |
46 | + }); | |
47 | + }, | |
48 | + close () { | |
49 | + this.$emit('close'); | |
50 | + this.visible = false; | |
51 | + }, | |
52 | + submitCallback(){ | |
53 | + this.$emit('ok'); | |
54 | + this.visible = false; | |
55 | + }, | |
56 | + handleOk () { | |
57 | + this.$refs.realForm.submitForm(); | |
58 | + }, | |
59 | + handleCancel () { | |
60 | + this.close() | |
61 | + } | |
62 | + } | |
63 | + } | |
64 | +</script> | |
65 | + | |
66 | +<style lang="less" scoped> | |
67 | +/** Button按钮间距 */ | |
68 | + .ant-btn { | |
69 | + margin-left: 30px; | |
70 | + margin-bottom: 30px; | |
71 | + float: right; | |
72 | + } | |
73 | + .drawer-footer{ | |
74 | + position: absolute; | |
75 | + bottom: -8px; | |
76 | + width: 100%; | |
77 | + border-top: 1px solid #e8e8e8; | |
78 | + padding: 10px 16px; | |
79 | + text-align: right; | |
80 | + left: 0; | |
81 | + background: #fff; | |
82 | + border-radius: 0 0 2px 2px; | |
83 | + } | |
84 | +</style> | |
0 | 85 | \ No newline at end of file |
... | ... |
jeecg-boot-master/ant-design-vue-jeecg/src/views/system/config/modules/ZoneModal.vue
0 → 100644
1 | +<template> | |
2 | + <j-modal | |
3 | + :title="title" | |
4 | + :width="width" | |
5 | + :visible="visible" | |
6 | + switchFullscreen | |
7 | + @ok="handleOk" | |
8 | + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" | |
9 | + @cancel="handleCancel" | |
10 | + cancelText="关闭"> | |
11 | + <zone-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></zone-form> | |
12 | + </j-modal> | |
13 | +</template> | |
14 | + | |
15 | +<script> | |
16 | + | |
17 | + import ZoneForm from './ZoneForm' | |
18 | + export default { | |
19 | + name: 'ZoneModal', | |
20 | + components: { | |
21 | + ZoneForm | |
22 | + }, | |
23 | + data () { | |
24 | + return { | |
25 | + title:'', | |
26 | + width:800, | |
27 | + visible: false, | |
28 | + disableSubmit: false | |
29 | + } | |
30 | + }, | |
31 | + methods: { | |
32 | + add () { | |
33 | + this.visible=true | |
34 | + this.$nextTick(()=>{ | |
35 | + this.$refs.realForm.add(); | |
36 | + }) | |
37 | + }, | |
38 | + edit (record) { | |
39 | + this.visible=true | |
40 | + this.$nextTick(()=>{ | |
41 | + this.$refs.realForm.edit(record); | |
42 | + }) | |
43 | + }, | |
44 | + close () { | |
45 | + this.$emit('close'); | |
46 | + this.visible = false; | |
47 | + }, | |
48 | + handleOk () { | |
49 | + this.$refs.realForm.submitForm(); | |
50 | + }, | |
51 | + submitCallback(){ | |
52 | + this.$emit('ok'); | |
53 | + this.visible = false; | |
54 | + }, | |
55 | + handleCancel () { | |
56 | + this.close() | |
57 | + } | |
58 | + } | |
59 | + } | |
60 | +</script> | |
0 | 61 | \ No newline at end of file |
... | ... |
jeecg-boot-master/ant-design-vue-jeecg/src/views/system/modules/PasswordModal.vue
... | ... | @@ -41,11 +41,7 @@ |
41 | 41 | confirmDirty: false, |
42 | 42 | validatorRules:{ |
43 | 43 | password:{ |
44 | - rules: [{ | |
45 | - required: true, | |
46 | - pattern:/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, | |
47 | - message: '密码由8位数字、大小写字母和特殊符号组成!' | |
48 | - }, { | |
44 | + rules: [ { | |
49 | 45 | validator: this.validateToNextPassword, |
50 | 46 | }], |
51 | 47 | }, |
... | ... |
jeecg-boot-master/ant-design-vue-jeecg/src/views/system/modules/UserModal.vue
... | ... | @@ -47,7 +47,7 @@ |
47 | 47 | <a-form-model-item label="手机号码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="phone"> |
48 | 48 | <a-input placeholder="请输入手机号码" v-model="model.phone" /> |
49 | 49 | </a-form-model-item> |
50 | - | |
50 | + | |
51 | 51 | <a-form-model-item label="职务" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
52 | 52 | <j-select-position placeholder="请选择职务" :multiple="false" v-model="model.post"/> |
53 | 53 | </a-form-model-item> |
... | ... | @@ -163,7 +163,7 @@ |
163 | 163 | validatorRules:{ |
164 | 164 | username:[{required: true, message: '请输入用户账号!'}, |
165 | 165 | {validator: this.validateUsername,}], |
166 | - password: [{required: true,pattern:/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/,message: '密码由8位数字、大小写字母和特殊符号组成!'}, | |
166 | + password: [ | |
167 | 167 | {validator: this.validateToNextPassword,trigger: 'change'}], |
168 | 168 | confirmpassword: [{required: true, message: '请重新输入登录密码!',}, |
169 | 169 | { validator: this.compareToFirstPassword,}], |
... | ... |
jeecg-boot-master/ant-design-vue-jeecg/src/views/user/alteration/Step3.vue
... | ... | @@ -41,7 +41,7 @@ |
41 | 41 | accountName: this.userList.username, |
42 | 42 | validatorRules: { |
43 | 43 | password: [{ |
44 | - required: true, pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,}$/, message: '密码由8位数字、大小写字母和特殊符号组成!!' | |
44 | + required: false, pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,}$/, message: '密码由8位数字、大小写字母和特殊符号组成!!' | |
45 | 45 | }], |
46 | 46 | confirmPassword: [ |
47 | 47 | { required: true, message: '密码不能为空!'}, |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/CommonConstant.java
... | ... | @@ -26,7 +26,7 @@ public interface CommonConstant { |
26 | 26 | * 系统日志类型: 登录 |
27 | 27 | */ |
28 | 28 | public static final int LOG_TYPE_1 = 1; |
29 | - | |
29 | + | |
30 | 30 | /** |
31 | 31 | * 系统日志类型: 操作 |
32 | 32 | */ |
... | ... | @@ -36,38 +36,38 @@ public interface CommonConstant { |
36 | 36 | * 操作日志类型: 查询 |
37 | 37 | */ |
38 | 38 | public static final int OPERATE_TYPE_1 = 1; |
39 | - | |
39 | + | |
40 | 40 | /** |
41 | 41 | * 操作日志类型: 添加 |
42 | 42 | */ |
43 | 43 | public static final int OPERATE_TYPE_2 = 2; |
44 | - | |
44 | + | |
45 | 45 | /** |
46 | 46 | * 操作日志类型: 更新 |
47 | 47 | */ |
48 | 48 | public static final int OPERATE_TYPE_3 = 3; |
49 | - | |
49 | + | |
50 | 50 | /** |
51 | 51 | * 操作日志类型: 删除 |
52 | 52 | */ |
53 | 53 | public static final int OPERATE_TYPE_4 = 4; |
54 | - | |
54 | + | |
55 | 55 | /** |
56 | 56 | * 操作日志类型: 倒入 |
57 | 57 | */ |
58 | 58 | public static final int OPERATE_TYPE_5 = 5; |
59 | - | |
59 | + | |
60 | 60 | /** |
61 | 61 | * 操作日志类型: 导出 |
62 | 62 | */ |
63 | 63 | public static final int OPERATE_TYPE_6 = 6; |
64 | - | |
65 | - | |
64 | + | |
65 | + | |
66 | 66 | /** {@code 500 Server Error} (HTTP/1.0 - RFC 1945) */ |
67 | 67 | public static final Integer SC_INTERNAL_SERVER_ERROR_500 = 500; |
68 | 68 | /** {@code 200 OK} (HTTP/1.0 - RFC 1945) */ |
69 | 69 | public static final Integer SC_OK_200 = 200; |
70 | - | |
70 | + | |
71 | 71 | /**访问权限认证未通过 510*/ |
72 | 72 | public static final Integer SC_JEECG_NO_AUTHZ=510; |
73 | 73 | |
... | ... | @@ -76,7 +76,7 @@ public interface CommonConstant { |
76 | 76 | /** 登录用户Token令牌缓存KEY前缀 */ |
77 | 77 | public static final String PREFIX_USER_TOKEN = "prefix_user_token_"; |
78 | 78 | /** Token缓存时间:3600秒即一小时 */ |
79 | - public static final int TOKEN_EXPIRE_TIME = 3600; | |
79 | + public static final int TOKEN_EXPIRE_TIME = -1; | |
80 | 80 | |
81 | 81 | /** 登录二维码 */ |
82 | 82 | public static final String LOGIN_QRCODE_PRE = "QRCODELOGIN:"; |
... | ... | @@ -90,7 +90,7 @@ public interface CommonConstant { |
90 | 90 | */ |
91 | 91 | public static final Integer MENU_TYPE_0 = 0; |
92 | 92 | /** |
93 | - * 1:子菜单 | |
93 | + * 1:子菜单 | |
94 | 94 | */ |
95 | 95 | public static final Integer MENU_TYPE_1 = 1; |
96 | 96 | /** |
... | ... | @@ -101,34 +101,34 @@ public interface CommonConstant { |
101 | 101 | /**通告对象类型(USER:指定用户,ALL:全体用户)*/ |
102 | 102 | public static final String MSG_TYPE_UESR = "USER"; |
103 | 103 | public static final String MSG_TYPE_ALL = "ALL"; |
104 | - | |
104 | + | |
105 | 105 | /**发布状态(0未发布,1已发布,2已撤销)*/ |
106 | 106 | public static final String NO_SEND = "0"; |
107 | 107 | public static final String HAS_SEND = "1"; |
108 | 108 | public static final String HAS_CANCLE = "2"; |
109 | - | |
109 | + | |
110 | 110 | /**阅读状态(0未读,1已读)*/ |
111 | 111 | public static final String HAS_READ_FLAG = "1"; |
112 | 112 | public static final String NO_READ_FLAG = "0"; |
113 | - | |
113 | + | |
114 | 114 | /**优先级(L低,M中,H高)*/ |
115 | 115 | public static final String PRIORITY_L = "L"; |
116 | 116 | public static final String PRIORITY_M = "M"; |
117 | 117 | public static final String PRIORITY_H = "H"; |
118 | - | |
118 | + | |
119 | 119 | /** |
120 | 120 | * 短信模板方式 0 .登录模板、1.注册模板、2.忘记密码模板 |
121 | 121 | */ |
122 | 122 | public static final String SMS_TPL_TYPE_0 = "0"; |
123 | 123 | public static final String SMS_TPL_TYPE_1 = "1"; |
124 | 124 | public static final String SMS_TPL_TYPE_2 = "2"; |
125 | - | |
125 | + | |
126 | 126 | /** |
127 | 127 | * 状态(0无效1有效) |
128 | 128 | */ |
129 | 129 | public static final String STATUS_0 = "0"; |
130 | 130 | public static final String STATUS_1 = "1"; |
131 | - | |
131 | + | |
132 | 132 | /** |
133 | 133 | * 同步工作流引擎1同步0不同步 |
134 | 134 | */ |
... | ... | @@ -140,7 +140,7 @@ public interface CommonConstant { |
140 | 140 | */ |
141 | 141 | public static final String MSG_CATEGORY_1 = "1"; |
142 | 142 | public static final String MSG_CATEGORY_2 = "2"; |
143 | - | |
143 | + | |
144 | 144 | /** |
145 | 145 | * 是否配置菜单的数据权限 1是0否 |
146 | 146 | */ |
... | ... | @@ -152,7 +152,7 @@ public interface CommonConstant { |
152 | 152 | */ |
153 | 153 | public static final Integer USER_UNFREEZE = 1; |
154 | 154 | public static final Integer USER_FREEZE = 2; |
155 | - | |
155 | + | |
156 | 156 | /**字典翻译文本后缀*/ |
157 | 157 | public static final String DICT_TEXT_SUFFIX = "_dictText"; |
158 | 158 | |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/company/controller/CompanyController.java
0 → 100644
1 | +package org.jeecg.modules.wms.config.company.controller; | |
2 | + | |
3 | +import java.util.Arrays; | |
4 | +import java.util.List; | |
5 | +import java.util.Map; | |
6 | +import java.util.stream.Collectors; | |
7 | +import java.io.IOException; | |
8 | +import java.io.UnsupportedEncodingException; | |
9 | +import java.net.URLDecoder; | |
10 | +import javax.servlet.http.HttpServletRequest; | |
11 | +import javax.servlet.http.HttpServletResponse; | |
12 | +import org.jeecg.common.api.vo.Result; | |
13 | +import org.jeecg.common.system.query.QueryGenerator; | |
14 | +import org.jeecg.common.util.oConvertUtils; | |
15 | + | |
16 | +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |
17 | +import com.baomidou.mybatisplus.core.metadata.IPage; | |
18 | +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |
19 | +import lombok.extern.slf4j.Slf4j; | |
20 | + | |
21 | +import org.jeecg.modules.wms.config.company.entity.Company; | |
22 | +import org.jeecg.modules.wms.config.company.service.ICompanyService; | |
23 | +import org.jeecgframework.poi.excel.ExcelImportUtil; | |
24 | +import org.jeecgframework.poi.excel.def.NormalExcelConstants; | |
25 | +import org.jeecgframework.poi.excel.entity.ExportParams; | |
26 | +import org.jeecgframework.poi.excel.entity.ImportParams; | |
27 | +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; | |
28 | +import org.jeecg.common.system.base.controller.JeecgController; | |
29 | +import org.springframework.beans.factory.annotation.Autowired; | |
30 | +import org.springframework.web.bind.annotation.*; | |
31 | +import org.springframework.web.multipart.MultipartFile; | |
32 | +import org.springframework.web.multipart.MultipartHttpServletRequest; | |
33 | +import org.springframework.web.servlet.ModelAndView; | |
34 | +import com.alibaba.fastjson.JSON; | |
35 | +import io.swagger.annotations.Api; | |
36 | +import io.swagger.annotations.ApiOperation; | |
37 | +import org.jeecg.common.aspect.annotation.AutoLog; | |
38 | + | |
39 | + /** | |
40 | + * @Description: 货主 | |
41 | + * @Author: jeecg-boot | |
42 | + * @Date: 2022-10-13 | |
43 | + * @Version: V1.0 | |
44 | + */ | |
45 | +@Api(tags="货主") | |
46 | +@RestController | |
47 | +@RequestMapping("/config/company") | |
48 | +@Slf4j | |
49 | +public class CompanyController extends JeecgController<Company, ICompanyService> { | |
50 | + @Autowired | |
51 | + private ICompanyService companyService; | |
52 | + | |
53 | + /** | |
54 | + * 分页列表查询 | |
55 | + * | |
56 | + * @param company | |
57 | + * @param pageNo | |
58 | + * @param pageSize | |
59 | + * @param req | |
60 | + * @return | |
61 | + */ | |
62 | + //@AutoLog(value = "货主-分页列表查询") | |
63 | + @ApiOperation(value="货主-分页列表查询", notes="货主-分页列表查询") | |
64 | + @GetMapping(value = "/list") | |
65 | + public Result<IPage<Company>> queryPageList(Company company, | |
66 | + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, | |
67 | + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, | |
68 | + HttpServletRequest req) { | |
69 | + QueryWrapper<Company> queryWrapper = QueryGenerator.initQueryWrapper(company, req.getParameterMap()); | |
70 | + Page<Company> page = new Page<Company>(pageNo, pageSize); | |
71 | + IPage<Company> pageList = companyService.page(page, queryWrapper); | |
72 | + return Result.OK(pageList); | |
73 | + } | |
74 | + | |
75 | + /** | |
76 | + * 添加 | |
77 | + * | |
78 | + * @param company | |
79 | + * @return | |
80 | + */ | |
81 | + @AutoLog(value = "货主-添加") | |
82 | + @ApiOperation(value="货主-添加", notes="货主-添加") | |
83 | + @PostMapping(value = "/add") | |
84 | + public Result<String> add(@RequestBody Company company) { | |
85 | + companyService.save(company); | |
86 | + return Result.OK("添加成功!"); | |
87 | + } | |
88 | + | |
89 | + /** | |
90 | + * 编辑 | |
91 | + * | |
92 | + * @param company | |
93 | + * @return | |
94 | + */ | |
95 | + @AutoLog(value = "货主-编辑") | |
96 | + @ApiOperation(value="货主-编辑", notes="货主-编辑") | |
97 | + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) | |
98 | + public Result<String> edit(@RequestBody Company company) { | |
99 | + companyService.updateById(company); | |
100 | + return Result.OK("编辑成功!"); | |
101 | + } | |
102 | + | |
103 | + /** | |
104 | + * 通过id删除 | |
105 | + * | |
106 | + * @param id | |
107 | + * @return | |
108 | + */ | |
109 | + @AutoLog(value = "货主-通过id删除") | |
110 | + @ApiOperation(value="货主-通过id删除", notes="货主-通过id删除") | |
111 | + @DeleteMapping(value = "/delete") | |
112 | + public Result<String> delete(@RequestParam(name="id",required=true) String id) { | |
113 | + companyService.removeById(id); | |
114 | + return Result.OK("删除成功!"); | |
115 | + } | |
116 | + | |
117 | + /** | |
118 | + * 批量删除 | |
119 | + * | |
120 | + * @param ids | |
121 | + * @return | |
122 | + */ | |
123 | + @AutoLog(value = "货主-批量删除") | |
124 | + @ApiOperation(value="货主-批量删除", notes="货主-批量删除") | |
125 | + @DeleteMapping(value = "/deleteBatch") | |
126 | + public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { | |
127 | + this.companyService.removeByIds(Arrays.asList(ids.split(","))); | |
128 | + return Result.OK("批量删除成功!"); | |
129 | + } | |
130 | + | |
131 | + /** | |
132 | + * 通过id查询 | |
133 | + * | |
134 | + * @param id | |
135 | + * @return | |
136 | + */ | |
137 | + //@AutoLog(value = "货主-通过id查询") | |
138 | + @ApiOperation(value="货主-通过id查询", notes="货主-通过id查询") | |
139 | + @GetMapping(value = "/queryById") | |
140 | + public Result<Company> queryById(@RequestParam(name="id",required=true) String id) { | |
141 | + Company company = companyService.getById(id); | |
142 | + if(company==null) { | |
143 | + return Result.error("未找到对应数据"); | |
144 | + } | |
145 | + return Result.OK(company); | |
146 | + } | |
147 | + | |
148 | + /** | |
149 | + * 导出excel | |
150 | + * | |
151 | + * @param request | |
152 | + * @param company | |
153 | + */ | |
154 | + @RequestMapping(value = "/exportXls") | |
155 | + public ModelAndView exportXls(HttpServletRequest request, Company company) { | |
156 | + return super.exportXls(request, company, Company.class, "货主"); | |
157 | + } | |
158 | + | |
159 | + /** | |
160 | + * 通过excel导入数据 | |
161 | + * | |
162 | + * @param request | |
163 | + * @param response | |
164 | + * @return | |
165 | + */ | |
166 | + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) | |
167 | + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { | |
168 | + return super.importExcel(request, response, Company.class); | |
169 | + } | |
170 | + | |
171 | +} | |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/company/entity/Company.java
0 → 100644
1 | +package org.jeecg.modules.wms.config.company.entity; | |
2 | + | |
3 | +import java.io.Serializable; | |
4 | +import java.io.UnsupportedEncodingException; | |
5 | +import java.util.Date; | |
6 | +import java.math.BigDecimal; | |
7 | +import com.baomidou.mybatisplus.annotation.IdType; | |
8 | +import com.baomidou.mybatisplus.annotation.TableId; | |
9 | +import com.baomidou.mybatisplus.annotation.TableName; | |
10 | +import lombok.Data; | |
11 | +import com.fasterxml.jackson.annotation.JsonFormat; | |
12 | +import org.springframework.format.annotation.DateTimeFormat; | |
13 | +import org.jeecgframework.poi.excel.annotation.Excel; | |
14 | +import org.jeecg.common.aspect.annotation.Dict; | |
15 | +import io.swagger.annotations.ApiModel; | |
16 | +import io.swagger.annotations.ApiModelProperty; | |
17 | +import lombok.EqualsAndHashCode; | |
18 | +import lombok.experimental.Accessors; | |
19 | + | |
20 | +/** | |
21 | + * @Description: 货主 | |
22 | + * @Author: jeecg-boot | |
23 | + * @Date: 2022-10-13 | |
24 | + * @Version: V1.0 | |
25 | + */ | |
26 | +@Data | |
27 | +@TableName("company") | |
28 | +@Accessors(chain = true) | |
29 | +@EqualsAndHashCode(callSuper = false) | |
30 | +@ApiModel(value="company对象", description="货主") | |
31 | +public class Company implements Serializable { | |
32 | + private static final long serialVersionUID = 1L; | |
33 | + | |
34 | + /**主键*/ | |
35 | + @TableId(type = IdType.ASSIGN_ID) | |
36 | + @ApiModelProperty(value = "主键") | |
37 | + private String id; | |
38 | + /**货主编码*/ | |
39 | + @Excel(name = "货主编码", width = 15) | |
40 | + @ApiModelProperty(value = "货主编码") | |
41 | + private String code; | |
42 | + /**货主名称*/ | |
43 | + @Excel(name = "货主名称", width = 15) | |
44 | + @ApiModelProperty(value = "货主名称") | |
45 | + private String name; | |
46 | + /**仓库代码*/ | |
47 | + @Excel(name = "仓库代码", width = 15) | |
48 | + @ApiModelProperty(value = "仓库代码") | |
49 | + private String warehousecode; | |
50 | + /**地址*/ | |
51 | + @Excel(name = "地址", width = 15) | |
52 | + @ApiModelProperty(value = "地址") | |
53 | + private String address; | |
54 | + /**区县*/ | |
55 | + @Excel(name = "区县", width = 15) | |
56 | + @ApiModelProperty(value = "区县") | |
57 | + private String district; | |
58 | + /**城市*/ | |
59 | + @Excel(name = "城市", width = 15) | |
60 | + @ApiModelProperty(value = "城市") | |
61 | + private String city; | |
62 | + /**省份*/ | |
63 | + @Excel(name = "省份", width = 15) | |
64 | + @ApiModelProperty(value = "省份") | |
65 | + private String province; | |
66 | + /**国家*/ | |
67 | + @Excel(name = "国家", width = 15) | |
68 | + @ApiModelProperty(value = "国家") | |
69 | + private String country; | |
70 | + /**邮编*/ | |
71 | + @Excel(name = "邮编", width = 15) | |
72 | + @ApiModelProperty(value = "邮编") | |
73 | + private String postalcode; | |
74 | + /**联系人*/ | |
75 | + @Excel(name = "联系人", width = 15) | |
76 | + @ApiModelProperty(value = "联系人") | |
77 | + private String attentionto; | |
78 | + /**联系电话*/ | |
79 | + @Excel(name = "联系电话", width = 15) | |
80 | + @ApiModelProperty(value = "联系电话") | |
81 | + private String phonenum; | |
82 | + /**创建人*/ | |
83 | + @ApiModelProperty(value = "创建人") | |
84 | + private String createBy; | |
85 | + /**创建日期*/ | |
86 | + @ApiModelProperty(value = "创建日期") | |
87 | + private Date createTime; | |
88 | + /**更新人*/ | |
89 | + @ApiModelProperty(value = "更新人") | |
90 | + private String updateBy; | |
91 | + /**更新日期*/ | |
92 | + @ApiModelProperty(value = "更新日期") | |
93 | + private Date updateTime; | |
94 | +} | |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/company/mapper/CompanyMapper.java
0 → 100644
1 | +package org.jeecg.modules.wms.config.company.mapper; | |
2 | + | |
3 | +import java.util.List; | |
4 | + | |
5 | +import org.apache.ibatis.annotations.Param; | |
6 | +import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |
7 | +import org.jeecg.modules.wms.config.company.entity.Company; | |
8 | + | |
9 | +/** | |
10 | + * @Description: 货主 | |
11 | + * @Author: jeecg-boot | |
12 | + * @Date: 2022-10-13 | |
13 | + * @Version: V1.0 | |
14 | + */ | |
15 | +public interface CompanyMapper extends BaseMapper<Company> { | |
16 | + | |
17 | +} | |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/config/warehouse/mapper/xml/WarehouseMapper.xml renamed to jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/company/mapper/xml/CompanyMapper.xml
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | 2 | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
3 | -<mapper namespace="org.jeecg.modules.system.config.warehouse.mapper.WarehouseMapper"> | |
3 | +<mapper namespace="org.jeecg.modules.wms.config.company.mapper.CompanyMapper"> | |
4 | 4 | |
5 | 5 | </mapper> |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/company/service/ICompanyService.java
0 → 100644
1 | +package org.jeecg.modules.wms.config.company.service; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.extension.service.IService; | |
4 | +import org.jeecg.modules.wms.config.company.entity.Company; | |
5 | + | |
6 | +/** | |
7 | + * @Description: 货主 | |
8 | + * @Author: jeecg-boot | |
9 | + * @Date: 2022-10-13 | |
10 | + * @Version: V1.0 | |
11 | + */ | |
12 | +public interface ICompanyService extends IService<Company> { | |
13 | + | |
14 | +} | |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/company/service/impl/CompanyServiceImpl.java
0 → 100644
1 | +package org.jeecg.modules.wms.config.company.service.impl; | |
2 | + | |
3 | +import org.jeecg.modules.wms.config.company.entity.Company; | |
4 | +import org.jeecg.modules.wms.config.company.mapper.CompanyMapper; | |
5 | +import org.jeecg.modules.wms.config.company.service.ICompanyService; | |
6 | +import org.springframework.stereotype.Service; | |
7 | + | |
8 | +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | |
9 | + | |
10 | +/** | |
11 | + * @Description: 货主 | |
12 | + * @Author: jeecg-boot | |
13 | + * @Date: 2022-10-13 | |
14 | + * @Version: V1.0 | |
15 | + */ | |
16 | +@Service | |
17 | +public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements ICompanyService { | |
18 | + | |
19 | +} | |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/config/warehouse/controller/WarehouseController.java renamed to jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/warehouse/controller/WarehouseController.java
1 | -package org.jeecg.modules.system.config.warehouse.controller; | |
1 | +package org.jeecg.modules.wms.config.warehouse.controller; | |
2 | 2 | |
3 | 3 | import java.util.Arrays; |
4 | 4 | import java.util.List; |
... | ... | @@ -18,8 +18,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; |
18 | 18 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
19 | 19 | import lombok.extern.slf4j.Slf4j; |
20 | 20 | |
21 | -import org.jeecg.modules.system.config.warehouse.entity.Warehouse; | |
22 | -import org.jeecg.modules.system.config.warehouse.service.IWarehouseService; | |
21 | +import org.jeecg.modules.wms.config.warehouse.entity.Warehouse; | |
22 | +import org.jeecg.modules.wms.config.warehouse.service.IWarehouseService; | |
23 | 23 | import org.jeecgframework.poi.excel.ExcelImportUtil; |
24 | 24 | import org.jeecgframework.poi.excel.def.NormalExcelConstants; |
25 | 25 | import org.jeecgframework.poi.excel.entity.ExportParams; |
... | ... | @@ -39,7 +39,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; |
39 | 39 | /** |
40 | 40 | * @Description: 仓库 |
41 | 41 | * @Author: jeecg-boot |
42 | - * @Date: 2022-10-12 | |
42 | + * @Date: 2022-10-13 | |
43 | 43 | * @Version: V1.0 |
44 | 44 | */ |
45 | 45 | @Api(tags="仓库") |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/config/warehouse/entity/Warehouse.java renamed to jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/warehouse/entity/Warehouse.java
1 | -package org.jeecg.modules.system.config.warehouse.entity; | |
1 | +package org.jeecg.modules.wms.config.warehouse.entity; | |
2 | 2 | |
3 | 3 | import java.io.Serializable; |
4 | 4 | import java.io.UnsupportedEncodingException; |
... | ... | @@ -20,7 +20,7 @@ import lombok.experimental.Accessors; |
20 | 20 | /** |
21 | 21 | * @Description: 仓库 |
22 | 22 | * @Author: jeecg-boot |
23 | - * @Date: 2022-10-12 | |
23 | + * @Date: 2022-10-13 | |
24 | 24 | * @Version: V1.0 |
25 | 25 | */ |
26 | 26 | @Data |
... | ... | @@ -35,26 +35,22 @@ public class Warehouse implements Serializable { |
35 | 35 | @TableId(type = IdType.ASSIGN_ID) |
36 | 36 | @ApiModelProperty(value = "主键") |
37 | 37 | private String id; |
38 | - /**创建人*/ | |
39 | - @ApiModelProperty(value = "创建人") | |
40 | - private String createBy; | |
41 | - /**创建日期*/ | |
42 | - @ApiModelProperty(value = "创建日期") | |
43 | - private Date createTime; | |
44 | - /**更新人*/ | |
45 | - @ApiModelProperty(value = "更新人") | |
46 | - private String updateBy; | |
47 | - /**更新日期*/ | |
48 | - @ApiModelProperty(value = "更新日期") | |
49 | - private Date updateTime; | |
50 | 38 | /**仓库编码*/ |
51 | 39 | @Excel(name = "仓库编码", width = 15) |
52 | 40 | @ApiModelProperty(value = "仓库编码") |
53 | 41 | private String code; |
42 | + /**名称*/ | |
43 | + @Excel(name = "名称", width = 15) | |
44 | + @ApiModelProperty(value = "名称") | |
45 | + private String name; | |
54 | 46 | /**地址*/ |
55 | 47 | @Excel(name = "地址", width = 15) |
56 | 48 | @ApiModelProperty(value = "地址") |
57 | 49 | private String address; |
50 | + /**区/县*/ | |
51 | + @Excel(name = "区/县", width = 15) | |
52 | + @ApiModelProperty(value = "区/县") | |
53 | + private String district; | |
58 | 54 | /**城市*/ |
59 | 55 | @Excel(name = "城市", width = 15) |
60 | 56 | @ApiModelProperty(value = "城市") |
... | ... | @@ -63,10 +59,6 @@ public class Warehouse implements Serializable { |
63 | 59 | @Excel(name = "省份", width = 15) |
64 | 60 | @ApiModelProperty(value = "省份") |
65 | 61 | private String state; |
66 | - /**区/县*/ | |
67 | - @Excel(name = "区/县", width = 15) | |
68 | - @ApiModelProperty(value = "区/县") | |
69 | - private String district; | |
70 | 62 | /**国家*/ |
71 | 63 | @Excel(name = "国家", width = 15) |
72 | 64 | @ApiModelProperty(value = "国家") |
... | ... | @@ -87,18 +79,23 @@ public class Warehouse implements Serializable { |
87 | 79 | @Excel(name = "传真号", width = 15) |
88 | 80 | @ApiModelProperty(value = "传真号") |
89 | 81 | private String faxnum; |
90 | - /**名称*/ | |
91 | - @Excel(name = "名称", width = 15) | |
92 | - @ApiModelProperty(value = "名称") | |
93 | - private String name; | |
94 | 82 | /**可用状态*/ |
95 | - @Excel(name = "可用状态", width = 15) | |
83 | + @Excel(name = "可用状态", width = 15, dicCode = "enable_status") | |
84 | + @Dict(dicCode = "enable_status") | |
96 | 85 | @ApiModelProperty(value = "可用状态") |
97 | 86 | private Integer enable; |
98 | - /**删除标记*/ | |
99 | - @Excel(name = "删除标记", width = 15) | |
100 | - @ApiModelProperty(value = "删除标记") | |
101 | - private Integer deleted; | |
87 | + /**创建人*/ | |
88 | + @ApiModelProperty(value = "创建人") | |
89 | + private String createBy; | |
90 | + /**创建日期*/ | |
91 | + @ApiModelProperty(value = "创建日期") | |
92 | + private Date createTime; | |
93 | + /**更新人*/ | |
94 | + @ApiModelProperty(value = "更新人") | |
95 | + private String updateBy; | |
96 | + /**更新时间*/ | |
97 | + @ApiModelProperty(value = "更新时间") | |
98 | + private Date updateTime; | |
102 | 99 | /**自定义字段1*/ |
103 | 100 | @Excel(name = "自定义字段1", width = 15) |
104 | 101 | @ApiModelProperty(value = "自定义字段1") |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/config/warehouse/mapper/WarehouseMapper.java renamed to jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/warehouse/mapper/WarehouseMapper.java
1 | -package org.jeecg.modules.system.config.warehouse.mapper; | |
1 | +package org.jeecg.modules.wms.config.warehouse.mapper; | |
2 | 2 | |
3 | 3 | import java.util.List; |
4 | 4 | |
5 | 5 | import org.apache.ibatis.annotations.Param; |
6 | 6 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
7 | -import org.jeecg.modules.system.config.warehouse.entity.Warehouse; | |
7 | +import org.jeecg.modules.wms.config.warehouse.entity.Warehouse; | |
8 | 8 | |
9 | 9 | /** |
10 | 10 | * @Description: 仓库 |
11 | 11 | * @Author: jeecg-boot |
12 | - * @Date: 2022-10-12 | |
12 | + * @Date: 2022-10-13 | |
13 | 13 | * @Version: V1.0 |
14 | 14 | */ |
15 | 15 | public interface WarehouseMapper extends BaseMapper<Warehouse> { |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/warehouse/mapper/xml/WarehouseMapper.xml
0 → 100644
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/config/warehouse/service/IWarehouseService.java renamed to jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/warehouse/service/IWarehouseService.java
1 | -package org.jeecg.modules.system.config.warehouse.service; | |
1 | +package org.jeecg.modules.wms.config.warehouse.service; | |
2 | 2 | |
3 | 3 | import com.baomidou.mybatisplus.extension.service.IService; |
4 | -import org.jeecg.modules.system.config.warehouse.entity.Warehouse; | |
4 | +import org.jeecg.modules.wms.config.warehouse.entity.Warehouse; | |
5 | 5 | |
6 | 6 | /** |
7 | 7 | * @Description: 仓库 |
8 | 8 | * @Author: jeecg-boot |
9 | - * @Date: 2022-10-12 | |
9 | + * @Date: 2022-10-13 | |
10 | 10 | * @Version: V1.0 |
11 | 11 | */ |
12 | 12 | public interface IWarehouseService extends IService<Warehouse> { |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/config/warehouse/service/impl/WarehouseServiceImpl.java renamed to jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/warehouse/service/impl/WarehouseServiceImpl.java
1 | -package org.jeecg.modules.system.config.warehouse.service.impl; | |
1 | +package org.jeecg.modules.wms.config.warehouse.service.impl; | |
2 | 2 | |
3 | -import org.jeecg.modules.system.config.warehouse.entity.Warehouse; | |
4 | -import org.jeecg.modules.system.config.warehouse.mapper.WarehouseMapper; | |
5 | -import org.jeecg.modules.system.config.warehouse.service.IWarehouseService; | |
3 | +import org.jeecg.modules.wms.config.warehouse.entity.Warehouse; | |
4 | +import org.jeecg.modules.wms.config.warehouse.mapper.WarehouseMapper; | |
5 | +import org.jeecg.modules.wms.config.warehouse.service.IWarehouseService; | |
6 | 6 | import org.springframework.stereotype.Service; |
7 | 7 | |
8 | 8 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
... | ... | @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
10 | 10 | /** |
11 | 11 | * @Description: 仓库 |
12 | 12 | * @Author: jeecg-boot |
13 | - * @Date: 2022-10-12 | |
13 | + * @Date: 2022-10-13 | |
14 | 14 | * @Version: V1.0 |
15 | 15 | */ |
16 | 16 | @Service |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/zone/controller/ZoneController.java
0 → 100644
1 | +package org.jeecg.modules.wms.config.zone.controller; | |
2 | + | |
3 | +import java.util.Arrays; | |
4 | +import java.util.List; | |
5 | +import java.util.Map; | |
6 | +import java.util.stream.Collectors; | |
7 | +import java.io.IOException; | |
8 | +import java.io.UnsupportedEncodingException; | |
9 | +import java.net.URLDecoder; | |
10 | +import javax.servlet.http.HttpServletRequest; | |
11 | +import javax.servlet.http.HttpServletResponse; | |
12 | +import org.jeecg.common.api.vo.Result; | |
13 | +import org.jeecg.common.system.query.QueryGenerator; | |
14 | +import org.jeecg.common.util.oConvertUtils; | |
15 | + | |
16 | +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |
17 | +import com.baomidou.mybatisplus.core.metadata.IPage; | |
18 | +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |
19 | +import lombok.extern.slf4j.Slf4j; | |
20 | + | |
21 | +import org.jeecg.modules.wms.config.zone.entity.Zone; | |
22 | +import org.jeecg.modules.wms.config.zone.service.IZoneService; | |
23 | +import org.jeecgframework.poi.excel.ExcelImportUtil; | |
24 | +import org.jeecgframework.poi.excel.def.NormalExcelConstants; | |
25 | +import org.jeecgframework.poi.excel.entity.ExportParams; | |
26 | +import org.jeecgframework.poi.excel.entity.ImportParams; | |
27 | +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; | |
28 | +import org.jeecg.common.system.base.controller.JeecgController; | |
29 | +import org.springframework.beans.factory.annotation.Autowired; | |
30 | +import org.springframework.web.bind.annotation.*; | |
31 | +import org.springframework.web.multipart.MultipartFile; | |
32 | +import org.springframework.web.multipart.MultipartHttpServletRequest; | |
33 | +import org.springframework.web.servlet.ModelAndView; | |
34 | +import com.alibaba.fastjson.JSON; | |
35 | +import io.swagger.annotations.Api; | |
36 | +import io.swagger.annotations.ApiOperation; | |
37 | +import org.jeecg.common.aspect.annotation.AutoLog; | |
38 | + | |
39 | + /** | |
40 | + * @Description: 库区管理 | |
41 | + * @Author: jeecg-boot | |
42 | + * @Date: 2022-10-13 | |
43 | + * @Version: V1.0 | |
44 | + */ | |
45 | +@Api(tags="库区管理") | |
46 | +@RestController | |
47 | +@RequestMapping("/config/zone") | |
48 | +@Slf4j | |
49 | +public class ZoneController extends JeecgController<Zone, IZoneService> { | |
50 | + @Autowired | |
51 | + private IZoneService zoneService; | |
52 | + | |
53 | + /** | |
54 | + * 分页列表查询 | |
55 | + * | |
56 | + * @param zone | |
57 | + * @param pageNo | |
58 | + * @param pageSize | |
59 | + * @param req | |
60 | + * @return | |
61 | + */ | |
62 | + //@AutoLog(value = "库区管理-分页列表查询") | |
63 | + @ApiOperation(value="库区管理-分页列表查询", notes="库区管理-分页列表查询") | |
64 | + @GetMapping(value = "/list") | |
65 | + public Result<IPage<Zone>> queryPageList(Zone zone, | |
66 | + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, | |
67 | + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, | |
68 | + HttpServletRequest req) { | |
69 | + QueryWrapper<Zone> queryWrapper = QueryGenerator.initQueryWrapper(zone, req.getParameterMap()); | |
70 | + Page<Zone> page = new Page<Zone>(pageNo, pageSize); | |
71 | + IPage<Zone> pageList = zoneService.page(page, queryWrapper); | |
72 | + return Result.OK(pageList); | |
73 | + } | |
74 | + | |
75 | + /** | |
76 | + * 添加 | |
77 | + * | |
78 | + * @param zone | |
79 | + * @return | |
80 | + */ | |
81 | + @AutoLog(value = "库区管理-添加") | |
82 | + @ApiOperation(value="库区管理-添加", notes="库区管理-添加") | |
83 | + @PostMapping(value = "/add") | |
84 | + public Result<String> add(@RequestBody Zone zone) { | |
85 | + zoneService.save(zone); | |
86 | + return Result.OK("添加成功!"); | |
87 | + } | |
88 | + | |
89 | + /** | |
90 | + * 编辑 | |
91 | + * | |
92 | + * @param zone | |
93 | + * @return | |
94 | + */ | |
95 | + @AutoLog(value = "库区管理-编辑") | |
96 | + @ApiOperation(value="库区管理-编辑", notes="库区管理-编辑") | |
97 | + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) | |
98 | + public Result<String> edit(@RequestBody Zone zone) { | |
99 | + zoneService.updateById(zone); | |
100 | + return Result.OK("编辑成功!"); | |
101 | + } | |
102 | + | |
103 | + /** | |
104 | + * 通过id删除 | |
105 | + * | |
106 | + * @param id | |
107 | + * @return | |
108 | + */ | |
109 | + @AutoLog(value = "库区管理-通过id删除") | |
110 | + @ApiOperation(value="库区管理-通过id删除", notes="库区管理-通过id删除") | |
111 | + @DeleteMapping(value = "/delete") | |
112 | + public Result<String> delete(@RequestParam(name="id",required=true) String id) { | |
113 | + zoneService.removeById(id); | |
114 | + return Result.OK("删除成功!"); | |
115 | + } | |
116 | + | |
117 | + /** | |
118 | + * 批量删除 | |
119 | + * | |
120 | + * @param ids | |
121 | + * @return | |
122 | + */ | |
123 | + @AutoLog(value = "库区管理-批量删除") | |
124 | + @ApiOperation(value="库区管理-批量删除", notes="库区管理-批量删除") | |
125 | + @DeleteMapping(value = "/deleteBatch") | |
126 | + public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { | |
127 | + this.zoneService.removeByIds(Arrays.asList(ids.split(","))); | |
128 | + return Result.OK("批量删除成功!"); | |
129 | + } | |
130 | + | |
131 | + /** | |
132 | + * 通过id查询 | |
133 | + * | |
134 | + * @param id | |
135 | + * @return | |
136 | + */ | |
137 | + //@AutoLog(value = "库区管理-通过id查询") | |
138 | + @ApiOperation(value="库区管理-通过id查询", notes="库区管理-通过id查询") | |
139 | + @GetMapping(value = "/queryById") | |
140 | + public Result<Zone> queryById(@RequestParam(name="id",required=true) String id) { | |
141 | + Zone zone = zoneService.getById(id); | |
142 | + if(zone==null) { | |
143 | + return Result.error("未找到对应数据"); | |
144 | + } | |
145 | + return Result.OK(zone); | |
146 | + } | |
147 | + | |
148 | + /** | |
149 | + * 导出excel | |
150 | + * | |
151 | + * @param request | |
152 | + * @param zone | |
153 | + */ | |
154 | + @RequestMapping(value = "/exportXls") | |
155 | + public ModelAndView exportXls(HttpServletRequest request, Zone zone) { | |
156 | + return super.exportXls(request, zone, Zone.class, "库区管理"); | |
157 | + } | |
158 | + | |
159 | + /** | |
160 | + * 通过excel导入数据 | |
161 | + * | |
162 | + * @param request | |
163 | + * @param response | |
164 | + * @return | |
165 | + */ | |
166 | + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) | |
167 | + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { | |
168 | + return super.importExcel(request, response, Zone.class); | |
169 | + } | |
170 | + | |
171 | +} | |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/zone/entity/Zone.java
0 → 100644
1 | +package org.jeecg.modules.wms.config.zone.entity; | |
2 | + | |
3 | +import java.io.Serializable; | |
4 | +import java.io.UnsupportedEncodingException; | |
5 | +import java.util.Date; | |
6 | +import java.math.BigDecimal; | |
7 | +import com.baomidou.mybatisplus.annotation.IdType; | |
8 | +import com.baomidou.mybatisplus.annotation.TableId; | |
9 | +import com.baomidou.mybatisplus.annotation.TableName; | |
10 | +import lombok.Data; | |
11 | +import com.fasterxml.jackson.annotation.JsonFormat; | |
12 | +import org.springframework.format.annotation.DateTimeFormat; | |
13 | +import org.jeecgframework.poi.excel.annotation.Excel; | |
14 | +import org.jeecg.common.aspect.annotation.Dict; | |
15 | +import io.swagger.annotations.ApiModel; | |
16 | +import io.swagger.annotations.ApiModelProperty; | |
17 | +import lombok.EqualsAndHashCode; | |
18 | +import lombok.experimental.Accessors; | |
19 | + | |
20 | +/** | |
21 | + * @Description: 库区管理 | |
22 | + * @Author: jeecg-boot | |
23 | + * @Date: 2022-10-13 | |
24 | + * @Version: V1.0 | |
25 | + */ | |
26 | +@Data | |
27 | +@TableName("zone") | |
28 | +@Accessors(chain = true) | |
29 | +@EqualsAndHashCode(callSuper = false) | |
30 | +@ApiModel(value="zone对象", description="库区管理") | |
31 | +public class Zone implements Serializable { | |
32 | + private static final long serialVersionUID = 1L; | |
33 | + | |
34 | + /**主键*/ | |
35 | + @TableId(type = IdType.ASSIGN_ID) | |
36 | + @ApiModelProperty(value = "主键") | |
37 | + private String id; | |
38 | + /**编码*/ | |
39 | + @Excel(name = "编码", width = 15) | |
40 | + @ApiModelProperty(value = "编码") | |
41 | + private String code; | |
42 | + /**名称*/ | |
43 | + @Excel(name = "名称", width = 15) | |
44 | + @ApiModelProperty(value = "名称") | |
45 | + private String name; | |
46 | + /**仓库编码*/ | |
47 | + @Excel(name = "仓库编码", width = 15) | |
48 | + @ApiModelProperty(value = "仓库编码") | |
49 | + private String warehousecode; | |
50 | + /**货主编码*/ | |
51 | + @Excel(name = "货主编码", width = 15) | |
52 | + @ApiModelProperty(value = "货主编码") | |
53 | + private String companycode; | |
54 | + /**创建人*/ | |
55 | + @ApiModelProperty(value = "创建人") | |
56 | + private String createBy; | |
57 | + /**创建日期*/ | |
58 | + @ApiModelProperty(value = "创建日期") | |
59 | + private Date createTime; | |
60 | + /**更新人*/ | |
61 | + @ApiModelProperty(value = "更新人") | |
62 | + private String updateBy; | |
63 | + /**更新日期*/ | |
64 | + @ApiModelProperty(value = "更新日期") | |
65 | + private Date updateTime; | |
66 | + /**自定义字段1*/ | |
67 | + @Excel(name = "自定义字段1", width = 15) | |
68 | + @ApiModelProperty(value = "自定义字段1") | |
69 | + private String userdef1; | |
70 | + /**自定义字段2*/ | |
71 | + @Excel(name = "自定义字段2", width = 15) | |
72 | + @ApiModelProperty(value = "自定义字段2") | |
73 | + private String userdef2; | |
74 | + /**自定义字段3*/ | |
75 | + @Excel(name = "自定义字段3", width = 15) | |
76 | + @ApiModelProperty(value = "自定义字段3") | |
77 | + private String userdef3; | |
78 | +} | |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/zone/mapper/ZoneMapper.java
0 → 100644
1 | +package org.jeecg.modules.wms.config.zone.mapper; | |
2 | + | |
3 | +import java.util.List; | |
4 | + | |
5 | +import org.apache.ibatis.annotations.Param; | |
6 | +import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |
7 | +import org.jeecg.modules.wms.config.zone.entity.Zone; | |
8 | + | |
9 | +/** | |
10 | + * @Description: 库区管理 | |
11 | + * @Author: jeecg-boot | |
12 | + * @Date: 2022-10-13 | |
13 | + * @Version: V1.0 | |
14 | + */ | |
15 | +public interface ZoneMapper extends BaseMapper<Zone> { | |
16 | + | |
17 | +} | |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/zone/mapper/xml/ZoneMapper.xml
0 → 100644
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/zone/service/IZoneService.java
0 → 100644
1 | +package org.jeecg.modules.wms.config.zone.service; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.extension.service.IService; | |
4 | +import org.jeecg.modules.wms.config.zone.entity.Zone; | |
5 | + | |
6 | +/** | |
7 | + * @Description: 库区管理 | |
8 | + * @Author: jeecg-boot | |
9 | + * @Date: 2022-10-13 | |
10 | + * @Version: V1.0 | |
11 | + */ | |
12 | +public interface IZoneService extends IService<Zone> { | |
13 | + | |
14 | +} | |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/wms/config/zone/service/impl/ZoneServiceImpl.java
0 → 100644
1 | +package org.jeecg.modules.wms.config.zone.service.impl; | |
2 | + | |
3 | +import org.jeecg.modules.wms.config.zone.entity.Zone; | |
4 | +import org.jeecg.modules.wms.config.zone.mapper.ZoneMapper; | |
5 | +import org.jeecg.modules.wms.config.zone.service.IZoneService; | |
6 | +import org.springframework.stereotype.Service; | |
7 | + | |
8 | +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | |
9 | + | |
10 | +/** | |
11 | + * @Description: 库区管理 | |
12 | + * @Author: jeecg-boot | |
13 | + * @Date: 2022-10-13 | |
14 | + * @Version: V1.0 | |
15 | + */ | |
16 | +@Service | |
17 | +public class ZoneServiceImpl extends ServiceImpl<ZoneMapper, Zone> implements IZoneService { | |
18 | + | |
19 | +} | |
... | ... |
jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/resources/application-dev.yml