作者 小范

优化出勤车辆和出勤历史两个界面

@@ -15,3 +15,8 @@ export const selectHistroy = params => { return axios.get(`${baseServiceURL}/map @@ -15,3 +15,8 @@ export const selectHistroy = params => { return axios.get(`${baseServiceURL}/map
15 15
16 //出勤车辆 16 //出勤车辆
17 export const selectList = params => { return axios.get(`${baseServiceURL}/map/location/selectList`, { params: params }); }; 17 export const selectList = params => { return axios.get(`${baseServiceURL}/map/location/selectList`, { params: params }); };
  18 +export const DoneTask = params => { return http.post(`${baseServiceURL}/map/location/DoneTask`, params); };
  19 +
  20 +//根据用户查询所属出勤车辆
  21 +export const selectNameList = params => { return axios.get(`${baseServiceURL}/map/location/selectNameList`, { params: params }); };
  22 +
@@ -34,66 +34,23 @@ @@ -34,66 +34,23 @@
34 fixed 34 fixed
35 prop="lisenceNo" 35 prop="lisenceNo"
36 label="车牌号" 36 label="车牌号"
37 - width="120"> 37 + width="150">
38 </el-table-column> 38 </el-table-column>
39 <el-table-column 39 <el-table-column
40 prop="username" 40 prop="username"
41 label="用户名" 41 label="用户名"
42 - width="120"> 42 + width="150">
43 </el-table-column> 43 </el-table-column>
44 <el-table-column 44 <el-table-column
45 prop="starttime" 45 prop="starttime"
46 label="开始时间" 46 label="开始时间"
47 - width="120"> 47 + width="200">
48 </el-table-column> 48 </el-table-column>
49 <el-table-column 49 <el-table-column
50 prop="endtime" 50 prop="endtime"
51 label="结束时间" 51 label="结束时间"
52 - width="120"> 52 + width="200">
53 </el-table-column> 53 </el-table-column>
54 -<!-- <el-table-column-->  
55 -<!-- prop="orderState"-->  
56 -<!-- label="支付状态"-->  
57 -<!-- width="120">-->  
58 -<!-- <template slot-scope="scope">-->  
59 -<!-- <span v-if="scope.row.orderState ==='000'">未支付</span>-->  
60 -<!-- <span v-if="scope.row.orderState ==='001'">已支付</span>-->  
61 -<!-- <span v-if="scope.row.orderState ==='111'">作废</span>-->  
62 -<!-- </template>-->  
63 -<!-- </el-table-column>-->  
64 -<!-- <el-table-column-->  
65 -<!-- prop="orderOperatorId"-->  
66 -<!-- label="经办人"-->  
67 -<!-- width="120">-->  
68 -<!-- </el-table-column>-->  
69 -<!-- <el-table-column-->  
70 -<!-- prop="orderTotalAmount"-->  
71 -<!-- label="订单总额度"-->  
72 -<!-- width="120">-->  
73 -<!-- </el-table-column>-->  
74 -<!-- <el-table-column-->  
75 -<!-- prop="orderCreatTime"-->  
76 -<!-- label="订单创建时间"-->  
77 -<!-- width="150">-->  
78 -<!-- </el-table-column>-->  
79 -<!-- <el-table-column-->  
80 -<!-- prop="orderUpdateTime"-->  
81 -<!-- label="订单修改时间"-->  
82 -<!-- width="150">-->  
83 -<!-- </el-table-column>-->  
84 -<!-- <el-table-column-->  
85 -<!-- prop="orderRemark"-->  
86 -<!-- label="备注">-->  
87 -<!-- </el-table-column>-->  
88 -<!-- <el-table-column-->  
89 -<!-- fixed="right"-->  
90 -<!-- label="操作"-->  
91 -<!-- width="160">-->  
92 -<!-- <template slot-scope="scope">-->  
93 -<!-- <el-button type="success" size="mini" @click="applyEdit(scope.row)">编辑</el-button>-->  
94 -<!-- <el-button type="danger" size="mini" @click="applyDel(scope.row)">删除</el-button>-->  
95 -<!-- </template>-->  
96 -<!-- </el-table-column>-->  
97 </el-table> 54 </el-table>
98 </template> 55 </template>
99 </el-row> 56 </el-row>
@@ -261,7 +218,7 @@ @@ -261,7 +218,7 @@
261 return _this.$message.error('获取消息收发记录,失败!') 218 return _this.$message.error('获取消息收发记录,失败!')
262 } 219 }
263 // 获取列表数据 220 // 获取列表数据
264 - _this.tableData = res.data 221 + _this.tableData = res.data.list
265 // 获取列表的总记录数 222 // 获取列表的总记录数
266 _this.total = res.data.total 223 _this.total = res.data.total
267 _this.$message.success('获取消息收发记录,成功!') 224 _this.$message.success('获取消息收发记录,成功!')
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <el-card style="background-color: #F5F7FA"> 3 <el-card style="background-color: #F5F7FA">
4 <!-- 搜索区域--> 4 <!-- 搜索区域-->
5 <el-row class="toolbar"> 5 <el-row class="toolbar">
6 - <el-form :model="queryInfo" :rules="rules" ref="ruleForm"> 6 + <el-form :model="queryInfo">
7 <el-col :span="6"> 7 <el-col :span="6">
8 <el-form-item label="" prop="lisenceNo"> 8 <el-form-item label="" prop="lisenceNo">
9 <el-input v-model="queryInfo.lisenceNo" size="small" style="width: 170px" 9 <el-input v-model="queryInfo.lisenceNo" size="small" style="width: 170px"
@@ -22,7 +22,6 @@ @@ -22,7 +22,6 @@
22 </el-row> 22 </el-row>
23 <!-- 列表区域--> 23 <!-- 列表区域-->
24 <el-row> 24 <el-row>
25 - <template>  
26 <el-table 25 <el-table
27 :data="tableData" 26 :data="tableData"
28 border 27 border
@@ -43,20 +42,17 @@ @@ -43,20 +42,17 @@
43 </el-table-column> 42 </el-table-column>
44 <el-table-column 43 <el-table-column
45 prop="starttime" 44 prop="starttime"
46 - label="开始时间" 45 + label="开始时间">
  46 + </el-table-column>
  47 + <el-table-column
  48 + fixed="right"
  49 + label="操作"
47 width="120"> 50 width="120">
  51 + <template slot-scope="scope">
  52 + <el-button type="danger" size="mini" @click="applyEnd(scope.row)">结束出勤</el-button>
  53 + </template>
48 </el-table-column> 54 </el-table-column>
49 - <!-- <el-table-column-->  
50 - <!-- fixed="right"-->  
51 - <!-- label="操作"-->  
52 - <!-- width="160">-->  
53 - <!-- <template slot-scope="scope">-->  
54 - <!-- <el-button type="success" size="mini" @click="applyEdit(scope.row)">编辑</el-button>-->  
55 - <!-- <el-button type="danger" size="mini" @click="applyDel(scope.row)">删除</el-button>-->  
56 - <!-- </template>-->  
57 - <!-- </el-table-column>-->  
58 </el-table> 55 </el-table>
59 - </template>  
60 </el-row> 56 </el-row>
61 <el-row style="margin-top: 10px" class="toolbar"> 57 <el-row style="margin-top: 10px" class="toolbar">
62 <el-pagination 58 <el-pagination
@@ -69,99 +65,18 @@ @@ -69,99 +65,18 @@
69 :total="total"> 65 :total="total">
70 </el-pagination> 66 </el-pagination>
71 </el-row> 67 </el-row>
72 - <el-row>  
73 - <el-dialog :title="dialogMap[dialogApply]" :visible.sync="apply_dialog" width="70%" >  
74 - <el-form :model="addForm" :rules="rules" ref="addForm" style="margin-top: 40px">  
75 - <el-row>  
76 - <el-col :span="11">  
77 - <el-form-item label=" " :label-width="formLabelWidth" prop="orderAuthorName">  
78 - <el-input v-model="addForm.orderAuthorName" autocomplete="off" size="small" style="width: 350px">  
79 - <template slot="prepend">结算人名称</template>  
80 - </el-input>  
81 - </el-form-item>  
82 - </el-col>  
83 - <el-col :span="12">  
84 - <el-form-item label=" " :label-width="formLabelWidth" prop="orderAuthorid">  
85 - <el-input v-model="addForm.orderAuthorid" autocomplete="off" size="small" style="width: 350px">  
86 - <template slot="prepend">结算人ID</template>  
87 - </el-input>  
88 - </el-form-item>  
89 - </el-col>  
90 - </el-row>  
91 - <el-row>  
92 - <el-col :span="11">  
93 - <el-form-item label=" " :label-width="formLabelWidth" prop="orderOperatorId">  
94 - <el-input v-model="addForm.orderOperatorId" autocomplete="off" size="small" style="width: 350px">  
95 - <template slot="prepend">经办人</template>  
96 - </el-input>  
97 - </el-form-item>  
98 - </el-col>  
99 - <el-col :span="12">  
100 - <el-form-item label=" " :label-width="formLabelWidth" prop="orderTotalAmount">  
101 - <el-input v-model="addForm.orderTotalAmount" autocomplete="off" size="small" style="width: 350px">  
102 - <template slot="prepend">订单总额度</template>  
103 - </el-input>  
104 - </el-form-item>  
105 - </el-col>  
106 - </el-row>  
107 - <el-row>  
108 - <el-col :span="11">  
109 - <el-form-item label=" " :label-width="formLabelWidth" prop="orderType">  
110 - <div class="my-text-area">  
111 - <div class="el-input-group__prepend prepand">支付方式</div>  
112 - <el-select v-model="addForm.orderType" placeholder="请选择生效状态" size="small" style="width: 260px">  
113 - <el-option label="现金" value="现金"></el-option>  
114 - <el-option label="微信" value="微信"></el-option>  
115 - <el-option label="支付宝" value="支付宝"></el-option>  
116 - <el-option label="银行转账" value="银行转账"></el-option>  
117 - </el-select>  
118 - </div>  
119 - </el-form-item>  
120 - </el-col>  
121 - <el-col :span="12">  
122 - <el-form-item label=" " :label-width="formLabelWidth" prop="orderState">  
123 - <div class="my-text-area">  
124 - <div class="el-input-group__prepend prepand">支付状态</div>  
125 - <el-select v-model="addForm.orderState" placeholder="请选择生效状态" size="small" style="width: 260px">  
126 - <el-option label="未支付" value="000"></el-option>  
127 - <el-option label="已支付" value="001"></el-option>  
128 - <el-option label="作废" value="111"></el-option>  
129 - </el-select>  
130 - </div>  
131 - </el-form-item>  
132 - </el-col>  
133 - </el-row>  
134 - <el-row>  
135 - <el-col :span="11">  
136 - <el-form-item label=" " :label-width="formLabelWidth" prop="orderRemark">  
137 - <el-input v-model="addForm.orderRemark" autocomplete="off" size="small" style="width: 350px">  
138 - <template slot="prepend">备注</template>  
139 - </el-input>  
140 - </el-form-item>  
141 - </el-col>  
142 - </el-row>  
143 - </el-form>  
144 - <div slot="footer" class="dialog-footer">  
145 - <el-button @click="apply_dialog = false" size="small">取 消</el-button>  
146 - <el-button type="primary" @click="dialogApply==='create'?add():edit()" size="small">提 交</el-button>  
147 - </div>  
148 - </el-dialog>  
149 - </el-row>  
150 </el-card> 68 </el-card>
151 </el-row> 69 </el-row>
152 </template> 70 </template>
153 71
154 <script> 72 <script>
155 - import {selectList} from '../../api/consigner/vehicle'; 73 + import {selectList,DoneTask} from '../../api/consigner/vehicle';
156 74
157 export default { 75 export default {
158 - name: "conveyance",  
159 data() { 76 data() {
160 return { 77 return {
161 queryInfo: { 78 queryInfo: {
162 lisenceNo:'', 79 lisenceNo:'',
163 - // busnessType:'',  
164 - // state:'',  
165 // 当前页数 80 // 当前页数
166 pageNum: 1, 81 pageNum: 1,
167 // 每页几条数据 82 // 每页几条数据
@@ -169,30 +84,6 @@ @@ -169,30 +84,6 @@
169 }, 84 },
170 total: 0, 85 total: 0,
171 tableData:[], 86 tableData:[],
172 - dialogMap: {  
173 - update: '编辑',  
174 - create: '新增'  
175 - },  
176 - dis: undefined,  
177 - dialogApply: 'create',  
178 - apply_dialog: false,  
179 - addForm: {  
180 - orderAuthorName: '',  
181 - orderAuthorid: '',  
182 - orderCreatTime: '',  
183 - orderOperatorId: '',  
184 - orderRemark: '',  
185 - orderState: '',  
186 - orderTotalAmount:'',  
187 - orderUpdateTime:'',  
188 - orderType:''  
189 - },  
190 - formLabelWidth: '120px',  
191 - rules: {  
192 - companyId: [  
193 - // { required: true, message: '必填', trigger: 'change' }  
194 - ],  
195 - },  
196 } 87 }
197 }, 88 },
198 methods: { 89 methods: {
@@ -213,7 +104,7 @@ @@ -213,7 +104,7 @@
213 return _this.$message.error('获取消息收发记录,失败!') 104 return _this.$message.error('获取消息收发记录,失败!')
214 } 105 }
215 // 获取列表数据 106 // 获取列表数据
216 - _this.tableData = res.data 107 + _this.tableData = res.data.list;
217 // 获取列表的总记录数 108 // 获取列表的总记录数
218 _this.total = res.data.total 109 _this.total = res.data.total
219 _this.$message.success('获取消息收发记录,成功!') 110 _this.$message.success('获取消息收发记录,成功!')
@@ -222,86 +113,16 @@ @@ -222,86 +113,16 @@
222 _this.$message.error(error.toString()) 113 _this.$message.error(error.toString())
223 }) 114 })
224 }, 115 },
225 - // 添加对话框,打开事件  
226 - applyAdd() {  
227 - this.addForm = {  
228 - orderAuthorName: '',  
229 - orderAuthorid: '',  
230 - orderCreatTime: '',  
231 - orderOperatorId: '',  
232 - orderRemark: '',  
233 - orderState: '',  
234 - orderTotalAmount:'',  
235 - orderUpdateTime:'',  
236 - orderType:''  
237 - };  
238 - this.dialogApply= 'create';  
239 - this.dis= 'create';  
240 - this.apply_dialog = true;  
241 - },  
242 - // 添加功能  
243 - add() {  
244 - this.$refs.addForm.validate(valid => {  
245 - // 未通过,表单预校验  
246 - if (!valid) return;  
247 - save(this.addForm).then((response) => {  
248 - let res = response.data;  
249 - // 添加失败  
250 - if (res.code !== '200') {  
251 - return this.$message.error(res.msg);  
252 - }  
253 - // 添加,成功  
254 - this.$message.success(res.msg);  
255 - // 隐藏对话框  
256 - this.apply_dialog = false;  
257 - // 刷新列表  
258 - this.getList();  
259 - }).catch(error => {  
260 - this.$message.error(error.toString());  
261 - });  
262 - })  
263 - },  
264 -// 打开编辑  
265 - applyEdit(row) {  
266 - this.apply_dialog = true;  
267 - this.dialogApply = 'update';  
268 - this.dis= 'update';  
269 - this.addForm=row;  
270 - },  
271 - // 编辑功能  
272 - edit() {  
273 - // 进行表单的预验证  
274 - this.$refs.addForm.validate(valid => {  
275 - // 未通过,表单预校验  
276 - if (!valid) return  
277 - edit(this.addForm).then((response) => {  
278 - // console.log(row)  
279 - const res = response.data  
280 - if (res.code != '200') {  
281 - return this.$message.error(res.msg)  
282 - }  
283 - this.$message.success(res.msg)  
284 - // 隐藏对话框  
285 - this.apply_dialog = false  
286 - // 刷新列表  
287 - this.getList()  
288 - }).catch(error => {  
289 - this.$message.error(error.toString())  
290 - })  
291 - })  
292 - },  
293 - // 删除  
294 - applyDel(row) {  
295 - // 弹框询问是否删除?  
296 - this.$confirm('此操作永久删除该消息收发记录, 是否继续?', '警告', {  
297 - confirmButtonText: '确定删除', 116 + // 结束出勤
  117 + applyEnd(row) {
  118 + // 弹框询问是否结束?
  119 + this.$confirm('是否继续?', '警告', {
  120 + confirmButtonText: '确定结束',
298 cancelButtonText: '取消', 121 cancelButtonText: '取消',
299 type: 'warning' 122 type: 'warning'
300 } 123 }
301 ).then(() => { 124 ).then(() => {
302 - // console.log(row);  
303 - remove(row).then((response) => {  
304 - // console.log(row) 125 + DoneTask(row).then((response) => {
305 const res = response.data 126 const res = response.data
306 this.$message.success(res.msg) 127 this.$message.success(res.msg)
307 this.getList() 128 this.getList()
@@ -314,36 +135,8 @@ @@ -314,36 +135,8 @@
314 }, 135 },
315 mounted() { 136 mounted() {
316 this.getList(); 137 this.getList();
317 - // this.getYardList();  
318 -  
319 } 138 }
320 139
321 } 140 }
322 </script> 141 </script>
323 142
324 -<style scoped>  
325 - .toolbar{  
326 - height: 60px;  
327 - background-color: white;  
328 - /*line-height: 60px;*/  
329 - vertical-align: middle;  
330 - border-radius: 5px 5px 5px 5px;  
331 - padding: 15px 0 0 20px;  
332 - box-shadow: 0px 5px 5px #e5e8eb;  
333 - }  
334 - .my-text-area .prepand{  
335 - float: left;  
336 - width:89px;  
337 - height: 28px;  
338 - font-size: 12px;  
339 - line-height: 28px;  
340 - }  
341 -</style>  
342 -<style>  
343 - .my-text-area .el-textarea__inner{  
344 - min-height: 28px;  
345 - height: 28px;  
346 - border-bottom-left-radius: 0;  
347 - border-top-left-radius: 0;  
348 - }  
349 -</style>