Commit c414a95242ca43daca5e07d1bd4e9727c54b813e
1 parent
637f7776
打印,预约取消,预约修改
Showing
31 changed files
with
1063 additions
and
336 deletions
ant-design-vue-jeecg/src/api/api.js
... | ... | @@ -97,6 +97,8 @@ const getTransitURL = url => `/sys/common/transitRESTful?url=${encodeURIComponen |
97 | 97 | //保存预约信息 |
98 | 98 | export const examine = (params)=>postAction('/api/examine', params); |
99 | 99 | |
100 | +export const getSchedulerPrint = (params)=>postAction("/waybill/print/report?id="+params); | |
101 | + | |
100 | 102 | // 中转HTTP请求 |
101 | 103 | export const transitRESTful = { |
102 | 104 | get: (url, parameter) => getAction(getTransitURL(url), parameter), |
... | ... |
ant-design-vue-jeecg/src/mixins/JeecgListMixin.js
... | ... | @@ -141,6 +141,27 @@ export const JeecgListMixin = { |
141 | 141 | this.selectedRowKeys = selectedRowKeys; |
142 | 142 | this.selectionRows = selectionRows; |
143 | 143 | }, |
144 | + | |
145 | + /* 打印 */ | |
146 | + printWorking() { | |
147 | + // window.location.href = 'http://localhost:8080/jeecg-boot/jmreport/view/1367717794514341888'; | |
148 | + window.open("http://172.16.29.47:8080/jeecg-boot/jmreport/view/1367717794514341888","_blank"); | |
149 | + }, | |
150 | + printOutsource() { | |
151 | + let routeData = this.$router.resolve({ | |
152 | + path: "printOutsource", | |
153 | + }); | |
154 | + window.open(routeData.href, '_blank'); | |
155 | + }, | |
156 | + printSchedulerList: function (id) { | |
157 | + let routeData = this.$router.resolve({ | |
158 | + path: "PrintDemo", | |
159 | + query: { | |
160 | + id:id | |
161 | + } | |
162 | + }); | |
163 | + window.open(routeData.href, '_blank'); | |
164 | + }, | |
144 | 165 | onClearSelected() { |
145 | 166 | this.selectedRowKeys = []; |
146 | 167 | this.selectionRows = []; |
... | ... | @@ -261,6 +282,9 @@ export const JeecgListMixin = { |
261 | 282 | this.$refs.modalForm.edit(record); |
262 | 283 | this.$refs.modalForm.title="详情"; |
263 | 284 | this.$refs.modalForm.disableSubmit = true; |
285 | + this.$refs.modalForm | |
286 | + debugger | |
287 | + console.log(this.$refs) | |
264 | 288 | }, |
265 | 289 | /* 导出 */ |
266 | 290 | handleExportXls2(){ |
... | ... |
ant-design-vue-jeecg/src/views/basics/print/PrintDemo.vue
0 → 100644
1 | +<template> | |
2 | + <a-card :bordered="false" :class="{'abcdefg':true}"> | |
3 | + <div class="no-print" style="text-align: right"> | |
4 | + <a-button v-print="'#printContent'" ghost type="primary">打印</a-button> | |
5 | + </div> | |
6 | + <section ref="print" id="printContent" class="abcdefg"> | |
7 | + <div style="text-align: center"> | |
8 | + <p style="font-size: 24px;font-weight: 800">发运单详情</p> | |
9 | + </div> | |
10 | + <!--签字--> | |
11 | + <a-col :md="24" :sm="24"> | |
12 | + <div class="sign" style="text-align: left;height: inherit"> | |
13 | + | |
14 | + <a-col :span="24"> | |
15 | + <span> | |
16 | + 发运人(单位): | |
17 | + </span> | |
18 | + <a-input style="width: 30%" v-model="printer"/> | |
19 | + <span style="margin-left: 13%">起运时间:</span> | |
20 | + <a-input style="width: 30%" v-model="printer"/> | |
21 | + </a-col> | |
22 | + | |
23 | + | |
24 | + <a-col :span="24" style="margin-top: 20px"> | |
25 | + <span> | |
26 | + 运单编号: | |
27 | + </span> | |
28 | + <a-input style="width: 31.5%" v-model="printer"/> | |
29 | + <span style="margin-left: 13%">收货人:</span> | |
30 | + <a-input style="width: 31%" v-model="printer"/> | |
31 | + </a-col> | |
32 | + | |
33 | + | |
34 | + | |
35 | + <a-col :span="24" style="margin-top: 20px"> | |
36 | + <span>物品名称</span> | |
37 | + <a-input style="width: 11%" v-model="printer.name"/> | |
38 | + | |
39 | + <span style="margin-left: 3.5%">毛重:</span> | |
40 | + <a-input style="width: 11%" v-model="printer"/> | |
41 | + | |
42 | + <span style="margin-left: 3.5%">运输单价:</span> | |
43 | + <a-input style="width: 11%" v-model="printer"/> | |
44 | + | |
45 | + <span style="margin-left: 3.5%">规格:</span> | |
46 | + <a-input style="width: 11%" v-model="printer"/> | |
47 | + | |
48 | + <span style="margin-left: 3.5%">件数:</span> | |
49 | + <a-input style="width: 11%" v-model="printer"/> | |
50 | + </a-col> | |
51 | + | |
52 | + | |
53 | + | |
54 | + <a-col :span="24" style="margin-top: 20px"> | |
55 | + <span>备注:</span> | |
56 | + <a-input style="width: 80%" v-model="printer"/> | |
57 | + </a-col> | |
58 | + | |
59 | + | |
60 | + | |
61 | +<!-- <a-col style="margin-top: 20px" :span="24">--> | |
62 | +<!-- <span>打印图片:</span>--> | |
63 | +<!-- <br/>--> | |
64 | +<!-- <a-upload--> | |
65 | +<!-- action="/jsonplaceholder.typicode.com/posts/"--> | |
66 | +<!-- listType="picture-card"--> | |
67 | +<!-- :fileList="fileList"--> | |
68 | +<!-- @preview="handlePreview"--> | |
69 | +<!-- @change="handleChange">--> | |
70 | +<!-- <div v-if="fileList.length < 3">--> | |
71 | +<!-- <a-icon type="plus" />--> | |
72 | +<!-- <div class="ant-upload-text">Upload</div>--> | |
73 | +<!-- </div>--> | |
74 | +<!-- </a-upload>--> | |
75 | +<!-- <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">--> | |
76 | +<!-- <img alt="example" style="width: 100%" :src="previewImage" />--> | |
77 | +<!-- </a-modal>--> | |
78 | +<!-- </a-col>--> | |
79 | + </div> | |
80 | + </a-col> | |
81 | + </section> | |
82 | + </a-card> | |
83 | + <!--</page-layout>--> | |
84 | +</template> | |
85 | +<script> | |
86 | + import ACol from "ant-design-vue/es/grid/Col"; | |
87 | + import ARow from "ant-design-vue/es/grid/Row"; | |
88 | + import ATextarea from 'ant-design-vue/es/input/TextArea' | |
89 | + import {getSchedulerPrint} from '../../../api/api' | |
90 | + | |
91 | + export default { | |
92 | + components: { | |
93 | + ATextarea, | |
94 | + ARow, | |
95 | + ACol, | |
96 | + }, | |
97 | + name: 'Printgzsld', | |
98 | + props:{ | |
99 | + reBizCode:{ | |
100 | + type: String, | |
101 | + default: '' | |
102 | + } | |
103 | + }, | |
104 | + data(){ | |
105 | + return { | |
106 | + columns: [{ | |
107 | + } | |
108 | + ], | |
109 | + labelCol: { | |
110 | + xs: { span: 24 }, | |
111 | + sm: { span: 2 }, | |
112 | + }, | |
113 | + wrapperCol: { | |
114 | + xs: { span: 24 }, | |
115 | + sm: { span: 8 }, | |
116 | + }, | |
117 | + printer:{}, | |
118 | + | |
119 | + fileList: [{ | |
120 | + uid: '-1', | |
121 | + name: 'xxx.png', | |
122 | + status: 'done', | |
123 | + url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png', | |
124 | + }, | |
125 | + { | |
126 | + uid:'-2', | |
127 | + name:'pic1.png', | |
128 | + status:'done', | |
129 | + url:'https://www.gizbot.com/img/2016/11/whatsapp-error-lead-image-08-1478607387.jpg', | |
130 | + } | |
131 | + ], | |
132 | + url:{ | |
133 | + loadApplicant:"/sps/register/loadApplicants", | |
134 | + loadRegisterFiles:"/sps/register/getRegisterFilesConfig", | |
135 | + } | |
136 | + } | |
137 | + }, | |
138 | + created() { | |
139 | + this.getDate(); | |
140 | + }, | |
141 | + methods: { | |
142 | + getDate(){ | |
143 | + // 当前时间 | |
144 | + }, | |
145 | + handleCancel () { | |
146 | + this.previewVisible = false | |
147 | + }, | |
148 | + handlePreview (file) { | |
149 | + this.previewImage = file.url || file.thumbUrl | |
150 | + this.previewVisible = true | |
151 | + }, | |
152 | + handleChange ({ fileList }) { | |
153 | + this.fileList = fileList | |
154 | + }, | |
155 | + loadForm(id){ | |
156 | + getSchedulerPrint(id).then((res) => { | |
157 | + this.printer=res; | |
158 | + console.log(this.printer) | |
159 | + | |
160 | + // this.qrcode(); | |
161 | + }) | |
162 | + }, | |
163 | + }, | |
164 | + mounted:function() { | |
165 | + let id = this.$route.query.id; | |
166 | + this.loadForm(id) | |
167 | + } | |
168 | + | |
169 | + } | |
170 | +</script> | |
171 | +<style scoped> | |
172 | + /*update_begin author:scott date:20191203 for:打印机打印的字体模糊问题 */ | |
173 | + * { | |
174 | + color: #000000!important; | |
175 | + -webkit-tap-highlight-color: #000000!important; | |
176 | + } | |
177 | + /*update_end author:scott date:20191203 for:打印机打印的字体模糊问题 */ | |
178 | + | |
179 | + .abcdefg .ant-card-body{ | |
180 | + margin-left: 0%; | |
181 | + margin-right: 0%; | |
182 | + margin-bottom: 1%; | |
183 | + border:0px solid black; | |
184 | + min-width: 800px; | |
185 | + color:#000000!important; | |
186 | + } | |
187 | + .explain{ | |
188 | + text-align: left; | |
189 | + margin-left: 50px; | |
190 | + color:#000000!important; | |
191 | + } | |
192 | + .explain .ant-input,.sign .ant-input{ | |
193 | + font-weight:bolder; | |
194 | + text-align:center; | |
195 | + border-left-width:0px!important; | |
196 | + border-top-width:0px!important; | |
197 | + border-right-width:0px!important; | |
198 | + } | |
199 | + .explain div{ | |
200 | + margin-bottom: 10px; | |
201 | + } | |
202 | + /* you can make up upload button and sample style by using stylesheets */ | |
203 | + .ant-upload-select-picture-card i { | |
204 | + font-size: 32px; | |
205 | + color: #999; | |
206 | + } | |
207 | + | |
208 | + .ant-upload-select-picture-card .ant-upload-text { | |
209 | + margin-top: 8px; | |
210 | + color: #666; | |
211 | + } | |
212 | +</style> | |
0 | 213 | \ No newline at end of file |
... | ... |
ant-design-vue-jeecg/src/views/work/reserve/ReservationSubmissionList.vue renamed to ant-design-vue-jeecg/src/views/basics/timesetting/TimeslotList.vue
... | ... | @@ -4,21 +4,6 @@ |
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.customerName"></a-input> | |
10 | - </a-form-item> | |
11 | - </a-col> | |
12 | - <a-col :xl="6" :lg="7" :md="8" :sm="24"> | |
13 | - <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> | |
14 | - <a-button type="primary" @click="searchQuery" icon="search">查询</a-button> | |
15 | - <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> | |
16 | - <a @click="handleToggleSearch" style="margin-left: 8px"> | |
17 | - {{ toggleSearchStatus ? '收起' : '展开' }} | |
18 | - <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> | |
19 | - </a> | |
20 | - </span> | |
21 | - </a-col> | |
22 | 7 | </a-row> |
23 | 8 | </a-form> |
24 | 9 | </div> |
... | ... | @@ -27,7 +12,7 @@ |
27 | 12 | <!-- 操作按钮区域 --> |
28 | 13 | <div class="table-operator"> |
29 | 14 | <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> |
30 | - <a-button type="primary" icon="download" @click="handleExportXls('预约表')">导出</a-button> | |
15 | + <a-button type="primary" icon="download" @click="handleExportXls('时间段设置')">导出</a-button> | |
31 | 16 | <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> |
32 | 17 | <a-button type="primary" icon="import">导入</a-button> |
33 | 18 | </a-upload> |
... | ... | @@ -104,7 +89,7 @@ |
104 | 89 | </a-table> |
105 | 90 | </div> |
106 | 91 | |
107 | - <reservation-submission-modal ref="modalForm" @ok="modalFormOk"></reservation-submission-modal> | |
92 | + <timeslot-modal ref="modalForm" @ok="modalFormOk"></timeslot-modal> | |
108 | 93 | </a-card> |
109 | 94 | </template> |
110 | 95 | |
... | ... | @@ -113,17 +98,18 @@ |
113 | 98 | import '@/assets/less/TableExpand.less' |
114 | 99 | import { mixinDevice } from '@/utils/mixin' |
115 | 100 | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
116 | - import ReservationSubmissionModal from './modules/ReservationSubmissionModal' | |
101 | + import TimeslotModal from './modules/TimeslotModal' | |
102 | + import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' | |
117 | 103 | |
118 | 104 | export default { |
119 | - name: 'ReservationSubmissionList', | |
105 | + name: 'TimeslotList', | |
120 | 106 | mixins:[JeecgListMixin, mixinDevice], |
121 | 107 | components: { |
122 | - ReservationSubmissionModal | |
108 | + TimeslotModal | |
123 | 109 | }, |
124 | 110 | data () { |
125 | 111 | return { |
126 | - description: '预约表管理页面', | |
112 | + description: '时间段设置管理页面', | |
127 | 113 | // 表头 |
128 | 114 | columns: [ |
129 | 115 | { |
... | ... | @@ -137,62 +123,30 @@ |
137 | 123 | } |
138 | 124 | }, |
139 | 125 | { |
140 | - title:'预约时间', | |
126 | + title:'pid', | |
141 | 127 | align:"center", |
142 | - dataIndex: 'appointmentTime', | |
143 | - customRender:function (text) { | |
144 | - return !text?"":(text.length>10?text.substr(0,10):text) | |
145 | - } | |
146 | - }, | |
147 | - { | |
148 | - title:'预约形式', | |
149 | - align:"center", | |
150 | - dataIndex: 'reservationMethod_dictText' | |
151 | - }, | |
152 | - { | |
153 | - title:'车牌号', | |
154 | - align:"center", | |
155 | - dataIndex: 'carNumber' | |
156 | - }, | |
157 | - { | |
158 | - title:'装车/卸车', | |
159 | - align:"center", | |
160 | - dataIndex: 'objective_dictText' | |
161 | - }, | |
162 | - { | |
163 | - title:'司机名称', | |
164 | - align:"center", | |
165 | - dataIndex: 'driverName' | |
166 | - }, | |
167 | - { | |
168 | - title:'司机手机号', | |
169 | - align:"center", | |
170 | - dataIndex: 'phoneNumber' | |
171 | - }, | |
172 | - { | |
173 | - title:'车型', | |
174 | - align:"center", | |
175 | - dataIndex: 'vehicle_dictText' | |
128 | + dataIndex: 'pid' | |
176 | 129 | }, |
177 | 130 | { |
178 | - title:'汽车吨位', | |
131 | + title:'时间段', | |
179 | 132 | align:"center", |
180 | - dataIndex: 'vehicleTonnage' | |
133 | + dataIndex: 'timeslot' | |
181 | 134 | }, |
182 | 135 | { |
183 | - title:'客户名称', | |
136 | + title:'次数', | |
184 | 137 | align:"center", |
185 | - dataIndex: 'customerName' | |
138 | + dataIndex: 'quota' | |
186 | 139 | }, |
187 | 140 | { |
188 | - title:'订单号', | |
141 | + title:'开关', | |
189 | 142 | align:"center", |
190 | - dataIndex: 'orderNumber' | |
143 | + dataIndex: 'state', | |
144 | + customRender: (text) => (text ? filterMultiDictText(this.dictOptions['state'], text) : ''), | |
191 | 145 | }, |
192 | 146 | { |
193 | - title:'填表人电话', | |
147 | + title:'备注', | |
194 | 148 | align:"center", |
195 | - dataIndex: 'submitPhone' | |
149 | + dataIndex: 'remarks' | |
196 | 150 | }, |
197 | 151 | { |
198 | 152 | title: '操作', |
... | ... | @@ -204,11 +158,11 @@ |
204 | 158 | } |
205 | 159 | ], |
206 | 160 | url: { |
207 | - list: "/reserve/reservationSubmission/list", | |
208 | - delete: "/reserve/reservationSubmission/delete", | |
209 | - deleteBatch: "/reserve/reservationSubmission/deleteBatch", | |
210 | - exportXlsUrl: "/reserve/reservationSubmission/exportXls", | |
211 | - importExcelUrl: "reserve/reservationSubmission/importExcel", | |
161 | + list: "/timesetting/timeslot/list", | |
162 | + delete: "/timesetting/timeslot/delete", | |
163 | + deleteBatch: "/timesetting/timeslot/deleteBatch", | |
164 | + exportXlsUrl: "/timesetting/timeslot/exportXls", | |
165 | + importExcelUrl: "timesetting/timeslot/importExcel", | |
212 | 166 | |
213 | 167 | }, |
214 | 168 | dictOptions:{}, |
... | ... | @@ -216,6 +170,7 @@ |
216 | 170 | } |
217 | 171 | }, |
218 | 172 | created() { |
173 | + this.$set(this.dictOptions, 'state', [{text:'是',value:'Y'},{text:'否',value:'N'}]) | |
219 | 174 | this.getSuperFieldList(); |
220 | 175 | }, |
221 | 176 | computed: { |
... | ... | @@ -228,17 +183,11 @@ |
228 | 183 | }, |
229 | 184 | getSuperFieldList(){ |
230 | 185 | let fieldList=[]; |
231 | - fieldList.push({type:'date',value:'appointmentTime',text:'预约时间'}) | |
232 | - fieldList.push({type:'string',value:'reservationMethod',text:'预约形式',dictCode:''}) | |
233 | - fieldList.push({type:'string',value:'carNumber',text:'车牌号',dictCode:''}) | |
234 | - fieldList.push({type:'string',value:'objective',text:'装车/卸车',dictCode:''}) | |
235 | - fieldList.push({type:'string',value:'driverName',text:'司机名称',dictCode:''}) | |
236 | - fieldList.push({type:'int',value:'phoneNumber',text:'司机手机号',dictCode:''}) | |
237 | - fieldList.push({type:'string',value:'vehicle',text:'车型',dictCode:''}) | |
238 | - fieldList.push({type:'string',value:'vehicleTonnage',text:'汽车吨位',dictCode:''}) | |
239 | - fieldList.push({type:'string',value:'customerName',text:'客户名称',dictCode:''}) | |
240 | - fieldList.push({type:'string',value:'orderNumber',text:'订单号',dictCode:''}) | |
241 | - fieldList.push({type:'int',value:'submitPhone',text:'填表人电话',dictCode:''}) | |
186 | + fieldList.push({type:'int',value:'pid',text:'pid',dictCode:''}) | |
187 | + fieldList.push({type:'string',value:'timeslot',text:'时间段',dictCode:''}) | |
188 | + fieldList.push({type:'int',value:'quota',text:'次数',dictCode:''}) | |
189 | + fieldList.push({type:'switch',value:'state',text:'开关'}) | |
190 | + fieldList.push({type:'string',value:'remarks',text:'备注',dictCode:''}) | |
242 | 191 | this.superFieldList = fieldList |
243 | 192 | } |
244 | 193 | } |
... | ... |
ant-design-vue-jeecg/src/views/basics/timesetting/modules/TimeslotForm.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="pid" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="pid"> | |
8 | + <a-input-number v-model="model.pid" placeholder="请输入pid" style="width: 100%" /> | |
9 | + </a-form-model-item> | |
10 | + </a-col> | |
11 | + <a-col :span="24"> | |
12 | + <a-form-model-item label="时间段" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="timeslot"> | |
13 | + <a-input v-model="model.timeslot" 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="quota"> | |
18 | + <a-input-number v-model="model.quota" placeholder="请输入次数" style="width: 100%" /> | |
19 | + </a-form-model-item> | |
20 | + </a-col> | |
21 | + <a-col :span="24"> | |
22 | + <a-form-model-item label="开关" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="state"> | |
23 | + <j-switch v-model="model.state" ></j-switch> | |
24 | + </a-form-model-item> | |
25 | + </a-col> | |
26 | + <a-col :span="24"> | |
27 | + <a-form-model-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remarks"> | |
28 | + <a-input v-model="model.remarks" placeholder="请输入备注" ></a-input> | |
29 | + </a-form-model-item> | |
30 | + </a-col> | |
31 | + </a-row> | |
32 | + </a-form-model> | |
33 | + </j-form-container> | |
34 | + </a-spin> | |
35 | +</template> | |
36 | + | |
37 | +<script> | |
38 | + | |
39 | + import { httpAction, getAction } from '@/api/manage' | |
40 | + import { validateDuplicateValue } from '@/utils/util' | |
41 | + | |
42 | + export default { | |
43 | + name: 'TimeslotForm', | |
44 | + components: { | |
45 | + }, | |
46 | + props: { | |
47 | + //表单禁用 | |
48 | + disabled: { | |
49 | + type: Boolean, | |
50 | + default: false, | |
51 | + required: false | |
52 | + } | |
53 | + }, | |
54 | + data () { | |
55 | + return { | |
56 | + model:{ | |
57 | + }, | |
58 | + labelCol: { | |
59 | + xs: { span: 24 }, | |
60 | + sm: { span: 5 }, | |
61 | + }, | |
62 | + wrapperCol: { | |
63 | + xs: { span: 24 }, | |
64 | + sm: { span: 16 }, | |
65 | + }, | |
66 | + confirmLoading: false, | |
67 | + validatorRules: { | |
68 | + timeslot: [ | |
69 | + { required: true, message: '请输入时间段!'}, | |
70 | + ], | |
71 | + state: [ | |
72 | + { required: true, message: '请输入开关!'}, | |
73 | + ], | |
74 | + }, | |
75 | + url: { | |
76 | + add: "/timesetting/timeslot/add", | |
77 | + edit: "/timesetting/timeslot/edit", | |
78 | + queryById: "/timesetting/timeslot/queryById" | |
79 | + } | |
80 | + } | |
81 | + }, | |
82 | + computed: { | |
83 | + formDisabled(){ | |
84 | + return this.disabled | |
85 | + }, | |
86 | + }, | |
87 | + created () { | |
88 | + //备份model原始值 | |
89 | + this.modelDefault = JSON.parse(JSON.stringify(this.model)); | |
90 | + }, | |
91 | + methods: { | |
92 | + add () { | |
93 | + this.edit(this.modelDefault); | |
94 | + }, | |
95 | + edit (record) { | |
96 | + this.model = Object.assign({}, record); | |
97 | + this.visible = true; | |
98 | + }, | |
99 | + submitForm () { | |
100 | + const that = this; | |
101 | + // 触发表单验证 | |
102 | + this.$refs.form.validate(valid => { | |
103 | + if (valid) { | |
104 | + that.confirmLoading = true; | |
105 | + let httpurl = ''; | |
106 | + let method = ''; | |
107 | + if(!this.model.id){ | |
108 | + httpurl+=this.url.add; | |
109 | + method = 'post'; | |
110 | + }else{ | |
111 | + httpurl+=this.url.edit; | |
112 | + method = 'put'; | |
113 | + } | |
114 | + httpAction(httpurl,this.model,method).then((res)=>{ | |
115 | + if(res.success){ | |
116 | + that.$message.success(res.message); | |
117 | + that.$emit('ok'); | |
118 | + }else{ | |
119 | + that.$message.warning(res.message); | |
120 | + } | |
121 | + }).finally(() => { | |
122 | + that.confirmLoading = false; | |
123 | + }) | |
124 | + } | |
125 | + | |
126 | + }) | |
127 | + }, | |
128 | + } | |
129 | + } | |
130 | +</script> | |
0 | 131 | \ No newline at end of file |
... | ... |
ant-design-vue-jeecg/src/views/work/reserve/modules/ReservationSubmissionModal.Style#Drawer.vue renamed to ant-design-vue-jeecg/src/views/basics/timesetting/modules/TimeslotModal.Style#Drawer.vue
... | ... | @@ -7,7 +7,7 @@ |
7 | 7 | @close="close" |
8 | 8 | destroyOnClose |
9 | 9 | :visible="visible"> |
10 | - <reservation-submission-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></reservation-submission-form> | |
10 | + <timeslot-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></timeslot-form> | |
11 | 11 | <div class="drawer-footer"> |
12 | 12 | <a-button @click="handleCancel" style="margin-bottom: 0;">关闭</a-button> |
13 | 13 | <a-button v-if="!disableSubmit" @click="handleOk" type="primary" style="margin-bottom: 0;">提交</a-button> |
... | ... | @@ -17,12 +17,12 @@ |
17 | 17 | |
18 | 18 | <script> |
19 | 19 | |
20 | - import ReservationSubmissionForm from './ReservationSubmissionForm' | |
20 | + import TimeslotForm from './TimeslotForm' | |
21 | 21 | |
22 | 22 | export default { |
23 | - name: 'ReservationSubmissionModal', | |
23 | + name: 'TimeslotModal', | |
24 | 24 | components: { |
25 | - ReservationSubmissionForm | |
25 | + TimeslotForm | |
26 | 26 | }, |
27 | 27 | data () { |
28 | 28 | return { |
... | ... |
ant-design-vue-jeecg/src/views/work/reserve/modules/ReservationSubmissionModal.vue renamed to ant-design-vue-jeecg/src/views/basics/timesetting/modules/TimeslotModal.vue
... | ... | @@ -8,17 +8,17 @@ |
8 | 8 | :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" |
9 | 9 | @cancel="handleCancel" |
10 | 10 | cancelText="关闭"> |
11 | - <reservation-submission-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></reservation-submission-form> | |
11 | + <timeslot-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></timeslot-form> | |
12 | 12 | </j-modal> |
13 | 13 | </template> |
14 | 14 | |
15 | 15 | <script> |
16 | 16 | |
17 | - import ReservationSubmissionForm from './ReservationSubmissionForm' | |
17 | + import TimeslotForm from './TimeslotForm' | |
18 | 18 | export default { |
19 | - name: 'ReservationSubmissionModal', | |
19 | + name: 'TimeslotModal', | |
20 | 20 | components: { |
21 | - ReservationSubmissionForm | |
21 | + TimeslotForm | |
22 | 22 | }, |
23 | 23 | data () { |
24 | 24 | return { |
... | ... |
ant-design-vue-jeecg/src/views/examples/form/stepForm/Step1.vue
... | ... | @@ -3,37 +3,13 @@ |
3 | 3 | <j-form-container :disabled="formDisabled"> |
4 | 4 | <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> |
5 | 5 | <a-row> |
6 | - <a-col :span="24"> | |
7 | - <a-form-model-item label="原来预约时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="appointmentTime"> | |
8 | - <a-input v-model="model.appointmentTime" placeholder="请输入预约时间" ></a-input> | |
9 | - </a-form-model-item> | |
10 | - </a-col> | |
6 | + | |
11 | 7 | <a-col :span="24"> |
12 | 8 | <a-form-model-item label="订单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderNumber"> |
13 | 9 | <a-input v-model="model.orderNumber" placeholder="请输入订单号" ></a-input> |
14 | 10 | </a-form-model-item> |
15 | 11 | </a-col> |
16 | - <a-col :span="24"> | |
17 | - <a-form-model-item label="车牌号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="carNumber"> | |
18 | - <a-input v-model="model.carNumber" 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="phoneNumber"> | |
23 | - <a-input v-model="model.phoneNumber" 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="submitPhone"> | |
28 | - <a-input v-model="model.submitPhone" placeholder="请输入填表人电话" ></a-input> | |
29 | - </a-form-model-item> | |
30 | - </a-col> | |
31 | 12 | |
32 | - <a-col :span="24"> | |
33 | - <a-form-model-item label="更改原因" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark"> | |
34 | - <j-dict-select-tag type="list" v-model="model.remark" dictCode="cancel" placeholder="请选择取消方式" /> | |
35 | - </a-form-model-item> | |
36 | - </a-col> | |
37 | 13 | |
38 | 14 | |
39 | 15 | |
... | ... | @@ -42,7 +18,7 @@ |
42 | 18 | <a-form-model-item :wrapperCol="{span: 19, offset: 5}"> |
43 | 19 | <a-button type="primary" @click="onSubmit()">下一步</a-button> |
44 | 20 | </a-form-model-item> |
45 | - | |
21 | + <reservation-submission-modal ref="modalForm" @ok="modalFormOk"></reservation-submission-modal> | |
46 | 22 | </a-form-model> |
47 | 23 | </j-form-container> |
48 | 24 | </a-spin> |
... | ... | @@ -51,11 +27,14 @@ |
51 | 27 | <script> |
52 | 28 | |
53 | 29 | import { httpAction, getAction } from '@/api/manage' |
54 | - import { validateDuplicateValue } from '@/utils/util' | |
30 | + import ReservationSubmissionModal from "../../../reserve/reservationsubmission/modules/ReservationSubmissionModal"; | |
31 | + import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
55 | 32 | |
56 | 33 | export default { |
57 | 34 | name: 'ReservationSubmissionForm', |
35 | + mixins:[JeecgListMixin], | |
58 | 36 | components: { |
37 | + ReservationSubmissionModal | |
59 | 38 | }, |
60 | 39 | props: { |
61 | 40 | //表单禁用 |
... | ... | @@ -79,24 +58,15 @@ |
79 | 58 | }, |
80 | 59 | confirmLoading: false, |
81 | 60 | validatorRules: { |
82 | - appointmentTime: [ | |
83 | - { required: true, message: '请输入预约时间!'}, | |
84 | - ], | |
61 | + | |
85 | 62 | orderNumber: [ |
86 | 63 | { required: true, message: '请输入订单号!'}, |
87 | 64 | { pattern: /^.{6,18}$/, message: '请输入6到18位任意字符!'}, |
88 | 65 | ], |
89 | - phoneNumber: [ | |
90 | - { required: true, message: '请输入司机手机号!'}, | |
91 | - { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码!'}, | |
92 | - ], | |
93 | - submitPhone: [ | |
94 | - { required: true, message: '请输入填表人电话!'}, | |
95 | - { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码!'}, | |
96 | - ], | |
97 | 66 | }, |
98 | 67 | url: { |
99 | - add: "/reservationsubmission/reservationSubmission/cancel", | |
68 | + add: "/reservationsubmission/reservationSubmission/editor", | |
69 | + list: "/reservationsubmission/reservationSubmission/editor", | |
100 | 70 | edit: "/reservationsubmission/reservationSubmission/edit" |
101 | 71 | } |
102 | 72 | } |
... | ... | @@ -135,11 +105,8 @@ |
135 | 105 | } |
136 | 106 | httpAction(httpurl, this.model, method).then((res) => { |
137 | 107 | if (res.success) { |
138 | - that.$message.success(res.message); | |
139 | - // that.$emit('ok'); | |
140 | - // this.$router.push({ | |
141 | - // path: "/result/Success" | |
142 | - // }); | |
108 | + debugger | |
109 | + this.handleEdit(res.result) | |
143 | 110 | } else { |
144 | 111 | that.$message.warning(res.message); |
145 | 112 | this.$router.push({ |
... | ... |
ant-design-vue-jeecg/src/views/jeecg/PrintDemo.vue
... | ... | @@ -5,47 +5,77 @@ |
5 | 5 | </div> |
6 | 6 | <section ref="print" id="printContent" class="abcdefg"> |
7 | 7 | <div style="text-align: center"> |
8 | - <p style="font-size: 24px;font-weight: 800">打印测试表单</p> | |
8 | + <p style="font-size: 24px;font-weight: 800">发运单详情</p> | |
9 | 9 | </div> |
10 | 10 | <!--签字--> |
11 | 11 | <a-col :md="24" :sm="24"> |
12 | 12 | <div class="sign" style="text-align: left;height: inherit"> |
13 | + | |
13 | 14 | <a-col :span="24"> |
14 | 15 | <span> |
15 | - 打印人员: | |
16 | + 发运人(单位): | |
16 | 17 | </span> |
17 | 18 | <a-input style="width: 30%" v-model="printer"/> |
18 | - <span style="margin-left: 12.5%">打印日期:</span> | |
19 | - <a-input style="width: 30%" v-model="printTime"/> | |
20 | - </a-col> | |
21 | - <a-col :span="24"> | |
19 | + <span style="margin-left: 13%">起运时间:</span> | |
20 | + <a-input style="width: 30%" v-model="printer"/> | |
22 | 21 | </a-col> |
22 | + | |
23 | + | |
23 | 24 | <a-col :span="24" style="margin-top: 20px"> |
24 | - <span>打印内容:</span> | |
25 | - <a-input style="width: 80%" v-model="printContent"/> | |
25 | + <span> | |
26 | + 运单编号: | |
27 | + </span> | |
28 | + <a-input style="width: 31.5%" v-model="printer"/> | |
29 | + <span style="margin-left: 13%">收货人:</span> | |
30 | + <a-input style="width: 31%" v-model="printer"/> | |
26 | 31 | </a-col> |
32 | + | |
33 | + | |
34 | + | |
27 | 35 | <a-col :span="24" style="margin-top: 20px"> |
28 | - <span>打印目的:</span> | |
29 | - <a-input style="width: 80%" v-model="printReason"/> | |
36 | + <span>物品名称</span> | |
37 | + <a-input style="width: 11%" v-model="printer"/> | |
38 | + | |
39 | + <span style="margin-left: 3.5%">毛重:</span> | |
40 | + <a-input style="width: 11%" v-model="printer"/> | |
41 | + | |
42 | + <span style="margin-left: 3.5%">运输单价:</span> | |
43 | + <a-input style="width: 11%" v-model="printer"/> | |
44 | + | |
45 | + <span style="margin-left: 3.5%">规格:</span> | |
46 | + <a-input style="width: 11%" v-model="printer"/> | |
47 | + | |
48 | + <span style="margin-left: 3.5%">件数:</span> | |
49 | + <a-input style="width: 11%" v-model="printer"/> | |
30 | 50 | </a-col> |
31 | - <a-col style="margin-top: 20px" :span="24"> | |
32 | - <span>打印图片:</span> | |
33 | - <br/> | |
34 | - <a-upload | |
35 | - action="/jsonplaceholder.typicode.com/posts/" | |
36 | - listType="picture-card" | |
37 | - :fileList="fileList" | |
38 | - @preview="handlePreview" | |
39 | - @change="handleChange"> | |
40 | - <div v-if="fileList.length < 3"> | |
41 | - <a-icon type="plus" /> | |
42 | - <div class="ant-upload-text">Upload</div> | |
43 | - </div> | |
44 | - </a-upload> | |
45 | - <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel"> | |
46 | - <img alt="example" style="width: 100%" :src="previewImage" /> | |
47 | - </a-modal> | |
51 | + | |
52 | + | |
53 | + | |
54 | + <a-col :span="24" style="margin-top: 20px"> | |
55 | + <span>备注:</span> | |
56 | + <a-input style="width: 80%" v-model="printer"/> | |
48 | 57 | </a-col> |
58 | + | |
59 | + | |
60 | + | |
61 | +<!-- <a-col style="margin-top: 20px" :span="24">--> | |
62 | +<!-- <span>打印图片:</span>--> | |
63 | +<!-- <br/>--> | |
64 | +<!-- <a-upload--> | |
65 | +<!-- action="/jsonplaceholder.typicode.com/posts/"--> | |
66 | +<!-- listType="picture-card"--> | |
67 | +<!-- :fileList="fileList"--> | |
68 | +<!-- @preview="handlePreview"--> | |
69 | +<!-- @change="handleChange">--> | |
70 | +<!-- <div v-if="fileList.length < 3">--> | |
71 | +<!-- <a-icon type="plus" />--> | |
72 | +<!-- <div class="ant-upload-text">Upload</div>--> | |
73 | +<!-- </div>--> | |
74 | +<!-- </a-upload>--> | |
75 | +<!-- <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">--> | |
76 | +<!-- <img alt="example" style="width: 100%" :src="previewImage" />--> | |
77 | +<!-- </a-modal>--> | |
78 | +<!-- </a-col>--> | |
49 | 79 | </div> |
50 | 80 | </a-col> |
51 | 81 | </section> |
... | ... | @@ -83,7 +113,7 @@ |
83 | 113 | xs: { span: 24 }, |
84 | 114 | sm: { span: 8 }, |
85 | 115 | }, |
86 | - printer:'张三', | |
116 | + printer:'测试', | |
87 | 117 | printTime:'2019-02-01 12:00:00', |
88 | 118 | printContent:'打印内容就是,做一个打印测试', |
89 | 119 | printReason:'做一个打印测试', |
... | ... | @@ -128,7 +158,18 @@ |
128 | 158 | handleChange ({ fileList }) { |
129 | 159 | this.fileList = fileList |
130 | 160 | } |
131 | - } | |
161 | + }, | |
162 | + mounted:function() { | |
163 | + let id = this.$route.query.id; | |
164 | + this.loadData(id); | |
165 | + }, | |
166 | + loadData(id){ | |
167 | + getSchedulerPrint(id).then((res) => { | |
168 | + this.dataSource = res; | |
169 | + this.querySource.headerId = id; | |
170 | + // this.qrcode(); | |
171 | + }) | |
172 | + }, | |
132 | 173 | } |
133 | 174 | </script> |
134 | 175 | <style scoped> |
... | ... |
ant-design-vue-jeecg/src/views/reserve/reservationsubmission/ReservationSubmissionList.vue
... | ... | @@ -140,7 +140,12 @@ |
140 | 140 | { |
141 | 141 | title:'预约时间', |
142 | 142 | align:"center", |
143 | - dataIndex: 'appointmentTime' | |
143 | + dataIndex: 'appointmentTime_dictText' | |
144 | + }, | |
145 | + { | |
146 | + title:'时间段', | |
147 | + align:"center", | |
148 | + dataIndex: 'timeSelection' | |
144 | 149 | }, |
145 | 150 | { |
146 | 151 | title:'订单号', |
... | ... | @@ -246,7 +251,8 @@ |
246 | 251 | }, |
247 | 252 | getSuperFieldList(){ |
248 | 253 | let fieldList=[]; |
249 | - fieldList.push({type:'string',value:'appointmentTime',text:'预约时间',dictCode:''}) | |
254 | + fieldList.push({type:'string',value:'appointmentTime',text:'预约时间',dictCode:'time'}) | |
255 | + fieldList.push({type:'string',value:'timeSelection',text:'时间段',dictCode:''}) | |
250 | 256 | fieldList.push({type:'string',value:'orderNumber',text:'订单号',dictCode:''}) |
251 | 257 | fieldList.push({type:'string',value:'reservationMethod',text:'预约形式',dictCode:'appointment_form,name,name'}) |
252 | 258 | fieldList.push({type:'string',value:'carNumber',text:'车牌号',dictCode:''}) |
... | ... |
ant-design-vue-jeecg/src/views/reserve/reservationsubmission/modules/ReservationSubmissionForm.vue
... | ... | @@ -5,7 +5,12 @@ |
5 | 5 | <a-row> |
6 | 6 | <a-col :span="24"> |
7 | 7 | <a-form-model-item label="预约时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="appointmentTime"> |
8 | - <a-input v-model="model.appointmentTime" placeholder="请输入预约时间" ></a-input> | |
8 | + <j-dict-select-tag type="list" v-model="model.appointmentTime" dictCode="time" placeholder="请选择预约时间" /> | |
9 | + </a-form-model-item> | |
10 | + </a-col> | |
11 | + <a-col :span="24"> | |
12 | + <a-form-model-item label="时间段" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="timeSelection"> | |
13 | + <a-input v-model="model.timeSelection" placeholder="请输入时间段" ></a-input> | |
9 | 14 | </a-form-model-item> |
10 | 15 | </a-col> |
11 | 16 | <a-col :span="24"> |
... | ... |
ant-design-vue-jeecg/src/views/work/reserve/modules/ReservationSubmissionForm.vue renamed to ant-design-vue-jeecg/src/views/reserve/submit/plancancellation.vue
... | ... | @@ -4,13 +4,13 @@ |
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="appointmentTime"> | |
8 | - <j-date placeholder="请选择预约时间" v-model="model.appointmentTime" style="width: 100%" /> | |
7 | + <a-form-model-item label="原来预约时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="appointmentTime"> | |
8 | + <a-input v-model="model.appointmentTime" placeholder="请输入预约时间" ></a-input> | |
9 | 9 | </a-form-model-item> |
10 | 10 | </a-col> |
11 | 11 | <a-col :span="24"> |
12 | - <a-form-model-item label="预约形式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reservationMethod"> | |
13 | - <j-dict-select-tag type="list" v-model="model.reservationMethod" dictCode="" placeholder="请选择预约形式" /> | |
12 | + <a-form-model-item label="订单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderNumber"> | |
13 | + <a-input v-model="model.orderNumber" placeholder="请输入订单号" ></a-input> | |
14 | 14 | </a-form-model-item> |
15 | 15 | </a-col> |
16 | 16 | <a-col :span="24"> |
... | ... | @@ -19,46 +19,30 @@ |
19 | 19 | </a-form-model-item> |
20 | 20 | </a-col> |
21 | 21 | <a-col :span="24"> |
22 | - <a-form-model-item label="装车/卸车" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="objective"> | |
23 | - <j-dict-select-tag type="list" v-model="model.objective" dictCode="" placeholder="请选择装车/卸车" /> | |
24 | - </a-form-model-item> | |
25 | - </a-col> | |
26 | - <a-col :span="24"> | |
27 | - <a-form-model-item label="司机名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="driverName"> | |
28 | - <a-input v-model="model.driverName" placeholder="请输入司机名称" ></a-input> | |
29 | - </a-form-model-item> | |
30 | - </a-col> | |
31 | - <a-col :span="24"> | |
32 | 22 | <a-form-model-item label="司机手机号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="phoneNumber"> |
33 | - <a-input-number v-model="model.phoneNumber" placeholder="请输入司机手机号" style="width: 100%" /> | |
23 | + <a-input v-model="model.phoneNumber" placeholder="请输入司机手机号" ></a-input> | |
34 | 24 | </a-form-model-item> |
35 | 25 | </a-col> |
36 | 26 | <a-col :span="24"> |
37 | - <a-form-model-item label="车型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vehicle"> | |
38 | - <j-dict-select-tag type="list" v-model="model.vehicle" dictCode="" placeholder="请选择车型" /> | |
39 | - </a-form-model-item> | |
40 | - </a-col> | |
41 | - <a-col :span="24"> | |
42 | - <a-form-model-item label="汽车吨位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="vehicleTonnage"> | |
43 | - <a-input v-model="model.vehicleTonnage" 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="customerName"> | |
48 | - <a-input v-model="model.customerName" 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="orderNumber"> | |
53 | - <a-input v-model="model.orderNumber" placeholder="请输入订单号" ></a-input> | |
27 | + <a-form-model-item label="填表人电话" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="submitPhone"> | |
28 | + <a-input v-model="model.submitPhone" placeholder="请输入填表人电话" ></a-input> | |
54 | 29 | </a-form-model-item> |
55 | 30 | </a-col> |
31 | + | |
56 | 32 | <a-col :span="24"> |
57 | - <a-form-model-item label="填表人电话" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="submitPhone"> | |
58 | - <a-input-number v-model="model.submitPhone" placeholder="请输入填表人电话" style="width: 100%" /> | |
33 | + <a-form-model-item label="更改原因" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark"> | |
34 | + <j-dict-select-tag type="list" v-model="model.remark" dictCode="cancel" placeholder="请选择取消方式" /> | |
59 | 35 | </a-form-model-item> |
60 | 36 | </a-col> |
37 | + | |
38 | + | |
39 | + | |
61 | 40 | </a-row> |
41 | + | |
42 | + <a-form-model-item :wrapperCol="{span: 19, offset: 5}"> | |
43 | + <a-button type="primary" @click="onSubmit()">下一步</a-button> | |
44 | + </a-form-model-item> | |
45 | + | |
62 | 46 | </a-form-model> |
63 | 47 | </j-form-container> |
64 | 48 | </a-spin> |
... | ... | @@ -84,7 +68,7 @@ |
84 | 68 | data () { |
85 | 69 | return { |
86 | 70 | model:{ |
87 | - }, | |
71 | + }, | |
88 | 72 | labelCol: { |
89 | 73 | xs: { span: 24 }, |
90 | 74 | sm: { span: 5 }, |
... | ... | @@ -95,11 +79,28 @@ |
95 | 79 | }, |
96 | 80 | confirmLoading: false, |
97 | 81 | validatorRules: { |
82 | + appointmentTime: [ | |
83 | + { required: true, message: '请输入预约时间!'}, | |
84 | + ], | |
85 | + orderNumber: [ | |
86 | + { required: true, message: '请输入订单号!'}, | |
87 | + { pattern: /^.{6,18}$/, message: '请输入6到18位任意字符!'}, | |
88 | + ], | |
89 | + phoneNumber: [ | |
90 | + { required: true, message: '请输入司机手机号!'}, | |
91 | + { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码!'}, | |
92 | + ], | |
93 | + remark: [ | |
94 | + {required: true, message: '请输入预约形式!'}, | |
95 | + ], | |
96 | + submitPhone: [ | |
97 | + { required: true, message: '请输入填表人电话!'}, | |
98 | + { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码!'}, | |
99 | + ], | |
98 | 100 | }, |
99 | 101 | url: { |
100 | - add: "/reserve/reservationSubmission/add", | |
101 | - edit: "/reserve/reservationSubmission/edit", | |
102 | - queryById: "/reserve/reservationSubmission/queryById" | |
102 | + add: "/reservationsubmission/reservationSubmission/cancel", | |
103 | + edit: "/reservationsubmission/reservationSubmission/edit" | |
103 | 104 | } |
104 | 105 | } |
105 | 106 | }, |
... | ... | @@ -109,7 +110,7 @@ |
109 | 110 | }, |
110 | 111 | }, |
111 | 112 | created () { |
112 | - //备份model原始值 | |
113 | + //备份model原始值 | |
113 | 114 | this.modelDefault = JSON.parse(JSON.stringify(this.model)); |
114 | 115 | }, |
115 | 116 | methods: { |
... | ... | @@ -120,7 +121,7 @@ |
120 | 121 | this.model = Object.assign({}, record); |
121 | 122 | this.visible = true; |
122 | 123 | }, |
123 | - submitForm () { | |
124 | + onSubmit() { | |
124 | 125 | const that = this; |
125 | 126 | // 触发表单验证 |
126 | 127 | this.$refs.form.validate(valid => { |
... | ... | @@ -128,25 +129,31 @@ |
128 | 129 | that.confirmLoading = true; |
129 | 130 | let httpurl = ''; |
130 | 131 | let method = ''; |
131 | - if(!this.model.id){ | |
132 | - httpurl+=this.url.add; | |
132 | + if (!this.model.id) { | |
133 | + httpurl += this.url.add; | |
133 | 134 | method = 'post'; |
134 | - }else{ | |
135 | - httpurl+=this.url.edit; | |
136 | - method = 'put'; | |
135 | + } else { | |
136 | + httpurl += this.url.edit; | |
137 | + method = 'put'; | |
137 | 138 | } |
138 | - httpAction(httpurl,this.model,method).then((res)=>{ | |
139 | - if(res.success){ | |
139 | + httpAction(httpurl, this.model, method).then((res) => { | |
140 | + if (res.success) { | |
140 | 141 | that.$message.success(res.message); |
141 | - that.$emit('ok'); | |
142 | - }else{ | |
142 | + // that.$emit('ok'); | |
143 | + // this.$router.push({ | |
144 | + // path: "/result/Success" | |
145 | + // }); | |
146 | + } else { | |
143 | 147 | that.$message.warning(res.message); |
148 | + this.$router.push({ | |
149 | + path: "/reserve/submit" | |
150 | + }); | |
144 | 151 | } |
145 | 152 | }).finally(() => { |
146 | 153 | that.confirmLoading = false; |
147 | 154 | }) |
148 | 155 | } |
149 | - | |
156 | + | |
150 | 157 | }) |
151 | 158 | }, |
152 | 159 | } |
... | ... |
ant-design-vue-jeecg/src/views/reserve/submit/scheduledchanges.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="orderNumber"> | |
8 | + <a-input v-model="model.orderNumber" placeholder="请输入订单号" ></a-input> | |
9 | + </a-form-model-item> | |
10 | + </a-col> | |
11 | + </a-row> | |
12 | + <a-form-model-item :wrapperCol="{span: 19, offset: 5}"> | |
13 | + <a-button type="primary" @click="onSubmit()">下一步</a-button> | |
14 | + </a-form-model-item> | |
15 | + <reservation-submission-modal ref="modalForm" @ok="modalFormOk"></reservation-submission-modal> | |
16 | + </a-form-model> | |
17 | + </j-form-container> | |
18 | + </a-spin> | |
19 | +</template> | |
20 | + | |
21 | +<script> | |
22 | + | |
23 | + import { httpAction, getAction } from '@/api/manage' | |
24 | + import ReservationSubmissionModal from "../../reserve/reservationsubmission/modules/ReservationSubmissionModal"; | |
25 | + import { JeecgListMixin } from '@/mixins/JeecgListMixin' | |
26 | + | |
27 | + export default { | |
28 | + name: 'ReservationSubmissionForm', | |
29 | + mixins:[JeecgListMixin], | |
30 | + components: { | |
31 | + ReservationSubmissionModal | |
32 | + }, | |
33 | + props: { | |
34 | + //表单禁用 | |
35 | + disabled: { | |
36 | + type: Boolean, | |
37 | + default: false, | |
38 | + required: false | |
39 | + } | |
40 | + }, | |
41 | + data () { | |
42 | + return { | |
43 | + model:{ | |
44 | + }, | |
45 | + labelCol: { | |
46 | + xs: { span: 24 }, | |
47 | + sm: { span: 5 }, | |
48 | + }, | |
49 | + wrapperCol: { | |
50 | + xs: { span: 24 }, | |
51 | + sm: { span: 16 }, | |
52 | + }, | |
53 | + confirmLoading: false, | |
54 | + validatorRules: { | |
55 | + | |
56 | + orderNumber: [ | |
57 | + { required: true, message: '请输入订单号!'}, | |
58 | + { pattern: /^.{6,18}$/, message: '请输入6到18位任意字符!'}, | |
59 | + ], | |
60 | + }, | |
61 | + url: { | |
62 | + add: "/reservationsubmission/reservationSubmission/editor", | |
63 | + list: "/reservationsubmission/reservationSubmission/editor", | |
64 | + edit: "/reservationsubmission/reservationSubmission/edit" | |
65 | + } | |
66 | + } | |
67 | + }, | |
68 | + computed: { | |
69 | + formDisabled(){ | |
70 | + return this.disabled | |
71 | + }, | |
72 | + }, | |
73 | + created () { | |
74 | + //备份model原始值 | |
75 | + this.modelDefault = JSON.parse(JSON.stringify(this.model)); | |
76 | + }, | |
77 | + methods: { | |
78 | + add () { | |
79 | + this.edit(this.modelDefault); | |
80 | + }, | |
81 | + edit (record) { | |
82 | + this.model = Object.assign({}, record); | |
83 | + this.visible = true; | |
84 | + }, | |
85 | + onSubmit() { | |
86 | + const that = this; | |
87 | + // 触发表单验证 | |
88 | + this.$refs.form.validate(valid => { | |
89 | + if (valid) { | |
90 | + that.confirmLoading = true; | |
91 | + let httpurl = ''; | |
92 | + let method = ''; | |
93 | + if (!this.model.id) { | |
94 | + httpurl += this.url.add; | |
95 | + method = 'post'; | |
96 | + } else { | |
97 | + httpurl += this.url.edit; | |
98 | + method = 'put'; | |
99 | + } | |
100 | + httpAction(httpurl, this.model, method).then((res) => { | |
101 | + if (res.success) { | |
102 | + debugger | |
103 | + this.handleEdit(res.result) | |
104 | + } else { | |
105 | + that.$message.warning(res.message); | |
106 | + this.$router.push({ | |
107 | + path: "/reserve/submit" | |
108 | + }); | |
109 | + } | |
110 | + }).finally(() => { | |
111 | + that.confirmLoading = false; | |
112 | + }) | |
113 | + } | |
114 | + | |
115 | + }) | |
116 | + }, | |
117 | + } | |
118 | + } | |
119 | +</script> | |
0 | 120 | \ No newline at end of file |
... | ... |
ant-design-vue-jeecg/src/views/user/LoginAccount.vue
... | ... | @@ -11,20 +11,6 @@ |
11 | 11 | <a-icon slot="prefix" type="lock" :style="{ color: 'rgba(0,0,0,.25)' }"/> |
12 | 12 | </a-input> |
13 | 13 | </a-form-model-item> |
14 | - | |
15 | - <a-row :gutter="0"> | |
16 | - <a-col :span="16"> | |
17 | - <a-form-model-item required prop="inputCode"> | |
18 | - <a-input v-model="model.inputCode" size="large" type="text" placeholder="请输入验证码"> | |
19 | - <a-icon slot="prefix" type="smile" :style="{ color: 'rgba(0,0,0,.25)' }"/> | |
20 | - </a-input> | |
21 | - </a-form-model-item> | |
22 | - </a-col> | |
23 | - <a-col :span="8" style="text-align: right"> | |
24 | - <img v-if="requestCodeSuccess" style="margin-top: 2px;" :src="randCodeImage" @click="handleChangeCheckCode"/> | |
25 | - <img v-else style="margin-top: 2px;" src="../../assets/checkcode.png" @click="handleChangeCheckCode"/> | |
26 | - </a-col> | |
27 | - </a-row> | |
28 | 14 | </a-form-model> |
29 | 15 | </div> |
30 | 16 | </template> |
... | ... | @@ -45,7 +31,6 @@ |
45 | 31 | model:{ |
46 | 32 | username: '', |
47 | 33 | password: '', |
48 | - inputCode: '' | |
49 | 34 | }, |
50 | 35 | validatorRules:{ |
51 | 36 | username: [ |
... | ... | @@ -55,9 +40,6 @@ |
55 | 40 | password: [{ |
56 | 41 | required: true, message: '请输入密码!', validator: 'click' |
57 | 42 | }], |
58 | - inputCode: [{ | |
59 | - required: true, message: '请输入验证码!' | |
60 | - }] | |
61 | 43 | } |
62 | 44 | |
63 | 45 | } |
... | ... | @@ -70,7 +52,6 @@ |
70 | 52 | /**刷新验证码*/ |
71 | 53 | handleChangeCheckCode(){ |
72 | 54 | this.currdatetime = new Date().getTime(); |
73 | - this.model.inputCode = '' | |
74 | 55 | getAction(`/sys/randomImage/${this.currdatetime}`).then(res=>{ |
75 | 56 | if(res.success){ |
76 | 57 | this.randCodeImage = res.result |
... | ... | @@ -123,12 +104,11 @@ |
123 | 104 | }, |
124 | 105 | //账号密码登录 |
125 | 106 | handleLogin(rememberMe){ |
126 | - this.validateFields([ 'username', 'password', 'inputCode' ], (err)=>{ | |
107 | + this.validateFields([ 'username', 'password'], (err)=>{ | |
127 | 108 | if(!err){ |
128 | 109 | let loginParams = { |
129 | 110 | username: this.model.username, |
130 | 111 | password: this.model.password, |
131 | - captcha: this.model.inputCode, | |
132 | 112 | checkKey: this.currdatetime, |
133 | 113 | remember_me: rememberMe, |
134 | 114 | } |
... | ... |
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/basics/print/controller/PrintAppointment.java
0 → 100644
1 | +package org.jeecg.modules.basics.print.controller; | |
2 | + | |
3 | +import cn.hutool.core.util.StrUtil; | |
4 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |
5 | +import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |
6 | +import io.swagger.annotations.Api; | |
7 | +import lombok.extern.slf4j.Slf4j; | |
8 | +import org.jeecg.modules.basics.print.entity.waybill; | |
9 | +import org.springframework.web.bind.annotation.PostMapping; | |
10 | +import org.springframework.web.bind.annotation.RequestMapping; | |
11 | +import org.springframework.web.bind.annotation.RequestParam; | |
12 | +import org.springframework.web.bind.annotation.RestController; | |
13 | + | |
14 | +import java.util.*; | |
15 | + | |
16 | +@Slf4j | |
17 | +@Api(tags = "打印发运单") | |
18 | +@RestController | |
19 | +@RequestMapping("/waybill/print") | |
20 | +public class PrintAppointment { | |
21 | + | |
22 | + @PostMapping("/report") | |
23 | + public waybill report(@RequestParam(name = "id") String id) | |
24 | + { | |
25 | + waybill w=new waybill(); | |
26 | + w.setName(1); | |
27 | + w.setId(2); | |
28 | + return w; | |
29 | + } | |
30 | + | |
31 | +} | |
... | ... |
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/basics/print/entity/waybill.java
0 → 100644
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/basics/timesetting/controller/TimeslotController.java
0 → 100644
1 | +package org.jeecg.modules.basics.timesetting.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 | +import org.jeecg.modules.basics.timesetting.entity.Timeslot; | |
16 | +import org.jeecg.modules.basics.timesetting.service.ITimeslotService; | |
17 | + | |
18 | +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |
19 | +import com.baomidou.mybatisplus.core.metadata.IPage; | |
20 | +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |
21 | +import lombok.extern.slf4j.Slf4j; | |
22 | + | |
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-02-17 | |
43 | + * @Version: V1.0 | |
44 | + */ | |
45 | +@Api(tags="时间段设置") | |
46 | +@RestController | |
47 | +@RequestMapping("/timesetting/timeslot") | |
48 | +@Slf4j | |
49 | +public class TimeslotController extends JeecgController<Timeslot, ITimeslotService> { | |
50 | + @Autowired | |
51 | + private ITimeslotService timeslotService; | |
52 | + | |
53 | + /** | |
54 | + * 分页列表查询 | |
55 | + * | |
56 | + * @param timeslot | |
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<?> queryPageList(Timeslot timeslot, | |
66 | + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, | |
67 | + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, | |
68 | + HttpServletRequest req) { | |
69 | + QueryWrapper<Timeslot> queryWrapper = QueryGenerator.initQueryWrapper(timeslot, req.getParameterMap()); | |
70 | + Page<Timeslot> page = new Page<Timeslot>(pageNo, pageSize); | |
71 | + IPage<Timeslot> pageList = timeslotService.page(page, queryWrapper); | |
72 | + return Result.OK(pageList); | |
73 | + } | |
74 | + | |
75 | + /** | |
76 | + * 添加 | |
77 | + * | |
78 | + * @param timeslot | |
79 | + * @return | |
80 | + */ | |
81 | + @AutoLog(value = "时间段设置-添加") | |
82 | + @ApiOperation(value="时间段设置-添加", notes="时间段设置-添加") | |
83 | + @PostMapping(value = "/add") | |
84 | + public Result<?> add(@RequestBody Timeslot timeslot) { | |
85 | + timeslotService.save(timeslot); | |
86 | + return Result.OK("添加成功!"); | |
87 | + } | |
88 | + | |
89 | + /** | |
90 | + * 编辑 | |
91 | + * | |
92 | + * @param timeslot | |
93 | + * @return | |
94 | + */ | |
95 | + @AutoLog(value = "时间段设置-编辑") | |
96 | + @ApiOperation(value="时间段设置-编辑", notes="时间段设置-编辑") | |
97 | + @PutMapping(value = "/edit") | |
98 | + public Result<?> edit(@RequestBody Timeslot timeslot) { | |
99 | + timeslotService.updateById(timeslot); | |
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<?> delete(@RequestParam(name="id",required=true) String id) { | |
113 | + timeslotService.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<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) { | |
127 | + this.timeslotService.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<?> queryById(@RequestParam(name="id",required=true) String id) { | |
141 | + Timeslot timeslot = timeslotService.getById(id); | |
142 | + if(timeslot==null) { | |
143 | + return Result.error("未找到对应数据"); | |
144 | + } | |
145 | + return Result.OK(timeslot); | |
146 | + } | |
147 | + | |
148 | + /** | |
149 | + * 导出excel | |
150 | + * | |
151 | + * @param request | |
152 | + * @param timeslot | |
153 | + */ | |
154 | + @RequestMapping(value = "/exportXls") | |
155 | + public ModelAndView exportXls(HttpServletRequest request, Timeslot timeslot) { | |
156 | + return super.exportXls(request, timeslot, Timeslot.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, Timeslot.class); | |
169 | + } | |
170 | + | |
171 | +} | |
... | ... |
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/basics/timesetting/entity/Timeslot.java
0 → 100644
1 | +package org.jeecg.modules.basics.timesetting.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-02-17 | |
24 | + * @Version: V1.0 | |
25 | + */ | |
26 | +@Data | |
27 | +@TableName("timeslot") | |
28 | +@Accessors(chain = true) | |
29 | +@EqualsAndHashCode(callSuper = false) | |
30 | +@ApiModel(value="timeslot对象", description="时间段设置") | |
31 | +public class Timeslot 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 | + /**pid*/ | |
39 | + @Excel(name = "pid", width = 15) | |
40 | + @ApiModelProperty(value = "pid") | |
41 | + private Integer pid; | |
42 | + /**时间段*/ | |
43 | + @Excel(name = "时间段", width = 15) | |
44 | + @ApiModelProperty(value = "时间段") | |
45 | + private String timeslot; | |
46 | + /**次数*/ | |
47 | + @Excel(name = "次数", width = 15) | |
48 | + @ApiModelProperty(value = "次数") | |
49 | + private Integer quota; | |
50 | + /**开关*/ | |
51 | + @Excel(name = "开关", width = 15) | |
52 | + @ApiModelProperty(value = "开关") | |
53 | + private String state; | |
54 | + /**备注*/ | |
55 | + @Excel(name = "备注", width = 15) | |
56 | + @ApiModelProperty(value = "备注") | |
57 | + private String remarks; | |
58 | + /**创建人*/ | |
59 | + @ApiModelProperty(value = "创建人") | |
60 | + private String createBy; | |
61 | + /**创建日期*/ | |
62 | + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") | |
63 | + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") | |
64 | + @ApiModelProperty(value = "创建日期") | |
65 | + private Date createTime; | |
66 | + /**更新人*/ | |
67 | + @ApiModelProperty(value = "更新人") | |
68 | + private String updateBy; | |
69 | + /**更新日期*/ | |
70 | + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") | |
71 | + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") | |
72 | + @ApiModelProperty(value = "更新日期") | |
73 | + private Date updateTime; | |
74 | + /**所属部门*/ | |
75 | + @ApiModelProperty(value = "所属部门") | |
76 | + private String sysOrgCode; | |
77 | +} | |
... | ... |
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/basics/timesetting/mapper/TimeslotMapper.java
0 → 100644
1 | +package org.jeecg.modules.basics.timesetting.mapper; | |
2 | + | |
3 | +import java.util.List; | |
4 | + | |
5 | +import org.apache.ibatis.annotations.Param; | |
6 | +import org.jeecg.modules.basics.timesetting.entity.Timeslot; | |
7 | +import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |
8 | + | |
9 | +/** | |
10 | + * @Description: 时间段设置 | |
11 | + * @Author: jeecg-boot | |
12 | + * @Date: 2022-02-17 | |
13 | + * @Version: V1.0 | |
14 | + */ | |
15 | +public interface TimeslotMapper extends BaseMapper<Timeslot> { | |
16 | + | |
17 | +} | |
... | ... |
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/basics/timesetting/mapper/xml/TimeslotMapper.xml
0 → 100644
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/basics/timesetting/service/ITimeslotService.java
0 → 100644
1 | +package org.jeecg.modules.basics.timesetting.service; | |
2 | + | |
3 | +import org.jeecg.modules.basics.timesetting.entity.Timeslot; | |
4 | +import com.baomidou.mybatisplus.extension.service.IService; | |
5 | + | |
6 | +/** | |
7 | + * @Description: 时间段设置 | |
8 | + * @Author: jeecg-boot | |
9 | + * @Date: 2022-02-17 | |
10 | + * @Version: V1.0 | |
11 | + */ | |
12 | +public interface ITimeslotService extends IService<Timeslot> { | |
13 | + | |
14 | +} | |
... | ... |
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/basics/timesetting/service/impl/TimeslotServiceImpl.java
0 → 100644
1 | +package org.jeecg.modules.basics.timesetting.service.impl; | |
2 | + | |
3 | +import org.jeecg.modules.basics.timesetting.entity.Timeslot; | |
4 | +import org.jeecg.modules.basics.timesetting.mapper.TimeslotMapper; | |
5 | +import org.jeecg.modules.basics.timesetting.service.ITimeslotService; | |
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-02-17 | |
14 | + * @Version: V1.0 | |
15 | + */ | |
16 | +@Service | |
17 | +public class TimeslotServiceImpl extends ServiceImpl<TimeslotMapper, Timeslot> implements ITimeslotService { | |
18 | + | |
19 | +} | |
... | ... |
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/reserve/reservationsubmission/controller/ReservationSubmissionController.java
... | ... | @@ -9,12 +9,8 @@ import java.io.UnsupportedEncodingException; |
9 | 9 | import java.net.URLDecoder; |
10 | 10 | import javax.servlet.http.HttpServletRequest; |
11 | 11 | import javax.servlet.http.HttpServletResponse; |
12 | - | |
13 | -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |
14 | -import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |
15 | 12 | import org.jeecg.common.api.vo.Result; |
16 | 13 | import org.jeecg.common.system.query.QueryGenerator; |
17 | -import org.jeecg.common.system.vo.DictModel; | |
18 | 14 | import org.jeecg.common.util.oConvertUtils; |
19 | 15 | import org.jeecg.modules.reserve.reservationsubmission.entity.ReservationSubmission; |
20 | 16 | import org.jeecg.modules.reserve.reservationsubmission.service.IReservationSubmissionService; |
... | ... | @@ -24,8 +20,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; |
24 | 20 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
25 | 21 | import lombok.extern.slf4j.Slf4j; |
26 | 22 | |
27 | -import org.jeecg.modules.system.service.ISysDictItemService; | |
28 | -import org.jeecg.modules.system.service.ISysDictService; | |
29 | 23 | import org.jeecgframework.poi.excel.ExcelImportUtil; |
30 | 24 | import org.jeecgframework.poi.excel.def.NormalExcelConstants; |
31 | 25 | import org.jeecgframework.poi.excel.entity.ExportParams; |
... | ... | @@ -45,7 +39,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; |
45 | 39 | /** |
46 | 40 | * @Description: 预约表 |
47 | 41 | * @Author: jeecg-boot |
48 | - * @Date: 2022-02-14 | |
42 | + * @Date: 2022-02-18 | |
49 | 43 | * @Version: V1.0 |
50 | 44 | */ |
51 | 45 | @Api(tags="预约表") |
... | ... | @@ -55,11 +49,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; |
55 | 49 | public class ReservationSubmissionController extends JeecgController<ReservationSubmission, IReservationSubmissionService> { |
56 | 50 | @Autowired |
57 | 51 | private IReservationSubmissionService reservationSubmissionService; |
58 | - @Autowired | |
59 | - private ISysDictService sysDictService; | |
60 | - @Autowired | |
61 | - private ISysDictItemService sysDictItemService; | |
62 | - | |
52 | + | |
63 | 53 | /** |
64 | 54 | * 分页列表查询 |
65 | 55 | * |
... | ... | @@ -81,7 +71,7 @@ public class ReservationSubmissionController extends JeecgController<Reservation |
81 | 71 | IPage<ReservationSubmission> pageList = reservationSubmissionService.page(page, queryWrapper); |
82 | 72 | return Result.OK(pageList); |
83 | 73 | } |
84 | - | |
74 | + | |
85 | 75 | /** |
86 | 76 | * 添加 |
87 | 77 | * |
... | ... | @@ -95,7 +85,7 @@ public class ReservationSubmissionController extends JeecgController<Reservation |
95 | 85 | reservationSubmissionService.save(reservationSubmission); |
96 | 86 | return Result.OK("添加成功!"); |
97 | 87 | } |
98 | - | |
88 | + | |
99 | 89 | /** |
100 | 90 | * 编辑 |
101 | 91 | * |
... | ... | @@ -109,7 +99,7 @@ public class ReservationSubmissionController extends JeecgController<Reservation |
109 | 99 | reservationSubmissionService.updateById(reservationSubmission); |
110 | 100 | return Result.OK("编辑成功!"); |
111 | 101 | } |
112 | - | |
102 | + | |
113 | 103 | /** |
114 | 104 | * 通过id删除 |
115 | 105 | * |
... | ... | @@ -123,39 +113,7 @@ public class ReservationSubmissionController extends JeecgController<Reservation |
123 | 113 | reservationSubmissionService.removeById(id); |
124 | 114 | return Result.OK("删除成功!"); |
125 | 115 | } |
126 | - | |
127 | - | |
128 | - | |
129 | - /** | |
130 | - * 取消预约功能 | |
131 | - * @param | |
132 | - * @return | |
133 | - */ | |
134 | - @AutoLog(value = "预约表-通过id删除") | |
135 | - @ApiOperation(value="预约表-通过id删除", notes="预约表-通过id删除") | |
136 | - @PostMapping(value = "/cancel") | |
137 | - public Result<?> cancel(@RequestBody ReservationSubmission reservationSubmission) { | |
138 | - LambdaQueryWrapper<ReservationSubmission> lambdaQueryWrapper = Wrappers.lambdaQuery(); | |
139 | - lambdaQueryWrapper.eq(ReservationSubmission::getOrderNumber,reservationSubmission.getOrderNumber()) | |
140 | - .eq(ReservationSubmission::getPhoneNumber,reservationSubmission.getPhoneNumber()) | |
141 | - .ne(ReservationSubmission::getStare,0); | |
142 | - ReservationSubmission one = reservationSubmissionService.getOne(lambdaQueryWrapper); | |
143 | - | |
144 | - if (one!=null) | |
145 | - { | |
146 | - String cancel = sysDictService.queryDictTextByKey("cancel", reservationSubmission.getRemark()); | |
147 | - one.setStare(0); | |
148 | - one.setRemark("因为要"+cancel+"操作取消人手机号是:"+reservationSubmission.getSubmitPhone()); | |
149 | - boolean b = reservationSubmissionService.updateById(one); | |
150 | - return Result.OK("取消成功!"); | |
151 | - } | |
152 | - else | |
153 | - { | |
154 | - return Result.error("取消失败,请确保每项填写正确!"); | |
155 | - } | |
156 | - } | |
157 | - | |
158 | - | |
116 | + | |
159 | 117 | /** |
160 | 118 | * 批量删除 |
161 | 119 | * |
... | ... | @@ -169,7 +127,7 @@ public class ReservationSubmissionController extends JeecgController<Reservation |
169 | 127 | this.reservationSubmissionService.removeByIds(Arrays.asList(ids.split(","))); |
170 | 128 | return Result.OK("批量删除成功!"); |
171 | 129 | } |
172 | - | |
130 | + | |
173 | 131 | /** |
174 | 132 | * 通过id查询 |
175 | 133 | * |
... | ... |
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/reserve/reservationsubmission/entity/ReservationSubmission.java
... | ... | @@ -20,7 +20,7 @@ import lombok.experimental.Accessors; |
20 | 20 | /** |
21 | 21 | * @Description: 预约表 |
22 | 22 | * @Author: jeecg-boot |
23 | - * @Date: 2022-02-14 | |
23 | + * @Date: 2022-02-18 | |
24 | 24 | * @Version: V1.0 |
25 | 25 | */ |
26 | 26 | @Data |
... | ... | @@ -36,9 +36,14 @@ public class ReservationSubmission implements Serializable { |
36 | 36 | @ApiModelProperty(value = "主键") |
37 | 37 | private String id; |
38 | 38 | /**预约时间*/ |
39 | - @Excel(name = "预约时间", width = 15) | |
39 | + @Excel(name = "预约时间", width = 15, dicCode = "time") | |
40 | + @Dict(dicCode = "time") | |
40 | 41 | @ApiModelProperty(value = "预约时间") |
41 | 42 | private String appointmentTime; |
43 | + /**时间段*/ | |
44 | + @Excel(name = "时间段", width = 15) | |
45 | + @ApiModelProperty(value = "时间段") | |
46 | + private String timeSelection; | |
42 | 47 | /**订单号*/ |
43 | 48 | @Excel(name = "订单号", width = 15) |
44 | 49 | @ApiModelProperty(value = "订单号") |
... | ... |
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/reserve/reservationsubmission/mapper/ReservationSubmissionMapper.java
... | ... | @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
9 | 9 | /** |
10 | 10 | * @Description: 预约表 |
11 | 11 | * @Author: jeecg-boot |
12 | - * @Date: 2022-02-14 | |
12 | + * @Date: 2022-02-18 | |
13 | 13 | * @Version: V1.0 |
14 | 14 | */ |
15 | 15 | public interface ReservationSubmissionMapper extends BaseMapper<ReservationSubmission> { |
... | ... |
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/reserve/reservationsubmission/service/IReservationSubmissionService.java
... | ... | @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; |
6 | 6 | /** |
7 | 7 | * @Description: 预约表 |
8 | 8 | * @Author: jeecg-boot |
9 | - * @Date: 2022-02-14 | |
9 | + * @Date: 2022-02-18 | |
10 | 10 | * @Version: V1.0 |
11 | 11 | */ |
12 | 12 | public interface IReservationSubmissionService extends IService<ReservationSubmission> { |
... | ... |
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/reserve/reservationsubmission/service/impl/ReservationSubmissionServiceImpl.java
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/LoginController.java
... | ... | @@ -72,21 +72,9 @@ public class LoginController { |
72 | 72 | //update-begin--Author:scott Date:20190805 for:暂时注释掉密码加密逻辑,有点问题 |
73 | 73 | |
74 | 74 | //update-begin-author:taoyan date:20190828 for:校验验证码 |
75 | - String captcha = sysLoginModel.getCaptcha(); | |
76 | - if(captcha==null){ | |
77 | - result.error500("验证码无效"); | |
78 | - return result; | |
79 | - } | |
80 | - String lowerCaseCaptcha = captcha.toLowerCase(); | |
81 | - String realKey = MD5Util.MD5Encode(lowerCaseCaptcha+sysLoginModel.getCheckKey(), "utf-8"); | |
82 | - Object checkCode = redisUtil.get(realKey); | |
83 | - //当进入登录页时,有一定几率出现验证码错误 #1714 | |
84 | - if(checkCode==null || !checkCode.toString().equals(lowerCaseCaptcha)) { | |
85 | - result.error500("验证码错误"); | |
86 | - return result; | |
87 | - } | |
75 | + | |
88 | 76 | //update-end-author:taoyan date:20190828 for:校验验证码 |
89 | - | |
77 | + | |
90 | 78 | //1. 校验用户是否有效 |
91 | 79 | //update-begin-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false |
92 | 80 | LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); |
... | ... | @@ -97,7 +85,7 @@ public class LoginController { |
97 | 85 | if(!result.isSuccess()) { |
98 | 86 | return result; |
99 | 87 | } |
100 | - | |
88 | + | |
101 | 89 | //2. 校验用户名或密码是否正确 |
102 | 90 | String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt()); |
103 | 91 | String syspassword = sysUser.getPassword(); |
... | ... | @@ -105,11 +93,10 @@ public class LoginController { |
105 | 93 | result.error500("用户名或密码错误"); |
106 | 94 | return result; |
107 | 95 | } |
108 | - | |
96 | + | |
109 | 97 | //用户登录信息 |
110 | 98 | userInfo(sysUser, result); |
111 | 99 | //update-begin--Author:liusq Date:20210126 for:登录成功,删除redis中的验证码 |
112 | - redisUtil.del(realKey); | |
113 | 100 | //update-begin--Author:liusq Date:20210126 for:登录成功,删除redis中的验证码 |
114 | 101 | LoginUser loginUser = new LoginUser(); |
115 | 102 | BeanUtils.copyProperties(sysUser, loginUser); |
... | ... | @@ -141,7 +128,7 @@ public class LoginController { |
141 | 128 | return result; |
142 | 129 | |
143 | 130 | } |
144 | - | |
131 | + | |
145 | 132 | /** |
146 | 133 | * 退出登录 |
147 | 134 | * @param request |
... | ... | @@ -175,7 +162,7 @@ public class LoginController { |
175 | 162 | return Result.error("Token无效!"); |
176 | 163 | } |
177 | 164 | } |
178 | - | |
165 | + | |
179 | 166 | /** |
180 | 167 | * 获取访问量 |
181 | 168 | * @return |
... | ... | @@ -206,7 +193,7 @@ public class LoginController { |
206 | 193 | result.success("登录成功"); |
207 | 194 | return result; |
208 | 195 | } |
209 | - | |
196 | + | |
210 | 197 | /** |
211 | 198 | * 获取访问量 |
212 | 199 | * @return |
... | ... | @@ -227,8 +214,8 @@ public class LoginController { |
227 | 214 | result.setResult(oConvertUtils.toLowerCasePageList(list)); |
228 | 215 | return result; |
229 | 216 | } |
230 | - | |
231 | - | |
217 | + | |
218 | + | |
232 | 219 | /** |
233 | 220 | * 登陆成功选择用户当前部门 |
234 | 221 | * @param user |
... | ... | @@ -253,7 +240,7 @@ public class LoginController { |
253 | 240 | |
254 | 241 | /** |
255 | 242 | * 短信登录接口 |
256 | - * | |
243 | + * | |
257 | 244 | * @param jsonObject |
258 | 245 | * @return |
259 | 246 | */ |
... | ... | @@ -302,7 +289,7 @@ public class LoginController { |
302 | 289 | } |
303 | 290 | return result; |
304 | 291 | } |
305 | - | |
292 | + | |
306 | 293 | /** |
307 | 294 | * smsmode 短信模板方式 0 .登录模板、1.注册模板、2.忘记密码模板 |
308 | 295 | */ |
... | ... | @@ -334,11 +321,11 @@ public class LoginController { |
334 | 321 | } |
335 | 322 | return result; |
336 | 323 | } |
337 | - | |
324 | + | |
338 | 325 | |
339 | 326 | /** |
340 | 327 | * 手机号登录接口 |
341 | - * | |
328 | + * | |
342 | 329 | * @param jsonObject |
343 | 330 | * @return |
344 | 331 | */ |
... | ... | @@ -347,14 +334,14 @@ public class LoginController { |
347 | 334 | public Result<JSONObject> phoneLogin(@RequestBody JSONObject jsonObject) { |
348 | 335 | Result<JSONObject> result = new Result<JSONObject>(); |
349 | 336 | String phone = jsonObject.getString("mobile"); |
350 | - | |
337 | + | |
351 | 338 | //校验用户有效性 |
352 | 339 | SysUser sysUser = sysUserService.getUserByPhone(phone); |
353 | 340 | result = sysUserService.checkUserIsEffective(sysUser); |
354 | 341 | if(!result.isSuccess()) { |
355 | 342 | return result; |
356 | 343 | } |
357 | - | |
344 | + | |
358 | 345 | String smscode = jsonObject.getString("captcha"); |
359 | 346 | Object code = redisUtil.get(phone); |
360 | 347 | if (!smscode.equals(code)) { |
... | ... | @@ -463,7 +450,7 @@ public class LoginController { |
463 | 450 | } |
464 | 451 | return res; |
465 | 452 | } |
466 | - | |
453 | + | |
467 | 454 | /** |
468 | 455 | * app登录 |
469 | 456 | * @param sysLoginModel |
... | ... | @@ -475,14 +462,14 @@ public class LoginController { |
475 | 462 | Result<JSONObject> result = new Result<JSONObject>(); |
476 | 463 | String username = sysLoginModel.getUsername(); |
477 | 464 | String password = sysLoginModel.getPassword(); |
478 | - | |
465 | + | |
479 | 466 | //1. 校验用户是否有效 |
480 | 467 | SysUser sysUser = sysUserService.getUserByName(username); |
481 | 468 | result = sysUserService.checkUserIsEffective(sysUser); |
482 | 469 | if(!result.isSuccess()) { |
483 | 470 | return result; |
484 | 471 | } |
485 | - | |
472 | + | |
486 | 473 | //2. 校验用户名或密码是否正确 |
487 | 474 | String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt()); |
488 | 475 | String syspassword = sysUser.getPassword(); |
... | ... | @@ -490,7 +477,7 @@ public class LoginController { |
490 | 477 | result.error500("用户名或密码错误"); |
491 | 478 | return result; |
492 | 479 | } |
493 | - | |
480 | + | |
494 | 481 | String orgCode = sysUser.getOrgCode(); |
495 | 482 | if(oConvertUtils.isEmpty(orgCode)) { |
496 | 483 | //如果当前用户无选择部门 查看部门关联信息 |
... | ... | @@ -506,7 +493,7 @@ public class LoginController { |
506 | 493 | JSONObject obj = new JSONObject(); |
507 | 494 | //用户登录信息 |
508 | 495 | obj.put("userInfo", sysUser); |
509 | - | |
496 | + | |
510 | 497 | // 生成token |
511 | 498 | String token = JwtUtil.sign(username, syspassword); |
512 | 499 | // 设置超时时间 |
... | ... | @@ -529,18 +516,8 @@ public class LoginController { |
529 | 516 | */ |
530 | 517 | @RequestMapping(value = "/checkCaptcha", method = RequestMethod.POST) |
531 | 518 | public Result<?> checkCaptcha(@RequestBody SysLoginModel sysLoginModel){ |
532 | - String captcha = sysLoginModel.getCaptcha(); | |
533 | 519 | String checkKey = sysLoginModel.getCheckKey(); |
534 | - if(captcha==null){ | |
535 | - return Result.error("验证码无效"); | |
536 | - } | |
537 | - String lowerCaseCaptcha = captcha.toLowerCase(); | |
538 | - String realKey = MD5Util.MD5Encode(lowerCaseCaptcha+checkKey, "utf-8"); | |
539 | - Object checkCode = redisUtil.get(realKey); | |
540 | - if(checkCode==null || !checkCode.equals(lowerCaseCaptcha)) { | |
541 | - return Result.error("验证码错误"); | |
542 | - } | |
543 | 520 | return Result.ok(); |
544 | 521 | } |
545 | 522 | |
546 | -} | |
547 | 523 | \ No newline at end of file |
524 | +} | |
... | ... |
jeecg-boot/jeecg-boot-module-system/src/main/resources/application-dev.yml
... | ... | @@ -131,7 +131,7 @@ spring: |
131 | 131 | connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 |
132 | 132 | datasource: |
133 | 133 | master: |
134 | - url: jdbc:mysql://127.0.0.1:3306/wms_guangxijianyi?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai | |
134 | + url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai | |
135 | 135 | username: root |
136 | 136 | password: 123456 |
137 | 137 | driver-class-name: com.mysql.cj.jdbc.Driver |
... | ... |
jeecg-boot/jeecg-boot-module-system/src/main/resources/application-prod.yml
... | ... | @@ -131,7 +131,7 @@ spring: |
131 | 131 | connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 |
132 | 132 | datasource: |
133 | 133 | master: |
134 | - url: jdbc:mysql://127.0.0.1:3306/wms_guangxijianyi?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai | |
134 | + url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai | |
135 | 135 | username: root |
136 | 136 | password: 123456 |
137 | 137 | driver-class-name: com.mysql.cj.jdbc.Driver |
... | ... |
jeecg-boot/jeecg-boot-module-system/src/main/resources/application-test.yml
... | ... | @@ -131,7 +131,7 @@ spring: |
131 | 131 | connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 |
132 | 132 | datasource: |
133 | 133 | master: |
134 | - url: jdbc:mysql://127.0.0.1:3306/wms_guangxijianyi?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai | |
134 | + url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai | |
135 | 135 | username: root |
136 | 136 | password: 123456 |
137 | 137 | driver-class-name: com.mysql.cj.jdbc.Driver |
... | ... |