Преглед на файлове

commit 管理-业务审核 管理-财务审核 管理-仓库审核(只完成了列表)

xkwg преди 4 години
родител
ревизия
be0023ef1f
променени са 27 файла, в които са добавени 1611 реда и са изтрити 318 реда
  1. 32 0
      public/proto/mtp.proto
  2. 3 0
      src/services/funcode/index.ts
  3. 1 1
      src/services/go/ermcp/finance-review/interface.ts
  4. 38 3
      src/services/proto/contract/index.ts
  5. 28 1
      src/services/proto/contract/interface.ts
  6. 147 6
      src/views/manage/business-review/components/settlementAudit/index.vue
  7. 156 41
      src/views/manage/business-review/components/settlementCancel/index.vue
  8. 82 9
      src/views/manage/business-review/components/settlementDetail/index.vue
  9. 22 0
      src/views/manage/business-review/components/setup.ts
  10. 69 11
      src/views/manage/business-review/components/somepriceAudit/index.vue
  11. 37 1
      src/views/manage/business-review/components/somepriceCancel/index.vue
  12. 3 1
      src/views/manage/business-review/components/somepriceDetail/index.vue
  13. 19 4
      src/views/manage/business-review/list/settlement/index.vue
  14. 12 1
      src/views/manage/business-review/setup.ts
  15. 76 8
      src/views/manage/finance-review/components/fundsAudit/index.vue
  16. 45 8
      src/views/manage/finance-review/components/fundsCancel/index.vue
  17. 71 9
      src/views/manage/finance-review/components/fundsDetail/index.vue
  18. 147 9
      src/views/manage/finance-review/components/invoiceAudit/index.vue
  19. 115 13
      src/views/manage/finance-review/components/invoiceCancel/index.vue
  20. 102 30
      src/views/manage/finance-review/components/invoiceDetail/index.vue
  21. 21 0
      src/views/manage/finance-review/components/setup.ts
  22. 76 40
      src/views/manage/finance-review/list/funds/index.vue
  23. 71 40
      src/views/manage/finance-review/list/invoice/index.vue
  24. 73 0
      src/views/manage/finance-review/setup.ts
  25. 73 41
      src/views/manage/inventory-review/list/checkin/index.vue
  26. 70 41
      src/views/manage/inventory-review/list/checkout/index.vue
  27. 22 0
      src/views/manage/inventory-review/setup.ts

+ 32 - 0
public/proto/mtp.proto

@@ -1031,4 +1031,36 @@ message HedgePlanInfo {
 	optional string PlanTime = 10; // string 计划时间
 }
 
+// 合同操作请求 0 18 8
+message ContractOperateApplyReq {
+	optional MessageHead Header = 1; // MessageHead
+	optional uint64 OperateApplyID = 2; // uint64 操作申请ID(603+Unix秒时间戳(10位)+xxxxxx)
+	optional uint32 OperateType = 3; // uint32 操作类型-1:登记2:确认3:拒绝4:撤销
+	optional uint32 OperateSrc = 4; // uint32 操作来源-1:管理端2:终端
+	optional uint64 UserID = 5; // uint64 操作用户ID
+	optional string Remark = 6; // string 备注
+	optional string ClientTicket = 7; // string 客户端流水号
+	optional ContractOperateApplyInfo Info = 8; // ContractOperateApplyInfo 合同操作信息
+}
+
+// 合同操作响应 0 18 9
+message ContractOperateApplyRsp {
+	optional MessageHead Header = 1; // MessageHead 消息头
+	optional int32 RetCode = 2; // int32 返回码
+	optional string RetDesc = 3; // string 描述信息
+	optional uint64 OperateApplyID = 4; // uint64 操作申请ID(603+Unix秒时间戳(10位)+xxxxxx)
+	optional uint32 OperateType = 5; // uint32 操作类型-1:登记2:确认3:拒绝4:撤销
+	optional uint32 OperateSrc = 6; // uint32 操作来源-1:管理端2:终端
+	optional string ClientTicket = 7; // string 客户端流水号
+}
+
+// 合同操作信息 0 18 7
+message ContractOperateApplyInfo {
+	optional uint32 OperateApplyType = 1; // uint32 操作申请类型-1:点价2:结算3:款项4:发票
+	optional uint64 RelatedID = 2; // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
+	optional bytes DetailJson = 3; // bytes 明细JSON
+	optional bytes AttachUrl = 4; // bytes 附件
+}
+
+
 

+ 3 - 0
src/services/funcode/index.ts

@@ -84,6 +84,9 @@ export const funCode: Code = {
     // 业务 - 合同
     ErmcpContractOperateApplyReq: 1900714, /// 合同操作请求(1179656)
     ErmcpContractOperateApplyRsp: 1900715, /// 合同操作响应(1179657)
+    // 业务 - 合同- 管理接口
+    ContractOperateApplyReq: 1179656, // 合同操作请求(1179656)
+    ContractOperateApplyRsp: 1179657, // 合同操作响应(1179657)
 
     // 套保计划 -- 新增套保计划
     ErmcpHedgePlanReq: 1900708,  /// 套保计划操作请求(1179650)

+ 1 - 1
src/services/go/ermcp/finance-review/interface.ts

@@ -77,7 +77,7 @@ export interface QryBussinessFpRsp {
     enumdicname: string;//单位名称
     goodscode: string;//点价合约
     goodsname: string;//商品名称
-    invoiceAmount: number;//已开收票金额(销售为开票,采购为收票)
+    invoiceamount: number;//已开收票金额(销售为开票,采购为收票)
     operateapplyid: string;//操作申请ID(6number;
     //3+Unix秒时间戳(1number;
     //位)+xxxxxx)

+ 38 - 3
src/services/proto/contract/index.ts

@@ -1,6 +1,6 @@
 import APP from "@/services";
 import { getSelectedAccountId, getUserId } from "@/services/bus/account";
-import { ErmcpContractOperateApplyReq } from "@/services/proto/contract/interface";
+import {ContractOperateApplyReq, ErmcpContractOperateApplyReq} from "@/services/proto/contract/interface";
 import { buildProtoReq50, parseProtoRsp50 } from "@/services/socket/protobuf/buildReq";
 import { getUUID } from "@/utils/qt/common";
 import { Callback } from "@/utils/websocket";
@@ -14,13 +14,12 @@ export const operationContractReq = (param: ErmcpContractOperateApplyReq): Promi
     const OperateSrc = 2;
     const UserID = getUserId()
     const ClientTicket = getUUID()
-    const OperateApplyID = getUUID()
 
     return new Promise((resolve, reject) => {
         const params = {
             protobufName: 'ErmcpContractOperateApplyReq',
             funCodeName: 'ErmcpContractOperateApplyReq',
-            reqParams: { OperateApplyID, OperateSrc, UserID, ClientTicket, ...param },
+            reqParams: { OperateSrc, UserID, ClientTicket, ...param },
             msgHeadParams: {
                 AccountID: getSelectedAccountId(),
                 MarketID: 18,
@@ -40,4 +39,40 @@ export const operationContractReq = (param: ErmcpContractOperateApplyReq): Promi
             onFail: (err) => reject(err.message)
         } as Callback);
     });
+}
+
+/**
+ * 合同操作 以前管理端的一些功能使用这个接口
+ * @param param 2、通过 3、拒绝 4、撤销
+ */
+export const contractOperateApply = (param: ContractOperateApplyReq): Promise<any> => {
+
+    const ClientTicket = getUUID()
+    const OperateSrc = 2;
+    const UserID = getUserId()
+
+    return new Promise((resolve, reject) => {
+        const params = {
+            protobufName: 'ContractOperateApplyReq',
+            funCodeName: 'ContractOperateApplyReq',
+            reqParams: { OperateSrc, UserID, ClientTicket, ...param },
+            msgHeadParams: {
+                AccountID: getSelectedAccountId(),
+                MarketID: 18,
+                GoodsID: 0,
+            }
+        };
+        const package50 = buildProtoReq50(params);
+        APP.sendTradingServer(package50, undefined, {
+            onSuccess: (res) => {
+                const { isSuccess, result } = parseProtoRsp50(res, 'ContractOperateApplyRsp');
+                if (isSuccess) {
+                    resolve(result);
+                } else {
+                    reject(result);
+                }
+            },
+            onFail: (err) => reject(err.message)
+        } as Callback);
+    });
 }

+ 28 - 1
src/services/proto/contract/interface.ts

@@ -1,5 +1,6 @@
 // 合同操作请求 0 29 170
 export interface ErmcpContractOperateApplyReq {
+    OperateApplyID?: number //   合同id
     OperateType: number // uint32 操作类型-1:登记2:确认3:拒绝4:撤销
     Remark?: string // string 备注
     Info: ErmcpContractOperateApplyInfo // ErmcpContractOperateApplyInfo 合同操作信息
@@ -20,4 +21,30 @@ export interface ErmcpContractOperateApplyInfo {
     RelatedID: number // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
     DetailJson : Uint8Array // bytes 明细JSON
     AttachUrl?: Uint8Array // bytes 附件
-}
+}
+
+// 合同操作请求 0 18 8
+export interface ContractOperateApplyReq {
+    OperateApplyID: number; // 合同id
+    OperateType: number; // uint32 操作类型-1:登记2:确认3:拒绝4:撤销
+    Remark?: string; // string 备注
+    Info?: ContractOperateApplyInfo; // ContractOperateApplyInfo 合同操作信息
+}
+
+// 合同操作响应 0 18 9
+export interface ContractOperateApplyRsp {
+    RetCode: number; // int32 返回码
+    RetDesc: string; // string 描述信息
+    OperateApplyID: number; // uint64 操作申请ID(603+Unix秒时间戳(10位)+xxxxxx)
+    OperateType: number; // uint32 操作类型-1:登记2:确认3:拒绝4:撤销
+    OperateSrc: number; // uint32 操作来源-1:管理端2:终端
+    ClientTicket: string; // string 客户端流水号
+}
+
+// 合同操作信息 0 18 7
+export interface ContractOperateApplyInfo {
+    OperateApplyType: number; // uint32 操作申请类型-1:点价2:结算3:款项4:发票
+    RelatedID: number; // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
+    DetailJson: Uint8Array; // bytes 明细JSON
+    AttachUrl: Uint8Array; // bytes 附件
+}

+ 147 - 6
src/views/manage/business-review/components/settlementAudit/index.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 交收审核-->
-  <a-modal class="business_review_settlement_audit custom-detail"
+  <a-modal class="add-custom custom-detail"
            title="交收审核"
            v-model:visible="visible"
            centered
@@ -10,10 +10,91 @@
     <template #footer>
       <a-button key="submit"
                 type="primary"
-                :loading="loading.loading"
+                :loading="loading"
                 @click="submit">关闭</a-button>
+        <a-button key="submit"
+                  type="primary"
+                  :loading="loading"
+                  @click="pass">审核通过
+        </a-button>
+        <a-button key="submit"
+                  type="primary"
+                  :loading="loading"
+                  @click="refuse">审核拒绝
+        </a-button>
     </template>
-
+      <a-form class="inlineForm"
+              :form="form"
+              @submit="handleSearch">
+          <fieldset class="formFieldSet">
+              <legend>合同基本信息</legend>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="合同编号">
+                          <span class="white">{{ getContractTypeName(selectedRow.contracttype) + '/' + formatValue(selectedRow.contractno) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="点价类型">
+                          <span class="white">{{ getPriceTypeName(selectedRow.pricetype) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="销售方">
+                          <span class="white">{{ formatValue(selectedRow.sellusername) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="现货品种">
+                          <span class="white">{{ formatValue(selectedRow.deliverygoodsname) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+          </fieldset>
+          <fieldset class="formFieldSet">
+              <legend>待审核登记信息</legend>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="交收量">
+                          <span class="white">{{ formatValue(selectedRow.reckonrealqty) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="其它费用">
+                          <span class="white">{{ formatValue(selectedRow.reckonotheramount) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="调整保证金">
+                          <span class="white">{{
+                                  formatValue(selectedRow.addmargin !== 0 ? "+" + formatValue(selectedRow.addmargin) : (selectedRow.decmargin === 0 ? 0.0 : "-" + formatValue(selectedRow.decmargin)))
+                              }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="调整金额">
+                          <span class="white">{{ formatValue(selectedRow.reckonadjustamount) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="登记时间">
+                          <span class="white">{{ formatValue(selectedRow.applytime) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="登记人">
+                          <span class="white">{{ formatValue(selectedRow.applyname) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+          </fieldset>
+      </a-form>
   </a-modal>
 </template>
 
@@ -24,17 +105,23 @@ import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
 import { mergeObj } from '@/utils/objHandle';
 import { getStatusName } from '@/views/information/custom/setup';
 import { formatValue, formatTime } from '@/common/methods';
+import {QryBussinessJsRsp} from "@/services/go/ermcp/business-review/interface";
+import {Modal} from "ant-design-vue";
+import {ContractOperateApplyReq} from "@/services/proto/contract/interface";
+import Long from "long";
+import {somePriceControl} from "@/views/manage/business-review/components/setup";
+import {getContractTypeName, getPriceTypeName} from "@/views/information/spot-contract/setup";
 
 export default defineComponent({
     name: 'business_review_settlement_audit',
     components: {},
     props: {
         selectedRow: {
-            type: Object as PropType<QueryCustomInfoType>,
+            type: Object as PropType<QryBussinessJsRsp>,
             default: {},
         },
     },
-    setup(props) {
+    setup(props, context) {
         const { visible, cancel } = closeModal('business_review_settlement_audit');
         const loading = ref<boolean>(false);
         const maskClosableFlag = ref<boolean>(false);
@@ -43,7 +130,57 @@ export default defineComponent({
             setTimeout(() => {
                 loading.value = false;
                 cancel();
-            }, 2000);
+            }, 200);
+        }
+        // 审核通过
+        function pass() {
+            Modal.confirm({
+                title: '是否确认审核通过',
+                okText: '确认审核通过',
+                cancelText: '取消',
+                onOk() {
+                    const param: ContractOperateApplyReq = {
+                        OperateApplyID: Long.fromString(props.selectedRow.operateapplyid),
+                        OperateType: 2,
+                    }
+                    somePriceControl(param, loading)
+                        .then(res => {
+                            context.emit('refresh');
+                            cancel()
+                        })
+                        .catch(err => {
+
+                        })
+                },
+                onCancel() {
+                    console.log('Cancel');
+                },
+            });
+        }
+        // 审核拒绝
+        function refuse(){
+            Modal.confirm({
+                title: '是否确认审核拒绝',
+                okText: '确认审核拒绝',
+                cancelText: '取消',
+                onOk() {
+                    const param: ContractOperateApplyReq = {
+                        OperateApplyID: Long.fromString(props.selectedRow.operateapplyid),
+                        OperateType: 3,
+                    }
+                    somePriceControl(param, loading)
+                        .then(res => [
+                            context.emit('refresh'),
+                            cancel()
+                        ])
+                        .catch(err => {
+
+                        })
+                },
+                onCancel() {
+                    console.log('Cancel');
+                },
+            });
         }
         return {
             visible,
@@ -53,6 +190,10 @@ export default defineComponent({
             formatValue,
             getStatusName,
             maskClosableFlag,
+            pass,
+            refuse,
+            getPriceTypeName,
+            getContractTypeName,
         };
     },
 });

+ 156 - 41
src/views/manage/business-review/components/settlementCancel/index.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 撤销交收登记-->
-  <a-modal class="business_review_settlement_cancel custom-detail"
+  <a-modal class="add-custom custom-detail"
            title="撤销交收登记"
            v-model:visible="visible"
            centered
@@ -10,58 +10,173 @@
     <template #footer>
       <a-button key="submit"
                 type="primary"
-                :loading="loading.loading"
-                @click="submit">关闭</a-button>
+                :loading="loading"
+                @click="submit">关闭
+      </a-button>
+      <a-button key="submit"
+                type="primary"
+                :loading="loading"
+                @click="back">撤销
+      </a-button>
     </template>
-
+    <a-form class="inlineForm"
+            :form="form"
+            @submit="handleSearch">
+      <fieldset class="formFieldSet">
+        <legend>合同基本信息</legend>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="合同编号">
+              <span class="white">{{
+                  getContractTypeName(selectedRow.contracttype) + '/' + formatValue(selectedRow.contractno)
+                }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="点价类型">
+              <span class="white">{{ getPriceTypeName(selectedRow.pricetype) }}</span>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="销售方">
+              <span class="white">{{ formatValue(selectedRow.sellusername) }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="现货品种">
+              <span class="white">{{ formatValue(selectedRow.deliverygoodsname) }}</span>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </fieldset>
+      <fieldset class="formFieldSet">
+        <legend>待审核登记信息</legend>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="交收量">
+              <span class="white">{{ formatValue(selectedRow.reckonrealqty) }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="其它费用">
+              <span class="white">{{ formatValue(selectedRow.reckonotheramount) }}</span>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="调整保证金">
+                          <span class="white">{{
+                              formatValue(selectedRow.addmargin !== 0 ? "+" + formatValue(selectedRow.addmargin) : (selectedRow.decmargin === 0 ? 0.0 : "-" + formatValue(selectedRow.decmargin)))
+                            }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="调整金额">
+              <span class="white">{{ formatValue(selectedRow.reckonadjustamount) }}</span>
+            </a-form-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="登记时间">
+              <span class="white">{{ formatValue(selectedRow.applytime) }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="登记人">
+              <span class="white">{{ formatValue(selectedRow.applyname) }}</span>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </fieldset>
+    </a-form>
   </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, PropType, reactive, ref, watchEffect } from 'vue';
-import { closeModal } from '@/common/setup/modal/index';
-import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
-import { mergeObj } from '@/utils/objHandle';
-import { getStatusName } from '@/views/information/custom/setup';
-import { formatValue, formatTime } from '@/common/methods';
+import {defineComponent, PropType, reactive, ref, watchEffect} from 'vue';
+import {closeModal} from '@/common/setup/modal/index';
+import {QueryCustomInfoType} from '@/services/go/ermcp/customInfo/interface';
+import {mergeObj} from '@/utils/objHandle';
+import {getStatusName} from '@/views/information/custom/setup';
+import {formatValue, formatTime} from '@/common/methods';
+import {QryBussinessJsRsp} from "@/services/go/ermcp/business-review/interface";
+import {getContractTypeName, getPriceTypeName} from "@/views/information/spot-contract/setup";
+import {Modal} from "ant-design-vue";
+import {ContractOperateApplyReq} from "@/services/proto/contract/interface";
+import Long from "long";
+import {somePriceControl} from "@/views/manage/business-review/components/setup";
 
 export default defineComponent({
-    name: 'business_review_settlement_cancel',
-    components: {},
-    props: {
-        selectedRow: {
-            type: Object as PropType<QueryCustomInfoType>,
-            default: {},
-        },
-    },
-    setup(props) {
-        const { visible, cancel } = closeModal('business_review_settlement_cancel');
-        const loading = ref<boolean>(false);
-        const maskClosableFlag = ref<boolean>(false);
-        function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
-        }
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-            formatValue,
-            getStatusName,
-            maskClosableFlag,
-        };
+  name: 'business_review_settlement_cancel',
+  components: {},
+  props: {
+    selectedRow: {
+      type: Object as PropType<QryBussinessJsRsp>,
+      default: {},
     },
+  },
+  setup(props, context) {
+    const {visible, cancel} = closeModal('business_review_settlement_cancel');
+    const loading = ref<boolean>(false);
+    const maskClosableFlag = ref<boolean>(false);
+
+    function submit() {
+      loading.value = true;
+      setTimeout(() => {
+        loading.value = false;
+        cancel();
+      }, 200);
+    }
+
+    function back(){
+      Modal.confirm({
+        title: '是否确认撤销',
+        okText: '确认撤销',
+        cancelText: '取消',
+        onOk() {
+          const param: ContractOperateApplyReq = {
+            OperateApplyID: Long.fromString(props.selectedRow.operateapplyid),
+            OperateType: 4,
+          }
+          somePriceControl(param, loading)
+              .then(res => {
+                  context.emit('refresh');
+                  cancel()
+              })
+              .catch(err => {
+
+              })
+        },
+        onCancel() {
+          console.log('Cancel');
+        },
+      });
+    }
+
+    return {
+      visible,
+      cancel,
+      submit,
+      loading,
+      formatValue,
+      getStatusName,
+      maskClosableFlag,
+      getContractTypeName,
+      getPriceTypeName,
+      back
+    };
+  },
 });
 </script>
 
 <style lang="less">
 .business_review_settlement_cancel {
-    .ant-form.inlineForm {
-        margin-top: 20px;
-    }
+  .ant-form.inlineForm {
+    margin-top: 20px;
+  }
 }
 </style>;

+ 82 - 9
src/views/manage/business-review/components/settlementDetail/index.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 交收记录详情-->
-  <a-modal class="settlement-detail custom-detail"
+  <a-modal class="add-custom custom-detail"
            title="交收记录详情"
            v-model:visible="visible"
            centered
@@ -13,7 +13,78 @@
                 :loading="loading"
                 @click="submit">关闭</a-button>
     </template>
-
+      <a-form class="inlineForm"
+              :form="form"
+              @submit="handleSearch">
+          <fieldset class="formFieldSet">
+              <legend>合同基本信息</legend>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="合同编号">
+                          <span class="white">{{ getContractTypeName(selectedRow.contracttype) + '/' + formatValue(selectedRow.contractno) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="点价类型">
+                          <span class="white">{{ getPriceTypeName(selectedRow.pricetype) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="销售方">
+                          <span class="white">{{ formatValue(selectedRow.sellusername) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="现货品种">
+                          <span class="white">{{ formatValue(selectedRow.deliverygoodsname) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+          </fieldset>
+          <fieldset class="formFieldSet">
+              <legend>待审核登记信息</legend>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="交收量">
+                          <span class="white">{{ formatValue(selectedRow.reckonrealqty) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="其它费用">
+                          <span class="white">{{ formatValue(selectedRow.reckonotheramount) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="调整保证金">
+                          <span class="white">{{
+                                  formatValue(selectedRow.addmargin !== 0 ? "+" + formatValue(selectedRow.addmargin) : (selectedRow.decmargin === 0 ? 0.0 : "-" + formatValue(selectedRow.decmargin)))
+                              }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="调整金额">
+                          <span class="white">{{ formatValue(selectedRow.reckonadjustamount) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="登记时间">
+                          <span class="white">{{ formatValue(selectedRow.applytime) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="登记人">
+                          <span class="white">{{ formatValue(selectedRow.applyname) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+          </fieldset>
+      </a-form>
   </a-modal>
 </template>
 
@@ -24,26 +95,26 @@ import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
 import { mergeObj } from '@/utils/objHandle';
 import { getStatusName } from '@/views/information/custom/setup';
 import { formatValue, formatTime } from '@/common/methods';
+import {getContractTypeName, getPriceTypeName} from "@/views/information/spot-contract/setup";
+import {QryBusinessDjRsp, QryBussinessJsRsp} from "@/services/go/ermcp/business-review/interface";
 
 export default defineComponent({
     name: 'settlement-detail',
     components: {},
     props: {
         selectedRow: {
-            type: Object as PropType<QueryCustomInfoType>,
+            type: Object as PropType<QryBussinessJsRsp>,
             default: {},
         },
     },
-    setup(props) {
+    setup(props, context) {
         const { visible, cancel } = closeModal('detail');
         const loading = ref<boolean>(false);
         const maskClosableFlag = ref<boolean>(false);
         function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
+            context.emit('refresh');
+            cancel()
+
         }
         return {
             visible,
@@ -52,7 +123,9 @@ export default defineComponent({
             loading,
             formatValue,
             getStatusName,
+            getPriceTypeName,
             maskClosableFlag,
+            getContractTypeName,
         };
     },
 });

+ 22 - 0
src/views/manage/business-review/components/setup.ts

@@ -0,0 +1,22 @@
+// 点价审核
+import {ContractOperateApplyReq} from "@/services/proto/contract/interface";
+import {Ref} from "vue";
+import {commonResultInfo, getRequestResultInfo} from "@/common/methods/request";
+import {SomePriceSign} from "@/views/manage/business-review/setup";
+import {contractOperateApply} from "@/services/proto/contract";
+
+/**
+ * 管理 - 业务审核 - 点价操作
+ * @param req.OperateApplyID  合同id
+ * @param req.OperateType  2:确认3:拒绝4:撤销
+ * @param loading
+ */
+export function somePriceControl(req: ContractOperateApplyReq, loading: Ref<boolean>): Promise<string> {
+    loading.value = true;
+    const sign = getRequestResultInfo(SomePriceSign, req.OperateType)  // 接口请求后的返回提示 这里统一进行管理
+    // 接口调用
+    const result = contractOperateApply(req)
+    // 接口调用结果处理,提示成功或者失败信息,并关闭loading效果
+    return commonResultInfo(result, sign, loading)
+
+}

+ 69 - 11
src/views/manage/business-review/components/somepriceAudit/index.vue

@@ -11,7 +11,17 @@
             <a-button key="submit"
                       type="primary"
                       :loading="loading"
-                      @click="submit">关闭
+                      @click="cancel">关闭
+            </a-button>
+            <a-button key="submit"
+                      type="primary"
+                      :loading="loading"
+                      @click="pass">审核通过
+            </a-button>
+            <a-button key="submit"
+                      type="primary"
+                      :loading="loading"
+                      @click="refuse">审核拒绝
             </a-button>
         </template>
         <a-form class="inlineForm"
@@ -95,39 +105,87 @@
 </template>
 
 <script lang="ts">
-import {defineComponent, PropType, ref} from 'vue';
+import {defineComponent, PropType, ref, toRaw} from 'vue';
 import {closeModal} from '@/common/setup/modal/index';
 import {QueryCustomInfoType} from '@/services/go/ermcp/customInfo/interface';
 import {getStatusName} from '@/views/information/custom/setup';
 import {formatValue, formatTime} from '@/common/methods';
 import {getPriceTypeName} from "@/views/business/purchase/setup";
+import {Modal} from "ant-design-vue";
+import {somePriceControl} from "@/views/manage/business-review/components/setup";
+import {ContractOperateApplyReq} from "@/services/proto/contract/interface";
+import * as Long from "long";
+import {QryBusinessDjRsp} from "@/services/go/ermcp/business-review/interface";
 
 export default defineComponent({
     name: 'business_review_someprice_audit',
     components: {},
     props: {
         selectedRow: {
-            type: Object as PropType<QueryCustomInfoType>,
+            type: Object as PropType<QryBusinessDjRsp>,
             default: {},
         },
     },
-    setup(props) {
+    setup(props, context) {
         const {visible, cancel} = closeModal('business_review_someprice_audit');
         const loading = ref<boolean>(false);
         const maskClosableFlag = ref<boolean>(false);
+        // 审核通过
+        function pass() {
+            Modal.confirm({
+                title: '是否确认审核通过',
+                okText: '确认审核通过',
+                cancelText: '取消',
+                onOk() {
+                    const param: ContractOperateApplyReq = {
+                        OperateApplyID: Long.fromString(props.selectedRow.operateapplyid),
+                        OperateType: 2,
+                    }
+                    somePriceControl(param, loading)
+                        .then(res => {
+                            context.emit('refresh');
+                            cancel()
+                        })
+                        .catch(err => {
+
+                        })
+                },
+                onCancel() {
+                    console.log('Cancel');
+                },
+            });
+        }
+        // 审核拒绝
+        function refuse(){
+            Modal.confirm({
+                title: '是否确认审核拒绝',
+                okText: '确认审核拒绝',
+                cancelText: '取消',
+                onOk() {
+                    const param: ContractOperateApplyReq = {
+                        OperateApplyID: Long.fromString(props.selectedRow.operateapplyid),
+                        OperateType: 3,
+                    }
+                    somePriceControl(param, loading)
+                        .then(res => {
+                            context.emit('refresh');
+                            cancel()
+                        })
+                        .catch(err => {
 
-        function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
+                        })
+                },
+                onCancel() {
+                    console.log('Cancel');
+                },
+            });
         }
 
         return {
             visible,
             cancel,
-            submit,
+            pass,
+            refuse,
             loading,
             formatValue,
             getStatusName,

+ 37 - 1
src/views/manage/business-review/components/somepriceCancel/index.vue

@@ -13,6 +13,12 @@
                 :loading="loading"
                 @click="submit">关闭
       </a-button>
+
+        <a-button key="submit"
+                  type="primary"
+                  :loading="loading"
+                  @click="back">撤销
+        </a-button>
     </template>
     <a-form class="inlineForm"
             :form="form"
@@ -103,6 +109,10 @@ import {getStatusName} from '@/views/information/custom/setup';
 import {formatValue, formatTime} from '@/common/methods';
 import {getPriceTypeName} from "@/views/information/spot-contract/setup";
 import {QryBusinessDjRsp} from "@/services/go/ermcp/business-review/interface";
+import {Modal} from "ant-design-vue";
+import {ContractOperateApplyReq} from "@/services/proto/contract/interface";
+import Long from "long";
+import {somePriceControl} from "@/views/manage/business-review/components/setup";
 
 export default defineComponent({
   name: 'business_review_someprice_cancel',
@@ -113,7 +123,7 @@ export default defineComponent({
       default: {},
     },
   },
-  setup(props) {
+  setup(props, context) {
     const {visible, cancel} = closeModal('business_review_someprice_cancel');
     const loading = ref<boolean>(false);
     const maskClosableFlag = ref<boolean>(false);
@@ -122,11 +132,37 @@ export default defineComponent({
 
     }
 
+    function back(){
+        Modal.confirm({
+            title: '是否确认撤销',
+            okText: '确认撤销',
+            cancelText: '取消',
+            onOk() {
+                const param: ContractOperateApplyReq = {
+                    OperateApplyID: Long.fromString(props.selectedRow.operateapplyid),
+                    OperateType: 4,
+                }
+                somePriceControl(param, loading)
+                    .then(res => {
+                        context.emit('refresh');
+                        cancel()
+                    })
+                    .catch(err => {
+
+                    })
+            },
+            onCancel() {
+                console.log('Cancel');
+            },
+        });
+    }
+
     return {
       visible,
       cancel,
       submit,
       loading,
+        back,
       formatValue,
       getStatusName,
       maskClosableFlag,

+ 3 - 1
src/views/manage/business-review/components/somepriceDetail/index.vue

@@ -112,12 +112,14 @@ export default defineComponent({
             default: {},
         },
     },
-    setup(props) {
+    setup(props, context) {
         const {visible, cancel} = closeModal('detail');
         const loading = ref<boolean>(false);
         const maskClosableFlag = ref<boolean>(false);
 
         function submit() {
+            context.emit('refresh');
+            cancel()
 
         }
 

+ 19 - 4
src/views/manage/business-review/list/settlement/index.vue

@@ -18,15 +18,25 @@
                     <BtnList :btnList="forDataBtn"/>
                 </template>
 
+                <template #contracttype="{ text }">
+                    <a>{{ getContractTypeName(text) }}</a>
+                </template>
+
+                <template #applystatus="{ text }">
+                    <a>{{ getApplyStatusName(text) }}</a>
+                </template>
 
             </a-table>
         </contextMenu>
         <!-- 点价记录详情 -->
-        <SettlementDetail/>
+        <SettlementDetail :selectedRow="selectedRow"
+                          @refresh="queryTable"/>
         <!-- 交收审核 -->
-        <SettlementAudit/>
+        <SettlementAudit :selectedRow="selectedRow"
+                         @refresh="queryTable"/>
         <!-- 撤销点价登记 -->
-        <SettlementCancel/>
+        <SettlementCancel :selectedRow="selectedRow"
+                          @refresh="queryTable"/>
     </div>
 </template>
 
@@ -44,7 +54,9 @@ import {
 import {SettlementDetail, SettlementAudit, SettlementCancel, Filter} from '../../components';
 
 import {queryTableList, getFilterTableCB, QryBussinessJsRsp} from './setup';
-import {getPriceTypeName} from "@/views/information/spot-contract/setup";
+import {getContractTypeName, getPriceTypeName} from "@/views/information/spot-contract/setup";
+import {getApplyStatusName} from "@/views/manage/business-review/setup";
+import {invoiceStatusName} from "@/views/manage/finance-review/setup";
 
 export default defineComponent({
     name: 'business-review-js',
@@ -91,6 +103,9 @@ export default defineComponent({
             tableList,
             search,
             getPriceTypeName,
+            getContractTypeName,
+            getApplyStatusName,
+            invoiceStatusName,
         };
     },
 });

+ 12 - 1
src/views/manage/business-review/setup.ts

@@ -1,3 +1,5 @@
+import {ResultInfo} from "@/common/methods/request";
+
 /**
  * 业务审核-点价-状态
  * @param type 申请状态 - 1:待审核 2:审核通过 3:审核拒绝 4:处理失败 5:已撤回
@@ -22,4 +24,13 @@ export function getApplyStatusName(type: number): string{
             break
     }
     return result
-}
+}
+
+/************** 接口请求相关提示 ****************/
+
+// 点价提示
+export const SomePriceSign = new Map<number, ResultInfo>([
+    [2, ['审核通过成功', '审核失败:']],
+    [3, ['审核拒绝成功', '审核失败:']],
+    [4, ['撤销成功', '撤销失败:']],
+])

+ 76 - 8
src/views/manage/finance-review/components/fundsAudit/index.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 款项审核-->
-  <a-modal class="finance_review_funds_audit custom-detail"
+  <a-modal class="add-custom custom-detail"
            title="款项审核"
            v-model:visible="visible"
            centered
@@ -8,10 +8,21 @@
            @cancel="cancel"
            width="890px">
     <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading.loading"
-                @click="submit">关闭</a-button>
+        <a-button key="submit"
+                  type="primary"
+                  :loading="loading"
+                  @click="cancel">关闭
+        </a-button>
+        <a-button key="submit"
+                  type="primary"
+                  :loading="loading"
+                  @click="pass">审核通过
+        </a-button>
+        <a-button key="submit"
+                  type="primary"
+                  :loading="loading"
+                  @click="refuse">审核拒绝
+        </a-button>
     </template>
 
   </a-modal>
@@ -24,17 +35,22 @@ import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
 import { mergeObj } from '@/utils/objHandle';
 import { getStatusName } from '@/views/information/custom/setup';
 import { formatValue, formatTime } from '@/common/methods';
+import {QryBussinessKxRsp} from "@/services/go/ermcp/finance-review/interface";
+import {Modal} from "ant-design-vue";
+import {ContractOperateApplyReq} from "@/services/proto/contract/interface";
+import Long from "long";
+import {financeControl} from "@/views/manage/finance-review/components/setup";
 
 export default defineComponent({
     name: 'finance_review_funds_audit',
     components: {},
     props: {
         selectedRow: {
-            type: Object as PropType<QueryCustomInfoType>,
+            type: Object as PropType<QryBussinessKxRsp>,
             default: {},
         },
     },
-    setup(props) {
+    setup(props, context) {
         const { visible, cancel } = closeModal('finance_review_funds_audit');
         const loading = ref<boolean>(false);
         const maskClosableFlag = ref<boolean>(false);
@@ -43,9 +59,61 @@ export default defineComponent({
             setTimeout(() => {
                 loading.value = false;
                 cancel();
-            }, 2000);
+            }, 200);
+        }
+        // 审核通过
+        function pass() {
+            Modal.confirm({
+                title: '是否确认审核通过',
+                okText: '确认审核通过',
+                cancelText: '取消',
+                onOk() {
+                    const param: ContractOperateApplyReq = {
+                        OperateApplyID: Long.fromString(props.selectedRow.operateapplyid),
+                        OperateType: 2,
+                    }
+                    financeControl(param, loading)
+                        .then(res => {
+                            context.emit('refresh');
+                            cancel()
+                        })
+                        .catch(err => {
+
+                        })
+                },
+                onCancel() {
+                    console.log('Cancel');
+                },
+            });
+        }
+        // 审核拒绝
+        function refuse(){
+            Modal.confirm({
+                title: '是否确认审核拒绝',
+                okText: '确认审核拒绝',
+                cancelText: '取消',
+                onOk() {
+                    const param: ContractOperateApplyReq = {
+                        OperateApplyID: Long.fromString(props.selectedRow.operateapplyid),
+                        OperateType: 3,
+                    }
+                    financeControl(param, loading)
+                        .then(res => {
+                            context.emit('refresh');
+                            cancel()
+                        })
+                        .catch(err => {
+
+                        })
+                },
+                onCancel() {
+                    console.log('Cancel');
+                },
+            });
         }
         return {
+            pass,
+            refuse,
             visible,
             cancel,
             submit,

+ 45 - 8
src/views/manage/finance-review/components/fundsCancel/index.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 撤销款项登记-->
-  <a-modal class="finance_review_funds_cancel custom-detail"
+  <a-modal class="add-custom custom-detail"
            title="撤销款项登记"
            v-model:visible="visible"
            centered
@@ -8,10 +8,17 @@
            @cancel="cancel"
            width="890px">
     <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading.loading"
-                @click="submit">关闭</a-button>
+        <a-button key="submit"
+                  type="primary"
+                  :loading="loading"
+                  @click="submit">关闭
+        </a-button>
+
+        <a-button key="submit"
+                  type="primary"
+                  :loading="loading"
+                  @click="back">撤销
+        </a-button>
     </template>
 
   </a-modal>
@@ -24,17 +31,22 @@ import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
 import { mergeObj } from '@/utils/objHandle';
 import { getStatusName } from '@/views/information/custom/setup';
 import { formatValue, formatTime } from '@/common/methods';
+import {Modal} from "ant-design-vue";
+import {ContractOperateApplyReq} from "@/services/proto/contract/interface";
+import Long from "long";
+import {financeControl} from "@/views/manage/finance-review/components/setup";
+import {QryBussinessKxRsp} from "@/services/go/ermcp/finance-review/interface";
 
 export default defineComponent({
     name: 'finance_review_funds_cancel',
     components: {},
     props: {
         selectedRow: {
-            type: Object as PropType<QueryCustomInfoType>,
+            type: Object as PropType<QryBussinessKxRsp>,
             default: {},
         },
     },
-    setup(props) {
+    setup(props, context) {
         const { visible, cancel } = closeModal('finance_review_funds_cancel');
         const loading = ref<boolean>(false);
         const maskClosableFlag = ref<boolean>(false);
@@ -43,7 +55,31 @@ export default defineComponent({
             setTimeout(() => {
                 loading.value = false;
                 cancel();
-            }, 2000);
+            }, 200);
+        }
+        function back(){
+            Modal.confirm({
+                title: '是否确认撤销',
+                okText: '确认撤销',
+                cancelText: '取消',
+                onOk() {
+                    const param: ContractOperateApplyReq = {
+                        OperateApplyID: Long.fromString(props.selectedRow.operateapplyid),
+                        OperateType: 4,
+                    }
+                    financeControl(param, loading)
+                        .then(res => {
+                            context.emit('refresh');
+                            cancel()
+                        })
+                        .catch(err => {
+
+                        })
+                },
+                onCancel() {
+                    console.log('Cancel');
+                },
+            });
         }
         return {
             visible,
@@ -53,6 +89,7 @@ export default defineComponent({
             formatValue,
             getStatusName,
             maskClosableFlag,
+            back,
         };
     },
 });

+ 71 - 9
src/views/manage/finance-review/components/fundsDetail/index.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 款项详情-->
-  <a-modal class="finance_review_funds_detail custom-detail"
+  <a-modal class="add-custom custom-detail"
            title="款项详情"
            v-model:visible="visible"
            centered
@@ -10,10 +10,67 @@
     <template #footer>
       <a-button key="submit"
                 type="primary"
-                :loading="loading.loading"
+                :loading="loading"
                 @click="submit">关闭</a-button>
     </template>
-
+      <a-form class="inlineForm"
+              :form="form"
+              @submit="handleSearch">
+          <fieldset class="formFieldSet">
+              <legend>合同基本信息</legend>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="合同编号">
+                          <span class="white">{{ getContractTypeName(selectedRow.contracttype) + '/' + formatValue(selectedRow.contractno) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="点价类型">
+                          <span class="white">{{ getPriceTypeName(selectedRow.pricetype) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="销售方">
+                          <span class="white">{{ formatValue(selectedRow.sellusername) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="现货品种">
+                          <span class="white">{{ formatValue(selectedRow.deliverygoodsname) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+          </fieldset>
+          <fieldset class="formFieldSet">
+              <legend>待审核登记信息</legend>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="款项类型">
+                          <span class="white">{{ kxtypeName(selectedRow.kxtype) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="登记金额">
+                          <span class="white">{{ formatValue(selectedRow.deductamount) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="登记时间">
+                          <span class="white">{{ formatValue(selectedRow.applytime) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="登记人">
+                          <span class="white">{{ formatValue(selectedRow.applyname) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+          </fieldset>
+      </a-form>
   </a-modal>
 </template>
 
@@ -23,26 +80,28 @@ import { closeModal } from '@/common/setup/modal/index';
 import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
 import { getStatusName } from '@/views/information/custom/setup';
 import { formatValue, formatTime } from '@/common/methods';
+import {QryBussinessKxRsp} from "@/services/go/ermcp/finance-review/interface";
+import {kxtypeName} from "@/views/manage/finance-review/setup";
+import {getContractTypeName, getPriceTypeName} from "@/views/information/spot-contract/setup";
 
 export default defineComponent({
     name: 'finance_review_funds_detail',
     components: {},
     props: {
         selectedRow: {
-            type: Object as PropType<QueryCustomInfoType>,
+            type: Object as PropType<QryBussinessKxRsp>,
             default: {},
         },
     },
-    setup(props) {
+    setup(props, context) {
         const { visible, cancel } = closeModal('detail');
         const loading = ref<boolean>(false);
         const maskClosableFlag = ref<boolean>(false);
         function submit() {
             loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
+            context.emit('refresh');
+            cancel()
+
         }
         return {
             visible,
@@ -52,6 +111,9 @@ export default defineComponent({
             formatValue,
             getStatusName,
             maskClosableFlag,
+            kxtypeName,
+            getPriceTypeName,
+            getContractTypeName,
         };
     },
 });

+ 147 - 9
src/views/manage/finance-review/components/invoiceAudit/index.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 发票审核-->
-  <a-modal class="finance_review_invoice_audit custom-detail"
+  <a-modal class="add-custom custom-detail"
            title="发票审核"
            v-model:visible="visible"
            centered
@@ -8,12 +8,87 @@
            @cancel="cancel"
            width="890px">
     <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading.loading"
-                @click="submit">关闭</a-button>
+        <a-button key="submit"
+                  type="primary"
+                  :loading="loading"
+                  @click="cancel">关闭
+        </a-button>
+        <a-button key="submit"
+                  type="primary"
+                  :loading="loading"
+                  @click="pass">审核通过
+        </a-button>
+        <a-button key="submit"
+                  type="primary"
+                  :loading="loading"
+                  @click="refuse">审核拒绝
+        </a-button>
     </template>
-
+      <a-form class="inlineForm"
+              :form="form"
+              @submit="handleSearch">
+          <fieldset class="formFieldSet">
+              <legend>合同基本信息</legend>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="合同编号">
+                          <span class="white">{{ formatValue(selectedRow.contractno) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="点价类型">
+                          <span class="white">{{ getPriceTypeName(selectedRow.pricetype) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="销售方">
+                          <span class="white">{{ formatValue(selectedRow.sellusername) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="现货品种">
+                          <span class="white">{{ formatValue(selectedRow.deliverygoodsname) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+          </fieldset>
+          <fieldset class="formFieldSet">
+              <legend>待审核登记信息</legend>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="类型">
+                          <span class="white">{{ invoiceStatusName(selectedRow.contracttype) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="发票金额">
+                          <span class="white">{{ formatValue(selectedRow.invoiceamount) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="发票附件">
+                          <span class="white">{{ formatValue(selectedRow.invoiceamount) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="登记时间">
+                          <span class="white">{{ formatValue(selectedRow.applytime) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="登记人">
+                          <span class="white">{{ formatValue(selectedRow.applyname) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+          </fieldset>
+      </a-form>
   </a-modal>
 </template>
 
@@ -24,17 +99,25 @@ import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
 import { mergeObj } from '@/utils/objHandle';
 import { getStatusName } from '@/views/information/custom/setup';
 import { formatValue, formatTime } from '@/common/methods';
+import {QryBussinessFpRsp} from "@/services/go/ermcp/finance-review/interface";
+import {invoiceStatusName} from "@/views/manage/finance-review/setup";
+import {getPriceTypeName} from "@/views/information/spot-contract/setup";
+import {Modal} from "ant-design-vue";
+import {ContractOperateApplyReq} from "@/services/proto/contract/interface";
+import Long from "long";
+import {somePriceControl} from "@/views/manage/business-review/components/setup";
+import {financeControl} from "@/views/manage/finance-review/components/setup";
 
 export default defineComponent({
     name: 'finance_review_invoice_audit',
     components: {},
     props: {
         selectedRow: {
-            type: Object as PropType<QueryCustomInfoType>,
+            type: Object as PropType<QryBussinessFpRsp>,
             default: {},
         },
     },
-    setup(props) {
+    setup(props, context) {
         const { visible, cancel } = closeModal('finance_review_invoice_audit');
         const loading = ref<boolean>(false);
         const maskClosableFlag = ref<boolean>(false);
@@ -43,8 +126,59 @@ export default defineComponent({
             setTimeout(() => {
                 loading.value = false;
                 cancel();
-            }, 2000);
+            }, 200);
+        }
+        // 审核通过
+        function pass() {
+            Modal.confirm({
+                title: '是否确认审核通过',
+                okText: '确认审核通过',
+                cancelText: '取消',
+                onOk() {
+                    const param: ContractOperateApplyReq = {
+                        OperateApplyID: Long.fromString(props.selectedRow.operateapplyid),
+                        OperateType: 2,
+                    }
+                    financeControl(param, loading)
+                        .then(res => {
+                            context.emit('refresh');
+                            cancel()
+                        })
+                        .catch(err => {
+
+                        })
+                },
+                onCancel() {
+                    console.log('Cancel');
+                },
+            });
         }
+        // 审核拒绝
+        function refuse(){
+            Modal.confirm({
+                title: '是否确认审核拒绝',
+                okText: '确认审核拒绝',
+                cancelText: '取消',
+                onOk() {
+                    const param: ContractOperateApplyReq = {
+                        OperateApplyID: Long.fromString(props.selectedRow.operateapplyid),
+                        OperateType: 3,
+                    }
+                    financeControl(param, loading)
+                        .then(res => {
+                            context.emit('refresh');
+                            cancel()
+                        })
+                        .catch(err => {
+
+                        })
+                },
+                onCancel() {
+                    console.log('Cancel');
+                },
+            });
+        }
+
         return {
             visible,
             cancel,
@@ -53,6 +187,10 @@ export default defineComponent({
             formatValue,
             getStatusName,
             maskClosableFlag,
+            invoiceStatusName,
+            getPriceTypeName,
+            pass,
+            refuse,
         };
     },
 });

+ 115 - 13
src/views/manage/finance-review/components/invoiceCancel/index.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 撤销发票登记-->
-  <a-modal class="finance_review_invoice_cancel custom-detail"
+  <a-modal class="add-custom custom-detail"
            title="撤销发票登记"
            v-model:visible="visible"
            centered
@@ -8,12 +8,83 @@
            @cancel="cancel"
            width="890px">
     <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading.loading"
-                @click="submit">关闭</a-button>
-    </template>
+        <a-button key="submit"
+                  type="primary"
+                  :loading="loading"
+                  @click="submit">关闭
+        </a-button>
 
+        <a-button key="submit"
+                  type="primary"
+                  :loading="loading"
+                  @click="back">撤销
+        </a-button>
+    </template>
+      <a-form class="inlineForm"
+              :form="form"
+              @submit="handleSearch">
+          <fieldset class="formFieldSet">
+              <legend>合同基本信息</legend>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="合同编号">
+                          <span class="white">{{ formatValue(selectedRow.contractno) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="点价类型">
+                          <span class="white">{{ getPriceTypeName(selectedRow.pricetype) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="销售方">
+                          <span class="white">{{ formatValue(selectedRow.sellusername) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="现货品种">
+                          <span class="white">{{ formatValue(selectedRow.deliverygoodsname) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+          </fieldset>
+          <fieldset class="formFieldSet">
+              <legend>待审核登记信息</legend>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="类型">
+                          <span class="white">{{ invoiceStatusName(selectedRow.contracttype) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="发票金额">
+                          <span class="white">{{ formatValue(selectedRow.invoiceamount) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="发票附件">
+                          <span class="white">{{ formatValue(selectedRow.invoiceamount) }}</span>
+                      </a-form-item>
+                  </a-col>
+                  <a-col :span="12">
+                      <a-form-item label="登记时间">
+                          <span class="white">{{ formatValue(selectedRow.applytime) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+              <a-row :gutter="24">
+                  <a-col :span="12">
+                      <a-form-item label="登记人">
+                          <span class="white">{{ formatValue(selectedRow.applyname) }}</span>
+                      </a-form-item>
+                  </a-col>
+              </a-row>
+          </fieldset>
+      </a-form>
   </a-modal>
 </template>
 
@@ -24,26 +95,54 @@ import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
 import { mergeObj } from '@/utils/objHandle';
 import { getStatusName } from '@/views/information/custom/setup';
 import { formatValue, formatTime } from '@/common/methods';
+import {QryBussinessFpRsp} from "@/services/go/ermcp/finance-review/interface";
+import {invoiceStatusName} from "@/views/manage/finance-review/setup";
+import {getPriceTypeName} from "@/views/information/spot-contract/setup";
+import {Modal} from "ant-design-vue";
+import {ContractOperateApplyReq} from "@/services/proto/contract/interface";
+import Long from "long";
+import {somePriceControl} from "@/views/manage/business-review/components/setup";
+import {financeControl} from "@/views/manage/finance-review/components/setup";
 
 export default defineComponent({
     name: 'finance_review_invoice_cancel',
     components: {},
     props: {
         selectedRow: {
-            type: Object as PropType<QueryCustomInfoType>,
+            type: Object as PropType<QryBussinessFpRsp>,
             default: {},
         },
     },
-    setup(props) {
+    setup(props, context) {
         const { visible, cancel } = closeModal('finance_review_invoice_cancel');
         const loading = ref<boolean>(false);
         const maskClosableFlag = ref<boolean>(false);
         function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
+
+        }
+        function back(){
+            Modal.confirm({
+                title: '是否确认撤销',
+                okText: '确认撤销',
+                cancelText: '取消',
+                onOk() {
+                    const param: ContractOperateApplyReq = {
+                        OperateApplyID: Long.fromString(props.selectedRow.operateapplyid),
+                        OperateType: 4,
+                    }
+                    financeControl(param, loading)
+                        .then(res => {
+                            context.emit('refresh');
+                            cancel()
+                        })
+                        .catch(err => {
+
+                        })
+                },
+                onCancel() {
+                    console.log('Cancel');
+                },
+            });
         }
         return {
             visible,
@@ -53,6 +152,9 @@ export default defineComponent({
             formatValue,
             getStatusName,
             maskClosableFlag,
+            invoiceStatusName,
+            getPriceTypeName,
+            back,
         };
     },
 });

+ 102 - 30
src/views/manage/finance-review/components/invoiceDetail/index.vue

@@ -1,50 +1,119 @@
 <template>
-  <!-- 发票登记详情-->
-  <a-modal class="finance_review_invoice_detail custom-detail"
-           title="发票登记详情"
-           v-model:visible="visible"
-           centered
-           :maskClosable="maskClosableFlag"
-           @cancel="cancel"
-           width="890px">
-    <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading.loading"
-                @click="submit">关闭</a-button>
-    </template>
-
-  </a-modal>
+    <!-- 发票登记详情-->
+    <a-modal class="add-custom custom-detail"
+             title="发票登记详情"
+             v-model:visible="visible"
+             centered
+             :maskClosable="maskClosableFlag"
+             @cancel="cancel"
+             width="890px">
+        <template #footer>
+            <a-button key="submit"
+                      type="primary"
+                      :loading="loading"
+                      @click="submit">关闭
+            </a-button>
+        </template>
+        <a-form class="inlineForm"
+                :form="form"
+                @submit="handleSearch">
+            <fieldset class="formFieldSet">
+                <legend>合同基本信息</legend>
+                <a-row :gutter="24">
+                    <a-col :span="12">
+                        <a-form-item label="合同编号">
+                            <span class="white">{{
+                                    getContractTypeName(selectedRow.contracttype) + '/' + formatValue(selectedRow.contractno)
+                                }}</span>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :span="12">
+                        <a-form-item label="点价类型">
+                            <span class="white">{{ getPriceTypeName(selectedRow.pricetype) }}</span>
+                        </a-form-item>
+                    </a-col>
+                </a-row>
+                <a-row :gutter="24">
+                    <a-col :span="12">
+                        <a-form-item label="销售方">
+                            <span class="white">{{ formatValue(selectedRow.sellusername) }}</span>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :span="12">
+                        <a-form-item label="现货品种">
+                            <span class="white">{{ formatValue(selectedRow.deliverygoodsname) }}</span>
+                        </a-form-item>
+                    </a-col>
+                </a-row>
+            </fieldset>
+            <fieldset class="formFieldSet">
+                <legend>待审核登记信息</legend>
+                <a-row :gutter="24">
+                    <a-col :span="12">
+                        <a-form-item label="类型">
+                            <span class="white">{{ invoiceStatusName(selectedRow.contracttype) }}</span>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :span="12">
+                        <a-form-item label="发票金额">
+                            <span class="white">{{ formatValue(selectedRow.invoiceamount) }}</span>
+                        </a-form-item>
+                    </a-col>
+                </a-row>
+                <a-row :gutter="24">
+                    <a-col :span="12">
+                        <a-form-item label="发票附件">
+                            <span class="white">{{ formatValue(selectedRow.invoiceamount) }}</span>
+                        </a-form-item>
+                    </a-col>
+                    <a-col :span="12">
+                        <a-form-item label="登记时间">
+                            <span class="white">{{ formatValue(selectedRow.applytime) }}</span>
+                        </a-form-item>
+                    </a-col>
+                </a-row>
+                <a-row :gutter="24">
+                    <a-col :span="12">
+                        <a-form-item label="登记人">
+                            <span class="white">{{ formatValue(selectedRow.applyname) }}</span>
+                        </a-form-item>
+                    </a-col>
+                </a-row>
+            </fieldset>
+        </a-form>
+    </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, PropType, reactive, ref, watchEffect } from 'vue';
-import { closeModal } from '@/common/setup/modal/index';
-import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
-import { mergeObj } from '@/utils/objHandle';
-import { getStatusName } from '@/views/information/custom/setup';
-import { formatValue, formatTime } from '@/common/methods';
+import {defineComponent, PropType, reactive, ref, watchEffect} from 'vue';
+import {closeModal} from '@/common/setup/modal/index';
+import {QueryCustomInfoType} from '@/services/go/ermcp/customInfo/interface';
+import {mergeObj} from '@/utils/objHandle';
+import {getStatusName} from '@/views/information/custom/setup';
+import {formatValue, formatTime} from '@/common/methods';
+import {QryBussinessFpRsp} from "@/services/go/ermcp/finance-review/interface";
+import {invoiceStatusName} from "@/views/manage/finance-review/setup";
+import {getContractTypeName, getPriceTypeName} from "@/views/information/spot-contract/setup";
 
 export default defineComponent({
     name: 'finance_review_invoice_detail',
     components: {},
     props: {
         selectedRow: {
-            type: Object as PropType<QueryCustomInfoType>,
+            type: Object as PropType<QryBussinessFpRsp>,
             default: {},
         },
     },
-    setup(props) {
-        const { visible, cancel } = closeModal('detail');
+    setup(props, context) {
+        const {visible, cancel} = closeModal('detail');
         const loading = ref<boolean>(false);
         const maskClosableFlag = ref<boolean>(false);
+
         function submit() {
-            loading.value = true;
-            setTimeout(() => {
-                loading.value = false;
-                cancel();
-            }, 2000);
+            context.emit('refresh');
+            cancel()
         }
+
         return {
             visible,
             cancel,
@@ -53,6 +122,9 @@ export default defineComponent({
             formatValue,
             getStatusName,
             maskClosableFlag,
+            invoiceStatusName,
+            getPriceTypeName,
+            getContractTypeName,
         };
     },
 });

+ 21 - 0
src/views/manage/finance-review/components/setup.ts

@@ -0,0 +1,21 @@
+// 财务审核
+import {ContractOperateApplyReq} from "@/services/proto/contract/interface";
+import {Ref} from "vue";
+import {commonResultInfo, getRequestResultInfo} from "@/common/methods/request";
+import {contractOperateApply} from "@/services/proto/contract";
+import {financeSign} from "@/views/manage/finance-review/setup";
+
+/**
+ * 管理 - 财务审核 - 发票 && 款项
+ * @param req.OperateApplyID  合同id
+ * @param req.OperateType  2:确认3:拒绝4:撤销
+ * @param loading
+ */
+export function financeControl(req: ContractOperateApplyReq, loading: Ref<boolean>): Promise<string> {
+    loading.value = true;
+    const sign = getRequestResultInfo(financeSign, req.OperateType)  // 接口请求后的返回提示 这里统一进行管理
+    // 接口调用
+    const result = contractOperateApply(req)
+    // 接口调用结果处理,提示成功或者失败信息,并关闭loading效果
+    return commonResultInfo(result, sign, loading)
+}

+ 76 - 40
src/views/manage/finance-review/list/funds/index.vue

@@ -1,45 +1,74 @@
 <template>
-  <!-- 管理-业务审核-交收 -->
-  <div class="business-review-js"
-       :loading="loading">
-    <Filter @search="search">
-      <BtnList :btnList="commonBtn" />
-    </Filter>
-    <contextMenu :contextMenuList="forDataBtn">
-      <a-table :columns="columns"
-               class="topTable hiddenFirstCol"
-               :pagination="false"
-               :expandedRowKeys="expandedRowKeys"
-               :customRow="Rowclick"
-               rowKey="key"
-               :data-source="tableList">
-        <!-- 额外的展开行 -->
-        <template #expandedRowRender="{  }">
-          <BtnList :btnList="forDataBtn" />
-        </template>
-        <template #warehousetype="{ text }">
-          <span>{{ getWareHouseType(text) }}</span>
-        </template>
-        <template #warehousestatus="{ text }">
-          <span>{{ getWareHouseStatus(text) }}</span>
-        </template>
-      </a-table>
-    </contextMenu>
-    <!-- 点价记录详情 -->
-    <FundsDetail />
-    <!-- 交收审核 -->
-    <FundsAudit />
-    <!-- 撤销点价登记 -->
-    <FundsCancel />
-  </div>
+    <!-- 管理 - 财务审核 - 款项 -->
+    <div class="business-review-js"
+         :loading="loading">
+        <Filter @search="search">
+            <BtnList :btnList="commonBtn"/>
+        </Filter>
+        <contextMenu :contextMenuList="forDataBtn">
+            <a-table :columns="columns"
+                     class="topTable hiddenFirstCol"
+                     :pagination="false"
+                     :expandedRowKeys="expandedRowKeys"
+                     :customRow="Rowclick"
+                     rowKey="key"
+                     :data-source="tableList">
+                <!-- 额外的展开行 -->
+                <template #expandedRowRender="{  }">
+                    <BtnList :btnList="forDataBtn"/>
+                </template>
+                <!-- 现货合同类型 -->
+                <template #contractstatus="{ record }">
+                    <a>{{ getApplyStatusName(record.applystatus) }}</a>
+                </template>
+                <!-- 合同类型-->
+                <template #contracttype="{ record }">
+                    <a>{{ getContractTypeName(record.contracttype) }}</a>
+                </template>
+                <!-- 状态 -->
+                <template #applystatus="{ text }">
+                    <a>{{ getApplyStatusName(text) }}</a>
+                </template>
+                <!-- 点价类型 -->
+                <template #operateapplytype="{ text }">
+                    <a>{{ operateApplyTypeName(text) }}</a>
+                </template>
+                <!-- 款项类型 -->
+                <template #kxtype="{ text }">
+                    <a>{{ kxtypeName(text) }}</a>
+                </template>
+
+            </a-table>
+        </contextMenu>
+        <!-- 点价记录详情 -->
+        <FundsDetail :selectedRow="selectedRow"
+                     @refresh="queryTable"/>
+        <!-- 交收审核 -->
+        <FundsAudit :selectedRow="selectedRow"
+                    @refresh="queryTable"/>
+        <!-- 撤销点价登记 -->
+        <FundsCancel :selectedRow="selectedRow"
+                     @refresh="queryTable"/>
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+import {
+    defineComponent,
+    initData,
+    getTableColumns,
+    getTableEvent,
+    getBtnList,
+    contextMenu,
+    BtnList
+} from '@/common/export/table';
 
-import { Filter, FundsAudit, FundsCancel, FundsDetail } from '../../components';
+import {Filter, FundsAudit, FundsCancel, FundsDetail} from '../../components';
 
-import { queryTableList, getFilterTableCB, QryBussinessKxRsp } from './setup';
+import {queryTableList, getFilterTableCB, QryBussinessKxRsp} from './setup';
+import {invoiceStatusName, kxtypeName, operateApplyTypeName} from "@/views/manage/finance-review/setup";
+import {getApplyStatusName} from "@/views/manage/business-review/setup";
+import {getContractTypeName} from "@/views/information/spot-contract/setup";
 
 export default defineComponent({
     name: 'business-review-js',
@@ -53,25 +82,27 @@ export default defineComponent({
     },
     setup() {
         // 表头数据
-        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
+        const {columns, registerColumn, updateColumn, filteredInfo} = getTableColumns();
         // 表格事件
-        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<QryBussinessKxRsp>({});
+        const {expandedRowKeys, selectedRow, Rowclick} = getTableEvent<QryBussinessKxRsp>({});
         // 表格操作按钮列表
-        const { commonBtn, forDataBtn } = getBtnList('finance_review_funds', true);
+        const {commonBtn, forDataBtn} = getBtnList('finance_review_funds', true);
         // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList({});
+        const {loading, tableList, queryTable} = queryTableList({});
         initData(() => {
             // 获取列表数据
             queryTable();
             // 注册表头信息 过滤
             registerColumn('table_pcweb_fincial_aduit_kx', getFilterTableCB);
         });
+
         // 查询
         function search(value: any) {
             filteredInfo.value = value;
             // 更新表信息
             updateColumn();
         }
+
         return {
             columns,
             filteredInfo,
@@ -83,6 +114,11 @@ export default defineComponent({
             loading,
             tableList,
             search,
+            invoiceStatusName,
+            getApplyStatusName,
+            operateApplyTypeName,
+            getContractTypeName,
+            kxtypeName,
         };
     },
 });

+ 71 - 40
src/views/manage/finance-review/list/invoice/index.vue

@@ -1,45 +1,69 @@
 <template>
-  <!-- 管理-业务审核-交收 -->
-  <div class="finance_review_invoice"
-       :loading="loading">
-    <Filter @search="search">
-      <BtnList :btnList="commonBtn" />
-    </Filter>
-    <contextMenu :contextMenuList="forDataBtn">
-      <a-table :columns="columns"
-               class="topTable hiddenFirstCol"
-               :pagination="false"
-               :expandedRowKeys="expandedRowKeys"
-               :customRow="Rowclick"
-               rowKey="key"
-               :data-source="tableList">
-        <!-- 额外的展开行 -->
-        <template #expandedRowRender="{  }">
-          <BtnList :btnList="forDataBtn" />
-        </template>
-        <template #warehousetype="{ text }">
-          <span>{{ getWareHouseType(text) }}</span>
-        </template>
-        <template #warehousestatus="{ text }">
-          <span>{{ getWareHouseStatus(text) }}</span>
-        </template>
-      </a-table>
-    </contextMenu>
-    <!-- 点价记录详情 -->
-    <InvoiceDetail />
-    <!-- 交收审核 -->
-    <InvoiceAudit />
-    <!-- 撤销点价登记 -->
-    <InvoiceCancel />
-  </div>
+    <!-- 管理 - 财务审核 - 发票 -->
+    <div class="finance_review_invoice"
+         :loading="loading">
+        <Filter @search="search">
+            <BtnList :btnList="commonBtn"/>
+        </Filter>
+        <contextMenu :contextMenuList="forDataBtn">
+            <a-table :columns="columns"
+                     class="topTable hiddenFirstCol"
+                     :pagination="false"
+                     :expandedRowKeys="expandedRowKeys"
+                     :customRow="Rowclick"
+                     rowKey="key"
+                     :data-source="tableList">
+                <!-- 额外的展开行 -->
+                <template #expandedRowRender="{  }">
+                    <BtnList :btnList="forDataBtn"/>
+                </template>
+                <!-- 现货合同类型 -->
+                <template #contracttype="{ text }">
+                    <a>{{ getContractTypeName(text) }}</a>
+                </template>
+                <!-- 发票类型-->
+                <template #invoicetype= "{ record }" >
+                    <a>{{ invoiceStatusName(record.contracttype) }}</a>
+                </template>
+                <!-- 状态 -->
+                <template #applystatus="{ text }">
+                    <a>{{ getApplyStatusName(text) }}</a>
+                </template>
+                <!-- 点价类型 -->
+                <template #operateapplytype="{ text }">
+                    <a>{{ operateApplyTypeName(text) }}</a>
+                </template>
+            </a-table>
+        </contextMenu>
+        <!-- 点价记录详情 -->
+        <InvoiceDetail :selectedRow="selectedRow"
+                       @refresh="queryTable"/>
+        <!-- 交收审核 -->
+        <InvoiceAudit :selectedRow="selectedRow"
+                      @refresh="queryTable"/>
+        <!-- 撤销点价登记 -->
+        <InvoiceCancel :selectedRow="selectedRow"
+                       @refresh="queryTable"/>
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+import {
+    defineComponent,
+    initData,
+    getTableColumns,
+    getTableEvent,
+    getBtnList,
+    contextMenu,
+    BtnList
+} from '@/common/export/table';
 
-import { InvoiceAudit, InvoiceCancel, InvoiceDetail, Filter } from '../../components';
+import {InvoiceAudit, InvoiceCancel, InvoiceDetail, Filter} from '../../components';
 
-import { queryTableList, getFilterTableCB, QryBussinessFpRsp } from './setup';
+import {queryTableList, getFilterTableCB, QryBussinessFpRsp} from './setup';
+import {getContractTypeName} from "@/views/information/spot-contract/setup";
+import {invoiceStatusName, kxtypeName, operateApplyTypeName} from "@/views/manage/finance-review/setup";
+import {getApplyStatusName} from "@/views/manage/business-review/setup";
 
 export default defineComponent({
     name: 'finance_review_invoice',
@@ -53,19 +77,20 @@ export default defineComponent({
     },
     setup() {
         // 表头数据
-        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
+        const {columns, registerColumn, updateColumn, filteredInfo} = getTableColumns();
         // 表格事件
-        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<QryBussinessFpRsp>({});
+        const {expandedRowKeys, selectedRow, Rowclick} = getTableEvent<QryBussinessFpRsp>({});
         // 表格操作按钮列表
-        const { commonBtn, forDataBtn } = getBtnList('finance_review_invoice', true);
+        const {commonBtn, forDataBtn} = getBtnList('finance_review_invoice', true);
         // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList({});
+        const {loading, tableList, queryTable} = queryTableList({});
         initData(() => {
             // 获取列表数据
             queryTable();
             // 注册表头信息 过滤
             registerColumn('table_pcweb_fincial_aduit_fp', getFilterTableCB);
         });
+
         // 查询
         function search(value: any) {
             console.log('value', value);
@@ -74,6 +99,7 @@ export default defineComponent({
             // 更新表信息
             updateColumn();
         }
+
         return {
             columns,
             filteredInfo,
@@ -85,6 +111,11 @@ export default defineComponent({
             loading,
             tableList,
             search,
+            getContractTypeName,
+            invoiceStatusName,
+            getApplyStatusName,
+            operateApplyTypeName,
+            kxtypeName,
         };
     },
 });

+ 73 - 0
src/views/manage/finance-review/setup.ts

@@ -0,0 +1,73 @@
+/**
+ *  管理 - 财务审核
+ */
+
+import {ResultInfo} from "@/common/methods/request";
+
+/**
+ * 通过ContractType判断  如果是采购就是收票  如果是销售就是开票
+ * @param type
+ */
+export function invoiceStatusName(type: number): string{
+    let result = "--";
+    switch (type){
+        case 1:
+            result = "收票"
+            break;
+        case -1:
+            result = "开票"
+            break;
+    }
+    return result
+}
+
+/**
+ * 操作申请类型 - 1:点价 2:结算登记 3:款项登记 4:发票登记
+ * @param type
+ */
+export function operateApplyTypeName(type: number): string {
+    let result = "--";
+    switch (type){
+        case 1:
+            result = "点价"
+            break;
+        case 2:
+            result = "结算登记"
+            break;
+        case 3:
+            result = "款项登记"
+            break;
+        case 4:
+            result = "发票登记"
+            break;
+    }
+    return result
+}
+
+/**
+ * 款项类型名称
+ * @param  kxtype: number;//款项类型 1-收付款(PayAmount字段有值) 2-退款(DeductAmount字段有值) 3-收付款/退款(2个字段都有)
+ */
+export function kxtypeName(type: number): string {
+    let result = "--";
+    switch (type){
+        case 1:
+            result = "收付款"
+            break;
+        case 2:
+            result = "退款"
+            break;
+        case 3:
+            result = "收付款/退款"
+            break;
+    }
+    return result
+}
+
+// 提示
+export const financeSign = new Map<number, ResultInfo>([
+    [2, ['审核通过成功', '审核失败:']],
+    [3, ['审核拒绝成功', '审核失败:']],
+    [4, ['撤销成功', '撤销失败:']],
+])
+

+ 73 - 41
src/views/manage/inventory-review/list/checkin/index.vue

@@ -1,46 +1,71 @@
 <template>
-  <!-- 库存审核 入库-->
-  <div class="inventory_review_checkin"
-       :loading="loading">
-    <Filter @search="search"
-            :inOrOut="'in'">
-      <BtnList :btnList="commonBtn" />
-    </Filter>
-    <contextMenu :contextMenuList="forDataBtn">
-      <a-table :columns="columns"
-               class="topTable hiddenFirstCol"
-               :pagination="false"
-               :expandedRowKeys="expandedRowKeys"
-               :customRow="Rowclick"
-               rowKey="key"
-               :data-source="tableList">
-        <!-- 额外的展开行 -->
-        <template #expandedRowRender="{  }">
-          <BtnList :btnList="forDataBtn" />
-        </template>
-        <template #warehousetype="{ text }">
-          <span>{{ getWareHouseType(text) }}</span>
-        </template>
-        <template #warehousestatus="{ text }">
-          <span>{{ getWareHouseStatus(text) }}</span>
-        </template>
-      </a-table>
-    </contextMenu>
-    <!-- 审核-->
-    <CheckinAudit />
-    <!-- 撤销 -->
-    <CheckinCancel />
-    <!-- 详情 -->
-    <CheckinDetail />
-  </div>
+    <!-- 库存审核 入库-->
+    <div class="inventory_review_checkin"
+         :loading="loading">
+        <Filter @search="search"
+                :inOrOut="'in'">
+            <BtnList :btnList="commonBtn"/>
+        </Filter>
+        <contextMenu :contextMenuList="forDataBtn">
+            <a-table :columns="columns"
+                     class="topTable hiddenFirstCol"
+                     :pagination="false"
+                     :expandedRowKeys="expandedRowKeys"
+                     :customRow="Rowclick"
+                     rowKey="key"
+                     :data-source="tableList">
+                <!-- 额外的展开行 -->
+                <template #expandedRowRender="{  }">
+                    <BtnList :btnList="forDataBtn"/>
+                </template>
+                <!-- 状态 -->
+                <template #applystatus="{ text }">
+                    <a>{{ getApplyStatusName(text) }}</a>
+                </template>
+                <!-- 现货合同类型 -->
+                <template #contracttype="{ text }">
+                    <a>{{ getContractTypeName(text) }}</a>
+                </template>
+                <!-- 点价类型 -->
+                <template #pricetype="{ text }">
+                    <a>{{ getPriceTypeName(text) }}</a>
+                </template>
+                <!-- 出入库类型 -->
+                <template #inouttype="{ text }">
+                    <a>{{ InOutTypeName(text) }}</a>
+                </template>
+
+
+
+            </a-table>
+        </contextMenu>
+        <!-- 审核-->
+        <CheckinAudit/>
+        <!-- 撤销 -->
+        <CheckinCancel/>
+        <!-- 详情 -->
+        <CheckinDetail/>
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+import {
+    defineComponent,
+    initData,
+    getTableColumns,
+    getTableEvent,
+    getBtnList,
+    contextMenu,
+    BtnList
+} from '@/common/export/table';
 
-import { Filter, CheckinAudit, CheckinCancel, CheckinDetail } from '../../components';
+import {Filter, CheckinAudit, CheckinCancel, CheckinDetail} from '../../components';
 
-import { queryTableList, getFilterTableCB, Ermcp3AreaStockApply } from '../setup';
+import {queryTableList, getFilterTableCB, Ermcp3AreaStockApply} from '../setup';
+import {getApplyStatusName} from "@/views/manage/business-review/setup";
+import {getContractTypeName, getPriceTypeName} from "@/views/information/spot-contract/setup";
+import {operateApplyTypeName} from "@/views/manage/finance-review/setup";
+import {InOutTypeName} from "@/views/manage/inventory-review/setup";
 
 export default defineComponent({
     name: 'inventory_review_checkin',
@@ -54,19 +79,20 @@ export default defineComponent({
     },
     setup() {
         // 表头数据
-        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
+        const {columns, registerColumn, updateColumn, filteredInfo} = getTableColumns();
         // 表格事件
-        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3AreaStockApply>({});
+        const {expandedRowKeys, selectedRow, Rowclick} = getTableEvent<Ermcp3AreaStockApply>({});
         // 表格操作按钮列表
-        const { commonBtn, forDataBtn } = getBtnList('inventory_review_checkin', true);
+        const {commonBtn, forDataBtn} = getBtnList('inventory_review_checkin', true);
         // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList({ inouttype: '1,3' });
+        const {loading, tableList, queryTable} = queryTableList({inouttype: '1,3'});
         initData(() => {
             // 获取列表数据
             queryTable();
             // 注册表头信息 过滤
             registerColumn('table_pcweb_stock_aduit', getFilterTableCB);
         });
+
         // 查询
         function search(value: any) {
             console.log('value', value);
@@ -75,6 +101,7 @@ export default defineComponent({
             // 更新表信息
             updateColumn();
         }
+
         return {
             columns,
             filteredInfo,
@@ -86,6 +113,11 @@ export default defineComponent({
             loading,
             tableList,
             search,
+            getApplyStatusName,
+            getContractTypeName,
+            operateApplyTypeName,
+            getPriceTypeName,
+            InOutTypeName,
         };
     },
 });

+ 70 - 41
src/views/manage/inventory-review/list/checkout/index.vue

@@ -1,46 +1,68 @@
 <template>
-  <!-- 库存审核 出库-->
-  <div class="inventory_review_checkout"
-       :loading="loading">
-    <Filter @search="search"
-            :inOrOut="'out'">
-      <BtnList :btnList="commonBtn" />
-    </Filter>
-    <contextMenu :contextMenuList="forDataBtn">
-      <a-table :columns="columns"
-               class="topTable hiddenFirstCol"
-               :pagination="false"
-               :expandedRowKeys="expandedRowKeys"
-               :customRow="Rowclick"
-               rowKey="key"
-               :data-source="tableList">
-        <!-- 额外的展开行 -->
-        <template #expandedRowRender="{  }">
-          <BtnList :btnList="forDataBtn" />
-        </template>
-        <template #warehousetype="{ text }">
-          <span>{{ getWareHouseType(text) }}</span>
-        </template>
-        <template #warehousestatus="{ text }">
-          <span>{{ getWareHouseStatus(text) }}</span>
-        </template>
-      </a-table>
-    </contextMenu>
-    <!-- 详情 -->
-    <CheckoutDetail />
-    <!-- 审核 -->
-    <CheckoutAudit />
-    <!-- 撤销 -->
-    <CheckoutCancel />
-  </div>
+    <!-- 库存审核 出库-->
+    <div class="inventory_review_checkout"
+         :loading="loading">
+        <Filter @search="search"
+                :inOrOut="'out'">
+            <BtnList :btnList="commonBtn"/>
+        </Filter>
+        <contextMenu :contextMenuList="forDataBtn">
+            <a-table :columns="columns"
+                     class="topTable hiddenFirstCol"
+                     :pagination="false"
+                     :expandedRowKeys="expandedRowKeys"
+                     :customRow="Rowclick"
+                     rowKey="key"
+                     :data-source="tableList">
+                <!-- 额外的展开行 -->
+                <template #expandedRowRender="{  }">
+                    <BtnList :btnList="forDataBtn"/>
+                </template>
+                <!-- 状态 -->
+                <template #applystatus="{ text }">
+                    <a>{{ getApplyStatusName(text) }}</a>
+                </template>
+                <!-- 现货合同类型 -->
+                <template #contracttype="{ text }">
+                    <a>{{ getContractTypeName(text) }}</a>
+                </template>
+                <!-- 点价类型 -->
+                <template #pricetype="{ text }">
+                    <a>{{ getPriceTypeName(text) }}</a>
+                </template>
+                <!-- 出入库类型 -->
+                <template #inouttype="{ text }">
+                    <a>{{ InOutTypeName(text) }}</a>
+                </template>
+            </a-table>
+        </contextMenu>
+        <!-- 详情 -->
+        <CheckoutDetail/>
+        <!-- 审核 -->
+        <CheckoutAudit/>
+        <!-- 撤销 -->
+        <CheckoutCancel/>
+    </div>
 </template>
 
 <script lang="ts">
-import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList, contextMenu, BtnList } from '@/common/export/table';
+import {
+    defineComponent,
+    initData,
+    getTableColumns,
+    getTableEvent,
+    getBtnList,
+    contextMenu,
+    BtnList
+} from '@/common/export/table';
 
-import { CheckoutAudit, CheckoutCancel, CheckoutDetail, Filter } from '../../components';
+import {CheckoutAudit, CheckoutCancel, CheckoutDetail, Filter} from '../../components';
 
-import { queryTableList, getFilterTableCB, Ermcp3AreaStockApply } from '../setup';
+import {queryTableList, getFilterTableCB, Ermcp3AreaStockApply} from '../setup';
+import {getApplyStatusName} from "@/views/manage/business-review/setup";
+import {getContractTypeName, getPriceTypeName} from "@/views/information/spot-contract/setup";
+import {operateApplyTypeName} from "@/views/manage/finance-review/setup";
+import {InOutTypeName} from "@/views/manage/inventory-review/setup";
 
 export default defineComponent({
     name: 'inventory_review_checkout',
@@ -54,25 +76,27 @@ export default defineComponent({
     },
     setup() {
         // 表头数据
-        const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
+        const {columns, registerColumn, updateColumn, filteredInfo} = getTableColumns();
         // 表格事件
-        const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3AreaStockApply>({});
+        const {expandedRowKeys, selectedRow, Rowclick} = getTableEvent<Ermcp3AreaStockApply>({});
         // 表格操作按钮列表
-        const { commonBtn, forDataBtn } = getBtnList('inventory_review_checkout', true);
+        const {commonBtn, forDataBtn} = getBtnList('inventory_review_checkout', true);
         // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList({ inouttype: '2,4' });
+        const {loading, tableList, queryTable} = queryTableList({inouttype: '2,4'});
         initData(() => {
             // 获取列表数据
             queryTable();
             // 注册表头信息 过滤
             registerColumn('table_pcweb_stock_aduit', getFilterTableCB);
         });
+
         // 查询
         function search(value: any) {
             filteredInfo.value = value;
             // 更新表信息
             updateColumn();
         }
+
         return {
             columns,
             filteredInfo,
@@ -84,6 +108,11 @@ export default defineComponent({
             loading,
             tableList,
             search,
+            getApplyStatusName,
+            getContractTypeName,
+            operateApplyTypeName,
+            getPriceTypeName,
+            InOutTypeName,
         };
     },
 });

+ 22 - 0
src/views/manage/inventory-review/setup.ts

@@ -0,0 +1,22 @@
+/**
+ * 仓库出入库
+ * 出入库类型 - 5:采购入库 6:销售出库 7:生产入库 8:生产出库
+ */
+export function InOutTypeName(type: number): string{
+    let result = "--";
+    switch (type){
+        case 5:
+            result = "采购入库"
+            break;
+        case 6:
+            result = "销售出库"
+            break;
+        case 7:
+            result = "生产入库"
+            break;
+        case 8:
+            result = "生产出库"
+            break;
+    }
+    return result
+}