Showing
10 changed files
with
230 additions
and
116 deletions
| ... | @@ -6,7 +6,7 @@ VUE_APP_BASE_ENV = "dev" | ... | @@ -6,7 +6,7 @@ VUE_APP_BASE_ENV = "dev" |
| 6 | VUE_APP_Version = '1.0.0' | 6 | VUE_APP_Version = '1.0.0' |
| 7 | 7 | ||
| 8 | # FedEx 在线申报工具/开发环境 | 8 | # FedEx 在线申报工具/开发环境 |
| 9 | -VUE_APP_BASE_API = 'http://101.132.100.41:7008/EcomExp' | 9 | +VUE_APP_BASE_API = 'http://101.132.100.41:7001/EcomExp' |
| 10 | 10 | ||
| 11 | VUE_APP_BASE_ROUTE = '/EcomDev' | 11 | VUE_APP_BASE_ROUTE = '/EcomDev' |
| 12 | 12 | ... | ... |
| ... | @@ -17,7 +17,7 @@ VUE_APP_BASE_ROUTE = '/EcomExp' | ... | @@ -17,7 +17,7 @@ VUE_APP_BASE_ROUTE = '/EcomExp' |
| 17 | VUE_APP_BASE_LOGINOUT = '/EcomExp' | 17 | VUE_APP_BASE_LOGINOUT = '/EcomExp' |
| 18 | 18 | ||
| 19 | #后端版本校验版本号 | 19 | #后端版本校验版本号 |
| 20 | -VUE_APP_APIVERSION = 'D5B582ED9ED4002BF2BCB386A68519CF.A3889C390C14952AD666ABC3BE46BE40' | 20 | +VUE_APP_APIVERSION = '19DD6C1CEC504AC854645F352EB03209.141F59A2AAE8300417BFCFD37FACC324' |
| 21 | 21 | ||
| 22 | #iclearEmp系统地址 | 22 | #iclearEmp系统地址 |
| 23 | # VUE_APP_REDIRECT_EMP = 'https://iclearexpuat.fedex.com.cn/Emp/#/login' | 23 | # VUE_APP_REDIRECT_EMP = 'https://iclearexpuat.fedex.com.cn/Emp/#/login' | ... | ... |
| ... | @@ -40,6 +40,7 @@ | ... | @@ -40,6 +40,7 @@ |
| 40 | }, | 40 | }, |
| 41 | "dependencies": { | 41 | "dependencies": { |
| 42 | "axios": "0.21.1", | 42 | "axios": "0.21.1", |
| 43 | + "big.js": "^7.0.1", | ||
| 43 | "core-js": "3.8.3", | 44 | "core-js": "3.8.3", |
| 44 | "crypto-js": "^4.2.0", | 45 | "crypto-js": "^4.2.0", |
| 45 | "docx-preview": "^0.1.20", | 46 | "docx-preview": "^0.1.20", | ... | ... |
| ... | @@ -263,3 +263,23 @@ export function getArrivalIneList(data) { | ... | @@ -263,3 +263,23 @@ export function getArrivalIneList(data) { |
| 263 | data: data, | 263 | data: data, |
| 264 | }); | 264 | }); |
| 265 | } | 265 | } |
| 266 | + | ||
| 267 | +// /declareData/getWeight/{billNo} | ||
| 268 | +export function getWeight(data) { | ||
| 269 | + return request({ | ||
| 270 | + url: "/bus-customer/declareData/getWeight/" + data.billNo, | ||
| 271 | + method: "get", | ||
| 272 | + data: data, | ||
| 273 | + }); | ||
| 274 | +} | ||
| 275 | + | ||
| 276 | +// POST | ||
| 277 | +// /declareData/modifyWeight | ||
| 278 | +// 修改重量 | ||
| 279 | +export function modifyWeight(data) { | ||
| 280 | + return request({ | ||
| 281 | + url: "/bus-customer/declareData/modifyWeight", | ||
| 282 | + method: "post", | ||
| 283 | + data: data, | ||
| 284 | + }); | ||
| 285 | +} | ... | ... |
| ... | @@ -21,6 +21,8 @@ | ... | @@ -21,6 +21,8 @@ |
| 21 | <el-table | 21 | <el-table |
| 22 | :pagination="false" | 22 | :pagination="false" |
| 23 | :border="true" | 23 | :border="true" |
| 24 | + tooltip-effect="dark" | ||
| 25 | + max-height="400px" | ||
| 24 | :empty-text=" | 26 | :empty-text=" |
| 25 | loadingDatas && | 27 | loadingDatas && |
| 26 | rowData && | 28 | rowData && |
| ... | @@ -39,6 +41,7 @@ | ... | @@ -39,6 +41,7 @@ |
| 39 | :label="item.name" | 41 | :label="item.name" |
| 40 | :align="item.align" | 42 | :align="item.align" |
| 41 | :width="item.width" | 43 | :width="item.width" |
| 44 | + :show-overflow-tooltip="true" | ||
| 42 | > | 45 | > |
| 43 | </el-table-column> | 46 | </el-table-column> |
| 44 | </el-table> | 47 | </el-table> | ... | ... |
| ... | @@ -181,10 +181,7 @@ const user = { | ... | @@ -181,10 +181,7 @@ const user = { |
| 181 | removeToken(); | 181 | removeToken(); |
| 182 | removeTime(); | 182 | removeTime(); |
| 183 | removeUserId(); | 183 | removeUserId(); |
| 184 | - // location.replace(process.env.VUE_APP_BASE_ROUTE); | 184 | + window.location.replace(process.env.VUE_APP_BASE_ROUTE); |
| 185 | - // setTimeout(() => { | ||
| 186 | - window.location.reload(true); | ||
| 187 | - // }, 1000); | ||
| 188 | resolve(); | 185 | resolve(); |
| 189 | }); | 186 | }); |
| 190 | }, | 187 | }, | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <el-dialog | 2 | <el-dialog |
| 3 | class="entryDialog classCUploadDialog" | 3 | class="entryDialog classCUploadDialog" |
| 4 | - title="运抵单申报" | 4 | + title="详情" |
| 5 | :visible.sync="visible" | 5 | :visible.sync="visible" |
| 6 | - top="8vh" | 6 | + width="850px" |
| 7 | - width="720px" | ||
| 8 | :destroy-on-close="true" | 7 | :destroy-on-close="true" |
| 9 | @close="close()" | 8 | @close="close()" |
| 10 | > | 9 | > |
| 11 | <div class="modelItem"> | 10 | <div class="modelItem"> |
| 12 | - <el-descriptions class="margin-top" title="" :column="3" border> | 11 | + <el-descriptions class="margin-top" title="" :column="1" border> |
| 13 | <el-descriptions-item> | 12 | <el-descriptions-item> |
| 14 | - <template slot="label"> 用户名 </template> | 13 | + <template slot="label"> 商品编码 </template> |
| 15 | - kooriookami | 14 | + {{ selected.skuCode }} |
| 16 | </el-descriptions-item> | 15 | </el-descriptions-item> |
| 17 | <el-descriptions-item> | 16 | <el-descriptions-item> |
| 18 | - <template slot="label"> 手机号 </template> | 17 | + <template slot="label"> 商品名称 </template> |
| 19 | - 18100000000 | 18 | + {{ selected.skuname }} |
| 20 | </el-descriptions-item> | 19 | </el-descriptions-item> |
| 21 | <el-descriptions-item> | 20 | <el-descriptions-item> |
| 22 | - <template slot="label"> 居住地 </template> | 21 | + <template slot="label"> 法定计量单位 </template> |
| 23 | - 苏州市 | 22 | + {{ selected.unitLegalFirst }} |
| 23 | + </el-descriptions-item> | ||
| 24 | + <el-descriptions-item> | ||
| 25 | + <template slot="label"> 法定计量单位(编码) </template> | ||
| 26 | + {{ selected.unitLegalFirstCode }} | ||
| 27 | + </el-descriptions-item> | ||
| 28 | + <el-descriptions-item> | ||
| 29 | + <template slot="label"> 法定第二计量单位 </template> | ||
| 30 | + {{ selected.unitLegalSecond }} | ||
| 31 | + </el-descriptions-item> | ||
| 32 | + <el-descriptions-item> | ||
| 33 | + <template slot="label"> 法定第二计量单位(编码) </template> | ||
| 34 | + {{ selected.unitLegalSecondCode }} | ||
| 35 | + </el-descriptions-item> | ||
| 36 | + <el-descriptions-item :span="1"> | ||
| 37 | + <template slot="label"> 申报要素 </template> | ||
| 38 | + {{ selected.declarationElement }} | ||
| 24 | </el-descriptions-item> | 39 | </el-descriptions-item> |
| 25 | <el-descriptions-item> | 40 | <el-descriptions-item> |
| 26 | <template slot="label"> 备注 </template> | 41 | <template slot="label"> 备注 </template> |
| 27 | - <el-tag size="small">学校</el-tag> | 42 | + {{ selected.remark }} |
| 28 | </el-descriptions-item> | 43 | </el-descriptions-item> |
| 29 | <el-descriptions-item> | 44 | <el-descriptions-item> |
| 30 | - <template slot="label"> 联系地址 </template> | 45 | + <template slot="label"> 更新时间 </template> |
| 31 | - 江苏省苏州市吴中区吴中大道 1188 号 | 46 | + {{ selected.updateTime }} |
| 32 | </el-descriptions-item> | 47 | </el-descriptions-item> |
| 33 | </el-descriptions> | 48 | </el-descriptions> |
| 34 | </div> | 49 | </div> |
| ... | @@ -43,9 +58,9 @@ export default { | ... | @@ -43,9 +58,9 @@ export default { |
| 43 | default: false, | 58 | default: false, |
| 44 | }, | 59 | }, |
| 45 | selected: { | 60 | selected: { |
| 46 | - type: Array, | 61 | + type: Object, |
| 47 | default: () => { | 62 | default: () => { |
| 48 | - return []; | 63 | + return {}; |
| 49 | }, | 64 | }, |
| 50 | }, | 65 | }, |
| 51 | }, | 66 | }, | ... | ... |
| ... | @@ -105,12 +105,6 @@ | ... | @@ -105,12 +105,6 @@ |
| 105 | :totalCount="page.total" | 105 | :totalCount="page.total" |
| 106 | @sizeChange="sizeChange" | 106 | @sizeChange="sizeChange" |
| 107 | @currentChange="currentChange" | 107 | @currentChange="currentChange" |
| 108 | - :selection="true" | ||
| 109 | - :selectFixed="false" | ||
| 110 | - :rowSelectDataType="false" | ||
| 111 | - @tableSelect="tableSelect" | ||
| 112 | - @tableSelectAll="tableSelectAll" | ||
| 113 | - :selected="selected" | ||
| 114 | > | 108 | > |
| 115 | <template slot="optionColumn"> | 109 | <template slot="optionColumn"> |
| 116 | <el-table-column align="center" label="操作" width="150"> | 110 | <el-table-column align="center" label="操作" width="150"> |
| ... | @@ -138,7 +132,7 @@ export default { | ... | @@ -138,7 +132,7 @@ export default { |
| 138 | }, | 132 | }, |
| 139 | data() { | 133 | data() { |
| 140 | return { | 134 | return { |
| 141 | - selected: [], | 135 | + selected: {}, |
| 142 | sreachFormData: { | 136 | sreachFormData: { |
| 143 | skuCode: "", | 137 | skuCode: "", |
| 144 | skuname: "", | 138 | skuname: "", |
| ... | @@ -211,13 +205,6 @@ export default { | ... | @@ -211,13 +205,6 @@ export default { |
| 211 | watch: {}, | 205 | watch: {}, |
| 212 | 206 | ||
| 213 | methods: { | 207 | methods: { |
| 214 | - tableSelect(val) { | ||
| 215 | - this.selected = val.selection; | ||
| 216 | - }, | ||
| 217 | - tableSelectAll(val) { | ||
| 218 | - this.selected = val; | ||
| 219 | - }, | ||
| 220 | - | ||
| 221 | dateChange(val) { | 208 | dateChange(val) { |
| 222 | if (val == "" || val == null) { | 209 | if (val == "" || val == null) { |
| 223 | this.$nextTick(() => { | 210 | this.$nextTick(() => { |
| ... | @@ -238,7 +225,6 @@ export default { | ... | @@ -238,7 +225,6 @@ export default { |
| 238 | //查询 | 225 | //查询 |
| 239 | search(val) { | 226 | search(val) { |
| 240 | this.loadings.sreachLoading = true; | 227 | this.loadings.sreachLoading = true; |
| 241 | - this.selected = []; | ||
| 242 | if (val == 0) { | 228 | if (val == 0) { |
| 243 | this.page.pageIndex = 1; | 229 | this.page.pageIndex = 1; |
| 244 | } | 230 | } |
| ... | @@ -295,7 +281,8 @@ export default { | ... | @@ -295,7 +281,8 @@ export default { |
| 295 | console.log("finally"); | 281 | console.log("finally"); |
| 296 | }); | 282 | }); |
| 297 | }, | 283 | }, |
| 298 | - detail() { | 284 | + detail(record) { |
| 285 | + this.selected = JSON.parse(JSON.stringify(record)); | ||
| 299 | this.outerVisible = true; | 286 | this.outerVisible = true; |
| 300 | }, | 287 | }, |
| 301 | 288 | ... | ... |
| ... | @@ -125,8 +125,8 @@ | ... | @@ -125,8 +125,8 @@ |
| 125 | ><svg-icon | 125 | ><svg-icon |
| 126 | class="el-icon-user-solid" | 126 | class="el-icon-user-solid" |
| 127 | icon-class="uploadCloud" | 127 | icon-class="uploadCloud" |
| 128 | - ></svg-icon | 128 | + ></svg-icon> |
| 129 | - >一键导入 | 129 | + 一键导入 |
| 130 | </el-button> | 130 | </el-button> |
| 131 | <el-button | 131 | <el-button |
| 132 | class="entrySaveButton" | 132 | class="entrySaveButton" |
| ... | @@ -149,7 +149,7 @@ | ... | @@ -149,7 +149,7 @@ |
| 149 | class="entrySaveButton" | 149 | class="entrySaveButton" |
| 150 | size="small" | 150 | size="small" |
| 151 | icon="el-icon-edit" | 151 | icon="el-icon-edit" |
| 152 | - @click="batchModify" | 152 | + @click="weightAdjustFn" |
| 153 | > | 153 | > |
| 154 | 重量调整 | 154 | 重量调整 |
| 155 | </el-button> --> | 155 | </el-button> --> |
| ... | @@ -464,6 +464,12 @@ | ... | @@ -464,6 +464,12 @@ |
| 464 | :selectedDatas="selected" | 464 | :selectedDatas="selected" |
| 465 | @cancelDataPreview="cancelDataPreview" | 465 | @cancelDataPreview="cancelDataPreview" |
| 466 | /> | 466 | /> |
| 467 | + <!-- 重量调整 --> | ||
| 468 | + <WeightAdjust | ||
| 469 | + :showDialog="weightAdjustVisible" | ||
| 470 | + :selectedDatas="[]" | ||
| 471 | + @cancelModify="cancelModify" | ||
| 472 | + /> | ||
| 467 | </div> | 473 | </div> |
| 468 | </template> | 474 | </template> |
| 469 | 475 | ||
| ... | @@ -487,6 +493,7 @@ import ExportDialog from "./exportDialog.vue"; | ... | @@ -487,6 +493,7 @@ import ExportDialog from "./exportDialog.vue"; |
| 487 | import BatchModify from "./batchModify.vue"; | 493 | import BatchModify from "./batchModify.vue"; |
| 488 | import TimeDialog from "./time-dialog.vue"; | 494 | import TimeDialog from "./time-dialog.vue"; |
| 489 | import DataPreview from "./data-preview.vue"; | 495 | import DataPreview from "./data-preview.vue"; |
| 496 | +import WeightAdjust from "./weight-adjust.vue"; | ||
| 490 | export default { | 497 | export default { |
| 491 | name: "ReportingData", | 498 | name: "ReportingData", |
| 492 | components: { | 499 | components: { |
| ... | @@ -497,6 +504,7 @@ export default { | ... | @@ -497,6 +504,7 @@ export default { |
| 497 | BatchModify, | 504 | BatchModify, |
| 498 | TimeDialog, | 505 | TimeDialog, |
| 499 | DataPreview, | 506 | DataPreview, |
| 507 | + WeightAdjust, | ||
| 500 | }, | 508 | }, |
| 501 | data() { | 509 | data() { |
| 502 | return { | 510 | return { |
| ... | @@ -680,6 +688,7 @@ export default { | ... | @@ -680,6 +688,7 @@ export default { |
| 680 | dataPreviewTitle: "", | 688 | dataPreviewTitle: "", |
| 681 | currentLoadingKey: "", | 689 | currentLoadingKey: "", |
| 682 | paramsOjb: {}, | 690 | paramsOjb: {}, |
| 691 | + weightAdjustVisible: false, | ||
| 683 | }; | 692 | }; |
| 684 | }, | 693 | }, |
| 685 | created() { | 694 | created() { |
| ... | @@ -1212,6 +1221,12 @@ export default { | ... | @@ -1212,6 +1221,12 @@ export default { |
| 1212 | } | 1221 | } |
| 1213 | this.batchModifyVisible = true; | 1222 | this.batchModifyVisible = true; |
| 1214 | }, | 1223 | }, |
| 1224 | + weightAdjustFn() { | ||
| 1225 | + this.weightAdjustVisible = true; | ||
| 1226 | + }, | ||
| 1227 | + cancelModify() { | ||
| 1228 | + this.weightAdjustVisible = false; | ||
| 1229 | + }, | ||
| 1215 | cancelBatchModify(val) { | 1230 | cancelBatchModify(val) { |
| 1216 | this.batchModifyVisible = false; | 1231 | this.batchModifyVisible = false; |
| 1217 | if (val === 1) { | 1232 | if (val === 1) { | ... | ... |
| ... | @@ -3,73 +3,85 @@ | ... | @@ -3,73 +3,85 @@ |
| 3 | class="entryDialog classCUploadDialog" | 3 | class="entryDialog classCUploadDialog" |
| 4 | title="重量调整" | 4 | title="重量调整" |
| 5 | :visible.sync="batchModifyVisible" | 5 | :visible.sync="batchModifyVisible" |
| 6 | + v-loading="dialogLoading" | ||
| 6 | :show-close="false" | 7 | :show-close="false" |
| 7 | - width="450px" | 8 | + width="550px" |
| 8 | :close-on-click-modal="false" | 9 | :close-on-click-modal="false" |
| 9 | > | 10 | > |
| 10 | <div> | 11 | <div> |
| 11 | <el-form | 12 | <el-form |
| 12 | class="fedexFormStyle" | 13 | class="fedexFormStyle" |
| 13 | ref="batchModifyForm" | 14 | ref="batchModifyForm" |
| 14 | - :model="batchModifyFormData" | 15 | + :model="weightForm" |
| 15 | - :rules="batchModifyFormRules" | 16 | + :rules="weightFormRules" |
| 16 | label-position="left" | 17 | label-position="left" |
| 17 | size="small" | 18 | size="small" |
| 18 | > | 19 | > |
| 19 | - <Formitem label="提运单号" prop="modifyContent"> | 20 | + <Formitem label="提运单号" prop="billNo" type="edit"> |
| 20 | <el-input | 21 | <el-input |
| 21 | type="text" | 22 | type="text" |
| 23 | + id="inputInner-edit-billNo" | ||
| 22 | class="inputShadow" | 24 | class="inputShadow" |
| 23 | resize="none" | 25 | resize="none" |
| 24 | - v-model="batchModifyFormData.modifyContent" | 26 | + v-model="weightForm.billNo" |
| 25 | clearable | 27 | clearable |
| 26 | placeholder="请输入提运单号" | 28 | placeholder="请输入提运单号" |
| 29 | + @change="inputChange" | ||
| 27 | ></el-input> | 30 | ></el-input> |
| 28 | </Formitem> | 31 | </Formitem> |
| 29 | - <Formitem label="件数" prop="modifyContent"> | 32 | + <Formitem label="件数" prop="count" type="edit"> |
| 30 | <el-input | 33 | <el-input |
| 31 | type="text" | 34 | type="text" |
| 35 | + id="inputInner-edit-count" | ||
| 32 | class="inputShadow" | 36 | class="inputShadow" |
| 33 | resize="none" | 37 | resize="none" |
| 34 | - v-model="batchModifyFormData.modifyContent" | 38 | + v-model="weightForm.count" |
| 35 | clearable | 39 | clearable |
| 36 | - placeholder="请输入修改内容" | 40 | + disabled |
| 41 | + placeholder="请输入件数" | ||
| 37 | ></el-input> | 42 | ></el-input> |
| 38 | </Formitem> | 43 | </Formitem> |
| 39 | - <Formitem label="原毛重" prop="modifyContent"> | 44 | + <Formitem label="原毛重" prop="totalWeight" type="edit"> |
| 40 | <el-input | 45 | <el-input |
| 41 | type="text" | 46 | type="text" |
| 47 | + id="inputInner-edit-totalWeight" | ||
| 42 | class="inputShadow" | 48 | class="inputShadow" |
| 43 | resize="none" | 49 | resize="none" |
| 44 | - v-model="batchModifyFormData.modifyContent" | 50 | + v-model="weightForm.totalWeight" |
| 45 | clearable | 51 | clearable |
| 46 | - placeholder="请输入修改内容" | 52 | + disabled |
| 53 | + placeholder="请输入原毛重" | ||
| 47 | ></el-input> | 54 | ></el-input> |
| 48 | </Formitem> | 55 | </Formitem> |
| 49 | - <Formitem label="修改后毛重" prop="modifyData"> | 56 | + <Formitem label="修改后毛重" prop="weight" type="edit"> |
| 50 | - <el-select | 57 | + <el-input |
| 51 | type="text" | 58 | type="text" |
| 52 | - v-model="batchModifyFormData.modifyData" | 59 | + id="inputInner-edit-weight" |
| 60 | + class="inputShadow" | ||
| 61 | + resize="none" | ||
| 62 | + v-model="weightForm.weight" | ||
| 53 | clearable | 63 | clearable |
| 54 | - placeholder="" | 64 | + placeholder="请输入修改后毛重" |
| 55 | - > | 65 | + @change="weightChange" |
| 56 | - <el-option | 66 | + ></el-input> |
| 57 | - v-for="item in modifyDataList" | ||
| 58 | - :key="item.itemValue" | ||
| 59 | - :label="item.itemChineseName" | ||
| 60 | - :value="item.itemValue" | ||
| 61 | - ></el-option> | ||
| 62 | - </el-select> | ||
| 63 | </Formitem> | 67 | </Formitem> |
| 64 | - <Formitem label="修改内容" prop="modifyContent"> | 68 | + <Formitem label="" prop="content" type="edit"> |
| 65 | - <el-input | 69 | + <!-- <el-input |
| 66 | - type="text" | 70 | + type="textarea" |
| 71 | + id="inputInner-edit-content" | ||
| 67 | class="inputShadow" | 72 | class="inputShadow" |
| 68 | resize="none" | 73 | resize="none" |
| 69 | - v-model="batchModifyFormData.modifyContent" | 74 | + :rows="3" |
| 75 | + v-model="weightForm.content" | ||
| 70 | clearable | 76 | clearable |
| 71 | placeholder="请输入修改内容" | 77 | placeholder="请输入修改内容" |
| 72 | - ></el-input> | 78 | + ></el-input> --> |
| 79 | + <div class="form-item-tips"> | ||
| 80 | + <h2>修改内容</h2> | ||
| 81 | + <div> | ||
| 82 | + {{ weightForm.content }} | ||
| 83 | + </div> | ||
| 84 | + </div> | ||
| 73 | </Formitem> | 85 | </Formitem> |
| 74 | </el-form> | 86 | </el-form> |
| 75 | </div> | 87 | </div> |
| ... | @@ -86,8 +98,8 @@ | ... | @@ -86,8 +98,8 @@ |
| 86 | </template> | 98 | </template> |
| 87 | 99 | ||
| 88 | <script> | 100 | <script> |
| 89 | -import { bathDeclareDate } from "@/api/declareData-api.js"; | 101 | +import { modifyWeight, getWeight } from "@/api/declareData-api.js"; |
| 90 | -import { getDictData } from "@/api/system/dict-api.js"; | 102 | +import Big from "big.js"; |
| 91 | export default { | 103 | export default { |
| 92 | props: { | 104 | props: { |
| 93 | showDialog: { | 105 | showDialog: { |
| ... | @@ -100,75 +112,121 @@ export default { | ... | @@ -100,75 +112,121 @@ export default { |
| 100 | }, | 112 | }, |
| 101 | }, | 113 | }, |
| 102 | data() { | 114 | data() { |
| 115 | + var checkQty = (rule, value, callback) => { | ||
| 116 | + if (value === undefined || value === null || value === "") { | ||
| 117 | + callback(new Error("请输入数值")); | ||
| 118 | + return; | ||
| 119 | + } | ||
| 120 | + | ||
| 121 | + if (isNaN(value)) { | ||
| 122 | + callback(new Error("请输入有效的数字")); | ||
| 123 | + return; | ||
| 124 | + } | ||
| 125 | + | ||
| 126 | + if (value < 0) { | ||
| 127 | + callback(new Error("数值不能为负")); | ||
| 128 | + return; | ||
| 129 | + } | ||
| 130 | + | ||
| 131 | + const valueStr = value.toString(); | ||
| 132 | + | ||
| 133 | + const parts = valueStr.split("."); | ||
| 134 | + const integerPart = parts[0]; | ||
| 135 | + const decimalPart = parts[1] || ""; | ||
| 136 | + | ||
| 137 | + // if (integerPart.length > 14) { | ||
| 138 | + // callback(new Error("整数部分最多14位")); | ||
| 139 | + // return; | ||
| 140 | + // } | ||
| 141 | + | ||
| 142 | + // if (decimalPart.length > 5) { | ||
| 143 | + // callback(new Error("小数部分最多5位")); | ||
| 144 | + // return; | ||
| 145 | + // } | ||
| 146 | + | ||
| 147 | + callback(); | ||
| 148 | + }; | ||
| 103 | return { | 149 | return { |
| 104 | batchModifyVisible: false, | 150 | batchModifyVisible: false, |
| 105 | - batchModifyFormData: { | 151 | + dialogLoading: false, |
| 106 | - modifyData: "", | 152 | + weightForm: { |
| 107 | - modifyContent: "", | 153 | + billNo: "", |
| 154 | + count: "", | ||
| 155 | + totalWeight: "", | ||
| 156 | + weight: "", | ||
| 157 | + content: "", | ||
| 108 | }, | 158 | }, |
| 109 | - batchModifyFormRules: { | 159 | + weightFormRules: { |
| 110 | - modifyData: [ | 160 | + billNo: [ |
| 111 | - { required: true, message: "请选择修改数据", trigger: "change" }, | 161 | + { required: true, message: "请输入提运单号", trigger: "blur" }, |
| 112 | - ], | ||
| 113 | - modifyContent: [ | ||
| 114 | - { required: true, message: "请输入修改内容", trigger: "blur" }, | ||
| 115 | ], | 162 | ], |
| 163 | + weight: [{ validator: checkQty, trigger: "blur" }], | ||
| 116 | }, | 164 | }, |
| 117 | - modifyDataList: [ | ||
| 118 | - { name: "提运单号", value: "BILLNO" }, | ||
| 119 | - { name: "航班航次号", value: "FLIGHT_NUMBER" }, | ||
| 120 | - ], | ||
| 121 | }; | 165 | }; |
| 122 | }, | 166 | }, |
| 123 | watch: { | 167 | watch: { |
| 124 | showDialog(val) { | 168 | showDialog(val) { |
| 125 | if (val) { | 169 | if (val) { |
| 126 | this.batchModifyVisible = val; | 170 | this.batchModifyVisible = val; |
| 127 | - this.batchModifyFormData.modifyData = ""; | 171 | + this.weightForm.billNo = ""; |
| 128 | - this.batchModifyFormData.modifyContent = ""; | 172 | + this.weightForm.count = ""; |
| 173 | + this.weightForm.totalWeight = ""; | ||
| 174 | + this.weightForm.weight = ""; | ||
| 175 | + this.weightForm.content = ""; | ||
| 129 | } | 176 | } |
| 130 | }, | 177 | }, |
| 131 | }, | 178 | }, |
| 132 | - created() { | 179 | + created() {}, |
| 133 | - this.getModifyDataList(); | ||
| 134 | - }, | ||
| 135 | methods: { | 180 | methods: { |
| 136 | - getModifyDataList() { | 181 | + inputChange(e) { |
| 137 | - getDictData({ doctCode: "DATABASE_FIELD" }) | 182 | + console.log(e); |
| 138 | - .then((res) => { | 183 | + let params = { |
| 139 | - if (res.code == "200") { | 184 | + billNo: e, |
| 140 | - this.modifyDataList = res.data; | 185 | + }; |
| 141 | - } | 186 | + getWeight(params).then((res) => { |
| 142 | - }) | 187 | + console.log(res); |
| 143 | - .catch((err) => { | 188 | + if (res.code == "200") { |
| 144 | - console.error(err); | 189 | + this.weightForm.count = res.data.count; |
| 145 | - }); | 190 | + this.weightForm.totalWeight = res.data.totalWeight; |
| 191 | + } | ||
| 192 | + }); | ||
| 146 | }, | 193 | }, |
| 194 | + weightChange(e) { | ||
| 195 | + // 总单号:02331578503,共 3000件,公斤数从5300KG改为5000KG,更改-300KG,调整比例为-5.66% | ||
| 196 | + const a = new Big(this.weightForm.totalWeight); | ||
| 197 | + const b = new Big(this.weightForm.weight); | ||
| 198 | + this.weightForm.content = `总单号:${this.weightForm.billNo},共 ${ | ||
| 199 | + this.weightForm.count | ||
| 200 | + }件,公斤数从 ${this.weightForm.totalWeight}KG改为${ | ||
| 201 | + this.weightForm.weight | ||
| 202 | + }KG,更改 ${b.minus(a)}KG,调整比例为${(b.minus(a).div(a) * 100).toFixed( | ||
| 203 | + 2 | ||
| 204 | + )}%`; | ||
| 205 | + }, | ||
| 206 | + | ||
| 147 | formSubmit() { | 207 | formSubmit() { |
| 148 | this.$refs.batchModifyForm.validate((valid) => { | 208 | this.$refs.batchModifyForm.validate((valid) => { |
| 149 | if (valid) { | 209 | if (valid) { |
| 210 | + this.dialogLoading = true; | ||
| 150 | let obj = { | 211 | let obj = { |
| 151 | - declareIds: [], | 212 | + billNo: this.weightForm.billNo, |
| 152 | - modifyData: this.batchModifyFormData.modifyData, | 213 | + weight: this.weightForm.weight, |
| 153 | - modifyContent: this.batchModifyFormData.modifyContent, | ||
| 154 | }; | 214 | }; |
| 155 | - this.selectedDatas.forEach((item) => { | ||
| 156 | - obj.declareIds.push(item.declareId); | ||
| 157 | - }); | ||
| 158 | console.log("datas==", obj); | 215 | console.log("datas==", obj); |
| 159 | - bathDeclareDate(obj) | 216 | + modifyWeight(obj) |
| 160 | .then((res) => { | 217 | .then((res) => { |
| 161 | if (res.code === "200") { | 218 | if (res.code === "200") { |
| 162 | - this.msgSuccess("批量修改成功"); | 219 | + this.msgSuccess("修改成功"); |
| 163 | this.cancelModify(1); | 220 | this.cancelModify(1); |
| 164 | } else { | 221 | } else { |
| 165 | this.alertWarningMsg(res.message); | 222 | this.alertWarningMsg(res.message); |
| 223 | + this.cancelModify(0); | ||
| 166 | } | 224 | } |
| 167 | }) | 225 | }) |
| 168 | .catch((err) => { | 226 | .catch((err) => { |
| 169 | console.log(err); | 227 | console.log(err); |
| 170 | this.alertWarningMsg(err.message); | 228 | this.alertWarningMsg(err.message); |
| 171 | - this.cancelModify(1); | 229 | + this.cancelModify(0); |
| 172 | }); | 230 | }); |
| 173 | } else { | 231 | } else { |
| 174 | return false; | 232 | return false; |
| ... | @@ -178,7 +236,8 @@ export default { | ... | @@ -178,7 +236,8 @@ export default { |
| 178 | 236 | ||
| 179 | cancelModify(val) { | 237 | cancelModify(val) { |
| 180 | this.batchModifyVisible = false; | 238 | this.batchModifyVisible = false; |
| 181 | - this.$emit("cancelBatchModify", val); | 239 | + this.dialogLoading = false; |
| 240 | + this.$emit("cancelModify", val); | ||
| 182 | }, | 241 | }, |
| 183 | }, | 242 | }, |
| 184 | }; | 243 | }; |
| ... | @@ -186,17 +245,34 @@ export default { | ... | @@ -186,17 +245,34 @@ export default { |
| 186 | 245 | ||
| 187 | <style lang="scss" scoped> | 246 | <style lang="scss" scoped> |
| 188 | @import "@/assets/styles/variables.scss"; | 247 | @import "@/assets/styles/variables.scss"; |
| 189 | -.modelItem { | 248 | + |
| 190 | - width: 100%; | 249 | +.form-item-tips { |
| 191 | - .modelItem-title { | 250 | + height: 80px; |
| 192 | - display: flex; | 251 | + background-color: #f2f2f2; |
| 193 | - justify-content: space-between; | 252 | + margin-bottom: 5px; |
| 194 | - margin-bottom: 5px; | 253 | + h2 { |
| 195 | - font-size: 14px; | 254 | + position: relative; |
| 196 | - font-weight: 600; | 255 | + font-size: 0.75rem; |
| 256 | + font-weight: 700; | ||
| 197 | color: #333; | 257 | color: #333; |
| 258 | + height: -webkit-max-content; | ||
| 259 | + height: -moz-max-content; | ||
| 260 | + height: max-content; | ||
| 261 | + padding: 0 0 0 0.6rem; | ||
| 262 | + line-height: 14px; | ||
| 263 | + -webkit-transform: translate3d(0, 10px, 0); | ||
| 264 | + transform: translate3d(0, 10px, 0); | ||
| 265 | + -webkit-transition: all 0.2s ease; | ||
| 266 | + transition: all 0.2s ease; | ||
| 267 | + cursor: text; | ||
| 268 | + z-index: 5; | ||
| 269 | + } | ||
| 270 | + div { | ||
| 271 | + padding: 0.4rem 0.6rem 0; | ||
| 272 | + line-height: 14px; | ||
| 198 | } | 273 | } |
| 199 | } | 274 | } |
| 275 | + | ||
| 200 | .revokeOperation { | 276 | .revokeOperation { |
| 201 | margin-bottom: 25px; | 277 | margin-bottom: 25px; |
| 202 | .revokeSubmitBtn { | 278 | .revokeSubmitBtn { | ... | ... |
-
Please register or login to post a comment