Commit 3432e885efb8668d61cafab1abb8b07cdd123d61

Authored by 曾国涛
1 parent 0c58fbdf

feat: 开票后确认发货功能开发。

src/pages/Order/components/CheckModal.tsx
... ... @@ -34,6 +34,7 @@ import {
34 34 } from '@/utils';
35 35 import { PlusOutlined } from '@ant-design/icons';
36 36 import { cloneDeep } from 'lodash';
  37 +
37 38 export default ({
38 39 setCheckVisible,
39 40 data,
... ... @@ -43,6 +44,7 @@ export default ({
43 44 onClose,
44 45 }) => {
45 46 const [previewOpen, setPreviewOpen] = useState(false);
  47 + const [aPopoverTitle, setAPopoverTitle] = useState('审核');
46 48 const [previewImage, setPreviewImage] = useState('');
47 49 const [previewTitle, setPreviewTitle] = useState('');
48 50 const [paymentReceiptsImages, setPymentReceiptsImages] = useState<any[]>([]);
... ... @@ -116,6 +118,9 @@ export default ({
116 118 };
117 119  
118 120 useEffect(() => {
  121 + if (checkType(CHECK_TYPE.CONFIRM_DELIVER)) {
  122 + setAPopoverTitle('确认发货');
  123 + }
119 124 getOrderAfterSalesInfo();
120 125  
121 126 let paymentReceiptsImagesList: any[] = [];
... ... @@ -347,6 +352,32 @@ export default ({
347 352 }
348 353 }
349 354  
  355 + function computeType() {
  356 + let type: string = '';
  357 + if (checkType(CHECK_TYPE.CONFIRM_DELIVER)) {
  358 + type = 'confirm_deliver';
  359 + }
  360 + if (checkType(CHECK_TYPE.WEARHOUSE_KEEPER)) {
  361 + type = 'warehouse_audit';
  362 + }
  363 + if (checkType(CHECK_TYPE.WAITING_FOR_POST_AUDIT)) {
  364 + type = 'post_audit';
  365 + }
  366 + if (checkType(CHECK_TYPE.NODE_OPERATING_AUDIT)) {
  367 + type = 'node_operating_audit';
  368 + }
  369 + if (checkType(CHECK_TYPE.MODIFY_LEADER_AUDIT)) {
  370 + type = 'modify_leader_audit';
  371 + }
  372 + if (checkType(CHECK_TYPE.URGENT_INVOICE_AUDITING)) {
  373 + type = 'urgent_invoice_audit';
  374 + }
  375 + if (checkType(CHECK_TYPE.PAYMENT_RECEIPTS_AUDIT)) {
  376 + type = 'payment_receipt_audit';
  377 + }
  378 + return type;
  379 + }
  380 +
350 381 return (
351 382 <>
352 383 <ModalForm<{
... ... @@ -355,7 +386,7 @@ export default ({
355 386 }>
356 387 width={500}
357 388 open
358   - title="审核"
  389 + title={aPopoverTitle}
359 390 form={form}
360 391 autoFocusFirstInput
361 392 modalProps={{
... ... @@ -369,77 +400,63 @@ export default ({
369 400 submitter={{
370 401 render: (props, defaultDoms) => {
371 402 let myDoms = [];
372   - myDoms.push(
373   - <Button
374   - key="驳回"
375   - onClick={async () => {
376   - if (checkType(CHECK_TYPE.AFTER_SALES)) {
377   - doAfterSalesCheck({
378   - applyType: 'after-sales',
379   - isAfterSalesSuccess: false,
380   - subOrderIds: subOrderIds,
381   - mainId: mainOrderId,
382   - afterSalesRejectionNotes: form.getFieldValue('name'),
383   - });
384   - return;
385   - }
  403 + if (!checkType(CHECK_TYPE.CONFIRM_DELIVER)) {
  404 + myDoms.push(
  405 + <Button
  406 + key="驳回"
  407 + onClick={async () => {
  408 + if (checkType(CHECK_TYPE.AFTER_SALES)) {
  409 + doAfterSalesCheck({
  410 + applyType: 'after-sales',
  411 + isAfterSalesSuccess: false,
  412 + subOrderIds: subOrderIds,
  413 + mainId: mainOrderId,
  414 + afterSalesRejectionNotes: form.getFieldValue('name'),
  415 + });
  416 + return;
  417 + }
386 418  
387   - if (checkType(CHECK_TYPE.FINALCIAL)) {
388   - let values = { name: form.getFieldValue('name') };
389   - doFinancailCheck(values, false);
390   - return;
391   - }
  419 + if (checkType(CHECK_TYPE.FINALCIAL)) {
  420 + let values = { name: form.getFieldValue('name') };
  421 + doFinancailCheck(values, false);
  422 + return;
  423 + }
392 424  
393   - if (checkType(CHECK_TYPE.LEADER_AUDIT)) {
394   - doLeaderCheck({
395   - pass: false,
396   - subOrderIds: subOrderIds,
397   - reason: form.getFieldValue('name'),
398   - });
399   - return;
400   - }
  425 + if (checkType(CHECK_TYPE.LEADER_AUDIT)) {
  426 + doLeaderCheck({
  427 + pass: false,
  428 + subOrderIds: subOrderIds,
  429 + reason: form.getFieldValue('name'),
  430 + });
  431 + return;
  432 + }
  433 +
  434 + if (checkType(CHECK_TYPE.MODIFY_APPLY_WAIT_FOR_AUDIT)) {
  435 + doAfterSalesCheck({
  436 + applyType: 'order-change-normal',
  437 + isAfterSalesSuccess: false,
  438 + subOrderIds: subOrderIds,
  439 + mainId: mainOrderId,
  440 + afterSalesRejectionNotes: form.getFieldValue('name'),
  441 + });
  442 + return;
  443 + }
401 444  
402   - if (checkType(CHECK_TYPE.MODIFY_APPLY_WAIT_FOR_AUDIT)) {
403   - doAfterSalesCheck({
404   - applyType: 'order-change-normal',
405   - isAfterSalesSuccess: false,
  445 + let type = '';
  446 + type = computeType();
  447 + console.log('type:' + type);
  448 + doCheck({
  449 + pass: false,
406 450 subOrderIds: subOrderIds,
407   - mainId: mainOrderId,
408   - afterSalesRejectionNotes: form.getFieldValue('name'),
  451 + type: type,
  452 + notes: form.getFieldValue('name'),
409 453 });
410   - return;
411   - }
412   -
413   - let type = '';
414   - if (checkType(CHECK_TYPE.WEARHOUSE_KEEPER)) {
415   - type = 'warehouse_audit';
416   - }
417   - if (checkType(CHECK_TYPE.WAITING_FOR_POST_AUDIT)) {
418   - type = 'post_audit';
419   - }
420   - if (checkType(CHECK_TYPE.NODE_OPERATING_AUDIT)) {
421   - type = 'node_operating_audit';
422   - }
423   - if (checkType(CHECK_TYPE.MODIFY_LEADER_AUDIT)) {
424   - type = 'modify_leader_audit';
425   - }
426   - if (checkType(CHECK_TYPE.URGENT_INVOICE_AUDITING)) {
427   - type = 'urgent_invoice_audit';
428   - }
429   - if (checkType(CHECK_TYPE.PAYMENT_RECEIPTS_AUDIT)) {
430   - type = 'payment_receipt_audit';
431   - }
432   - doCheck({
433   - pass: false,
434   - subOrderIds: subOrderIds,
435   - type: type,
436   - notes: form.getFieldValue('name'),
437   - });
438   - }}
439   - >
440   - 驳回
441   - </Button>,
442   - );
  454 + }}
  455 + >
  456 + 驳回
  457 + </Button>,
  458 + );
  459 + }
443 460  
444 461 //如果是仓库审核,那么显示这个外部采购
445 462 if (checkType(CHECK_TYPE.WEARHOUSE_KEEPER)) {
... ... @@ -508,24 +525,7 @@ export default ({
508 525 }
509 526  
510 527 let type = '';
511   - if (checkType(CHECK_TYPE.WEARHOUSE_KEEPER)) {
512   - type = 'warehouse_audit';
513   - }
514   - if (checkType(CHECK_TYPE.WAITING_FOR_POST_AUDIT)) {
515   - type = 'post_audit';
516   - }
517   - if (checkType(CHECK_TYPE.NODE_OPERATING_AUDIT)) {
518   - type = 'node_operating_audit';
519   - }
520   - if (checkType(CHECK_TYPE.MODIFY_LEADER_AUDIT)) {
521   - type = 'modify_leader_audit';
522   - }
523   - if (checkType(CHECK_TYPE.URGENT_INVOICE_AUDITING)) {
524   - type = 'urgent_invoice_audit';
525   - }
526   - if (checkType(CHECK_TYPE.PAYMENT_RECEIPTS_AUDIT)) {
527   - type = 'payment_receipt_audit';
528   - }
  528 + type = computeType();
529 529 doCheck({
530 530 pass: true,
531 531 subOrderIds: subOrderIds,
... ... @@ -578,12 +578,14 @@ export default ({
578 578 )}
579 579  
580 580 <div>请特别注意订单总金额与订单金额。</div>
581   - {checkType(CHECK_TYPE.FINALCIAL) && (
  581 + {!checkType(CHECK_TYPE.CONFIRM_DELIVER) ? (
582 582 <ProFormTextArea
583 583 width="lg"
584 584 name="name"
585 585 placeholder="若驳回,请填写驳回理由"
586 586 />
  587 + ) : (
  588 + <></>
587 589 )}
588 590  
589 591 {checkType(CHECK_TYPE.FINALCIAL) ? (
... ...
src/pages/Order/constant.ts
... ... @@ -159,6 +159,7 @@ export const PAYMENT_RECEIPTS_STATUS_OPTIONS = {
159 159 };
160 160  
161 161 export const ORDER_STATUS_OPTIONS = {
  162 + WAIT_CONFIRM_DELIVER_AFTER_INVOICE: '待开票后确认发货',
162 163 UNAUDITED: '未审核',
163 164 LEADER_PROCESS: '领导待审核',
164 165 MODIFY_APPLY_WAIT_FOR_AUDIT: '修改待审核',
... ...
src/pages/Order/index.tsx
... ... @@ -1933,8 +1933,8 @@ const OrderPage = () =&gt; {
1933 1933 type="link"
1934 1934 onClick={() => {
1935 1935 createOptObject(optRecord.id, record.id);
1936   - setCheckVisible(true);
1937 1936 setOrderCheckType(CHECK_TYPE.CONFIRM_DELIVER);
  1937 + setCheckVisible(true);
1938 1938 }}
1939 1939 >
1940 1940 确认发货
... ...