xingru.liu

客户新增页面修改

...@@ -34,24 +34,40 @@ export function getCustomerList(data) { ...@@ -34,24 +34,40 @@ export function getCustomerList(data) {
34 * @param qingdaoUserId 青岛用户ID 34 * @param qingdaoUserId 青岛用户ID
35 */ 35 */
36 export function addCustomerData(data) { 36 export function addCustomerData(data) {
37 - let formData = new FormData 37 + // let formData = new FormData
38 - formData.append("beijingDxpid", data.beijingDxpid); 38 + // formData.append("beijingDxpid", data.beijingDxpid);
39 - formData.append("certificare", data.certificare); 39 + // formData.append("certificare", data.certificare);
40 - formData.append("clientId", data.clientId); 40 + // formData.append("clientId", data.clientId);
41 - formData.append("ecomEntCode", data.ecomEntCode); 41 + // formData.append("ecomEntCode", data.ecomEntCode);
42 - formData.append("ecomEntEmail", data.ecomEntEmail); 42 + // formData.append("ecomEntEmail", data.ecomEntEmail);
43 - formData.append("orderRequester", data.orderRequester); 43 + // formData.append("orderRequester", data.orderRequester);
44 - formData.append("qingdaoDanyiUserDxpid", data.qingdaoDanyiUserDxpid); 44 + // formData.append("qingdaoDanyiUserDxpid", data.qingdaoDanyiUserDxpid);
45 - formData.append("qingdaoKey", data.qingdaoKey); 45 + // formData.append("qingdaoKey", data.qingdaoKey);
46 - formData.append("qingdaoUserDxpid", data.qingdaoUserDxpid); 46 + // formData.append("qingdaoUserDxpid", data.qingdaoUserDxpid);
47 - formData.append("qingdaoUserId", data.qingdaoUserId); 47 + // formData.append("qingdaoUserId", data.qingdaoUserId);
48 + console.log(data);
48 return request({ 49 return request({
49 url: '/bus-customer/customers/add', 50 url: '/bus-customer/customers/add',
50 method: 'post', 51 method: 'post',
51 - data: formData 52 + data: data
52 }) 53 })
53 } 54 }
54 55
56 +//上传证书
57 +export function uploadCertificate(ecomEntCode, certificate) {
58 + const formData = new FormData();
59 + formData.append('certificate', certificate.multipartFile);
60 +
61 + return request({
62 + url: '/bus-customer/customers/uploadCertificate?ecomEntCode=' + ecomEntCode,
63 + method: 'post',
64 + data: formData,
65 + headers: {
66 + 'Content-Type': 'multipart/form-data'
67 + }
68 + });
69 +}
70 +
55 // 修改客户数据 71 // 修改客户数据
56 /** 72 /**
57 * @param id * 73 * @param id *
......
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
71 <Formitem label="订单申报方" prop="orderRequester" type="edit"> 71 <Formitem label="订单申报方" prop="orderRequester" type="edit">
72 <el-select 72 <el-select
73 type="text" 73 type="text"
74 - id="inputInner--orderRequester" 74 + id="inputInner-edit-orderRequester"
75 v-model="formData.orderRequester" 75 v-model="formData.orderRequester"
76 clearable 76 clearable
77 placeholder="" 77 placeholder=""
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
80 v-for="(item, index) in dict.orderRequester" 80 v-for="(item, index) in dict.orderRequester"
81 :key="index" 81 :key="index"
82 :label="item.name" 82 :label="item.name"
83 - :value="item" 83 + :value="item.value"
84 ></el-option> 84 ></el-option>
85 </el-select> 85 </el-select>
86 </Formitem> 86 </Formitem>
...@@ -100,7 +100,8 @@ ...@@ -100,7 +100,8 @@
100 </Formitem> 100 </Formitem>
101 </el-col> 101 </el-col>
102 </el-row> 102 </el-row>
103 - <div class="checkTitle"> 103 + <div v-if="formData.orderRequester=='2'">
104 + <div class="checkTitle">
104 <el-checkbox v-model="formData.qdCheck"></el-checkbox>青岛 105 <el-checkbox v-model="formData.qdCheck"></el-checkbox>青岛
105 </div> 106 </div>
106 <el-row :gutter="5"> 107 <el-row :gutter="5">
...@@ -115,6 +116,7 @@ ...@@ -115,6 +116,7 @@
115 v-model="formData.qingdaoUserId" 116 v-model="formData.qingdaoUserId"
116 clearable 117 clearable
117 placeholder="" 118 placeholder=""
119 + :disabled="!formData.qdCheck"
118 ></el-input> 120 ></el-input>
119 </Formitem> 121 </Formitem>
120 </el-col> 122 </el-col>
...@@ -129,6 +131,7 @@ ...@@ -129,6 +131,7 @@
129 v-model="formData.qingdaoUserDxpid" 131 v-model="formData.qingdaoUserDxpid"
130 clearable 132 clearable
131 placeholder="" 133 placeholder=""
134 + :disabled="!formData.qdCheck"
132 ></el-input> 135 ></el-input>
133 </Formitem> 136 </Formitem>
134 </el-col> 137 </el-col>
...@@ -143,6 +146,7 @@ ...@@ -143,6 +146,7 @@
143 v-model="formData.qingdaoKey" 146 v-model="formData.qingdaoKey"
144 clearable 147 clearable
145 placeholder="" 148 placeholder=""
149 + :disabled="!formData.qdCheck"
146 ></el-input> 150 ></el-input>
147 </Formitem> 151 </Formitem>
148 </el-col> 152 </el-col>
...@@ -162,6 +166,7 @@ ...@@ -162,6 +166,7 @@
162 v-model="formData.beijingDxpid" 166 v-model="formData.beijingDxpid"
163 clearable 167 clearable
164 placeholder="" 168 placeholder=""
169 + :disabled="!formData.bjCheck"
165 ></el-input> 170 ></el-input>
166 </Formitem> 171 </Formitem>
167 </el-col> 172 </el-col>
...@@ -218,6 +223,7 @@ ...@@ -218,6 +223,7 @@
218 </div> 223 </div>
219 </div> 224 </div>
220 </div> 225 </div>
226 + </div>
221 </el-form> 227 </el-form>
222 </div> 228 </div>
223 <div class="dialogOption entrySave"> 229 <div class="dialogOption entrySave">
...@@ -240,6 +246,7 @@ ...@@ -240,6 +246,7 @@
240 <script> 246 <script>
241 import { 247 import {
242 addCustomerData, 248 addCustomerData,
249 + uploadCertificate,
243 updateCustomerData, 250 updateCustomerData,
244 } from "@/api/system/customer-ai.js"; 251 } from "@/api/system/customer-ai.js";
245 export default { 252 export default {
...@@ -263,9 +270,7 @@ export default { ...@@ -263,9 +270,7 @@ export default {
263 dict: { 270 dict: {
264 type: Array, 271 type: Array,
265 default() { 272 default() {
266 - return { 273 + return [];
267 - orderRequester:[]
268 - };
269 }, 274 },
270 }, 275 },
271 }, 276 },
...@@ -289,71 +294,61 @@ export default { ...@@ -289,71 +294,61 @@ export default {
289 file: null, 294 file: null,
290 }, 295 },
291 rules: { 296 rules: {
292 - portCode: [ 297 + ecomEntCode: [
293 { 298 {
294 required: true, 299 required: true,
295 trigger: "blur", 300 trigger: "blur",
296 - message: "口岸代码不能为空!", 301 + message: "电商企业代码不能为空!",
297 }, 302 },
298 ], 303 ],
299 - declarationPortCode: [ 304 + ecomEntName: [
300 { 305 {
301 required: true, 306 required: true,
302 trigger: "blur", 307 trigger: "blur",
303 - message: "申报地海关代码不能为空!", 308 + message: "电商企业名称不能为空!",
304 - },
305 - {
306 - validator: (rule, value, callback) => {
307 - if (value.length != 4) {
308 - callback("申报地海关代码必须为4位!");
309 - } else {
310 - callback();
311 - }
312 - },
313 - trigger: "blur",
314 - },
315 - ],
316 - declarationUnit18: [
317 - {
318 - required: true,
319 - trigger: "blur",
320 - message: "申报单位(18位社会信用代码)不能为空!",
321 - },
322 - {
323 - validator: (rule, value, callback) => {
324 - if (value.length != 18) {
325 - callback("18位社会信用代码必须为18位!");
326 - } else {
327 - callback();
328 - }
329 - },
330 - trigger: "blur",
331 - },
332 - ],
333 - declarationUnit10: [
334 - {
335 - required: true,
336 - trigger: "blur",
337 - message: "申报单位(10位海关代码)不能为空!",
338 - },
339 - {
340 - validator: (rule, value, callback) => {
341 - if (value.length != 10) {
342 - callback("10位海关代码必须为10位!");
343 - } else {
344 - callback();
345 - }
346 - },
347 - trigger: "blur",
348 - },
349 - ],
350 - declarationUnitCompanyName: [
351 - {
352 - required: true,
353 - trigger: "blur",
354 - message: "申报单位 (企业名称)不能为空!",
355 }, 309 },
356 ], 310 ],
311 + // declarationUnit18: [
312 + // {
313 + // required: true,
314 + // trigger: "blur",
315 + // message: "申报单位(18位社会信用代码)不能为空!",
316 + // },
317 + // {
318 + // validator: (rule, value, callback) => {
319 + // if (value.length != 18) {
320 + // callback("18位社会信用代码必须为18位!");
321 + // } else {
322 + // callback();
323 + // }
324 + // },
325 + // trigger: "blur",
326 + // },
327 + // ],
328 + // declarationUnit10: [
329 + // {
330 + // required: true,
331 + // trigger: "blur",
332 + // message: "申报单位(10位海关代码)不能为空!",
333 + // },
334 + // {
335 + // validator: (rule, value, callback) => {
336 + // if (value.length != 10) {
337 + // callback("10位海关代码必须为10位!");
338 + // } else {
339 + // callback();
340 + // }
341 + // },
342 + // trigger: "blur",
343 + // },
344 + // ],
345 + // declarationUnitCompanyName: [
346 + // {
347 + // required: true,
348 + // trigger: "blur",
349 + // message: "申报单位 (企业名称)不能为空!",
350 + // },
351 + // ],
357 }, 352 },
358 loadings: { 353 loadings: {
359 dialogLoading: false, 354 dialogLoading: false,
...@@ -390,17 +385,18 @@ export default { ...@@ -390,17 +385,18 @@ export default {
390 return true; 385 return true;
391 // } 386 // }
392 }, 387 },
393 - fileUpload(val) { 388 + fileUpload({ file }) {
394 - const reader = new FileReader(); 389 + if (!(file instanceof File)) {
395 - reader.readAsDataURL(val.file); 390 + console.error('The provided file is not a valid File object.');
396 - reader.onload = (e) => { 391 + return;
397 - let obj = { 392 + }
398 - file: e.target.result, 393 + console.log(file);
399 - name: val.file.name, 394 + const reader = new FileReader();
400 - }; 395 + reader.readAsDataURL(file);
401 - this.formData.file = obj; 396 + reader.onload = (e) => {
402 - }; 397 + this.formData.file = file;
403 - }, 398 + };
399 + },
404 fileChange(val) {}, 400 fileChange(val) {},
405 handleSuccess() {}, 401 handleSuccess() {},
406 clearFile() {}, 402 clearFile() {},
...@@ -430,52 +426,77 @@ export default { ...@@ -430,52 +426,77 @@ export default {
430 }, 426 },
431 //数据保存 427 //数据保存
432 submit() { 428 submit() {
433 - this.loadings.dialogLoading = true; 429 + this.loadings.dialogLoading = true;
434 - let obj = {}; 430 + let obj = {};
435 - if (this.type == "add") { 431 + if (this.type == "add") {
436 - this.$refs.formData.validate((valid) => { 432 + this.$refs.formData.validate((valid) => {
437 - if (valid) { 433 + if (valid) {
438 - obj = this.formData; 434 + obj = this.formData;
439 - this.addApi(obj); 435 + this.addApi(obj);
440 - } else { 436 + } else {
441 - this.loadings.dialogLoading = false; 437 + this.loadings.dialogLoading = false;
442 - } 438 + }
443 - }); 439 + });
444 - } else if (this.type == "update") { 440 + } else if (this.type == "update") {
445 - this.$refs.formData.validate((valid) => { 441 + this.$refs.formData.validate((valid) => {
446 - if (valid) { 442 + if (valid) {
447 - obj = this.formData; 443 + obj = this.formData;
448 - this.updateapi(obj); 444 + this.updateapi(obj);
445 + } else {
446 + this.loadings.dialogLoading = false;
447 + }
448 + });
449 + }
450 + },
451 + addApi(val) {
452 + addCustomerData(val)
453 + .then((res) => {
454 + if (res.code === "200") {
455 + if (this.formData.file) {
456 + this.uploadCertificate(val.ecomEntCode, this.formData.file);
449 } else { 457 } else {
450 - this.loadings.dialogLoading = false; 458 + this.msgSuccess("客户添加成功!");
451 - }
452 - });
453 - }
454 - },
455 - //新增
456 - addApi(val) {
457 - addPortData(val)
458 - .then((res) => {
459 - if (res.code === "200") {
460 - this.msgSuccess(res.message);
461 this.close(); 459 this.close();
462 - } else {
463 - this.alertWarningMsg(res.message);
464 - this.loadings.dialogLoading = false;
465 } 460 }
466 - }) 461 + } else {
467 - .catch((err) => { 462 + this.alertWarningMsg(res.message);
468 - console.log(err);
469 this.loadings.dialogLoading = false; 463 this.loadings.dialogLoading = false;
470 - }); 464 + }
471 - }, 465 + })
466 + .catch((err) => {
467 + console.log(err);
468 + this.loadings.dialogLoading = false;
469 + });
470 + },
471 + uploadCertificate(ecomEntCode, file) {
472 + uploadCertificate(ecomEntCode, file)
473 + .then((uploadRes) => {
474 + if (uploadRes.code === "200") {
475 + this.msgSuccess("客户添加和证书上传成功!");
476 + this.close();
477 + } else {
478 + this.alertWarningMsg(uploadRes.message);
479 + }
480 + this.loadings.dialogLoading = false;
481 + })
482 + .catch((err) => {
483 + console.log(err);
484 + this.loadings.dialogLoading = false;
485 + });
486 + },
472 //修改 487 //修改
473 updateapi(val) { 488 updateapi(val) {
474 - updatePortData(val) 489 + updateCustomerData(val)
475 .then((res) => { 490 .then((res) => {
476 if (res.code === "200") { 491 if (res.code === "200") {
477 - this.msgSuccess(res.message); 492 + // this.msgSuccess(res.message);
478 - this.close(); 493 + // this.close();
494 + if (this.formData.file) {
495 + this.uploadCertificate(val.ecomEntCode, this.formData.file);
496 + } else {
497 + this.msgSuccess("客户修改成功!");
498 + this.close();
499 + }
479 } else { 500 } else {
480 this.alertWarningMsg(res.message); 501 this.alertWarningMsg(res.message);
481 this.loadings.dialogLoading = false; 502 this.loadings.dialogLoading = false;
......
...@@ -330,6 +330,7 @@ export default { ...@@ -330,6 +330,7 @@ export default {
330 this.editType = "update"; 330 this.editType = "update";
331 this.outerVisible = true; 331 this.outerVisible = true;
332 this.activeData = val; 332 this.activeData = val;
333 + console.log(this.activeData);
333 }, 334 },
334 dialogClose() { 335 dialogClose() {
335 this.outerVisible = false; 336 this.outerVisible = false;
......