Showing
15 changed files
with
449 additions
and
70 deletions
| ... | @@ -5,7 +5,7 @@ VUE_APP_BASE_ENV = "dev" | ... | @@ -5,7 +5,7 @@ VUE_APP_BASE_ENV = "dev" |
| 5 | 5 | ||
| 6 | VUE_APP_Version = '1.0.0' | 6 | VUE_APP_Version = '1.0.0' |
| 7 | 7 | ||
| 8 | -VUE_APP_BASE_URL = 'http://101.132.100.41:7001/EcomExp' | 8 | +VUE_APP_BASE_URL = 'http://101.132.100.41:7008/EcomExp' |
| 9 | # FedEx 在线申报工具/开发环境 | 9 | # FedEx 在线申报工具/开发环境 |
| 10 | # http://101.132.100.41:7001/EcomExp | 10 | # http://101.132.100.41:7001/EcomExp |
| 11 | VUE_APP_BASE_API = /EcomExp | 11 | VUE_APP_BASE_API = /EcomExp | ... | ... |
src/api/config-management.js
0 → 100644
| 1 | +import request from "@/utils/request"; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * @description 获取配置 | ||
| 5 | + * @param {Object} data | ||
| 6 | + * @method GET | ||
| 7 | + */ | ||
| 8 | +export function getConfigList(data) { | ||
| 9 | + return request({ | ||
| 10 | + url: "/bus-customer/sysConfigCenter/getConfigList", | ||
| 11 | + method: "post", | ||
| 12 | + data, | ||
| 13 | + }); | ||
| 14 | +} | ||
| 15 | + | ||
| 16 | +/** | ||
| 17 | + * @description 刷新配置 | ||
| 18 | + * */ | ||
| 19 | +export function refreshConfig(data) { | ||
| 20 | + return request({ | ||
| 21 | + url: `/bus-customer/sysConfigCenter/refreshConfig/${data.id}`, | ||
| 22 | + method: "get", | ||
| 23 | + }); | ||
| 24 | +} | ||
| 25 | + | ||
| 26 | +/** | ||
| 27 | + * @description 添加配置 | ||
| 28 | + * @param {Object} data | ||
| 29 | + * @method POST | ||
| 30 | + */ | ||
| 31 | +export function addConfig(data) { | ||
| 32 | + return request({ | ||
| 33 | + url: "/bus-customer/sysConfigCenter/addConfig", | ||
| 34 | + method: "post", | ||
| 35 | + data, | ||
| 36 | + }); | ||
| 37 | +} | ||
| 38 | + | ||
| 39 | +/** | ||
| 40 | + * @description 修改配置 | ||
| 41 | + * @param {Object} data | ||
| 42 | + * @method POST | ||
| 43 | + */ | ||
| 44 | +export function updateConfig(data) { | ||
| 45 | + return request({ | ||
| 46 | + url: "/bus-customer/sysConfigCenter/updateConfig", | ||
| 47 | + method: "post", | ||
| 48 | + data, | ||
| 49 | + }); | ||
| 50 | +} |
| ... | @@ -47,6 +47,21 @@ export function declareDataUpload(data) { | ... | @@ -47,6 +47,21 @@ export function declareDataUpload(data) { |
| 47 | data: { | 47 | data: { |
| 48 | cancellationReason: data.cancellationReason, | 48 | cancellationReason: data.cancellationReason, |
| 49 | declareIds: data.declareIds, | 49 | declareIds: data.declareIds, |
| 50 | + changeFlag: data?.changeFlag || false, | ||
| 51 | + }, | ||
| 52 | + }); | ||
| 53 | +} | ||
| 54 | +// 删单deleteFlag:true,note:删单原因 | ||
| 55 | +// 变更changeFlag:true | ||
| 56 | +export function declareDataUploadNew(data) { | ||
| 57 | + return request({ | ||
| 58 | + url: "/bus-customer/declareData/" + data.type, | ||
| 59 | + method: "post", | ||
| 60 | + data: { | ||
| 61 | + declareIds: data.declareIds, //申报id | ||
| 62 | + deleteFlag: data?.deleteFlag || false, // 是否删单 | ||
| 63 | + changeFlag: data?.changeFlag || false, | ||
| 64 | + note: data.note || null, // 删单原因 | ||
| 50 | }, | 65 | }, |
| 51 | }); | 66 | }); |
| 52 | } | 67 | } | ... | ... |
| ... | @@ -51,3 +51,11 @@ export function getListInfo(logisticsNo) { | ... | @@ -51,3 +51,11 @@ export function getListInfo(logisticsNo) { |
| 51 | method: "get", | 51 | method: "get", |
| 52 | }); | 52 | }); |
| 53 | } | 53 | } |
| 54 | + | ||
| 55 | +// name 收发货人名称 搜索模拟回执汇总申报下拉信息 | ||
| 56 | +export function searchMockReceiptSummary(data) { | ||
| 57 | + return request({ | ||
| 58 | + url: `/bus-customer/mockReceipt/searchMockReceiptSummary?name=${data.name}`, | ||
| 59 | + method: "get", | ||
| 60 | + }); | ||
| 61 | +} | ... | ... |
src/assets/icons/svg/decChange.svg
0 → 100644
| 1 | +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763694170210" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3134" id="mx_n_1763694170211" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M682.666667 0a42.666667 42.666667 0 0 1 25.941333 8.789333l4.266667 3.712 207.061333 207.061334a64 64 0 0 1 18.432 38.954666l0.298667 6.314667V469.333333a42.666667 42.666667 0 0 1-85.034667 4.992L853.333333 469.333333v-128h-192a64 64 0 0 1-63.701333-57.856l-0.298667-6.144v-192h-426.666666v853.333334h256a42.666667 42.666667 0 0 1 42.325333 37.674666l0.298667 4.992a42.666667 42.666667 0 0 1-37.674667 42.368l-4.992 0.298667H149.333333a64 64 0 0 1-63.701333-57.856l-0.298667-6.144v-896a64 64 0 0 1 57.856-63.701333l6.144-0.298667H682.666667z m153.045333 256l-153.045333-152.96V256h153.045333z" fill="#191919" p-id="3135"></path><path d="M298.666667 341.333333m42.666666 0l128 0q42.666667 0 42.666667 42.666667l0 0q0 42.666667-42.666667 42.666667l-128 0q-42.666667 0-42.666666-42.666667l0 0q0-42.666667 42.666666-42.666667Z" fill="#191919" p-id="3136"></path><path d="M298.666667 512m42.666666 0l128 0q42.666667 0 42.666667 42.666667l0 0q0 42.666667-42.666667 42.666666l-128 0q-42.666667 0-42.666666-42.666666l0 0q0-42.666667 42.666666-42.666667Z" fill="#191919" p-id="3137"></path><path d="M298.666667 682.666667m42.666666 0l128 0q42.666667 0 42.666667 42.666666l0 0q0 42.666667-42.666667 42.666667l-128 0q-42.666667 0-42.666666-42.666667l0 0q0-42.666667 42.666666-42.666666Z" fill="#191919" p-id="3138"></path><path d="M828.970667 517.376a21.333333 21.333333 0 0 1 3.029333 10.965333v70.058667A213.333333 213.333333 0 1 1 597.333333 810.666667a38.826667 38.826667 0 1 1 77.568 0 135.765333 135.765333 0 1 0 157.141334-134.101334l-0.042667 32.426667a21.333333 21.333333 0 0 1-32.298667 18.304l-150.528-90.325333a21.333333 21.333333 0 0 1 0-36.608l150.528-90.325334a21.333333 21.333333 0 0 1 29.269334 7.338667z" fill="#191919" p-id="3139"></path></svg> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -81,7 +81,7 @@ export default { | ... | @@ -81,7 +81,7 @@ export default { |
| 81 | let inputInner = document.querySelector( | 81 | let inputInner = document.querySelector( |
| 82 | "#inputInner--" + this.dataKey | 82 | "#inputInner--" + this.dataKey |
| 83 | ); | 83 | ); |
| 84 | - inputInner.classList.remove("inputFocus"); | 84 | + inputInner?.classList.remove("inputFocus"); |
| 85 | } | 85 | } |
| 86 | }, | 86 | }, |
| 87 | deep: true, | 87 | deep: true, | ... | ... |
src/views/arrival-declare/deleteDialog.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <el-dialog | ||
| 3 | + class="entryDialog classCUploadDialog" | ||
| 4 | + title="清单总分单撤销" | ||
| 5 | + :visible.sync="cancelVisible" | ||
| 6 | + :show-close="false" | ||
| 7 | + width="60%" | ||
| 8 | + :close-on-click-modal="false" | ||
| 9 | + > | ||
| 10 | + <div> | ||
| 11 | + <el-form | ||
| 12 | + class="fedexFormStyle fedexFormStyle-textarea" | ||
| 13 | + ref="cancelForm" | ||
| 14 | + :model="cancelFormData" | ||
| 15 | + :rules="cancelFormRules" | ||
| 16 | + label-position="left" | ||
| 17 | + size="small" | ||
| 18 | + > | ||
| 19 | + <Formitem label="撤销原因" prop="note" type="edit"> | ||
| 20 | + <el-input | ||
| 21 | + type="textarea" | ||
| 22 | + class="inputShadow" | ||
| 23 | + resize="none" | ||
| 24 | + v-model="cancelFormData.note" | ||
| 25 | + clearable | ||
| 26 | + :autosize="{ minRows: 7, maxRows: 7 }" | ||
| 27 | + placeholder="请输入撤销原因" | ||
| 28 | + id="inputInner-edit-note" | ||
| 29 | + ></el-input> | ||
| 30 | + </Formitem> | ||
| 31 | + </el-form> | ||
| 32 | + </div> | ||
| 33 | + <div class="dialogOption entrySave revokeOperation"> | ||
| 34 | + <el-button | ||
| 35 | + class="entrySaveButton entrySaveButton-background revokeSubmitBtn" | ||
| 36 | + type="primary" | ||
| 37 | + @click="submitRevoke" | ||
| 38 | + > | ||
| 39 | + 提 交 | ||
| 40 | + </el-button> | ||
| 41 | + <el-button class="entrySaveButton" @click="cancelRevoke(false)"> | ||
| 42 | + 取 消 | ||
| 43 | + </el-button> | ||
| 44 | + </div> | ||
| 45 | + </el-dialog> | ||
| 46 | +</template> | ||
| 47 | + | ||
| 48 | +<script> | ||
| 49 | +import { declareDataUploadNew } from "@/api/declareData-api.js"; | ||
| 50 | +export default { | ||
| 51 | + name: "DeleteDialog", | ||
| 52 | + props: { | ||
| 53 | + showDialog: { | ||
| 54 | + type: Boolean, | ||
| 55 | + default: false, | ||
| 56 | + }, | ||
| 57 | + selectedDatas: { | ||
| 58 | + type: Array, | ||
| 59 | + default: () => [], | ||
| 60 | + }, | ||
| 61 | + }, | ||
| 62 | + data() { | ||
| 63 | + return { | ||
| 64 | + cancelVisible: false, | ||
| 65 | + cancelFormData: { | ||
| 66 | + note: "", | ||
| 67 | + }, | ||
| 68 | + cancelFormRules: { | ||
| 69 | + note: [{ required: true, message: "请输入撤销原因", trigger: "blur" }], | ||
| 70 | + }, | ||
| 71 | + }; | ||
| 72 | + }, | ||
| 73 | + watch: { | ||
| 74 | + showDialog(val) { | ||
| 75 | + if (val) { | ||
| 76 | + this.cancelVisible = val; | ||
| 77 | + } | ||
| 78 | + }, | ||
| 79 | + }, | ||
| 80 | + created() {}, | ||
| 81 | + methods: { | ||
| 82 | + submitRevoke() { | ||
| 83 | + this.$refs.cancelForm.validate((valid) => { | ||
| 84 | + if (valid) { | ||
| 85 | + let obj = { | ||
| 86 | + note: this.cancelFormData.note, | ||
| 87 | + declareIds: [], | ||
| 88 | + type: "totalScore", | ||
| 89 | + deleteFlag: true, | ||
| 90 | + }; | ||
| 91 | + obj.declareIds = this.selectedDatas.map((item) => item.declareId); | ||
| 92 | + | ||
| 93 | + console.log("datas==", obj); | ||
| 94 | + declareDataUploadNew(obj) | ||
| 95 | + .then((res) => { | ||
| 96 | + if (res.code === "200") { | ||
| 97 | + // this.alertSuccessMsg(res.message); | ||
| 98 | + this.alertSuccessMsg("数据已成功提交撤销,请等待海关回执。"); | ||
| 99 | + this.cancelRevoke(true); | ||
| 100 | + } else { | ||
| 101 | + this.alertWarningMsg(res.message); | ||
| 102 | + this.cancelRevoke(); | ||
| 103 | + } | ||
| 104 | + }) | ||
| 105 | + .catch((err) => { | ||
| 106 | + console.log(err); | ||
| 107 | + this.cancelRevoke(); | ||
| 108 | + }); | ||
| 109 | + } else { | ||
| 110 | + return false; | ||
| 111 | + } | ||
| 112 | + }); | ||
| 113 | + }, | ||
| 114 | + | ||
| 115 | + cancelRevoke(flag = false) { | ||
| 116 | + this.cancelVisible = false; | ||
| 117 | + this.cancelFormData.note = ""; | ||
| 118 | + this.$emit("cancelDelete", flag); | ||
| 119 | + }, | ||
| 120 | + }, | ||
| 121 | +}; | ||
| 122 | +</script> | ||
| 123 | + | ||
| 124 | +<style lang="scss" scoped> | ||
| 125 | +@import "@/assets/styles/variables.scss"; | ||
| 126 | +.modelItem { | ||
| 127 | + width: 100%; | ||
| 128 | + .modelItem-title { | ||
| 129 | + display: flex; | ||
| 130 | + justify-content: space-between; | ||
| 131 | + margin-bottom: 5px; | ||
| 132 | + font-size: 14px; | ||
| 133 | + font-weight: 600; | ||
| 134 | + color: #333; | ||
| 135 | + } | ||
| 136 | +} | ||
| 137 | +.revokeOperation { | ||
| 138 | + margin-bottom: 25px; | ||
| 139 | + .revokeSubmitBtn { | ||
| 140 | + margin-right: 30px; | ||
| 141 | + } | ||
| 142 | +} | ||
| 143 | +.fedexFormStyle-textarea { | ||
| 144 | + .el-form-item { | ||
| 145 | + height: 200px; | ||
| 146 | + } | ||
| 147 | +} | ||
| 148 | +</style> |
| ... | @@ -35,15 +35,6 @@ | ... | @@ -35,15 +35,6 @@ |
| 35 | <!-- 提运单号 --> | 35 | <!-- 提运单号 --> |
| 36 | <el-col :span="5"> | 36 | <el-col :span="5"> |
| 37 | <Formitem label="提运单号" prop="billNo"> | 37 | <Formitem label="提运单号" prop="billNo"> |
| 38 | - <!-- <el-input | ||
| 39 | - type="text" | ||
| 40 | - class="inputShadow" | ||
| 41 | - id="inputInner--billNo" | ||
| 42 | - resize="none" | ||
| 43 | - v-model="sreachFormData.billNo" | ||
| 44 | - clearable | ||
| 45 | - placeholder="" | ||
| 46 | - ></el-input> --> | ||
| 47 | <FormTextareaInput | 38 | <FormTextareaInput |
| 48 | :formData="sreachFormData" | 39 | :formData="sreachFormData" |
| 49 | dataKey="billNo" | 40 | dataKey="billNo" |
| ... | @@ -152,6 +143,37 @@ | ... | @@ -152,6 +143,37 @@ |
| 152 | ></svg-icon> | 143 | ></svg-icon> |
| 153 | 离境单申报 | 144 | 离境单申报 |
| 154 | </el-button> | 145 | </el-button> |
| 146 | + <!-- new --> | ||
| 147 | + <el-dropdown | ||
| 148 | + style="margin-left: 10px" | ||
| 149 | + size="small" | ||
| 150 | + split-button | ||
| 151 | + type="primary" | ||
| 152 | + class="dropdown-other-button" | ||
| 153 | + v-loading="loadings.dropDownChangeLoading" | ||
| 154 | + @command="dropdownChange" | ||
| 155 | + @click=" | ||
| 156 | + declareDataChange('dropDownChangeLoading', dropdownName, dropdownCode) | ||
| 157 | + " | ||
| 158 | + > | ||
| 159 | + <i class="el-icon-document"></i> | ||
| 160 | + {{ dropdownName }} | ||
| 161 | + <!-- 清单总分单撤销、清单总分单变更 --> | ||
| 162 | + <el-dropdown-menu slot="dropdown"> | ||
| 163 | + <el-dropdown-item | ||
| 164 | + :command="{ code: 'totalScore', name: '清单总分单撤销' }" | ||
| 165 | + class="dropdown-other-menu-button" | ||
| 166 | + > | ||
| 167 | + 清单总分单撤销 | ||
| 168 | + </el-dropdown-item> | ||
| 169 | + <el-dropdown-item | ||
| 170 | + :command="{ code: 'totalScore', name: '清单总分单变更' }" | ||
| 171 | + class="dropdown-other-menu-button" | ||
| 172 | + > | ||
| 173 | + 清单总分单变更 | ||
| 174 | + </el-dropdown-item> | ||
| 175 | + </el-dropdown-menu> | ||
| 176 | + </el-dropdown> | ||
| 155 | </div> | 177 | </div> |
| 156 | 178 | ||
| 157 | <Table | 179 | <Table |
| ... | @@ -324,6 +346,12 @@ | ... | @@ -324,6 +346,12 @@ |
| 324 | :selected="selected" | 346 | :selected="selected" |
| 325 | @close="timeClose" | 347 | @close="timeClose" |
| 326 | /> | 348 | /> |
| 349 | + <!-- 清单总分单撤销 --> | ||
| 350 | + <DeleteDialog | ||
| 351 | + :showDialog="deleteDialogVisible" | ||
| 352 | + :selectedDatas="selected" | ||
| 353 | + @cancelDelete="deleteDialogClose" | ||
| 354 | + /> | ||
| 327 | <!-- 日志 --> | 355 | <!-- 日志 --> |
| 328 | <section style="position: fixed; top: 35%; right: 10%"> | 356 | <section style="position: fixed; top: 35%; right: 10%"> |
| 329 | <PopoverComponent | 357 | <PopoverComponent |
| ... | @@ -348,12 +376,14 @@ import { | ... | @@ -348,12 +376,14 @@ import { |
| 348 | getTotalReceipt, | 376 | getTotalReceipt, |
| 349 | getTotalDocumentsLevelLog, | 377 | getTotalDocumentsLevelLog, |
| 350 | getOperationLogByBillNo, | 378 | getOperationLogByBillNo, |
| 379 | + declareDataUploadNew, | ||
| 351 | } from "@/api/declareData-api.js"; | 380 | } from "@/api/declareData-api.js"; |
| 352 | import DialogVue from "./dialog.vue"; | 381 | import DialogVue from "./dialog.vue"; |
| 353 | import DataPreview from "../reportingData/data-preview.vue"; | 382 | import DataPreview from "../reportingData/data-preview.vue"; |
| 354 | import TimeDialog from "../reportingData/time-dialog.vue"; | 383 | import TimeDialog from "../reportingData/time-dialog.vue"; |
| 355 | import { getCurrUserPortInfo } from "@/api/system/user.js"; | 384 | import { getCurrUserPortInfo } from "@/api/system/user.js"; |
| 356 | import PopoverComponent from "./popover-component.vue"; | 385 | import PopoverComponent from "./popover-component.vue"; |
| 386 | +import DeleteDialog from "./deleteDialog.vue"; | ||
| 357 | 387 | ||
| 358 | export default { | 388 | export default { |
| 359 | name: "ArrivalDeclare", | 389 | name: "ArrivalDeclare", |
| ... | @@ -362,6 +392,7 @@ export default { | ... | @@ -362,6 +392,7 @@ export default { |
| 362 | DataPreview, | 392 | DataPreview, |
| 363 | TimeDialog, | 393 | TimeDialog, |
| 364 | PopoverComponent, | 394 | PopoverComponent, |
| 395 | + DeleteDialog, | ||
| 365 | }, | 396 | }, |
| 366 | data() { | 397 | data() { |
| 367 | return { | 398 | return { |
| ... | @@ -525,6 +556,7 @@ export default { | ... | @@ -525,6 +556,7 @@ export default { |
| 525 | loadings: { | 556 | loadings: { |
| 526 | sreachLoading: false, | 557 | sreachLoading: false, |
| 527 | declaration: false, | 558 | declaration: false, |
| 559 | + dropDownChangeLoading: false, | ||
| 528 | }, | 560 | }, |
| 529 | tableMaxheight: null, | 561 | tableMaxheight: null, |
| 530 | outerVisible: false, | 562 | outerVisible: false, |
| ... | @@ -535,6 +567,9 @@ export default { | ... | @@ -535,6 +567,9 @@ export default { |
| 535 | timeVisible: false, | 567 | timeVisible: false, |
| 536 | // 获取操作日志 | 568 | // 获取操作日志 |
| 537 | optionsVisible: false, | 569 | optionsVisible: false, |
| 570 | + dropdownName: "清单总分单撤销", | ||
| 571 | + dropdownCode: "totalScore", | ||
| 572 | + deleteDialogVisible: false, | ||
| 538 | }; | 573 | }; |
| 539 | }, | 574 | }, |
| 540 | created() { | 575 | created() { |
| ... | @@ -557,6 +592,61 @@ export default { | ... | @@ -557,6 +592,61 @@ export default { |
| 557 | getTotalDocumentsLevelLog: getTotalDocumentsLevelLog, | 592 | getTotalDocumentsLevelLog: getTotalDocumentsLevelLog, |
| 558 | getOperationLogByBillNo: getOperationLogByBillNo, | 593 | getOperationLogByBillNo: getOperationLogByBillNo, |
| 559 | 594 | ||
| 595 | + //切换申报模式 | ||
| 596 | + dropdownChange(val) { | ||
| 597 | + this.dropdownName = val.name; | ||
| 598 | + this.dropdownCode = val.code; | ||
| 599 | + }, | ||
| 600 | + declareDataChange(loadingKey, dropdownName, dropdownCode) { | ||
| 601 | + if (this.selected.length === 0) { | ||
| 602 | + this.alertWarningMsg("请选择数据!"); | ||
| 603 | + return; | ||
| 604 | + } | ||
| 605 | + // declareDataUploadNew | ||
| 606 | + this.loadings.dropDownChangeLoading = true; | ||
| 607 | + if (dropdownName === "清单总分单撤销") { | ||
| 608 | + this.deleteDialogVisible = true; | ||
| 609 | + return; | ||
| 610 | + } | ||
| 611 | + this.$confirm("是否确认操作清单总分单变更?", "提示", { | ||
| 612 | + confirmButtonText: "确定", | ||
| 613 | + cancelButtonText: "取消", | ||
| 614 | + type: "warning", | ||
| 615 | + }) | ||
| 616 | + .then(() => { | ||
| 617 | + let obj = { | ||
| 618 | + declareIds: this.selected.map((item) => item.declareId), | ||
| 619 | + type: "totalScore", | ||
| 620 | + changeFlag: true, | ||
| 621 | + }; | ||
| 622 | + declareDataUploadNew(obj) | ||
| 623 | + .then((res) => { | ||
| 624 | + if (res.code === "200") { | ||
| 625 | + this.alertSuccessMsg("操作成功"); | ||
| 626 | + this.search(0); | ||
| 627 | + } else { | ||
| 628 | + this.alertWarningMsg(res.message || "操作失败"); | ||
| 629 | + } | ||
| 630 | + }) | ||
| 631 | + .catch((err) => { | ||
| 632 | + console.log(err); | ||
| 633 | + }) | ||
| 634 | + .finally(() => { | ||
| 635 | + this.loadings.dropDownChangeLoading = false; | ||
| 636 | + }); | ||
| 637 | + }) | ||
| 638 | + .catch(() => { | ||
| 639 | + this.loadings.dropDownChangeLoading = false; | ||
| 640 | + }); | ||
| 641 | + }, | ||
| 642 | + deleteDialogClose(flag) { | ||
| 643 | + debugger; | ||
| 644 | + this.loadings.dropDownChangeLoading = false; | ||
| 645 | + this.deleteDialogVisible = false; | ||
| 646 | + if (flag) { | ||
| 647 | + this.search(0); | ||
| 648 | + } | ||
| 649 | + }, | ||
| 560 | formChange(val) { | 650 | formChange(val) { |
| 561 | this.sreachFormData = val; | 651 | this.sreachFormData = val; |
| 562 | }, | 652 | }, | ... | ... |
src/views/config-management/dialog.vue
0 → 100644
This diff is collapsed. Click to expand it.
src/views/config-management/index.vue
0 → 100644
This diff is collapsed. Click to expand it.
| ... | @@ -30,6 +30,7 @@ | ... | @@ -30,6 +30,7 @@ |
| 30 | filterable | 30 | filterable |
| 31 | placeholder="" | 31 | placeholder="" |
| 32 | @change="receiptXml" | 32 | @change="receiptXml" |
| 33 | + disabled | ||
| 33 | > | 34 | > |
| 34 | <el-option | 35 | <el-option |
| 35 | v-for="item in receiptTypeList" | 36 | v-for="item in receiptTypeList" |
| ... | @@ -161,8 +162,9 @@ | ... | @@ -161,8 +162,9 @@ |
| 161 | class="entrySaveButton" | 162 | class="entrySaveButton" |
| 162 | :disabled="loadings.submitLoading" | 163 | :disabled="loadings.submitLoading" |
| 163 | @click="submit" | 164 | @click="submit" |
| 164 | - >确 定</el-button | ||
| 165 | > | 165 | > |
| 166 | + 确 定 | ||
| 167 | + </el-button> | ||
| 166 | <el-button class="entrySaveButton" @click="close(false)">关 闭</el-button> | 168 | <el-button class="entrySaveButton" @click="close(false)">关 闭</el-button> |
| 167 | </div> | 169 | </div> |
| 168 | </el-dialog> | 170 | </el-dialog> |
| ... | @@ -293,7 +295,7 @@ export default { | ... | @@ -293,7 +295,7 @@ export default { |
| 293 | } | 295 | } |
| 294 | generateReceiptXml({ | 296 | generateReceiptXml({ |
| 295 | ...this.formData, | 297 | ...this.formData, |
| 296 | - logisticsNo: this.formData.logisticsNo, | 298 | + logisticsNos: [this.formData.logisticsNo], |
| 297 | }).then((res) => { | 299 | }).then((res) => { |
| 298 | console.log(res); | 300 | console.log(res); |
| 299 | if (res.code === "200") { | 301 | if (res.code === "200") { |
| ... | @@ -303,34 +305,13 @@ export default { | ... | @@ -303,34 +305,13 @@ export default { |
| 303 | } | 305 | } |
| 304 | }); | 306 | }); |
| 305 | }, | 307 | }, |
| 306 | - // remoteMethod(query) { | 308 | + |
| 307 | - // console.log(query); | ||
| 308 | - // this.getOrderList(query, true); | ||
| 309 | - // }, | ||
| 310 | - // getOrderList(val, flag) { | ||
| 311 | - // if (!this.formData.receiptType) { | ||
| 312 | - // return; | ||
| 313 | - // } | ||
| 314 | - // searchOrderNo({ | ||
| 315 | - // receiptType: this.formData.receiptType, | ||
| 316 | - // logisticsNo: flag ? val : "", | ||
| 317 | - // }).then((res) => { | ||
| 318 | - // if (res.code === "200") { | ||
| 319 | - // this.orderNoList = res.data; | ||
| 320 | - // } else { | ||
| 321 | - // this.alertWarningMsg(res.message); | ||
| 322 | - // } | ||
| 323 | - // }); | ||
| 324 | - // this.receiptXml(); | ||
| 325 | - // }, | ||
| 326 | getOtherInfo(e) { | 309 | getOtherInfo(e) { |
| 327 | getListInfo(e).then((res) => { | 310 | getListInfo(e).then((res) => { |
| 328 | console.log(res); | 311 | console.log(res); |
| 329 | if (res.code === "200") { | 312 | if (res.code === "200") { |
| 330 | this.formData.preNo = res.data.preNo; | 313 | this.formData.preNo = res.data.preNo; |
| 331 | this.formData.invtNo = res.data.invtNo; | 314 | this.formData.invtNo = res.data.invtNo; |
| 332 | - // this.$set(this.formData, "preNo", res.data.preNo); | ||
| 333 | - // this.$set(this.formData, "invtNo", res.data.invtNo); | ||
| 334 | this.$forceUpdate(); | 315 | this.$forceUpdate(); |
| 335 | } else { | 316 | } else { |
| 336 | this.alertWarningMsg(res.message); | 317 | this.alertWarningMsg(res.message); | ... | ... |
| ... | @@ -11,7 +11,6 @@ | ... | @@ -11,7 +11,6 @@ |
| 11 | class="fedexFormStyle fedexFormEditStyle" | 11 | class="fedexFormStyle fedexFormEditStyle" |
| 12 | ref="editForm" | 12 | ref="editForm" |
| 13 | :model="formData" | 13 | :model="formData" |
| 14 | - :rules="formRules" | ||
| 15 | label-position="top" | 14 | label-position="top" |
| 16 | size="small" | 15 | size="small" |
| 17 | :disabled="true" | 16 | :disabled="true" | ... | ... |
This diff is collapsed. Click to expand it.
| ... | @@ -163,12 +163,30 @@ export default { | ... | @@ -163,12 +163,30 @@ export default { |
| 163 | align: "left", | 163 | align: "left", |
| 164 | }, | 164 | }, |
| 165 | { | 165 | { |
| 166 | + name: "提运单号", | ||
| 167 | + value: "billNo", | ||
| 168 | + width: "", | ||
| 169 | + align: "left", | ||
| 170 | + }, | ||
| 171 | + { | ||
| 172 | + name: "订单编号", | ||
| 173 | + value: "orderNo", | ||
| 174 | + width: "", | ||
| 175 | + align: "left", | ||
| 176 | + }, | ||
| 177 | + { | ||
| 166 | name: "物流运单编号", | 178 | name: "物流运单编号", |
| 167 | value: "logisticsNo", | 179 | value: "logisticsNo", |
| 168 | width: "", | 180 | width: "", |
| 169 | align: "left", | 181 | align: "left", |
| 170 | }, | 182 | }, |
| 171 | { | 183 | { |
| 184 | + name: "收件人名称", | ||
| 185 | + value: "ebcName", | ||
| 186 | + width: "", | ||
| 187 | + align: "left", | ||
| 188 | + }, | ||
| 189 | + { | ||
| 172 | name: "回执类型", | 190 | name: "回执类型", |
| 173 | value: "receiptType", | 191 | value: "receiptType", |
| 174 | width: "", | 192 | width: "", | ... | ... |
| ... | @@ -298,35 +298,7 @@ | ... | @@ -298,35 +298,7 @@ |
| 298 | ></svg-icon> | 298 | ></svg-icon> |
| 299 | 清单申报 | 299 | 清单申报 |
| 300 | </el-button> | 300 | </el-button> |
| 301 | - <!-- <el-dropdown | 301 | + |
| 302 | - style="margin-right: 10px" | ||
| 303 | - size="small" | ||
| 304 | - split-button | ||
| 305 | - type="primary" | ||
| 306 | - v-loading="loadings.dropDownLoading" | ||
| 307 | - @command="dropdownChange" | ||
| 308 | - @click="declareData('dropDownLoading', dropdownName, dropdownCode)" | ||
| 309 | - > | ||
| 310 | - <svg-icon | ||
| 311 | - class="el-icon-user-solid" | ||
| 312 | - icon-class="fedexDeclareIcon" | ||
| 313 | - ></svg-icon | ||
| 314 | - >{{ dropdownName }} | ||
| 315 | - <el-dropdown-menu slot="dropdown"> | ||
| 316 | - <el-dropdown-item :command="{ code: 'full', name: '一键申报' }" | ||
| 317 | - >一键申报</el-dropdown-item | ||
| 318 | - > | ||
| 319 | - <el-dropdown-item :command="{ code: 'order', name: '订单申报' }" | ||
| 320 | - >订单申报</el-dropdown-item | ||
| 321 | - > | ||
| 322 | - <el-dropdown-item :command="{ code: 'waybill', name: '运单申报' }" | ||
| 323 | - >运单申报</el-dropdown-item | ||
| 324 | - > | ||
| 325 | - <el-dropdown-item :command="{ code: 'list', name: '清单申报' }" | ||
| 326 | - >清单申报</el-dropdown-item | ||
| 327 | - > | ||
| 328 | - </el-dropdown-menu> | ||
| 329 | - </el-dropdown> --> | ||
| 330 | <!-- 运抵单申报按钮 --> | 302 | <!-- 运抵单申报按钮 --> |
| 331 | <!-- <el-button | 303 | <!-- <el-button |
| 332 | size="small" | 304 | size="small" |
| ... | @@ -375,6 +347,47 @@ | ... | @@ -375,6 +347,47 @@ |
| 375 | ></svg-icon> | 347 | ></svg-icon> |
| 376 | 撤销单申报 | 348 | 撤销单申报 |
| 377 | </el-button> | 349 | </el-button> |
| 350 | + <!-- new --> | ||
| 351 | + <el-dropdown | ||
| 352 | + style="margin-left: 10px" | ||
| 353 | + size="small" | ||
| 354 | + split-button | ||
| 355 | + type="primary" | ||
| 356 | + class="dropdown-other-button" | ||
| 357 | + v-loading="loadings.dropDownChangeLoading" | ||
| 358 | + @command="dropdownChange" | ||
| 359 | + @click=" | ||
| 360 | + declareDataChange( | ||
| 361 | + 'dropDownChangeLoading', | ||
| 362 | + dropdownName, | ||
| 363 | + dropdownCode | ||
| 364 | + ) | ||
| 365 | + " | ||
| 366 | + > | ||
| 367 | + <i class="el-icon-document"></i> | ||
| 368 | + {{ dropdownName }} | ||
| 369 | + <!-- 订单变更、运单变更、清单变更 --> | ||
| 370 | + <el-dropdown-menu slot="dropdown"> | ||
| 371 | + <el-dropdown-item | ||
| 372 | + :command="{ code: 'order', name: '订单变更' }" | ||
| 373 | + class="dropdown-other-menu-button" | ||
| 374 | + > | ||
| 375 | + 订单变更 | ||
| 376 | + </el-dropdown-item> | ||
| 377 | + <el-dropdown-item | ||
| 378 | + :command="{ code: 'waybill', name: '运单变更' }" | ||
| 379 | + class="dropdown-other-menu-button" | ||
| 380 | + > | ||
| 381 | + 运单变更 | ||
| 382 | + </el-dropdown-item> | ||
| 383 | + <el-dropdown-item | ||
| 384 | + :command="{ code: 'list', name: '清单变更' }" | ||
| 385 | + class="dropdown-other-menu-button" | ||
| 386 | + > | ||
| 387 | + 清单变更 | ||
| 388 | + </el-dropdown-item> | ||
| 389 | + </el-dropdown-menu> | ||
| 390 | + </el-dropdown> | ||
| 378 | </div> | 391 | </div> |
| 379 | </div> | 392 | </div> |
| 380 | <section style="position: fixed; top: 35%; right: 10%"> | 393 | <section style="position: fixed; top: 35%; right: 10%"> |
| ... | @@ -998,6 +1011,7 @@ export default { | ... | @@ -998,6 +1011,7 @@ export default { |
| 998 | sreachLoading: false, | 1011 | sreachLoading: false, |
| 999 | dwonloadModelLoading: false, | 1012 | dwonloadModelLoading: false, |
| 1000 | dropDownLoading: false, | 1013 | dropDownLoading: false, |
| 1014 | + dropDownChangeLoading: false, | ||
| 1001 | logTableLoading: false, | 1015 | logTableLoading: false, |
| 1002 | exportDeclareLoading: false, | 1016 | exportDeclareLoading: false, |
| 1003 | revokeLoading: false, // 撤销单申报加载状态 | 1017 | revokeLoading: false, // 撤销单申报加载状态 |
| ... | @@ -1010,8 +1024,8 @@ export default { | ... | @@ -1010,8 +1024,8 @@ export default { |
| 1010 | textareaVisible: {}, | 1024 | textareaVisible: {}, |
| 1011 | tableMaxheight: null, | 1025 | tableMaxheight: null, |
| 1012 | outerVisible: false, | 1026 | outerVisible: false, |
| 1013 | - dropdownName: "一键申报", | 1027 | + dropdownName: "订单变更", |
| 1014 | - dropdownCode: "full", | 1028 | + dropdownCode: "order", |
| 1015 | revokeVisible: false, | 1029 | revokeVisible: false, |
| 1016 | templateDownloadVisible: false, | 1030 | templateDownloadVisible: false, |
| 1017 | datasExportVisible: false, | 1031 | datasExportVisible: false, |
| ... | @@ -1364,14 +1378,20 @@ export default { | ... | @@ -1364,14 +1378,20 @@ export default { |
| 1364 | declareDataUpload(obj) | 1378 | declareDataUpload(obj) |
| 1365 | .then((res) => { | 1379 | .then((res) => { |
| 1366 | if (res.code === "200") { | 1380 | if (res.code === "200") { |
| 1367 | - this.alertSuccessMsg("数据已成功提交申报,请等待海关回执。"); | 1381 | + this.alertSuccessMsg( |
| 1382 | + `数据已成功提交${ | ||
| 1383 | + !obj?.changeFlag ? "申报" : "变更" | ||
| 1384 | + },请等待海关回执。` | ||
| 1385 | + ); | ||
| 1368 | } else { | 1386 | } else { |
| 1369 | this.alertWarningMsg(res.message); | 1387 | this.alertWarningMsg(res.message); |
| 1370 | } | 1388 | } |
| 1371 | }) | 1389 | }) |
| 1372 | .catch((err) => { | 1390 | .catch((err) => { |
| 1373 | console.error(err); | 1391 | console.error(err); |
| 1374 | - this.alertWarningMsg("申报失败,请稍后重试。"); | 1392 | + this.alertWarningMsg( |
| 1393 | + `${!obj?.changeFlag ? "申报" : "变更"}失败,请稍后重试。` | ||
| 1394 | + ); | ||
| 1375 | }) | 1395 | }) |
| 1376 | .finally(() => { | 1396 | .finally(() => { |
| 1377 | // 无论成功或失败,都重置加载状态并刷新数据 | 1397 | // 无论成功或失败,都重置加载状态并刷新数据 |
| ... | @@ -1391,13 +1411,18 @@ export default { | ... | @@ -1391,13 +1411,18 @@ export default { |
| 1391 | // } | 1411 | // } |
| 1392 | }, | 1412 | }, |
| 1393 | 1413 | ||
| 1414 | + declareDataChange(loadingKey, dropdownName, dropdownCode) { | ||
| 1415 | + // changeFlag | ||
| 1416 | + this.declareData(loadingKey, dropdownName, dropdownCode, true); | ||
| 1417 | + }, | ||
| 1418 | + | ||
| 1394 | /** | 1419 | /** |
| 1395 | * 通用申报方法 | 1420 | * 通用申报方法 |
| 1396 | * @param {string} loadingKey - 加载状态的 key(如 'dropDownLoading', 'departureLoading', 'revokeLoading') | 1421 | * @param {string} loadingKey - 加载状态的 key(如 'dropDownLoading', 'departureLoading', 'revokeLoading') |
| 1397 | * @param {string} dropdownName - 当前操作名称(如 '撤销单申报') | 1422 | * @param {string} dropdownName - 当前操作名称(如 '撤销单申报') |
| 1398 | * @param {string} dropdownCode - 当前操作代码(如 'full') | 1423 | * @param {string} dropdownCode - 当前操作代码(如 'full') |
| 1399 | */ | 1424 | */ |
| 1400 | - declareData(loadingKey, dropdownName, dropdownCode) { | 1425 | + declareData(loadingKey, dropdownName, dropdownCode, changeFlag = false) { |
| 1401 | if (this.selected.length === 0) { | 1426 | if (this.selected.length === 0) { |
| 1402 | this.alertWarningMsg("请选择数据!"); | 1427 | this.alertWarningMsg("请选择数据!"); |
| 1403 | return; | 1428 | return; |
| ... | @@ -1409,6 +1434,7 @@ export default { | ... | @@ -1409,6 +1434,7 @@ export default { |
| 1409 | const obj = { | 1434 | const obj = { |
| 1410 | declareIds: this.selected.map((item) => item.declareId), | 1435 | declareIds: this.selected.map((item) => item.declareId), |
| 1411 | type: dropdownCode, | 1436 | type: dropdownCode, |
| 1437 | + changeFlag: changeFlag, | ||
| 1412 | }; | 1438 | }; |
| 1413 | // if (dropdownName === "清单总分单申报") { | 1439 | // if (dropdownName === "清单总分单申报") { |
| 1414 | // this.dataPreviewVisible = true; | 1440 | // this.dataPreviewVisible = true; |
| ... | @@ -1735,6 +1761,49 @@ export default { | ... | @@ -1735,6 +1761,49 @@ export default { |
| 1735 | } | 1761 | } |
| 1736 | } | 1762 | } |
| 1737 | } | 1763 | } |
| 1764 | +.dropdown-other-button { | ||
| 1765 | + border-color: #ff0000 !important; | ||
| 1766 | + | ||
| 1767 | + ::v-deep { | ||
| 1768 | + .el-button-group { | ||
| 1769 | + .el-button:last-child { | ||
| 1770 | + border-right-color: #409eff !important; | ||
| 1771 | + border-left: 1px solid #409eff !important; | ||
| 1772 | + border-top-color: #409eff !important; | ||
| 1773 | + border-bottom-color: #409eff !important; | ||
| 1774 | + .el-dropdown__icon { | ||
| 1775 | + color: #409eff; | ||
| 1776 | + } | ||
| 1777 | + } | ||
| 1778 | + .el-button:first-child { | ||
| 1779 | + height: 100%; | ||
| 1780 | + border-left-color: #409eff !important; | ||
| 1781 | + border-top-color: #409eff !important; | ||
| 1782 | + border-bottom-color: #409eff !important; | ||
| 1783 | + span { | ||
| 1784 | + color: #409eff; | ||
| 1785 | + } | ||
| 1786 | + } | ||
| 1787 | + } | ||
| 1788 | + } | ||
| 1789 | +} | ||
| 1790 | +.el-dropdown-menu { | ||
| 1791 | + border: 1px solid #409eff !important; | ||
| 1792 | + .dropdown-other-menu-button:not(.is-disabled):hover, | ||
| 1793 | + .dropdown-other-menu-button:focus { | ||
| 1794 | + background-color: #409eff !important; | ||
| 1795 | + } | ||
| 1796 | +} | ||
| 1797 | +.dropdown-other-button:hover { | ||
| 1798 | + ::v-deep { | ||
| 1799 | + .el-button-group .el-button:first-child span { | ||
| 1800 | + color: #409eff !important; | ||
| 1801 | + } | ||
| 1802 | + .el-button-group .el-button:last-child .el-dropdown__icon { | ||
| 1803 | + color: #409eff !important; | ||
| 1804 | + } | ||
| 1805 | + } | ||
| 1806 | +} | ||
| 1738 | 1807 | ||
| 1739 | .texttareaTip { | 1808 | .texttareaTip { |
| 1740 | position: absolute; | 1809 | position: absolute; | ... | ... |
-
Please register or login to post a comment