huangbin 4 年之前
父节点
当前提交
32dc02a2d1
共有 20 个文件被更改,包括 452 次插入620 次删除
  1. 1 1
      src/services/go/wrtrade/index.ts
  2. 13 9
      src/views/order/performance_information/components/components/breach_contract/index.vue
  3. 0 0
      src/views/order/performance_information/components/components/breach_contract/interface.ts
  4. 0 0
      src/views/order/performance_information/components/components/breach_contract/setup.ts
  5. 127 0
      src/views/order/performance_information/components/components/detail/index.vue
  6. 147 0
      src/views/order/performance_information/components/components/extension/index.vue
  7. 0 0
      src/views/order/performance_information/components/components/extension/interface.ts
  8. 0 0
      src/views/order/performance_information/components/components/extension/setup.ts
  9. 119 0
      src/views/order/performance_information/components/components/pay/index.vue
  10. 13 11
      src/views/order/performance_information/components/components/settlement/index.vue
  11. 16 0
      src/views/order/performance_information/components/components/setup.ts
  12. 0 117
      src/views/order/performance_information/components/performance_information_buy_performance/components/detail/index.vue
  13. 0 146
      src/views/order/performance_information/components/performance_information_buy_performance/components/extension/index.vue
  14. 0 114
      src/views/order/performance_information/components/performance_information_buy_performance/components/pay/index.vue
  15. 8 5
      src/views/order/performance_information/components/performance_information_buy_performance/index.vue
  16. 0 53
      src/views/order/performance_information/components/performance_information_sell_performance/components/breach_contract/index.vue
  17. 0 53
      src/views/order/performance_information/components/performance_information_sell_performance/components/detail/index.vue
  18. 0 53
      src/views/order/performance_information/components/performance_information_sell_performance/components/extension/index.vue
  19. 0 53
      src/views/order/performance_information/components/performance_information_sell_performance/components/pay/index.vue
  20. 8 5
      src/views/order/performance_information/components/performance_information_sell_performance/index.vue

+ 1 - 1
src/services/go/wrtrade/index.ts

@@ -194,7 +194,7 @@ export function queryWrTradeDetail(req: QueryWrTradeDetailReq): Promise<WrTradeD
 /**
  * 查询履约信息详情 /WrTrade2/QueryWrPerformancePlanStep
  */
-export function queryWrPerformancePlanStep(req: QueryWrPerformancePlanStepReq): Promise<WrPerformancePlanStep> {
+export function queryWrPerformancePlanStep(req: QueryWrPerformancePlanStepReq): Promise<WrPerformancePlanStep[]> {
     return commonSearch_go('/WrTrade2/QueryWrPerformancePlanStep', req).catch((err) => {
         throw new Error(`查询履约信息详情: ${err}`);
     });

+ 13 - 9
src/views/order/performance_information/components/performance_information_buy_performance/components/breach_contract/index.vue → src/views/order/performance_information/components/components/breach_contract/index.vue

@@ -74,7 +74,7 @@
 <script lang="ts">
 import { defineComponent, PropType, ref } from 'vue';
 import Drawer from '@/common/components/drawer/index.vue';
-import {WrPerformancePlan, WrPosition} from '@/services/go/wrtrade/interface';
+import { WrPerformancePlan, WrPosition } from '@/services/go/wrtrade/interface';
 import { ModalEnum } from '@/common/constants/modalNameEnum';
 import { _closeModal } from '@/common/setup/modal/modal';
 import { handleForm } from './setup';
@@ -82,10 +82,12 @@ import { validateAction } from '@/common/setup/form';
 import { FormState } from './interface';
 import UploadImg from '@/common/components/uploadImg/index.vue';
 import { getUploadImg } from '@/common/setup/upload';
-import {PerformanceDelayApplyReq} from "@/services/proto/performance/interface";
-import {getUserId} from "@/services/bus/account";
-import {requestResultLoadingAndInfo} from "@/common/methods/request/resultInfo";
-import {performanceContractedApply, performanceDelayApply} from "@/services/proto/performance";
+import { PerformanceDelayApplyReq } from '@/services/proto/performance/interface';
+import { getUserId } from '@/services/bus/account';
+import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { performanceContractedApply, performanceDelayApply } from '@/services/proto/performance';
+import { BuyOrSell } from '@/common/constants/enumCommon';
+import { handlePerformancePlanStep } from '../setup';
 
 export default defineComponent({
     name: ModalEnum.performance_information_buy_performance_breach_contract,
@@ -96,12 +98,17 @@ export default defineComponent({
             type: Object as PropType<WrPerformancePlan>,
             default: {},
         },
+        buyOrSell: {
+            type: Number as PropType<BuyOrSell>,
+            default: BuyOrSell.buy,
+        },
     },
     setup(props, context) {
         const { visible, cancel } = _closeModal(context);
         const loading = ref<boolean>(false);
         const { rules, formState, formRef } = handleForm();
         const { uploadImgAction, uploadImgList, handleImg } = getUploadImg();
+        const { performancePlanStep } = handlePerformancePlanStep(props.selectedRow);
         function submit() {
             validateAction<FormState>(formRef, formState).then((param) => {
                 // 违约申请
@@ -109,15 +116,12 @@ export default defineComponent({
                     PerformancePlanStepID: props.selectedRow.curstepid,
                     delaydays: 2,
                     applicant: getUserId(),
-                    applyremark: param.remark
+                    applyremark: param.remark,
                 };
                 debugger;
                 requestResultLoadingAndInfo(performanceContractedApply, paramReq, loading, ['违约成功', '违约失败:']).then(() => {
                     cancel(true);
                 });
-
-
-
             });
         }
         return {

+ 0 - 0
src/views/order/performance_information/components/performance_information_buy_performance/components/breach_contract/interface.ts → src/views/order/performance_information/components/components/breach_contract/interface.ts


+ 0 - 0
src/views/order/performance_information/components/performance_information_buy_performance/components/breach_contract/setup.ts → src/views/order/performance_information/components/components/breach_contract/setup.ts


+ 127 - 0
src/views/order/performance_information/components/components/detail/index.vue

@@ -0,0 +1,127 @@
+<template>
+  <!-- 履约明细-->
+  <Drawer :title="'履约明细'"
+          :placement="'bottom'"
+          :visible="visible"
+          @cancel="cancel">
+    <!-- <div class="listed">
+      <div class="condition">
+        <a-button class="conditionBtn">{{selectedRow.deliverygoodsname}}</a-button>
+        <a-button class="conditionBtn">{{selectedRow.wrtypename}}</a-button>
+        <a-button class="conditionBtn">{{selectedRow.warehousename}}</a-button>
+      </div>
+        </div>-->
+    <div class="performanceSteps">
+      <a-steps v-model:current="current"
+               class="commonSteps"
+               direction="vertical">
+        <a-step status="finish">
+          <template #title>
+            <div class="block">
+              <div class="line">
+                <div class="num">1</div>
+                <div class="desc">买方30%货款</div>
+                <div class="day">T+30</div>
+                <CaretRightOutlined class="arrowRight" />
+              </div>
+              <div class="tip">已完成</div>
+            </div>
+          </template>
+        </a-step>
+        <a-step status="finish">
+          <template #title>
+            <div class="block">
+              <div class="line">
+                <div class="num">2</div>
+                <div class="desc">卖方发货</div>
+                <div class="day">T+3</div>
+                <CaretRightOutlined class="arrowRight" />
+              </div>
+              <div class="tip">已完成</div>
+            </div>
+          </template>
+        </a-step>
+        <a-step status="process">
+          <template #title>
+            <div class="block">
+              <div class="line">
+                <div class="num">3</div>
+                <div class="desc">买方70%货款</div>
+                <div class="day">T+10</div>
+                <CaretRightOutlined class="arrowRight" />
+              </div>
+              <div class="tip">2日后扣款</div>
+            </div>
+          </template>
+        </a-step>
+        <a-step status="wait">
+          <template #title>
+            <div class="block">
+              <div class="line">
+                <div class="num">4</div>
+                <div class="desc">卖方开票</div>
+                <div class="day">T+1</div>
+                <CaretRightOutlined class="arrowRight" />
+              </div>
+              <div class="tip">未开始</div>
+            </div>
+          </template>
+        </a-step>
+      </a-steps>
+    </div>
+  </Drawer>
+</template>
+
+<script lang="ts">
+import { defineComponent, PropType, ref } from 'vue';
+import { enumOrderComponents } from '@/common/constants/enumOrderComponents';
+import Drawer from '@/common/components/drawer/index.vue';
+import { QueryWrPositionReq, WrHoldLB, WrPerformancePlan, WrPosition } from '@/services/go/wrtrade/interface';
+import { getInTaAccount, getUserId } from '@/services/bus/account';
+import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { hdWROrder } from '@/services/proto/warehousetrade';
+import { v4 as uuidv4 } from 'uuid';
+import moment from 'moment';
+import { ModalEnum } from '@/common/constants/modalNameEnum';
+import { _closeModal } from '@/common/setup/modal/modal';
+import { validateAction } from '@/common/setup/form';
+import { getMarketRunByTradeMode } from '@/services/bus/market';
+import { message } from 'ant-design-vue';
+import { getGoodsGroupsByTradeMode } from '@/services/bus/goods';
+import { BuyOrSell, TradeMode } from '@/common/constants/enumCommon';
+import { WRGoodsInfo } from '@/services/proto/warehousetrade/interface';
+import { CaretRightOutlined } from '@ant-design/icons-vue';
+import { handlePerformancePlanStep } from '../setup';
+
+export default defineComponent({
+    name: ModalEnum.performance_information_buy_performance_detail,
+    components: { Drawer, CaretRightOutlined },
+    emits: ['cancel', 'update'],
+    props: {
+        selectedRow: {
+            type: Object as PropType<WrPerformancePlan>,
+            default: {},
+        },
+        buyOrSell: {
+            type: Number as PropType<BuyOrSell>,
+            default: BuyOrSell.buy,
+        },
+    },
+    setup(props, context) {
+        const { visible, cancel } = _closeModal(context);
+        const { performancePlanStep } = handlePerformancePlanStep(props.selectedRow);
+        const current = ref<number>(0);
+        return {
+            visible,
+            cancel,
+            current,
+        };
+    },
+});
+</script>
+
+<style lang="less" scoped>
+.performanceSteps {
+    padding: 25px 40px;
+}
+</style>;

+ 147 - 0
src/views/order/performance_information/components/components/extension/index.vue

@@ -0,0 +1,147 @@
+<template>
+  <!-- 延期-->
+  <Drawer :title="'延期申请'"
+          :placement="'right'"
+          class="delistingBottom"
+          :visible="visible"
+          @cancel="cancel">
+    <div class="listed">
+      <div class="formBar">
+        <a-form class="inlineForm dialogForm"
+                ref="formRef"
+                :model="formState"
+                :rules="rules">
+          <a-row :gutter="24">
+            <a-col :span="12">
+              <a-form-item label="品种">
+                <span class="white ml10">{{selectedRow.deliverygoodsname}}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="仓库">
+                <span class="white ml10">{{selectedRow.warehousename}}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24">
+              <a-form-item label="履约商品">
+                <span class="white ml10">{{selectedRow.wrtypename}}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24">
+              <a-form-item label="当前步骤">
+                <span class="white ml10">{{selectedRow.curstepname}}((超期天数:331)</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24">
+              <a-form-item label="关联单号">
+                <span class="white ml10">86989565623</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24">
+              <a-form-item label="申请延期天数"
+                           name="days"
+                           class="relative">
+                <a-input-number class="commonInput ml10"
+                                :min="1"
+                                v-model:value="formState.days"
+                                style="width: 200px" />
+                <div class="day">天</div>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24">
+              <a-form-item label="备注"
+                           name="remark">
+                <a-input class="commonInput ml10"
+                         v-model:value="formState.remark"
+                         style="width: 420px" />
+              </a-form-item>
+            </a-col>
+          </a-row>
+          <a-row :gutter="24"
+                 type="flex"
+                 justify="center">
+            <a-col :span="24">
+              <a-form-item class="tc">
+                <a-button class="listedBtn"
+                          :loading="loading"
+                          :disabled="loading"
+                          @click="submit">提交</a-button>
+              </a-form-item>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+    </div>
+  </Drawer>
+</template>
+
+<script lang="ts">
+import { defineComponent, PropType, ref } from 'vue';
+import Drawer from '@/common/components/drawer/index.vue';
+import { WrPerformancePlan, WrPosition } from '@/services/go/wrtrade/interface';
+import { ModalEnum } from '@/common/constants/modalNameEnum';
+import { _closeModal } from '@/common/setup/modal/modal';
+import { handleForm } from './setup';
+import { validateAction } from '@/common/setup/form';
+import { FormState } from './interface';
+import { PerformanceDelayApplyReq, PerformanceManualConfirmReq } from '@/services/proto/performance/interface';
+import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { performanceDelayApply, performanceManualConfirm } from '@/services/proto/performance';
+import { getUserId } from '@/services/bus/account';
+import { BuyOrSell } from '@/common/constants/enumCommon';
+import { handlePerformancePlanStep } from '../setup';
+
+export default defineComponent({
+    name: ModalEnum.performance_information_buy_performance_extension,
+    components: { Drawer },
+    emits: ['cancel', 'update'],
+    props: {
+        selectedRow: {
+            type: Object as PropType<WrPerformancePlan>,
+            default: {},
+        },
+        buyOrSell: {
+            type: Number as PropType<BuyOrSell>,
+            default: BuyOrSell.buy,
+        },
+    },
+    setup(props, context) {
+        const { visible, cancel } = _closeModal(context);
+        const loading = ref<boolean>(false);
+        const { rules, formState, formRef } = handleForm();
+                const { performancePlanStep } = handlePerformancePlanStep(props.selectedRow);
+        function submit() {
+            validateAction<FormState>(formRef, formState).then((param) => {
+                // 延期申请
+                const paramReq: PerformanceDelayApplyReq = {
+                    PerformancePlanStepID: props.selectedRow.curstepid,
+                    delaydays: param.days as number,
+                    applicant: getUserId(),
+                    applyremark: param.remark,
+                };
+                debugger;
+                requestResultLoadingAndInfo(performanceDelayApply, paramReq, loading, ['延期成功', '延期失败:']).then(() => {
+                    cancel(true);
+                });
+            });
+        }
+        return {
+            visible,
+            cancel,
+            submit,
+            loading,
+            rules,
+            formState,
+            formRef,
+        };
+    },
+});
+</script>
+
+<style lang="less" scoped>
+.day {
+    .position(absolute, auto, -24px, 0, auto);
+    line-height: 26px;
+    color: @m-grey1;
+}
+</style>;

+ 0 - 0
src/views/order/performance_information/components/performance_information_buy_performance/components/extension/interface.ts → src/views/order/performance_information/components/components/extension/interface.ts


+ 0 - 0
src/views/order/performance_information/components/performance_information_buy_performance/components/extension/setup.ts → src/views/order/performance_information/components/components/extension/setup.ts


+ 119 - 0
src/views/order/performance_information/components/components/pay/index.vue

@@ -0,0 +1,119 @@
+<template>
+  <!-- 付款-->
+  <Drawer :title="'付款'"
+          :placement="'right'"
+          :visible="visible"
+          class="delistingBottom"
+          @cancel="cancel">
+    <div class="listed">
+      <div class="formBar">
+        <a-form class="inlineForm dialogForm"
+                ref="formRef">
+          <a-row :gutter="24">
+            <a-col :span="12">
+              <a-form-item label="品种">
+                <span class="white ml10">{{selectedRow.deliverygoodsname}}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="仓库">
+                <span class="white ml10">{{selectedRow.warehousename}}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24">
+              <a-form-item label="履约商品">
+                <span class="white ml10">{{selectedRow.wrtypename}}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24">
+              <a-form-item label="履约总金额">
+                <span class="white ml10">{{selectedRow.amount.toFixed(2)}}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24">
+              <a-form-item label="当前步骤">
+                <span class="white ml10">{{selectedRow.curstepname}}(</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24">
+              <a-form-item label="本次需支付">
+                <span class="white ml10">1000.00</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24">
+              <a-form-item label="剩余款">
+                <span class="white ml10">{{selectedRow.unpaidamount.toFixed(2)}}</span>
+              </a-form-item>
+            </a-col>
+          </a-row>
+          <a-row :gutter="24"
+                 type="flex"
+                 justify="center">
+            <a-col :span="24">
+              <a-form-item class="tc">
+                <a-button class="listedBtn"
+                          :loading="loading"
+                          :disabled="loading"
+                          @click="submit">提交</a-button>
+              </a-form-item>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+    </div>
+  </Drawer>
+</template>
+
+<script lang="ts">
+import { defineComponent, PropType, ref } from 'vue';
+import Drawer from '@/common/components/drawer/index.vue';
+import { WrPerformancePlan, WrPosition } from '@/services/go/wrtrade/interface';
+import { ModalEnum } from '@/common/constants/modalNameEnum';
+import { _closeModal } from '@/common/setup/modal/modal';
+import { performanceManualConfirm } from '@/services/proto/performance';
+import { PerformanceManualConfirmReq } from '@/services/proto/performance/interface';
+import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { HdWRDealOrder } from '@/services/proto/warehousetrade';
+import { BuyOrSell } from '@/common/constants/enumCommon';
+import { handlePerformancePlanStep } from '../setup';
+
+export default defineComponent({
+    name: ModalEnum.performance_information_buy_performance_pay,
+    components: { Drawer },
+    emits: ['cancel', 'update'],
+    props: {
+        selectedRow: {
+            type: Object as PropType<WrPerformancePlan>,
+            default: {},
+        },
+        buyOrSell: {
+            type: Number as PropType<BuyOrSell>,
+            default: BuyOrSell.buy,
+        },
+    },
+    setup(props, context) {
+        const { visible, cancel } = _closeModal(context);
+        const loading = ref<boolean>(false);
+        const { performancePlanStep } = handlePerformancePlanStep(props.selectedRow);
+        function submit() {
+            const param: PerformanceManualConfirmReq = {
+                PerformancePlanStepID: props.selectedRow.curstepid,
+                PerformanceExecuteSide: 1,
+            };
+            debugger;
+            requestResultLoadingAndInfo(performanceManualConfirm, param, loading, ['付款成功', '付款失败:']).then(() => {
+                cancel(true);
+            });
+        }
+        return {
+            visible,
+            cancel,
+            submit,
+            loading,
+        };
+    },
+});
+</script>
+
+<style lang="less" scoped>
+</style>;

+ 13 - 11
src/views/order/performance_information/components/performance_information_buy_performance/components/settlement/index.vue → src/views/order/performance_information/components/components/settlement/index.vue

@@ -13,13 +13,15 @@
 <script lang="ts">
 import { defineComponent, PropType, ref } from 'vue';
 import Drawer from '@/common/components/drawer/index.vue';
-import {WrPerformancePlan, WrPosition} from '@/services/go/wrtrade/interface';
+import { WrPerformancePlan, WrPosition } from '@/services/go/wrtrade/interface';
 import { ModalEnum } from '@/common/constants/modalNameEnum';
 import { _closeModal } from '@/common/setup/modal/modal';
-import {PerformanceActivateReq, PerformanceDelayApplyReq} from "@/services/proto/performance/interface";
-import {getAccount_longType, getSelectedAccountId, getUserId} from "@/services/bus/account";
-import {requestResultLoadingAndInfo} from "@/common/methods/request/resultInfo";
-import {performanceActivate, performanceContractedApply} from "@/services/proto/performance";
+import { PerformanceActivateReq, PerformanceDelayApplyReq } from '@/services/proto/performance/interface';
+import { getAccount_longType, getSelectedAccountId, getUserId } from '@/services/bus/account';
+import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { performanceActivate, performanceContractedApply } from '@/services/proto/performance';
+import { BuyOrSell } from '@/common/constants/enumCommon';
+import { handlePerformancePlanStep } from '../setup';
 
 export default defineComponent({
     name: ModalEnum.performance_information_buy_performance_settlement,
@@ -30,25 +32,25 @@ export default defineComponent({
             type: Object as PropType<WrPerformancePlan>,
             default: {},
         },
+        buyOrSell: {
+            type: Number as PropType<BuyOrSell>,
+            default: BuyOrSell.buy,
+        },
     },
     setup(props, context) {
         const { visible, cancel } = _closeModal(context);
         const loading = ref<boolean>(false);
-        console.log('selectedRow', props.selectedRow);
+        const { performancePlanStep } = handlePerformancePlanStep(props.selectedRow);
         function submit() {
             // 激活接口
             const paramReq: PerformanceActivateReq = {
                 PerformancePlanID: props.selectedRow.performanceplanid, // uint64 履约计划ID
-                ApplyAccountID: getSelectedAccountId() // uint64 发起方账号ID
+                ApplyAccountID: getSelectedAccountId(), // uint64 发起方账号ID
             };
             debugger;
             requestResultLoadingAndInfo(performanceActivate, paramReq, loading, ['交收成功', '交收失败:']).then(() => {
                 cancel(true);
             });
-
-
-
-
         }
         return {
             visible,

+ 16 - 0
src/views/order/performance_information/components/components/setup.ts

@@ -0,0 +1,16 @@
+import { queryWrPerformancePlanStep } from "@/services/go/wrtrade";
+import { QueryWrPerformancePlanStepReq, WrPerformancePlan, WrPerformancePlanStep } from "@/services/go/wrtrade/interface";
+import { ref } from "vue";
+
+// 获取当前履约步骤
+export function handlePerformancePlanStep(selectedRow: WrPerformancePlan) {
+    const performancePlanStep = ref<WrPerformancePlanStep>()
+    const param: QueryWrPerformancePlanStepReq = { planid: selectedRow.performanceplanid, curstepid: selectedRow.curstepid }
+    queryWrPerformancePlanStep(param).then(res => {
+        console.log('获取当前履约步骤', res)
+        if (res.length) {
+            performancePlanStep.value = res[0]
+        }
+    })
+    return { performancePlanStep }
+}

+ 0 - 117
src/views/order/performance_information/components/performance_information_buy_performance/components/detail/index.vue

@@ -1,117 +0,0 @@
-<template>
-    <!-- 履约明细-->
-    <Drawer :title="'履约明细'" :placement="'bottom'" :visible="visible" @cancel="cancel">
-        <!-- <div class="listed">
-      <div class="condition">
-        <a-button class="conditionBtn">{{selectedRow.deliverygoodsname}}</a-button>
-        <a-button class="conditionBtn">{{selectedRow.wrtypename}}</a-button>
-        <a-button class="conditionBtn">{{selectedRow.warehousename}}</a-button>
-      </div>
-        </div>-->
-        <div class="performanceSteps">
-            <a-steps v-model:current="current" class="commonSteps" direction="vertical">
-                <a-step status="finish">
-                    <template #title>
-                        <div class="block">
-                            <div class="line">
-                                <div class="num">1</div>
-                                <div class="desc">买方30%货款</div>
-                                <div class="day">T+30</div>
-                                <CaretRightOutlined class="arrowRight" />
-                            </div>
-                            <div class="tip">已完成</div>
-                        </div>
-                    </template>
-                </a-step>
-                <a-step status="finish">
-                    <template #title>
-                        <div class="block">
-                            <div class="line">
-                                <div class="num">2</div>
-                                <div class="desc">卖方发货</div>
-                                <div class="day">T+3</div>
-                                <CaretRightOutlined class="arrowRight" />
-                            </div>
-                            <div class="tip">已完成</div>
-                        </div>
-                    </template>
-                </a-step>
-                <a-step status="process">
-                    <template #title>
-                        <div class="block">
-                            <div class="line">
-                                <div class="num">3</div>
-                                <div class="desc">买方70%货款</div>
-                                <div class="day">T+10</div>
-                                <CaretRightOutlined class="arrowRight" />
-                            </div>
-                            <div class="tip">2日后扣款</div>
-                        </div>
-                    </template>
-                </a-step>
-                <a-step status="wait">
-                    <template #title>
-                        <div class="block">
-                            <div class="line">
-                                <div class="num">4</div>
-                                <div class="desc">卖方开票</div>
-                                <div class="day">T+1</div>
-                                <CaretRightOutlined class="arrowRight" />
-                            </div>
-                            <div class="tip">未开始</div>
-                        </div>
-                    </template>
-                </a-step>
-            </a-steps>
-        </div>
-    </Drawer>
-</template>
-
-<script lang="ts">
-import { defineComponent, PropType, ref } from 'vue';
-import { enumOrderComponents } from '@/common/constants/enumOrderComponents';
-import Drawer from '@/common/components/drawer/index.vue';
-import { QueryWrPositionReq, WrHoldLB, WrPosition } from '@/services/go/wrtrade/interface';
-import { getInTaAccount, getUserId } from '@/services/bus/account';
-import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
-import { hdWROrder } from '@/services/proto/warehousetrade';
-import { v4 as uuidv4 } from 'uuid';
-import moment from 'moment';
-import { ModalEnum } from '@/common/constants/modalNameEnum';
-import { _closeModal } from '@/common/setup/modal/modal';
-import { validateAction } from '@/common/setup/form';
-import { getMarketRunByTradeMode } from '@/services/bus/market';
-import { message } from 'ant-design-vue';
-import { getGoodsGroupsByTradeMode } from '@/services/bus/goods';
-import { TradeMode } from '@/common/constants/enumCommon';
-import { WRGoodsInfo } from '@/services/proto/warehousetrade/interface';
-import { CaretRightOutlined } from '@ant-design/icons-vue';
-
-export default defineComponent({
-    name: ModalEnum.performance_information_buy_performance_detail,
-    components: { Drawer, CaretRightOutlined },
-    emits: ['cancel', 'update'],
-    props: {
-        selectedRow: {
-            type: Object as PropType<WrPosition>,
-            default: {},
-        },
-    },
-    setup(props, context) {
-        const { visible, cancel } = _closeModal(context);
-        console.log('selectedRow', props.selectedRow);
-        const current = ref<number>(0);
-        return {
-            visible,
-            cancel,
-            current,
-        };
-    },
-});
-</script>
-
-<style lang="less" scoped>
-.performanceSteps {
-    padding: 25px 40px;
-}
-</style>;

+ 0 - 146
src/views/order/performance_information/components/performance_information_buy_performance/components/extension/index.vue

@@ -1,146 +0,0 @@
-<template>
-    <!-- 延期-->
-    <Drawer
-        :title="'延期申请'"
-        :placement="'right'"
-        class="delistingBottom"
-        :visible="visible"
-        @cancel="cancel"
-    >
-        <div class="listed">
-            <div class="formBar">
-                <a-form
-                    class="inlineForm dialogForm"
-                    ref="formRef"
-                    :model="formState"
-                    :rules="rules"
-                >
-                    <a-row :gutter="24">
-                        <a-col :span="12">
-                            <a-form-item label="品种">
-                                <span class="white ml10">{{selectedRow.deliverygoodsname}}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="仓库">
-                                <span class="white ml10">{{selectedRow.warehousename}}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24">
-                            <a-form-item label="履约商品">
-                                <span class="white ml10">{{selectedRow.wrtypename}}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24">
-                            <a-form-item label="当前步骤">
-                                <span class="white ml10">{{selectedRow.curstepname}}((超期天数:331)</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24">
-                            <a-form-item label="关联单号">
-                                <span class="white ml10">86989565623</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24">
-                            <a-form-item label="申请延期天数" name="days" class="relative">
-                                <a-input-number
-                                    class="commonInput ml10"
-                                    :min="1"
-                                    v-model:value="formState.days"
-                                    style="width: 200px"
-                                />
-                                <div class="day">天</div>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24">
-                            <a-form-item label="备注" name="remark">
-                                <a-input
-                                    class="commonInput ml10"
-                                    v-model:value="formState.remark"
-                                    style="width: 420px"
-                                />
-                            </a-form-item>
-                        </a-col>
-                    </a-row>
-                    <a-row :gutter="24" type="flex" justify="center">
-                        <a-col :span="24">
-                            <a-form-item class="tc">
-                                <a-button
-                                    class="listedBtn"
-                                    :loading="loading"
-                                    :disabled="loading"
-                                    @click="submit"
-                                >提交</a-button>
-                            </a-form-item>
-                        </a-col>
-                    </a-row>
-                </a-form>
-            </div>
-        </div>
-    </Drawer>
-</template>
-
-<script lang="ts">
-import { defineComponent, PropType, ref } from 'vue';
-import Drawer from '@/common/components/drawer/index.vue';
-import {WrPerformancePlan, WrPosition} from '@/services/go/wrtrade/interface';
-import { ModalEnum } from '@/common/constants/modalNameEnum';
-import { _closeModal } from '@/common/setup/modal/modal';
-import { handleForm } from './setup';
-import { validateAction } from '@/common/setup/form';
-import { FormState } from './interface';
-import {PerformanceDelayApplyReq, PerformanceManualConfirmReq} from "@/services/proto/performance/interface";
-import {requestResultLoadingAndInfo} from "@/common/methods/request/resultInfo";
-import {performanceDelayApply, performanceManualConfirm} from "@/services/proto/performance";
-import {getUserId} from "@/services/bus/account";
-
-export default defineComponent({
-    name: ModalEnum.performance_information_buy_performance_extension,
-    components: { Drawer },
-    emits: ['cancel', 'update'],
-    props: {
-        selectedRow: {
-            type: Object as PropType<WrPerformancePlan>,
-            default: {},
-        },
-    },
-    setup(props, context) {
-        const { visible, cancel } = _closeModal(context);
-        const loading = ref<boolean>(false);
-        const { rules, formState, formRef } = handleForm();
-        function submit() {
-            validateAction<FormState>(formRef, formState).then((param) => {
-               // 延期申请
-                const paramReq: PerformanceDelayApplyReq = {
-                    PerformancePlanStepID: props.selectedRow.curstepid,
-                    delaydays: param.days as number,
-                    applicant: getUserId(),
-                    applyremark: param.remark
-                };
-                debugger;
-                requestResultLoadingAndInfo(performanceDelayApply, paramReq, loading, ['延期成功', '延期失败:']).then(() => {
-                    cancel(true);
-                });
-
-            });
-        }
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-            rules,
-            formState,
-            formRef,
-        };
-    },
-});
-</script>
-
-<style lang="less" scoped>
-.day {
-    .position(absolute, auto, -24px, 0, auto);
-    line-height: 26px;
-    color: @m-grey1;
-}
-</style>;

+ 0 - 114
src/views/order/performance_information/components/performance_information_buy_performance/components/pay/index.vue

@@ -1,114 +0,0 @@
-<template>
-    <!-- 付款-->
-    <Drawer
-        :title="'付款'"
-        :placement="'right'"
-        :visible="visible"
-        class="delistingBottom"
-        @cancel="cancel"
-    >
-        <div class="listed">
-            <div class="formBar">
-                <a-form class="inlineForm dialogForm" ref="formRef">
-                    <a-row :gutter="24">
-                        <a-col :span="12">
-                            <a-form-item label="品种">
-                                <span class="white ml10">{{selectedRow.deliverygoodsname}}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="仓库">
-                                <span class="white ml10">{{selectedRow.warehousename}}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24">
-                            <a-form-item label="履约商品">
-                                <span class="white ml10">{{selectedRow.wrtypename}}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24">
-                            <a-form-item label="履约总金额">
-                                <span class="white ml10">{{selectedRow.amount.toFixed(2)}}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24">
-                            <a-form-item label="当前步骤">
-                                <span class="white ml10">{{selectedRow.curstepname}}(</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24">
-                            <a-form-item label="本次需支付">
-                                <span class="white ml10">1000.00</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24">
-                            <a-form-item label="剩余款">
-                                <span class="white ml10">{{selectedRow.unpaidamount.toFixed(2)}}</span>
-                            </a-form-item>
-                        </a-col>
-                    </a-row>
-                    <a-row :gutter="24" type="flex" justify="center">
-                        <a-col :span="24">
-                            <a-form-item class="tc">
-                                <a-button
-                                    class="listedBtn"
-                                    :loading="loading"
-                                    :disabled="loading"
-                                    @click="submit"
-                                >提交</a-button>
-                            </a-form-item>
-                        </a-col>
-                    </a-row>
-                </a-form>
-            </div>
-        </div>
-    </Drawer>
-</template>
-
-<script lang="ts">
-import { defineComponent, PropType, ref } from 'vue';
-import Drawer from '@/common/components/drawer/index.vue';
-import { WrPerformancePlan, WrPosition } from '@/services/go/wrtrade/interface';
-import { ModalEnum } from '@/common/constants/modalNameEnum';
-import { _closeModal } from '@/common/setup/modal/modal';
-import { performanceManualConfirm } from '@/services/proto/performance';
-import { PerformanceManualConfirmReq } from '@/services/proto/performance/interface';
-import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
-import { HdWRDealOrder } from '@/services/proto/warehousetrade';
-
-export default defineComponent({
-    name: ModalEnum.performance_information_buy_performance_pay,
-    components: { Drawer },
-    emits: ['cancel', 'update'],
-    props: {
-        selectedRow: {
-            type: Object as PropType<WrPerformancePlan>,
-            default: {},
-        },
-    },
-    setup(props, context) {
-        const { visible, cancel } = _closeModal(context);
-        const loading = ref<boolean>(false);
-        console.log('selectedRow', props.selectedRow);
-        function submit() {
-            const param: PerformanceManualConfirmReq = {
-                PerformancePlanStepID: props.selectedRow.curstepid,
-                PerformanceExecuteSide: 1,
-            };
-            debugger;
-            requestResultLoadingAndInfo(performanceManualConfirm, param, loading, ['付款成功', '付款失败:']).then(() => {
-                cancel(true);
-            });
-        }
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-        };
-    },
-});
-</script>
-
-<style lang="less" scoped>
-</style>;

+ 8 - 5
src/views/order/performance_information/components/performance_information_buy_performance/index.vue

@@ -42,6 +42,7 @@
     <component :is="componentId"
                v-if="componentId"
                :selectedRow="selectedRow"
+               :buyOrSell="BuyOrSell.buy"
                @cancel="closeComponent"></component>
   </section>
 </template>
@@ -56,16 +57,17 @@ import { handleComposeOrderTable } from '@/common/setup/table/compose';
 import { ComposeOrderTableParam } from '@/common/setup/table/interface';
 import { expandIcon } from '@/common/setup/table/clolumn';
 import { BtnList as BtnListType } from '@/common/components/btnList/interface';
+import { BuyOrSell } from '@/common/constants/enumCommon';
 import { getPaymentTypeName, getPerformanceStatusName, getPerformanceTypeName } from '@/common/constants/enumsName';
 export default defineComponent({
     name: enumOrderComponents.performance_information_buy_performance,
     components: {
         BtnList,
-        [ModalEnum.performance_information_buy_performance_pay]: defineAsyncComponent(() => import('./components/pay/index.vue')),
-        [ModalEnum.performance_information_buy_performance_extension]: defineAsyncComponent(() => import('./components/extension/index.vue')),
-        [ModalEnum.performance_information_buy_performance_breach_contract]: defineAsyncComponent(() => import('./components/breach_contract/index.vue')),
-        [ModalEnum.performance_information_buy_performance_detail]: defineAsyncComponent(() => import('./components/detail/index.vue')),
-        [ModalEnum.performance_information_buy_performance_settlement]: defineAsyncComponent(() => import('./components/settlement/index.vue')),
+        [ModalEnum.performance_information_buy_performance_pay]: defineAsyncComponent(() => import('../components/pay/index.vue')),
+        [ModalEnum.performance_information_buy_performance_extension]: defineAsyncComponent(() => import('../components/extension/index.vue')),
+        [ModalEnum.performance_information_buy_performance_breach_contract]: defineAsyncComponent(() => import('../components/breach_contract/index.vue')),
+        [ModalEnum.performance_information_buy_performance_detail]: defineAsyncComponent(() => import('../components/detail/index.vue')),
+        [ModalEnum.performance_information_buy_performance_settlement]: defineAsyncComponent(() => import('../components/settlement/index.vue')),
     },
     setup() {
         // 表格列表数据
@@ -109,6 +111,7 @@ export default defineComponent({
             getPaymentTypeName,
             expandIcon,
             handleBtn,
+            BuyOrSell,
         };
     },
 });

+ 0 - 53
src/views/order/performance_information/components/performance_information_sell_performance/components/breach_contract/index.vue

@@ -1,53 +0,0 @@
-<template>
-  <!-- 违约-->
-  <Drawer :title="'违约'"
-          :placement="'bottom'"
-          :visible="visible"
-          @cancel="cancel">
-    违约
-  </Drawer>
-</template>
-
-<script lang="ts">
-import { defineComponent, PropType, ref } from 'vue';
-import { enumOrderComponents } from '@/common/constants/enumOrderComponents';
-import Drawer from '@/common/components/drawer/index.vue';
-import { QueryWrPositionReq, WrHoldLB, WrPosition } from '@/services/go/wrtrade/interface';
-import { getInTaAccount, getUserId } from '@/services/bus/account';
-import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
-import { hdWROrder } from '@/services/proto/warehousetrade';
-import { v4 as uuidv4 } from 'uuid';
-import moment from 'moment';
-import { ModalEnum } from '@/common/constants/modalNameEnum';
-import { _closeModal } from '@/common/setup/modal/modal';
-import { validateAction } from '@/common/setup/form';
-import { getMarketRunByTradeMode } from '@/services/bus/market';
-import { message } from 'ant-design-vue';
-import { getGoodsGroupsByTradeMode } from '@/services/bus/goods';
-import { TradeMode } from '@/common/constants/enumCommon';
-import { WRGoodsInfo } from '@/services/proto/warehousetrade/interface';
-
-export default defineComponent({
-    name: ModalEnum.performance_information_sell_performance_breach_contract,
-    components: { Drawer },
-    emits: ['cancel', 'update'],
-    props: {
-        selectedRow: {
-            type: Object as PropType<WrPosition>,
-            default: {},
-        },
-    },
-    setup(props, context) {
-        const { visible, cancel } = _closeModal(context);
-        console.log('selectedRow', props.selectedRow);
-
-        return {
-            visible,
-            cancel,
-        };
-    },
-});
-</script>
-
-<style lang="less" scoped>
-</style>;

+ 0 - 53
src/views/order/performance_information/components/performance_information_sell_performance/components/detail/index.vue

@@ -1,53 +0,0 @@
-<template>
-  <!-- 详情-->
-  <Drawer :title="'详情'"
-          :placement="'bottom'"
-          :visible="visible"
-          @cancel="cancel">
-    详情
-  </Drawer>
-</template>
-
-<script lang="ts">
-import { defineComponent, PropType, ref } from 'vue';
-import { enumOrderComponents } from '@/common/constants/enumOrderComponents';
-import Drawer from '@/common/components/drawer/index.vue';
-import { QueryWrPositionReq, WrHoldLB, WrPosition } from '@/services/go/wrtrade/interface';
-import { getInTaAccount, getUserId } from '@/services/bus/account';
-import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
-import { hdWROrder } from '@/services/proto/warehousetrade';
-import { v4 as uuidv4 } from 'uuid';
-import moment from 'moment';
-import { ModalEnum } from '@/common/constants/modalNameEnum';
-import { _closeModal } from '@/common/setup/modal/modal';
-import { validateAction } from '@/common/setup/form';
-import { getMarketRunByTradeMode } from '@/services/bus/market';
-import { message } from 'ant-design-vue';
-import { getGoodsGroupsByTradeMode } from '@/services/bus/goods';
-import { TradeMode } from '@/common/constants/enumCommon';
-import { WRGoodsInfo } from '@/services/proto/warehousetrade/interface';
-
-export default defineComponent({
-    name: ModalEnum.performance_information_sell_performance_detail,
-    components: { Drawer },
-    emits: ['cancel', 'update'],
-    props: {
-        selectedRow: {
-            type: Object as PropType<WrPosition>,
-            default: {},
-        },
-    },
-    setup(props, context) {
-        const { visible, cancel } = _closeModal(context);
-        console.log('selectedRow', props.selectedRow);
-
-        return {
-            visible,
-            cancel,
-        };
-    },
-});
-</script>
-
-<style lang="less" scoped>
-</style>;

+ 0 - 53
src/views/order/performance_information/components/performance_information_sell_performance/components/extension/index.vue

@@ -1,53 +0,0 @@
-<template>
-  <!-- 延期-->
-  <Drawer :title="'延期'"
-          :placement="'bottom'"
-          :visible="visible"
-          @cancel="cancel">
-    延期
-  </Drawer>
-</template>
-
-<script lang="ts">
-import { defineComponent, PropType, ref } from 'vue';
-import { enumOrderComponents } from '@/common/constants/enumOrderComponents';
-import Drawer from '@/common/components/drawer/index.vue';
-import { QueryWrPositionReq, WrHoldLB, WrPosition } from '@/services/go/wrtrade/interface';
-import { getInTaAccount, getUserId } from '@/services/bus/account';
-import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
-import { hdWROrder } from '@/services/proto/warehousetrade';
-import { v4 as uuidv4 } from 'uuid';
-import moment from 'moment';
-import { ModalEnum } from '@/common/constants/modalNameEnum';
-import { _closeModal } from '@/common/setup/modal/modal';
-import { validateAction } from '@/common/setup/form';
-import { getMarketRunByTradeMode } from '@/services/bus/market';
-import { message } from 'ant-design-vue';
-import { getGoodsGroupsByTradeMode } from '@/services/bus/goods';
-import { TradeMode } from '@/common/constants/enumCommon';
-import { WRGoodsInfo } from '@/services/proto/warehousetrade/interface';
-
-export default defineComponent({
-    name: ModalEnum.performance_information_sell_performance_extension,
-    components: { Drawer },
-    emits: ['cancel', 'update'],
-    props: {
-        selectedRow: {
-            type: Object as PropType<WrPosition>,
-            default: {},
-        },
-    },
-    setup(props, context) {
-        const { visible, cancel } = _closeModal(context);
-        console.log('selectedRow', props.selectedRow);
-
-        return {
-            visible,
-            cancel,
-        };
-    },
-});
-</script>
-
-<style lang="less" scoped>
-</style>;

+ 0 - 53
src/views/order/performance_information/components/performance_information_sell_performance/components/pay/index.vue

@@ -1,53 +0,0 @@
-<template>
-  <!-- 付款-->
-  <Drawer :title="'付款'"
-          :placement="'bottom'"
-          :visible="visible"
-          @cancel="cancel">
-    付款
-  </Drawer>
-</template>
-
-<script lang="ts">
-import { defineComponent, PropType, ref } from 'vue';
-import { enumOrderComponents } from '@/common/constants/enumOrderComponents';
-import Drawer from '@/common/components/drawer/index.vue';
-import { QueryWrPositionReq, WrHoldLB, WrPosition } from '@/services/go/wrtrade/interface';
-import { getInTaAccount, getUserId } from '@/services/bus/account';
-import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
-import { hdWROrder } from '@/services/proto/warehousetrade';
-import { v4 as uuidv4 } from 'uuid';
-import moment from 'moment';
-import { ModalEnum } from '@/common/constants/modalNameEnum';
-import { _closeModal } from '@/common/setup/modal/modal';
-import { validateAction } from '@/common/setup/form';
-import { getMarketRunByTradeMode } from '@/services/bus/market';
-import { message } from 'ant-design-vue';
-import { getGoodsGroupsByTradeMode } from '@/services/bus/goods';
-import { TradeMode } from '@/common/constants/enumCommon';
-import { WRGoodsInfo } from '@/services/proto/warehousetrade/interface';
-
-export default defineComponent({
-    name: ModalEnum.performance_information_sell_performance_pay,
-    components: { Drawer },
-    emits: ['cancel', 'update'],
-    props: {
-        selectedRow: {
-            type: Object as PropType<WrPosition>,
-            default: {},
-        },
-    },
-    setup(props, context) {
-        const { visible, cancel } = _closeModal(context);
-        console.log('selectedRow', props.selectedRow);
-
-        return {
-            visible,
-            cancel,
-        };
-    },
-});
-</script>
-
-<style lang="less" scoped>
-</style>;

+ 8 - 5
src/views/order/performance_information/components/performance_information_sell_performance/index.vue

@@ -42,6 +42,7 @@
     </a-table>
     <component :is="componentId"
                v-if="componentId"
+               :buyOrSell="BuyOrSell.sell"
                :selectedRow="selectedRow"
                @cancel="closeComponent"></component>
   </section>
@@ -56,16 +57,17 @@ import { getRecordItemTab } from '@/common/setup/order/orderData';
 import { handleComposeOrderTable } from '@/common/setup/table/compose';
 import { expandIcon } from '@/common/setup/table/clolumn';
 import { ComposeOrderTableParam } from '@/common/setup/table/interface';
+import { BuyOrSell } from '@/common/constants/enumCommon';
 import { getPaymentTypeName, getPerformanceStatusName, getPerformanceTypeName } from '@/common/constants/enumsName';
-import { onMounted } from 'vue';
+
 export default defineComponent({
     name: enumOrderComponents.performance_information_sell_performance,
     components: {
         BtnList,
-        [ModalEnum.performance_information_sell_performance_pay]: defineAsyncComponent(() => import('./components/pay/index.vue')),
-        [ModalEnum.performance_information_sell_performance_extension]: defineAsyncComponent(() => import('./components/extension/index.vue')),
-        [ModalEnum.performance_information_sell_performance_breach_contract]: defineAsyncComponent(() => import('./components/breach_contract/index.vue')),
-        [ModalEnum.performance_information_sell_performance_detail]: defineAsyncComponent(() => import('./components/detail/index.vue')),
+        [ModalEnum.performance_information_sell_performance_pay]: defineAsyncComponent(() => import('../components/pay/index.vue')),
+        [ModalEnum.performance_information_sell_performance_extension]: defineAsyncComponent(() => import('../components/extension/index.vue')),
+        [ModalEnum.performance_information_sell_performance_breach_contract]: defineAsyncComponent(() => import('../components/breach_contract/index.vue')),
+        [ModalEnum.performance_information_sell_performance_detail]: defineAsyncComponent(() => import('../components/detail/index.vue')),
     },
     setup() {
         // 表格列表数据
@@ -91,6 +93,7 @@ export default defineComponent({
             getPaymentTypeName,
             getPerformanceStatusName,
             expandIcon,
+            BuyOrSell,
         };
     },
 });