Commit e7e60e0705fd1708bafe616727a9bd4aa7719f52
1 parent
06aa26f8
调整-11-29-a
Showing
6 changed files
with
24 additions
and
226 deletions
trash-framework/src/main/java/com/trash/framework/config/SecurityConfig.java
| @@ -125,7 +125,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter | @@ -125,7 +125,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter | ||
| 125 | // .antMatchers("/user/logout").anonymous() | 125 | // .antMatchers("/user/logout").anonymous() |
| 126 | .antMatchers("/system/post/all").anonymous() | 126 | .antMatchers("/system/post/all").anonymous() |
| 127 | .antMatchers("/system/user/all").anonymous() | 127 | .antMatchers("/system/user/all").anonymous() |
| 128 | - .antMatchers("/order/queryByCarCode").anonymous() | 128 | + .antMatchers("/order/queryByCarCode/**").anonymous() |
| 129 | // .antMatchers("/workflow/add").anonymous()//测试 | 129 | // .antMatchers("/workflow/add").anonymous()//测试 |
| 130 | // .antMatchers("/workflow/addtest").anonymous()//测试 | 130 | // .antMatchers("/workflow/addtest").anonymous()//测试 |
| 131 | // 除上面外的所有请求全部需要鉴权认证 | 131 | // 除上面外的所有请求全部需要鉴权认证 |
trash-garbage/src/main/java/com/trash/garbage/controller/GarbageOrderController.java
| @@ -327,9 +327,9 @@ public class GarbageOrderController { | @@ -327,9 +327,9 @@ public class GarbageOrderController { | ||
| 327 | } | 327 | } |
| 328 | 328 | ||
| 329 | @GetMapping("/queryByCarCode/{carCode}") | 329 | @GetMapping("/queryByCarCode/{carCode}") |
| 330 | - public Result<String> queryByCarCode(@PathVariable("carCode") String carCode) { | ||
| 331 | - System.out.println("进入2"); | ||
| 332 | - return Result.OK(garOrderMatchHandlerService.queryOrderNo(carCode)); | 330 | + public Result<OrderDetailVo> queryByCarCode(@PathVariable("carCode") String carCode) { |
| 331 | + String orderNo = garOrderMatchHandlerService.queryOrderNo(carCode); | ||
| 332 | + return Result.OK(garOrderService.queryOrderWebDetail(orderNo)); | ||
| 333 | } | 333 | } |
| 334 | 334 | ||
| 335 | @GetMapping("/evaluate/detail/{orderId}") | 335 | @GetMapping("/evaluate/detail/{orderId}") |
trash-garbage/src/main/java/com/trash/garbage/mapper/GarOrderMatchAskMapper.java
| @@ -66,6 +66,8 @@ public interface GarOrderMatchAskMapper extends BaseMapper<GarOrderMatchAsk> { | @@ -66,6 +66,8 @@ public interface GarOrderMatchAskMapper extends BaseMapper<GarOrderMatchAsk> { | ||
| 66 | 66 | ||
| 67 | int queryGarOrderMatchAsks(String orderId); | 67 | int queryGarOrderMatchAsks(String orderId); |
| 68 | 68 | ||
| 69 | + List<GarOrderMatchAsk> selectGarOrderMatchAskByOrderId(String orderId); | ||
| 70 | + | ||
| 69 | int queryErrType(String phone); | 71 | int queryErrType(String phone); |
| 70 | 72 | ||
| 71 | GarOrderMatchAsk selectByGarOrderAskId(String garOrderId); | 73 | GarOrderMatchAsk selectByGarOrderAskId(String garOrderId); |
| @@ -77,6 +79,7 @@ public interface GarOrderMatchAskMapper extends BaseMapper<GarOrderMatchAsk> { | @@ -77,6 +79,7 @@ public interface GarOrderMatchAskMapper extends BaseMapper<GarOrderMatchAsk> { | ||
| 77 | int addDriverSend(DriverSend driverSend); | 79 | int addDriverSend(DriverSend driverSend); |
| 78 | int updateDriverSendState(DriverSend driverSend); | 80 | int updateDriverSendState(DriverSend driverSend); |
| 79 | DriverSend queryDriverSend(String phoneNumber); | 81 | DriverSend queryDriverSend(String phoneNumber); |
| 82 | + | ||
| 80 | } | 83 | } |
| 81 | 84 | ||
| 82 | 85 |
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderMatchAskServiceImpl.java
| @@ -31,9 +31,7 @@ public class GarOrderMatchAskServiceImpl extends ServiceImpl<GarOrderMatchAskMap | @@ -31,9 +31,7 @@ public class GarOrderMatchAskServiceImpl extends ServiceImpl<GarOrderMatchAskMap | ||
| 31 | 31 | ||
| 32 | @Override | 32 | @Override |
| 33 | public List<GarOrderMatchAsk> queryByOrderId(String orderId) { | 33 | public List<GarOrderMatchAsk> queryByOrderId(String orderId) { |
| 34 | - LambdaQueryWrapper<GarOrderMatchAsk> wrapper = new LambdaQueryWrapper<>(); | ||
| 35 | - wrapper.eq(GarOrderMatchAsk::getGarOrderId, orderId); | ||
| 36 | - return list(wrapper); | 34 | + return garOrderMatchAskMapper.selectGarOrderMatchAskByOrderId(orderId); |
| 37 | } | 35 | } |
| 38 | 36 | ||
| 39 | /** | 37 | /** |
trash-garbage/src/main/resources/mapper/GarOrderMatchAskMapper.xml
| @@ -113,6 +113,21 @@ | @@ -113,6 +113,21 @@ | ||
| 113 | order by gar_create_time desc | 113 | order by gar_create_time desc |
| 114 | </select> | 114 | </select> |
| 115 | 115 | ||
| 116 | + <select id="selectGarOrderMatchAskByOrderId" parameterType="String" resultMap="GarOrderMatchAskResult"> | ||
| 117 | + select a.gar_id,a.gar_order_id,a.gar_order_handler_tel, | ||
| 118 | + a.gar_order_handler_name,a.gar_order_container_volume, | ||
| 119 | + a.gar_order_handler_id,a.gar_handler_car_code,a.gar_order_handler_company_id, | ||
| 120 | + a.gar_order_handler_company_name,a.gar_create_time,a.gar_update_time,a.gar_create_by, | ||
| 121 | + a.gar_update_by,a.gar_remark,a.gar_carrying_weight,a.drop_point_id,a.drop_point_name, | ||
| 122 | + a.gar_order_type,a.disposal_id,a.disposal_site_name,a.gar_order_number,a.gar_order_phone, | ||
| 123 | + a.gar_order_name,a.drop_custodian_phone,a.drop_address,a.drop_car_num,a.gar_car_code,a.create_time, | ||
| 124 | + a.create_by,a.update_time,a.update_by,a.gar_order_time,a.transport_distance,b.drop_point_no | ||
| 125 | + from gar_order_match_ask a | ||
| 126 | + left join drop_point_info b | ||
| 127 | + on a.drop_point_id = b.id | ||
| 128 | + where a.gar_order_id = #{gar_order_id} | ||
| 129 | + </select> | ||
| 130 | + | ||
| 116 | <select id="selectGarOrderMatchAskById" parameterType="String" resultMap="GarOrderMatchAskResult"> | 131 | <select id="selectGarOrderMatchAskById" parameterType="String" resultMap="GarOrderMatchAskResult"> |
| 117 | 132 | ||
| 118 | select gar_id,gar_order_id,gar_order_handler_tel, | 133 | select gar_id,gar_order_id,gar_order_handler_tel, |
| @@ -126,7 +141,7 @@ | @@ -126,7 +141,7 @@ | ||
| 126 | from gar_order_match_ask a | 141 | from gar_order_match_ask a |
| 127 | left join drop_point_info b | 142 | left join drop_point_info b |
| 128 | on a.drop_point_id = b.id | 143 | on a.drop_point_id = b.id |
| 129 | - where gar_id = #{garId} | 144 | + where gar_order_id = #{gar_order_id} |
| 130 | </select> | 145 | </select> |
| 131 | 146 | ||
| 132 | <insert id="insertGarOrderMatchAsk" parameterType="GarOrderMatchAsk"> | 147 | <insert id="insertGarOrderMatchAsk" parameterType="GarOrderMatchAsk"> |
trash-ui/src/views/ask/ask/orderDetail.vue deleted
100644 → 0
| 1 | - | ||
| 2 | -<template> | ||
| 3 | - <div class="order-detail-container"> | ||
| 4 | - <div class="header"> | ||
| 5 | - <h1>装修垃圾收运处电子联单</h1> | ||
| 6 | - </div> | ||
| 7 | - | ||
| 8 | - <div class="order-info"> | ||
| 9 | - <div class="order-number"> | ||
| 10 | - <span>联单编号:<span class="highlight">{{ form.garOrderNumber }}</span></span> | ||
| 11 | - </div> | ||
| 12 | - | ||
| 13 | - <table class="detail-table"> | ||
| 14 | - <!-- 投放端信息 --> | ||
| 15 | - <tr> | ||
| 16 | - <td colspan="4" class="section-header"> | ||
| 17 | - 投放端信息 | ||
| 18 | - </td> | ||
| 19 | - </tr> | ||
| 20 | - <tr> | ||
| 21 | - <td class="label">投放点编号</td> | ||
| 22 | - <td>{{ form.dropPointNo || '-' }}</td> | ||
| 23 | - <td class="label">运距</td> | ||
| 24 | - <td>{{ form.transportDistance || '-' }}</td> | ||
| 25 | - </tr> | ||
| 26 | - <tr> | ||
| 27 | - <td class="label">投放点名称</td> | ||
| 28 | - <td>{{ form.dropPointName || '-' }}</td> | ||
| 29 | - <td class="label">订单时间</td> | ||
| 30 | - <td>{{ form.garOrderTime || '-' }}</td> | ||
| 31 | - </tr> | ||
| 32 | - <tr> | ||
| 33 | - <td class="label">联系电话</td> | ||
| 34 | - <td>{{ form.garOrderPhone || '-' }}</td> | ||
| 35 | - <td class="label">车次</td> | ||
| 36 | - <td v-if="form.dropCarNum!==0">{{ form.dropCarNum }}/{{ dropCarNum }}</td> | ||
| 37 | - <td v-else>-</td> | ||
| 38 | - </tr> | ||
| 39 | - <tr> | ||
| 40 | - <td class="label">投放地址</td> | ||
| 41 | - <td colspan="3">{{ form.dropAddress || '-' }}</td> | ||
| 42 | - </tr> | ||
| 43 | - | ||
| 44 | - <!-- 运输端信息 --> | ||
| 45 | - <tr> | ||
| 46 | - <td colspan="4" class="section-header"> | ||
| 47 | - 运输端信息 | ||
| 48 | - </td> | ||
| 49 | - </tr> | ||
| 50 | - <tr> | ||
| 51 | - <td class="label">运输单位</td> | ||
| 52 | - <td>{{ form.garOrderHandlerCompanyName || '-' }}</td> | ||
| 53 | - <td class="label">运输时间</td> | ||
| 54 | - <td>{{ form.garCreateTime || '-' }}</td> | ||
| 55 | - </tr> | ||
| 56 | - <tr> | ||
| 57 | - <td class="label">车牌号</td> | ||
| 58 | - <td>{{ form.garCarCode || '-' }}</td> | ||
| 59 | - <td class="label">驾驶员</td> | ||
| 60 | - <td>{{ form.garOrderHandlerName || '-' }}</td> | ||
| 61 | - </tr> | ||
| 62 | - | ||
| 63 | - <!-- 处置端信息 --> | ||
| 64 | - <tr> | ||
| 65 | - <td colspan="4" class="section-header"> | ||
| 66 | - 处置端信息 | ||
| 67 | - </td> | ||
| 68 | - </tr> | ||
| 69 | - <tr> | ||
| 70 | - <td class="label">处置场名称</td> | ||
| 71 | - <td>{{ form.disposalSiteName || '-' }}</td> | ||
| 72 | - <td class="label">接收时间</td> | ||
| 73 | - <td>{{ form.garUpdateTime || '-' }}</td> | ||
| 74 | - </tr> | ||
| 75 | - <tr> | ||
| 76 | - <td class="label">接收车牌</td> | ||
| 77 | - <td>{{ form.garHandlerCarCode || '-' }}</td> | ||
| 78 | - <td class="label">载重(吨)</td> | ||
| 79 | - <td>{{ form.garCarryingWeight || '-' }}</td> | ||
| 80 | - </tr> | ||
| 81 | - | ||
| 82 | - <!-- 备注 --> | ||
| 83 | - <tr> | ||
| 84 | - <td class="label">备注</td> | ||
| 85 | - <td colspan="3">{{ form.garRemark || '-' }}</td> | ||
| 86 | - </tr> | ||
| 87 | - </table> | ||
| 88 | - </div> | ||
| 89 | - | ||
| 90 | - <div class="actions"> | ||
| 91 | - <el-button type="primary" @click="handlePrint">打印</el-button> | ||
| 92 | - <el-button type="primary" @click="exportToPDF">导出PDF</el-button> | ||
| 93 | - </div> | ||
| 94 | - </div> | ||
| 95 | -</template> | ||
| 96 | - | ||
| 97 | -<script>import { getAsk } from "@/api/ask/ask"; | ||
| 98 | -import html2pdf from 'html2pdf.js' | ||
| 99 | - | ||
| 100 | -export default { | ||
| 101 | - name: "OrderDetail", | ||
| 102 | - data() { | ||
| 103 | - return { | ||
| 104 | - // 表单参数 | ||
| 105 | - form: {}, | ||
| 106 | - dropCarNum: 0 | ||
| 107 | - }; | ||
| 108 | - }, | ||
| 109 | - created() { | ||
| 110 | - const orderId = this.$route.params.orderId || this.$route.query.orderId; | ||
| 111 | - if (orderId) { | ||
| 112 | - this.getOrderDetail(orderId); | ||
| 113 | - } else { | ||
| 114 | - this.$message.error("缺少订单ID参数"); | ||
| 115 | - } | ||
| 116 | - }, | ||
| 117 | - methods: { | ||
| 118 | - /** 获取订单详情 */ | ||
| 119 | - getOrderDetail(orderId) { | ||
| 120 | - getAsk(orderId).then(response => { | ||
| 121 | - this.form = response.data; | ||
| 122 | - }).catch(error => { | ||
| 123 | - this.$message.error("获取订单详情失败: " + error.message); | ||
| 124 | - }); | ||
| 125 | - }, | ||
| 126 | - | ||
| 127 | - /** 导出为PDF */ | ||
| 128 | - exportToPDF() { | ||
| 129 | - const element = document.querySelector('.order-detail-container'); | ||
| 130 | - | ||
| 131 | - const opt = { | ||
| 132 | - margin: 10, | ||
| 133 | - filename: `装修垃圾收运处电子联单_${this.form.garOrderNumber}.pdf`, | ||
| 134 | - image: { type: 'jpeg', quality: 0.98 }, | ||
| 135 | - html2canvas: { scale: 2 }, | ||
| 136 | - jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' } | ||
| 137 | - }; | ||
| 138 | - | ||
| 139 | - html2pdf().set(opt).from(element).save(); | ||
| 140 | - }, | ||
| 141 | - | ||
| 142 | - /** 打印 */ | ||
| 143 | - handlePrint() { | ||
| 144 | - window.print(); | ||
| 145 | - } | ||
| 146 | - } | ||
| 147 | -}; | ||
| 148 | -</script> | ||
| 149 | - | ||
| 150 | -<style lang="scss" scoped>.order-detail-container { | ||
| 151 | - max-width: 1000px; | ||
| 152 | - margin: 0 auto; | ||
| 153 | - padding: 20px; | ||
| 154 | - background: #fff; | ||
| 155 | - | ||
| 156 | - .header { | ||
| 157 | - text-align: center; | ||
| 158 | - margin-bottom: 20px; | ||
| 159 | - | ||
| 160 | - h1 { | ||
| 161 | - font-size: 24px; | ||
| 162 | - color: #333; | ||
| 163 | - margin: 0; | ||
| 164 | - } | ||
| 165 | - } | ||
| 166 | - | ||
| 167 | - .order-info { | ||
| 168 | - .order-number { | ||
| 169 | - font-size: 18px; | ||
| 170 | - margin-bottom: 20px; | ||
| 171 | - | ||
| 172 | - .highlight { | ||
| 173 | - color: red; | ||
| 174 | - font-weight: bold; | ||
| 175 | - } | ||
| 176 | - } | ||
| 177 | - | ||
| 178 | - .detail-table { | ||
| 179 | - width: 100%; | ||
| 180 | - border-collapse: collapse; | ||
| 181 | - font-size: 14px; | ||
| 182 | - text-align: left; | ||
| 183 | - margin-bottom: 20px; | ||
| 184 | - | ||
| 185 | - .section-header { | ||
| 186 | - background: #f5f7fa; | ||
| 187 | - font-weight: 600; | ||
| 188 | - padding: 10px; | ||
| 189 | - } | ||
| 190 | - | ||
| 191 | - td { | ||
| 192 | - border: 1px solid #333; | ||
| 193 | - padding: 10px; | ||
| 194 | - | ||
| 195 | - &.label { | ||
| 196 | - background-color: #f9f9f9; | ||
| 197 | - font-weight: 500; | ||
| 198 | - width: 20%; | ||
| 199 | - } | ||
| 200 | - } | ||
| 201 | - } | ||
| 202 | - } | ||
| 203 | - | ||
| 204 | - .actions { | ||
| 205 | - text-align: center; | ||
| 206 | - | ||
| 207 | - .el-button { | ||
| 208 | - margin: 0 10px; | ||
| 209 | - } | ||
| 210 | - } | ||
| 211 | -} | ||
| 212 | - | ||
| 213 | -@media print { | ||
| 214 | - .actions { | ||
| 215 | - display: none; | ||
| 216 | - } | ||
| 217 | -} | ||
| 218 | -</style> |