Showing
29 changed files
with
553 additions
and
4955 deletions
src/api/examine-api.js
deleted
100644 → 0
| 1 | -import request from '@/utils/request' | ||
| 2 | - | ||
| 3 | -/** | ||
| 4 | - * 运单、口岸、站点、预审查看详情(CD类都有) | ||
| 5 | - * @param id | ||
| 6 | - * @param pageIndex | ||
| 7 | - * @param pageSize | ||
| 8 | - * @returns | ||
| 9 | - */ | ||
| 10 | -export function getConsInfo(data) { | ||
| 11 | - return request({ | ||
| 12 | - url: '/bus-employees/chm/qry/staff/consInfo', | ||
| 13 | - method: 'post', | ||
| 14 | - data: data, | ||
| 15 | - }) | ||
| 16 | -} | ||
| 17 | - | ||
| 18 | -/** | ||
| 19 | - * 申报日志查看C类 | ||
| 20 | - * @param {} data | ||
| 21 | - * @returns | ||
| 22 | - */ | ||
| 23 | -export function getLogC(data) { | ||
| 24 | - return request({ | ||
| 25 | - url: '/bus-customer/declared/list/conId', | ||
| 26 | - method: 'post', | ||
| 27 | - data: data, | ||
| 28 | - }) | ||
| 29 | -} | ||
| 30 | - | ||
| 31 | -/** | ||
| 32 | - * 申报日志查看D类 | ||
| 33 | - * @param {} data | ||
| 34 | - * @returns | ||
| 35 | - */ | ||
| 36 | -export function getLogD(data) { | ||
| 37 | - return request({ | ||
| 38 | - url: '/bus-customer/consignment/back/info', | ||
| 39 | - method: 'post', | ||
| 40 | - data: data, | ||
| 41 | - }) | ||
| 42 | -} | ||
| 43 | - | ||
| 44 | -/** | ||
| 45 | - * D类文件图片查询(右侧) | ||
| 46 | - * @param id | ||
| 47 | - * @param pageIndex | ||
| 48 | - * @param pageSize | ||
| 49 | - * @returns | ||
| 50 | - */ | ||
| 51 | -export function getAttachment(data) { | ||
| 52 | - return request({ | ||
| 53 | - url: '/bus-employees/attachment/paged/query', | ||
| 54 | - method: 'post', | ||
| 55 | - data: data, | ||
| 56 | - }) | ||
| 57 | -} | ||
| 58 | - | ||
| 59 | -/** | ||
| 60 | - * 获取汇率 | ||
| 61 | - * @returns | ||
| 62 | - */ | ||
| 63 | -export function getExchangeRate() { | ||
| 64 | - return request({ | ||
| 65 | - url: '/manager-server/dicEntries/getExchangeRate', | ||
| 66 | - method: 'get', | ||
| 67 | - }) | ||
| 68 | -} | ||
| 69 | - | ||
| 70 | -/** | ||
| 71 | - * 获取文件 | ||
| 72 | - * @returns | ||
| 73 | - */ | ||
| 74 | -export function getFiles(data) { | ||
| 75 | - return request({ | ||
| 76 | - url: '/manager-server/attachment/list/slipIdForPic', | ||
| 77 | - method: 'post', | ||
| 78 | - data: data, | ||
| 79 | - }) | ||
| 80 | -} | ||
| 81 | - | ||
| 82 | -/** | ||
| 83 | - * 预审通过/不通过/保存 | ||
| 84 | - * { | ||
| 85 | - "consignmentId":0,//运单id Long | ||
| 86 | - "flag":1,//流程标志,2为保存,1为审批通过,0为审批不通过 Integer | ||
| 87 | - "rejectRemark": "",//审批备注 String | ||
| 88 | - "portPreAuditFlag":null, //口岸是否预审 String | ||
| 89 | - "approvalTimeFirst":null ,//第一次审批时间 Data | ||
| 90 | - "attachmentsList":[{ | ||
| 91 | - "id":0, | ||
| 92 | - "name":"",//文件名 | ||
| 93 | - "rotateAngle":90,//顺时针旋转角度 | ||
| 94 | - "documentsCheck":1//预审中心的申报单证是否打勾/0=否,1=是 | ||
| 95 | - }] | ||
| 96 | -} | ||
| 97 | - * @returns | ||
| 98 | - */ | ||
| 99 | -// export function approval(data) { | ||
| 100 | -// return request({ | ||
| 101 | -// url: '/bus-employees/rde/op/approval', | ||
| 102 | -// method: 'post', | ||
| 103 | -// data: data, | ||
| 104 | -// }) | ||
| 105 | -// } | ||
| 106 | -export function saveApproval(data) { | ||
| 107 | - let formData = new FormData(); | ||
| 108 | - if (data.pic == null) { | ||
| 109 | - formData.append("pic", null); | ||
| 110 | - } else { | ||
| 111 | - formData.append("pic", data.pic, data.info.origFileName); | ||
| 112 | - } | ||
| 113 | - formData.append("info", JSON.stringify(data.info)); | ||
| 114 | - return request({ | ||
| 115 | - url: '/bus-employees/rde/op/detail/save', | ||
| 116 | - method: 'post', | ||
| 117 | - data: formData, | ||
| 118 | - }) | ||
| 119 | -} | ||
| 120 | - | ||
| 121 | - | ||
| 122 | - | ||
| 123 | -/** | ||
| 124 | - * 审批通过 | ||
| 125 | - *@param pic * 旋转附件 | ||
| 126 | - *@param info * 参数json | ||
| 127 | - * @returns | ||
| 128 | - */ | ||
| 129 | -export function approved(data) { | ||
| 130 | - let formData = new FormData(); | ||
| 131 | - if (data.pic == null) { | ||
| 132 | - formData.append("pic", null); | ||
| 133 | - } else { | ||
| 134 | - formData.append("pic", data.pic, data.info.origFileName); | ||
| 135 | - } | ||
| 136 | - formData.append("info", JSON.stringify(data.info)); | ||
| 137 | - return request({ | ||
| 138 | - url: '/bus-employees/rde/op/approved', | ||
| 139 | - method: 'post', | ||
| 140 | - data: formData, | ||
| 141 | - }) | ||
| 142 | -} | ||
| 143 | - | ||
| 144 | -/** | ||
| 145 | - * 审批不通过 | ||
| 146 | - *@param chmId * 运单id | ||
| 147 | - *@param remark * 审批备注 | ||
| 148 | - * @returns | ||
| 149 | - */ | ||
| 150 | -export function approvalReject(data) { | ||
| 151 | - return request({ | ||
| 152 | - url: '/bus-employees/rde/op/reject', | ||
| 153 | - method: 'post', | ||
| 154 | - data: data, | ||
| 155 | - }) | ||
| 156 | -} | ||
| 157 | - | ||
| 158 | - | ||
| 159 | -//委托书盖章 | ||
| 160 | -/** | ||
| 161 | - * @param pic * 图片 | ||
| 162 | - * @param info * 其余参数 | ||
| 163 | - */ | ||
| 164 | -export function rdeimgStamp(data) { | ||
| 165 | - let formData = new FormData(); | ||
| 166 | - if (data.pic == null) { | ||
| 167 | - formData.append("pic", null); | ||
| 168 | - } else { | ||
| 169 | - formData.append("pic", data.pic, data.info.origFileName); | ||
| 170 | - } | ||
| 171 | - formData.append("info", JSON.stringify(data.info)); | ||
| 172 | - return request({ | ||
| 173 | - url: '/bus-employees/rde/op/execute/stamp', | ||
| 174 | - method: 'post', | ||
| 175 | - data: formData, | ||
| 176 | - }) | ||
| 177 | -} | ||
| 178 | - | ||
| 179 | -// //委托书盖章 | ||
| 180 | -// /** | ||
| 181 | -// * @param attachmentId * 附件id | ||
| 182 | -// * @param pickUpCityId * 取件城市id | ||
| 183 | -// * @param fileName * 文件名 | ||
| 184 | -// * @param consignmentId * 运单id | ||
| 185 | -// * @param rotateAngle * 旋转角度 | ||
| 186 | -// */ | ||
| 187 | -// export function rdeimgStamp(data) { | ||
| 188 | -// return request({ | ||
| 189 | -// url: '/bus-employees/rde/op/stamp', | ||
| 190 | -// method: 'post', | ||
| 191 | -// data: data | ||
| 192 | -// }) | ||
| 193 | -// } | ||
| 194 | - | ||
| 195 | -//撤销盖章 | ||
| 196 | -/** | ||
| 197 | - * @param chmId * 运单id | ||
| 198 | - */ | ||
| 199 | -export function rdeimgRestamp(data) { | ||
| 200 | - return request({ | ||
| 201 | - url: '/bus-employees/rde/op/cancel/stamp', | ||
| 202 | - method: 'post', | ||
| 203 | - data: data | ||
| 204 | - }) | ||
| 205 | -} | ||
| 206 | - | ||
| 207 | -// //撤销盖章 | ||
| 208 | -// /** | ||
| 209 | -// * @param attachmentsPicDtoList * 附件表对象 | ||
| 210 | -// * @param consignmentId * 运单id | ||
| 211 | -// */ | ||
| 212 | -// export function rdeimgRestamp(data) { | ||
| 213 | -// return request({ | ||
| 214 | -// url: '/bus-employees/rde/op/stamp/retract', | ||
| 215 | -// method: 'post', | ||
| 216 | -// data: data | ||
| 217 | -// }) | ||
| 218 | -// } | ||
| 219 | - | ||
| 220 | -//下载清关文件 | ||
| 221 | -/** | ||
| 222 | - * @param consignmentId * 运单id | ||
| 223 | - */ | ||
| 224 | -export function downloadEntryFiles(data) { | ||
| 225 | - return request({ | ||
| 226 | - url: '/bus-employees/attachment/download/pdforzip/' + data.consignmentId, | ||
| 227 | - method: 'get', | ||
| 228 | - data: data | ||
| 229 | - }) | ||
| 230 | -} | ||
| 231 | - | ||
| 232 | -//下载清关文件 | ||
| 233 | -/** | ||
| 234 | - * @param id * 运单id | ||
| 235 | - * @param report * 0预览1打印 | ||
| 236 | - */ | ||
| 237 | -export function rdeEntryFileView(data) { | ||
| 238 | - return request({ | ||
| 239 | - url: '/bus-customer/pdf/print/report', | ||
| 240 | - method: 'post', | ||
| 241 | - data: data | ||
| 242 | - }) | ||
| 243 | -} | ||
| 244 | - | ||
| 245 | -//切换图片保存旋转 | ||
| 246 | -/** | ||
| 247 | - * @param chmId * 运单id | ||
| 248 | - * @param attachmentId * 附件id | ||
| 249 | - * @param origFileName * 文件名去掉back_ | ||
| 250 | - * @param pic 附件流 | ||
| 251 | - */ | ||
| 252 | -export function setImgRoate(data) { | ||
| 253 | - let formData = new FormData(); | ||
| 254 | - if (data.pic != null) { | ||
| 255 | - formData.append("pic", data.pic, data.info.origFileName); | ||
| 256 | - } else { | ||
| 257 | - formData.append('pic', null) | ||
| 258 | - } | ||
| 259 | - formData.append('info', JSON.stringify(data.info)) | ||
| 260 | - return request({ | ||
| 261 | - url: '/bus-employees/rde/op/revolve', | ||
| 262 | - method: 'post', | ||
| 263 | - data: formData | ||
| 264 | - }) | ||
| 265 | -} | ||
| 266 | - | ||
| 267 | -//图片选择状态保存 | ||
| 268 | -/** | ||
| 269 | - * @param attachmentId * 附件id | ||
| 270 | - * @param isDocumentCheck * 勾选状态 | ||
| 271 | - */ | ||
| 272 | -export function setDocumentCheck(data) { | ||
| 273 | - return request({ | ||
| 274 | - url: '/bus-employees/rde/op/select', | ||
| 275 | - method: 'post', | ||
| 276 | - data: data | ||
| 277 | - }) | ||
| 278 | -} | ||
| 279 | - | ||
| 280 | -//图片选择状态保存 | ||
| 281 | -/** | ||
| 282 | - * @param id * 运单id | ||
| 283 | - */ | ||
| 284 | -export function getFileDataFromPort(data) { | ||
| 285 | - return request({ | ||
| 286 | - url: '/bus-employees/port/op/paged/query', | ||
| 287 | - method: 'post', | ||
| 288 | - data: data | ||
| 289 | - }) | ||
| 290 | -} | ||
| 291 | - | ||
| 292 | -//图片选择状态保存 | ||
| 293 | -/** | ||
| 294 | - * @param consignmentCode * 运单号 | ||
| 295 | - * @param consignmentId * 运单id | ||
| 296 | - * @param list * { | ||
| 297 | - * fileName | ||
| 298 | - * fileSavePath | ||
| 299 | - * fileSize | ||
| 300 | - * selectTypeCode | ||
| 301 | - * uploadTime | ||
| 302 | - * uploadUser | ||
| 303 | - * } | ||
| 304 | - */ | ||
| 305 | -export function saveImgFileTypeData(data) { | ||
| 306 | - return request({ | ||
| 307 | - url: '/bus-employees/port/op/document/classify', | ||
| 308 | - method: 'post', | ||
| 309 | - data: data | ||
| 310 | - }) | ||
| 311 | -} | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | import request from '@/utils/request' | 1 | import request from '@/utils/request' |
| 2 | 2 | ||
| 3 | -//审批效验 | 3 | +//订单详情 |
| 4 | /** | 4 | /** |
| 5 | */ | 5 | */ |
| 6 | -export function check(data) { | 6 | +export function getOrderDetailData(data) { |
| 7 | return request({ | 7 | return request({ |
| 8 | - url: '/bus-employees/rde/op/approve/check', | 8 | + url: '/bus-customer/exportOrder/info/' + data.orderId, |
| 9 | - method: 'post', | 9 | + method: 'get', |
| 10 | - data: data | ||
| 11 | - }) | ||
| 12 | -} | ||
| 13 | - | ||
| 14 | -//审批 | ||
| 15 | -/** | ||
| 16 | - */ | ||
| 17 | -export function isApproval(data) { | ||
| 18 | - return request({ | ||
| 19 | - url: '/bus-employees/rde/op/IsApproval', | ||
| 20 | - method: 'post', | ||
| 21 | data: data | 10 | data: data |
| 22 | }) | 11 | }) |
| 23 | } | 12 | } |
| 24 | 13 | ||
| 25 | -//查找是否有新的预审信息 | 14 | +//订单详情 |
| 26 | /** | 15 | /** |
| 27 | */ | 16 | */ |
| 28 | -export function getNewApprovalType(data) { | 17 | +export function getOrderLogata(data) { |
| 29 | return request({ | 18 | return request({ |
| 30 | - url: '/bus-employees/chmConsignmentApproveController/getSendPromptMessageInfo', | 19 | + url: '/bus-customer/exportOrder/receipt/' + data.orderNo, |
| 31 | method: 'get', | 20 | method: 'get', |
| 32 | data: data | 21 | data: data |
| 33 | }) | 22 | }) | ... | ... |
| ... | @@ -2,10 +2,18 @@ import request from '@/utils/request' | ... | @@ -2,10 +2,18 @@ import request from '@/utils/request' |
| 2 | 2 | ||
| 3 | // 登录方法 | 3 | // 登录方法 |
| 4 | export function login(loginName, password, rememberMe, equipmentType, userAgent, selectedLocale) { | 4 | export function login(loginName, password, rememberMe, equipmentType, userAgent, selectedLocale) { |
| 5 | + // const data = { | ||
| 6 | + // loginName, | ||
| 7 | + // password, | ||
| 8 | + // rememberMe | ||
| 9 | + // } | ||
| 5 | const data = { | 10 | const data = { |
| 6 | - loginName, | 11 | + "email": "247908967@qq.com", |
| 7 | - password, | 12 | + "name": "肖玉兰", |
| 8 | - rememberMe | 13 | + "phone": 18221643976, |
| 14 | + "port": "TSN", | ||
| 15 | + "purpleId": 6, | ||
| 16 | + "role": 170 | ||
| 9 | } | 17 | } |
| 10 | return request({ | 18 | return request({ |
| 11 | url: '/bus-customer/login', | 19 | url: '/bus-customer/login', | ... | ... |
| ... | @@ -831,7 +831,7 @@ input:disabled { | ... | @@ -831,7 +831,7 @@ input:disabled { |
| 831 | 831 | ||
| 832 | .fedexDetialTable { | 832 | .fedexDetialTable { |
| 833 | width: auto; | 833 | width: auto; |
| 834 | - height: 100%; | 834 | + // height: 100%; |
| 835 | position: relative; | 835 | position: relative; |
| 836 | 836 | ||
| 837 | .el-table::before { | 837 | .el-table::before { | ... | ... |
| 1 | -<template> | ||
| 2 | -<div> | ||
| 3 | - <el-table :data="tableData" style="width: 100%" border height="220px"> | ||
| 4 | - <el-table-column prop="index" label="序号" width="80"></el-table-column> | ||
| 5 | - <el-table-column prop="productNumber" label="企业商品编号" width="150"></el-table-column> | ||
| 6 | - <el-table-column prop="productName" label="商品企业商品名称" width="180"></el-table-column> | ||
| 7 | - <el-table-column prop="description" label="企业商品描述" width="150"></el-table-column> | ||
| 8 | - <el-table-column prop="code" label="条码" width="150"></el-table-column> | ||
| 9 | - <el-table-column prop="unit" label="计量单位" width="100"> | ||
| 10 | - <template slot-scope="scope"> | ||
| 11 | - <span>{{ scope.row.unit }}</span> | ||
| 12 | - <i class="el-icon-top" style="margin-left: 5px;"></i> | ||
| 13 | - </template> | ||
| 14 | - </el-table-column> | ||
| 15 | - <el-table-column prop="currency" label="币制" width="80"></el-table-column> | ||
| 16 | - <el-table-column prop="quantity" label="数量" width="80"></el-table-column> | ||
| 17 | - <el-table-column prop="unitPrice" label="单价" width="100"></el-table-column> | ||
| 18 | - <el-table-column prop="totalPrice" label="总价" width="100"></el-table-column> | ||
| 19 | - <el-table-column prop="notes" label="备注" width="300"></el-table-column> | ||
| 20 | - <el-table-column label="操作" width="100" fixed="right"> | ||
| 21 | - <template slot-scope="scope"> | ||
| 22 | - <el-link type="primary" @click="handleExpand(scope.$index)">展开</el-link> | ||
| 23 | - </template> | ||
| 24 | - </el-table-column> | ||
| 25 | - </el-table> | ||
| 26 | -</div> | ||
| 27 | -</template> | ||
| 28 | - | ||
| 29 | -<script> | ||
| 30 | -export default { | ||
| 31 | - name: "ProductDetailTable", | ||
| 32 | - data() { | ||
| 33 | - return { | ||
| 34 | - tableData: [ | ||
| 35 | - { | ||
| 36 | - index: 1, | ||
| 37 | - productNumber: "6704200000", | ||
| 38 | - productName: "真人发发夹", | ||
| 39 | - description: "测试内容", | ||
| 40 | - code: "485607096", | ||
| 41 | - unit: "↑", | ||
| 42 | - currency: "美元", | ||
| 43 | - quantity: 1, | ||
| 44 | - unitPrice: "645.78", | ||
| 45 | - totalPrice: "645.78", | ||
| 46 | - notes: "山东电子口岸已写,加签后上传" | ||
| 47 | - }, | ||
| 48 | - { | ||
| 49 | - index: 2, | ||
| 50 | - productNumber: "6704200000", | ||
| 51 | - productName: "真人发发夹", | ||
| 52 | - description: "测试内容", | ||
| 53 | - code: "2145860720", | ||
| 54 | - unit: "↑", | ||
| 55 | - currency: "美元", | ||
| 56 | - quantity: 2, | ||
| 57 | - unitPrice: "645.78", | ||
| 58 | - totalPrice: "645.78", | ||
| 59 | - notes: "山东电子口岸已写,加签后上传" | ||
| 60 | - }, | ||
| 61 | - { | ||
| 62 | - index: 3, | ||
| 63 | - productNumber: "6704200000", | ||
| 64 | - productName: "真人发发夹", | ||
| 65 | - description: "测试内容", | ||
| 66 | - code: "2145860720", | ||
| 67 | - unit: "↑", | ||
| 68 | - currency: "美元", | ||
| 69 | - quantity: 3, | ||
| 70 | - unitPrice: "645.78", | ||
| 71 | - totalPrice: "645.78", | ||
| 72 | - notes: "山东电子口岸已写,加签后上传" | ||
| 73 | - }, | ||
| 74 | - { | ||
| 75 | - index: 4, | ||
| 76 | - productNumber: "6704200000", | ||
| 77 | - productName: "真人发发夹", | ||
| 78 | - description: "测试内容", | ||
| 79 | - code: "2145860720", | ||
| 80 | - unit: "↑", | ||
| 81 | - currency: "美元", | ||
| 82 | - quantity: 1, | ||
| 83 | - unitPrice: "635.78", | ||
| 84 | - totalPrice: "635.78", | ||
| 85 | - notes: "山东电子口岸已写,加签后上传" | ||
| 86 | - } | ||
| 87 | - // 更多数据项... | ||
| 88 | - ] | ||
| 89 | - }; | ||
| 90 | - }, | ||
| 91 | - methods: { | ||
| 92 | - handleExpand(index) { | ||
| 93 | - console.log(`展开第 ${index + 1} 行数据`); | ||
| 94 | - } | ||
| 95 | - } | ||
| 96 | -} | ||
| 97 | -</script> | ||
| 98 | - | ||
| 99 | -<style scoped lang="scss"> | ||
| 100 | -.el-table { | ||
| 101 | - font-size: 14px; | ||
| 102 | - //border: 1px solid red; | ||
| 103 | - //height: 180px; | ||
| 104 | - overflow: auto; | ||
| 105 | -} | ||
| 106 | -.el-icon-top { | ||
| 107 | - color: #409eff; | ||
| 108 | - font-size: 12px; | ||
| 109 | -} | ||
| 110 | -</style> |
| 1 | -<template> | ||
| 2 | - <div> | ||
| 3 | - <table class="custom-table"> | ||
| 4 | - <thead> | ||
| 5 | - <tr> | ||
| 6 | - <th v-for="(header, index) in headers" :key="index">{{ header }}</th> | ||
| 7 | - <th v-if="showActionColumn">操作</th> | ||
| 8 | - </tr> | ||
| 9 | - </thead> | ||
| 10 | - <tbody> | ||
| 11 | - <tr v-for="(row, index) in tableData" :key="index"> | ||
| 12 | - <td>{{ row.status }}</td> | ||
| 13 | - <td>{{ row.time }}</td> | ||
| 14 | - <td>{{ row.description }}</td> | ||
| 15 | - <td v-if="showActionColumn"> | ||
| 16 | - <span class="action-link" @click="handleDownload(row, index)"> | ||
| 17 | - 下载回执 | ||
| 18 | - </span> | ||
| 19 | - </td> | ||
| 20 | - </tr> | ||
| 21 | - </tbody> | ||
| 22 | - </table> | ||
| 23 | - </div> | ||
| 24 | -</template> | ||
| 25 | - | ||
| 26 | -<script> | ||
| 27 | -export default { | ||
| 28 | - name: "ReceiptInfoTable", | ||
| 29 | - props: { | ||
| 30 | - // 控制操作列是否显示 | ||
| 31 | - showActionColumn: { | ||
| 32 | - type: Boolean, | ||
| 33 | - default: true, // 默认显示操作列 | ||
| 34 | - }, | ||
| 35 | - }, | ||
| 36 | - data() { | ||
| 37 | - return { | ||
| 38 | - headers: ["回执状态", "状态时间", "回执描述"], | ||
| 39 | - tableData: [ | ||
| 40 | - { | ||
| 41 | - status: "山东电子口岸已上传", | ||
| 42 | - time: "2024-11-08 15:31:58", | ||
| 43 | - description: | ||
| 44 | - "订单变更申请报关单【f291cda6-f664-4bf5-8edc-bcc012f8775】单证不存在,不可报单申报,报文业务主键【24HX-11-40-3722960DYB】", | ||
| 45 | - }, | ||
| 46 | - { | ||
| 47 | - status: "山东电子口岸已上传", | ||
| 48 | - time: "2024-11-08 15:31:58", | ||
| 49 | - description: "山东电子口岸已上传", | ||
| 50 | - }, | ||
| 51 | - { | ||
| 52 | - status: "山东电子口岸已保存", | ||
| 53 | - time: "2024-11-08 15:30:45", | ||
| 54 | - description: "山东电子口岸已保存,加签后上传", | ||
| 55 | - }, | ||
| 56 | - ], | ||
| 57 | - }; | ||
| 58 | - }, | ||
| 59 | - methods: { | ||
| 60 | - // 处理点击下载回执的事件 | ||
| 61 | - handleDownload(row, index) { | ||
| 62 | - console.log("下载回执触发:", row, index); | ||
| 63 | - // 示例下载逻辑,可以根据实际需求添加下载操作 | ||
| 64 | - alert(`开始下载回执:第 ${index + 1} 行`); | ||
| 65 | - }, | ||
| 66 | - }, | ||
| 67 | -}; | ||
| 68 | -</script> | ||
| 69 | - | ||
| 70 | -<style scoped lang="scss"> | ||
| 71 | -.custom-table { | ||
| 72 | - width: 100%; | ||
| 73 | - border-collapse: collapse; | ||
| 74 | - font-size: 14px; | ||
| 75 | - table-layout: fixed; | ||
| 76 | - background-color: white; | ||
| 77 | -} | ||
| 78 | - | ||
| 79 | -.custom-table th, | ||
| 80 | -.custom-table td { | ||
| 81 | - border: 1px solid #ccc; | ||
| 82 | - padding: 8px 12px; | ||
| 83 | - text-align: left; | ||
| 84 | - word-wrap: break-word; | ||
| 85 | -} | ||
| 86 | - | ||
| 87 | -.custom-table thead { | ||
| 88 | - background-color: #f5f5f5; | ||
| 89 | -} | ||
| 90 | - | ||
| 91 | -.custom-table th { | ||
| 92 | - font-weight: bold; | ||
| 93 | -} | ||
| 94 | - | ||
| 95 | -.custom-table tr:nth-child(odd) { | ||
| 96 | - background-color: #fafafa; | ||
| 97 | -} | ||
| 98 | - | ||
| 99 | -.action-link { | ||
| 100 | - color: #409eff; | ||
| 101 | - cursor: pointer; | ||
| 102 | - text-decoration: none; | ||
| 103 | -} | ||
| 104 | - | ||
| 105 | -.action-link:hover { | ||
| 106 | - text-decoration: underline; | ||
| 107 | -} | ||
| 108 | -</style> |
| ... | @@ -189,7 +189,7 @@ export default { | ... | @@ -189,7 +189,7 @@ export default { |
| 189 | cancel: this.$t("system.close"), | 189 | cancel: this.$t("system.close"), |
| 190 | } | 190 | } |
| 191 | ).then(() => { | 191 | ).then(() => { |
| 192 | - this.$store.dispatch("LogOut").then(() => { | 192 | + this.$store.dispatch("FedLogOut").then(() => { |
| 193 | location.href = process.env.VUE_APP_BASE_LOGINOUT; | 193 | location.href = process.env.VUE_APP_BASE_LOGINOUT; |
| 194 | }); | 194 | }); |
| 195 | }); | 195 | }); | ... | ... |
| ... | @@ -90,7 +90,7 @@ export const constantRoutes = [ | ... | @@ -90,7 +90,7 @@ export const constantRoutes = [ |
| 90 | ] | 90 | ] |
| 91 | }, | 91 | }, |
| 92 | { | 92 | { |
| 93 | - path: '/', | 93 | + path: '/export', |
| 94 | component: Layout, | 94 | component: Layout, |
| 95 | hidden: false, | 95 | hidden: false, |
| 96 | redirect: 'index', | 96 | redirect: 'index', |
| ... | @@ -106,6 +106,7 @@ export const constantRoutes = [ | ... | @@ -106,6 +106,7 @@ export const constantRoutes = [ |
| 106 | path: '/exportBillDetail', | 106 | path: '/exportBillDetail', |
| 107 | component: (resolve) => require(['@/views/exportBillDetail/index'], resolve), | 107 | component: (resolve) => require(['@/views/exportBillDetail/index'], resolve), |
| 108 | hidden: true, | 108 | hidden: true, |
| 109 | + name:'ExportBillDetail', | ||
| 109 | meta: { title: '出口订单详情', icon: '' }, | 110 | meta: { title: '出口订单详情', icon: '' }, |
| 110 | }, | 111 | }, |
| 111 | { | 112 | { |
| ... | @@ -168,7 +169,7 @@ export const constantRoutes = [ | ... | @@ -168,7 +169,7 @@ export const constantRoutes = [ |
| 168 | ] | 169 | ] |
| 169 | }, | 170 | }, |
| 170 | { | 171 | { |
| 171 | - path: '/', | 172 | + path: '/summary', |
| 172 | component: Layout, | 173 | component: Layout, |
| 173 | hidden: false, | 174 | hidden: false, |
| 174 | redirect: 'index', | 175 | redirect: 'index', |
| ... | @@ -188,6 +189,45 @@ export const constantRoutes = [ | ... | @@ -188,6 +189,45 @@ export const constantRoutes = [ |
| 188 | } | 189 | } |
| 189 | ] | 190 | ] |
| 190 | }, | 191 | }, |
| 192 | + { | ||
| 193 | + path: '/system', | ||
| 194 | + component: Layout, | ||
| 195 | + hidden: false, | ||
| 196 | + redirect: 'index', | ||
| 197 | + meta: { title: '系统管理', icon: 'fedexQueue' }, | ||
| 198 | + children: [ | ||
| 199 | + { | ||
| 200 | + path: '/portConfig', | ||
| 201 | + component: (resolve) => require(['@/views/portConfig/index'], resolve), | ||
| 202 | + hidden: false, | ||
| 203 | + meta: { title: '口岸信息管理', icon: '' } | ||
| 204 | + }, | ||
| 205 | + { | ||
| 206 | + path: '/userConfig', | ||
| 207 | + component: (resolve) => require(['@/views/userConfig/index'], resolve), | ||
| 208 | + hidden: false, | ||
| 209 | + meta: { title: '客户管理', icon: '' } | ||
| 210 | + }, | ||
| 211 | + { | ||
| 212 | + path: '/passwordIpConfig', | ||
| 213 | + component: (resolve) => require(['@/views/passwordIpConfig/index'], resolve), | ||
| 214 | + hidden: false, | ||
| 215 | + meta: { title: '密码机管理', icon: '' } | ||
| 216 | + }, | ||
| 217 | + { | ||
| 218 | + path: '/userRoleConfig', | ||
| 219 | + component: (resolve) => require(['@/views/userRoleConfig/index'], resolve), | ||
| 220 | + hidden: false, | ||
| 221 | + meta: { title: '用户管理权限', icon: '' } | ||
| 222 | + }, | ||
| 223 | + { | ||
| 224 | + path: '/roleConfig', | ||
| 225 | + component: (resolve) => require(['@/views/roleConfig/index'], resolve), | ||
| 226 | + hidden: false, | ||
| 227 | + meta: { title: '角色管理权限', icon: '' } | ||
| 228 | + }, | ||
| 229 | + ] | ||
| 230 | + }, | ||
| 191 | ] | 231 | ] |
| 192 | 232 | ||
| 193 | export default new Router({ | 233 | export default new Router({ | ... | ... |
| 1 | -<template> | ||
| 2 | - <div | ||
| 3 | - class="entrySreach" | ||
| 4 | - style="overflow-y: auto" | ||
| 5 | - v-loading="loadings.templateLoading" | ||
| 6 | - > | ||
| 7 | - <CustomForm | ||
| 8 | - ref="auditionEntryForm" | ||
| 9 | - :belongBizType="11" | ||
| 10 | - type="auditionEntry" | ||
| 11 | - :paginationOption="page" | ||
| 12 | - @getFormOver="getFormOver" | ||
| 13 | - @formSreach="formSreach" | ||
| 14 | - @formChange="formChange" | ||
| 15 | - /> | ||
| 16 | - <div class="optionButton"> | ||
| 17 | - <!-- 审批通过 --> | ||
| 18 | - <el-button | ||
| 19 | - class="entrySaveButton" | ||
| 20 | - size="small" | ||
| 21 | - :loading="loadings.passThroughLoading" | ||
| 22 | - :disabled="selected.length == 0 || loadings.noPass" | ||
| 23 | - @click="examine(true)" | ||
| 24 | - ><svg-icon class="el-icon-user-solid" icon-class="fedexPass"></svg-icon> | ||
| 25 | - {{ $t("audition.index.yapproval") }}</el-button | ||
| 26 | - > | ||
| 27 | - <!-- 审批不通过 --> | ||
| 28 | - <el-button | ||
| 29 | - class="entrySaveButton" | ||
| 30 | - size="small" | ||
| 31 | - :loading="loadings.noPass" | ||
| 32 | - :disabled="selected.length == 0 || loadings.passThroughLoading" | ||
| 33 | - @click="examine(false)" | ||
| 34 | - ><svg-icon | ||
| 35 | - class="el-icon-user-solid" | ||
| 36 | - icon-class="fedexRefuse" | ||
| 37 | - ></svg-icon> | ||
| 38 | - {{ $t("audition.index.napproval") }}</el-button | ||
| 39 | - > | ||
| 40 | - <!-- 导出 --> | ||
| 41 | - <el-button | ||
| 42 | - class="entrySaveButton" | ||
| 43 | - size="small" | ||
| 44 | - :loading="loadings.downloadLoading" | ||
| 45 | - :disabled=" | ||
| 46 | - tableData.length == 0 || | ||
| 47 | - loadings.tableLoading || | ||
| 48 | - loadings.passThroughLoading || | ||
| 49 | - loadings.noPass | ||
| 50 | - " | ||
| 51 | - @click="exportFile" | ||
| 52 | - ><svg-icon | ||
| 53 | - class="el-icon-user-solid" | ||
| 54 | - icon-class="fedexUpBlue" | ||
| 55 | - ></svg-icon> | ||
| 56 | - {{ $t("system.download") }}</el-button | ||
| 57 | - > | ||
| 58 | - </div> | ||
| 59 | - <CustomTable | ||
| 60 | - class="fedexDetialTable fedexSreachTable" | ||
| 61 | - ref="auditionEntryTable" | ||
| 62 | - :belongBizType="11" | ||
| 63 | - router="" | ||
| 64 | - :tableData="tableData" | ||
| 65 | - :tableHeader="headerData" | ||
| 66 | - :totalCount="total" | ||
| 67 | - :loading="loadings.tableLoading" | ||
| 68 | - @sizeChange="sizeChange" | ||
| 69 | - @currentChange="currentChange" | ||
| 70 | - @tableFormChange="tableFormChange" | ||
| 71 | - @tableSelect="tableSelect" | ||
| 72 | - @selectChange="selectChange" | ||
| 73 | - :page="{ | ||
| 74 | - pageNum: page.pageIndex, | ||
| 75 | - sizes: [20, 30, 50, 100], | ||
| 76 | - pageSize: page.pageSize, | ||
| 77 | - layout: 'total,prev, pager, next, jumper, ->, sizes', | ||
| 78 | - }" | ||
| 79 | - :tableOption="{ | ||
| 80 | - select: true, | ||
| 81 | - selectFixed: tablefixed ? 'left' : false, | ||
| 82 | - order: false, | ||
| 83 | - orderFixed: false, | ||
| 84 | - indexType: false, | ||
| 85 | - tableHeight: tableMaxheight, | ||
| 86 | - maxHeight: tableMaxheight, | ||
| 87 | - tableBorder: true, | ||
| 88 | - showHeader: true, | ||
| 89 | - fit: true, | ||
| 90 | - highlightCurrentRow: true, | ||
| 91 | - emptyText: $t('system.empty'), | ||
| 92 | - pagination: true, | ||
| 93 | - }" | ||
| 94 | - > | ||
| 95 | - <template slot="optionColumn"> | ||
| 96 | - <!-- 操作 --> | ||
| 97 | - <el-table-column | ||
| 98 | - header-align="center" | ||
| 99 | - align="center" | ||
| 100 | - width="80" | ||
| 101 | - :label="$t('system.option')" | ||
| 102 | - :fixed="tablefixed ? 'right' : false" | ||
| 103 | - > | ||
| 104 | - <template slot-scope="scope"> | ||
| 105 | - <!-- 查看 --> | ||
| 106 | - <el-button | ||
| 107 | - type="text" | ||
| 108 | - class="text-line" | ||
| 109 | - @click.native="options({ status: 0, data: scope.row })" | ||
| 110 | - > | ||
| 111 | - {{ $t("system.view") }} | ||
| 112 | - </el-button> | ||
| 113 | - </template> | ||
| 114 | - </el-table-column> | ||
| 115 | - </template> | ||
| 116 | - </CustomTable> | ||
| 117 | - </div> | ||
| 118 | -</template> | ||
| 119 | - | ||
| 120 | -<script> | ||
| 121 | -import { encrypt } from "@/utils/jsencrypt"; | ||
| 122 | -import { | ||
| 123 | - check, | ||
| 124 | - isApproval, | ||
| 125 | - getNewApprovalType, | ||
| 126 | -} from "@/api/auditionEntry-api.js"; | ||
| 127 | - | ||
| 128 | -export default { | ||
| 129 | - name: "AuditionEntrySearch", | ||
| 130 | - components: {}, | ||
| 131 | - data() { | ||
| 132 | - return { | ||
| 133 | - tableData: [], //运单数据 | ||
| 134 | - headerData: [], //表头 | ||
| 135 | - conditionData: {}, | ||
| 136 | - nowConditionData: null, | ||
| 137 | - page: { | ||
| 138 | - pageIndex: 1, | ||
| 139 | - pageSize: 20, | ||
| 140 | - }, | ||
| 141 | - total: 0, //数据总和 | ||
| 142 | - tableMaxheight: null, //表格最大高 | ||
| 143 | - loadings: { | ||
| 144 | - templateLoading: false, | ||
| 145 | - tableLoading: false, //表格loading | ||
| 146 | - passThroughLoading: false, | ||
| 147 | - noPass: false, | ||
| 148 | - downloadLoading: false, | ||
| 149 | - }, | ||
| 150 | - selected: [], | ||
| 151 | - checkCell: null, | ||
| 152 | - status: 0, | ||
| 153 | - checkEntry: null, | ||
| 154 | - tablefixed: false, | ||
| 155 | - }; | ||
| 156 | - }, | ||
| 157 | - created() { | ||
| 158 | - this.loadings.templateLoading = true; | ||
| 159 | - // this.setDict(); | ||
| 160 | - }, | ||
| 161 | - mounted() { | ||
| 162 | - this.tableMaxheight = | ||
| 163 | - window.innerHeight - | ||
| 164 | - Number(this.$refs.auditionEntryForm.$el.offsetHeight) - | ||
| 165 | - 250; | ||
| 166 | - if (this.$store.getters.userData.rde_Type) { | ||
| 167 | - this.checkNewEntry(); | ||
| 168 | - } | ||
| 169 | - }, | ||
| 170 | - activated() { | ||
| 171 | - if (this.status == 1) { | ||
| 172 | - // this.setDict(); | ||
| 173 | - this.$refs.auditionEntryForm.sreach(1, this.conditionData); | ||
| 174 | - } | ||
| 175 | - if (this.$store.getters.userData.rde_Type) { | ||
| 176 | - this.checkNewEntry(); | ||
| 177 | - } | ||
| 178 | - }, | ||
| 179 | - beforeDestroy() { | ||
| 180 | - this.clearCheckEntry(1); | ||
| 181 | - }, | ||
| 182 | - watch: { | ||
| 183 | - $route: { | ||
| 184 | - handler(val) { | ||
| 185 | - if (val.path != "/emp_auditionEntry_parent/emp_auditionEntrySearch") { | ||
| 186 | - this.clearCheckEntry(1); | ||
| 187 | - } | ||
| 188 | - }, | ||
| 189 | - deep: true, | ||
| 190 | - }, | ||
| 191 | - }, | ||
| 192 | - methods: { | ||
| 193 | - //查询 | ||
| 194 | - formSreach(val) { | ||
| 195 | - this.clearCheckEntry(0); | ||
| 196 | - if (val != "error") { | ||
| 197 | - this.selected = []; | ||
| 198 | - this.tableData = val.responseData.tableData; | ||
| 199 | - this.headerData = val.responseData.tableHead; | ||
| 200 | - this.total = val.responseData.total; | ||
| 201 | - val.conditionData != null | ||
| 202 | - ? (this.conditionData = val.conditionData) | ||
| 203 | - : ""; | ||
| 204 | - this.headerData.forEach((item) => { | ||
| 205 | - //审批备注 | ||
| 206 | - if (item.prop == "rejectRemark") { | ||
| 207 | - item.formType = "input"; | ||
| 208 | - item.length = "650"; | ||
| 209 | - } | ||
| 210 | - //pek复审 | ||
| 211 | - // else if (item.prop == "pekReviewFlag") { | ||
| 212 | - // item.formType = "select"; | ||
| 213 | - // item.dicyName = "siteAssistance"; | ||
| 214 | - // item.dictKey = "name"; | ||
| 215 | - // } | ||
| 216 | - }); | ||
| 217 | - } | ||
| 218 | - this.loadings.tableLoading = false; | ||
| 219 | - if (this.tableData.length > 0) { | ||
| 220 | - this.status = 1; | ||
| 221 | - } | ||
| 222 | - this.loadings.templateLoading = false; | ||
| 223 | - this.tableFixedTypeChange( | ||
| 224 | - document.getElementsByClassName("el-table__body-wrapper") | ||
| 225 | - ).then((type) => { | ||
| 226 | - this.tablefixed = type; | ||
| 227 | - }); | ||
| 228 | - }, | ||
| 229 | - //批量审批通过/不通过 | ||
| 230 | - examine(status) { | ||
| 231 | - this.clearCheckEntry(0); | ||
| 232 | - let chmConsignmentIds = []; | ||
| 233 | - let chmRejectRemarkList = []; | ||
| 234 | - let chmConsignmentList = []; | ||
| 235 | - let errorConsignment = []; | ||
| 236 | - this.selected.forEach((item, index) => { | ||
| 237 | - item.rejectRemark = item.rejectRemark == null ? "" : item.rejectRemark; | ||
| 238 | - if (!status && item.rejectRemark == "") { | ||
| 239 | - errorConsignment.push(item.consignmentCode); | ||
| 240 | - this.tableData[item.index].rejectRemark = ""; | ||
| 241 | - } | ||
| 242 | - item.id = item.chmId; | ||
| 243 | - chmConsignmentIds[index] = item.chmId; | ||
| 244 | - chmRejectRemarkList[index] = item.rejectRemark; | ||
| 245 | - item.siteAssistance = null; | ||
| 246 | - item.siteAssistanceDicId = null; | ||
| 247 | - chmConsignmentList[index] = item; | ||
| 248 | - }); | ||
| 249 | - if (errorConsignment.length != 0) { | ||
| 250 | - this.alertErrorMsg( | ||
| 251 | - this.$t("audition.index.tip1", { a: errorConsignment }) | ||
| 252 | - ); | ||
| 253 | - } else { | ||
| 254 | - if (status) { | ||
| 255 | - this.loadings.passThroughLoading = true; | ||
| 256 | - } else { | ||
| 257 | - this.loadings.noPass = true; | ||
| 258 | - } | ||
| 259 | - return new Promise((resolve, reject) => { | ||
| 260 | - chmRejectRemarkList.push("end"); | ||
| 261 | - let obj = { | ||
| 262 | - chmConsignmentIds: chmConsignmentIds, | ||
| 263 | - chmRejectRemarkList: chmRejectRemarkList, | ||
| 264 | - isApprove: status, | ||
| 265 | - }; | ||
| 266 | - check(obj) | ||
| 267 | - .then((res) => { | ||
| 268 | - if (res.code === "200" && res.data.extra == "") { | ||
| 269 | - //走审批接口 | ||
| 270 | - let obj = { | ||
| 271 | - chmConsignmentIds: chmConsignmentIds, | ||
| 272 | - chmConsignmentList: chmConsignmentList, | ||
| 273 | - isApprove: status, | ||
| 274 | - }; | ||
| 275 | - isApproval(obj) | ||
| 276 | - .then((res) => { | ||
| 277 | - if (res.code != "200") { | ||
| 278 | - this.alertWarningMsg(res.message).then(() => { | ||
| 279 | - // this.tableData.forEach((item) => { | ||
| 280 | - // if (chmConsignmentIds.includes(item.chmId)) { | ||
| 281 | - // item.rejectRemark = ""; | ||
| 282 | - // } | ||
| 283 | - // }); | ||
| 284 | - }); | ||
| 285 | - } else { | ||
| 286 | - this.msgSuccess(res.data.extra.successMsg); | ||
| 287 | - this.getFormOver(); | ||
| 288 | - } | ||
| 289 | - this.loadings.passThroughLoading = false; | ||
| 290 | - this.loadings.noPass = false; | ||
| 291 | - }) | ||
| 292 | - .catch((err) => { | ||
| 293 | - this.loadings.passThroughLoading = false; | ||
| 294 | - this.loadings.noPass = false; | ||
| 295 | - console.log(err); | ||
| 296 | - reject(); | ||
| 297 | - }); | ||
| 298 | - } else if (res.code === "200") { | ||
| 299 | - this.alertErrorMsg(res.data.extra).then(() => { | ||
| 300 | - // this.tableData.forEach((item) => { | ||
| 301 | - // if (chmConsignmentIds.includes(item.chmId)) { | ||
| 302 | - // item.rejectRemark = ""; | ||
| 303 | - // } | ||
| 304 | - // }); | ||
| 305 | - }); | ||
| 306 | - reject(); | ||
| 307 | - this.loadings.passThroughLoading = false; | ||
| 308 | - this.loadings.noPass = false; | ||
| 309 | - } else { | ||
| 310 | - this.alertErrorMsg(res.data.extra).then(() => { | ||
| 311 | - // this.tableData.forEach((item) => { | ||
| 312 | - // if (chmConsignmentIds.includes(item.chmId)) { | ||
| 313 | - // item.rejectRemark = ""; | ||
| 314 | - // } | ||
| 315 | - // }); | ||
| 316 | - }); | ||
| 317 | - this.loadings.passThroughLoading = false; | ||
| 318 | - this.loadings.noPass = false; | ||
| 319 | - reject(); | ||
| 320 | - } | ||
| 321 | - }) | ||
| 322 | - .catch((err) => { | ||
| 323 | - this.loadings.passThroughLoading = false; | ||
| 324 | - this.loadings.noPass = false; | ||
| 325 | - console.log(err); | ||
| 326 | - reject(); | ||
| 327 | - }); | ||
| 328 | - }); | ||
| 329 | - } | ||
| 330 | - }, | ||
| 331 | - //根据查询条件导出 | ||
| 332 | - exportFile() { | ||
| 333 | - this.$store.dispatch("SetLoadingType", { | ||
| 334 | - type: true, | ||
| 335 | - text: this.$t("system.downloadingTip"), | ||
| 336 | - }); | ||
| 337 | - this.alertWarningMsg(this.$t("system.downloadTip")); | ||
| 338 | - this.clearCheckEntry(1); | ||
| 339 | - this.loadings.downloadLoading = true; | ||
| 340 | - let exportSign = | ||
| 341 | - new Date().getTime() + "_" + this.$store.getters.userData.id + "_14"; | ||
| 342 | - let obj = { | ||
| 343 | - belongBizType: 11, | ||
| 344 | - condition: this.conditionData, | ||
| 345 | - total: this.total, | ||
| 346 | - exportSign: exportSign, | ||
| 347 | - }; | ||
| 348 | - this.fileDownload | ||
| 349 | - .formSubmitDownload( | ||
| 350 | - "customDownloadXls", | ||
| 351 | - "post", | ||
| 352 | - [{ key: "downloadSreachData", value: JSON.stringify(obj) }], | ||
| 353 | - exportSign | ||
| 354 | - ) | ||
| 355 | - .finally(() => { | ||
| 356 | - setTimeout(() => { | ||
| 357 | - this.loadings.downloadLoading = false; | ||
| 358 | - this.$store.dispatch("SetLoadingType", { | ||
| 359 | - type: false, | ||
| 360 | - text: "", | ||
| 361 | - }); | ||
| 362 | - }, 1000); | ||
| 363 | - }); | ||
| 364 | - }, | ||
| 365 | - //分页 | ||
| 366 | - currentChange(val) { | ||
| 367 | - this.page.pageIndex = val.page; | ||
| 368 | - this.getFormOver(); | ||
| 369 | - }, | ||
| 370 | - sizeChange(val) { | ||
| 371 | - this.page.pageSize = val; | ||
| 372 | - this.getFormOver(); | ||
| 373 | - }, | ||
| 374 | - //table选择变更 | ||
| 375 | - tableSelect(selection) { | ||
| 376 | - this.selected = selection.selection; | ||
| 377 | - this.clearCheckEntry(0); | ||
| 378 | - }, | ||
| 379 | - inputblur() { | ||
| 380 | - this.checkCell.cell.classList.remove("activeTableCell"); | ||
| 381 | - this.checkCell = null; | ||
| 382 | - }, | ||
| 383 | - tableCellClick(val) { | ||
| 384 | - if (this.checkCell != null) { | ||
| 385 | - this.inputblur(); | ||
| 386 | - } | ||
| 387 | - this.$nextTick(() => { | ||
| 388 | - if (val.column.property == "rejectRemark") { | ||
| 389 | - val.cell.classList.add("activeTableCell"); | ||
| 390 | - document | ||
| 391 | - .getElementsByClassName("activeTableCell")[0] | ||
| 392 | - .getElementsByClassName("el-input")[0] | ||
| 393 | - .__vue__.focus(); | ||
| 394 | - //这里存下整个单元格,方便取其他值 | ||
| 395 | - this.checkCell = val; | ||
| 396 | - this.clearCheckEntry(0); | ||
| 397 | - } | ||
| 398 | - }); | ||
| 399 | - }, | ||
| 400 | - //字典表添加 | ||
| 401 | - setDict() { | ||
| 402 | - let arr = [ | ||
| 403 | - "examinePort", | ||
| 404 | - "dictEnties:scanCodePickup", | ||
| 405 | - "dictEnties:yesOrNo", | ||
| 406 | - "dictEnties:receiptState", | ||
| 407 | - "dictEnties:H2000Account", | ||
| 408 | - "dictEnties:transferWaybillStatus_4_2", | ||
| 409 | - "dictEnties:siteAssistance", | ||
| 410 | - "dictEnties:transferWaybillStatus_8_2", | ||
| 411 | - "dictEnties:port", | ||
| 412 | - "dictEnties:OSPRStatus", | ||
| 413 | - "dictEnties:stampIsSeal", | ||
| 414 | - "dictEnties:imageTaskStatus", | ||
| 415 | - "dictEnties:uploadFileStatus", | ||
| 416 | - "dictEnties:waybillPrintingStatus", | ||
| 417 | - "dictEnties:siteAssistance", | ||
| 418 | - ]; | ||
| 419 | - arr.forEach((item) => { | ||
| 420 | - this.$store.dispatch("GetDictData", item); | ||
| 421 | - }); | ||
| 422 | - }, | ||
| 423 | - //操作 | ||
| 424 | - options(val) { | ||
| 425 | - this.clearCheckEntry(1); | ||
| 426 | - if (val.status == 0) { | ||
| 427 | - this.$store.dispatch("delEntry"); | ||
| 428 | - this.$store.getters.visitedViews.forEach((item) => { | ||
| 429 | - if (item.path == "/auditionEntrySearch") { | ||
| 430 | - this.$store.dispatch("tagsView/delView", item); | ||
| 431 | - } | ||
| 432 | - }); | ||
| 433 | - new Promise((resolve, reject) => { | ||
| 434 | - this.sreachEntryLock(val.data.chmId, 0) | ||
| 435 | - .then((res) => { | ||
| 436 | - resolve(); | ||
| 437 | - // if (res.code === "41084" && val.data.consStatus == "待中心审核") { | ||
| 438 | - // this.alertWarningMsg(this.$t("audition.index.alert1")); | ||
| 439 | - // } else { | ||
| 440 | - | ||
| 441 | - // } | ||
| 442 | - }) | ||
| 443 | - .catch(() => { | ||
| 444 | - if (val.data.consStatus == "待中心审核") { | ||
| 445 | - this.alertWarningMsg(this.$t("audition.index.alert1")); | ||
| 446 | - } else { | ||
| 447 | - resolve(); | ||
| 448 | - } | ||
| 449 | - }); | ||
| 450 | - }).then(() => { | ||
| 451 | - if (val.data.consType == "C") { | ||
| 452 | - this.$router.push({ | ||
| 453 | - name: "DeclarationDetailsC", | ||
| 454 | - params: { | ||
| 455 | - consignmentCode: val.data.consignmentCode, | ||
| 456 | - id: encrypt(val.data.chmId.toString()), | ||
| 457 | - from: "audition", | ||
| 458 | - }, | ||
| 459 | - }); | ||
| 460 | - } else { | ||
| 461 | - this.$router.push({ | ||
| 462 | - name: "DeclarationDetails", | ||
| 463 | - params: { | ||
| 464 | - consignmentCode: val.data.consignmentCode, | ||
| 465 | - id: encrypt(val.data.chmId.toString()), | ||
| 466 | - from: "audition", | ||
| 467 | - }, | ||
| 468 | - }); | ||
| 469 | - } | ||
| 470 | - }); | ||
| 471 | - } | ||
| 472 | - }, | ||
| 473 | - getFormOver(val) { | ||
| 474 | - this.clearCheckEntry(0); | ||
| 475 | - this.$nextTick(() => { | ||
| 476 | - if (this.status == 1) { | ||
| 477 | - this.$refs.auditionEntryForm.sreach(1, this.conditionData); | ||
| 478 | - } | ||
| 479 | - }); | ||
| 480 | - }, | ||
| 481 | - formChange() { | ||
| 482 | - this.clearCheckEntry(0); | ||
| 483 | - }, | ||
| 484 | - tableFormChange(val) { | ||
| 485 | - this.clearCheckEntry(0); | ||
| 486 | - }, | ||
| 487 | - selectChange(selection) { | ||
| 488 | - this.selected = selection; | ||
| 489 | - this.clearCheckEntry(0); | ||
| 490 | - }, | ||
| 491 | - //检测是否有新预审运单并提示 | ||
| 492 | - checkNewEntry() { | ||
| 493 | - clearTimeout(this.checkEntry); | ||
| 494 | - if (window.Notification) { | ||
| 495 | - return new Promise((resolve, reject) => { | ||
| 496 | - this.checkEntry = setTimeout(() => { | ||
| 497 | - getNewApprovalType() | ||
| 498 | - .then((res) => { | ||
| 499 | - if (res.code === 200) { | ||
| 500 | - if (res.data.currentRDEApprovalCount > 0) { | ||
| 501 | - this.promptMessage("open"); | ||
| 502 | - this.sendNotificationHandler( | ||
| 503 | - this.$t("system.tip"), | ||
| 504 | - this.$t("audition.index.tip2") | ||
| 505 | - ).then((val) => { | ||
| 506 | - this.checkNewEntry(); | ||
| 507 | - }); | ||
| 508 | - resolve(); | ||
| 509 | - } else { | ||
| 510 | - this.checkNewEntry(); | ||
| 511 | - } | ||
| 512 | - } else { | ||
| 513 | - this.clearCheckEntry(0); | ||
| 514 | - reject(); | ||
| 515 | - } | ||
| 516 | - }) | ||
| 517 | - .catch((err) => { | ||
| 518 | - console.log(err); | ||
| 519 | - this.clearCheckEntry(1); | ||
| 520 | - reject(); | ||
| 521 | - }); | ||
| 522 | - }, 60000); | ||
| 523 | - }); | ||
| 524 | - } | ||
| 525 | - }, | ||
| 526 | - clearCheckEntry(val) { | ||
| 527 | - clearTimeout(this.checkEntry); | ||
| 528 | - this.promptMessage("close"); | ||
| 529 | - if (this.$store.getters.userData.rde_Type && val == 0) { | ||
| 530 | - this.checkNewEntry(); | ||
| 531 | - } | ||
| 532 | - }, | ||
| 533 | - }, | ||
| 534 | -}; | ||
| 535 | -</script> | ||
| 536 | - | ||
| 537 | -<style lang="scss" scoped> | ||
| 538 | -@import "@/assets/styles/variables.scss"; | ||
| 539 | - | ||
| 540 | -.entrySreach { | ||
| 541 | - height: 100%; | ||
| 542 | - background-color: $menuLightBg; | ||
| 543 | - | ||
| 544 | - .entrySaveButton { | ||
| 545 | - margin-left: 8px; | ||
| 546 | - } | ||
| 547 | - | ||
| 548 | - .entrySreachButton { | ||
| 549 | - display: inline-block; | ||
| 550 | - font-size: 20px; | ||
| 551 | - color: $subMenuHover !important; | ||
| 552 | - } | ||
| 553 | - | ||
| 554 | - .backgroundRow { | ||
| 555 | - background-color: $formItemBackgroundColor; | ||
| 556 | - } | ||
| 557 | -} | ||
| 558 | - | ||
| 559 | -.optionButton { | ||
| 560 | - width: 100%; | ||
| 561 | - padding: 10px 15px; | ||
| 562 | - text-align: right; | ||
| 563 | - | ||
| 564 | - .el-button { | ||
| 565 | - color: $fedexButton; | ||
| 566 | - border-color: $fedexButton !important; | ||
| 567 | - svg { | ||
| 568 | - display: inline-block; | ||
| 569 | - margin-right: 5px; | ||
| 570 | - fill: $fedexButton; | ||
| 571 | - } | ||
| 572 | - } | ||
| 573 | - | ||
| 574 | - .entrySaveButton:hover, | ||
| 575 | - .entrySaveButton:focus { | ||
| 576 | - color: $menuLightBg !important; | ||
| 577 | - background-color: $fedexButton !important; | ||
| 578 | - } | ||
| 579 | -} | ||
| 580 | - | ||
| 581 | -.cellInput { | ||
| 582 | - display: none; | ||
| 583 | -} | ||
| 584 | - | ||
| 585 | -.text-line { | ||
| 586 | - text-decoration: underline; | ||
| 587 | -} | ||
| 588 | - | ||
| 589 | -::v-deep .el-input__inner { | ||
| 590 | - border: 0px; | ||
| 591 | - box-shadow: 0 0 0 0px; | ||
| 592 | - background: none; | ||
| 593 | -} | ||
| 594 | -</style> |
| 1 | +<template> | ||
| 2 | + <Table | ||
| 3 | + class="fedexDetialTable fedexTableBlack tableHeightAuto bodyTable" | ||
| 4 | + :data="tableData" | ||
| 5 | + :headerData="bodyHeader" | ||
| 6 | + :order="true" | ||
| 7 | + :border="false" | ||
| 8 | + :pagination="false" | ||
| 9 | + :pageSizes="[20, 30, 50, 100]" | ||
| 10 | + noLabel="序号" | ||
| 11 | + rowKey="index" | ||
| 12 | + emptyText="暂无数据" | ||
| 13 | + :rowStyleType="true" | ||
| 14 | + :rowStyleOption="{ | ||
| 15 | + key: 'isError', | ||
| 16 | + value: 1, | ||
| 17 | + className: 'tableErrorRow', | ||
| 18 | + }" | ||
| 19 | + :expandRowKeys="expandRowKeys" | ||
| 20 | + > | ||
| 21 | + <template slot="optionColumn"> | ||
| 22 | + <el-table-column | ||
| 23 | + header-align="center" | ||
| 24 | + align="center" | ||
| 25 | + label="操作" | ||
| 26 | + width="120" | ||
| 27 | + > | ||
| 28 | + <template slot-scope="scope"> | ||
| 29 | + <!-- 展开/收起 --> | ||
| 30 | + <el-button | ||
| 31 | + type="text" | ||
| 32 | + @click=" | ||
| 33 | + expandRowKeys.includes(scope.row.index) | ||
| 34 | + ? closeEdit() | ||
| 35 | + : editDetail(scope.row) | ||
| 36 | + " | ||
| 37 | + > | ||
| 38 | + <!-- 收起 --> | ||
| 39 | + <span v-show="expandRowKeys.includes(scope.row.index)"> | ||
| 40 | + <svg-icon icon-class="upIcon" /> | ||
| 41 | + {{ $t("entry.detial.form.up") }} | ||
| 42 | + </span> | ||
| 43 | + <!-- 展开 --> | ||
| 44 | + <span v-show="!expandRowKeys.includes(scope.row.index)" | ||
| 45 | + ><svg-icon icon-class="downIcon" /> | ||
| 46 | + {{ $t("entry.detial.form.down") }} | ||
| 47 | + </span> | ||
| 48 | + </el-button> | ||
| 49 | + </template> | ||
| 50 | + </el-table-column> | ||
| 51 | + </template> | ||
| 52 | + </Table> | ||
| 53 | +</template> | ||
| 54 | + | ||
| 55 | +<script> | ||
| 56 | +export default { | ||
| 57 | + props: { | ||
| 58 | + tableData: { | ||
| 59 | + type: Array, | ||
| 60 | + default() { | ||
| 61 | + return []; | ||
| 62 | + }, | ||
| 63 | + }, | ||
| 64 | + bodyHeader: { | ||
| 65 | + type: Array, | ||
| 66 | + default() { | ||
| 67 | + return []; | ||
| 68 | + }, | ||
| 69 | + }, | ||
| 70 | + }, | ||
| 71 | + data() { | ||
| 72 | + return { | ||
| 73 | + expandRowKeys: [], | ||
| 74 | + }; | ||
| 75 | + }, | ||
| 76 | + methods: {}, | ||
| 77 | +}; | ||
| 78 | +</script> | ||
| 79 | + | ||
| 80 | +<style scoped lang="scss"> | ||
| 81 | +.fedexDetialTable { | ||
| 82 | + max-height: 310px; | ||
| 83 | +} | ||
| 84 | +</style> |
| 1 | +<template> | ||
| 2 | + <Table | ||
| 3 | + class="fedexDetialTable fedexTableBlack tableHeightAuto bodyTable" | ||
| 4 | + ref="entryTable" | ||
| 5 | + :data="tableData" | ||
| 6 | + :headerData="headerData" | ||
| 7 | + :maxHeight="300" | ||
| 8 | + :border="false" | ||
| 9 | + :pagination="false" | ||
| 10 | + :order="false" | ||
| 11 | + :page="1" | ||
| 12 | + :pageSizes="[20, 30, 50, 100]" | ||
| 13 | + :totalCount="0" | ||
| 14 | + :selection="false" | ||
| 15 | + :selectFixed="false" | ||
| 16 | + :rowSelectDataType="false" | ||
| 17 | + ></Table> | ||
| 18 | +</template> | ||
| 19 | + | ||
| 20 | +<script> | ||
| 21 | +export default { | ||
| 22 | + name: "ReceiptInfoTable", | ||
| 23 | + props: { | ||
| 24 | + tableData: { | ||
| 25 | + type: Array, | ||
| 26 | + default() { | ||
| 27 | + return []; | ||
| 28 | + }, | ||
| 29 | + }, | ||
| 30 | + headerData: { | ||
| 31 | + type: Array, | ||
| 32 | + default() { | ||
| 33 | + return [ | ||
| 34 | + { | ||
| 35 | + name: "回执状态", | ||
| 36 | + value: "", | ||
| 37 | + width: "", | ||
| 38 | + align: "left", | ||
| 39 | + }, | ||
| 40 | + { | ||
| 41 | + name: "状态时间", | ||
| 42 | + value: "", | ||
| 43 | + width: "", | ||
| 44 | + align: "left", | ||
| 45 | + }, | ||
| 46 | + { | ||
| 47 | + name: "回执描述", | ||
| 48 | + value: "", | ||
| 49 | + width: "", | ||
| 50 | + align: "left", | ||
| 51 | + }, | ||
| 52 | + ]; | ||
| 53 | + }, | ||
| 54 | + }, | ||
| 55 | + }, | ||
| 56 | + data() { | ||
| 57 | + return {}; | ||
| 58 | + }, | ||
| 59 | + methods: {}, | ||
| 60 | +}; | ||
| 61 | +</script> | ||
| 62 | + | ||
| 63 | +<style scoped lang="scss"> | ||
| 64 | +.fedexDetialTable { | ||
| 65 | + max-height: 310px; | ||
| 66 | +} | ||
| 67 | +</style> |
| 1 | -<template> | ||
| 2 | - <!-- 表体 --> | ||
| 3 | - <Table | ||
| 4 | - class="fedexDetialTable" | ||
| 5 | - :data="tableData" | ||
| 6 | - :headerData="headerData" | ||
| 7 | - @rowClick="rowClick" | ||
| 8 | - maxHeight="300px" | ||
| 9 | - :order="false" | ||
| 10 | - :border="false" | ||
| 11 | - :pagination="false" | ||
| 12 | - :pageSizes="[20, 30, 50, 100]" | ||
| 13 | - :highlightCurrentRow="false" | ||
| 14 | - > | ||
| 15 | - <template v-slot:skuCode="scope"> | ||
| 16 | - <el-tooltip | ||
| 17 | - class="item" | ||
| 18 | - effect="dark" | ||
| 19 | - :content="scope.row.model" | ||
| 20 | - placement="right" | ||
| 21 | - > | ||
| 22 | - <span>{{ scope.row.skuCode }}</span> | ||
| 23 | - </el-tooltip> | ||
| 24 | - </template> | ||
| 25 | - <template v-slot:knockdownNumber="scope"> | ||
| 26 | - <span | ||
| 27 | - >{{ scope.row.knockdownNumber | clearNull }} | ||
| 28 | - {{ scope.row.knockdownUnit | clearNull }}</span | ||
| 29 | - > | ||
| 30 | - </template> | ||
| 31 | - <template v-slot:qtyLegalFirst="scope"> | ||
| 32 | - <span | ||
| 33 | - >{{ scope.row.qtyLegalFirst | clearNull }} | ||
| 34 | - {{ scope.row.unitLegalFirst | clearNull }}</span | ||
| 35 | - > | ||
| 36 | - </template> | ||
| 37 | - <template v-slot:qtyLegalSecond="scope"> | ||
| 38 | - <span | ||
| 39 | - >{{ scope.row.qtyLegalSecond | clearNull }} | ||
| 40 | - {{ scope.row.unitLegalSecond | clearNull }}</span | ||
| 41 | - > | ||
| 42 | - </template> | ||
| 43 | - <template v-slot:amount="scope"> | ||
| 44 | - <span | ||
| 45 | - >{{ scope.row.amount | clearNull }} | ||
| 46 | - {{ scope.row.currency | clearNull }}</span | ||
| 47 | - > | ||
| 48 | - </template> | ||
| 49 | - </Table> | ||
| 50 | -</template> | ||
| 51 | - | ||
| 52 | -<script> | ||
| 53 | -export default { | ||
| 54 | - props: { | ||
| 55 | - tableData: { | ||
| 56 | - type: Array, | ||
| 57 | - default: null, | ||
| 58 | - }, | ||
| 59 | - headerData: { | ||
| 60 | - type: Array, | ||
| 61 | - default: null, | ||
| 62 | - }, | ||
| 63 | - activeDetial: { | ||
| 64 | - type: Object, | ||
| 65 | - default: null, | ||
| 66 | - }, | ||
| 67 | - dictData: { | ||
| 68 | - type: Object, | ||
| 69 | - default: null, | ||
| 70 | - }, | ||
| 71 | - }, | ||
| 72 | - data() { | ||
| 73 | - return { | ||
| 74 | - formData: this.activeDetial, | ||
| 75 | - expandRowKeys: [], | ||
| 76 | - unit: [], | ||
| 77 | - levyType: [], | ||
| 78 | - currency: [], | ||
| 79 | - country: [], | ||
| 80 | - }; | ||
| 81 | - }, | ||
| 82 | - watch: { | ||
| 83 | - activeDetial(val) { | ||
| 84 | - if (val == null) { | ||
| 85 | - this.expandRowKeys = []; | ||
| 86 | - } | ||
| 87 | - this.formData = val; | ||
| 88 | - }, | ||
| 89 | - detialsData(val) { | ||
| 90 | - this.tableData = val; | ||
| 91 | - }, | ||
| 92 | - }, | ||
| 93 | - methods: { | ||
| 94 | - rowClick(val) { | ||
| 95 | - this.$emit("rowClick", val); | ||
| 96 | - }, | ||
| 97 | - }, | ||
| 98 | - filters: { | ||
| 99 | - clearNull(value) { | ||
| 100 | - if (value == null) { | ||
| 101 | - return ""; | ||
| 102 | - } else { | ||
| 103 | - return value; | ||
| 104 | - } | ||
| 105 | - }, | ||
| 106 | - }, | ||
| 107 | -}; | ||
| 108 | -</script> | ||
| 109 | - | ||
| 110 | -<style lang="scss" scoped> | ||
| 111 | -::v-deep .el-table tr { | ||
| 112 | - background-color: #f2f2f2 !important; | ||
| 113 | - border: 0; | ||
| 114 | -} | ||
| 115 | - | ||
| 116 | -::v-deep .el-table--enable-row-hover .el-table__body tr:hover > td { | ||
| 117 | - background-color: #f2f2f2 !important; | ||
| 118 | -} | ||
| 119 | -</style> |
| 1 | -<template> | ||
| 2 | - <el-dialog | ||
| 3 | - :title="$t('declaration.indexD.dialogTitle')" | ||
| 4 | - :visible="bodyDialogVisible" | ||
| 5 | - width="65%" | ||
| 6 | - center | ||
| 7 | - @close="closeDialog" | ||
| 8 | - @open="openDialog" | ||
| 9 | - > | ||
| 10 | - <!-- 表头 --> | ||
| 11 | - <el-form | ||
| 12 | - class="fedexFormStyle" | ||
| 13 | - ref="bodyDialogForm" | ||
| 14 | - v-loading="dialogLoading" | ||
| 15 | - :model="formInfo" | ||
| 16 | - label-position="top" | ||
| 17 | - :disabled="disabled" | ||
| 18 | - > | ||
| 19 | - <el-row :gutter="5"> | ||
| 20 | - <!-- 中文品名 --> | ||
| 21 | - <el-col :span="8"> | ||
| 22 | - <Formitem | ||
| 23 | - :label="$t('entry.detial.form.label1')" | ||
| 24 | - :type="type" | ||
| 25 | - prop="inputItem" | ||
| 26 | - :disabled="false" | ||
| 27 | - > | ||
| 28 | - <el-input | ||
| 29 | - type="text" | ||
| 30 | - :id="'inputInner-' + type + '-inputItem'" | ||
| 31 | - v-model="formInfo.inputItem" | ||
| 32 | - @blur="inputItemBlur" | ||
| 33 | - ></el-input> | ||
| 34 | - </Formitem> | ||
| 35 | - </el-col> | ||
| 36 | - <!-- 商品编号 --> | ||
| 37 | - <el-col :span="8"> | ||
| 38 | - <Formitem | ||
| 39 | - :label="$t('entry.detial.form.label3')" | ||
| 40 | - :type="type" | ||
| 41 | - prop="skuCode" | ||
| 42 | - :disabled="false" | ||
| 43 | - > | ||
| 44 | - <el-input | ||
| 45 | - type="text" | ||
| 46 | - :id="'inputInner-' + type + '-skuCode'" | ||
| 47 | - v-model="formInfo.skuCode" | ||
| 48 | - @blur="inputItemBlur" | ||
| 49 | - ></el-input> | ||
| 50 | - </Formitem> | ||
| 51 | - </el-col> | ||
| 52 | - <!-- 商品名称 --> | ||
| 53 | - <el-col :span="8"> | ||
| 54 | - <Formitem | ||
| 55 | - :label="$t('entry.skuCodeDialog.table.label2')" | ||
| 56 | - :type="type" | ||
| 57 | - prop="skuName" | ||
| 58 | - :disabled="false" | ||
| 59 | - > | ||
| 60 | - <el-input | ||
| 61 | - type="text" | ||
| 62 | - :id="'inputInner-' + type + '-skuName'" | ||
| 63 | - v-model="formInfo.skuName" | ||
| 64 | - @blur="inputItemBlur" | ||
| 65 | - ></el-input> | ||
| 66 | - </Formitem> | ||
| 67 | - </el-col> | ||
| 68 | - </el-row> | ||
| 69 | - <el-row :gutter="5" v-for="(rowItem, idx) in rowList" :key="idx"> | ||
| 70 | - <el-col :span="6" v-for="(item, index) in rowItem" :key="index"> | ||
| 71 | - <Formitem :label="item.element" :prop="item.key" :disabled="false"> | ||
| 72 | - <el-input | ||
| 73 | - v-if=" | ||
| 74 | - item.element != '品牌类型' && item.element != '出口享惠情况' | ||
| 75 | - " | ||
| 76 | - type="text" | ||
| 77 | - :id="'inputInner--' + item.key" | ||
| 78 | - v-model="elementForm[item.key]" | ||
| 79 | - ></el-input> | ||
| 80 | - <el-select | ||
| 81 | - v-else-if="item.element == '品牌类型'" | ||
| 82 | - :id="'inputInner--' + item.key" | ||
| 83 | - v-model="elementForm[item.key]" | ||
| 84 | - placeholder="" | ||
| 85 | - > | ||
| 86 | - <el-option | ||
| 87 | - v-for="(val, idx) in dictData.brandType" | ||
| 88 | - :key="idx" | ||
| 89 | - :label="val.name" | ||
| 90 | - :value="val.code" | ||
| 91 | - ></el-option> | ||
| 92 | - </el-select> | ||
| 93 | - <el-select | ||
| 94 | - v-else-if="item.element == '出口享惠情况'" | ||
| 95 | - :id="'inputInner--' + item.key" | ||
| 96 | - v-model="elementForm[item.key]" | ||
| 97 | - placeholder="" | ||
| 98 | - > | ||
| 99 | - <el-option | ||
| 100 | - v-for="(val, idx) in dictData.exportBenefits" | ||
| 101 | - :key="idx" | ||
| 102 | - :label="val.name" | ||
| 103 | - :value="val.code" | ||
| 104 | - ></el-option> | ||
| 105 | - </el-select> | ||
| 106 | - </Formitem> | ||
| 107 | - </el-col> | ||
| 108 | - </el-row> | ||
| 109 | - </el-form> | ||
| 110 | - </el-dialog> | ||
| 111 | -</template> | ||
| 112 | - | ||
| 113 | -<script> | ||
| 114 | -import { getHscode } from "@/api/detial-api.js"; | ||
| 115 | -export default { | ||
| 116 | - props: { | ||
| 117 | - formInfo: { | ||
| 118 | - type: Object, | ||
| 119 | - default: null, | ||
| 120 | - }, | ||
| 121 | - dictData: { | ||
| 122 | - type: Object, | ||
| 123 | - default: null, | ||
| 124 | - }, | ||
| 125 | - bodyDialogVisible: { | ||
| 126 | - type: Boolean, | ||
| 127 | - default: null, | ||
| 128 | - }, | ||
| 129 | - disabled: { | ||
| 130 | - type: Boolean, | ||
| 131 | - default() { | ||
| 132 | - return false; | ||
| 133 | - }, | ||
| 134 | - }, | ||
| 135 | - type: { | ||
| 136 | - type: String, | ||
| 137 | - default: "", | ||
| 138 | - }, | ||
| 139 | - }, | ||
| 140 | - data() { | ||
| 141 | - return { | ||
| 142 | - visible: this.bodyDialogVisible, | ||
| 143 | - dialogLoading: false, | ||
| 144 | - rowList: [], | ||
| 145 | - elementForm: { | ||
| 146 | - element0: "", | ||
| 147 | - element1: "", | ||
| 148 | - element2: "", | ||
| 149 | - element3: "", | ||
| 150 | - element4: "", | ||
| 151 | - element5: "", | ||
| 152 | - element6: "", | ||
| 153 | - element7: "", | ||
| 154 | - element8: "", | ||
| 155 | - element9: "", | ||
| 156 | - element10: "", | ||
| 157 | - element11: "", | ||
| 158 | - element12: "", | ||
| 159 | - element13: "", | ||
| 160 | - element14: "", | ||
| 161 | - element15: "", | ||
| 162 | - element16: "", | ||
| 163 | - element17: "", | ||
| 164 | - element18: "", | ||
| 165 | - element19: "", | ||
| 166 | - element20: "", | ||
| 167 | - }, | ||
| 168 | - }; | ||
| 169 | - }, | ||
| 170 | - watch: {}, | ||
| 171 | - methods: { | ||
| 172 | - inputItemBlur(val) { | ||
| 173 | - this.$emit("inputItemBlur", this.activeDetial); | ||
| 174 | - }, | ||
| 175 | - closeDialog() { | ||
| 176 | - (this.elementForm = { | ||
| 177 | - element0: "", | ||
| 178 | - element1: "", | ||
| 179 | - element2: "", | ||
| 180 | - element3: "", | ||
| 181 | - element4: "", | ||
| 182 | - element5: "", | ||
| 183 | - element6: "", | ||
| 184 | - element7: "", | ||
| 185 | - element8: "", | ||
| 186 | - element9: "", | ||
| 187 | - element10: "", | ||
| 188 | - element11: "", | ||
| 189 | - element12: "", | ||
| 190 | - element13: "", | ||
| 191 | - element14: "", | ||
| 192 | - element15: "", | ||
| 193 | - element16: "", | ||
| 194 | - element17: "", | ||
| 195 | - element18: "", | ||
| 196 | - element19: "", | ||
| 197 | - element20: "", | ||
| 198 | - }), | ||
| 199 | - (this.rowList = []); | ||
| 200 | - this.visible = false; | ||
| 201 | - this.$emit("closeDialog", this.visible); | ||
| 202 | - }, | ||
| 203 | - openDialog() { | ||
| 204 | - this.dialogLoading = true; | ||
| 205 | - let arr = this.formInfo.model.split("|"); | ||
| 206 | - arr.forEach((item, index) => { | ||
| 207 | - if (item.split(":")[0] != "品名") { | ||
| 208 | - if (item.split(":")[0] == "品牌类型") { | ||
| 209 | - this.elementForm[`element${index}`] = item.split(":")[1] | ||
| 210 | - ? "brandType_" + item.split(":")[1] | ||
| 211 | - : ""; | ||
| 212 | - } else if (item.split(":")[0] == "出口享惠情况") { | ||
| 213 | - this.elementForm[`element${index}`] = item.split(":")[1] | ||
| 214 | - ? "exportBenefits_" + item.split(":")[1] | ||
| 215 | - : ""; | ||
| 216 | - } else { | ||
| 217 | - this.elementForm[`element${index}`] = item.split(":")[1] | ||
| 218 | - ? item.split(":")[1] | ||
| 219 | - : ""; | ||
| 220 | - } | ||
| 221 | - } | ||
| 222 | - }); | ||
| 223 | - return new Promise((resolve, reject) => { | ||
| 224 | - getHscode({ | ||
| 225 | - condition: this.formInfo.skuCode, | ||
| 226 | - pageIndex: 1, | ||
| 227 | - pageSize: 20, | ||
| 228 | - }) | ||
| 229 | - .then((res) => { | ||
| 230 | - if (res.code === "200") { | ||
| 231 | - this.rowList = [] | ||
| 232 | - let codeInfo = res.data.extra.hsCodes; | ||
| 233 | - let elementList = this.hscodeElementInfo(codeInfo[0]); | ||
| 234 | - let elementItem = []; | ||
| 235 | - let arr = []; | ||
| 236 | - elementList.forEach((item, index) => { | ||
| 237 | - if (item.element != "品名") { | ||
| 238 | - if (elementItem.length < 4) { | ||
| 239 | - elementItem.push(item); | ||
| 240 | - if (index == elementList.length - 1) { | ||
| 241 | - arr.push(elementItem); | ||
| 242 | - // this.rowList.push(elementItem); | ||
| 243 | - elementItem = []; | ||
| 244 | - } | ||
| 245 | - } else { | ||
| 246 | - // this.rowList.push(elementItem); | ||
| 247 | - arr.push(elementItem); | ||
| 248 | - elementItem = []; | ||
| 249 | - if (index == elementList.length - 1) { | ||
| 250 | - elementItem.push(item); | ||
| 251 | - // this.rowList.push(elementItem); | ||
| 252 | - arr.push(elementItem); | ||
| 253 | - } else { | ||
| 254 | - elementItem.push(item); | ||
| 255 | - } | ||
| 256 | - } | ||
| 257 | - } | ||
| 258 | - }); | ||
| 259 | - this.rowList = arr; | ||
| 260 | - this.dialogLoading = false; | ||
| 261 | - resolve(); | ||
| 262 | - } else { | ||
| 263 | - this.alertWarningMsg(res.message); | ||
| 264 | - reject(); | ||
| 265 | - } | ||
| 266 | - }) | ||
| 267 | - .catch((err) => { | ||
| 268 | - reject(); | ||
| 269 | - }); | ||
| 270 | - }); | ||
| 271 | - }, | ||
| 272 | - }, | ||
| 273 | - filters: { | ||
| 274 | - clearNull(value) { | ||
| 275 | - if (value == null) { | ||
| 276 | - return ""; | ||
| 277 | - } else { | ||
| 278 | - return value; | ||
| 279 | - } | ||
| 280 | - }, | ||
| 281 | - }, | ||
| 282 | -}; | ||
| 283 | -</script> |
| 1 | -<template> | ||
| 2 | - <!-- 表头 --> | ||
| 3 | - <el-form | ||
| 4 | - class="fedexFormStyle mt10" | ||
| 5 | - ref="companyForm" | ||
| 6 | - :model="headData" | ||
| 7 | - label-position="top" | ||
| 8 | - :disabled="disabled" | ||
| 9 | - > | ||
| 10 | - <el-row :gutter="5"> | ||
| 11 | - <!-- 运单号 --> | ||
| 12 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 13 | - <Formitem | ||
| 14 | - :label="$t('netrySreach.table.label1')" | ||
| 15 | - :type="type" | ||
| 16 | - :disabled="false" | ||
| 17 | - :toolyipShow="true" | ||
| 18 | - prop="consignmentCode" | ||
| 19 | - @event="formItemEvent" | ||
| 20 | - > | ||
| 21 | - <el-input | ||
| 22 | - type="text" | ||
| 23 | - :id="'inputInner-' + type + '-consignmentCode'" | ||
| 24 | - v-model="headData.consignmentCode" | ||
| 25 | - @blur="inputItemBlur" | ||
| 26 | - ></el-input> | ||
| 27 | - </Formitem> | ||
| 28 | - </el-col> | ||
| 29 | - <!-- 运单类型 --> | ||
| 30 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 31 | - <Formitem | ||
| 32 | - :label="$t('netrySreach.table.label2')" | ||
| 33 | - :type="type" | ||
| 34 | - :disabled="false" | ||
| 35 | - :toolyipShow="true" | ||
| 36 | - prop="consTypeDicId" | ||
| 37 | - @event="formItemEvent" | ||
| 38 | - > | ||
| 39 | - <el-select | ||
| 40 | - name="consTypeDicId" | ||
| 41 | - :id="'inputInner-' + type + '-consTypeDicId'" | ||
| 42 | - v-model="headData.consTypeDicId" | ||
| 43 | - filterable | ||
| 44 | - placeholder="" | ||
| 45 | - value-key="id" | ||
| 46 | - @change="inputItemBlur" | ||
| 47 | - > | ||
| 48 | - <el-option | ||
| 49 | - v-for="(item, index) in dictData.consType" | ||
| 50 | - :key="index" | ||
| 51 | - :label="item.name | entryClass" | ||
| 52 | - :value="item.id" | ||
| 53 | - ></el-option> | ||
| 54 | - </el-select> | ||
| 55 | - </Formitem> | ||
| 56 | - </el-col> | ||
| 57 | - <!-- 境外收货人名称(外文) --> | ||
| 58 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 59 | - <Formitem | ||
| 60 | - :label="$t('entry.company.form.label9')" | ||
| 61 | - :type="type" | ||
| 62 | - :disabled="false" | ||
| 63 | - :toolyipShow="true" | ||
| 64 | - prop="label9" | ||
| 65 | - @event="formItemEvent" | ||
| 66 | - > | ||
| 67 | - <el-input | ||
| 68 | - type="text" | ||
| 69 | - :id="'inputInner-' + type + '-label9'" | ||
| 70 | - v-model="headData.overseasConsignorFnCname" | ||
| 71 | - @blur="inputItemBlur" | ||
| 72 | - ></el-input> | ||
| 73 | - </Formitem> | ||
| 74 | - </el-col> | ||
| 75 | - <!-- 境外收货人编码 --> | ||
| 76 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 77 | - <Formitem | ||
| 78 | - :label="$t('entry.company.form.label10')" | ||
| 79 | - :type="type" | ||
| 80 | - :disabled="false" | ||
| 81 | - :toolyipShow="true" | ||
| 82 | - prop="label10" | ||
| 83 | - @event="formItemEvent" | ||
| 84 | - > | ||
| 85 | - <el-input | ||
| 86 | - type="text" | ||
| 87 | - :id="'inputInner-' + type + '-label10'" | ||
| 88 | - v-model="headData.overseasConsignorCode" | ||
| 89 | - @blur="inputItemBlur" | ||
| 90 | - ></el-input> | ||
| 91 | - </Formitem> | ||
| 92 | - </el-col> | ||
| 93 | - <!-- </el-row> | ||
| 94 | - <el-row :gutter="5"> --> | ||
| 95 | - <!-- 生产销售单位 --> | ||
| 96 | - <el-col :span="showHelf ? 12 : 6"> | ||
| 97 | - <Formitem | ||
| 98 | - :label="$t('entry.company.form.label6')" | ||
| 99 | - :type="type" | ||
| 100 | - :disabled="false" | ||
| 101 | - :toolyipShow="true" | ||
| 102 | - prop="ownerName" | ||
| 103 | - @event="formItemEvent" | ||
| 104 | - > | ||
| 105 | - <el-input | ||
| 106 | - type="text" | ||
| 107 | - :id="'inputInner-' + type + '-ownerName'" | ||
| 108 | - v-model="headData.ownerName" | ||
| 109 | - @blur="inputItemBlur" | ||
| 110 | - ></el-input> | ||
| 111 | - </Formitem> | ||
| 112 | - </el-col> | ||
| 113 | - <!-- 生产销售单位海关备案编码 --> | ||
| 114 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 115 | - <Formitem | ||
| 116 | - :label="$t('declaration.indexD.headForm.label1')" | ||
| 117 | - :type="type" | ||
| 118 | - :disabled="false" | ||
| 119 | - :toolyipShow="true" | ||
| 120 | - prop="ownerCode" | ||
| 121 | - @event="formItemEvent" | ||
| 122 | - > | ||
| 123 | - <el-input | ||
| 124 | - type="text" | ||
| 125 | - :id="'inputInner-' + type + '-ownerCode'" | ||
| 126 | - v-model="headData.ownerCode" | ||
| 127 | - @blur="inputItemBlur" | ||
| 128 | - ></el-input> | ||
| 129 | - </Formitem> | ||
| 130 | - </el-col> | ||
| 131 | - <!-- 生产销售单位统一社会信用代码 --> | ||
| 132 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 133 | - <Formitem | ||
| 134 | - :label="$t('declaration.indexD.headForm.label2')" | ||
| 135 | - :type="type" | ||
| 136 | - :disabled="false" | ||
| 137 | - :toolyipShow="true" | ||
| 138 | - prop="ownerCodeScc" | ||
| 139 | - @event="formItemEvent" | ||
| 140 | - > | ||
| 141 | - <el-input | ||
| 142 | - type="text" | ||
| 143 | - :id="'inputInner-' + type + '-ownerCodeScc'" | ||
| 144 | - v-model="headData.ownerCodeScc" | ||
| 145 | - @blur="inputItemBlur" | ||
| 146 | - ></el-input> | ||
| 147 | - </Formitem> | ||
| 148 | - </el-col> | ||
| 149 | - </el-row> | ||
| 150 | - <el-row :gutter="5"> | ||
| 151 | - <!-- 境内发货人 --> | ||
| 152 | - <el-col :span="showHelf ? 12 : 6"> | ||
| 153 | - <Formitem | ||
| 154 | - :label="$t('entry.company.form.label2')" | ||
| 155 | - :type="type" | ||
| 156 | - :disabled="false" | ||
| 157 | - :toolyipShow="true" | ||
| 158 | - prop="operateUnitName" | ||
| 159 | - @event="formItemEvent" | ||
| 160 | - > | ||
| 161 | - <el-input | ||
| 162 | - type="text" | ||
| 163 | - :id="'inputInner-' + type + '-operateUnitName'" | ||
| 164 | - v-model="headData.operateUnitName" | ||
| 165 | - @blur="inputItemBlur" | ||
| 166 | - ></el-input> | ||
| 167 | - </Formitem> | ||
| 168 | - </el-col> | ||
| 169 | - <!-- 境内发货人海关备案编码 --> | ||
| 170 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 171 | - <Formitem | ||
| 172 | - :label="$t('declaration.indexD.headForm.label3')" | ||
| 173 | - :type="type" | ||
| 174 | - :disabled="false" | ||
| 175 | - :toolyipShow="true" | ||
| 176 | - prop="operateUnitCode" | ||
| 177 | - @event="formItemEvent" | ||
| 178 | - > | ||
| 179 | - <el-input | ||
| 180 | - type="text" | ||
| 181 | - :id="'inputInner-' + type + '-operateUnitCode'" | ||
| 182 | - v-model="headData.operateUnitCode" | ||
| 183 | - @blur="inputItemBlur" | ||
| 184 | - ></el-input> | ||
| 185 | - </Formitem> | ||
| 186 | - </el-col> | ||
| 187 | - <!-- 境内发货人统一社会信用代码 --> | ||
| 188 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 189 | - <Formitem | ||
| 190 | - :label="$t('declaration.indexD.headForm.label4')" | ||
| 191 | - :type="type" | ||
| 192 | - :disabled="false" | ||
| 193 | - :toolyipShow="true" | ||
| 194 | - prop="tradeCoSCC" | ||
| 195 | - @event="formItemEvent" | ||
| 196 | - > | ||
| 197 | - <el-input | ||
| 198 | - type="text" | ||
| 199 | - :id="'inputInner-' + type + '-tradeCoSCC'" | ||
| 200 | - v-model="headData.tradeCoSCC" | ||
| 201 | - @blur="inputItemBlur" | ||
| 202 | - ></el-input> | ||
| 203 | - </Formitem> | ||
| 204 | - </el-col> | ||
| 205 | - <!-- </el-row> | ||
| 206 | - <el-row :gutter="5"> --> | ||
| 207 | - <!-- 运输方式 --> | ||
| 208 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 209 | - <Formitem | ||
| 210 | - :label="$t('entry.company.form.label11')" | ||
| 211 | - :type="type" | ||
| 212 | - :disabled="false" | ||
| 213 | - :toolyipShow="true" | ||
| 214 | - prop="vehicleWayId" | ||
| 215 | - @event="formItemEvent" | ||
| 216 | - > | ||
| 217 | - <el-select | ||
| 218 | - :id="'inputInner-' + type + '-vehicleWayId'" | ||
| 219 | - v-model="headData.vehicleWayId" | ||
| 220 | - filterable | ||
| 221 | - placeholder="" | ||
| 222 | - value-key="id" | ||
| 223 | - @change="inputItemBlur" | ||
| 224 | - > | ||
| 225 | - <el-option | ||
| 226 | - v-for="(item, index) in dictData.VehicleWayCode" | ||
| 227 | - :key="index" | ||
| 228 | - :label="item.name" | ||
| 229 | - :value="item.id" | ||
| 230 | - ></el-option> | ||
| 231 | - </el-select> | ||
| 232 | - </Formitem> | ||
| 233 | - </el-col> | ||
| 234 | - <!-- 贸易国(地区) --> | ||
| 235 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 236 | - <Formitem | ||
| 237 | - :label="$t('entry.company.form.label12')" | ||
| 238 | - :type="type" | ||
| 239 | - :disabled="false" | ||
| 240 | - :toolyipShow="true" | ||
| 241 | - prop="tradeAreaCodeDicId" | ||
| 242 | - @event="formItemEvent" | ||
| 243 | - > | ||
| 244 | - <el-select | ||
| 245 | - name="tradeAreaCode" | ||
| 246 | - :id="'inputInner-' + type + '-tradeAreaCodeDicId'" | ||
| 247 | - v-model="headData.tradeAreaCodeDicId" | ||
| 248 | - filterable | ||
| 249 | - placeholder="" | ||
| 250 | - value-key="id" | ||
| 251 | - @change="inputItemBlur" | ||
| 252 | - > | ||
| 253 | - <el-option | ||
| 254 | - v-for="(item, index) in dictData.Country" | ||
| 255 | - :key="index" | ||
| 256 | - :label="item.name" | ||
| 257 | - :value="item.id" | ||
| 258 | - ></el-option> | ||
| 259 | - </el-select> | ||
| 260 | - </Formitem> | ||
| 261 | - </el-col> | ||
| 262 | - <!-- 抵运国(地区) --> | ||
| 263 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 264 | - <Formitem | ||
| 265 | - :label="$t('entry.company.form.label13')" | ||
| 266 | - :type="type" | ||
| 267 | - :disabled="false" | ||
| 268 | - :toolyipShow="true" | ||
| 269 | - prop="fromCountryDicId" | ||
| 270 | - @event="formItemEvent" | ||
| 271 | - > | ||
| 272 | - <el-select | ||
| 273 | - name="fromCountry" | ||
| 274 | - :id="'inputInner-' + type + '-fromCountryDicId'" | ||
| 275 | - v-model="headData.fromCountryDicId" | ||
| 276 | - filterable | ||
| 277 | - placeholder="" | ||
| 278 | - value-key="id" | ||
| 279 | - @change="inputItemBlur" | ||
| 280 | - > | ||
| 281 | - <el-option | ||
| 282 | - v-for="(item, index) in dictData.Country" | ||
| 283 | - :key="index" | ||
| 284 | - :label="item.name" | ||
| 285 | - :value="item.id" | ||
| 286 | - ></el-option> | ||
| 287 | - </el-select> | ||
| 288 | - </Formitem> | ||
| 289 | - </el-col> | ||
| 290 | - <!-- 指运港 --> | ||
| 291 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 292 | - <Formitem | ||
| 293 | - :label="$t('entry.company.form.label14')" | ||
| 294 | - :type="type" | ||
| 295 | - :disabled="false" | ||
| 296 | - :toolyipShow="true" | ||
| 297 | - prop="throughStopPortDicId" | ||
| 298 | - @event="formItemEvent" | ||
| 299 | - > | ||
| 300 | - <el-select | ||
| 301 | - name="throughStopPort" | ||
| 302 | - :id="'inputInner-' + type + '-throughStopPortDicId'" | ||
| 303 | - v-model="headData.throughStopPortDicId" | ||
| 304 | - filterable | ||
| 305 | - placeholder="" | ||
| 306 | - value-key="id" | ||
| 307 | - @change="inputItemBlur" | ||
| 308 | - > | ||
| 309 | - <el-option | ||
| 310 | - v-for="(item, index) in dictData.port" | ||
| 311 | - :key="index" | ||
| 312 | - :label="item.portName" | ||
| 313 | - :value="item.id" | ||
| 314 | - ></el-option> | ||
| 315 | - </el-select> | ||
| 316 | - </Formitem> | ||
| 317 | - </el-col> | ||
| 318 | - </el-row> | ||
| 319 | - <el-row :gutter="5"> | ||
| 320 | - <!-- 包装种类 --> | ||
| 321 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 322 | - <Formitem | ||
| 323 | - :label="$t('entry.company.form.label15')" | ||
| 324 | - :type="type" | ||
| 325 | - :disabled="false" | ||
| 326 | - :toolyipShow="true" | ||
| 327 | - prop="packageTypeDicId" | ||
| 328 | - @event="formItemEvent" | ||
| 329 | - > | ||
| 330 | - <el-select | ||
| 331 | - name="packageType" | ||
| 332 | - :id="'inputInner-' + type + '-packageTypeDicId'" | ||
| 333 | - v-model="headData.packageTypeDicId" | ||
| 334 | - filterable | ||
| 335 | - placeholder="" | ||
| 336 | - value-key="id" | ||
| 337 | - @change="inputItemBlur" | ||
| 338 | - > | ||
| 339 | - <el-option | ||
| 340 | - v-for="(item, index) in dictData.NewPackageType" | ||
| 341 | - :key="index" | ||
| 342 | - :label="item.name" | ||
| 343 | - :value="item.id" | ||
| 344 | - ></el-option> | ||
| 345 | - </el-select> | ||
| 346 | - </Formitem> | ||
| 347 | - </el-col> | ||
| 348 | - <!-- 运单件数 --> | ||
| 349 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 350 | - <Formitem | ||
| 351 | - :label="$t('entry.company.form.label16')" | ||
| 352 | - :type="type" | ||
| 353 | - :disabled="false" | ||
| 354 | - :toolyipShow="true" | ||
| 355 | - prop="counts" | ||
| 356 | - @event="formItemEvent" | ||
| 357 | - > | ||
| 358 | - <el-input | ||
| 359 | - type="text" | ||
| 360 | - :id="'inputInner-' + type + '-counts'" | ||
| 361 | - v-model="headData.counts" | ||
| 362 | - maxlength="15" | ||
| 363 | - @blur="inputItemBlur" | ||
| 364 | - /> | ||
| 365 | - </Formitem> | ||
| 366 | - </el-col> | ||
| 367 | - <!-- 毛重(公斤) --> | ||
| 368 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 369 | - <Formitem | ||
| 370 | - :label="$t('entry.company.form.label17')" | ||
| 371 | - :type="type" | ||
| 372 | - :disabled="false" | ||
| 373 | - :toolyipShow="true" | ||
| 374 | - prop="grossWeight" | ||
| 375 | - @event="formItemEvent" | ||
| 376 | - > | ||
| 377 | - <el-input | ||
| 378 | - type="text" | ||
| 379 | - :id="'inputInner-' + type + '-grossWeight'" | ||
| 380 | - v-model="headData.grossWeight" | ||
| 381 | - maxlength="15" | ||
| 382 | - @blur="inputItemBlur" | ||
| 383 | - /> | ||
| 384 | - </Formitem> | ||
| 385 | - </el-col> | ||
| 386 | - <!-- 净重(公斤) --> | ||
| 387 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 388 | - <Formitem | ||
| 389 | - :label="$t('entry.company.form.label18')" | ||
| 390 | - :type="type" | ||
| 391 | - :disabled="false" | ||
| 392 | - :toolyipShow="true" | ||
| 393 | - prop="netWeight" | ||
| 394 | - @event="formItemEvent" | ||
| 395 | - > | ||
| 396 | - <el-input | ||
| 397 | - type="text" | ||
| 398 | - :id="'inputInner-' + type + '-netWeight'" | ||
| 399 | - v-model="headData.netWeight" | ||
| 400 | - maxlength="15" | ||
| 401 | - @blur="inputItemBlur" | ||
| 402 | - /> | ||
| 403 | - </Formitem> | ||
| 404 | - </el-col> | ||
| 405 | - <!-- </el-row> | ||
| 406 | - <el-row :gutter="5"> --> | ||
| 407 | - <!-- 监管方式 --> | ||
| 408 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 409 | - <Formitem | ||
| 410 | - :label="$t('entry.company.form.label19')" | ||
| 411 | - :type="type" | ||
| 412 | - :disabled="false" | ||
| 413 | - :toolyipShow="true" | ||
| 414 | - prop="tradeModeDicId" | ||
| 415 | - @event="formItemEvent" | ||
| 416 | - > | ||
| 417 | - <el-select | ||
| 418 | - name="tradeMode" | ||
| 419 | - :id="'inputInner-' + type + '-tradeModeDicId'" | ||
| 420 | - v-model="headData.tradeModeDicId" | ||
| 421 | - filterable | ||
| 422 | - placeholder="" | ||
| 423 | - value-key="id" | ||
| 424 | - @change="inputItemBlur" | ||
| 425 | - > | ||
| 426 | - <el-option | ||
| 427 | - v-for="(item, index) in dictData.supervisionMode" | ||
| 428 | - :key="index" | ||
| 429 | - :label="item.name" | ||
| 430 | - :value="item.id" | ||
| 431 | - ></el-option> | ||
| 432 | - </el-select> | ||
| 433 | - </Formitem> | ||
| 434 | - </el-col> | ||
| 435 | - <!-- 征免性质 --> | ||
| 436 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 437 | - <Formitem | ||
| 438 | - :label="$t('entry.company.form.label21')" | ||
| 439 | - :type="type" | ||
| 440 | - :disabled="false" | ||
| 441 | - :toolyipShow="true" | ||
| 442 | - prop="taxNatureDicId" | ||
| 443 | - @event="formItemEvent" | ||
| 444 | - > | ||
| 445 | - <el-select | ||
| 446 | - name="taxNature" | ||
| 447 | - :id="'inputInner-' + type + '-taxNatureDicId'" | ||
| 448 | - v-model="headData.taxNatureDicId" | ||
| 449 | - filterable | ||
| 450 | - placeholder="" | ||
| 451 | - value-key="id" | ||
| 452 | - @change="inputItemBlur" | ||
| 453 | - > | ||
| 454 | - <el-option | ||
| 455 | - v-for="(item, index) in dictData.natureExemption" | ||
| 456 | - :key="index" | ||
| 457 | - :label="item.name" | ||
| 458 | - :value="item.id" | ||
| 459 | - ></el-option> | ||
| 460 | - </el-select> | ||
| 461 | - </Formitem> | ||
| 462 | - </el-col> | ||
| 463 | - <!-- 关联进口报关单号 --> | ||
| 464 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 465 | - <Formitem | ||
| 466 | - :label="$t('entry.company.form.label20')" | ||
| 467 | - :type="type" | ||
| 468 | - :disabled="false" | ||
| 469 | - :toolyipShow="true" | ||
| 470 | - prop="relatedDeclarationNo" | ||
| 471 | - @event="formItemEvent" | ||
| 472 | - > | ||
| 473 | - <el-input | ||
| 474 | - type="text" | ||
| 475 | - :id="'inputInner-' + type + '-relatedDeclarationNo'" | ||
| 476 | - v-model="headData.relatedDeclarationNo" | ||
| 477 | - maxlength="18" | ||
| 478 | - @blur="formChange" | ||
| 479 | - /> | ||
| 480 | - </Formitem> | ||
| 481 | - </el-col> | ||
| 482 | - <!-- 成交方式 --> | ||
| 483 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 484 | - <Formitem | ||
| 485 | - :label="$t('entry.company.form.label22')" | ||
| 486 | - :type="type" | ||
| 487 | - :disabled="false" | ||
| 488 | - :toolyipShow="true" | ||
| 489 | - prop="dealModeDicId" | ||
| 490 | - @event="formItemEvent" | ||
| 491 | - > | ||
| 492 | - <el-select | ||
| 493 | - name="dealMode" | ||
| 494 | - :id="'inputInner-' + type + '-dealModeDicId'" | ||
| 495 | - v-model="headData.dealModeDicId" | ||
| 496 | - filterable | ||
| 497 | - placeholder="" | ||
| 498 | - value-key="id" | ||
| 499 | - @change="inputItemBlur" | ||
| 500 | - > | ||
| 501 | - <el-option | ||
| 502 | - v-for="(item, index) in dictData.ClinchType" | ||
| 503 | - :key="index" | ||
| 504 | - :label="item.name" | ||
| 505 | - :value="item.id" | ||
| 506 | - ></el-option> | ||
| 507 | - </el-select> | ||
| 508 | - </Formitem> | ||
| 509 | - </el-col> | ||
| 510 | - </el-row> | ||
| 511 | - <el-row :gutter="5"> | ||
| 512 | - <!-- 运费 --> | ||
| 513 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 514 | - <el-row :gutter="3"> | ||
| 515 | - <el-col :xl="12" :lg="12" :md="12" :sm="12" :xs="12"> | ||
| 516 | - <Formitem | ||
| 517 | - :label="$t('entry.company.form.label23')" | ||
| 518 | - :type="type" | ||
| 519 | - :disabled="false" | ||
| 520 | - :toolyipShow="true" | ||
| 521 | - prop="transRateDicCode" | ||
| 522 | - @event="formItemEvent" | ||
| 523 | - > | ||
| 524 | - <el-select | ||
| 525 | - name="transRate" | ||
| 526 | - :id="'inputInner-' + type + '-transRateDicCode'" | ||
| 527 | - v-model="headData.transRateDicCode" | ||
| 528 | - placeholder="" | ||
| 529 | - value-key="id" | ||
| 530 | - @change="inputItemBlur" | ||
| 531 | - > | ||
| 532 | - <el-option | ||
| 533 | - v-for="(item, index) in dictData.ENTRY_METHOD" | ||
| 534 | - :key="index" | ||
| 535 | - :label="item.name" | ||
| 536 | - :value="item.code" | ||
| 537 | - ></el-option> | ||
| 538 | - </el-select> | ||
| 539 | - </Formitem> | ||
| 540 | - </el-col> | ||
| 541 | - <el-col :xl="12" :lg="12" :md="12" :sm="12" :xs="12"> | ||
| 542 | - <el-form-item | ||
| 543 | - :class="{ | ||
| 544 | - 'formItem-justItem': | ||
| 545 | - headData.transRateDicCode == '3' ? true : false, | ||
| 546 | - }" | ||
| 547 | - > | ||
| 548 | - <Formitem | ||
| 549 | - v-show="headData.transRateDicCode == '3'" | ||
| 550 | - :label="$t('entry.company.form.label24')" | ||
| 551 | - :type="type" | ||
| 552 | - :disabled="false" | ||
| 553 | - :toolyipShow="true" | ||
| 554 | - prop="transCurrencyDicId" | ||
| 555 | - @event="formItemEvent" | ||
| 556 | - > | ||
| 557 | - <el-select | ||
| 558 | - name="transCurrencyDic" | ||
| 559 | - :id="'inputInner-' + type + '-transCurrencyDicId'" | ||
| 560 | - v-model="headData.transCurrencyDicId" | ||
| 561 | - filterable | ||
| 562 | - placeholder="" | ||
| 563 | - value-key="id" | ||
| 564 | - @change="inputItemBlur" | ||
| 565 | - > | ||
| 566 | - <el-option | ||
| 567 | - v-for="(item, index) in dictData.currencySystem" | ||
| 568 | - :key="index" | ||
| 569 | - :label="item.name" | ||
| 570 | - :value="item.id" | ||
| 571 | - ></el-option> | ||
| 572 | - </el-select> | ||
| 573 | - </Formitem> | ||
| 574 | - <Formitem | ||
| 575 | - :label=" | ||
| 576 | - headData.transRateDicCode == '1' | ||
| 577 | - ? '%' | ||
| 578 | - : headData.transRateDicCode == '3' | ||
| 579 | - ? $t('entry.company.form.label25') | ||
| 580 | - : '' | ||
| 581 | - " | ||
| 582 | - :type="type" | ||
| 583 | - :disabled="false" | ||
| 584 | - :toolyipShow="true" | ||
| 585 | - prop="transCost" | ||
| 586 | - @event="formItemEvent" | ||
| 587 | - > | ||
| 588 | - <el-input | ||
| 589 | - type="text" | ||
| 590 | - :id="'inputInner-' + type + '-transCost'" | ||
| 591 | - maxlength="15" | ||
| 592 | - v-model="headData.transCost" | ||
| 593 | - @blur="inputItemBlur" | ||
| 594 | - /> | ||
| 595 | - </Formitem> | ||
| 596 | - </el-form-item> | ||
| 597 | - </el-col> | ||
| 598 | - </el-row> | ||
| 599 | - </el-col> | ||
| 600 | - <!-- 保费 --> | ||
| 601 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 602 | - <el-row :gutter="3"> | ||
| 603 | - <el-col :xl="12" :lg="12" :md="12" :sm="12" :xs="12"> | ||
| 604 | - <Formitem | ||
| 605 | - :label="$t('entry.company.form.label26')" | ||
| 606 | - :type="type" | ||
| 607 | - :disabled="false" | ||
| 608 | - :toolyipShow="true" | ||
| 609 | - prop="insuranceRateDicCode" | ||
| 610 | - @event="formItemEvent" | ||
| 611 | - > | ||
| 612 | - <el-select | ||
| 613 | - name="insuranceRate" | ||
| 614 | - :id="'inputInner-' + type + '-insuranceRateDicCode'" | ||
| 615 | - v-model="headData.insuranceRateDicCode" | ||
| 616 | - placeholder="" | ||
| 617 | - value-key="id" | ||
| 618 | - @change="inputItemBlur" | ||
| 619 | - > | ||
| 620 | - <el-option | ||
| 621 | - v-for="(item, index) in dictData.ENTRY_METHOD" | ||
| 622 | - :key="index" | ||
| 623 | - :label="item.name" | ||
| 624 | - :value="item.code" | ||
| 625 | - ></el-option> | ||
| 626 | - </el-select> | ||
| 627 | - </Formitem> | ||
| 628 | - </el-col> | ||
| 629 | - <el-col :xl="12" :lg="12" :md="12" :sm="12" :xs="12"> | ||
| 630 | - <el-form-item | ||
| 631 | - :class="{ | ||
| 632 | - 'formItem-justItem': | ||
| 633 | - headData.insuranceRateDicCode == '3' ? true : false, | ||
| 634 | - }" | ||
| 635 | - > | ||
| 636 | - <Formitem | ||
| 637 | - v-show="headData.insuranceRateDicCode == '3'" | ||
| 638 | - :label="$t('entry.company.form.label24')" | ||
| 639 | - :type="type" | ||
| 640 | - :disabled="false" | ||
| 641 | - :toolyipShow="true" | ||
| 642 | - prop="insuranceCostCurrencyDicId" | ||
| 643 | - @event="formItemEvent" | ||
| 644 | - > | ||
| 645 | - <el-select | ||
| 646 | - name="insuranceCostCurrency" | ||
| 647 | - :id="'inputInner-' + type + '-insuranceCostCurrencyDicId'" | ||
| 648 | - v-model="headData.insuranceCostCurrencyDicId" | ||
| 649 | - filterable | ||
| 650 | - placeholder="" | ||
| 651 | - value-key="id" | ||
| 652 | - @change="inputItemBlur" | ||
| 653 | - > | ||
| 654 | - <el-option | ||
| 655 | - v-for="(item, index) in dictData.currencySystem" | ||
| 656 | - :key="index" | ||
| 657 | - :label="item.name" | ||
| 658 | - :value="item.id" | ||
| 659 | - ></el-option> | ||
| 660 | - </el-select> | ||
| 661 | - </Formitem> | ||
| 662 | - <Formitem | ||
| 663 | - :label=" | ||
| 664 | - headData.insuranceRateDicCode == '1' | ||
| 665 | - ? '%' | ||
| 666 | - : headData.insuranceRateDicCode == '3' | ||
| 667 | - ? $t('entry.company.form.label27') | ||
| 668 | - : '' | ||
| 669 | - " | ||
| 670 | - :type="type" | ||
| 671 | - :disabled="false" | ||
| 672 | - :toolyipShow="true" | ||
| 673 | - prop="insuranceCost" | ||
| 674 | - @event="formItemEvent" | ||
| 675 | - > | ||
| 676 | - <el-input | ||
| 677 | - type="text" | ||
| 678 | - :id="'inputInner-' + type + '-insuranceCost'" | ||
| 679 | - maxlength="15" | ||
| 680 | - v-model="headData.insuranceCost" | ||
| 681 | - @blur="inputItemBlur" | ||
| 682 | - /> | ||
| 683 | - </Formitem> | ||
| 684 | - </el-form-item> | ||
| 685 | - </el-col> | ||
| 686 | - </el-row> | ||
| 687 | - </el-col> | ||
| 688 | - <!-- 杂费 --> | ||
| 689 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 690 | - <el-row :gutter="3"> | ||
| 691 | - <el-col :xl="12" :lg="12" :md="12" :sm="12" :xs="12"> | ||
| 692 | - <Formitem | ||
| 693 | - :label="$t('entry.company.form.label28')" | ||
| 694 | - :type="type" | ||
| 695 | - :disabled="false" | ||
| 696 | - :toolyipShow="true" | ||
| 697 | - prop="otherRateDicCode" | ||
| 698 | - @event="formItemEvent" | ||
| 699 | - > | ||
| 700 | - <el-select | ||
| 701 | - name="otherRate" | ||
| 702 | - :id="'inputInner-' + type + '-otherRateDicCode'" | ||
| 703 | - clearable | ||
| 704 | - v-model="headData.otherRateDicCode" | ||
| 705 | - placeholder="" | ||
| 706 | - value-key="id" | ||
| 707 | - @change="inputItemBlur" | ||
| 708 | - > | ||
| 709 | - <el-option | ||
| 710 | - v-for="(item, index) in dictData.ENTRY_METHOD" | ||
| 711 | - :key="index" | ||
| 712 | - :label="item.name" | ||
| 713 | - :value="item.code" | ||
| 714 | - ></el-option> | ||
| 715 | - </el-select> | ||
| 716 | - </Formitem> | ||
| 717 | - </el-col> | ||
| 718 | - <el-col :xl="12" :lg="12" :md="12" :sm="12" :xs="12"> | ||
| 719 | - <el-form-item | ||
| 720 | - :class="{ | ||
| 721 | - 'formItem-justItem': | ||
| 722 | - headData.otherRateDicCode == '3' ? true : false, | ||
| 723 | - }" | ||
| 724 | - > | ||
| 725 | - <Formitem | ||
| 726 | - v-show="headData.otherRateDicCode == '3'" | ||
| 727 | - :label="$t('entry.company.form.label24')" | ||
| 728 | - :type="type" | ||
| 729 | - :disabled="false" | ||
| 730 | - :toolyipShow="true" | ||
| 731 | - prop="otherCurrencyDicId" | ||
| 732 | - @event="formItemEvent" | ||
| 733 | - > | ||
| 734 | - <el-select | ||
| 735 | - name="otherCurrency" | ||
| 736 | - :id="'inputInner-' + type + '-otherCurrencyDicId'" | ||
| 737 | - v-model="headData.otherCurrencyDicId" | ||
| 738 | - filterable | ||
| 739 | - placeholder="" | ||
| 740 | - value-key="id" | ||
| 741 | - @change="inputItemBlur" | ||
| 742 | - > | ||
| 743 | - <el-option | ||
| 744 | - v-for="(item, index) in dictData.currencySystem" | ||
| 745 | - :key="index" | ||
| 746 | - :label="item.name" | ||
| 747 | - :value="item.id" | ||
| 748 | - ></el-option> | ||
| 749 | - </el-select> | ||
| 750 | - </Formitem> | ||
| 751 | - <Formitem | ||
| 752 | - :label=" | ||
| 753 | - headData.otherRateDicCode == '1' | ||
| 754 | - ? '%' | ||
| 755 | - : headData.otherRateDicCode == '3' | ||
| 756 | - ? $t('entry.company.form.label29') | ||
| 757 | - : '' | ||
| 758 | - " | ||
| 759 | - :type="type" | ||
| 760 | - :disabled="false" | ||
| 761 | - :toolyipShow="true" | ||
| 762 | - prop="otherCost" | ||
| 763 | - @event="formItemEvent" | ||
| 764 | - > | ||
| 765 | - <el-input | ||
| 766 | - type="text" | ||
| 767 | - :id="'inputInner-' + type + '-otherCost'" | ||
| 768 | - v-model="headData.otherCost" | ||
| 769 | - maxlength="15" | ||
| 770 | - @blur="inputItemBlur" | ||
| 771 | - /> | ||
| 772 | - </Formitem> | ||
| 773 | - </el-form-item> | ||
| 774 | - </el-col> | ||
| 775 | - </el-row> | ||
| 776 | - </el-col> | ||
| 777 | - <!-- 合同协议号 --> | ||
| 778 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 779 | - <Formitem | ||
| 780 | - :label="$t('entry.company.form.label30')" | ||
| 781 | - :type="type" | ||
| 782 | - :disabled="false" | ||
| 783 | - :toolyipShow="true" | ||
| 784 | - prop="contractCode" | ||
| 785 | - @event="formItemEvent" | ||
| 786 | - > | ||
| 787 | - <el-input | ||
| 788 | - type="text" | ||
| 789 | - :id="'inputInner-' + type + '-contractCode'" | ||
| 790 | - v-model="headData.contractCode" | ||
| 791 | - @blur="inputItemBlur" | ||
| 792 | - /> | ||
| 793 | - </Formitem> | ||
| 794 | - </el-col> | ||
| 795 | - <!-- </el-row> | ||
| 796 | - <el-row :gutter="5"> --> | ||
| 797 | - <!-- 许可证号 --> | ||
| 798 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 799 | - <Formitem | ||
| 800 | - :label="$t('entry.company.form.label31')" | ||
| 801 | - :type="type" | ||
| 802 | - :disabled="false" | ||
| 803 | - :toolyipShow="true" | ||
| 804 | - prop="licenseCode" | ||
| 805 | - @event="formItemEvent" | ||
| 806 | - > | ||
| 807 | - <el-input | ||
| 808 | - type="text" | ||
| 809 | - :id="'inputInner-' + type + '-licenseCode'" | ||
| 810 | - v-model="headData.licenseCode" | ||
| 811 | - @blur="inputItemBlur" | ||
| 812 | - ></el-input> | ||
| 813 | - </Formitem> | ||
| 814 | - </el-col> | ||
| 815 | - <!-- 随附单证及编号 --> | ||
| 816 | - <el-col :span="showHelf ? 18 : 9"> | ||
| 817 | - <Formitem | ||
| 818 | - :label="$t('entry.company.form.label34')" | ||
| 819 | - :type="type" | ||
| 820 | - :disabled="false" | ||
| 821 | - :toolyipShow="true" | ||
| 822 | - prop="slip" | ||
| 823 | - @event="formItemEvent" | ||
| 824 | - > | ||
| 825 | - <el-tooltip | ||
| 826 | - placement="top" | ||
| 827 | - :disabled="headData.slip == null || headData.slip == ''" | ||
| 828 | - :content="headData.slip" | ||
| 829 | - > | ||
| 830 | - <el-input | ||
| 831 | - type="text" | ||
| 832 | - :id="'inputInner-' + type + '-slip'" | ||
| 833 | - v-model="headData.slip" | ||
| 834 | - @blur="inputItemBlur" | ||
| 835 | - ></el-input> | ||
| 836 | - </el-tooltip> | ||
| 837 | - </Formitem> | ||
| 838 | - </el-col> | ||
| 839 | - </el-row> | ||
| 840 | - <el-row :gutter="5"> | ||
| 841 | - <!-- 备注 --> | ||
| 842 | - <el-col :span="showHelf ? 24 : 12"> | ||
| 843 | - <Formitem | ||
| 844 | - :label="$t('entry.company.form.label32')" | ||
| 845 | - :type="type" | ||
| 846 | - :disabled="false" | ||
| 847 | - :toolyipShow="true" | ||
| 848 | - prop="remark" | ||
| 849 | - @event="formItemEvent" | ||
| 850 | - > | ||
| 851 | - <el-input | ||
| 852 | - type="text" | ||
| 853 | - :id="'inputInner-' + type + '-remark'" | ||
| 854 | - v-model="headData.remark" | ||
| 855 | - @blur="inputItemBlur" | ||
| 856 | - /> | ||
| 857 | - </Formitem> | ||
| 858 | - </el-col> | ||
| 859 | - <!-- </el-row> | ||
| 860 | - <el-row :gutter="5"> --> | ||
| 861 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 862 | - <Formitem | ||
| 863 | - :label="$t('entry.upload.label2')" | ||
| 864 | - :type="type" | ||
| 865 | - :disabled="false" | ||
| 866 | - :toolyipShow="true" | ||
| 867 | - prop="contacts" | ||
| 868 | - @event="formItemEvent" | ||
| 869 | - > | ||
| 870 | - <el-input | ||
| 871 | - type="text" | ||
| 872 | - :id="'inputInner-' + type + '-contacts'" | ||
| 873 | - v-model="headData.contacts" | ||
| 874 | - @blur="inputItemBlur" | ||
| 875 | - > | ||
| 876 | - </el-input> | ||
| 877 | - </Formitem> | ||
| 878 | - </el-col> | ||
| 879 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 880 | - <Formitem | ||
| 881 | - :label="$t('entry.upload.label3')" | ||
| 882 | - :type="type" | ||
| 883 | - :disabled="false" | ||
| 884 | - :toolyipShow="true" | ||
| 885 | - prop="contactInformation" | ||
| 886 | - @event="formItemEvent" | ||
| 887 | - > | ||
| 888 | - <el-input | ||
| 889 | - type="text" | ||
| 890 | - :id="'inputInner-' + type + '-contactInformation'" | ||
| 891 | - v-model="headData.contactInformation" | ||
| 892 | - maxlength="11" | ||
| 893 | - @blur="inputItemBlur" | ||
| 894 | - > | ||
| 895 | - </el-input> | ||
| 896 | - </Formitem> | ||
| 897 | - </el-col> | ||
| 898 | - <el-col :span="showHelf ? 6 : 3"> | ||
| 899 | - <Formitem | ||
| 900 | - :label="$t('entry.upload.label4')" | ||
| 901 | - :type="type" | ||
| 902 | - :disabled="false" | ||
| 903 | - :toolyipShow="true" | ||
| 904 | - prop="pickUpCityId" | ||
| 905 | - @event="formItemEvent" | ||
| 906 | - > | ||
| 907 | - <el-select | ||
| 908 | - ref="pickUpCity" | ||
| 909 | - name="pickUpCity" | ||
| 910 | - :id="'inputInner-' + type + '-pickUpCityId'" | ||
| 911 | - v-model="headData.pickUpCityId" | ||
| 912 | - filterable | ||
| 913 | - placeholder="" | ||
| 914 | - @change="inputItemBlur" | ||
| 915 | - > | ||
| 916 | - <el-option | ||
| 917 | - v-for="(item, index) in dictData.pickUpCity" | ||
| 918 | - :key="index" | ||
| 919 | - :label="item.name" | ||
| 920 | - :value="item.id" | ||
| 921 | - ></el-option> | ||
| 922 | - </el-select> | ||
| 923 | - </Formitem> | ||
| 924 | - </el-col> | ||
| 925 | - </el-row> | ||
| 926 | - </el-form> | ||
| 927 | -</template> | ||
| 928 | - | ||
| 929 | -<script> | ||
| 930 | -export default { | ||
| 931 | - props: { | ||
| 932 | - entryInfo: { | ||
| 933 | - type: Object, | ||
| 934 | - default: null, | ||
| 935 | - }, | ||
| 936 | - headData: { | ||
| 937 | - type: Object, | ||
| 938 | - default: null, | ||
| 939 | - }, | ||
| 940 | - activeDetial: { | ||
| 941 | - type: Object, | ||
| 942 | - default: null, | ||
| 943 | - }, | ||
| 944 | - dictData: { | ||
| 945 | - type: Object, | ||
| 946 | - default: null, | ||
| 947 | - }, | ||
| 948 | - disabled: { | ||
| 949 | - type: Boolean, | ||
| 950 | - default() { | ||
| 951 | - return false; | ||
| 952 | - }, | ||
| 953 | - }, | ||
| 954 | - type: { | ||
| 955 | - type: String, | ||
| 956 | - default: "", | ||
| 957 | - }, | ||
| 958 | - showHelf: { | ||
| 959 | - type: Boolean, | ||
| 960 | - default() { | ||
| 961 | - return true; | ||
| 962 | - }, | ||
| 963 | - }, | ||
| 964 | - }, | ||
| 965 | - data() { | ||
| 966 | - return { | ||
| 967 | - tableData: this.detialsData, | ||
| 968 | - headerData: [ | ||
| 969 | - { | ||
| 970 | - name: "", | ||
| 971 | - value: "expand", | ||
| 972 | - width: "1", | ||
| 973 | - align: "left", | ||
| 974 | - expand: true, | ||
| 975 | - fixed: false, | ||
| 976 | - }, | ||
| 977 | - { | ||
| 978 | - name: this.$t("entry.detial.table.label1"), //商品序号 | ||
| 979 | - value: "gno", | ||
| 980 | - width: "", | ||
| 981 | - align: "left", | ||
| 982 | - }, | ||
| 983 | - { | ||
| 984 | - name: this.$t("entry.detial.table.label2"), //中文品名 | ||
| 985 | - value: "inputItem", | ||
| 986 | - width: "", | ||
| 987 | - align: "left", | ||
| 988 | - }, | ||
| 989 | - { | ||
| 990 | - name: this.$t("entry.detial.table.label3"), //英文品名 | ||
| 991 | - value: "contentDescription", | ||
| 992 | - width: "", | ||
| 993 | - align: "left", | ||
| 994 | - }, | ||
| 995 | - { | ||
| 996 | - name: this.$t("entry.detial.table.label4"), //商品编码 | ||
| 997 | - value: "skuCode", | ||
| 998 | - width: "", | ||
| 999 | - align: "left", | ||
| 1000 | - }, | ||
| 1001 | - { | ||
| 1002 | - name: this.$t("entry.detial.table.label5"), //成交数量 | ||
| 1003 | - value: "knockdownNumber", | ||
| 1004 | - width: "", | ||
| 1005 | - align: "left", | ||
| 1006 | - slot: true, | ||
| 1007 | - }, | ||
| 1008 | - ], | ||
| 1009 | - formData: this.activeDetial, | ||
| 1010 | - expandRowKeys: [], | ||
| 1011 | - unit: [], | ||
| 1012 | - levyType: [], | ||
| 1013 | - currency: [], | ||
| 1014 | - country: [], | ||
| 1015 | - }; | ||
| 1016 | - }, | ||
| 1017 | - watch: { | ||
| 1018 | - activeDetial(val) { | ||
| 1019 | - if (val == null) { | ||
| 1020 | - this.expandRowKeys = []; | ||
| 1021 | - } | ||
| 1022 | - this.formData = val; | ||
| 1023 | - }, | ||
| 1024 | - detialsData(val) { | ||
| 1025 | - this.tableData = val; | ||
| 1026 | - }, | ||
| 1027 | - }, | ||
| 1028 | - methods: { | ||
| 1029 | - addDetial() { | ||
| 1030 | - this.$emit("activeDetialChange", { type: "add" }); | ||
| 1031 | - }, | ||
| 1032 | - saveDetial(val) { | ||
| 1033 | - this.$emit("saveDetial", val); | ||
| 1034 | - }, | ||
| 1035 | - detailclose(val) { | ||
| 1036 | - this.expandRowKeys = []; | ||
| 1037 | - this.$emit("activeDetialChange", { | ||
| 1038 | - type: "close", | ||
| 1039 | - data: val.index ? val : null, | ||
| 1040 | - }); | ||
| 1041 | - }, | ||
| 1042 | - editDetial(val) { | ||
| 1043 | - this.expandRowKeys = []; | ||
| 1044 | - this.$emit("activeDetialChange", { type: "edit", data: val }); | ||
| 1045 | - this.$nextTick(() => { | ||
| 1046 | - this.expandRowKeys = [val.index]; | ||
| 1047 | - this.formData = val; | ||
| 1048 | - }); | ||
| 1049 | - }, | ||
| 1050 | - delDetial(val) { | ||
| 1051 | - let arr = []; | ||
| 1052 | - this.tableData.forEach((item) => { | ||
| 1053 | - if (item.index != val.index) { | ||
| 1054 | - arr.length == 0 ? (item.index = 0) : (item.index = arr.lenght - 1); | ||
| 1055 | - arr.lenght == 0 ? (item.gno = 1) : (item.gno = arr.length + 1); | ||
| 1056 | - arr.push(item); | ||
| 1057 | - } | ||
| 1058 | - }); | ||
| 1059 | - this.tableData = arr; | ||
| 1060 | - this.$emit("delDetial", arr); | ||
| 1061 | - }, | ||
| 1062 | - editSlip() { | ||
| 1063 | - this.$emit("editSlip"); | ||
| 1064 | - }, | ||
| 1065 | - formChange() { | ||
| 1066 | - this.$emit("headDataChange"); | ||
| 1067 | - }, | ||
| 1068 | - inputItemBlur(val) { | ||
| 1069 | - this.$emit("inputItemBlur", this.activeDetial); | ||
| 1070 | - }, | ||
| 1071 | - formItemEvent(val) { | ||
| 1072 | - this.$emit("formItemEvent", val); | ||
| 1073 | - }, | ||
| 1074 | - }, | ||
| 1075 | - filters: { | ||
| 1076 | - clearNull(value) { | ||
| 1077 | - if (value == null) { | ||
| 1078 | - return ""; | ||
| 1079 | - } else { | ||
| 1080 | - return value; | ||
| 1081 | - } | ||
| 1082 | - }, | ||
| 1083 | - }, | ||
| 1084 | -}; | ||
| 1085 | -</script> |
| 1 | -<template> | ||
| 2 | - <div class="entry"> | ||
| 3 | - <!-- <div class="entryInformation"> --> | ||
| 4 | - <div class="option"> | ||
| 5 | - <div class="details"> | ||
| 6 | - <div | ||
| 7 | - class="side" | ||
| 8 | - v-loading="loadings.entryLoading" | ||
| 9 | - :style="{ width: urlList.length == 0 ? '100%' : '50%' }" | ||
| 10 | - v-show=" | ||
| 11 | - entryInfo.headers.chmSourceType != 'chmSourceType_03' && | ||
| 12 | - entryInfo.headers.chmSourceType != 'chmSourceType_04' | ||
| 13 | - " | ||
| 14 | - > | ||
| 15 | - <div class="formTitleFlex"> | ||
| 16 | - <!-- 报关详情查看 --> | ||
| 17 | - <div v-once>{{ $t("declaration.indexD.formTitle1") }}</div> | ||
| 18 | - <div class="titleButton" v-show="routerForm == 'audition'"> | ||
| 19 | - <el-button class="titleButton-View fontGrayClass" disabled>{{ | ||
| 20 | - entryInfo.qtyUnit | ||
| 21 | - }}</el-button> | ||
| 22 | - <el-button | ||
| 23 | - class="titleButton-View" | ||
| 24 | - :class="{ fontRedClass: fontRed, fontGrayClass: !fontRed }" | ||
| 25 | - disabled | ||
| 26 | - >{{ | ||
| 27 | - entryInfo.amountTotal + entryInfo.amountCurrency | ||
| 28 | - }}</el-button | ||
| 29 | - > | ||
| 30 | - </div> | ||
| 31 | - </div> | ||
| 32 | - <div class="formBody"> | ||
| 33 | - <!-- 表头相关 --> | ||
| 34 | - <DetailsHeader | ||
| 35 | - ref="detialHeader" | ||
| 36 | - :headData="entryInfo.headers" | ||
| 37 | - :disabled="isDisabled" | ||
| 38 | - :dictData="dictData" | ||
| 39 | - :showHelf="urlList.length == 0 ? false : true" | ||
| 40 | - @formItemEvent="formItemEvent" | ||
| 41 | - /> | ||
| 42 | - <!-- 表体相关 --> | ||
| 43 | - <DetailsBody | ||
| 44 | - v-show="!loadings.entryLoading" | ||
| 45 | - ref="detialBody" | ||
| 46 | - :tableData="entryInfo.bodys" | ||
| 47 | - :headerData="bodyHeader" | ||
| 48 | - @rowClick="rowClick" | ||
| 49 | - /> | ||
| 50 | - </div> | ||
| 51 | - <!-- 审批备注 --> | ||
| 52 | - <div class="formTitleFlex" v-once> | ||
| 53 | - {{ $t("declaration.indexD.approvalRemark") }} | ||
| 54 | - </div> | ||
| 55 | - <div class="approvalRemark"> | ||
| 56 | - <el-input | ||
| 57 | - type="textarea" | ||
| 58 | - :id="'inputInner-' + '-rejectRemark'" | ||
| 59 | - v-model="entryInfo.headers.rejectRemark" | ||
| 60 | - :disabled=" | ||
| 61 | - !fromAudition || | ||
| 62 | - entryInfo.headers.consStatusDicCode != | ||
| 63 | - 'transferWaybillStatus_2' || | ||
| 64 | - optionDisabled | ||
| 65 | - " | ||
| 66 | - rows="2" | ||
| 67 | - maxlength="650" | ||
| 68 | - :placeholder="$t('declaration.indexD.rejectRemark')" | ||
| 69 | - ></el-input> | ||
| 70 | - <!-- <el-form | ||
| 71 | - class="fedexFormStyle" | ||
| 72 | - ref="approvalRemark" | ||
| 73 | - :model="entryInfo.headers" | ||
| 74 | - label-position="top" | ||
| 75 | - > | ||
| 76 | - <el-row :gutter="5"> | ||
| 77 | - <el-col :span="24"> | ||
| 78 | - <Formitem | ||
| 79 | - :label="$t('declaration.indexD.rejectRemark')" | ||
| 80 | - prop="rejectRemark" | ||
| 81 | - > | ||
| 82 | - </Formitem> | ||
| 83 | - </el-col> | ||
| 84 | - </el-row> | ||
| 85 | - </el-form> --> | ||
| 86 | - </div> | ||
| 87 | - </div> | ||
| 88 | - <div | ||
| 89 | - class="side" | ||
| 90 | - v-loading="loadings.imgLoading" | ||
| 91 | - v-if="urlList.length != 0" | ||
| 92 | - > | ||
| 93 | - <!-- 清关图片查看 --> | ||
| 94 | - <div class="boxTitle"> | ||
| 95 | - <div> | ||
| 96 | - <span v-once> {{ $t("declaration.indexD.fileTitle") }}</span> | ||
| 97 | - <!-- 电签标志 --> | ||
| 98 | - <el-radio-group | ||
| 99 | - class="radioStatus ml0 backCheckRadio" | ||
| 100 | - v-model="entryInfo.headers.isEpoa" | ||
| 101 | - disabled | ||
| 102 | - > | ||
| 103 | - <el-radio label="是">电签</el-radio> | ||
| 104 | - <el-radio label="否">非电签</el-radio> | ||
| 105 | - </el-radio-group> | ||
| 106 | - </div> | ||
| 107 | - <div> | ||
| 108 | - <!-- 系统生成报关单 --> | ||
| 109 | - <el-button | ||
| 110 | - v-if=" | ||
| 111 | - (routerForm == 'audition' || routerForm == 'port') && | ||
| 112 | - entryInfo.headers.chmSourceType != 'chmSourceType_03' && | ||
| 113 | - entryInfo.headers.chmSourceType != 'chmSourceType_04' | ||
| 114 | - " | ||
| 115 | - size="small" | ||
| 116 | - :loading="loadings.downloadEntryFile" | ||
| 117 | - :disabled=" | ||
| 118 | - loadings.asyncDownloadFile || | ||
| 119 | - loadings.examine0Loading || | ||
| 120 | - loadings.examine1Loading || | ||
| 121 | - loadings.saveLoading || | ||
| 122 | - loadings.imgStamp || | ||
| 123 | - optionDisabled | ||
| 124 | - " | ||
| 125 | - @click="downloadEntryFile(0)" | ||
| 126 | - > | ||
| 127 | - <svg-icon class="el-icon-user-solid" icon-class="fedexCreate" /> | ||
| 128 | - {{ $t("declaration.indexD.fileButton1") }} | ||
| 129 | - </el-button> | ||
| 130 | - <!-- 下载清关文件 --> | ||
| 131 | - <!-- <el-button | ||
| 132 | - :loading="loadings.asyncDownloadFile" | ||
| 133 | - :disabled=" | ||
| 134 | - loadings.downloadEntryFile || | ||
| 135 | - loadings.examine0Loading || | ||
| 136 | - loadings.examine1Loading || | ||
| 137 | - loadings.saveLoading || | ||
| 138 | - loadings.imgStamp | ||
| 139 | - " | ||
| 140 | - size="small" | ||
| 141 | - @click="asyncDownloadFile" | ||
| 142 | - > | ||
| 143 | - <svg-icon | ||
| 144 | - class="el-icon-user-solid" | ||
| 145 | - icon-class="fedexUpload" | ||
| 146 | - /> | ||
| 147 | - {{ $t("declaration.indexD.fileButton2") }} | ||
| 148 | - </el-button> --> | ||
| 149 | - <!-- 重置全部单证分类 --> | ||
| 150 | - <el-button | ||
| 151 | - v-if=" | ||
| 152 | - routerForm == 'port' && | ||
| 153 | - entryInfo.headers.isAttDocTypeDisplay == 1 && | ||
| 154 | - entryInfo.headers.isAttDocTypeEdit == 1 | ||
| 155 | - " | ||
| 156 | - size="small" | ||
| 157 | - icon="el-icon-refresh" | ||
| 158 | - :disabled="entryInfo.headers.isAttDocTypeEdit == 0" | ||
| 159 | - @click="refreshImgType" | ||
| 160 | - >重置全部单证分类</el-button | ||
| 161 | - > | ||
| 162 | - <!-- 确认分类 --> | ||
| 163 | - <el-button | ||
| 164 | - v-if=" | ||
| 165 | - routerForm == 'port' && | ||
| 166 | - entryInfo.headers.isAttDocTypeDisplay == 1 && | ||
| 167 | - entryInfo.headers.isAttDocTypeEdit == 1 | ||
| 168 | - " | ||
| 169 | - class="backgroundButton" | ||
| 170 | - size="small" | ||
| 171 | - icon="el-icon-circle-check" | ||
| 172 | - :loading="loadings.checkImgTypeLoading" | ||
| 173 | - :disabled="entryInfo.headers.isAttDocTypeEdit == 0" | ||
| 174 | - @click="checkImgType" | ||
| 175 | - >确认分类</el-button | ||
| 176 | - > | ||
| 177 | - </div> | ||
| 178 | - </div> | ||
| 179 | - <el-form | ||
| 180 | - v-if=" | ||
| 181 | - !loadings.entryLoading && | ||
| 182 | - (entryInfo.headers.chmSourceType == 'chmSourceType_03' || | ||
| 183 | - entryInfo.headers.chmSourceType == 'chmSourceType_04') | ||
| 184 | - " | ||
| 185 | - class="fedexFormStyle mb10" | ||
| 186 | - ref="approvalRemark" | ||
| 187 | - :model="entryInfo.headers" | ||
| 188 | - label-position="top" | ||
| 189 | - > | ||
| 190 | - <el-row :gutter="5"> | ||
| 191 | - <!-- 运单号 --> | ||
| 192 | - <el-col :span="8"> | ||
| 193 | - <Formitem | ||
| 194 | - :label="$t('netrySreach.table.label1')" | ||
| 195 | - :toolyipShow="true" | ||
| 196 | - prop="consignmentCode" | ||
| 197 | - type="noDateEntry" | ||
| 198 | - > | ||
| 199 | - <el-input | ||
| 200 | - type="text" | ||
| 201 | - :id="'inputInner-noDateEntry-consignmentCode'" | ||
| 202 | - v-model="entryInfo.headers.consignmentCode" | ||
| 203 | - :disabled="true" | ||
| 204 | - ></el-input> | ||
| 205 | - </Formitem> | ||
| 206 | - </el-col> | ||
| 207 | - <!-- 境内发货人 --> | ||
| 208 | - <el-col :span="8"> | ||
| 209 | - <Formitem | ||
| 210 | - :label="$t('entry.company.form.label2')" | ||
| 211 | - :toolyipShow="true" | ||
| 212 | - prop="operateUnitName" | ||
| 213 | - type="noDateEntry" | ||
| 214 | - > | ||
| 215 | - <el-input | ||
| 216 | - type="text" | ||
| 217 | - :id="'inputInner-noDateEntry-operateUnitName'" | ||
| 218 | - v-model="entryInfo.headers.operateUnitName" | ||
| 219 | - :disabled="true" | ||
| 220 | - ></el-input> | ||
| 221 | - </Formitem> | ||
| 222 | - </el-col> | ||
| 223 | - <!-- 境内发货人海关备案编码 --> | ||
| 224 | - <el-col :span="8"> | ||
| 225 | - <Formitem | ||
| 226 | - :label="$t('declaration.indexD.headForm.label3')" | ||
| 227 | - :toolyipShow="true" | ||
| 228 | - prop="operateUnitCode" | ||
| 229 | - type="noDateEntry" | ||
| 230 | - > | ||
| 231 | - <el-input | ||
| 232 | - type="text" | ||
| 233 | - :id="'inputInner-noDateEntry-operateUnitCode'" | ||
| 234 | - v-model="entryInfo.headers.operateUnitCode" | ||
| 235 | - :disabled="true" | ||
| 236 | - ></el-input> | ||
| 237 | - </Formitem> | ||
| 238 | - </el-col> | ||
| 239 | - </el-row> | ||
| 240 | - <el-row :gutter="5"> | ||
| 241 | - <!-- 联系人 --> | ||
| 242 | - <el-col :span="8"> | ||
| 243 | - <Formitem | ||
| 244 | - :label="$t('entry.upload.label2')" | ||
| 245 | - type="" | ||
| 246 | - :toolyipShow="true" | ||
| 247 | - prop="contacts" | ||
| 248 | - type="noDateEntry" | ||
| 249 | - > | ||
| 250 | - <el-input | ||
| 251 | - :disabled="true" | ||
| 252 | - type="text" | ||
| 253 | - :id="'inputInner-noDateEntry-contacts'" | ||
| 254 | - v-model="entryInfo.headers.contacts" | ||
| 255 | - > | ||
| 256 | - </el-input> | ||
| 257 | - </Formitem> | ||
| 258 | - </el-col> | ||
| 259 | - <!-- 联系人手机号码 --> | ||
| 260 | - <el-col :span="8"> | ||
| 261 | - <Formitem | ||
| 262 | - :label="$t('entry.upload.label3')" | ||
| 263 | - type="" | ||
| 264 | - :toolyipShow="true" | ||
| 265 | - prop="contactInformation" | ||
| 266 | - type="noDateEntry" | ||
| 267 | - > | ||
| 268 | - <el-input | ||
| 269 | - type="text" | ||
| 270 | - :disabled="true" | ||
| 271 | - :id="'inputInner-noDateEntry-contactInformation'" | ||
| 272 | - v-model="entryInfo.headers.contactInformation" | ||
| 273 | - maxlength="11" | ||
| 274 | - > | ||
| 275 | - </el-input> | ||
| 276 | - </Formitem> | ||
| 277 | - </el-col> | ||
| 278 | - <!-- 取件城市 --> | ||
| 279 | - <el-col :span="8"> | ||
| 280 | - <Formitem | ||
| 281 | - :label="$t('entry.upload.label4')" | ||
| 282 | - type="" | ||
| 283 | - :toolyipShow="true" | ||
| 284 | - prop="pickUpCityId" | ||
| 285 | - type="noDateEntry" | ||
| 286 | - > | ||
| 287 | - <el-select | ||
| 288 | - ref="pickUpCity" | ||
| 289 | - name="pickUpCity" | ||
| 290 | - :id="'inputInner-noDateEntry-pickUpCityId'" | ||
| 291 | - v-model="entryInfo.headers.pickUpCityId" | ||
| 292 | - filterable | ||
| 293 | - :disabled="true" | ||
| 294 | - placeholder="" | ||
| 295 | - > | ||
| 296 | - <el-option | ||
| 297 | - v-for="(item, index) in dictData.pickUpCity" | ||
| 298 | - :key="index" | ||
| 299 | - :label="item.name" | ||
| 300 | - :value="item.id" | ||
| 301 | - ></el-option> | ||
| 302 | - </el-select> | ||
| 303 | - </Formitem> | ||
| 304 | - </el-col> | ||
| 305 | - </el-row> | ||
| 306 | - </el-form> | ||
| 307 | - <div class="sideContentBorder"> | ||
| 308 | - <div class="entryFileOption"> | ||
| 309 | - <!-- 申报单证 --> | ||
| 310 | - <el-checkbox | ||
| 311 | - class="imgCheck" | ||
| 312 | - v-model="currentImage.isDocumentsCheck" | ||
| 313 | - :true-label="1" | ||
| 314 | - :false-label="0" | ||
| 315 | - :disabled=" | ||
| 316 | - !fromAudition || | ||
| 317 | - (entryInfo.headers.consStatusDicCode != | ||
| 318 | - 'transferWaybillStatus_2' && | ||
| 319 | - entryInfo.headers.consStatusDicCode != | ||
| 320 | - 'transferWaybillStatus_27') || | ||
| 321 | - optionDisabled | ||
| 322 | - " | ||
| 323 | - v-loading="loadings.imgCheckLoading" | ||
| 324 | - @change="documentsCheckChange" | ||
| 325 | - >{{ $t("declaration.indexD.fileCheck") }}</el-checkbox | ||
| 326 | - > | ||
| 327 | - <div class="titleButton mr10"> | ||
| 328 | - <!-- 撤销盖章、委托书盖章 --> | ||
| 329 | - <el-button | ||
| 330 | - v-if=" | ||
| 331 | - entryInfo.headers.consStatusDicCode == | ||
| 332 | - 'transferWaybillStatus_2' && | ||
| 333 | - fromAudition && | ||
| 334 | - entryInfo.headers.pickUpCity.ext6 != 'SCN' | ||
| 335 | - " | ||
| 336 | - size="small" | ||
| 337 | - :loading="loadings.imgStamp" | ||
| 338 | - :disabled=" | ||
| 339 | - loadings.asyncDownloadFile || | ||
| 340 | - loadings.downloadEntryFile || | ||
| 341 | - loadings.examine0Loading || | ||
| 342 | - loadings.examine1Loading || | ||
| 343 | - loadings.saveLoading || | ||
| 344 | - currentImage.imgError || | ||
| 345 | - $refs.imgView.loading || | ||
| 346 | - optionDisabled | ||
| 347 | - " | ||
| 348 | - @click="imgStamp(currentImage.isSeal)" | ||
| 349 | - > | ||
| 350 | - <svg-icon class="el-icon-user-solid" icon-class="fedexSeal" /> | ||
| 351 | - {{ | ||
| 352 | - currentImage.isSeal == 1 | ||
| 353 | - ? $t("declaration.indexD.fileButton3_1") | ||
| 354 | - : $t("declaration.indexD.fileButton3_2") | ||
| 355 | - }} | ||
| 356 | - </el-button> | ||
| 357 | - <!-- 选择图片类型 --> | ||
| 358 | - <el-radio-group | ||
| 359 | - v-if=" | ||
| 360 | - routerForm == 'port' && | ||
| 361 | - entryInfo.headers.isAttDocTypeDisplay == 1 | ||
| 362 | - " | ||
| 363 | - class="radioStatus backCheckRadio" | ||
| 364 | - style="line-height: 40px" | ||
| 365 | - :disabled="entryInfo.headers.isAttDocTypeEdit == 0" | ||
| 366 | - v-model="currentImage.selectTypeCode" | ||
| 367 | - @input="imgTypeChange" | ||
| 368 | - > | ||
| 369 | - <el-radio | ||
| 370 | - v-for="(item, index) in dictData.attDocType" | ||
| 371 | - :key="index" | ||
| 372 | - v-if="item.code != 'attDocType_not'" | ||
| 373 | - :label="item.code" | ||
| 374 | - > | ||
| 375 | - {{ item.name }} | ||
| 376 | - </el-radio> | ||
| 377 | - </el-radio-group> | ||
| 378 | - </div> | ||
| 379 | - </div> | ||
| 380 | - <ImgView | ||
| 381 | - ref="imgView" | ||
| 382 | - :urlList="urlList" | ||
| 383 | - :imgData="imageList" | ||
| 384 | - :initialIndex="imgIdx" | ||
| 385 | - :editType=" | ||
| 386 | - entryInfo.headers.consStatusDicCode == | ||
| 387 | - 'transferWaybillStatus_2' && this.fromAudition | ||
| 388 | - " | ||
| 389 | - @changeCurrentImg="changeCurrentImg" | ||
| 390 | - @rotate="rotate" | ||
| 391 | - @imgLoad="imgLoad" | ||
| 392 | - @imgBlob="imgBlob" | ||
| 393 | - @optionChange="optionChange" | ||
| 394 | - ></ImgView> | ||
| 395 | - </div> | ||
| 396 | - <!-- 审批备注 --> | ||
| 397 | - <div | ||
| 398 | - v-if=" | ||
| 399 | - entryInfo.headers.chmSourceType == 'chmSourceType_03' || | ||
| 400 | - entryInfo.headers.chmSourceType == 'chmSourceType_04' | ||
| 401 | - " | ||
| 402 | - class="formTitleFlex" | ||
| 403 | - > | ||
| 404 | - {{ $t("declaration.indexD.approvalRemark") }} | ||
| 405 | - </div> | ||
| 406 | - <div | ||
| 407 | - class="approvalRemark" | ||
| 408 | - v-if=" | ||
| 409 | - entryInfo.headers.chmSourceType == 'chmSourceType_03' || | ||
| 410 | - entryInfo.headers.chmSourceType == 'chmSourceType_04' | ||
| 411 | - " | ||
| 412 | - > | ||
| 413 | - <el-input | ||
| 414 | - type="textarea" | ||
| 415 | - :id="'inputInner-' + '-rejectRemark'" | ||
| 416 | - v-model="entryInfo.headers.rejectRemark" | ||
| 417 | - :disabled=" | ||
| 418 | - !fromAudition || | ||
| 419 | - entryInfo.headers.consStatusDicCode != | ||
| 420 | - 'transferWaybillStatus_2' || | ||
| 421 | - optionDisabled | ||
| 422 | - " | ||
| 423 | - rows="2" | ||
| 424 | - maxlength="650" | ||
| 425 | - :placeholder="$t('declaration.indexD.rejectRemark')" | ||
| 426 | - ></el-input> | ||
| 427 | - <!-- <el-form | ||
| 428 | - class="fedexFormStyle" | ||
| 429 | - ref="approvalRemark" | ||
| 430 | - :model="entryInfo.headers" | ||
| 431 | - label-position="top" | ||
| 432 | - > | ||
| 433 | - <el-row :gutter="5"> | ||
| 434 | - <el-col :span="24"> | ||
| 435 | - <Formitem | ||
| 436 | - :label="$t('declaration.indexD.rejectRemark')" | ||
| 437 | - prop="rejectRemark" | ||
| 438 | - > | ||
| 439 | - | ||
| 440 | - </Formitem> | ||
| 441 | - </el-col> | ||
| 442 | - </el-row> | ||
| 443 | - </el-form> --> | ||
| 444 | - </div> | ||
| 445 | - </div> | ||
| 446 | - </div> | ||
| 447 | - | ||
| 448 | - <div | ||
| 449 | - class="entrySave" | ||
| 450 | - v-show="!loadings.entryLoading && !loadings.imgLoading" | ||
| 451 | - > | ||
| 452 | - <!-- 返回 --> | ||
| 453 | - <el-button | ||
| 454 | - class="entrySaveButton" | ||
| 455 | - :disabled=" | ||
| 456 | - loadings.asyncDownloadFile || | ||
| 457 | - loadings.downloadEntryFile || | ||
| 458 | - loadings.examine0Loading || | ||
| 459 | - loadings.examine1Loading || | ||
| 460 | - loadings.saveLoading || | ||
| 461 | - loadings.imgStamp | ||
| 462 | - " | ||
| 463 | - @click="back" | ||
| 464 | - >{{ $t("system.back") }}</el-button | ||
| 465 | - > | ||
| 466 | - <!-- 保存 --> | ||
| 467 | - <el-button | ||
| 468 | - class="entrySaveButton entrySaveButton-background" | ||
| 469 | - v-show=" | ||
| 470 | - fromAudition && | ||
| 471 | - entryInfo.headers.consStatusDicCode == 'transferWaybillStatus_2' && | ||
| 472 | - !optionDisabled | ||
| 473 | - " | ||
| 474 | - :disabled=" | ||
| 475 | - loadings.asyncDownloadFile || | ||
| 476 | - loadings.downloadEntryFile || | ||
| 477 | - loadings.examine0Loading || | ||
| 478 | - loadings.examine1Loading || | ||
| 479 | - loadings.imgStamp | ||
| 480 | - " | ||
| 481 | - :loading="loadings.saveLoading" | ||
| 482 | - @click="examine(2, 'button')" | ||
| 483 | - > | ||
| 484 | - {{ $t("system.save") }} | ||
| 485 | - </el-button> | ||
| 486 | - <!-- 审批不通过 --> | ||
| 487 | - <el-button | ||
| 488 | - class="entrySaveButton entrySaveButton-background" | ||
| 489 | - v-show=" | ||
| 490 | - fromAudition && | ||
| 491 | - entryInfo.headers.consStatusDicCode == 'transferWaybillStatus_2' && | ||
| 492 | - !optionDisabled | ||
| 493 | - " | ||
| 494 | - :disabled=" | ||
| 495 | - loadings.asyncDownloadFile || | ||
| 496 | - loadings.downloadEntryFile || | ||
| 497 | - loadings.saveLoading || | ||
| 498 | - loadings.examine1Loading || | ||
| 499 | - loadings.imgStamp | ||
| 500 | - " | ||
| 501 | - :loading="loadings.examine0Loading" | ||
| 502 | - @click="examine(0, 'button')" | ||
| 503 | - > | ||
| 504 | - {{ $t("declaration.indexD.unApproval") }} | ||
| 505 | - </el-button> | ||
| 506 | - <!-- 审批通过 --> | ||
| 507 | - <el-button | ||
| 508 | - class="entrySaveButton entrySaveButton-background" | ||
| 509 | - v-show=" | ||
| 510 | - fromAudition && | ||
| 511 | - entryInfo.headers.consStatusDicCode == 'transferWaybillStatus_2' && | ||
| 512 | - !optionDisabled | ||
| 513 | - " | ||
| 514 | - :disabled=" | ||
| 515 | - loadings.asyncDownloadFile || | ||
| 516 | - loadings.downloadEntryFile || | ||
| 517 | - loadings.saveLoading || | ||
| 518 | - loadings.examine0Loading || | ||
| 519 | - loadings.imgStamp | ||
| 520 | - " | ||
| 521 | - :loading="loadings.examine1Loading" | ||
| 522 | - @click="examine(1, 'button')" | ||
| 523 | - > | ||
| 524 | - {{ $t("declaration.indexD.approval") }} | ||
| 525 | - </el-button> | ||
| 526 | - </div> | ||
| 527 | - </div> | ||
| 528 | - <!-- </div> --> | ||
| 529 | - <!-- 表体详情对话框 --> | ||
| 530 | - <DetailsBodyDialog | ||
| 531 | - :bodyDialogVisible="bodyDialogVisible" | ||
| 532 | - :formInfo="currentDetail" | ||
| 533 | - :disabled="isDisabled" | ||
| 534 | - @closeDialog="closeDialog" | ||
| 535 | - :dictData="dictData" | ||
| 536 | - /> | ||
| 537 | - <el-dialog | ||
| 538 | - :title="$t('declaration.indexD.fileViewTitle')" | ||
| 539 | - :visible.sync="entryPdfVisible" | ||
| 540 | - width="85%" | ||
| 541 | - center | ||
| 542 | - @close="dialogClose" | ||
| 543 | - > | ||
| 544 | - <iframe :src="entryPdf" width="100%" height="600px"></iframe> | ||
| 545 | - <span slot="footer" class="dialog-footer"> | ||
| 546 | - <!-- 生成 --> | ||
| 547 | - <el-button | ||
| 548 | - class="entrySaveButton entrySaveButton-background" | ||
| 549 | - type="primary" | ||
| 550 | - :loading="loadings.dialogButton" | ||
| 551 | - @click="downloadEntryFile(1)" | ||
| 552 | - >{{ $t("declaration.indexD.downloadEntryFile") }}</el-button | ||
| 553 | - > | ||
| 554 | - <!-- 取消 --> | ||
| 555 | - <el-button class="entrySaveButton" @click="dialogClose"> | ||
| 556 | - {{ $t("system.close") }}</el-button | ||
| 557 | - > | ||
| 558 | - </span> | ||
| 559 | - </el-dialog> | ||
| 560 | - </div> | ||
| 561 | -</template> | ||
| 562 | - | ||
| 563 | -<script> | ||
| 564 | -import { numberRound } from "@/utils/iClearExp"; | ||
| 565 | -import { | ||
| 566 | - getConsInfo, | ||
| 567 | - getExchangeRate, | ||
| 568 | - getAttachment, | ||
| 569 | - getLogD, | ||
| 570 | - approved, | ||
| 571 | - approvalReject, | ||
| 572 | - saveApproval, | ||
| 573 | - rdeimgStamp, | ||
| 574 | - rdeimgRestamp, | ||
| 575 | - downloadEntryFiles, | ||
| 576 | - rdeEntryFileView, | ||
| 577 | - setImgRoate, | ||
| 578 | - setDocumentCheck, | ||
| 579 | - getFileDataFromPort, | ||
| 580 | - saveImgFileTypeData, | ||
| 581 | -} from "@/api/examine-api.js"; | ||
| 582 | -import { getEntryLock, unEntryLock } from "@/api/entry-api.js"; | ||
| 583 | -import { decrypt } from "@/utils/jsencrypt"; | ||
| 584 | -import DetailsHeader from "./components/detailsHeader.vue"; //表头信息 | ||
| 585 | -import DetailsBody from "./components/detailsBody.vue"; //表头信息 | ||
| 586 | -import DetailsBodyDialog from "./components/detailsBodyDialog.vue"; //表头信息 | ||
| 587 | - | ||
| 588 | -export default { | ||
| 589 | - // name: "DeclarationDetails", | ||
| 590 | - components: { | ||
| 591 | - DetailsHeader, | ||
| 592 | - DetailsBody, | ||
| 593 | - DetailsBodyDialog, | ||
| 594 | - }, | ||
| 595 | - data() { | ||
| 596 | - return { | ||
| 597 | - id: null, | ||
| 598 | - loadings: { | ||
| 599 | - templateLoading: false, | ||
| 600 | - entryLoading: false, | ||
| 601 | - imgLoading: false, | ||
| 602 | - downloadEntryFile: false, | ||
| 603 | - imgStamp: false, | ||
| 604 | - asyncDownloadFile: false, | ||
| 605 | - dialogButton: false, | ||
| 606 | - saveLoading: false, | ||
| 607 | - examine0Loading: false, | ||
| 608 | - examine1Loading: false, | ||
| 609 | - imgCheckLoading: false, | ||
| 610 | - checkImgTypeLoading: false, | ||
| 611 | - }, | ||
| 612 | - entryInfo: { | ||
| 613 | - headers: {}, | ||
| 614 | - approvalRemark: "", | ||
| 615 | - bodys: [], | ||
| 616 | - qtyUnit: "0", | ||
| 617 | - amountTotal: "0", | ||
| 618 | - amountCurrency: "", | ||
| 619 | - }, | ||
| 620 | - activeDetial: {}, | ||
| 621 | - dictData: { | ||
| 622 | - district: [], | ||
| 623 | - port: [], | ||
| 624 | - VehicleWayCode: [], | ||
| 625 | - supervisionMode: [], | ||
| 626 | - natureExemption: [], | ||
| 627 | - ClinchType: [], | ||
| 628 | - NewPackageType: [], | ||
| 629 | - Country: [], | ||
| 630 | - levyType: [], | ||
| 631 | - currencySystem: [], | ||
| 632 | - ENTRY_METHOD: [], | ||
| 633 | - pickUpCity: [], | ||
| 634 | - consType: [], | ||
| 635 | - attDocType: [], | ||
| 636 | - }, | ||
| 637 | - isDisabled: true, | ||
| 638 | - bodyHeader: [ | ||
| 639 | - { | ||
| 640 | - name: this.$t("declaration.indexD.detialTable.label1"), //序号 | ||
| 641 | - value: "gno", | ||
| 642 | - width: "50", | ||
| 643 | - align: "left", | ||
| 644 | - }, | ||
| 645 | - { | ||
| 646 | - name: this.$t("entry.detial.table.label2"), //中文名称 | ||
| 647 | - value: "inputItem", | ||
| 648 | - width: "", | ||
| 649 | - align: "left", | ||
| 650 | - }, | ||
| 651 | - { | ||
| 652 | - name: this.$t("entry.detial.form.label3"), //商品编号 | ||
| 653 | - value: "skuCode", | ||
| 654 | - width: "100", | ||
| 655 | - align: "left", | ||
| 656 | - slot: true, | ||
| 657 | - }, | ||
| 658 | - { | ||
| 659 | - name: this.$t("declaration.indexD.detialTable.label2"), //商品名称 | ||
| 660 | - value: "skuName", | ||
| 661 | - width: "150", | ||
| 662 | - align: "left", | ||
| 663 | - }, | ||
| 664 | - { | ||
| 665 | - name: this.$t("entry.detial.table.label5"), //成交数量 | ||
| 666 | - value: "knockdownNumber", | ||
| 667 | - width: "150", | ||
| 668 | - align: "left", | ||
| 669 | - slot: true, | ||
| 670 | - }, | ||
| 671 | - { | ||
| 672 | - name: this.$t("declaration.indexD.detialTable.label3"), //第一计量 | ||
| 673 | - value: "qtyLegalFirst", | ||
| 674 | - width: "150", | ||
| 675 | - align: "left", | ||
| 676 | - slot: true, | ||
| 677 | - }, | ||
| 678 | - { | ||
| 679 | - name: this.$t("declaration.indexD.detialTable.label4"), //第二计量 | ||
| 680 | - value: "qtyLegalSecond", | ||
| 681 | - width: "150", | ||
| 682 | - align: "left", | ||
| 683 | - slot: true, | ||
| 684 | - }, | ||
| 685 | - { | ||
| 686 | - name: this.$t("declaration.indexD.detialTable.label5"), //申报总价 | ||
| 687 | - value: "amount", | ||
| 688 | - width: "150", | ||
| 689 | - align: "left", | ||
| 690 | - slot: true, | ||
| 691 | - }, | ||
| 692 | - { | ||
| 693 | - name: this.$t("declaration.indexD.detialTable.label6"), //原产地 | ||
| 694 | - value: "habitat", | ||
| 695 | - width: "150", | ||
| 696 | - align: "left", | ||
| 697 | - }, | ||
| 698 | - { | ||
| 699 | - name: this.$t("declaration.indexD.detialTable.label7"), //最终目的国 | ||
| 700 | - value: "destinationCountry", | ||
| 701 | - width: "150", | ||
| 702 | - align: "left", | ||
| 703 | - }, | ||
| 704 | - { | ||
| 705 | - name: this.$t("declaration.indexD.detialTable.label8"), //境内货源地 | ||
| 706 | - value: "domesticDestination", | ||
| 707 | - width: "200", | ||
| 708 | - align: "left", | ||
| 709 | - }, | ||
| 710 | - { | ||
| 711 | - name: this.$t("declaration.indexD.detialTable.label9"), //征免 | ||
| 712 | - value: "levyType", | ||
| 713 | - width: "", | ||
| 714 | - align: "left", | ||
| 715 | - }, | ||
| 716 | - ], | ||
| 717 | - currentDetail: {}, | ||
| 718 | - entryPdf: "", | ||
| 719 | - bodyDialogVisible: false, | ||
| 720 | - entryPdfVisible: false, | ||
| 721 | - rowList: [], | ||
| 722 | - urlList: [], | ||
| 723 | - imageList: [], | ||
| 724 | - imgIdx: 0, | ||
| 725 | - fontRed: false, | ||
| 726 | - fromAudition: true, | ||
| 727 | - routerForm: "", | ||
| 728 | - currentImage: {}, | ||
| 729 | - optionDisabled: false, | ||
| 730 | - lockTime: 0, | ||
| 731 | - lockNum: 0, | ||
| 732 | - lockType: false, | ||
| 733 | - }; | ||
| 734 | - }, | ||
| 735 | - created() { | ||
| 736 | - this.lockTime = this.$store.getters.lockTime - 30; | ||
| 737 | - this.loadings.templateLoading = true; | ||
| 738 | - if (this.$route.params.id) { | ||
| 739 | - this.setDict(); | ||
| 740 | - this.id = decrypt(this.$route.params.id); | ||
| 741 | - this.fromAudition = this.$route.params.from == "audition" ? true : false; | ||
| 742 | - this.routerForm = this.$route.params.from; | ||
| 743 | - if (this.$route.params.from == "log") { | ||
| 744 | - this.sreachLog(); | ||
| 745 | - } else { | ||
| 746 | - this.sreach("").then(() => { | ||
| 747 | - this.sreachEntryLock(this.id).finally(() => { | ||
| 748 | - if (this.routerForm == "port") { | ||
| 749 | - this.getNewAttachment(); | ||
| 750 | - } else { | ||
| 751 | - this.getAttachment(); | ||
| 752 | - } | ||
| 753 | - }); | ||
| 754 | - }); | ||
| 755 | - } | ||
| 756 | - } else { | ||
| 757 | - this.$router.push("index"); | ||
| 758 | - this.loadings.templateLoading = false; | ||
| 759 | - } | ||
| 760 | - }, | ||
| 761 | - beforeDestroy() { | ||
| 762 | - this.$store.dispatch("DelEntryData"); | ||
| 763 | - if (this.lockType) { | ||
| 764 | - this.removeEntryLock(this.id, 0); | ||
| 765 | - } | ||
| 766 | - if ( | ||
| 767 | - this.routerForm == "audition" && | ||
| 768 | - this.entryInfo.headers.consStatusDicCode == "transferWaybillStatus_2" | ||
| 769 | - ) { | ||
| 770 | - // this.examine(2, "back"); | ||
| 771 | - } | ||
| 772 | - }, | ||
| 773 | - destroyed() { | ||
| 774 | - this.id = null; | ||
| 775 | - this.entryInfo = { | ||
| 776 | - headers: {}, | ||
| 777 | - approvalRemark: "", | ||
| 778 | - bodys: [], | ||
| 779 | - qtyUnit: "0", | ||
| 780 | - amountTotal: "0", | ||
| 781 | - amountCurrency: "", | ||
| 782 | - }; | ||
| 783 | - this.routerForm = ""; | ||
| 784 | - this.activeDetial = {}; | ||
| 785 | - this.currentDetail = {}; | ||
| 786 | - this.bodyDialogVisible = false; | ||
| 787 | - this.rowList = []; | ||
| 788 | - this.urlList = []; | ||
| 789 | - this.imageList = []; | ||
| 790 | - this.fontRed = false; | ||
| 791 | - this.currentImage = {}; | ||
| 792 | - this.lockType = false; | ||
| 793 | - this.$store.dispatch("delEntry"); | ||
| 794 | - }, | ||
| 795 | - methods: { | ||
| 796 | - //查询 | ||
| 797 | - async sreach(type) { | ||
| 798 | - return new Promise((resolve, reject) => { | ||
| 799 | - this.loadings.entryLoading = true; | ||
| 800 | - getConsInfo({ id: this.id, pageIndex: 0, pageSize: 0 }) | ||
| 801 | - .then((res) => { | ||
| 802 | - if (res.code === "200") { | ||
| 803 | - this.entryInfo.headers = res.data.extra.head; | ||
| 804 | - this.entryInfo.bodys = res.data.extra.details; | ||
| 805 | - this.entryInfo.headers.ocr = res.data.extra.ocr; | ||
| 806 | - if (this.entryInfo.bodys.length > 0) { | ||
| 807 | - let qtyTotal = 0; | ||
| 808 | - let amountTotal = 0; | ||
| 809 | - this.entryInfo.bodys.forEach((item, index) => { | ||
| 810 | - item.index = index; | ||
| 811 | - item.gno = index + 1; | ||
| 812 | - item.hscodeStatus = 1; | ||
| 813 | - //计算总重量,如果第一法定单位是重量,参与计算,如果不是,用第二法定单位计算,如果都没有重量单位,不参与计算 | ||
| 814 | - let weight = this.getWeight( | ||
| 815 | - item.qtyLegalFirst, | ||
| 816 | - item.unitLegalFirst | ||
| 817 | - ); | ||
| 818 | - if (weight == 0) { | ||
| 819 | - weight = this.getWeight( | ||
| 820 | - item.qtyLegalSecond, | ||
| 821 | - item.unitLegalSecond | ||
| 822 | - ); | ||
| 823 | - } | ||
| 824 | - qtyTotal = qtyTotal + weight; | ||
| 825 | - //计算总价钱 | ||
| 826 | - amountTotal = amountTotal + item.amount; | ||
| 827 | - }); | ||
| 828 | - | ||
| 829 | - this.entryInfo.qtyUnit = | ||
| 830 | - numberRound(qtyTotal, 2) + this.$t("system.kg"); | ||
| 831 | - this.entryInfo.amountTotal = numberRound(amountTotal, 2); | ||
| 832 | - this.entryInfo.amountCurrency = | ||
| 833 | - this.entryInfo.bodys[0].currency; | ||
| 834 | - | ||
| 835 | - //判断价钱是否展示红色 | ||
| 836 | - this.routerForm == "audition" && type != "approval" | ||
| 837 | - ? this.getFontRedClass( | ||
| 838 | - this.entryInfo.bodys[0].currencyId, | ||
| 839 | - this.entryInfo.amountTotal | ||
| 840 | - ) | ||
| 841 | - : ""; | ||
| 842 | - } | ||
| 843 | - this.loadings.entryLoading = false; | ||
| 844 | - resolve(); | ||
| 845 | - } else { | ||
| 846 | - this.loadings.entryLoading = false; | ||
| 847 | - this.alertWarningMsg(res.message); | ||
| 848 | - reject(); | ||
| 849 | - } | ||
| 850 | - // this.loadings.templateLoading = false; | ||
| 851 | - }) | ||
| 852 | - .catch((err) => { | ||
| 853 | - this.loadings.entryLoading = false; | ||
| 854 | - // this.loadings.templateLoading = false; | ||
| 855 | - console.log(err); | ||
| 856 | - reject(); | ||
| 857 | - }); | ||
| 858 | - }); | ||
| 859 | - }, | ||
| 860 | - //查询 | ||
| 861 | - sreachLog() { | ||
| 862 | - this.loadings.entryLoading = true; | ||
| 863 | - getLogD({ id: this.id }) | ||
| 864 | - .then((res) => { | ||
| 865 | - if (res.code === "200") { | ||
| 866 | - this.entryInfo.headers = res.data.extra; | ||
| 867 | - this.entryInfo.bodys = res.data.records; | ||
| 868 | - | ||
| 869 | - if (this.entryInfo.bodys.length > 0) { | ||
| 870 | - let qtyTotal = 0; | ||
| 871 | - let amountTotal = 0; | ||
| 872 | - this.entryInfo.bodys.forEach((item, index) => { | ||
| 873 | - item.model != null && item.model != "" | ||
| 874 | - ? (item.inputItem = item.model.split("|")[0].split(":")[1]) | ||
| 875 | - : ""; | ||
| 876 | - item.index = index; | ||
| 877 | - item.gno = index + 1; | ||
| 878 | - item.hscodeStatus = 1; | ||
| 879 | - //计算总重量,如果第一法定单位是重量,参与计算,如果不是,用第二法定单位计算,如果都没有重量单位,不参与计算 | ||
| 880 | - let weight = this.getWeight( | ||
| 881 | - item.qtyLegalFirst, | ||
| 882 | - item.unitLegalFirst | ||
| 883 | - ); | ||
| 884 | - if (weight == 0) { | ||
| 885 | - weight = this.getWeight( | ||
| 886 | - item.qtyLegalSecond, | ||
| 887 | - item.unitLegalSecond | ||
| 888 | - ); | ||
| 889 | - } | ||
| 890 | - qtyTotal = qtyTotal + weight; | ||
| 891 | - //计算总价钱 | ||
| 892 | - amountTotal = amountTotal + item.amount; | ||
| 893 | - }); | ||
| 894 | - | ||
| 895 | - this.entryInfo.qtyUnit = | ||
| 896 | - numberRound(qtyTotal, 2) + this.$t("system.kg"); | ||
| 897 | - this.entryInfo.amountTotal = numberRound(amountTotal, 2); | ||
| 898 | - this.entryInfo.amountCurrency = this.entryInfo.bodys[0].currency; | ||
| 899 | - | ||
| 900 | - //判断价钱是否展示红色 | ||
| 901 | - this.routerForm == "audition" | ||
| 902 | - ? this.getFontRedClass( | ||
| 903 | - this.entryInfo.bodys[0].currencyId, | ||
| 904 | - this.entryInfo.amountTotal | ||
| 905 | - ) | ||
| 906 | - : ""; | ||
| 907 | - } | ||
| 908 | - this.loadings.entryLoading = false; | ||
| 909 | - } else { | ||
| 910 | - this.alertWarningMsg(res.message) | ||
| 911 | - .then(() => { | ||
| 912 | - this.back(); | ||
| 913 | - }) | ||
| 914 | - .catch(() => { | ||
| 915 | - this.back(); | ||
| 916 | - }); | ||
| 917 | - } | ||
| 918 | - this.loadings.templateLoading = false; | ||
| 919 | - }) | ||
| 920 | - .catch((err) => { | ||
| 921 | - this.loadings.entryLoading = false; | ||
| 922 | - this.loadings.templateLoading = false; | ||
| 923 | - console.log(err); | ||
| 924 | - }); | ||
| 925 | - }, | ||
| 926 | - //查询右侧文件(除口岸操作外其他页面) | ||
| 927 | - async getAttachment() { | ||
| 928 | - this.loadings.imgLoading = true; | ||
| 929 | - this.currentImage = {}; | ||
| 930 | - getAttachment({ id: this.id }) | ||
| 931 | - .then((res) => { | ||
| 932 | - if (res.code === "200") { | ||
| 933 | - this.fileDataInfo(res.data, 0); | ||
| 934 | - // this.urlList = []; | ||
| 935 | - // res.data.records.forEach((item, index) => { | ||
| 936 | - // this.urlList.push(item.url); | ||
| 937 | - // item.imgError = true; | ||
| 938 | - // }); | ||
| 939 | - // this.imageList = res.data.records; | ||
| 940 | - // this.currentImage = this.imageList[this.imgIdx]; | ||
| 941 | - // this.entryInfo.headers.consStatus = res.data.extra.consStatus; | ||
| 942 | - // this.entryInfo.headers.consStatusDicCode = | ||
| 943 | - // res.data.extra.consStatusDicCode; | ||
| 944 | - // this.entryInfo.headers.stamp = res.data.extra.stamp; | ||
| 945 | - // this.entryInfo.headers.stampDicCode = res.data.extra.stampDicCode; | ||
| 946 | - this.loadings.imgLoading = false; | ||
| 947 | - } else { | ||
| 948 | - this.loadings.imgLoading = false; | ||
| 949 | - this.alertWarningMsg(res.message); | ||
| 950 | - } | ||
| 951 | - this.loadings.templateLoading = false; | ||
| 952 | - this.loadings.entryLoading = false; | ||
| 953 | - }) | ||
| 954 | - .catch((err) => { | ||
| 955 | - this.loadings.imgLoading = false; | ||
| 956 | - this.loadings.templateLoading = false; | ||
| 957 | - this.loadings.entryLoading = false; | ||
| 958 | - console.log(err); | ||
| 959 | - }); | ||
| 960 | - }, | ||
| 961 | - //查询右侧文件(口岸操作用) | ||
| 962 | - async getNewAttachment() { | ||
| 963 | - this.loadings.imgLoading = true; | ||
| 964 | - this.currentImage = {}; | ||
| 965 | - getFileDataFromPort({ id: this.id }) | ||
| 966 | - .then((res) => { | ||
| 967 | - if (res.code === "200") { | ||
| 968 | - this.fileDataInfo(res.data, 1); | ||
| 969 | - this.loadings.imgLoading = false; | ||
| 970 | - } else { | ||
| 971 | - this.loadings.imgLoading = false; | ||
| 972 | - this.alertWarningMsg(res.message); | ||
| 973 | - } | ||
| 974 | - this.loadings.templateLoading = false; | ||
| 975 | - this.loadings.entryLoading = false; | ||
| 976 | - }) | ||
| 977 | - .catch((err) => { | ||
| 978 | - this.loadings.imgLoading = false; | ||
| 979 | - this.loadings.templateLoading = false; | ||
| 980 | - this.loadings.entryLoading = false; | ||
| 981 | - console.log(err); | ||
| 982 | - }); | ||
| 983 | - }, | ||
| 984 | - //附件数据整理 | ||
| 985 | - fileDataInfo(fileList, type) { | ||
| 986 | - this.urlList = []; | ||
| 987 | - fileList.records.forEach((item, index) => { | ||
| 988 | - if (type == 1) { | ||
| 989 | - item.selectTypeCode == null || item.selectTypeCode == "" | ||
| 990 | - ? (item.selectTypeCode = "attDocType_other") | ||
| 991 | - : ""; | ||
| 992 | - item.isDocumentsCheck = 1; | ||
| 993 | - } | ||
| 994 | - this.urlList.push(item.url); | ||
| 995 | - item.imgError = true; | ||
| 996 | - }); | ||
| 997 | - this.imageList = fileList.records; | ||
| 998 | - this.currentImage = this.imageList[this.imgIdx]; | ||
| 999 | - this.entryInfo.headers.consStatus = fileList.extra.consStatus; | ||
| 1000 | - this.entryInfo.headers.consStatusDicCode = | ||
| 1001 | - fileList.extra.consStatusDicCode; | ||
| 1002 | - this.entryInfo.headers.stamp = fileList.extra.stamp; | ||
| 1003 | - this.entryInfo.headers.stampDicCode = fileList.extra.stampDicCode; | ||
| 1004 | - if (type == 1) { | ||
| 1005 | - this.entryInfo.headers.isAttDocTypeDisplay = | ||
| 1006 | - fileList.extra.isAttDocTypeDisplay; //是否显示随附单据分类 | ||
| 1007 | - this.entryInfo.headers.isAttDocTypeEdit = | ||
| 1008 | - fileList.extra.isAttDocTypeEdit; //是否编辑随附单据分类 | ||
| 1009 | - } else { | ||
| 1010 | - this.entryInfo.headers.isAttDocTypeDisplay = 0; | ||
| 1011 | - this.entryInfo.headers.isAttDocTypeEdit = 0; | ||
| 1012 | - } | ||
| 1013 | - }, | ||
| 1014 | - //审批通过/不通过/保存 | ||
| 1015 | - examine(status, type) { | ||
| 1016 | - let chmConsignmentIds = [this.id]; | ||
| 1017 | - let chmRejectRemarkList = [ | ||
| 1018 | - this.entryInfo.headers.rejectRemark == null | ||
| 1019 | - ? "" | ||
| 1020 | - : this.entryInfo.headers.rejectRemark, | ||
| 1021 | - ]; | ||
| 1022 | - let obj2 = {}; | ||
| 1023 | - obj2.consignmentId = chmConsignmentIds[0]; | ||
| 1024 | - obj2.flag = status; | ||
| 1025 | - obj2.rejectRemark = chmRejectRemarkList[0]; | ||
| 1026 | - obj2.portPreAuditFlag = this.entryInfo.headers.portPreAuditFlag; | ||
| 1027 | - obj2.approvalTimeFirst = this.entryInfo.headers.approvalTimeFirst; | ||
| 1028 | - obj2.attachmentsList = this.imageList; | ||
| 1029 | - this.urlList = []; | ||
| 1030 | - obj2.attachmentsList.forEach((item, index) => { | ||
| 1031 | - this.urlList.push(item.url); | ||
| 1032 | - item.rotateAngle = item.rotateAngle == null ? 0 : item.rotateAngle; | ||
| 1033 | - }); | ||
| 1034 | - //保存 | ||
| 1035 | - if (status == 2) { | ||
| 1036 | - this.optionChange(); | ||
| 1037 | - this.loadings.saveLoading = true; | ||
| 1038 | - this.setApproval(obj2, this.$t("declaration.indexD.saveSuccess")).then( | ||
| 1039 | - () => { | ||
| 1040 | - if (type != "back") { | ||
| 1041 | - this.sreach(); | ||
| 1042 | - this.getAttachment(); | ||
| 1043 | - } | ||
| 1044 | - } | ||
| 1045 | - ); | ||
| 1046 | - } else { | ||
| 1047 | - //审批不通过、通过 | ||
| 1048 | - if (status == 0) { | ||
| 1049 | - this.loadings.examine0Loading = true; | ||
| 1050 | - } else if (status == 1) { | ||
| 1051 | - this.loadings.examine1Loading = true; | ||
| 1052 | - } | ||
| 1053 | - if (status == 0 && chmRejectRemarkList[0] == "") { | ||
| 1054 | - this.alertErrorMsg( | ||
| 1055 | - this.$t("declaration.indexD.unApprovalTip", { | ||
| 1056 | - a: this.entryInfo.headers.consignmentCode, | ||
| 1057 | - }) | ||
| 1058 | - ); | ||
| 1059 | - this.loadings.examine0Loading = false; | ||
| 1060 | - } else { | ||
| 1061 | - return new Promise((resolve, reject) => { | ||
| 1062 | - chmRejectRemarkList.push("end"); | ||
| 1063 | - let obj = { | ||
| 1064 | - chmConsignmentIds: chmConsignmentIds, | ||
| 1065 | - chmRejectRemarkList: chmRejectRemarkList, | ||
| 1066 | - isApprove: status, | ||
| 1067 | - }; | ||
| 1068 | - //走审批接口 | ||
| 1069 | - this.setApproval( | ||
| 1070 | - obj2, | ||
| 1071 | - this.$t("declaration.indexD.approvalSuccess") | ||
| 1072 | - ).then(() => { | ||
| 1073 | - this.loadings.templateLoading = true; | ||
| 1074 | - this.sreach("approval").then(() => { | ||
| 1075 | - this.back(); | ||
| 1076 | - }); | ||
| 1077 | - // this.getAttachment(); | ||
| 1078 | - }); | ||
| 1079 | - }); | ||
| 1080 | - } | ||
| 1081 | - } | ||
| 1082 | - }, | ||
| 1083 | - setApproval(obj, msg) { | ||
| 1084 | - return new Promise((resolve, reject) => { | ||
| 1085 | - if (obj.flag == 0) { | ||
| 1086 | - approvalReject({ | ||
| 1087 | - chmId: obj.consignmentId, | ||
| 1088 | - remark: obj.rejectRemark, | ||
| 1089 | - old: obj, | ||
| 1090 | - }) | ||
| 1091 | - .then((res) => { | ||
| 1092 | - if (res.code != "200") { | ||
| 1093 | - this.alertWarningMsg( | ||
| 1094 | - res.message != "" | ||
| 1095 | - ? res.message | ||
| 1096 | - : this.$t("declaration.indexD.approvalError") | ||
| 1097 | - ); | ||
| 1098 | - reject(); | ||
| 1099 | - } else { | ||
| 1100 | - if (msg != "") { | ||
| 1101 | - this.msgSuccess(msg); | ||
| 1102 | - } | ||
| 1103 | - resolve(); | ||
| 1104 | - } | ||
| 1105 | - this.loadings.saveLoading = false; | ||
| 1106 | - this.loadings.examine0Loading = false; | ||
| 1107 | - this.loadings.examine1Loading = false; | ||
| 1108 | - }) | ||
| 1109 | - .catch((err) => { | ||
| 1110 | - this.loadings.saveLoading = false; | ||
| 1111 | - this.loadings.examine0Loading = false; | ||
| 1112 | - this.loadings.examine1Loading = false; | ||
| 1113 | - console.log(err); | ||
| 1114 | - reject(); | ||
| 1115 | - }); | ||
| 1116 | - } else if (obj.flag == 1) { | ||
| 1117 | - let fileObj = { | ||
| 1118 | - chmId: this.id, | ||
| 1119 | - origFileName: this.currentImage.name.replace("back_", ""), | ||
| 1120 | - isDocumentsCheck: this.currentImage.isDocumentsCheck, | ||
| 1121 | - old: obj, | ||
| 1122 | - }; | ||
| 1123 | - this.$refs.imgView.imgRotateBlob(false).then((imgBlob) => { | ||
| 1124 | - approved({ pic: imgBlob, info: fileObj }) | ||
| 1125 | - .then((res) => { | ||
| 1126 | - if (res.code != "200") { | ||
| 1127 | - this.alertWarningMsg(res.message); | ||
| 1128 | - reject(); | ||
| 1129 | - } else { | ||
| 1130 | - if (msg != "") { | ||
| 1131 | - this.msgSuccess(msg); | ||
| 1132 | - } | ||
| 1133 | - resolve(); | ||
| 1134 | - } | ||
| 1135 | - this.loadings.saveLoading = false; | ||
| 1136 | - this.loadings.examine0Loading = false; | ||
| 1137 | - this.loadings.examine1Loading = false; | ||
| 1138 | - }) | ||
| 1139 | - .catch((err) => { | ||
| 1140 | - this.loadings.saveLoading = false; | ||
| 1141 | - this.loadings.examine0Loading = false; | ||
| 1142 | - this.loadings.examine1Loading = false; | ||
| 1143 | - console.log(err); | ||
| 1144 | - reject(); | ||
| 1145 | - }); | ||
| 1146 | - }); | ||
| 1147 | - } else if (obj.flag == 2) { | ||
| 1148 | - let fileObj = { | ||
| 1149 | - chmId: this.id, | ||
| 1150 | - attachmentId: this.currentImage.id, | ||
| 1151 | - origFileName: this.currentImage.name.replace("back_", ""), | ||
| 1152 | - isDocumentsCheck: this.currentImage.isDocumentsCheck, | ||
| 1153 | - remark: obj.rejectRemark, | ||
| 1154 | - old: obj, | ||
| 1155 | - }; | ||
| 1156 | - this.$refs.imgView.imgRotateBlob(false).then((imgBlob) => { | ||
| 1157 | - saveApproval({ pic: imgBlob, info: fileObj }) | ||
| 1158 | - .then((res) => { | ||
| 1159 | - if (res.code === "200") { | ||
| 1160 | - if (msg != "") { | ||
| 1161 | - this.msgSuccess(msg); | ||
| 1162 | - } | ||
| 1163 | - resolve(); | ||
| 1164 | - } else { | ||
| 1165 | - this.alertWarningMsg(res.message); | ||
| 1166 | - reject(); | ||
| 1167 | - } | ||
| 1168 | - this.loadings.saveLoading = false; | ||
| 1169 | - this.loadings.examine0Loading = false; | ||
| 1170 | - this.loadings.examine1Loading = false; | ||
| 1171 | - }) | ||
| 1172 | - .catch((err) => { | ||
| 1173 | - console.log(err); | ||
| 1174 | - this.loadings.saveLoading = false; | ||
| 1175 | - this.loadings.examine0Loading = false; | ||
| 1176 | - this.loadings.examine1Loading = false; | ||
| 1177 | - reject(); | ||
| 1178 | - }); | ||
| 1179 | - }); | ||
| 1180 | - } | ||
| 1181 | - }); | ||
| 1182 | - }, | ||
| 1183 | - //系统生成报关单 | ||
| 1184 | - downloadEntryFile(val) { | ||
| 1185 | - this.optionChange(); | ||
| 1186 | - this.loadings.downloadEntryFile = true; | ||
| 1187 | - val == 1 ? (this.loadings.dialogButton = true) : ""; | ||
| 1188 | - let obj = { | ||
| 1189 | - id: this.id, | ||
| 1190 | - report: val, | ||
| 1191 | - }; | ||
| 1192 | - rdeEntryFileView(obj) | ||
| 1193 | - .then((res) => { | ||
| 1194 | - if (res.code === "200") { | ||
| 1195 | - let url = res.data.extra.managerUrl + res.data.extra.pdfPreview; | ||
| 1196 | - if (val == 0) { | ||
| 1197 | - this.entryPdf = url; | ||
| 1198 | - this.entryPdfVisible = true; | ||
| 1199 | - } else { | ||
| 1200 | - this.fileDownload.downLoadZip( | ||
| 1201 | - "res", | ||
| 1202 | - res.data.extra.managerUrl + res.data.extra.pdfPreview, | ||
| 1203 | - res.data.extra.fileName, | ||
| 1204 | - "pdf", | ||
| 1205 | - "get" | ||
| 1206 | - ); | ||
| 1207 | - window.open( | ||
| 1208 | - res.data.extra.managerUrl + res.data.extra.pdfPreview, | ||
| 1209 | - "_black" | ||
| 1210 | - ); | ||
| 1211 | - this.entryPdfVisible = false; | ||
| 1212 | - } | ||
| 1213 | - } else { | ||
| 1214 | - this.alertWarningMsg(res.message); | ||
| 1215 | - } | ||
| 1216 | - this.loadings.downloadEntryFile = false; | ||
| 1217 | - this.loadings.dialogButton = false; | ||
| 1218 | - }) | ||
| 1219 | - .catch((err) => { | ||
| 1220 | - console.log(err); | ||
| 1221 | - this.loadings.downloadEntryFile = false; | ||
| 1222 | - this.loadings.dialogButton = false; | ||
| 1223 | - }); | ||
| 1224 | - }, | ||
| 1225 | - //下载清关文件 | ||
| 1226 | - asyncDownloadFile() { | ||
| 1227 | - this.optionChange(); | ||
| 1228 | - this.loadings.asyncDownloadFile = true; | ||
| 1229 | - this.loadings.templateLoading = true; | ||
| 1230 | - downloadEntryFiles({ consignmentId: this.id }) | ||
| 1231 | - .then((res) => { | ||
| 1232 | - if (res.code === "200") { | ||
| 1233 | - let arr = res.data.extra.url.split("/"); | ||
| 1234 | - let fileName = arr[arr.length - 1]; | ||
| 1235 | - let fileType = arr[arr.length - 1].split(".")[1]; | ||
| 1236 | - this.fileDownload.downLoadZip( | ||
| 1237 | - "res", | ||
| 1238 | - res.data.extra.url, | ||
| 1239 | - fileName, | ||
| 1240 | - fileType, | ||
| 1241 | - "get" | ||
| 1242 | - ); | ||
| 1243 | - } else { | ||
| 1244 | - this.alertWarningMsg(res.message); | ||
| 1245 | - } | ||
| 1246 | - this.loadings.asyncDownloadFile = false; | ||
| 1247 | - this.loadings.templateLoading = false; | ||
| 1248 | - }) | ||
| 1249 | - .catch((err) => { | ||
| 1250 | - console.log(err); | ||
| 1251 | - this.loadings.asyncDownloadFile = false; | ||
| 1252 | - this.loadings.templateLoading = false; | ||
| 1253 | - }); | ||
| 1254 | - }, | ||
| 1255 | - //重置全部单证分类 | ||
| 1256 | - refreshImgType() { | ||
| 1257 | - this.imageList.forEach((item) => { | ||
| 1258 | - item.selectTypeCode = "attDocType_other"; | ||
| 1259 | - }); | ||
| 1260 | - }, | ||
| 1261 | - //确认分类 | ||
| 1262 | - checkImgType(data) { | ||
| 1263 | - let obj = { | ||
| 1264 | - consignmentCode: this.entryInfo.headers.consignmentCode, | ||
| 1265 | - consignmentId: this.entryInfo.headers.id, | ||
| 1266 | - portName: this.entryInfo.headers.declaredPort, | ||
| 1267 | - list: [], | ||
| 1268 | - }; | ||
| 1269 | - let imgTypeList = []; | ||
| 1270 | - this.imageList.forEach((item) => { | ||
| 1271 | - imgTypeList.push(item.selectTypeCode); | ||
| 1272 | - let file = { | ||
| 1273 | - fileName: item.name, | ||
| 1274 | - fileSavePath: item.thumb, | ||
| 1275 | - fileSize: item.fileSize, | ||
| 1276 | - selectTypeCode: item.selectTypeCode, | ||
| 1277 | - uploadTime: item.uploadTime, | ||
| 1278 | - uploadUser: item.uploadUser, | ||
| 1279 | - }; | ||
| 1280 | - obj.list.push(file); | ||
| 1281 | - }); | ||
| 1282 | - if ( | ||
| 1283 | - imgTypeList.includes("attDocType_inv") && | ||
| 1284 | - imgTypeList.includes("attDocType_ctn") && | ||
| 1285 | - imgTypeList.includes("attDocType_pl") && | ||
| 1286 | - imgTypeList.includes("attDocType_way") | ||
| 1287 | - ) { | ||
| 1288 | - this.loadings.checkImgTypeLoading = true; | ||
| 1289 | - saveImgFileTypeData(obj) | ||
| 1290 | - .then((res) => { | ||
| 1291 | - if (res.code === "200") { | ||
| 1292 | - this.msgSuccess("申报单证分类完成!"); | ||
| 1293 | - this.back(); | ||
| 1294 | - } else { | ||
| 1295 | - this.alertWarningMsg(res.message); | ||
| 1296 | - } | ||
| 1297 | - this.loadings.checkImgTypeLoading = false; | ||
| 1298 | - }) | ||
| 1299 | - .catch((err) => { | ||
| 1300 | - console.log(err); | ||
| 1301 | - this.loadings.checkImgTypeLoading = false; | ||
| 1302 | - }); | ||
| 1303 | - } else { | ||
| 1304 | - let str = ""; | ||
| 1305 | - if (!imgTypeList.includes("attDocType_inv")) { | ||
| 1306 | - str = str + "请至少选择一张【发票】进行分类!</br>"; | ||
| 1307 | - } | ||
| 1308 | - if (!imgTypeList.includes("attDocType_ctn")) { | ||
| 1309 | - str = str + "请至少选择一张【合同】进行分类!</br>"; | ||
| 1310 | - } | ||
| 1311 | - if (!imgTypeList.includes("attDocType_pl")) { | ||
| 1312 | - str = str + "请至少选择一张【箱单】进行分类!</br>"; | ||
| 1313 | - } | ||
| 1314 | - if (!imgTypeList.includes("attDocType_way")) { | ||
| 1315 | - str = str + "请至少选择一张【运单】进行分类!</br>"; | ||
| 1316 | - } | ||
| 1317 | - this.alertWarningMsg(str); | ||
| 1318 | - } | ||
| 1319 | - }, | ||
| 1320 | - //委托书盖章 | ||
| 1321 | - imgStamp(val) { | ||
| 1322 | - this.optionChange(); | ||
| 1323 | - this.loadings.imgStamp = true; | ||
| 1324 | - let chmRejectRemarkList = [ | ||
| 1325 | - this.entryInfo.headers.rejectRemark == null | ||
| 1326 | - ? "" | ||
| 1327 | - : this.entryInfo.headers.rejectRemark, | ||
| 1328 | - ]; | ||
| 1329 | - let obj = {}; | ||
| 1330 | - //撤销盖章 | ||
| 1331 | - if (val == 1) { | ||
| 1332 | - obj = { | ||
| 1333 | - chmId: this.id, | ||
| 1334 | - old: { | ||
| 1335 | - rejectRemark: chmRejectRemarkList[0], | ||
| 1336 | - attachmentsPicDtoList: this.imageList, | ||
| 1337 | - consignmentId: this.id, | ||
| 1338 | - }, | ||
| 1339 | - }; | ||
| 1340 | - rdeimgRestamp(obj) | ||
| 1341 | - .then((res) => { | ||
| 1342 | - if (res.code === "200") { | ||
| 1343 | - this.$refs.imgView.loading = true; | ||
| 1344 | - this.msgSuccess(this.$t("declaration.indexD.stempSucces")); | ||
| 1345 | - // this.sreach(); | ||
| 1346 | - this.getAttachment(); | ||
| 1347 | - } else { | ||
| 1348 | - this.alertWarningMsg(res.message); | ||
| 1349 | - } | ||
| 1350 | - this.loadings.imgStamp = false; | ||
| 1351 | - }) | ||
| 1352 | - .catch((err) => { | ||
| 1353 | - console.log(err); | ||
| 1354 | - this.loadings.imgStamp = false; | ||
| 1355 | - }); | ||
| 1356 | - } else { | ||
| 1357 | - //盖章 | ||
| 1358 | - let oldObj = { | ||
| 1359 | - attachmentsList: this.imageList, | ||
| 1360 | - rejectRemark: chmRejectRemarkList[0], | ||
| 1361 | - attachmentId: this.currentImage.id, | ||
| 1362 | - pickUpCityId: this.entryInfo.headers.pickUpCityId, | ||
| 1363 | - fileName: this.currentImage.name, | ||
| 1364 | - consignmentId: this.id, | ||
| 1365 | - isDocumentsCheck: 1, | ||
| 1366 | - rotateAngle: | ||
| 1367 | - this.currentImage.rotateAngle == null | ||
| 1368 | - ? 0 | ||
| 1369 | - : this.currentImage.rotateAngle, | ||
| 1370 | - }; | ||
| 1371 | - //旧接口传参 | ||
| 1372 | - this.urlList = []; | ||
| 1373 | - oldObj.attachmentsList.forEach((item, index) => { | ||
| 1374 | - this.urlList.push(item.url); | ||
| 1375 | - if (item.id == this.currentImage.id) { | ||
| 1376 | - item.isDocumentsCheck = 1; | ||
| 1377 | - this.currentImage.isDocumentsCheck = 1; | ||
| 1378 | - } | ||
| 1379 | - item.rotateAngle = item.rotateAngle == null ? 0 : item.rotateAngle; | ||
| 1380 | - }); | ||
| 1381 | - obj.info = { | ||
| 1382 | - attachmentId: this.currentImage.id, | ||
| 1383 | - chmId: this.id, | ||
| 1384 | - isRevolve: this.currentImage.rotateAngle != 0 ? 1 : 0, | ||
| 1385 | - origFileName: this.currentImage.name.replace("back_", ""), | ||
| 1386 | - pickUpCityId: this.entryInfo.headers.pickUpCityId, | ||
| 1387 | - old: oldObj, | ||
| 1388 | - }; | ||
| 1389 | - obj.name = this.currentImage.name.replace("back_", ""); | ||
| 1390 | - // if (this.currentImage.rotateAngle != 0) { | ||
| 1391 | - this.$refs.imgView.imgRotateBlob(false).then((imgBlob) => { | ||
| 1392 | - obj.pic = imgBlob; | ||
| 1393 | - this.setStamp(obj); | ||
| 1394 | - }); | ||
| 1395 | - // } else { | ||
| 1396 | - // obj.pic = null; | ||
| 1397 | - // this.setStamp(obj); | ||
| 1398 | - // } | ||
| 1399 | - } | ||
| 1400 | - }, | ||
| 1401 | - //委托书盖章请求 | ||
| 1402 | - setStamp(obj) { | ||
| 1403 | - rdeimgStamp(obj) | ||
| 1404 | - .then((res) => { | ||
| 1405 | - if (res.code === "200") { | ||
| 1406 | - this.$refs.imgView.loading = true; | ||
| 1407 | - this.msgSuccess(this.$t("declaration.indexD.stempSucces")); | ||
| 1408 | - // this.sreach(); | ||
| 1409 | - this.getAttachment(); | ||
| 1410 | - } else { | ||
| 1411 | - this.alertWarningMsg(res.message); | ||
| 1412 | - } | ||
| 1413 | - this.loadings.imgStamp = false; | ||
| 1414 | - }) | ||
| 1415 | - .catch((err) => { | ||
| 1416 | - console.log(err); | ||
| 1417 | - this.loadings.imgStamp = false; | ||
| 1418 | - }); | ||
| 1419 | - }, | ||
| 1420 | - optionChange() { | ||
| 1421 | - this.lockTime = this.$store.getters.lockTime - 30; | ||
| 1422 | - }, | ||
| 1423 | - //口岸图片标识改变 | ||
| 1424 | - imgTypeChange(val) { | ||
| 1425 | - // console.log(val); | ||
| 1426 | - }, | ||
| 1427 | - //查询运单加锁 | ||
| 1428 | - async sreachEntryLock(id) { | ||
| 1429 | - this.loadings.entryLoading = true; | ||
| 1430 | - return new Promise((resolve, reject) => { | ||
| 1431 | - if ( | ||
| 1432 | - (this.fromAudition && | ||
| 1433 | - this.entryInfo.headers.consStatusDicCode == | ||
| 1434 | - "transferWaybillStatus_2") || | ||
| 1435 | - ((this.entryInfo.headers.declaredPort == "SZXIP" || | ||
| 1436 | - this.entryInfo.headers.declaredPort == "CANIP") && | ||
| 1437 | - this.routerForm == "port" && | ||
| 1438 | - this.entryInfo.headers.chmSourceType != "chmSourceType_03" && | ||
| 1439 | - this.entryInfo.headers.chmSourceType != "chmSourceType_04" && | ||
| 1440 | - this.entryInfo.headers.consStatusDicCode == | ||
| 1441 | - "transferWaybillStatus_5") | ||
| 1442 | - ) { | ||
| 1443 | - getEntryLock({ consignmentId: id, lockFlag: 1, bizType: 0 }) | ||
| 1444 | - .then((res) => { | ||
| 1445 | - if (res.code === "200") { | ||
| 1446 | - this.lockType = true; | ||
| 1447 | - this.lockTime = this.$store.getters.lockTime - 30; | ||
| 1448 | - this.$store.dispatch("SetEntryData", { id: id, status: 0 }); | ||
| 1449 | - this.createLockTime(); | ||
| 1450 | - resolve(); | ||
| 1451 | - } else if (res.code === "41084") { | ||
| 1452 | - this.optionDisabled = true; | ||
| 1453 | - this.alertWarningMsg(this.$t("declaration.indexD.lockTip")); | ||
| 1454 | - reject(); | ||
| 1455 | - } else { | ||
| 1456 | - resolve(); | ||
| 1457 | - } | ||
| 1458 | - }) | ||
| 1459 | - .catch((err) => { | ||
| 1460 | - console.log(err); | ||
| 1461 | - resolve(); | ||
| 1462 | - }); | ||
| 1463 | - } else { | ||
| 1464 | - resolve(); | ||
| 1465 | - } | ||
| 1466 | - }); | ||
| 1467 | - }, | ||
| 1468 | - //刷新运单琐 | ||
| 1469 | - uploadLock() { | ||
| 1470 | - getEntryLock({ consignmentId: this.id, lockFlag: 1, bizType: 0 }); | ||
| 1471 | - }, | ||
| 1472 | - //释放运单琐 | ||
| 1473 | - removeEntryLock(id, bizType) { | ||
| 1474 | - if ( | ||
| 1475 | - !this.optionDisabled && | ||
| 1476 | - (this.fromAudition || | ||
| 1477 | - ((this.entryInfo.headers.declaredPort == "SZXIP" || | ||
| 1478 | - this.entryInfo.headers.declaredPort == "CANIP") && | ||
| 1479 | - this.routerForm == "port" && | ||
| 1480 | - this.entryInfo.headers.chmSourceType != "chmSourceType_03" && | ||
| 1481 | - this.entryInfo.headers.chmSourceType != "chmSourceType_04" && | ||
| 1482 | - this.entryInfo.headers.consStatusDicCode == | ||
| 1483 | - "transferWaybillStatus_5")) | ||
| 1484 | - ) { | ||
| 1485 | - unEntryLock({ consignmentId: id, bizType: bizType }) | ||
| 1486 | - .then((res) => {}) | ||
| 1487 | - .catch((err) => { | ||
| 1488 | - console.log(err); | ||
| 1489 | - }); | ||
| 1490 | - } | ||
| 1491 | - }, | ||
| 1492 | - createLockTime() { | ||
| 1493 | - let lockInterval = setInterval(() => { | ||
| 1494 | - if (this.lockTime > 0) { | ||
| 1495 | - if (this.lockNum == this.$store.getters.lockTime - 30) { | ||
| 1496 | - this.lockNum = 0; | ||
| 1497 | - this.uploadLock(); | ||
| 1498 | - // this.lockTime = this.$store.getters.lockTime - 30; | ||
| 1499 | - } | ||
| 1500 | - this.lockNum++; | ||
| 1501 | - this.lockTime--; | ||
| 1502 | - } else { | ||
| 1503 | - if (this.lockType) { | ||
| 1504 | - this.removeEntryLock(this.id, 0); | ||
| 1505 | - this.alertWarningMsg( | ||
| 1506 | - this.$t("declaration.indexD.lockTimeOutTip") | ||
| 1507 | - ).finally(() => { | ||
| 1508 | - this.back(); | ||
| 1509 | - }); | ||
| 1510 | - } | ||
| 1511 | - this.lockType = false; | ||
| 1512 | - clearInterval(lockInterval); | ||
| 1513 | - } | ||
| 1514 | - }, 1000); | ||
| 1515 | - }, | ||
| 1516 | - getWeight(qty, unit) { | ||
| 1517 | - let qtyCompute = 0; | ||
| 1518 | - if (unit == "千克" || unit == "克" || unit == "斤" || unit == "克拉") { | ||
| 1519 | - switch (unit) { | ||
| 1520 | - case "千克": | ||
| 1521 | - qtyCompute = qty; | ||
| 1522 | - break; | ||
| 1523 | - case "克": | ||
| 1524 | - qtyCompute = qty / 1000; | ||
| 1525 | - break; | ||
| 1526 | - case "斤": | ||
| 1527 | - qtyCompute = qty / 2; | ||
| 1528 | - break; | ||
| 1529 | - case "克拉": | ||
| 1530 | - qtyCompute = qty / 5000; | ||
| 1531 | - break; | ||
| 1532 | - default: | ||
| 1533 | - qtyCompute = 0; | ||
| 1534 | - } | ||
| 1535 | - } | ||
| 1536 | - return qtyCompute; | ||
| 1537 | - }, | ||
| 1538 | - getFontRedClass(currencyId, amount) { | ||
| 1539 | - this.fontRed = false; | ||
| 1540 | - getExchangeRate() | ||
| 1541 | - .then((res) => { | ||
| 1542 | - if (res.code === "200") { | ||
| 1543 | - let usd = res.data.extra.filter( | ||
| 1544 | - (cur) => cur.code == "currencySystem_USD" | ||
| 1545 | - )[0]; | ||
| 1546 | - let current = res.data.extra.filter( | ||
| 1547 | - (cur) => cur.id == currencyId | ||
| 1548 | - )[0]; | ||
| 1549 | - let amountRes = | ||
| 1550 | - (amount * current.bocConversionPrice) / usd.bocConversionPrice; | ||
| 1551 | - if (amountRes > 50000) { | ||
| 1552 | - this.fontRed = true; | ||
| 1553 | - return true; | ||
| 1554 | - } | ||
| 1555 | - } | ||
| 1556 | - return false; | ||
| 1557 | - }) | ||
| 1558 | - .catch((err) => { | ||
| 1559 | - console.log(err); | ||
| 1560 | - return false; | ||
| 1561 | - }); | ||
| 1562 | - }, | ||
| 1563 | - //字典表添加 | ||
| 1564 | - async setDict() { | ||
| 1565 | - this.$store.dispatch("GetDistrict").then((res) => { | ||
| 1566 | - this.dictData.district = res; | ||
| 1567 | - }); | ||
| 1568 | - this.$store.dispatch("GetPort", { name: "", type: "all" }).then((res) => { | ||
| 1569 | - this.dictData.port = res; | ||
| 1570 | - }); | ||
| 1571 | - let arr = [ | ||
| 1572 | - "VehicleWayCode", | ||
| 1573 | - "supervisionMode", | ||
| 1574 | - "natureExemption", | ||
| 1575 | - "ClinchType", | ||
| 1576 | - "NewPackageType", | ||
| 1577 | - "Country", | ||
| 1578 | - "levyType", | ||
| 1579 | - "currencySystem", | ||
| 1580 | - "ENTRY_METHOD", | ||
| 1581 | - "pickUpCity", | ||
| 1582 | - "consType", | ||
| 1583 | - "brandType", | ||
| 1584 | - "exportBenefits", | ||
| 1585 | - ]; | ||
| 1586 | - if (this.$route.params.from == "port") { | ||
| 1587 | - arr.push("attDocType"); | ||
| 1588 | - } | ||
| 1589 | - arr.forEach((item, index) => { | ||
| 1590 | - this.$store | ||
| 1591 | - .dispatch("GetDict", { | ||
| 1592 | - dictionaryCode: item, | ||
| 1593 | - extIndex: "", | ||
| 1594 | - extVal: "", | ||
| 1595 | - }) | ||
| 1596 | - .then((res) => { | ||
| 1597 | - this.dictData[item] = res; | ||
| 1598 | - }); | ||
| 1599 | - }); | ||
| 1600 | - }, | ||
| 1601 | - inputItemBlur(val) { | ||
| 1602 | - if (val) { | ||
| 1603 | - let obj = val; | ||
| 1604 | - this.activeDetial = obj; | ||
| 1605 | - this.entryInfo = obj; | ||
| 1606 | - } | ||
| 1607 | - }, | ||
| 1608 | - documentsCheckChange(val) { | ||
| 1609 | - this.optionChange(); | ||
| 1610 | - if (val == 0 && this.currentImage.isSeal == 1) { | ||
| 1611 | - this.currentImage.isDocumentsCheck = 1; | ||
| 1612 | - this.alertWarningMsg(this.$t("declaration.indexD.checkError")); | ||
| 1613 | - } else { | ||
| 1614 | - if ( | ||
| 1615 | - this.entryInfo.headers.consStatusDicCode == "transferWaybillStatus_2" | ||
| 1616 | - // && this.currentImage.imgError != true | ||
| 1617 | - ) { | ||
| 1618 | - this.loadings.imgCheckLoading = true; | ||
| 1619 | - let obj = { | ||
| 1620 | - isDocumentCheck: val, | ||
| 1621 | - attachmentId: this.currentImage.id, | ||
| 1622 | - }; | ||
| 1623 | - setDocumentCheck(obj) | ||
| 1624 | - .then((res) => { | ||
| 1625 | - if (res.code === "200") { | ||
| 1626 | - } else { | ||
| 1627 | - // this.alertWarningMsg(res.message); | ||
| 1628 | - } | ||
| 1629 | - this.loadings.imgCheckLoading = false; | ||
| 1630 | - }) | ||
| 1631 | - .catch((err) => { | ||
| 1632 | - console.log(err); | ||
| 1633 | - this.loadings.imgCheckLoading = false; | ||
| 1634 | - }); | ||
| 1635 | - } | ||
| 1636 | - } | ||
| 1637 | - }, | ||
| 1638 | - //点击商品 | ||
| 1639 | - rowClick(val) { | ||
| 1640 | - setTimeout(() => { | ||
| 1641 | - if (!this.bodyDialogVisible) { | ||
| 1642 | - this.optionChange(); | ||
| 1643 | - this.currentDetail = val; | ||
| 1644 | - this.bodyDialogVisible = true; | ||
| 1645 | - } | ||
| 1646 | - }, 200); | ||
| 1647 | - }, | ||
| 1648 | - closeDialog(val) { | ||
| 1649 | - this.bodyDialogVisible = false; | ||
| 1650 | - }, | ||
| 1651 | - //返回 | ||
| 1652 | - back() { | ||
| 1653 | - if (this.$route.query.noGoBack) { | ||
| 1654 | - this.$router.push({ path: "/" }); | ||
| 1655 | - } else { | ||
| 1656 | - this.$router.go(-1); | ||
| 1657 | - this.$store.getters.visitedViews.forEach((item) => { | ||
| 1658 | - if (item.path == "/details") { | ||
| 1659 | - this.$store.dispatch("tagsView/delView", item); | ||
| 1660 | - } | ||
| 1661 | - }); | ||
| 1662 | - } | ||
| 1663 | - this.loadings.templateLoading = false; | ||
| 1664 | - this.loadings.saveLoading = false; | ||
| 1665 | - this.loadings.examine0Loading = false; | ||
| 1666 | - this.loadings.examine1Loading = false; | ||
| 1667 | - }, | ||
| 1668 | - //分页 | ||
| 1669 | - changeCurrentImg(i) { | ||
| 1670 | - this.imgIdx = i; | ||
| 1671 | - this.currentImage = this.imageList[i]; | ||
| 1672 | - }, | ||
| 1673 | - //图片旋转 | ||
| 1674 | - rotate(val) { | ||
| 1675 | - this.currentImage.rotateAngle = val.rotate; | ||
| 1676 | - // this.imageList.forEach(item=>{ | ||
| 1677 | - // if(item.id == this.currentImage.id){ | ||
| 1678 | - // item.rotateAngle = val.rotate | ||
| 1679 | - // } | ||
| 1680 | - // }) | ||
| 1681 | - }, | ||
| 1682 | - //图片加载状态 | ||
| 1683 | - imgLoad(val) { | ||
| 1684 | - this.currentImage.imgError = val; | ||
| 1685 | - }, | ||
| 1686 | - //图片旋转状态 | ||
| 1687 | - imgBlob(val) { | ||
| 1688 | - this.$refs.imgView.loading = true; | ||
| 1689 | - if (val.data.isSeal != 1 && !this.optionDisabled) { | ||
| 1690 | - let obj = { | ||
| 1691 | - pic: val.blob, | ||
| 1692 | - info: { | ||
| 1693 | - attachmentId: val.data.id, | ||
| 1694 | - chmId: this.id, | ||
| 1695 | - origFileName: val.data.name.replace("back_", ""), | ||
| 1696 | - }, | ||
| 1697 | - }; | ||
| 1698 | - setImgRoate(obj) | ||
| 1699 | - .then((res) => { | ||
| 1700 | - if (res.code === "200") { | ||
| 1701 | - this.imageList.forEach((item) => { | ||
| 1702 | - if (item.id == val.data.id) { | ||
| 1703 | - item.rotateAngle = 0; | ||
| 1704 | - } | ||
| 1705 | - }); | ||
| 1706 | - } else { | ||
| 1707 | - // this.alertWarningMsg(res.message); | ||
| 1708 | - } | ||
| 1709 | - this.$refs.imgView.loading = false; | ||
| 1710 | - }) | ||
| 1711 | - .catch((err) => { | ||
| 1712 | - console.log(err); | ||
| 1713 | - this.$refs.imgView.loading = false; | ||
| 1714 | - }); | ||
| 1715 | - } else { | ||
| 1716 | - this.$refs.imgView.loading = false; | ||
| 1717 | - } | ||
| 1718 | - }, | ||
| 1719 | - dialogClose() { | ||
| 1720 | - this.entryPdfVisible = false; | ||
| 1721 | - }, | ||
| 1722 | - formItemEvent(val) {}, | ||
| 1723 | - }, | ||
| 1724 | -}; | ||
| 1725 | -</script> | ||
| 1726 | - | ||
| 1727 | -<style lang="scss" scoped> | ||
| 1728 | -@import "@/assets/styles/variables.scss"; | ||
| 1729 | - | ||
| 1730 | -.entry { | ||
| 1731 | - width: 100%; | ||
| 1732 | - height: 100%; | ||
| 1733 | - | ||
| 1734 | - .entryInformation { | ||
| 1735 | - width: 100%; | ||
| 1736 | - height: 100%; | ||
| 1737 | - overflow: auto; | ||
| 1738 | - } | ||
| 1739 | -} | ||
| 1740 | - | ||
| 1741 | -.option { | ||
| 1742 | - width: 100%; | ||
| 1743 | - height: 100%; | ||
| 1744 | - margin: 0 auto; | ||
| 1745 | - background-color: #fff; | ||
| 1746 | - padding: 5px 5px 5px; | ||
| 1747 | - overflow: auto; | ||
| 1748 | - | ||
| 1749 | - .details { | ||
| 1750 | - display: flex; | ||
| 1751 | - justify-content: center; | ||
| 1752 | - | ||
| 1753 | - .side { | ||
| 1754 | - width: 50%; | ||
| 1755 | - padding: 5px; | ||
| 1756 | - | ||
| 1757 | - .formTitleFlex { | ||
| 1758 | - display: flex; | ||
| 1759 | - justify-content: space-between; | ||
| 1760 | - font-size: 16px; | ||
| 1761 | - font-weight: 600; | ||
| 1762 | - margin-top: 10px; | ||
| 1763 | - margin-bottom: 10px; | ||
| 1764 | - } | ||
| 1765 | - | ||
| 1766 | - .sideContentBorder { | ||
| 1767 | - border: 1px solid $fedexBorder; | ||
| 1768 | - } | ||
| 1769 | - | ||
| 1770 | - .titleButton-View { | ||
| 1771 | - background-color: #f2f2f2 !important; | ||
| 1772 | - border: 2px solid #999 !important; | ||
| 1773 | - } | ||
| 1774 | - | ||
| 1775 | - .entryFileOption { | ||
| 1776 | - display: flex; | ||
| 1777 | - justify-content: space-between; | ||
| 1778 | - margin-top: 5px; | ||
| 1779 | - } | ||
| 1780 | - } | ||
| 1781 | - } | ||
| 1782 | -} | ||
| 1783 | -.boxTitle { | ||
| 1784 | - display: flex; | ||
| 1785 | - justify-content: space-between; | ||
| 1786 | - font-size: 16px; | ||
| 1787 | - font-weight: 600; | ||
| 1788 | - margin-top: 10px; | ||
| 1789 | - margin-bottom: 10px; | ||
| 1790 | -} | ||
| 1791 | - | ||
| 1792 | -.entrySaveButton { | ||
| 1793 | - font-size: 16px; | ||
| 1794 | -} | ||
| 1795 | - | ||
| 1796 | -.entrySave { | ||
| 1797 | - margin-top: 32px; | ||
| 1798 | - margin-bottom: 32px; | ||
| 1799 | -} | ||
| 1800 | - | ||
| 1801 | -.fontRedClass { | ||
| 1802 | - color: red !important; | ||
| 1803 | -} | ||
| 1804 | - | ||
| 1805 | -.fontGrayClass { | ||
| 1806 | - color: #909399 !important; | ||
| 1807 | -} | ||
| 1808 | - | ||
| 1809 | -.backgroundButton { | ||
| 1810 | - color: $menuLightHover; | ||
| 1811 | - background-color: $fedexButton; | ||
| 1812 | -} | ||
| 1813 | -</style> |
| 1 | <template> | 1 | <template> |
| 2 | - <div class="export-bill-detail"> | 2 | + <div class="entry" v-loading="loadings.entryLoading"> |
| 3 | - <h5 class="first-header"> | 3 | + <div class="entryTitle"> |
| 4 | - 出口订单详情 | 4 | + <div>出口订单详情</div> |
| 5 | - <div class="returnButton" @click="$router.back()">返回</div> | 5 | + <div> |
| 6 | - </h5> | 6 | + <el-button class="entrySaveButton" @click="back">返 回</el-button> |
| 7 | + </div> | ||
| 8 | + </div> | ||
| 7 | <el-form | 9 | <el-form |
| 8 | - class="fedexFormStyle fedexformSreach fedexformSreachBottomBorder" | 10 | + class="fedexFormStyle" |
| 9 | ref="sreachForm" | 11 | ref="sreachForm" |
| 10 | - :model="searchForm" | 12 | + :model="formData" |
| 11 | label-position="top" | 13 | label-position="top" |
| 12 | disabled | 14 | disabled |
| 13 | size="small" | 15 | size="small" |
| 14 | > | 16 | > |
| 15 | - <el-row class="row-border"> | 17 | + <el-row :gutter="5"> |
| 16 | - <el-col :span="5"> | 18 | + <el-col :span="3"> |
| 17 | - <Formitem label="订单编号" prop="consignmentCode"> | 19 | + <Formitem label="订单编号" prop="orderNo"> |
| 18 | - <el-popover | 20 | + <el-input |
| 19 | - placement="bottom" | 21 | + type="text" |
| 20 | - width="320" | 22 | + class="inputShadow" |
| 21 | - trigger="manual" | 23 | + id="inputInner--orderNo" |
| 22 | - popper-class="popoverconsignmentCode" | 24 | + resize="none" |
| 23 | - v-model="textareaVisible.formItemconsignmentCode" | 25 | + v-model="formData.orderNo" |
| 24 | - > | 26 | + clearable |
| 25 | - <el-input | 27 | + placeholder="" |
| 26 | - name="consignmentCode-textarea" | 28 | + ></el-input> |
| 27 | - type="textarea" | ||
| 28 | - :rows="5" | ||
| 29 | - id="popoverInputconsignmentCode" | ||
| 30 | - class="inputShadow textareaPopover" | ||
| 31 | - v-model="searchForm.consignmentCode" | ||
| 32 | - resize="none" | ||
| 33 | - maxlength="13000" | ||
| 34 | - placeholder="" | ||
| 35 | - @blur="textareaBlur" | ||
| 36 | - ></el-input> | ||
| 37 | - <el-input | ||
| 38 | - slot="reference" | ||
| 39 | - name="consignmentCode" | ||
| 40 | - type="textarea" | ||
| 41 | - :rows="1" | ||
| 42 | - class="inputShadow" | ||
| 43 | - id="inputInner--consignmentCode" | ||
| 44 | - v-model="searchForm.consignmentCode" | ||
| 45 | - resize="none" | ||
| 46 | - placeholder="" | ||
| 47 | - @focus="textareaFocus" | ||
| 48 | - ></el-input> | ||
| 49 | - </el-popover> | ||
| 50 | </Formitem> | 29 | </Formitem> |
| 51 | </el-col> | 30 | </el-col> |
| 52 | - <el-col :span="4"> | 31 | + <el-col :span="3"> |
| 53 | - <Formitem label="订单类型" prop="factoryCode"> | 32 | + <Formitem label="订单类型" prop="orderType"> |
| 54 | - <el-select | 33 | + <el-input |
| 55 | type="text" | 34 | type="text" |
| 56 | - id="inputInner--declaredPort" | 35 | + class="inputShadow" |
| 57 | - v-model="searchForm.declaredPort" | 36 | + id="inputInner--orderType" |
| 37 | + resize="none" | ||
| 38 | + v-model="formData.orderType" | ||
| 58 | clearable | 39 | clearable |
| 59 | placeholder="" | 40 | placeholder="" |
| 60 | - > | 41 | + ></el-input> |
| 61 | - <el-option | ||
| 62 | - v-for="(item, index) in dictData.userport" | ||
| 63 | - :key="index" | ||
| 64 | - :label="item.name" | ||
| 65 | - :value="item.name" | ||
| 66 | - ></el-option> | ||
| 67 | - </el-select> | ||
| 68 | </Formitem> | 42 | </Formitem> |
| 69 | </el-col> | 43 | </el-col> |
| 70 | - <el-col :span="5"> | 44 | + <el-col :span="3"> |
| 71 | - <Formitem label="电商平台代码" prop="consignmentCode"> | 45 | + <Formitem label="电商平台代码" prop="ebpcode"> |
| 72 | - <el-popover | 46 | + <el-input |
| 73 | - placement="bottom" | 47 | + type="text" |
| 74 | - width="320" | 48 | + class="inputShadow" |
| 75 | - trigger="manual" | 49 | + id="inputInner--ebpcode" |
| 76 | - popper-class="popoverconsignmentCode" | 50 | + resize="none" |
| 77 | - v-model="textareaVisible.formItemconsignmentCode" | 51 | + v-model="formData.ebpcode" |
| 78 | - > | 52 | + clearable |
| 79 | - <el-input | 53 | + placeholder="" |
| 80 | - name="consignmentCode-textarea" | 54 | + ></el-input> |
| 81 | - type="textarea" | ||
| 82 | - :rows="5" | ||
| 83 | - id="popoverInputconsignmentCode" | ||
| 84 | - class="inputShadow textareaPopover" | ||
| 85 | - v-model="searchForm.consignmentCode" | ||
| 86 | - resize="none" | ||
| 87 | - maxlength="13000" | ||
| 88 | - placeholder="" | ||
| 89 | - @blur="textareaBlur" | ||
| 90 | - ></el-input> | ||
| 91 | - <el-input | ||
| 92 | - slot="reference" | ||
| 93 | - name="consignmentCode" | ||
| 94 | - type="textarea" | ||
| 95 | - :rows="1" | ||
| 96 | - class="inputShadow" | ||
| 97 | - id="inputInner--consignmentCode" | ||
| 98 | - v-model="searchForm.consignmentCode" | ||
| 99 | - resize="none" | ||
| 100 | - placeholder="" | ||
| 101 | - @focus="textareaFocus" | ||
| 102 | - ></el-input> | ||
| 103 | - </el-popover> | ||
| 104 | </Formitem> | 55 | </Formitem> |
| 105 | </el-col> | 56 | </el-col> |
| 106 | - <el-col :span="5"> | 57 | + <el-col :span="6"> |
| 107 | - <Formitem label="电商平台名称" prop="consignmentCode"> | 58 | + <Formitem label="电商平台名称" prop="ebpname"> |
| 108 | - <el-popover | 59 | + <el-input |
| 109 | - placement="bottom" | 60 | + type="text" |
| 110 | - width="320" | 61 | + class="inputShadow" |
| 111 | - trigger="manual" | 62 | + id="inputInner--ebpname" |
| 112 | - popper-class="popoverconsignmentCode" | 63 | + resize="none" |
| 113 | - v-model="textareaVisible.formItemconsignmentCode" | 64 | + v-model="formData.ebpname" |
| 114 | - > | 65 | + clearable |
| 115 | - <el-input | 66 | + placeholder="" |
| 116 | - name="consignmentCode-textarea" | 67 | + ></el-input> |
| 117 | - type="textarea" | ||
| 118 | - :rows="5" | ||
| 119 | - id="popoverInputconsignmentCode" | ||
| 120 | - class="inputShadow textareaPopover" | ||
| 121 | - v-model="searchForm.consignmentCode" | ||
| 122 | - resize="none" | ||
| 123 | - maxlength="13000" | ||
| 124 | - placeholder="" | ||
| 125 | - @blur="textareaBlur" | ||
| 126 | - ></el-input> | ||
| 127 | - <el-input | ||
| 128 | - slot="reference" | ||
| 129 | - name="consignmentCode" | ||
| 130 | - type="textarea" | ||
| 131 | - :rows="1" | ||
| 132 | - class="inputShadow" | ||
| 133 | - id="inputInner--consignmentCode" | ||
| 134 | - v-model="searchForm.consignmentCode" | ||
| 135 | - resize="none" | ||
| 136 | - placeholder="" | ||
| 137 | - @focus="textareaFocus" | ||
| 138 | - ></el-input> | ||
| 139 | - </el-popover> | ||
| 140 | </Formitem> | 68 | </Formitem> |
| 141 | </el-col> | 69 | </el-col> |
| 142 | - <el-col :span="5"> | 70 | + <el-col :span="3"> |
| 143 | - <Formitem label="电商企业代码" prop="consignmentCode"> | 71 | + <Formitem label="电商企业代码" prop="ebccode"> |
| 144 | - <el-popover | 72 | + <el-input |
| 145 | - placement="bottom" | 73 | + type="text" |
| 146 | - width="320" | 74 | + class="inputShadow" |
| 147 | - trigger="manual" | 75 | + id="inputInner--ebccode" |
| 148 | - popper-class="popoverconsignmentCode" | 76 | + resize="none" |
| 149 | - v-model="textareaVisible.formItemconsignmentCode" | 77 | + v-model="formData.ebccode" |
| 150 | - > | 78 | + clearable |
| 151 | - <el-input | 79 | + placeholder="" |
| 152 | - name="consignmentCode-textarea" | 80 | + ></el-input> |
| 153 | - type="textarea" | ||
| 154 | - :rows="5" | ||
| 155 | - id="popoverInputconsignmentCode" | ||
| 156 | - class="inputShadow textareaPopover" | ||
| 157 | - v-model="searchForm.consignmentCode" | ||
| 158 | - resize="none" | ||
| 159 | - maxlength="13000" | ||
| 160 | - placeholder="" | ||
| 161 | - @blur="textareaBlur" | ||
| 162 | - ></el-input> | ||
| 163 | - <el-input | ||
| 164 | - slot="reference" | ||
| 165 | - name="consignmentCode" | ||
| 166 | - type="textarea" | ||
| 167 | - :rows="1" | ||
| 168 | - class="inputShadow" | ||
| 169 | - id="inputInner--consignmentCode" | ||
| 170 | - v-model="searchForm.consignmentCode" | ||
| 171 | - resize="none" | ||
| 172 | - placeholder="" | ||
| 173 | - @focus="textareaFocus" | ||
| 174 | - ></el-input> | ||
| 175 | - </el-popover> | ||
| 176 | </Formitem> | 81 | </Formitem> |
| 177 | </el-col> | 82 | </el-col> |
| 178 | - </el-row> | 83 | + <el-col :span="3"> |
| 179 | - <el-row> | 84 | + <Formitem label="电商企业" prop="ebcname"> |
| 180 | - <el-col :span="5"> | 85 | + <el-input |
| 181 | - <Formitem label="电商企业" prop="consignmentCode"> | 86 | + type="text" |
| 182 | - <el-popover | 87 | + class="inputShadow" |
| 183 | - placement="bottom" | 88 | + id="inputInner--ebcname" |
| 184 | - width="320" | 89 | + resize="none" |
| 185 | - trigger="manual" | 90 | + v-model="formData.ebcname" |
| 186 | - popper-class="popoverconsignmentCode" | 91 | + clearable |
| 187 | - v-model="textareaVisible.formItemconsignmentCode" | 92 | + placeholder="" |
| 188 | - > | 93 | + ></el-input> |
| 189 | - <el-input | ||
| 190 | - name="consignmentCode-textarea" | ||
| 191 | - type="textarea" | ||
| 192 | - :rows="5" | ||
| 193 | - id="popoverInputconsignmentCode" | ||
| 194 | - class="inputShadow textareaPopover" | ||
| 195 | - v-model="searchForm.consignmentCode" | ||
| 196 | - resize="none" | ||
| 197 | - maxlength="13000" | ||
| 198 | - placeholder="" | ||
| 199 | - @blur="textareaBlur" | ||
| 200 | - ></el-input> | ||
| 201 | - <el-input | ||
| 202 | - slot="reference" | ||
| 203 | - name="consignmentCode" | ||
| 204 | - type="textarea" | ||
| 205 | - :rows="1" | ||
| 206 | - class="inputShadow" | ||
| 207 | - id="inputInner--consignmentCode" | ||
| 208 | - v-model="searchForm.consignmentCode" | ||
| 209 | - resize="none" | ||
| 210 | - placeholder="" | ||
| 211 | - @focus="textareaFocus" | ||
| 212 | - ></el-input> | ||
| 213 | - </el-popover> | ||
| 214 | </Formitem> | 94 | </Formitem> |
| 215 | </el-col> | 95 | </el-col> |
| 216 | - | 96 | + <el-col :span="3"> |
| 217 | - <el-col :span="5"> | 97 | + <Formitem label="货款金额" prop="goodsValue"> |
| 218 | - <Formitem label="贷款金额" prop="consignmentCode"> | 98 | + <el-input |
| 219 | - <el-popover | 99 | + type="text" |
| 220 | - placement="bottom" | 100 | + class="inputShadow" |
| 221 | - width="320" | 101 | + id="inputInner--goodsValue" |
| 222 | - trigger="manual" | 102 | + resize="none" |
| 223 | - popper-class="popoverconsignmentCode" | 103 | + v-model="formData.goodsValue" |
| 224 | - v-model="textareaVisible.formItemconsignmentCode" | 104 | + clearable |
| 225 | - > | 105 | + placeholder="" |
| 226 | - <el-input | 106 | + ></el-input> |
| 227 | - name="consignmentCode-textarea" | ||
| 228 | - type="textarea" | ||
| 229 | - :rows="5" | ||
| 230 | - id="popoverInputconsignmentCode" | ||
| 231 | - class="inputShadow textareaPopover" | ||
| 232 | - v-model="searchForm.consignmentCode" | ||
| 233 | - resize="none" | ||
| 234 | - maxlength="13000" | ||
| 235 | - placeholder="" | ||
| 236 | - @blur="textareaBlur" | ||
| 237 | - ></el-input> | ||
| 238 | - <el-input | ||
| 239 | - slot="reference" | ||
| 240 | - name="consignmentCode" | ||
| 241 | - type="textarea" | ||
| 242 | - :rows="1" | ||
| 243 | - class="inputShadow" | ||
| 244 | - id="inputInner--consignmentCode" | ||
| 245 | - v-model="searchForm.consignmentCode" | ||
| 246 | - resize="none" | ||
| 247 | - placeholder="" | ||
| 248 | - @focus="textareaFocus" | ||
| 249 | - ></el-input> | ||
| 250 | - </el-popover> | ||
| 251 | </Formitem> | 107 | </Formitem> |
| 252 | </el-col> | 108 | </el-col> |
| 253 | - | 109 | + </el-row> |
| 254 | - <el-col :span="5"> | 110 | + <el-row :gutter="5"> |
| 255 | - <Formitem label="运杂费" prop="consignmentCode"> | 111 | + <el-col :span="3"> |
| 256 | - <el-popover | 112 | + <Formitem label="运杂费" prop="freight"> |
| 257 | - placement="bottom" | 113 | + <el-input |
| 258 | - width="320" | 114 | + type="text" |
| 259 | - trigger="manual" | 115 | + class="inputShadow" |
| 260 | - popper-class="popoverconsignmentCode" | 116 | + id="inputInner--freight" |
| 261 | - v-model="textareaVisible.formItemconsignmentCode" | 117 | + resize="none" |
| 262 | - > | 118 | + v-model="formData.freight" |
| 263 | - <el-input | 119 | + clearable |
| 264 | - name="consignmentCode-textarea" | 120 | + placeholder="" |
| 265 | - type="textarea" | 121 | + ></el-input> |
| 266 | - :rows="5" | ||
| 267 | - id="popoverInputconsignmentCode" | ||
| 268 | - class="inputShadow textareaPopover" | ||
| 269 | - v-model="searchForm.consignmentCode" | ||
| 270 | - resize="none" | ||
| 271 | - maxlength="13000" | ||
| 272 | - placeholder="" | ||
| 273 | - @blur="textareaBlur" | ||
| 274 | - ></el-input> | ||
| 275 | - <el-input | ||
| 276 | - slot="reference" | ||
| 277 | - name="consignmentCode" | ||
| 278 | - type="textarea" | ||
| 279 | - :rows="1" | ||
| 280 | - class="inputShadow" | ||
| 281 | - id="inputInner--consignmentCode" | ||
| 282 | - v-model="searchForm.consignmentCode" | ||
| 283 | - resize="none" | ||
| 284 | - placeholder="" | ||
| 285 | - @focus="textareaFocus" | ||
| 286 | - ></el-input> | ||
| 287 | - </el-popover> | ||
| 288 | </Formitem> | 122 | </Formitem> |
| 289 | </el-col> | 123 | </el-col> |
| 290 | - | 124 | + <el-col :span="3"> |
| 291 | - <el-col :span="4"> | 125 | + <Formitem label="币制" prop="currency"> |
| 292 | - <Formitem label="币别" prop="factoryCode"> | 126 | + <el-input |
| 293 | - <el-select | ||
| 294 | type="text" | 127 | type="text" |
| 295 | - id="inputInner--declaredPort" | 128 | + class="inputShadow" |
| 296 | - v-model="searchForm.declaredPort" | 129 | + id="inputInner--currency" |
| 130 | + resize="none" | ||
| 131 | + v-model="formData.currency" | ||
| 297 | clearable | 132 | clearable |
| 298 | placeholder="" | 133 | placeholder="" |
| 299 | - > | 134 | + ></el-input> |
| 300 | - <el-option | ||
| 301 | - v-for="(item, index) in dictData.userport" | ||
| 302 | - :key="index" | ||
| 303 | - :label="item.name" | ||
| 304 | - :value="item.name" | ||
| 305 | - ></el-option> | ||
| 306 | - </el-select> | ||
| 307 | </Formitem> | 135 | </Formitem> |
| 308 | </el-col> | 136 | </el-col> |
| 309 | - | 137 | + <!-- <el-col :span="3"> |
| 310 | - <el-col :span="5"> | 138 | + <Formitem label="业务状态" prop="returnStatus"> |
| 311 | - <Formitem label="业务状态" prop="consignmentCode"> | 139 | + <el-input |
| 312 | - <el-popover | 140 | + type="text" |
| 313 | - placement="bottom" | 141 | + class="inputShadow" |
| 314 | - width="320" | 142 | + id="inputInner--returnStatus" |
| 315 | - trigger="manual" | 143 | + resize="none" |
| 316 | - popper-class="popoverconsignmentCode" | 144 | + v-model="formData.returnStatus" |
| 317 | - v-model="textareaVisible.formItemconsignmentCode" | 145 | + clearable |
| 318 | - > | 146 | + placeholder="" |
| 319 | - <el-input | 147 | + ></el-input> |
| 320 | - name="consignmentCode-textarea" | ||
| 321 | - type="textarea" | ||
| 322 | - :rows="5" | ||
| 323 | - id="popoverInputconsignmentCode" | ||
| 324 | - class="inputShadow textareaPopover" | ||
| 325 | - v-model="searchForm.consignmentCode" | ||
| 326 | - resize="none" | ||
| 327 | - maxlength="13000" | ||
| 328 | - placeholder="" | ||
| 329 | - @blur="textareaBlur" | ||
| 330 | - ></el-input> | ||
| 331 | - <el-input | ||
| 332 | - slot="reference" | ||
| 333 | - name="consignmentCode" | ||
| 334 | - type="textarea" | ||
| 335 | - :rows="1" | ||
| 336 | - class="inputShadow" | ||
| 337 | - id="inputInner--consignmentCode" | ||
| 338 | - v-model="searchForm.consignmentCode" | ||
| 339 | - resize="none" | ||
| 340 | - placeholder="" | ||
| 341 | - @focus="textareaFocus" | ||
| 342 | - ></el-input> | ||
| 343 | - </el-popover> | ||
| 344 | </Formitem> | 148 | </Formitem> |
| 345 | - </el-col> | 149 | + </el-col> --> |
| 346 | - </el-row> | 150 | + <el-col :span="3"> |
| 347 | - <el-row> | 151 | + <Formitem label="申报类型" prop="appType"> |
| 348 | - <el-col :span="4"> | 152 | + <el-input |
| 349 | - <Formitem label="申报类型" prop="factoryCode"> | ||
| 350 | - <el-select | ||
| 351 | type="text" | 153 | type="text" |
| 352 | - id="inputInner--declaredPort" | 154 | + class="inputShadow" |
| 353 | - v-model="searchForm.declaredPort" | 155 | + id="inputInner--appType" |
| 156 | + resize="none" | ||
| 157 | + v-model="formData.appType" | ||
| 354 | clearable | 158 | clearable |
| 355 | placeholder="" | 159 | placeholder="" |
| 356 | - > | 160 | + ></el-input> |
| 357 | - <el-option | ||
| 358 | - v-for="(item, index) in dictData.userport" | ||
| 359 | - :key="index" | ||
| 360 | - :label="item.name" | ||
| 361 | - :value="item.name" | ||
| 362 | - ></el-option> | ||
| 363 | - </el-select> | ||
| 364 | </Formitem> | 161 | </Formitem> |
| 365 | </el-col> | 162 | </el-col> |
| 366 | - <el-col :span="4"> | 163 | + <el-col :span="3"> |
| 367 | - <Formitem label="申报日期" prop="declareDate"> | 164 | + <Formitem label="申报日期" prop="appTime"> |
| 368 | - <el-date-picker | 165 | + <el-input |
| 369 | - v-model="value1" | 166 | + type="text" |
| 370 | - type="date" | 167 | + class="inputShadow" |
| 371 | - placeholder="选择日期"> | 168 | + id="inputInner--appTime" |
| 372 | - </el-date-picker> | 169 | + resize="none" |
| 170 | + v-model="formData.appTime" | ||
| 171 | + clearable | ||
| 172 | + placeholder="" | ||
| 173 | + ></el-input> | ||
| 373 | </Formitem> | 174 | </Formitem> |
| 374 | </el-col> | 175 | </el-col> |
| 375 | - <el-col :span="5"> | 176 | + <el-col :span="12"> |
| 376 | - <Formitem label="备注" prop="consignmentCode"> | 177 | + <Formitem label="备注" prop="note"> |
| 377 | - <el-popover | 178 | + <el-input |
| 378 | - placement="bottom" | 179 | + type="text" |
| 379 | - width="320" | 180 | + class="inputShadow" |
| 380 | - trigger="manual" | 181 | + id="inputInner--note" |
| 381 | - popper-class="popoverconsignmentCode" | 182 | + resize="none" |
| 382 | - v-model="textareaVisible.formItemconsignmentCode" | 183 | + v-model="formData.note" |
| 383 | - > | 184 | + clearable |
| 384 | - <el-input | 185 | + placeholder="" |
| 385 | - name="consignmentCode-textarea" | 186 | + ></el-input> |
| 386 | - type="textarea" | ||
| 387 | - :rows="5" | ||
| 388 | - id="popoverInputconsignmentCode" | ||
| 389 | - class="inputShadow textareaPopover" | ||
| 390 | - v-model="searchForm.consignmentCode" | ||
| 391 | - resize="none" | ||
| 392 | - maxlength="13000" | ||
| 393 | - placeholder="" | ||
| 394 | - @blur="textareaBlur" | ||
| 395 | - ></el-input> | ||
| 396 | - <el-input | ||
| 397 | - slot="reference" | ||
| 398 | - name="consignmentCode" | ||
| 399 | - type="textarea" | ||
| 400 | - :rows="1" | ||
| 401 | - class="inputShadow" | ||
| 402 | - id="inputInner--consignmentCode" | ||
| 403 | - v-model="searchForm.consignmentCode" | ||
| 404 | - resize="none" | ||
| 405 | - placeholder="" | ||
| 406 | - @focus="textareaFocus" | ||
| 407 | - ></el-input> | ||
| 408 | - </el-popover> | ||
| 409 | </Formitem> | 187 | </Formitem> |
| 410 | </el-col> | 188 | </el-col> |
| 411 | </el-row> | 189 | </el-row> |
| 412 | </el-form> | 190 | </el-form> |
| 413 | - | 191 | + <div |
| 414 | - <h5>回执信息</h5> | 192 | + :class="{ entryTitle: true, titleBorder: logtableType ? false : true }" |
| 415 | - <ReceiptInfoTable /> | 193 | + style="margin-top: 10px" |
| 416 | - | 194 | + > |
| 417 | - <h5>商品明细</h5> | 195 | + <div> |
| 418 | - <ProductDetailTable /> | 196 | + 回执信息 |
| 197 | + <el-button type="text" @click="hiddenLogTable"> | ||
| 198 | + <svg-icon v-if="logtableType" icon-class="downIcon"></svg-icon> | ||
| 199 | + <svg-icon v-else icon-class="upIcon"></svg-icon> | ||
| 200 | + </el-button> | ||
| 201 | + </div> | ||
| 202 | + </div> | ||
| 203 | + <ReceiptInfoTable | ||
| 204 | + v-if="logtableType" | ||
| 205 | + :tableData="logData" | ||
| 206 | + :headerData="logHeaderData" | ||
| 207 | + /> | ||
| 208 | + <div class="entryTitle" style="margin-top: 10px">商品明细</div> | ||
| 209 | + <ProductDetailTable | ||
| 210 | + :tableData="detailData" | ||
| 211 | + :bodyHeader="detialHeaderData" | ||
| 212 | + /> | ||
| 213 | + <div style="margin-bottom: 20px; text-align: center"></div> | ||
| 419 | </div> | 214 | </div> |
| 420 | </template> | 215 | </template> |
| 421 | 216 | ||
| 422 | <script> | 217 | <script> |
| 423 | -import ReceiptInfoTable from "@/components/ReceiptInfoTable/index.vue"; | 218 | +import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue"; |
| 424 | -import ProductDetailTable from "@/components/ProductDetailTable/index.vue"; | 219 | +import ProductDetailTable from "../components/ProductDetailTable/index.vue"; |
| 425 | - | 220 | +import { getOrderDetailData } from "@/api/exportDetail-api.js"; |
| 426 | export default { | 221 | export default { |
| 427 | name: "index.vue", | 222 | name: "index.vue", |
| 428 | - components: {ProductDetailTable, ReceiptInfoTable}, | 223 | + components: { ProductDetailTable, ReceiptInfoTable }, |
| 429 | data() { | 224 | data() { |
| 430 | return { | 225 | return { |
| 431 | - searchForm: { | 226 | + id: null, |
| 432 | - declaredPort: "", | 227 | + formData: {}, |
| 433 | - consStatus: "", | 228 | + logData: [], |
| 434 | - consignmentCode: "", | 229 | + logHeaderData: [ |
| 435 | - accsDataImportTime: [], | 230 | + { |
| 436 | - ownerName: "", | 231 | + name: "回执状态", |
| 437 | - consignmentHeadCode: "", | 232 | + value: "returnStatus", |
| 438 | - isPushCustomsSys: "", | 233 | + width: "200", |
| 439 | - waitOperStatus: "", | 234 | + align: "left", |
| 440 | - declTime: [], | 235 | + }, |
| 441 | - }, | 236 | + { |
| 442 | - textareaVisible: { | 237 | + name: "状态时间", |
| 443 | - formItemconsignmentCode: false, | 238 | + value: "returnTime", |
| 444 | - formItemconsignmentHeadCode: false, | 239 | + width: "400", |
| 445 | - }, | 240 | + align: "left", |
| 446 | - dictData: { | 241 | + }, |
| 447 | - userport: [ | 242 | + { |
| 448 | - {name: "Shanghai Port", code: "SH"}, | 243 | + name: "回执描述", |
| 449 | - {name: "Beijing Port", code: "BJ"}, | 244 | + value: "returnInfo", |
| 450 | - {name: "Guangzhou Port", code: "GZ"}, | 245 | + width: "", |
| 451 | - {name: "Shenzhen Port", code: "SZ"}, | 246 | + align: "left", |
| 452 | - {name: "Tianjin Port", code: "TJ"}, | 247 | + }, |
| 453 | - ], | 248 | + ], |
| 249 | + detailData: [], | ||
| 250 | + detialHeaderData: [ | ||
| 251 | + { | ||
| 252 | + name: "企业商品货号", | ||
| 253 | + value: "", | ||
| 254 | + width: "", | ||
| 255 | + align: "left", | ||
| 256 | + }, | ||
| 257 | + { | ||
| 258 | + name: "商品企业商品名称", | ||
| 259 | + value: "", | ||
| 260 | + width: "", | ||
| 261 | + align: "left", | ||
| 262 | + }, | ||
| 263 | + { | ||
| 264 | + name: "企业商品描述", | ||
| 265 | + value: "", | ||
| 266 | + width: "", | ||
| 267 | + align: "left", | ||
| 268 | + }, | ||
| 269 | + { | ||
| 270 | + name: "条码", | ||
| 271 | + value: "", | ||
| 272 | + width: "", | ||
| 273 | + align: "left", | ||
| 274 | + }, | ||
| 275 | + { | ||
| 276 | + name: "计量单位", | ||
| 277 | + value: "", | ||
| 278 | + width: "", | ||
| 279 | + align: "left", | ||
| 280 | + }, | ||
| 281 | + { | ||
| 282 | + name: "币制", | ||
| 283 | + value: "", | ||
| 284 | + width: "", | ||
| 285 | + align: "left", | ||
| 286 | + }, | ||
| 287 | + { | ||
| 288 | + name: "数量", | ||
| 289 | + value: "", | ||
| 290 | + width: "", | ||
| 291 | + align: "left", | ||
| 292 | + }, | ||
| 293 | + { | ||
| 294 | + name: "单价", | ||
| 295 | + value: "", | ||
| 296 | + width: "", | ||
| 297 | + align: "left", | ||
| 298 | + }, | ||
| 299 | + { | ||
| 300 | + name: "总价", | ||
| 301 | + value: "", | ||
| 302 | + width: "", | ||
| 303 | + align: "left", | ||
| 304 | + }, | ||
| 305 | + { | ||
| 306 | + name: "备注", | ||
| 307 | + value: "", | ||
| 308 | + width: "", | ||
| 309 | + align: "left", | ||
| 310 | + }, | ||
| 311 | + ], | ||
| 312 | + loadings: { | ||
| 313 | + entryLoading: false, | ||
| 454 | }, | 314 | }, |
| 315 | + logtableType: true, | ||
| 316 | + }; | ||
| 317 | + }, | ||
| 318 | + created() { | ||
| 319 | + if (this.$route.params.data) { | ||
| 320 | + this.id = this.$route.params.data.id; | ||
| 321 | + this.searchData(); | ||
| 322 | + } else { | ||
| 323 | + this.back(); | ||
| 455 | } | 324 | } |
| 456 | }, | 325 | }, |
| 457 | methods: { | 326 | methods: { |
| 458 | - textareaBlur(val) { | 327 | + searchData() { |
| 459 | - let inputInner = document.querySelector( | 328 | + this.loadings.entryLoading = true; |
| 460 | - "#inputInner--" + val.target.name.split("-")[0] | 329 | + getOrderDetailData({ orderId: this.id }) |
| 461 | - ); | 330 | + .then((res) => { |
| 462 | - this.textareaVisible["formItem" + val.target.name.split("-")[0]] = false; | 331 | + if (res.code === "200") { |
| 463 | - inputInner.style.display = "block"; | 332 | + this.formData = res.data.exportOrder; |
| 464 | - this.$nextTick(() => { | 333 | + this.detailData = res.data.exportOrderProductList; |
| 465 | - inputInner.blur(); | 334 | + this.logData = res.data.exportOrderReceiptList; |
| 466 | - if ( | 335 | + this.detailData.forEach((item, idx) => { |
| 467 | - inputInner.value != undefined && | 336 | + item.index = idx; |
| 468 | - inputInner.value != "" && | 337 | + }); |
| 469 | - inputInner.value != null | 338 | + } else { |
| 470 | - ) { | 339 | + this.alertWarningMsg(res.message); |
| 471 | - inputInner.classList.add("inputFocus"); | ||
| 472 | - } else { | ||
| 473 | - inputInner.classList.remove("inputFocus"); | ||
| 474 | - } | ||
| 475 | - }); | ||
| 476 | - let arr = []; | ||
| 477 | - this.searchForm[val.target.name.split("-")[0]] | ||
| 478 | - .replace(/[\n\,\;\;]/g, ",") | ||
| 479 | - .replace(/[\t]/g, "") | ||
| 480 | - .split(",") | ||
| 481 | - .forEach((str, index) => { | ||
| 482 | - if (str != null && str != "" && index <= 1000) { | ||
| 483 | - arr.push(str.trim()); | ||
| 484 | } | 340 | } |
| 341 | + this.loadings.entryLoading = false; | ||
| 342 | + }) | ||
| 343 | + .catch((err) => { | ||
| 344 | + console.log(err); | ||
| 345 | + this.loadings.entryLoading = false; | ||
| 485 | }); | 346 | }); |
| 486 | - this.searchForm[val.target.name.split("-")[0]] = arr.join("\n"); | ||
| 487 | - this.$forceUpdate(); | ||
| 488 | }, | 347 | }, |
| 489 | - //文本域展示状态切换 | 348 | + searchLogData() {}, |
| 490 | - textareaFocus(val) { | 349 | + hiddenLogTable() { |
| 491 | - this.textareaVisible["formItem" + val.target.name.split("-")[0]] = true; | 350 | + this.logtableType = !this.logtableType; |
| 492 | - this.$nextTick(() => { | ||
| 493 | - document | ||
| 494 | - .querySelector("#popoverInput" + val.target.name.split("-")[0]) | ||
| 495 | - .focus(); | ||
| 496 | - document.querySelector( | ||
| 497 | - "#inputInner--" + val.target.name.split("-")[0] | ||
| 498 | - ).style.display = "none"; | ||
| 499 | - }); | ||
| 500 | }, | 351 | }, |
| 501 | - } | 352 | + back() { |
| 502 | -} | 353 | + this.$router.go(-1); |
| 354 | + }, | ||
| 355 | + }, | ||
| 356 | +}; | ||
| 503 | </script> | 357 | </script> |
| 504 | 358 | ||
| 505 | <style scoped lang="scss"> | 359 | <style scoped lang="scss"> |
| 506 | -.export-bill-detail { | 360 | +.entry { |
| 507 | - background-color: white; | 361 | + width: 100%; |
| 508 | - padding-left: 20px; | ||
| 509 | - //border: 1px solid black; | ||
| 510 | height: 100%; | 362 | height: 100%; |
| 511 | - .fedexFormItem { | 363 | + padding: 10px; |
| 512 | - background-color: #f5f5f5; | 364 | + background-color: #fff; |
| 513 | - margin-right: 5px; | 365 | + overflow: auto; |
| 514 | - margin-bottom: 5px; | 366 | + |
| 515 | - } | 367 | + .entryInformation { |
| 516 | - .fedexformSreach { | 368 | + width: 100%; |
| 517 | - border-bottom: none; | 369 | + height: 100%; |
| 518 | } | 370 | } |
| 519 | - .first-header { | 371 | + |
| 520 | - margin-top: 0; | 372 | + .entryTitle { |
| 521 | - padding-top: 20px; | ||
| 522 | display: flex; | 373 | display: flex; |
| 523 | justify-content: space-between; | 374 | justify-content: space-between; |
| 524 | - position: relative; | 375 | + font-weight: 600; |
| 525 | - .returnButton { | 376 | + font-weight: 16px; |
| 526 | - font-size: 14px; | 377 | + color: #000; |
| 527 | - color: red; | 378 | + margin-bottom: 10px; |
| 528 | - position: absolute; | 379 | + } |
| 529 | - right: 0; | 380 | + |
| 530 | - top: 0px; | 381 | + .titleBorder { |
| 531 | - width: 80px; | 382 | + border-bottom: 1px solid #333; |
| 532 | - height: 30px; | ||
| 533 | - line-height: 30px; | ||
| 534 | - text-align: center; | ||
| 535 | - background-color: white; | ||
| 536 | - border-radius: 5px; | ||
| 537 | - margin-right: 20px; | ||
| 538 | - margin-top: 20px; | ||
| 539 | - cursor: pointer; | ||
| 540 | - border: 1px solid red; | ||
| 541 | - } | ||
| 542 | } | 383 | } |
| 543 | } | 384 | } |
| 544 | </style> | 385 | </style> | ... | ... |
| ... | @@ -174,7 +174,9 @@ | ... | @@ -174,7 +174,9 @@ |
| 174 | <span>{{ scope.row.returnStatus }}</span> | 174 | <span>{{ scope.row.returnStatus }}</span> |
| 175 | </template> | 175 | </template> |
| 176 | <template v-slot:orderNo="scope"> | 176 | <template v-slot:orderNo="scope"> |
| 177 | - <el-button type="text">{{ scope.row.orderNo }}</el-button> | 177 | + <el-button type="text" @click="view(scope.row)">{{ |
| 178 | + scope.row.orderNo | ||
| 179 | + }}</el-button> | ||
| 178 | </template> | 180 | </template> |
| 179 | </Table> | 181 | </Table> |
| 180 | </div> | 182 | </div> |
| ... | @@ -325,6 +327,13 @@ export default { | ... | @@ -325,6 +327,13 @@ export default { |
| 325 | }, | 327 | }, |
| 326 | //导出 | 328 | //导出 |
| 327 | downloadData() {}, | 329 | downloadData() {}, |
| 330 | + //查询详情 | ||
| 331 | + view(val) { | ||
| 332 | + this.$router.push({ | ||
| 333 | + name: "ExportBillDetail", | ||
| 334 | + params: { data: val }, | ||
| 335 | + }); | ||
| 336 | + }, | ||
| 328 | //文本域展示状态切换 | 337 | //文本域展示状态切换 |
| 329 | textareaFocus(val) { | 338 | textareaFocus(val) { |
| 330 | this.textareaVisible["formItem" + val.target.name.split("-")[0]] = true; | 339 | this.textareaVisible["formItem" + val.target.name.split("-")[0]] = true; | ... | ... |
| ... | @@ -1309,8 +1309,8 @@ | ... | @@ -1309,8 +1309,8 @@ |
| 1309 | </template> | 1309 | </template> |
| 1310 | 1310 | ||
| 1311 | <script> | 1311 | <script> |
| 1312 | -import ReceiptInfoTable from "@/components/ReceiptInfoTable/index.vue"; | 1312 | +import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue"; |
| 1313 | -import ProductDetailTable from "@/components/ProductDetailTable/index.vue"; | 1313 | +import ProductDetailTable from "../components/ProductDetailTable/index.vue"; |
| 1314 | 1314 | ||
| 1315 | export default { | 1315 | export default { |
| 1316 | name: "exportTransportDetail.vue", | 1316 | name: "exportTransportDetail.vue", | ... | ... |
| ... | @@ -290,7 +290,6 @@ | ... | @@ -290,7 +290,6 @@ |
| 290 | </template> | 290 | </template> |
| 291 | 291 | ||
| 292 | <script> | 292 | <script> |
| 293 | -import {getAllExportingBills, getAllListBills} from "@/api/query/query"; | ||
| 294 | import PopoverTextarea from "@/components/PopoverTextarea/index.vue"; | 293 | import PopoverTextarea from "@/components/PopoverTextarea/index.vue"; |
| 295 | 294 | ||
| 296 | export default { | 295 | export default { |
| ... | @@ -395,15 +394,6 @@ export default { | ... | @@ -395,15 +394,6 @@ export default { |
| 395 | } | 394 | } |
| 396 | }, | 395 | }, |
| 397 | created() { | 396 | created() { |
| 398 | - getAllListBills({ | ||
| 399 | - pageIndex: 1, | ||
| 400 | - pageSize: 20 | ||
| 401 | - }).then((res) => { | ||
| 402 | - console.log('res', res) | ||
| 403 | - this.tableData = res.data.value; | ||
| 404 | - this.total = res.data.totalItems; | ||
| 405 | - debugger; | ||
| 406 | - }) | ||
| 407 | }, | 397 | }, |
| 408 | methods: { | 398 | methods: { |
| 409 | input() { | 399 | input() { | ... | ... |
| ... | @@ -417,8 +417,8 @@ | ... | @@ -417,8 +417,8 @@ |
| 417 | </template> | 417 | </template> |
| 418 | 418 | ||
| 419 | <script> | 419 | <script> |
| 420 | -import ReceiptInfoTable from "@/components/ReceiptInfoTable/index.vue"; | 420 | +import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue"; |
| 421 | -import ProductDetailTable from "@/components/ProductDetailTable/index.vue"; | 421 | +import ProductDetailTable from "../components/ProductDetailTable/index.vue"; |
| 422 | 422 | ||
| 423 | export default { | 423 | export default { |
| 424 | name: "exportTransportDetail.vue", | 424 | name: "exportTransportDetail.vue", | ... | ... |
| ... | @@ -584,8 +584,8 @@ | ... | @@ -584,8 +584,8 @@ |
| 584 | </template> | 584 | </template> |
| 585 | 585 | ||
| 586 | <script> | 586 | <script> |
| 587 | -import ReceiptInfoTable from "@/components/ReceiptInfoTable/index.vue"; | 587 | +import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue"; |
| 588 | -import ProductDetailTable from "@/components/ProductDetailTable/index.vue"; | 588 | +import ProductDetailTable from "../components/ProductDetailTable/index.vue"; |
| 589 | 589 | ||
| 590 | export default { | 590 | export default { |
| 591 | name: "index.vue", | 591 | name: "index.vue", | ... | ... |
| ... | @@ -154,7 +154,6 @@ | ... | @@ -154,7 +154,6 @@ |
| 154 | </template> | 154 | </template> |
| 155 | 155 | ||
| 156 | <script> | 156 | <script> |
| 157 | -import {getAllExportingBills, getAllTransportBills} from "@/api/query/query"; | ||
| 158 | 157 | ||
| 159 | export default { | 158 | export default { |
| 160 | name: "index", | 159 | name: "index", |
| ... | @@ -256,15 +255,6 @@ export default { | ... | @@ -256,15 +255,6 @@ export default { |
| 256 | } | 255 | } |
| 257 | }, | 256 | }, |
| 258 | created() { | 257 | created() { |
| 259 | - getAllTransportBills({ | ||
| 260 | - pageIndex: 1, | ||
| 261 | - pageSize: 20 | ||
| 262 | - }).then((res) => { | ||
| 263 | - console.log('res', res) | ||
| 264 | - this.tableData = res.data.value; | ||
| 265 | - this.total = res.data.totalItems; | ||
| 266 | - debugger; | ||
| 267 | - }) | ||
| 268 | }, | 258 | }, |
| 269 | methods: { | 259 | methods: { |
| 270 | tableSelect(val) { | 260 | tableSelect(val) { | ... | ... |
| ... | @@ -489,8 +489,8 @@ | ... | @@ -489,8 +489,8 @@ |
| 489 | </template> | 489 | </template> |
| 490 | 490 | ||
| 491 | <script> | 491 | <script> |
| 492 | -import ReceiptInfoTable from "@/components/ReceiptInfoTable/index.vue"; | 492 | +import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue"; |
| 493 | -import ProductDetailTable from "@/components/ProductDetailTable/index.vue"; | 493 | +import ProductDetailTable from "../components/ProductDetailTable/index.vue"; |
| 494 | 494 | ||
| 495 | export default { | 495 | export default { |
| 496 | name: "index.vue", | 496 | name: "index.vue", | ... | ... |
src/views/passwordIpConfig/index.vue
0 → 100644
File mode changed
src/views/portConfig/index.vue
0 → 100644
File mode changed
| ... | @@ -205,7 +205,6 @@ | ... | @@ -205,7 +205,6 @@ |
| 205 | split-button | 205 | split-button |
| 206 | type="primary" | 206 | type="primary" |
| 207 | v-loading="loadings.dropDownLoading" | 207 | v-loading="loadings.dropDownLoading" |
| 208 | - :disabled="selected.length == 0" | ||
| 209 | @command="dropdownChange" | 208 | @command="dropdownChange" |
| 210 | @click="declareData" | 209 | @click="declareData" |
| 211 | > | 210 | > |
| ... | @@ -220,7 +219,7 @@ | ... | @@ -220,7 +219,7 @@ |
| 220 | > | 219 | > |
| 221 | <el-dropdown-item | 220 | <el-dropdown-item |
| 222 | :command="{ code: 'order', name: '订单申报' }" | 221 | :command="{ code: 'order', name: '订单申报' }" |
| 223 | - ></el-dropdown-item> | 222 | + >订单申报</el-dropdown-item> |
| 224 | <el-dropdown-item :command="{ code: 'waybill', name: '物流单申报' }" | 223 | <el-dropdown-item :command="{ code: 'waybill', name: '物流单申报' }" |
| 225 | >物流单申报</el-dropdown-item | 224 | >物流单申报</el-dropdown-item |
| 226 | > | 225 | > |
| ... | @@ -565,7 +564,8 @@ export default { | ... | @@ -565,7 +564,8 @@ export default { |
| 565 | downloadData() {}, | 564 | downloadData() {}, |
| 566 | //申报 | 565 | //申报 |
| 567 | declareData() { | 566 | declareData() { |
| 568 | - this.loadings.dropDownLoading = true; | 567 | + if(this.selected.length > 0){ |
| 568 | + this.loadings.dropDownLoading = true; | ||
| 569 | let obj = { | 569 | let obj = { |
| 570 | declareIds: [], | 570 | declareIds: [], |
| 571 | type: this.dropdownCode, | 571 | type: this.dropdownCode, |
| ... | @@ -586,6 +586,9 @@ export default { | ... | @@ -586,6 +586,9 @@ export default { |
| 586 | console.log(err); | 586 | console.log(err); |
| 587 | this.loadings.dropDownLoading = false; | 587 | this.loadings.dropDownLoading = false; |
| 588 | }); | 588 | }); |
| 589 | + }else{ | ||
| 590 | + this.alertWarningMsg('请选择数据!') | ||
| 591 | + } | ||
| 589 | }, | 592 | }, |
| 590 | //切换申报模式 | 593 | //切换申报模式 |
| 591 | dropdownChange(val) { | 594 | dropdownChange(val) { | ... | ... |
src/views/roleConfig/index.vue
0 → 100644
File mode changed
src/views/userConfig/index.vue
0 → 100644
File mode changed
src/views/userRoleConfig/index.vue
0 → 100644
File mode changed
-
Please register or login to post a comment